0 txs
12 calls
constructor
constructor(address v3Router, address universalRouter, address _permit2)
functions
getAdapterId
viewfunction getAdapterId() view returns (bytes4)
permit2
viewfunction permit2() view returns (address)
supportsInterface
purefunction supportsInterface(bytes4 interfaceId) pure returns (bool)
uniswapV3Router
viewfunction uniswapV3Router() view returns (address)
universalRouter
viewfunction universalRouter() view returns (address)
swapExactInputV3
nonpayablefunction swapExactInputV3(tuple params) returns (uint256 amountOut)
swapExactInputV3AllExcept
nonpayablefunction swapExactInputV3AllExcept(tuple params) returns (uint256 amountOut)
swapExactInputV4
nonpayablefunction swapExactInputV4(tuple params, uint256 deadline) returns (uint256 amountOut)
swapExactInputV4AllExcept
nonpayablefunction swapExactInputV4AllExcept(tuple params, uint256 deadline) returns (uint256 amountOut)
swapExactOutputV3
nonpayablefunction swapExactOutputV3(tuple params) returns (uint256 amountIn)
swapExactOutputV4
nonpayablefunction swapExactOutputV4(tuple params, uint256 deadline) returns (uint256 amountIn)
events
Swap
event Swap(address indexed vault, address assetIn, uint256 amountIn, address assetOut, uint256 amountOut)
errors
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
WrongRecipient
error WrongRecipient(address vault, address recipient)
ZeroAddress
error ZeroAddress()
creation bytecode
0x60e0346100e757601f61262238819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e757610047816100ff565b906100606040610059602084016100ff565b92016100ff565b9161006a81610113565b6001600160a01b031660805261007f81610113565b61008882610113565b6001600160a01b0390811660a0521660c0526040516124ef9081610133823960805181818161024901528181610a0a0152611194015260a0518181816102b701528181610d4a0152611592015260c0518181816101db0152611b390152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100e757565b6001600160a01b03161561012357565b63d92e233d60e01b5f5260045ffdfe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146100c457806312261ee7146100bf5780632c76d7a6146100ba57806335a9e4df146100b5578063707992cb146100b057806387f08aea146100ab5780638874bffe146100a65780639b6d229c146100a15780639bf4ba871461009c578063b813767f146100975763ea2e909014610092575f80fd5b610efe565b610beb565b6108a9565b610890565b61056c565b61054c565b6102db565b61026d565b6101ff565b610191565b346101835760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610183576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361018357807f707992cb0000000000000000000000000000000000000000000000000000000060209214908115610159575b506040519015158152f35b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150145f61014e565b5f80fd5b5f91031261018357565b34610183575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018357602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610183575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018357602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610183575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018357602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610183575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101835760206040517fa2ed350f000000000000000000000000000000000000000000000000000000008152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60a0810190811067ffffffffffffffff82111761037c57604052565b610333565b6080810190811067ffffffffffffffff82111761037c57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761037c57604052565b92919267ffffffffffffffff821161037c576040519161042660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018461039d565b829481845281830111610183578281602093845f960137010152565b9080601f830112156101835781602061045d933591016103de565b90565b73ffffffffffffffffffffffffffffffffffffffff81160361018357565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610183576004359067ffffffffffffffff82116101835760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc838303011261018357604051916104f483610360565b806004013567ffffffffffffffff811161018357608492600461051992840101610442565b8352602481013561052981610460565b602084015260448101356040840152606481013560608401520135608082015290565b3461018357602061056461055f3661047e565b6110b6565b604051908152f35b346101835761057a3661047e565b73ffffffffffffffffffffffffffffffffffffffff602061059b83516118ed565b506024604051809481937f70a08231000000000000000000000000000000000000000000000000000000008352336004840152165afa9182156106425761060f926105ff925f91610613575b506105f8606083019182519061135c565b90526110b6565b6040519081529081906020820190565b0390f35b610635915060203d60201161063b575b61062d818361039d565b81019061100b565b5f6105e7565b503d610623565b611000565b67ffffffffffffffff811161037c5760051b60200190565b359062ffffff8216820361018357565b35908160020b820361018357565b6fffffffffffffffffffffffffffffffff81160361018357565b35906106a28261067d565b565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126101835760043567ffffffffffffffff81116101835760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8284030112610183576040519161071983610381565b816004013561072781610460565b8352602482013567ffffffffffffffff811161018357820190806023830112156101835760048201359161075a83610647565b92610768604051948561039d565b808452602060048186019260051b84010101918383116101835760248101915b8383106107c35750505050506107b79160649160208501526107ac60448201610697565b604085015201610697565b60608201529060243590565b823567ffffffffffffffff8111610183576004908301019060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08388030112610183576040519061081482610360565b602083013561082281610460565b82526108306040840161065f565b60208301526108416060840161066f565b6040830152608083013561085481610460565b606083015260a08301359167ffffffffffffffff83116101835761088088602080969581960101610442565b6080820152815201920191610788565b346101835760206105646108a3366106a4565b90611480565b346101835760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101835760043567ffffffffffffffff811161018357806004019060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8236030112610183576024810161092881611703565b73ffffffffffffffffffffffffffffffffffffffff33911603610b97575061096261095d610956848061170d565b36916103de565b6118ed565b90608483013592333b15610183576040517f19eacfeb00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101859052945f8660648183335af195861561064257610a6996610b7d575b5073ffffffffffffffffffffffffffffffffffffffff8416602073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692610a36888585611aa8565b604051809981927ff28c0498000000000000000000000000000000000000000000000000000000008352600483016117ec565b03815f865af19586156106425761060f975f97610b2b575b50917f5380cf97d8f645d3c4896da60c053458dca03a3a31cec642ac80e1ddf0d8d02a949391610ab38860649561135c565b9081610b0f575b50506040805173ffffffffffffffffffffffffffffffffffffffff97881681526020810189905296909416938601939093520135606084015250339180608081015b0390a26040519081529081906020820190565b610b1c610b23938261192e565b33906120bb565b5f8080610aba565b60649391975091610ab3610b707f5380cf97d8f645d3c4896da60c053458dca03a3a31cec642ac80e1ddf0d8d02a97969460203d60201161063b5761062d818361039d565b9892945050919394610a81565b80610b8b5f610b919361039d565b80610187565b5f6109d9565b610ba3610be891611703565b7f33d3166e000000000000000000000000000000000000000000000000000000005f523360045273ffffffffffffffffffffffffffffffffffffffff16602452604490565b5ffd5b346101835760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101835760043567ffffffffffffffff811161018357806004019060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc823603011261018357602435610c85610c6c84611703565b73ffffffffffffffffffffffffffffffffffffffff1690565b90610ca7610c6c610ca2610c9c6024870188611856565b906118aa565b611703565b9160648401610cb5816118e3565b333b15610183576040517f19eacfeb00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff861660248201526fffffffffffffffffffffffffffffffff9190911660448201525f8160648183335af1801561064257610eea575b5073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001695610d9784610d90610d7b856118e3565b6fffffffffffffffffffffffffffffffff1690565b8988611b0b565b610da8610da2611bf6565b9161232f565b873b15610183575f91610de860405196879384937f3593564c00000000000000000000000000000000000000000000000000000000855260048501611452565b0381838a5af1801561064257610e72610e51610e8393610e4c61060f9a7f5380cf97d8f645d3c4896da60c053458dca03a3a31cec642ac80e1ddf0d8d02a98604496610ed6575b5073ffffffffffffffffffffffffffffffffffffffff8a1661192e565b6118e3565b6fffffffffffffffffffffffffffffffff610e6b88612035565b911661135c565b95610e7c84612035565b50016118e3565b6040805173ffffffffffffffffffffffffffffffffffffffff95861681526020810187905294909216918401919091526fffffffffffffffffffffffffffffffff16606083015233918060808101610afc565b80610b8b5f610ee49361039d565b5f610e2f565b80610b8b5f610ef89361039d565b5f610d32565b3461018357610f0c366106a4565b90610f44610c6c73ffffffffffffffffffffffffffffffffffffffff83511673ffffffffffffffffffffffffffffffffffffffff1690565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523360048201529290602090849060249082905afa91821561064257610fdc6105ff9361060f955f91610fe1575b50610fc6610d7b6040850192610fc0610d7b85516fffffffffffffffffffffffffffffffff1690565b9061135c565b6fffffffffffffffffffffffffffffffff169052565b611480565b610ffa915060203d60201161063b5761062d818361039d565b5f610f97565b6040513d5f823e3d90fd5b90816020910312610183575190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6020815260a0608061107a845183602086015260c085019061101a565b9373ffffffffffffffffffffffffffffffffffffffff602082015116604085015260408101516060850152606081015182850152015191015290565b906110d8602083015173ffffffffffffffffffffffffffffffffffffffff1690565b3373ffffffffffffffffffffffffffffffffffffffff8216036112bd575061110082516118ed565b9260608101938451333b15610183576040517f19eacfeb00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8516602482015260448101919091525f8160648183335af18015610642575f9360209261120c926112a9575b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906111d789518373ffffffffffffffffffffffffffffffffffffffff8a16611aa8565b6040519586809481937fc04b8d590000000000000000000000000000000000000000000000000000000083526004830161105d565b03925af18015610642577f5380cf97d8f645d3c4896da60c053458dca03a3a31cec642ac80e1ddf0d8d02a925f9161128a575b50611285819651916040519384933397859094939273ffffffffffffffffffffffffffffffffffffffff9060609382608085019816845260208401521660408201520152565b0390a2565b6112a3915060203d60201161063b5761062d818361039d565b5f61123f565b80610b8b876112b79361039d565b5f61117c565b7f33d3166e000000000000000000000000000000000000000000000000000000005f523360045273ffffffffffffffffffffffffffffffffffffffff1660245260445ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820191821161132f57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9190820391821161132f57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051156113a35760200190565b611369565b8051600110156113a35760400190565b8051600210156113a35760600190565b80518210156113a35760209160051b010190565b9080602083519182815201916020808360051b8301019401925f915b83831061140757505050505090565b9091929394602080611443837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08660019603018752895161101a565b970193019301919392906113f8565b93929161147b9061146d60409360608852606088019061101a565b9086820360208801526113dc565b930152565b91906114bb610c6c6114a0602086015161149a8151611302565b906113c8565b515173ffffffffffffffffffffffffffffffffffffffff1690565b906114dd610c6c855173ffffffffffffffffffffffffffffffffffffffff1690565b9160408501946114fd86516fffffffffffffffffffffffffffffffff1690565b333b15610183576040517f19eacfeb00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff861660248201526fffffffffffffffffffffffffffffffff9190911660448201525f8160648183335af18015610642576116ef575b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016926115db816115d4610d7b8a516fffffffffffffffffffffffffffffffff1690565b8688611b0b565b6115ec6115e6611bf6565b92611e4c565b93803b1561018357611631945f8094604051978895869485937f3593564c00000000000000000000000000000000000000000000000000000000855260048501611452565b03925af1918215610642577f5380cf97d8f645d3c4896da60c053458dca03a3a31cec642ac80e1ddf0d8d02a926116db575b5061168761167082612035565b95516fffffffffffffffffffffffffffffffff1690565b611285866040519384933397859094939273ffffffffffffffffffffffffffffffffffffffff906fffffffffffffffffffffffffffffffff6060948360808601991685521660208401521660408201520152565b80610b8b5f6116e99361039d565b5f611663565b80610b8b5f6116fd9361039d565b5f61157a565b3561045d81610460565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610183570180359067ffffffffffffffff82116101835760200191813603831361018357565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561018357016020813591019167ffffffffffffffff821161018357813603831361018357565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b6020815260a06080611811611801858061175e565b84602087015260c08601916117ae565b9373ffffffffffffffffffffffffffffffffffffffff602082013561183581610460565b16604085015260408101356060850152606081013582850152013591015290565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610183570180359067ffffffffffffffff821161018357602001918160051b3603831361018357565b90156113a3578035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6181360301821215610183570190565b3561045d8161067d565b908151807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec81011161132f57600c90602084015160601c9301015160601c90565b6040519060205f8184017f095ea7b30000000000000000000000000000000000000000000000000000000081526119bc856119908489602484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810187528661039d565b84519082855af15f51903d81611a6f575b501590505b6119db57505050565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90931660248401525f60448401526106a292611a6a90611a6481606481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261039d565b82612432565b612432565b15159050611a9c57506119d273ffffffffffffffffffffffffffffffffffffffff82163b15155b5f6119cd565b60016119d29114611a96565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000602082810191825273ffffffffffffffffffffffffffffffffffffffff851660248401526044830195909552929390925f906119bc8560648101611990565b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692611b65828583611aa8565b833b15610183575f809465ffffffffffff73ffffffffffffffffffffffffffffffffffffffff97886084966040519a8b998a987f87517c45000000000000000000000000000000000000000000000000000000008a5260048a01521660248801521660448601521660648401525af1801561064257611be15750565b80611bed5f809361039d565b80031261018357565b6040517f100000000000000000000000000000000000000000000000000000000000000060208201526001815261045d60218261039d565b60405160809190611c3f838261039d565b60038152917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001825f5b828110611c7557505050565b806060602080938501015201611c69565b60408051909190611c97838261039d565b60018152917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001825f5b828110611ccd57505050565b806060602080938501015201611cc1565b6020815260a081019173ffffffffffffffffffffffffffffffffffffffff815116602083015260208101519260806040840152835180915260c0830190602060c08260051b8601019501915f905b828210611d7b5750505050906080606083611d62604061045d960151838601906fffffffffffffffffffffffffffffffff169052565b01516fffffffffffffffffffffffffffffffff16910152565b90919295602080611e19837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408a6001960301865260a060808c5173ffffffffffffffffffffffffffffffffffffffff815116845262ffffff868201511686850152604081015160020b604085015273ffffffffffffffffffffffffffffffffffffffff6060820151166060850152015191816080820152019061101a565b980192019201909291611d2c565b9091611e3e61045d9360408452604084019061101a565b9160208184039101526113dc565b6040517f070000000000000000000000000000000000000000000000000000000000000060208201527f0c0000000000000000000000000000000000000000000000000000000000000060218201527f0f0000000000000000000000000000000000000000000000000000000000000060228201529190611ef883602381015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810185528461039d565b611f00611c2e565b90604051611f1581611a388460208301611cde565b611f1e83611396565b52611f2882611396565b50805173ffffffffffffffffffffffffffffffffffffffff16611fa4611f6160408401516fffffffffffffffffffffffffffffffff1690565b6040805173ffffffffffffffffffffffffffffffffffffffff90941660208501526fffffffffffffffffffffffffffffffff909116908301528160608101611a38565b611fad836113a8565b52611fb7826113a8565b50611fed611f616060611fd56114a0602086015161149a8151611302565b9301516fffffffffffffffffffffffffffffffff1690565b611ff6826113b8565b52612000816113b8565b5061201f61200c611c86565b93611a3860405193849260208401611e27565b61202883611396565b5261203282611396565b50565b73ffffffffffffffffffffffffffffffffffffffff16906040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152602081602481865afa8015610642576106a2915f9161209c575b50809333906120bb565b6120b5915060203d60201161063b5761062d818361039d565b5f612092565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9290921660248301526044808301939093529181526106a291611a6a60648361039d565b90602083828152019060208160051b85010193835f915b8383106121445750505050505090565b9091929394957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301865286357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff618436030181121561018357602061223e60019360a061222e8885960173ffffffffffffffffffffffffffffffffffffffff81356121d081610460565b16845262ffffff6121e287830161065f565b16868501526121f36040820161066f565b60020b604085015273ffffffffffffffffffffffffffffffffffffffff606082013561221e81610460565b166060850152608081019061175e565b91909281608082015201916117ae565b980196019493019190612134565b6020815273ffffffffffffffffffffffffffffffffffffffff823561227081610460565b16602082015260208201357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1833603018112156101835782019060208235920167ffffffffffffffff8311610183578260051b360381136101835761231860606122ea60809361045d9685604088015260a087019161211d565b956123126122fa60408301610697565b6fffffffffffffffffffffffffffffffff1686840152565b01610697565b6fffffffffffffffffffffffffffffffff16910152565b6040517f090000000000000000000000000000000000000000000000000000000000000060208201527f0c0000000000000000000000000000000000000000000000000000000000000060218201527f0f00000000000000000000000000000000000000000000000000000000000000602282015291906123b38360238101611ecc565b6123bb611c2e565b906040516123d081611a38846020830161224c565b6123d983611396565b526123e382611396565b506123f7610ca2610c9c6020840184611856565b612406611f61606084016118e3565b61240f836113a8565b52612419826113a8565b50611fed611f61604061242b84611703565b93016118e3565b905f602091828151910182855af115611000575f513d6124b0575073ffffffffffffffffffffffffffffffffffffffff81163b155b61246e5750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b6001141561246756fea26469706673582212202a335202796196d2164529fca431612e118f207c953ec52ffccb951ff5223b4864736f6c634300081c00330000000000000000000000002626664c2603336e57b271c5c0b26f421741e4810000000000000000000000006ff5693b99212da76ad316178a184ab56d299b43000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3