1 tx
14 calls
constructor
constructor((uint256 dexIndex, address adapter)[] _adapters)
functions
adapters
viewfunction adapters(uint256) view returns (address)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
renounceOwnership
viewfunction renounceOwnership() view
acceptOwnership
nonpayablefunction acceptOwnership()
adapterCallback
nonpayablefunction adapterCallback(address recipient, uint256 amount, bytes _data)
addDexAdapters
nonpayablefunction addDexAdapters(tuple[] _adapters)
swapExactInput
nonpayablefunction swapExactInput(uint256 swapCalldata, address tokenIn, address tokenOut, uint256 amountIn, uint256 minAmountOut) returns (uint256 amountOut)
swapExactOutput
nonpayablefunction swapExactOutput(uint256 swapCalldata, address tokenIn, address tokenOut, uint256 maxAmountIn, uint256 amountOut) returns (uint256 amountIn)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
NewAdapter
event NewAdapter(uint256 dexIndex, address indexed adapter)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Swap
event Swap(bool isExactInput, uint256 dexIndex, address indexed receiver, address indexed tokenIn, address indexed tokenOut, uint256 amountIn, uint256 amountOut)
errors
Forbidden
error Forbidden()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
UnknownDex
error UnknownDex()
WrongAmountOut
error WrongAmountOut()
WrongSwapRatios
error WrongSwapRatios()
WrongSwapsNumber
error WrongSwapsNumber()
ZeroAmount
error ZeroAmount()
creation bytecode
0x6080604052346101ee576110dd8038038061001981610225565b9283398101906020818303126101ee578051906001600160401b0382116101ee570181601f820112156101ee578051906001600160401b0382116101f25761006660208360051b01610225565b9260208085858152019360061b830101918183116101ee57602001925b8284106101ac5784331561019957600180546001600160a01b03199081169091555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a35f60206100e8610206565b828152015280515f5b81811061010757604051610e92908161024b8239f35b825181101561018557600581901b8301602090810151808201805182515f9081526002855260409081902080546001600160a01b0319166001600160a01b03938416179055925191519251918252600194939216917fb8a980ccc5186c15dc94e9f3bf60eff74b64aef1567c97a0524753530607f8fe91a2016100f1565b634e487b7160e01b5f52603260045260245ffd5b631e4fbdf760e01b5f525f60045260245ffd5b6040848303126101ee576101be610206565b84518152602085015190916001600160a01b03821682036101ee5782602092836040950152815201930192610083565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b60408051919082016001600160401b038111838210176101f257604052565b6040519190601f01601f191682016001600160401b038111838210176101f25760405256fe6080806040526004361015610012575f80fd5b5f3560e01c9081631b9d082d1461083a575080634ef501ac14610808578063715018a6146107e157806379ba5097146107615780638da5cb5b1461073a578063bde0ca46146104c2578063cb518f521461023a578063e30c397814610212578063e66065d4146100fe5763f2fde38b1461008a575f80fd5b346100fa5760203660031901126100fa576100a3610a06565b6100ab610bbd565b600180546001600160a01b0319166001600160a01b039283169081179091555f8054919291909116907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009080a3005b5f80fd5b346100fa5760203660031901126100fa576004356001600160401b0381116100fa57366023820112156100fa578060040135906001600160401b0382116100fa573660248360061b830101116100fa57610156610bbd565b60405161016281610a8d565b5f81525f6020820152505f5b82811015610210578060061b820190604060231983360301126100fa576001917fb8a980ccc5186c15dc94e9f3bf60eff74b64aef1567c97a0524753530607f8fe60206040516101bd81610a8d565b6101d1604460248601359586845201610a1c565b828201948186525f526002835260405f2090878060a01b0316878060a01b03198254161790555192858060a01b0390511692604051908152a20161016e565b005b346100fa575f3660031901126100fa576001546040516001600160a01b039091168152602090f35b346100fa5761024836610a30565b9193905f9481156104b3576040516370a0823160e01b81523360048201526001600160a01b038216949092602084602481895afa9384156103e8575f9461047b575b506102989293969794610be7565b5f956001600160a01b038116939091905b81518810156103f3576102bc8883610aea565b519761ffff8951166102fa6020808c0151809c6103086040516102de81610a72565b3381528c85820152866040820152604051958691868301610afe565b03601f198101865285610aa8565b895f8a61034460406001600160a01b036103218b610dd2565b169501519760405198899788968795633ea781b560e11b87523360048801610b2d565b03925af19182156103e857899289925f916103aa575b5061036781600197610b8f565b9c604051928784526020840152604083015260608201527e320d5f3fa77c7e31e1dd53600f224b49e7f1c5205eb063f3e6b6caaa68a00d60803392a401966102a9565b9250509391506020813d82116103e0575b816103c860209383610aa8565b810103126100fa57519092889188919061036761035a565b3d91506103bb565b6040513d5f823e3d90fd5b6040516370a0823160e01b8152336004820152876020826024818b5afa80156103e8575f90610447575b6104279250610bb0565b810361043857602090604051908152f35b6336d0e85160e21b5f5260045ffd5b506020823d602011610473575b8161046160209383610aa8565b810103126100fa57610427915161041d565b3d9150610454565b9293506020833d6020116104ab575b8161049760209383610aa8565b810103126100fa576102989251939261028a565b3d915061048a565b631f2a200560e01b5f5260045ffd5b346100fa576104d036610a30565b9392915f9185156104b3576040516370a0823160e01b8152336004820152906020826024816001600160a01b0387165afa9586156103e85787925f976106ff575b509061051d9291610be7565b945f5b865181101561067757908161053961057f949389610aea565b5161ffff815116906020604082015196879261058d60405161055a81610a72565b3381526001600160a01b038d1685820152604080820188905251938491828701610afe565b03601f198101845283610aa8565b875f8c6105c8866001600160a01b036105a58b610dd2565b16950151956040519d8e978896879563178e67df60e11b87523360048801610b2d565b03925af19586156103e8575f9661063e575b506105ea86600195969798610b8f565b96604051925f8452602084015260408301526060820152828060a01b03851690838060a01b038816907e320d5f3fa77c7e31e1dd53600f224b49e7f1c5205eb063f3e6b6caaa68a00d60803392a401610520565b939495506020843d821161066f575b8161065a60209383610aa8565b810103126100fa5792519493926105ea6105da565b3d915061064d565b506040516370a0823160e01b815233600482015290918590602090839060249082906001600160a01b03165afa80156103e8575f906106cb575b6106bb9250610bb0565b0361043857602090604051908152f35b506020823d6020116106f7575b816106e560209383610aa8565b810103126100fa576106bb91516106b1565b3d91506106d8565b91925095506020813d602011610732575b8161071d60209383610aa8565b810103126100fa57519486919061051d610511565b3d9150610710565b346100fa575f3660031901126100fa575f546040516001600160a01b039091168152602090f35b346100fa575f3660031901126100fa57600154336001600160a01b038216036107ce576001600160a01b03199081166001555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b5f523360045260245ffd5b346100fa575f3660031901126100fa576107f9610bbd565b631dd2188d60e31b5f5260045ffd5b346100fa5760203660031901126100fa576004355f526002602052602060018060a01b0360405f205416604051908152f35b346100fa5760603660031901126100fa57610853610a06565b90604435906001600160401b0382116100fa57366023830112156100fa5781600401356001600160401b0381116100fa5782013660248201116100fa57606090839003126100fa576108a481610a72565b6108b060248301610a1c565b815260646108c060448401610a1c565b926020830193845201358060408301525f52600260205260018060a01b0360405f20541633036100fa57905190516040516323b872dd60e01b602082019081526001600160a01b039283166024808401919091529483166044830152933560648083019190915281525f9384939092169190839061093f608482610aa8565b51925af13d156109ff573d6001600160401b0381116109eb5760405190610970601f8201601f191660200183610aa8565b81523d5f602083013e5b816109b3575b501561098857005b60405162461bcd60e51b815260206004820152600360248201526229aa2360e91b6044820152606490fd5b80518015925082156109c8575b505081610980565b81925090602091810103126100fa576020015180151581036100fa5781806109c0565b634e487b7160e01b5f52604160045260245ffd5b606061097a565b600435906001600160a01b03821682036100fa57565b35906001600160a01b03821682036100fa57565b60a09060031901126100fa57600435906024356001600160a01b03811681036100fa57906044356001600160a01b03811681036100fa57906064359060843590565b606081019081106001600160401b038211176109eb57604052565b604081019081106001600160401b038211176109eb57604052565b90601f801991011681019081106001600160401b038211176109eb57604052565b805115610ad65760200190565b634e487b7160e01b5f52603260045260245ffd5b8051821015610ad65760209160051b010190565b81516001600160a01b039081168252602080840151909116908201526040918201519181019190915260600190565b94919260e096936020959260018060a01b0316875260018060a01b03168587015260018060a01b031660408601526060850152608084015260c060a084015280519182918260c0860152018484015e5f828201840152601f01601f1916010190565b91908201809211610b9c57565b634e487b7160e01b5f52601160045260245ffd5b91908203918211610b9c57565b5f546001600160a01b031633036107ce57565b6001600160401b0381116109eb5760051b60200190565b9192908215610d5157600f8316908115610d055790610c0581610bd0565b94610c136040519687610aa8565b818652601f19610c2283610bd0565b015f5b818110610d22575050859460041c925f925f945f945f905b829084831015610ce55791600191610ca58261ffff8f979681881601169560161c9688868301149b8c5f14610cd0578d8b03809e5b019c15610cbb57808c0380915b019d603f60405196610c9088610a72565b60101c16865260208601526040850152610aea565b52610cb0818d610aea565b500190969596610c3d565b610cc961ffff86168d610e01565b8091610c7f565b610cde61ffff86168c610e01565b809e610c72565b95505050959697505050618000925061ffff91501603610d1357610d0557565b62a8232960e31b5f5260045ffd5b6375071ab960e01b5f5260045ffd5b602090604095949551610d3481610a72565b5f81525f838201525f604082015282828b01015201939293610c25565b90929150604080519290610d658185610aa8565b60018452601f19015f5b818110610da957505060405191610d8583610a72565b5f835260208301526040820152610d9b82610ac9565b52610da581610ac9565b5090565b602090604051610db881610a72565b5f81525f838201525f604082015282828801015201610d6f565b5f908152600260205260409020546001600160a01b03168015610df25790565b638e5c3a1960e01b5f5260045ffd5b5f915f198183099181810293848085109403938085039414610e5257836180001115610e40575090618000910990828211900360f11b9103600f1c1790565b634e487b71905260116020526024601cfd5b50505050600f1c9056fea26469706673582212207fc78721b010d05e82a0d80204793b729151766ec13990566f7c6a10fdcdaceb64736f6c634300081c003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000