0 txs
15 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
0x60a060405234801561001057600080fd5b50604051620022653803806200226583398101604081905261003191610042565b6001600160a01b0316608052610072565b60006020828403121561005457600080fd5b81516001600160a01b038116811461006b57600080fd5b9392505050565b6080516121bb620000aa6000396000818161086e015281816109130152818161098301528181610bda0152610e4901526121bb6000f3fe6080604052600436106100e15760003560e01c8063c4d66de81161007f578063d06c54fb11610059578063d06c54fb146102b0578063d55ec697146102c5578063d9caed12146102da578063e20b186f146102fa57600080fd5b8063c4d66de814610231578063c619973814610251578063ce5494bb1461029057600080fd5b8063908d3f4b116100bb578063908d3f4b1461018457806397f59897146101a4578063b2bdfa7b146101e1578063c0e321ba1461020157600080fd5b80632d202d24146101225780633d1d37fb146101445780637b2252a11461016457600080fd5b3661011d5760405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2005b600080fd5b34801561012e57600080fd5b5061014261013d366004611cc9565b61031a565b005b34801561015057600080fd5b5061014261015f366004611d05565b610371565b34801561017057600080fd5b5061014261017f366004611d3b565b61053e565b34801561019057600080fd5b5061014261019f366004611d3b565b6106de565b3480156101b057600080fd5b506001546101c4906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ed57600080fd5b506000546101c4906001600160a01b031681565b34801561020d57600080fd5b5061022161021c366004611d83565b6108fb565b60405190151581526020016101d8565b34801561023d57600080fd5b5061014261024c366004611cc9565b610a14565b34801561025d57600080fd5b5060005461027890600160a01b90046001600160601b031681565b6040516001600160601b0390911681526020016101d8565b34801561029c57600080fd5b506102216102ab366004611cc9565b610aa1565b3480156102bc57600080fd5b50610142610b5a565b3480156102d157600080fd5b50610142610baa565b3480156102e657600080fd5b506102216102f5366004611e7a565b610c39565b34801561030657600080fd5b50610221610315366004611ebb565b610c7c565b6000546001600160a01b031633811461034e5760405162461bcd60e51b815260040161034590611f18565b60405180910390fd5b50600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546040516001600160601b0319606085901b1660208201526001600160a01b039091169060340160408051601f19818403018152919052805160209091012082600030836103c76080850160608601611f48565b6040516020016103d993929190611f71565b60405160208183030381529060405280519060200120905060006001828460000160208101906104099190611fa3565b604080516000815260208181018084529490945260ff9092168282015291860135606082015290850135608082015260a0016020604051602081039080840390855afa15801561045d573d6000803e3d6000fd5b5050604051601f190151600054909250600160a01b90046001600160601b0316905061048f6080850160608601611f48565b6001600160601b0316116104b55760405162461bcd60e51b815260040161034590611fbe565b846001600160a01b0316816001600160a01b0316146104e65760405162461bcd60e51b815260040161034590611f18565b6104f66080840160608501611f48565b600080546001600160601b0392909216600160a01b026001600160a01b0392831617905560018054989091166001600160a01b03199890981697909717909655505050505050565b600154604080516000808252602082019283905290519091206001600160a01b039092169190839030836105786080850160608601611f48565b60405160200161058a93929190611f71565b60405160208183030381529060405280519060200120905060006001828460000160208101906105ba9190611fa3565b604080516000815260208181018084529490945260ff9092168282015291860135606082015290850135608082015260a0016020604051602081039080840390855afa15801561060e573d6000803e3d6000fd5b5050604051601f190151600054909250600160a01b90046001600160601b031690506106406080850160608601611f48565b6001600160601b0316116106665760405162461bcd60e51b815260040161034590611fbe565b846001600160a01b0316816001600160a01b0316146106975760405162461bcd60e51b815260040161034590611f18565b6106a76080840160608501611f48565b6001546001600160601b0391909116600160a01b026001600160a01b0319166001600160a01b039190911617600055505050505050565b600080546040805183815260208101918290525190206001600160a01b0390911691839030836107146080850160608601611f48565b60405160200161072693929190611f71565b60405160208183030381529060405280519060200120905060006001828460000160208101906107569190611fa3565b604080516000815260208181018084529490945260ff9092168282015291860135606082015290850135608082015260a0016020604051602081039080840390855afa1580156107aa573d6000803e3d6000fd5b5050604051601f190151600054909250600160a01b90046001600160601b031690506107dc6080850160608601611f48565b6001600160601b0316116108025760405162461bcd60e51b815260040161034590611fbe565b846001600160a01b0316816001600160a01b0316146108335760405162461bcd60e51b815260040161034590611f18565b6108436080840160608501611f48565b600060146101000a8154816001600160601b0302191690836001600160601b031602179055506108f37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633a7189216040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611fec565b610edd565b505050505050565b60405163142e558d60e21b81523360048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906350b9563490602401600060405180830381600087803b15801561095f57600080fd5b505af1158015610973573d6000803e3d6000fd5b50505050610a08888888888888887f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b634df2f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a039190611fec565b61104f565b98975050505050505050565b6000546001600160a01b031615610a7f5760405162461bcd60e51b815260206004820152602960248201527f596f752063616e206f6e6c7920696e697469616c697a652074686520636f6e7460448201526872616374206f6e636560b81b6064820152608401610345565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b03811660009081526002602052604081205490919060ff1615610b2f5760405162461bcd60e51b815260206004820152601f60248201527f546869732073686f756c64206f6e6c792062652063616c6c6564206f6e6365006044820152606401610345565b6001600160a01b03166000908152600260205260409020805460ff1916600190811790915592915050565b6001546001600160a01b0316338114610b855760405162461bcd60e51b815260040161034590611f18565b50600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000546001600160a01b0316338114610bd55760405162461bcd60e51b815260040161034590611f18565b610c367f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633a7189216040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ca573d6000803e3d6000fd5b50565b600080546001600160a01b0316338114610c655760405162461bcd60e51b815260040161034590611f18565b610c738585856000806110f9565b95945050505050565b600080546040516001600160601b0319606089811b8216602084015288901b16603482015260488101869052606881018590526001600160a01b039091169060880160408051601f1981840301815291905280516020909101208360003083610ceb6080850160608601611f48565b604051602001610cfd93929190611f71565b6040516020818303038152906040528051906020012090506000600182846000016020810190610d2d9190611fa3565b604080516000815260208181018084529490945260ff9092168282015291860135606082015290850135608082015260a0016020604051602081039080840390855afa158015610d81573d6000803e3d6000fd5b5050604051601f190151600054909250600160a01b90046001600160601b03169050610db36080850160608601611f48565b6001600160601b031611610dd95760405162461bcd60e51b815260040161034590611fbe565b846001600160a01b0316816001600160a01b031614610e0a5760405162461bcd60e51b815260040161034590611f18565b610e1a6080840160608501611f48565b600060146101000a8154816001600160601b0302191690836001600160601b03160217905550610ece8b8b8b8b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cd2d63b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec99190611fec565b6110f9565b9b9a5050505050505050505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908290556040516001600160a01b038083166024830152600091829185169060440160408051601f198184030181529181526020820180516001600160e01b031663ce5494bb60e01b17905251610f57919061202d565b600060405180830381855af49150503d8060008114610f92576040519150601f19603f3d011682016040523d82523d6000602084013e610f97565b606091505b509150915081610fe95760405162461bcd60e51b815260206004820152601760248201527f6d69677261746528292063616c6c2072657665727465640000000000000000006044820152606401610345565b80806020019051810190610ffd9190612049565b6110495760405162461bcd60e51b815260206004820152601d60248201527f6d696772617465282920646964206e6f742072657475726e20747275650000006044820152606401610345565b50505050565b60008060008060006110668c8c8c8c8c8c8c611129565b935093509350935083156110bc5760408051848152602081018490529081018290528d907f2d6d17be58df3b904eca3b44e67dd750a154feb49b9bbffc1b5bd986f793566d9060600160405180910390a26110e8565b6040518d907f7005668f4dd370a1d52af273d518c92710303a5d40cb604db0b7ee9c69bcc0b690600090a25b50919b9a5050505050505050505050565b60006001600160a01b03851661111c57611115868585856112b5565b9050610c73565b611115868686868661145c565b600080808060001960ff8c160161126b57600080600061114b8d8d8d8d6115e4565b949b50929950909750945092509050866111755760008060008096509650965096505050506112a7565b60006103e8611185601e88612081565b61118f919061209e565b9050808a1161119e57896111a0565b805b94508415611262578115611257576000896001600160a01b03168660405160006040518083038185875af1925050503d80600081146111fb576040519150601f19603f3d011682016040523d82523d6000602084013e611200565b606091505b50509050806112515760405162461bcd60e51b815260206004820152601860248201527f4574686572206665652063617074757265206661696c656400000000000000006044820152606401610345565b50611262565b611262838a876118a4565b505050506112a7565b60405162461bcd60e51b8152602060048201526011602482015270155b9adb9bdddb88189c9bdad95c881a59607a1b6044820152606401610345565b975097509750979350505050565b600080856001600160a01b03168560405160006040518083038185875af1925050503d8060008114611303576040519150601f19603f3d011682016040523d82523d6000602084013e611308565b606091505b505090508061136157856001600160a01b03167fa8d1a8d72df3b797bca4426ff844d0f56ff7893dd86725642a8274c175bbed926000878760405161134f939291906120c0565b60405180910390a26000915050611454565b8315611408576040516001600160a01b038416908590600081818185875af1925050503d80600081146113b0576040519150601f19603f3d011682016040523d82523d6000602084013e6113b5565b606091505b505080915050806114085760405162461bcd60e51b815260206004820181905260248201527f556e61626c6520746f2063617074757265207769746864726177616c206665656044820152606401610345565b856001600160a01b03167ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb56760008787604051611446939291906120c0565b60405180910390a260019150505b949350505050565b604080516001600160a01b038781166024830152604480830187905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283928392918916916114ba919061202d565b6000604051808303816000865af19150503d80600081146114f7576040519150601f19603f3d011682016040523d82523d6000602084013e6114fc565b606091505b509150915081158061152b57506000815111801561152b5750808060200190518101906115299190612049565b155b1561158057876001600160a01b03167fa8d1a8d72df3b797bca4426ff844d0f56ff7893dd86725642a8274c175bbed9288888860405161156d939291906120c0565b60405180910390a2600092505050610c73565b8415611591576115918785876118a4565b876001600160a01b03167ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5678888886040516115ce939291906120c0565b60405180910390a2506001979650505050505050565b600080808080806001898116146002808b161481156116b25760408051600481526024810182526020810180516001600160e01b0316630d0e30db60e41b179052905173c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2918c91611649919061202d565b60006040518083038185875af1925050503d8060008114611686576040519150601f19603f3d011682016040523d82523d6000602084013e61168b565b606091505b505080985050876116b2576000806000806000809750975097509750975097505050611897565b60031960048c16016116db576116c98c8b8b6119d5565b929a508c9950909750955093506116f4565b6116e68c8b8b611ae0565b929a509098508a9750955093505b8761178157811561176557604051632e1a7d4d60e01b8152600481018b905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b505050505b6000806000806000809750975097509750975097505050611897565b89871015611824576117a98573e592427a0aece92de3edee1f18e0157c058615646000611b8c565b81156118245773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2632e1a7d4d6117d3898d6120e1565b6040518263ffffffff1660e01b81526004016117f191815260200190565b600060405180830381600087803b15801561180b57600080fd5b505af115801561181f573d6000803e3d6000fd5b505050505b801561189457604051632e1a7d4d60e01b8152600481018790526001935073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b15801561187b57600080fd5b505af115801561188f573d6000803e3d6000fd5b505050505b50505b9499939850945094509450565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611900919061202d565b6000604051808303816000865af19150503d806000811461193d576040519150601f19603f3d011682016040523d82523d6000602084013e611942565b606091505b509150915081801561196c57508051158061196c57508080602001905181019061196c9190612049565b6119ce5760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b6064820152608401610345565b5050505050565b6000806000806000601488516119eb91906120e1565b9050602088015160601c92508060208901015160601c9150611a228373e592427a0aece92de3edee1f18e0157c0586156489611b8c565b6040805160a08101825289815230602082015242818301526060810189905260808101889052905163c04b8d5960e01b815273e592427a0aece92de3edee1f18e0157c058615649190829063c04b8d5990611a81908490600401612159565b6020604051808303816000875af1925050508015611abc575060408051601f3d908101601f19168201909252611ab99181019061216c565b60015b611acd576000965060009550611ad4565b6001975095505b50505093509350935093565b600080600080600060148851611af691906120e1565b9050602088015160601c91508060208901015160601c9250611b2d8373e592427a0aece92de3edee1f18e0157c0586156489611b8c565b6040805160a081018252898152306020820152428183015260608101889052608081018990529051631e51809360e31b815273e592427a0aece92de3edee1f18e0157c058615649190829063f28c049890611a81908490600401612159565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691611be8919061202d565b6000604051808303816000865af19150503d8060008114611c25576040519150601f19603f3d011682016040523d82523d6000602084013e611c2a565b606091505b5091509150818015611c54575080511580611c54575080806020019051810190611c549190612049565b6119ce5760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657248656c7065723a3a73616665417070726f76653a2061707060448201526a1c9bdd994819985a5b195960aa1b6064820152608401610345565b6001600160a01b0381168114610c3657600080fd5b600060208284031215611cdb57600080fd5b8135611ce681611cb4565b9392505050565b600060808284031215611cff57600080fd5b50919050565b60008060a08385031215611d1857600080fd5b8235611d2381611cb4565b9150611d328460208501611ced565b90509250929050565b600060808284031215611d4d57600080fd5b611ce68383611ced565b803560ff81168114611d6857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600080600060e0888a031215611d9e57600080fd5b87359650611dae60208901611d57565b9550604088013567ffffffffffffffff80821115611dcb57600080fd5b818a0191508a601f830112611ddf57600080fd5b813581811115611df157611df1611d6d565b604051601f8201601f19908116603f01168101908382118183101715611e1957611e19611d6d565b816040528281528d6020848701011115611e3257600080fd5b826020860160208301376000602084830101528099505050505050611e5960608901611d57565b9699959850939660808101359560a0820135955060c0909101359350915050565b600080600060608486031215611e8f57600080fd5b8335611e9a81611cb4565b92506020840135611eaa81611cb4565b929592945050506040919091013590565b60008060008060006101008688031215611ed457600080fd5b8535611edf81611cb4565b94506020860135611eef81611cb4565b93506040860135925060608601359150611f0c8760808801611ced565b90509295509295909350565b60208082526016908201527513db9b1e481bdddb995c8818d85b88191bc81d1a185d60521b604082015260600190565b600060208284031215611f5a57600080fd5b81356001600160601b0381168114611ce657600080fd5b60609390931b6001600160601b0319168352601483019190915260a01b6001600160a01b031916603482015260400190565b600060208284031215611fb557600080fd5b611ce682611d57565b602080825260149082015273151a19481b9bdb98d9481a5cc81d1bdbc81bdb1960621b604082015260600190565b600060208284031215611ffe57600080fd5b8151611ce681611cb4565b60005b8381101561202457818101518382015260200161200c565b50506000910152565b6000825161203f818460208701612009565b9190910192915050565b60006020828403121561205b57600080fd5b81518015158114611ce657600080fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176120985761209861206b565b92915050565b6000826120bb57634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b039390931683526020830191909152604082015260600190565b818103818111156120985761209861206b565b6000815160a0845280518060a08601526121158160c0870160208501612009565b6020848101516001600160a01b0316908601526040808501519086015260608085015190860152608093840151938501939093525050601f01601f19160160c00190565b602081526000611ce660208301846120f4565b60006020828403121561217e57600080fd5b505191905056fea2646970667358221220e9c24932423dad0241e16d977d6c05c6b48589d972d923b293acef09b320bfc964736f6c634300081400330000000000000000000000004e1e3116e6c096c8e68f7393f66c2ef9f14a9e8c