0 txs
42 calls
constructor
No constructor.
functions
getAmountsOut
viewfunction getAmountsOut(uint256 amountIn, tuple[] routes) view returns (uint256 amountOut)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
router
viewfunction router() view returns (address)
swapHashes
viewfunction swapHashes(bytes32) view returns (bool)
swaps
viewfunction swaps(uint256 index) view returns (tuple)
swapsCount
viewfunction swapsCount() view returns (uint256)
swapsList
viewfunction swapsList(uint256 offset, uint256 limit) view returns (tuple[] output)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
verifySwapHashes
viewfunction verifySwapHashes(bytes32[] hashes) view returns (bool[] output)
initialize
nonpayablefunction initialize(address router_)
renounceOwnership
nonpayablefunction renounceOwnership()
swap
nonpayablefunction swap(tuple route, address recipient, uint256 amountIn, uint256 minAmountOut) returns (uint256 amountOut)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateRouter
nonpayablefunction updateRouter(address router_)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RouterUpdated
event RouterUpdated(address indexed router)
Swapped
event Swapped((address sender, address recipient, address pool, address tokenIn, address tokenOut, bool stable, uint256 amountIn, uint256 amountOut, uint256 timestamp) data)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
PrepareSwapPathSwapPathAndFeeLengthIsInvalid
error PrepareSwapPathSwapPathAndFeeLengthIsInvalid(uint256 pathLength, uint256 feesLength)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
SwapAmountIsNotPositive
error SwapAmountIsNotPositive()
SwapTokenInIsZero
error SwapTokenInIsZero()
SwapTokenOutIsZero
error SwapTokenOutIsZero()
UpdateRouterRouterIsZero
error UpdateRouterRouterIsZero()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a080604052346029573060805261185a908161002f82396080518181816106d101526107b60152f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c80632cc6a3bb14610ab15780634f09a4961461096e5780634f1ef2861461073b57806352d1902d146106be5780635509a1ac146104a9578063715018a61461043e57806371a19c9c146103d057806378a96f7e146103b25780638da5cb5b1461037c578063ad3cb1cc146102fd578063c4d66de8146101bd578063c851cc3214610193578063da87622914610164578063f09c582914610123578063f2fde38b146100f65763f887ea40146100cd57600080fd5b346100f357806003193601126100f357546040516001600160a01b039091168152602090f35b80fd5b50346100f35760203660031901126100f357610120610113611210565b61011b611614565b6115a0565b80f35b50346100f35760203660031901126100f35761013d6113cc565b5061012061015561014f600435611392565b5061141e565b610162604051809261126c565bf35b50346100f35760203660031901126100f35760ff60406020926004358152600284522054166040519015158152f35b50346100f35760203660031901126100f3576101206101b0611210565b6101b8611614565b61164d565b50346100f35760203660031901126100f3576101d7611210565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090815460ff8160401c1615916001600160401b038216801590816102f5575b60011490816102eb575b1590816102e2575b506102d05767ffffffffffffffff198216600117845561026b91836102b1575b50610252611760565b61025a611760565b610263336115a0565b6101b8611760565b610273575080f35b68ff00000000000000001981541690557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b68ffffffffffffffffff19166801000000000000000117845538610249565b60405163f92ee8a960e01b8152600490fd5b90501538610229565b303b159150610221565b849150610217565b50346100f357806003193601126100f35760405161031a816111d4565b60058152602091640352e302e360dc1b602083015260405192839160208352835191826020850152815b83811061036557505060408094508284010152601f80199101168101030190f35b808601820151878201604001528694508101610344565b50346100f357806003193601126100f357600080516020611805833981519152546040516001600160a01b039091168152602090f35b50346100f357806003193601126100f3576020600154604051908152f35b50346100f35760403660031901126100f3576103f0602435600435611498565b604051906020808301906020845282518092526020604085019301945b82811061041a5784840385f35b909192826101208261042f6001948a5161126c565b0196019101949291909461040d565b50346100f357806003193601126100f357610457611614565b60008051602061180583398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346100f35760403660031901126100f3576024356001600160401b038082116106ba57366023830112156106ba5781600401356104e68161123a565b906104f460405192836111ef565b80825260209360248584019260071b820101903682116106b65790602487939201915b8183106106455750505061055a9160018060a01b038254166040518080958194631542686b60e21b8352600435600484015260406024840152604483019061130b565b03915afa91821561063a5784926105a4575b505080516000198101919082116105905790610587916112f7565b51604051908152f35b634e487b7160e01b84526011600452602484fd5b9091503d8085843e6105b681846111ef565b820191838184031261063657805191821161063657019080601f830112156106325781516105e38161123a565b926105f160405194856111ef565b818452848085019260051b82010192831161062e5784809101915b83831061061e5750505050388061056c565b825181529181019185910161060c565b8580fd5b8380fd5b8480fd5b6040513d86823e3d90fd5b909192506080833603126106b157604051906106608261116c565b61066984611226565b8252610676878501611226565b8783015260408401359081151582036106b1578288926040608095015260606106a0818801611226565b908201528152019201908692610517565b600080fd5b8680fd5b8280fd5b50346100f357806003193601126100f3577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036107295760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b60405163703e46dd60e11b8152600490fd5b5060403660031901126100f357610750611210565b60249182356001600160401b03811161096a573660238201121561096a5780600401359261077d84611251565b61078a60405191826111ef565b848152602094858201933688838301011161062e57818692898993018737830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811630811490811561093c575b50610729576107ef611614565b6040516352d1902d60e01b81529083169580826004818a5afa918291879361090c575b505061083057604051634c9c8ce360e01b8152600481018790528790fd5b8590877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc918281036108f75750843b156108e1575080546001600160a01b031916821790556040518592917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28151156108c457506108c09382915190845af46108ba611730565b916117a1565b5080f35b9350505050346108d2575080f35b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101849052fd5b60405190632a87526960e21b82526004820152fd5b9080929350813d8311610935575b61092481836111ef565b8101031261062e5751903880610812565b503d61091a565b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54161415386107e2565b5080fd5b50346100f35760208060031936011261096a57600435906001600160401b0382116106ba57366023830112156106ba578160040135916109ad8361123a565b926109bb60405194856111ef565b80845260248385019160051b8301019136831161062e57602401905b828210610aa257505050908051926109ee8461123a565b936109fc60405195866111ef565b808552610a088161123a565b8585019390601f1901368537825b828110610a605750505060405193838594850191818652518092526040850193925b828110610a4757505050500390f35b8351151585528695509381019392810192600101610a38565b80610a726001928499979896996112f7565b5188526002855260ff604089205416610a91575b019592949395610a16565b81610a9c82886112f7565b52610a86565b813581529083019083016109d7565b50346100f357366003190160e0811261096a576080136100f357610ad5608061116c565b6004356001600160a01b038116908181036106ba576080526024356001600160a01b03811681036106ba5760a05260443580151581036106ba5760c0526064356001600160a01b03811681036106ba5760e0526084356001600160a01b038116900361096a571561115a5760a0516001600160a01b0316156111485760a435156111365780546080516040516323b872dd60e01b602082015233602482015230604482015260a43560648083019190915281526001600160a01b039283169392610ba89216610ba3826111b9565b6116be565b60018060a01b03608051166040516020810191838063095ea7b360e01b9485815287602486015260a435604486015260448552610be48561116c565b84519082855af1610bf3611730565b81611107575b50806110fd575b156110c6575b50505060405191610c16836111d4565b60018352815b6020811061109757506024926080610c33826112d4565b52610c3d816112d4565b5060a0516040516370a0823160e01b81526001600160a01b0360843581166004830152909560209287928391165afa938415610fed578394611063575b50813b156106ba57610cbd83928392604051948580948193634466c10f60e11b835260a435600484015260c435602484015260a0604484015260a483019061130b565b608480356001600160a01b03166064840152429083015203925af180156110585761102c575b5060a0516040516370a0823160e01b81526001600160a01b036084358116600483015292939092909160209184916024918391165afa8015610fed578390610ff8575b610d30925061136f565b60e05160805160a05160c0516040516379bc57d560e01b81526001600160a01b0393841660048201529183166024830152151560448201529160209183916064918391165afa908115610fed578391610fab575b5060805160a05160c05160405193901515926001600160a01b03928316921690610dad8561119d565b3385526001600160a01b03608435811660208701521660408501526060840152608083015260a082015260a43560c082015260e081018290524261010082015260015468010000000000000000811015610f9757806001610e119201600155611392565b610f83577fe1e84275a35720d79f2b319f40e9484ec51432f55d6427e8f4bb1a8238551a9b9160406020956101209360018060a01b038451166bffffffffffffffffffffffff60a01b90818354161782556001820160018060a01b038a87015116828254161790556002820160018060a01b03858701511682825416179055600382019060018060a01b03606087015116908254161790556004810160018060a01b0360808601511681549060ff60a01b60a0880151151560a01b16916affffffffffffffffffffff60a81b161717905560c0840151600582015560e084015160068201556007610100850151910155608051876080015190835190898201926bffffffffffffffffffffffff1980928160843560601b16865260601b16603484015260601b16604882015260a435605c82015242607c820152607c8152610f58816111b9565b51902081526002875220600160ff19825416179055610f7a604051809261126c565ba1604051908152f35b634e487b7160e01b84526004849052602484fd5b634e487b7160e01b84526041600452602484fd5b90506020813d602011610fe5575b81610fc6602093836111ef565b810103126106ba57516001600160a01b03811681036106ba5738610d84565b3d9150610fb9565b6040513d85823e3d90fd5b506020823d602011611024575b81611012602093836111ef565b810103126106b157610d309151610d26565b3d9150611005565b6001600160401b038111611044576040526024610ce3565b634e487b7160e01b82526041600452602482fd5b6040513d84823e3d90fd5b9093506020813d60201161108f575b8161107f602093836111ef565b810103126106ba57519238610c7a565b3d9150611072565b6020906040516110a68161116c565b848152848382015284604082015284606082015282828701015201610c1c565b610ba36110f593604051906020820152866024820152856044820152604481526110ef8161116c565b826116be565b388080610c06565b50803b1515610c00565b805180159250821561111c575b505038610bf9565b61112f92506020809183010191016116a6565b3880611114565b604051630337504960e51b8152600490fd5b60405163a6e3c97360e01b8152600490fd5b604051636400e5f360e11b8152600490fd5b608081019081106001600160401b0382111761118757604052565b634e487b7160e01b600052604160045260246000fd5b61012081019081106001600160401b0382111761118757604052565b60a081019081106001600160401b0382111761118757604052565b604081019081106001600160401b0382111761118757604052565b90601f801991011681019081106001600160401b0382111761118757604052565b600435906001600160a01b03821682036106b157565b35906001600160a01b03821682036106b157565b6001600160401b0381116111875760051b60200190565b6001600160401b03811161118757601f01601f191660200190565b60018060a01b03808251168352806020830151166020840152806040830151166040840152806060830151166060840152608082015116608083015260a0810151151560a083015260c081015160c083015260e081015160e083015261010080910151910152565b8051156112e15760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156112e15760209160051b010190565b90815180825260208080930193019160005b82811061132b575050505090565b835180516001600160a01b0390811687528184015181168785015260408083015115159088015260609182015116908601526080909401939281019260010161131d565b9190820391821161137c57565b634e487b7160e01b600052601160045260246000fd5b6001548110156112e157600160005260031b7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60190600090565b604051906113d98261119d565b816101006000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e08201520152565b9190820180921161137c57565b9060405161142b8161119d565b6101006007829460ff60018060a01b038083541686528060018401541660208701528060028401541660408701528060038401541660608701526004830154908116608087015260a01c16151560a0850152600581015460c0850152600681015460e08501520154910152565b91906001906001549081851015611578576114cb916114b8869283611411565b90818110611570575b509083929161136f565b6114d48161123a565b906114e260405192836111ef565b8082526114f1601f199161123a565b0160005b81811061155257505080946000925b61150f575b50505050565b815183101561154d57838361153061014f61152b849786611411565b611392565b61153a82866112f7565b5261154581856112f7565b500192611504565b611509565b6020919293506115606113cc565b82828601015201908392916114f5565b9050386114c1565b5050509050604051602081018181106001600160401b03821117611187576040526000815290565b6001600160a01b039081169081156115fb5760008051602061180583398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b604051631e4fbdf760e01b815260006004820152602490fd5b600080516020611805833981519152546001600160a01b0316330361163557565b60405163118cdaa760e01b8152336004820152602490fd5b6001600160a01b0316801561169457600080546001600160a01b031916821781557f7aed1d3e8155a07ccf395e44ea3109a0e2d6c9b29bbbe9f142d9790596f4dc809080a2565b6040516327dee7f160e11b8152600490fd5b908160209103126106b1575180151581036106b15790565b6000806116e79260018060a01b03169360208151910182865af16116e0611730565b90836117a1565b8051908115159182611715575b50506116fd5750565b60249060405190635274afe760e01b82526004820152fd5b61172892506020809183010191016116a6565b1538806116f4565b3d1561175b573d9061174182611251565b9161174f60405193846111ef565b82523d6000602084013e565b606090565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561178f57565b604051631afcd79f60e31b8152600490fd5b906117c857508051156117b657805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806117fb575b6117d9575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156117d156fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300a2646970667358221220c2335b58e7b0446cc8212410a046de2179ea4e523bb56b67fb1b85a24491672664736f6c63430008190033