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
0x60c060405234801561000f575f5ffd5b506040516114b53803806114b583398101604081905261002e9161008c565b806001600160a01b0381166100565760405163b4fa3fb360e01b815260040160405180910390fd5b6001600160a01b039081166080529190911660a052506100bd565b80516001600160a01b0381168114610087575f5ffd5b919050565b5f5f6040838503121561009d575f5ffd5b6100a683610071565b91506100b460208401610071565b90509250929050565b60805160a0516113b46101015f395f818161015e015281816108b701528181610ab701528181610b2e0152610bf701525f818161018501526101c801526113b45ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80638322fff2116100585780638322fff214610114578063909030d514610147578063c31c9c0714610159578063f9fba81b14610180575f5ffd5b8063052fc6351461007e5780632c541f7c146100935780632d0335ab146100cd575b5f5ffd5b61009161008c366004610d39565b6101a7565b005b6100ba7f695543c3708653cda9d418b4ccd3be11368e40636c10c44b18cfe756b6d88b2981565b6040519081526020015b60405180910390f35b6100ba6100db366004610e1e565b6001600160a01b03165f9081527f9425b2e03e09da4c20ff7a465da264f7a02bf7079e1dbb47fce0436e1d206d00602052604090205490565b61012f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6040516001600160a01b0390911681526020016100c4565b610091610155366004610e40565b5050565b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163b7ca418b60e01b81526001600160a01b03808d1660048301528c917f00000000000000000000000000000000000000000000000000000000000000009091169063b7ca418b90602401602060405180830381865afa15801561020f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102339190610e7f565b610250576040516334d0b49960e01b815260040160405180910390fd5b6102638c8c8c8c8c8c8c8c8c8c8c610280565b6102728c8c8c8c8c8c8c610323565b505050505050505050505050565b5f6102908c8c8c8c8c8c8c61062a565b60405163a732422d60e01b81529091506001600160a01b038d169063a732422d906102c79084908990899089908990600401610ec6565b602060405180830381865afa1580156102e2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103069190610e7f565b6102725760405163274cf40160e01b815260040160405180910390fd5b846001600160a01b0316866001600160a01b03160361035557604051636b726f9b60e11b815260040160405180910390fd5b825f036103755760405163b4fa3fb360e01b815260040160405180910390fd5b5f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038716016103ac57506001600160a01b03871631610417565b6040516370a0823160e01b81526001600160a01b0389811660048301528716906370a0823190602401602060405180830381865afa1580156103f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104149190610fb4565b90505b61042688888888888888610744565b6060808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038b16016104675761045b8b898888610819565b9194509250905061047c565b6104748b8b8a8989610985565b919450925090505b604051632f378c5f60e21b81526001600160a01b038c169063bcde317c906104ac90869086908690600401611045565b5f604051808303815f87803b1580156104c3575f5ffd5b505af11580156104d5573d5f5f3e3d5ffd5b505050505f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03168a6001600160a01b03160361051857506001600160a01b038b1631610583565b6040516370a0823160e01b81526001600160a01b038d811660048301528b16906370a0823190602401602060405180830381865afa15801561055c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105809190610fb4565b90505b5f61058e86836110e1565b9050888110156105b1576040516338c66f1160e21b815260040160405180910390fd5b8a6001600160a01b03168c6001600160a01b03168e6001600160a01b03167f2a82dfb47a9ce5b4d3c76dc499e939db2e5b219478977ba3637014724c0997438d8d86604051610613939291909283526020830191909152604082015260600190565b60405180910390a450505050505050505050505050565b5f6107387f695543c3708653cda9d418b4ccd3be11368e40636c10c44b18cfe756b6d88b2946308b6001600160a01b03166369615a4c6040518163ffffffff1660e01b81526004016020604051808303815f875af115801561068e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b29190610fb4565b8c8c8c8c8c8c8c6040516020016106ce96959493929190611106565b60408051601f19818403018152908290526106f0969594939291602001611140565b604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b98975050505050505050565b5f61075282600481866111a0565b81019061075f9190611290565b915050866001600160a01b0316815f01516001600160a01b031614158061079c5750856001600160a01b031681602001516001600160a01b031614155b806107bd5750876001600160a01b031681606001516001600160a01b031614155b806107cc575084816080015114155b156107ea5760405163b4fa3fb360e01b815260040160405180910390fd5b838160a00151101561080f5760405163428637bb60e11b815260040160405180910390fd5b5050505050505050565b606080606085876001600160a01b0316311015610849576040516308b4578f60e01b815260040160405180910390fd5b6040805160018082528183019092529060208083019080368337505060408051600180825281830190925292955090506020808301908036833701905050604080516001808252818301909252919350816020015b606081526020019060019003908161089e5790505090507f0000000000000000000000000000000000000000000000000000000000000000835f815181106108e8576108e8611393565b60200260200101906001600160a01b031690816001600160a01b03168152505085825f8151811061091b5761091b611393565b60200260200101818152505084848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525085518694509092501515905061097057610970611393565b60200260200101819052509450945094915050565b6040516370a0823160e01b81526001600160a01b0386811660048301526060918291829187918916906370a0823190602401602060405180830381865afa1580156109d2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f69190610fb4565b1015610a15576040516308b4578f60e01b815260040160405180910390fd5b6040805160038082526080820190925290602082016060803683375050604080516003808252608082019092529295509050602082016060803683370190505060408051600380825260808201909252919350816020015b6060815260200190600190039081610a6d57905050905086835f81518110610a9757610a97611393565b6001600160a01b03928316602091820292909201810191909152604080517f0000000000000000000000000000000000000000000000000000000000000000909316602484015260448084018a90528151808503909101815260649093019052810180516001600160e01b031663095ea7b360e01b179052815182905f90610b2157610b21611393565b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000083600181518110610b6057610b60611393565b6001600160a01b0390921660209283029190910182015260408051601f87018390048302810183019091528581529086908690819084018382808284375f92019190915250508351849250600191508110610bbd57610bbd611393565b60200260200101819052508683600281518110610bdc57610bdc611393565b6001600160a01b0392831660209182029290920101526040517f000000000000000000000000000000000000000000000000000000000000000090911660248201525f604482015263095ea7b360e01b90606401604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505081600281518110610c7657610c76611393565b6020026020010181905250955095509592505050565b6001600160a01b0381168114610ca0575f5ffd5b50565b8035610cae81610c8c565b919050565b5f5f83601f840112610cc3575f5ffd5b50813567ffffffffffffffff811115610cda575f5ffd5b602083019150836020828501011115610cf1575f5ffd5b9250929050565b5f5f83601f840112610d08575f5ffd5b50813567ffffffffffffffff811115610d1f575f5ffd5b6020830191508360208260051b8501011115610cf1575f5ffd5b5f5f5f5f5f5f5f5f5f5f5f6101008c8e031215610d54575f5ffd5b610d5d8c610ca3565b9a50610d6b60208d01610ca3565b9950610d7960408d01610ca3565b985060608c0135975060808c0135965060a08c013567ffffffffffffffff811115610da2575f5ffd5b610dae8e828f01610cb3565b90975095505060c08c013567ffffffffffffffff811115610dcd575f5ffd5b610dd98e828f01610cf8565b90955093505060e08c013567ffffffffffffffff811115610df8575f5ffd5b610e048e828f01610cf8565b915080935050809150509295989b509295989b9093969950565b5f60208284031215610e2e575f5ffd5b8135610e3981610c8c565b9392505050565b5f5f60208385031215610e51575f5ffd5b823567ffffffffffffffff811115610e67575f5ffd5b610e7385828601610cb3565b90969095509350505050565b5f60208284031215610e8f575f5ffd5b81518015158114610e39575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b85815260606020820181905281018490525f8560808301825b87811015610f0f578235610ef281610c8c565b6001600160a01b0316825260209283019290910190600101610edf565b50838103604085015284815260208082019250600586901b820101865f36829003601e19015b88821015610fa357848403601f190186528235818112610f53575f5ffd5b8a0160208101903567ffffffffffffffff811115610f6f575f5ffd5b803603821315610f7d575f5ffd5b610f88868284610e9e565b95505050602083019250602086019550600182019150610f35565b50919b9a5050505050505050505050565b5f60208284031215610fc4575f5ffd5b5051919050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561103957601f19858403018852815180518085528060208301602087015e5f602082870101526020601f19601f83011686010194505050602082019150602088019750600181019050610fe7565b50909695505050505050565b606080825284519082018190525f9060208601906080840190835b818110156110875783516001600160a01b0316835260209384019390920191600101611060565b5050838103602080860191909152865180835291810192508601905f5b818110156110c25782518452602093840193909201916001016110a4565b50505082810360408401526110d78185610fcb565b9695505050505050565b8181038181111561110057634e487b7160e01b5f52601160045260245ffd5b92915050565b6001600160a01b03878116825286166020820152604081018590526060810184905260a0608082018190525f906107389083018486610e9e565b8681528560208201526bffffffffffffffffffffffff198560601b1660408201528360548201526bffffffffffffffffffffffff198360601b1660748201525f82518060208501608885015e5f9201608801918252509695505050505050565b5f5f858511156111ae575f5ffd5b838611156111ba575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff811182821017156111ff576111ff6111c7565b60405290565b5f82601f830112611214575f5ffd5b813567ffffffffffffffff81111561122e5761122e6111c7565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561125d5761125d6111c7565b604052818152838201602001851015611274575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f604083850312156112a1575f5ffd5b82356112ac81610c8c565b9150602083013567ffffffffffffffff8111156112c7575f5ffd5b830161014081860312156112d9575f5ffd5b6112e16111db565b6112ea82610ca3565b81526112f860208301610ca3565b602082015261130960408301610ca3565b604082015261131a60608301610ca3565b60608201526080828101359082015260a0808301359082015260c0808301359082015260e080830135908201526113546101008301610ca3565b61010082015261012082013567ffffffffffffffff811115611374575f5ffd5b61138087828501611205565b6101208301525080925050509250929050565b634e487b7160e01b5f52603260045260245ffdfea164736f6c634300081c000a0000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e640000000000000000000000004a9c44c97bbf6079db37c4769aebe425bbcdd09a