0 txs
0 calls
constructor
constructor(address _swapRouter, address _dataProvider)
functions
ETH
viewfunction ETH() view returns (address)
etherFiDataProvider
viewfunction etherFiDataProvider() view returns (address)
getNonce
viewfunction getNonce(address safe) view returns (uint256)
SWAP_SIG
viewfunction SWAP_SIG() view returns (bytes32)
swapRouter
viewfunction swapRouter() view returns (address)
setupModule
nonpayablefunction setupModule(bytes data)
swap
nonpayablefunction swap(address safe, address fromAsset, address toAsset, uint256 fromAssetAmount, uint256 minToAssetAmount, bytes data, address[] signers, bytes[] signatures)
events
SwapOnOpenOcean
event SwapOnOpenOcean(address indexed safe, address indexed fromAsset, address indexed toAsset, uint256 fromAssetAmount, uint256 minToAssetAmount, uint256 returnAmt)
errors
ArrayLengthMismatch
error ArrayLengthMismatch()
InsufficientBalanceOnSafe
error InsufficientBalanceOnSafe()
InvalidInput
error InvalidInput()
InvalidSignature
error InvalidSignature()
InvalidSignatures
error InvalidSignatures()
OnlyEtherFiSafe
error OnlyEtherFiSafe()
OnlySafeAdmin
error OnlySafeAdmin()
OutputLessThanMinAmount
error OutputLessThanMinAmount()
SlippageTooHigh
error SlippageTooHigh()
SwappingToSameAsset
error SwappingToSameAsset()
creation bytecode
0x60c060405234801561000f575f5ffd5b506040516114d93803806114d983398101604081905261002e9161008c565b806001600160a01b0381166100565760405163b4fa3fb360e01b815260040160405180910390fd5b6001600160a01b039081166080529190911660a052506100bd565b80516001600160a01b0381168114610087575f5ffd5b919050565b5f5f6040838503121561009d575f5ffd5b6100a683610071565b91506100b460208401610071565b90509250929050565b60805160a0516113d86101015f395f818161015e015281816108db01528181610adb01528181610b520152610c1b01525f818161018501526101c801526113d85ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80638322fff2116100585780638322fff214610114578063909030d514610147578063c31c9c0714610159578063f9fba81b14610180575f5ffd5b8063052fc6351461007e5780632c541f7c146100935780632d0335ab146100cd575b5f5ffd5b61009161008c366004610d5d565b6101a7565b005b6100ba7f695543c3708653cda9d418b4ccd3be11368e40636c10c44b18cfe756b6d88b2981565b6040519081526020015b60405180910390f35b6100ba6100db366004610e42565b6001600160a01b03165f9081527f9425b2e03e09da4c20ff7a465da264f7a02bf7079e1dbb47fce0436e1d206d00602052604090205490565b61012f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6040516001600160a01b0390911681526020016100c4565b610091610155366004610e64565b5050565b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163b7ca418b60e01b81526001600160a01b03808d1660048301528c917f00000000000000000000000000000000000000000000000000000000000000009091169063b7ca418b90602401602060405180830381865afa15801561020f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102339190610ea3565b610250576040516334d0b49960e01b815260040160405180910390fd5b6102638c8c8c8c8c8c8c8c8c8c8c610280565b6102728c8c8c8c8c8c8c610323565b505050505050505050505050565b5f6102908c8c8c8c8c8c8c61062a565b60405163a732422d60e01b81529091506001600160a01b038d169063a732422d906102c79084908990899089908990600401610eea565b602060405180830381865afa1580156102e2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103069190610ea3565b6102725760405163274cf40160e01b815260040160405180910390fd5b846001600160a01b0316866001600160a01b03160361035557604051636b726f9b60e11b815260040160405180910390fd5b825f036103755760405163b4fa3fb360e01b815260040160405180910390fd5b5f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038716016103ac57506001600160a01b03871631610417565b6040516370a0823160e01b81526001600160a01b0389811660048301528716906370a0823190602401602060405180830381865afa1580156103f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104149190610fd8565b90505b61042688888888888888610744565b6060808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038b16016104675761045b8b89888861083d565b9194509250905061047c565b6104748b8b8a89896109a9565b919450925090505b604051632f378c5f60e21b81526001600160a01b038c169063bcde317c906104ac90869086908690600401611069565b5f604051808303815f87803b1580156104c3575f5ffd5b505af11580156104d5573d5f5f3e3d5ffd5b505050505f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03168a6001600160a01b03160361051857506001600160a01b038b1631610583565b6040516370a0823160e01b81526001600160a01b038d811660048301528b16906370a0823190602401602060405180830381865afa15801561055c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105809190610fd8565b90505b5f61058e8683611105565b9050888110156105b1576040516338c66f1160e21b815260040160405180910390fd5b8a6001600160a01b03168c6001600160a01b03168e6001600160a01b03167f2a82dfb47a9ce5b4d3c76dc499e939db2e5b219478977ba3637014724c0997438d8d86604051610613939291909283526020830191909152604082015260600190565b60405180910390a450505050505050505050505050565b5f6107387f695543c3708653cda9d418b4ccd3be11368e40636c10c44b18cfe756b6d88b2946308b6001600160a01b03166369615a4c6040518163ffffffff1660e01b81526004016020604051808303815f875af115801561068e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b29190610fd8565b8c8c8c8c8c8c8c6040516020016106ce9695949392919061112a565b60408051601f19818403018152908290526106f0969594939291602001611164565b604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b98975050505050505050565b5f8061075383600481876111c4565b81019061076091906112b4565b91509150876001600160a01b0316815f01516001600160a01b031614158061079e5750866001600160a01b031681602001516001600160a01b031614155b806107bf5750816001600160a01b031681604001516001600160a01b031614155b806107e05750886001600160a01b031681606001516001600160a01b031614155b806107ef575085816080015114155b1561080d5760405163b4fa3fb360e01b815260040160405180910390fd5b848160a0015110156108325760405163428637bb60e11b815260040160405180910390fd5b505050505050505050565b606080606085876001600160a01b031631101561086d576040516308b4578f60e01b815260040160405180910390fd5b6040805160018082528183019092529060208083019080368337505060408051600180825281830190925292955090506020808301908036833701905050604080516001808252818301909252919350816020015b60608152602001906001900390816108c25790505090507f0000000000000000000000000000000000000000000000000000000000000000835f8151811061090c5761090c6113b7565b60200260200101906001600160a01b031690816001600160a01b03168152505085825f8151811061093f5761093f6113b7565b60200260200101818152505084848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250855186945090925015159050610994576109946113b7565b60200260200101819052509450945094915050565b6040516370a0823160e01b81526001600160a01b0386811660048301526060918291829187918916906370a0823190602401602060405180830381865afa1580156109f6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1a9190610fd8565b1015610a39576040516308b4578f60e01b815260040160405180910390fd5b6040805160038082526080820190925290602082016060803683375050604080516003808252608082019092529295509050602082016060803683370190505060408051600380825260808201909252919350816020015b6060815260200190600190039081610a9157905050905086835f81518110610abb57610abb6113b7565b6001600160a01b03928316602091820292909201810191909152604080517f0000000000000000000000000000000000000000000000000000000000000000909316602484015260448084018a90528151808503909101815260649093019052810180516001600160e01b031663095ea7b360e01b179052815182905f90610b4557610b456113b7565b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000083600181518110610b8457610b846113b7565b6001600160a01b0390921660209283029190910182015260408051601f87018390048302810183019091528581529086908690819084018382808284375f92019190915250508351849250600191508110610be157610be16113b7565b60200260200101819052508683600281518110610c0057610c006113b7565b6001600160a01b0392831660209182029290920101526040517f000000000000000000000000000000000000000000000000000000000000000090911660248201525f604482015263095ea7b360e01b90606401604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505081600281518110610c9a57610c9a6113b7565b6020026020010181905250955095509592505050565b6001600160a01b0381168114610cc4575f5ffd5b50565b8035610cd281610cb0565b919050565b5f5f83601f840112610ce7575f5ffd5b50813567ffffffffffffffff811115610cfe575f5ffd5b602083019150836020828501011115610d15575f5ffd5b9250929050565b5f5f83601f840112610d2c575f5ffd5b50813567ffffffffffffffff811115610d43575f5ffd5b6020830191508360208260051b8501011115610d15575f5ffd5b5f5f5f5f5f5f5f5f5f5f5f6101008c8e031215610d78575f5ffd5b610d818c610cc7565b9a50610d8f60208d01610cc7565b9950610d9d60408d01610cc7565b985060608c0135975060808c0135965060a08c013567ffffffffffffffff811115610dc6575f5ffd5b610dd28e828f01610cd7565b90975095505060c08c013567ffffffffffffffff811115610df1575f5ffd5b610dfd8e828f01610d1c565b90955093505060e08c013567ffffffffffffffff811115610e1c575f5ffd5b610e288e828f01610d1c565b915080935050809150509295989b509295989b9093969950565b5f60208284031215610e52575f5ffd5b8135610e5d81610cb0565b9392505050565b5f5f60208385031215610e75575f5ffd5b823567ffffffffffffffff811115610e8b575f5ffd5b610e9785828601610cd7565b90969095509350505050565b5f60208284031215610eb3575f5ffd5b81518015158114610e5d575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b85815260606020820181905281018490525f8560808301825b87811015610f33578235610f1681610cb0565b6001600160a01b0316825260209283019290910190600101610f03565b50838103604085015284815260208082019250600586901b820101865f36829003601e19015b88821015610fc757848403601f190186528235818112610f77575f5ffd5b8a0160208101903567ffffffffffffffff811115610f93575f5ffd5b803603821315610fa1575f5ffd5b610fac868284610ec2565b95505050602083019250602086019550600182019150610f59565b50919b9a5050505050505050505050565b5f60208284031215610fe8575f5ffd5b5051919050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561105d57601f19858403018852815180518085528060208301602087015e5f602082870101526020601f19601f8301168601019450505060208201915060208801975060018101905061100b565b50909695505050505050565b606080825284519082018190525f9060208601906080840190835b818110156110ab5783516001600160a01b0316835260209384019390920191600101611084565b5050838103602080860191909152865180835291810192508601905f5b818110156110e65782518452602093840193909201916001016110c8565b50505082810360408401526110fb8185610fef565b9695505050505050565b8181038181111561112457634e487b7160e01b5f52601160045260245ffd5b92915050565b6001600160a01b03878116825286166020820152604081018590526060810184905260a0608082018190525f906107389083018486610ec2565b8681528560208201526bffffffffffffffffffffffff198560601b1660408201528360548201526bffffffffffffffffffffffff198360601b1660748201525f82518060208501608885015e5f9201608801918252509695505050505050565b5f5f858511156111d2575f5ffd5b838611156111de575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff81118282101715611223576112236111eb565b60405290565b5f82601f830112611238575f5ffd5b813567ffffffffffffffff811115611252576112526111eb565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611281576112816111eb565b604052818152838201602001851015611298575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f604083850312156112c5575f5ffd5b82356112d081610cb0565b9150602083013567ffffffffffffffff8111156112eb575f5ffd5b830161014081860312156112fd575f5ffd5b6113056111ff565b61130e82610cc7565b815261131c60208301610cc7565b602082015261132d60408301610cc7565b604082015261133e60608301610cc7565b60608201526080828101359082015260a0808301359082015260c0808301359082015260e080830135908201526113786101008301610cc7565b61010082015261012082013567ffffffffffffffff811115611398575f5ffd5b6113a487828501611229565b6101208301525080925050509250929050565b634e487b7160e01b5f52603260045260245ffdfea164736f6c634300081c000a0000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e640000000000000000000000004a9c44c97bbf6079db37c4769aebe425bbcdd09a