0 txs
0 calls
constructor
constructor(address registry)
functions
_lastNonce
viewfunction _lastNonce() view returns (uint96)
_nextOwner
viewfunction _nextOwner() view returns (address)
_owner
viewfunction _owner() view returns (address)
acceptNextOwner
nonpayablefunction acceptNextOwner(tuple signature)
acceptNextOwner
nonpayablefunction acceptNextOwner()
initialize
nonpayablefunction initialize(address owner)
migrate
nonpayablefunction migrate(address) returns (bool)
setNextOwner
nonpayablefunction setNextOwner(address nextOwner, tuple signature)
setNextOwner
nonpayablefunction setNextOwner(address nextOwner)
trade
nonpayablefunction trade(uint256 tradeId, uint8 broker, bytes path, uint8 flags, uint256 amountIn, uint256 amountOut, uint256 amountFee) returns (bool success)
upgrade
nonpayablefunction upgrade(tuple signature)
upgrade
nonpayablefunction upgrade()
withdraw
nonpayablefunction withdraw(address to, address token, uint256 amount, uint256 fee, tuple signature) returns (bool)
withdraw
nonpayablefunction withdraw(address to, address token, uint256 amount) returns (bool)
events
Deposit
event Deposit(address indexed from, uint256 value)
Trade
event Trade(uint256 indexed tradeId, uint256 amountIn, uint256 amountOut, uint256 amountFee)
TradeFailed
event TradeFailed(uint256 indexed tradeId)
Withdraw
event Withdraw(address indexed to, address token, uint256 amount, uint256 fee)
WithdrawFailed
event WithdrawFailed(address indexed to, address token, uint256 amount, uint256 fee)
errors
No errors.
creation bytecode
0x60a060405234801561001057600080fd5b50604051620021f2380380620021f283398101604081905261003191610042565b6001600160a01b0316608052610072565b60006020828403121561005457600080fd5b81516001600160a01b038116811461006b57600080fd5b9392505050565b608051612148620000aa6000396000818161086e015281816109130152818161098301528181610bda0152610e4901526121486000f3fe6080604052600436106100e15760003560e01c8063c4d66de81161007f578063d06c54fb11610059578063d06c54fb146102b0578063d55ec697146102c5578063d9caed12146102da578063e20b186f146102fa57600080fd5b8063c4d66de814610231578063c619973814610251578063ce5494bb1461029057600080fd5b8063908d3f4b116100bb578063908d3f4b1461018457806397f59897146101a4578063b2bdfa7b146101e1578063c0e321ba1461020157600080fd5b80632d202d24146101225780633d1d37fb146101445780637b2252a11461016457600080fd5b3661011d5760405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2005b600080fd5b34801561012e57600080fd5b5061014261013d366004611c56565b61031a565b005b34801561015057600080fd5b5061014261015f366004611c92565b610371565b34801561017057600080fd5b5061014261017f366004611cc8565b61053e565b34801561019057600080fd5b5061014261019f366004611cc8565b6106de565b3480156101b057600080fd5b506001546101c4906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ed57600080fd5b506000546101c4906001600160a01b031681565b34801561020d57600080fd5b5061022161021c366004611d10565b6108fb565b60405190151581526020016101d8565b34801561023d57600080fd5b5061014261024c366004611c56565b610a14565b34801561025d57600080fd5b5060005461027890600160a01b90046001600160601b031681565b6040516001600160601b0390911681526020016101d8565b34801561029c57600080fd5b506102216102ab366004611c56565b610aa1565b3480156102bc57600080fd5b50610142610b5a565b3480156102d157600080fd5b50610142610baa565b3480156102e657600080fd5b506102216102f5366004611e07565b610c39565b34801561030657600080fd5b50610221610315366004611e48565b610c7c565b6000546001600160a01b031633811461034e5760405162461bcd60e51b815260040161034590611ea5565b60405180910390fd5b50600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546040516001600160601b0319606085901b1660208201526001600160a01b039091169060340160408051601f19818403018152919052805160209091012082600030836103c76080850160608601611ed5565b6040516020016103d993929190611efe565b60405160208183030381529060405280519060200120905060006001828460000160208101906104099190611f30565b604080516000815260208181018084529490945260ff9092168282015291860135606082015290850135608082015260a0016020604051602081039080840390855afa15801561045d573d6000803e3d6000fd5b5050604051601f190151600054909250600160a01b90046001600160601b0316905061048f6080850160608601611ed5565b6001600160601b0316116104b55760405162461bcd60e51b815260040161034590611f4b565b846001600160a01b0316816001600160a01b0316146104e65760405162461bcd60e51b815260040161034590611ea5565b6104f66080840160608501611ed5565b600080546001600160601b0392909216600160a01b026001600160a01b0392831617905560018054989091166001600160a01b03199890981697909717909655505050505050565b600154604080516000808252602082019283905290519091206001600160a01b039092169190839030836105786080850160608601611ed5565b60405160200161058a93929190611efe565b60405160208183030381529060405280519060200120905060006001828460000160208101906105ba9190611f30565b604080516000815260208181018084529490945260ff9092168282015291860135606082015290850135608082015260a0016020604051602081039080840390855afa15801561060e573d6000803e3d6000fd5b5050604051601f190151600054909250600160a01b90046001600160601b031690506106406080850160608601611ed5565b6001600160601b0316116106665760405162461bcd60e51b815260040161034590611f4b565b846001600160a01b0316816001600160a01b0316146106975760405162461bcd60e51b815260040161034590611ea5565b6106a76080840160608501611ed5565b6001546001600160601b0391909116600160a01b026001600160a01b0319166001600160a01b039190911617600055505050505050565b600080546040805183815260208101918290525190206001600160a01b0390911691839030836107146080850160608601611ed5565b60405160200161072693929190611efe565b60405160208183030381529060405280519060200120905060006001828460000160208101906107569190611f30565b604080516000815260208181018084529490945260ff9092168282015291860135606082015290850135608082015260a0016020604051602081039080840390855afa1580156107aa573d6000803e3d6000fd5b5050604051601f190151600054909250600160a01b90046001600160601b031690506107dc6080850160608601611ed5565b6001600160601b0316116108025760405162461bcd60e51b815260040161034590611f4b565b846001600160a01b0316816001600160a01b0316146108335760405162461bcd60e51b815260040161034590611ea5565b6108436080840160608501611ed5565b600060146101000a8154816001600160601b0302191690836001600160601b031602179055506108f37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633a7189216040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611f79565b610edd565b505050505050565b60405163142e558d60e21b81523360048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906350b9563490602401600060405180830381600087803b15801561095f57600080fd5b505af1158015610973573d6000803e3d6000fd5b50505050610a08888888888888887f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b634df2f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a039190611f79565b61104f565b98975050505050505050565b6000546001600160a01b031615610a7f5760405162461bcd60e51b815260206004820152602960248201527f596f752063616e206f6e6c7920696e697469616c697a652074686520636f6e7460448201526872616374206f6e636560b81b6064820152608401610345565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b03811660009081526002602052604081205490919060ff1615610b2f5760405162461bcd60e51b815260206004820152601f60248201527f546869732073686f756c64206f6e6c792062652063616c6c6564206f6e6365006044820152606401610345565b6001600160a01b03166000908152600260205260409020805460ff1916600190811790915592915050565b6001546001600160a01b0316338114610b855760405162461bcd60e51b815260040161034590611ea5565b50600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000546001600160a01b0316338114610bd55760405162461bcd60e51b815260040161034590611ea5565b610c367f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633a7189216040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ca573d6000803e3d6000fd5b50565b600080546001600160a01b0316338114610c655760405162461bcd60e51b815260040161034590611ea5565b610c738585856000806110f9565b95945050505050565b600080546040516001600160601b0319606089811b8216602084015288901b16603482015260488101869052606881018590526001600160a01b039091169060880160408051601f1981840301815291905280516020909101208360003083610ceb6080850160608601611ed5565b604051602001610cfd93929190611efe565b6040516020818303038152906040528051906020012090506000600182846000016020810190610d2d9190611f30565b604080516000815260208181018084529490945260ff9092168282015291860135606082015290850135608082015260a0016020604051602081039080840390855afa158015610d81573d6000803e3d6000fd5b5050604051601f190151600054909250600160a01b90046001600160601b03169050610db36080850160608601611ed5565b6001600160601b031611610dd95760405162461bcd60e51b815260040161034590611f4b565b846001600160a01b0316816001600160a01b031614610e0a5760405162461bcd60e51b815260040161034590611ea5565b610e1a6080840160608501611ed5565b600060146101000a8154816001600160601b0302191690836001600160601b03160217905550610ece8b8b8b8b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cd2d63b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec99190611f79565b6110f9565b9b9a5050505050505050505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908290556040516001600160a01b038083166024830152600091829185169060440160408051601f198184030181529181526020820180516001600160e01b031663ce5494bb60e01b17905251610f579190611fba565b600060405180830381855af49150503d8060008114610f92576040519150601f19603f3d011682016040523d82523d6000602084013e610f97565b606091505b509150915081610fe95760405162461bcd60e51b815260206004820152601760248201527f6d69677261746528292063616c6c2072657665727465640000000000000000006044820152606401610345565b80806020019051810190610ffd9190611fd6565b6110495760405162461bcd60e51b815260206004820152601d60248201527f6d696772617465282920646964206e6f742072657475726e20747275650000006044820152606401610345565b50505050565b60008060008060006110668c8c8c8c8c8c8c611129565b935093509350935083156110bc5760408051848152602081018490529081018290528d907f2d6d17be58df3b904eca3b44e67dd750a154feb49b9bbffc1b5bd986f793566d9060600160405180910390a26110e8565b6040518d907f7005668f4dd370a1d52af273d518c92710303a5d40cb604db0b7ee9c69bcc0b690600090a25b50919b9a5050505050505050505050565b60006001600160a01b03851661111c57611115868585856112b5565b9050610c73565b611115868686868661145c565b600080808060001960ff8c160161126b57600080600061114b8d8d8d8d6115e4565b949b50929950909750945092509050866111755760008060008096509650965096505050506112a7565b60006103e8611185601e8861200e565b61118f919061202b565b9050808a1161119e57896111a0565b805b94508415611262578115611257576000896001600160a01b03168660405160006040518083038185875af1925050503d80600081146111fb576040519150601f19603f3d011682016040523d82523d6000602084013e611200565b606091505b50509050806112515760405162461bcd60e51b815260206004820152601860248201527f4574686572206665652063617074757265206661696c656400000000000000006044820152606401610345565b50611262565b611262838a87611831565b505050506112a7565b60405162461bcd60e51b8152602060048201526011602482015270155b9adb9bdddb88189c9bdad95c881a59607a1b6044820152606401610345565b975097509750979350505050565b600080856001600160a01b03168560405160006040518083038185875af1925050503d8060008114611303576040519150601f19603f3d011682016040523d82523d6000602084013e611308565b606091505b505090508061136157856001600160a01b03167fa8d1a8d72df3b797bca4426ff844d0f56ff7893dd86725642a8274c175bbed926000878760405161134f9392919061204d565b60405180910390a26000915050611454565b8315611408576040516001600160a01b038416908590600081818185875af1925050503d80600081146113b0576040519150601f19603f3d011682016040523d82523d6000602084013e6113b5565b606091505b505080915050806114085760405162461bcd60e51b815260206004820181905260248201527f556e61626c6520746f2063617074757265207769746864726177616c206665656044820152606401610345565b856001600160a01b03167ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb567600087876040516114469392919061204d565b60405180910390a260019150505b949350505050565b604080516001600160a01b038781166024830152604480830187905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283928392918916916114ba9190611fba565b6000604051808303816000865af19150503d80600081146114f7576040519150601f19603f3d011682016040523d82523d6000602084013e6114fc565b606091505b509150915081158061152b57506000815111801561152b5750808060200190518101906115299190611fd6565b155b1561158057876001600160a01b03167fa8d1a8d72df3b797bca4426ff844d0f56ff7893dd86725642a8274c175bbed9288888860405161156d9392919061204d565b60405180910390a2600092505050610c73565b841561159157611591878587611831565b876001600160a01b03167ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5678888886040516115ce9392919061204d565b60405180910390a2506001979650505050505050565b6000808080808060001960018a16016116a75760408051600481526024810182526020810180516001600160e01b0316630d0e30db60e41b179052905173c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2918a916116439190611fba565b60006040518083038185875af1925050503d8060008114611680576040519150601f19603f3d011682016040523d82523d6000602084013e611685565b606091505b505080965050856116a757506000945084935083925082915081905080611824565b60031960048a16016116d0576116be8a8989611962565b9298508a9750909550935091506116e9565b6116db8a8989611a6d565b929850909650889550935091505b8561170557506000945084935083925082915081905080611824565b878510156117ae5761172d8373e592427a0aece92de3edee1f18e0157c058615646000611b19565b60001960018a16016117ae5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2632e1a7d4d61175d878b61206e565b6040518263ffffffff1660e01b815260040161177b91815260200190565b600060405180830381600087803b15801561179557600080fd5b505af11580156117a9573d6000803e3d6000fd5b505050505b60011960028a16016118245750604051632e1a7d4d60e01b81526004810184905260019073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b15801561180b57600080fd5b505af115801561181f573d6000803e3d6000fd5b505050505b9499939850945094509450565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161188d9190611fba565b6000604051808303816000865af19150503d80600081146118ca576040519150601f19603f3d011682016040523d82523d6000602084013e6118cf565b606091505b50915091508180156118f95750805115806118f95750808060200190518101906118f99190611fd6565b61195b5760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b6064820152608401610345565b5050505050565b600080600080600060148851611978919061206e565b9050602088015160601c92508060208901015160601c91506119af8373e592427a0aece92de3edee1f18e0157c0586156489611b19565b6040805160a08101825289815230602082015242818301526060810189905260808101889052905163c04b8d5960e01b815273e592427a0aece92de3edee1f18e0157c058615649190829063c04b8d5990611a0e9084906004016120e6565b6020604051808303816000875af1925050508015611a49575060408051601f3d908101601f19168201909252611a46918101906120f9565b60015b611a5a576000965060009550611a61565b6001975095505b50505093509350935093565b600080600080600060148851611a83919061206e565b9050602088015160601c91508060208901015160601c9250611aba8373e592427a0aece92de3edee1f18e0157c0586156489611b19565b6040805160a081018252898152306020820152428183015260608101889052608081018990529051631e51809360e31b815273e592427a0aece92de3edee1f18e0157c058615649190829063f28c049890611a0e9084906004016120e6565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691611b759190611fba565b6000604051808303816000865af19150503d8060008114611bb2576040519150601f19603f3d011682016040523d82523d6000602084013e611bb7565b606091505b5091509150818015611be1575080511580611be1575080806020019051810190611be19190611fd6565b61195b5760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657248656c7065723a3a73616665417070726f76653a2061707060448201526a1c9bdd994819985a5b195960aa1b6064820152608401610345565b6001600160a01b0381168114610c3657600080fd5b600060208284031215611c6857600080fd5b8135611c7381611c41565b9392505050565b600060808284031215611c8c57600080fd5b50919050565b60008060a08385031215611ca557600080fd5b8235611cb081611c41565b9150611cbf8460208501611c7a565b90509250929050565b600060808284031215611cda57600080fd5b611c738383611c7a565b803560ff81168114611cf557600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600080600060e0888a031215611d2b57600080fd5b87359650611d3b60208901611ce4565b9550604088013567ffffffffffffffff80821115611d5857600080fd5b818a0191508a601f830112611d6c57600080fd5b813581811115611d7e57611d7e611cfa565b604051601f8201601f19908116603f01168101908382118183101715611da657611da6611cfa565b816040528281528d6020848701011115611dbf57600080fd5b826020860160208301376000602084830101528099505050505050611de660608901611ce4565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600060608486031215611e1c57600080fd5b8335611e2781611c41565b92506020840135611e3781611c41565b929592945050506040919091013590565b60008060008060006101008688031215611e6157600080fd5b8535611e6c81611c41565b94506020860135611e7c81611c41565b93506040860135925060608601359150611e998760808801611c7a565b90509295509295909350565b60208082526016908201527513db9b1e481bdddb995c8818d85b88191bc81d1a185d60521b604082015260600190565b600060208284031215611ee757600080fd5b81356001600160601b0381168114611c7357600080fd5b60609390931b6001600160601b0319168352601483019190915260a01b6001600160a01b031916603482015260400190565b600060208284031215611f4257600080fd5b611c7382611ce4565b602080825260149082015273151a19481b9bdb98d9481a5cc81d1bdbc81bdb1960621b604082015260600190565b600060208284031215611f8b57600080fd5b8151611c7381611c41565b60005b83811015611fb1578181015183820152602001611f99565b50506000910152565b60008251611fcc818460208701611f96565b9190910192915050565b600060208284031215611fe857600080fd5b81518015158114611c7357600080fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761202557612025611ff8565b92915050565b60008261204857634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b039390931683526020830191909152604082015260600190565b8181038181111561202557612025611ff8565b6000815160a0845280518060a08601526120a28160c0870160208501611f96565b6020848101516001600160a01b0316908601526040808501519086015260608085015190860152608093840151938501939093525050601f01601f19160160c00190565b602081526000611c736020830184612081565b60006020828403121561210b57600080fd5b505191905056fea264697066735822122074b7d935008483edf9513f3d29e767b97eac08482933af92c7a31dc699c014df64736f6c63430008140033000000000000000000000000ec1c5ed7f29c05a29b6d0940c7d336a72ef5f4af