10 txs
16 calls
constructor
constructor(address _router, address _poolManager, address _permit2, address _registry, address _weth)
functions
permit2
viewfunction permit2() view returns (address)
poolManager
viewfunction poolManager() view returns (address)
registry
viewfunction registry() view returns (address)
router
viewfunction router() view returns (address)
weth
viewfunction weth() view returns (address)
swapExactEthAmountForToken
payablefunction swapExactEthAmountForToken(address token, uint128 exactEthAmountIn, uint128 minimumTokenAmountOut) payable returns (uint256 tokenAmountOut)
swapExactTokenAmountForEth
nonpayablefunction swapExactTokenAmountForEth(address token, uint128 exactTokenAmountIn, uint128 minimumEthAmountOut) returns (uint256 ethOut)
swapExactTokenAmountForEthWithPermitSignature
nonpayablefunction swapExactTokenAmountForEthWithPermitSignature(address token, uint128 exactTokenAmountIn, uint128 minimumEthAmountOut, tuple sig) returns (uint256)
events
SwapEthForToken
event SwapEthForToken(address indexed user, address indexed token, uint256 ethAmountIn, uint256 tokenAmountOut)
SwapTokenForEth
event SwapTokenForEth(address indexed user, address indexed token, uint256 tokenAmountIn, uint256 ethAmountOut)
errors
ETHTransferFailed
error ETHTransferFailed()
InvalidInput
error InvalidInput()
InvalidToken
error InvalidToken()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x6101203461011e57601f6115e538819003918201601f19168301916001600160401b038311848410176101235780849260a09460405283398101031261011e5761004881610139565b9061005560208201610139565b61006160408301610139565b9061007a608061007360608601610139565b9401610139565b60016000556001600160a01b0394851660805290841660a05290831660c05290821660e0521661010052604051611497908161014e82396080518181816093015281816102770152610eb2015260a0518160db015260c051818181610228015281816109520152610e63015260e05181818161017f0152818161077a0152610dd40152610100518181816101bb015281816107bf015281816110f3015261141e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b038216820361011e5756fe608080604052600436101561001d575b50361561001b57600080fd5b005b600090813560e01c90816312261ee71461093e575080632ad6aba2146107ee5780633fc8cef3146107a95780637b103999146107645780639a7402e41461071a578063b9c59a2f1461010a578063dc4c90d3146100c55763f887ea400361000f57346100c257806003193601126100c2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b80fd5b50346100c257806003193601126100c2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5060603660031901126100c25761011f610985565b61012761099b565b916101306109b1565b90610139610d6d565b6001600160801b0384169283158015610710575b61070157604051630bc15aaf60e01b81526001600160a01b039182166004820181905293909160e090839060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156105e05783926106d0575b506101b9826113e1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b1561066c57604051630d0e30db60e41b815284816004818a875af18015610670579085916106bb575b505060405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600482018190526001600160801b03891660248301529060208160448189885af180156106b057610693575b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169242603c81019190821061067f57823b1561067b576040516387517c4560e01b81526001600160a01b0391821660048201528582166024820152908916604482015265ffffffffffff9190911660648201529085908290608490829084905af1801561067057908591610657575b5050604051600160fc1b6020820152600181529261032c6021856109f9565b604051600360f91b6020820152600360fa1b6021820152600f60f81b6022820152600381529061035d6023836109f9565b610365610b24565b9261036e610b5f565b9160200180519960209a604051936103868d866109f9565b8a855260405191610396836109c7565b82528a8d8301528260408301526001600160801b031693846060830152608082015260405180918d8201906103ca91610bdb565b03601f19810182526103dc90826109f9565b6103e585610c7e565b526103ef84610c7e565b5081518b0151604080516001600160a01b03909216828e019081526020810193909352909182910103601f198101825261042990826109f9565b61043284610ca1565b5261043c83610ca1565b505151604080516001600160a01b039092168b83019081526020810193909352909182910103601f198101825261047390826109f9565b61047c82610cb1565b5261048681610cb1565b50604051918291610499918a8401610d1a565b03601f19810182526104ab90826109f9565b6104b482610c7e565b526104be81610c7e565b504260b4019283421161064357823b1561063f57916104f8939185809460405196879586948593630d64d59360e21b855260048501610d3f565b03925af1801561061f5790829161062a575b50506040516370a0823160e01b8152306004820152918383602481845afa92831561061f5782936105eb575b5060405163a9059cbb60e01b81523360048201526024810184905294848660448186865af19586156105e05760019495966105b5575b50604080516001600160801b039290921682526020820186905233917f9e986b40318e49ea230800270ded64889cbc9dedb0f85ee6a5b01a80e47d87bc9190a355604051908152f35b6105d490873d89116105d9575b6105cc81836109f9565b810190610b0c565b61056c565b503d6105c2565b6040513d85823e3d90fd5b9092508381813d8311610618575b61060381836109f9565b8101031261061357519138610536565b600080fd5b503d6105f9565b6040513d84823e3d90fd5b81610634916109f9565b6100c257803861050a565b8480fd5b634e487b7160e01b85526011600452602485fd5b81610661916109f9565b61066c57833861030d565b8380fd5b6040513d87823e3d90fd5b8680fd5b634e487b7160e01b87526011600452602487fd5b6106ab9060203d6020116105d9576105cc81836109f9565b610274565b6040513d88823e3d90fd5b816106c5916109f9565b61066c57833861020f565b6106f391925060e03d60e0116106fa575b6106eb81836109f9565b810190610a2f565b90386101af565b503d6106e1565b63b4fa3fb360e01b8252600482fd5b503484141561014d565b50346100c25760603660031901126100c257602090600161075a61073c610985565b61074461099b565b61074c6109b1565b91610755610d6d565b610d8f565b9155604051908152f35b50346100c257806003193601126100c2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100c257806003193601126100c2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100c25760e03660031901126100c257610808610985565b9061081161099b565b6108196109b1565b90608036606319011261093a57604051936080850185811067ffffffffffffffff8211176109265760405260643560ff8116810361063f578552602085016084358152604086019560a43587526060810160c4358152610877610d6d565b60ff60018060a01b038516915192511692519751813b1561092257918760e4928195946040519b8c96879563d505accf60e01b87523360048801523060248801526001600160801b038c1660448801526064870152608486015260a485015260c48401525af1948515610917576020956108fa575b509161075a91600193610d8f565b918461090d600195939661075a956109f9565b94919350916108ec565b6040513d86823e3d90fd5b8780fd5b634e487b7160e01b85526041600452602485fd5b8280fd5b9050346109815781600319360112610981577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5080fd5b600435906001600160a01b038216820361061357565b602435906001600160801b038216820361061357565b604435906001600160801b038216820361061357565b60a0810190811067ffffffffffffffff8211176109e357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176109e357604052565b51906001600160a01b038216820361061357565b8092910360e0811261061357600092604051916060830183811067ffffffffffffffff821117610af85760405260a090610a6883610a1b565b8452601f19011261066c57604051610a7f816109c7565b610a8b60208301610a1b565b8152610a9960408301610a1b565b6020820152606082015162ffffff81168103610af457604082015260808201518060020b8103610af457606082015260a08201516001600160a01b0381168103610af4576080820152602083015260c0015160408201529150565b8580fd5b634e487b7160e01b86526041600452602486fd5b90816020910312610613575180151581036106135790565b60408051909190610b3583826109f9565b6001815291601f19018260005b828110610b4e57505050565b806060602080938501015201610b42565b60405160809190610b7083826109f9565b6003815291601f19018260005b828110610b8957505050565b806060602080938501015201610b7d565b919082519283825260005b848110610bc6575050826000602080949584010152601f8019910116010190565b80602080928401015182828601015201610ba5565b6101406080610c7b9360208452805160018060a01b03815116602086015260018060a01b03602082015116604086015262ffffff6040820151166060860152606081015160020b838601528260018060a01b039101511660a08501526020810151151560c08501526001600160801b0360408201511660e08501526001600160801b03606082015116610100850152015191610120808201520190610b9a565b90565b805115610c8b5760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015610c8b5760400190565b805160021015610c8b5760600190565b9080602083519182815201916020808360051b8301019401926000915b838310610ced57505050505090565b9091929394602080610d0b600193601f198682030187528951610b9a565b97019301930191939290610cde565b9091610d31610c7b93604084526040840190610b9a565b916020818403910152610cc1565b939291610d6890610d5a604093606088526060880190610b9a565b908682036020880152610cc1565b930152565b600260005414610d7e576002600055565b633ee5aeb560e01b60005260046000fd5b92919060006001600160801b038216801561070157604051630bc15aaf60e01b81526001600160a01b0380881660048301819052919791959060e090899060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9788156109175784986113c0575b50610e0e886113e1565b6040516323b872dd60e01b815233600482015230602482015260448101849052602081606481888b5af19081156106705785916113a1575b50156113665760405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600482018190526001600160801b038716602483015290602081604481898c5af180156106b057611349575b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169242603c81019190821061067f57823b1561067b576040516387517c4560e01b81526001600160a01b0391821660048201528582166024820152908616604482015265ffffffffffff9190911660648201529085908290608490829084905af1801561067057611335575b50604051600160fc1b60208201526001815290610f636021836109f9565b6110c9610f6e610b24565b99610f77610b5f565b926110a4602060405193610fb985610fab8482016003908160f91b81528160fa1b6001820152600f60f81b60028201520190565b03601f1981018752866109f9565b018051986020996001600160801b0360405195610fd68d886109f9565b8d875260405192610fe6846109c7565b835260018d840152836040840152169485606083015260808201526110238b6110156040519384928301610bdb565b03601f1981018352826109f9565b61102c88610c7e565b5261103687610c7e565b50815151604080516001600160a01b039092168c83019081526020810193909352909161106591839101611015565b61106e87610ca1565b5261107886610ca1565b5051880151604080516001600160a01b03909216828b0190815260208101949094529092839101611015565b6110ad84610cb1565b526110b783610cb1565b50611015604051938492888401610d1a565b6110d289610c7e565b526110dc88610c7e565b506040516370a0823160e01b8152306004820152977f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169290848a602481875afa998a156106b057869a611306575b5060b442019283421161067f57823b1561067b579161116d939187809460405196879586948593630d64d59360e21b855260048501610d3f565b03925af18015610917579084916112f1575b50506040516370a0823160e01b8152306004820152968288602481855afa9788156109175784986112c2575b5087039687116112ae57803b1561093a57828091602460405180948193632e1a7d4d60e01b83528c60048401525af180156105e057908391611299575b5080808089335af1903d15611293573d9067ffffffffffffffff821161127f5760405191849190611222601f8201601f19168301856109f9565b83523d92013e5b156112705750604080516001600160801b039290921682526020820185905233917f511467606f74489e5072b3e63d96443eb95409cf6a02686516a18b6058b0c8d69190a3565b63b12d13eb60e01b8152600490fd5b634e487b7160e01b84526041600452602484fd5b50611229565b816112a3916109f9565b6109815781386111e8565b634e487b7160e01b83526011600452602483fd5b9097508281813d83116112ea575b6112da81836109f9565b81010312610613575196386111ab565b503d6112d0565b816112fb916109f9565b61093a57823861117f565b9099508481813d831161132e575b61131e81836109f9565b8101031261061357519838611133565b503d611314565b84611342919592956109f9565b9238610f45565b6113619060203d6020116105d9576105cc81836109f9565b610eaf565b60405162461bcd60e51b81526020600482015260136024820152721d1c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152606490fd5b6113ba915060203d6020116105d9576105cc81836109f9565b38610e46565b6113da91985060e03d60e0116106fa576106eb81836109f9565b9638610e04565b80516001600160a01b031615908115611454575b8115611414575b5061140357565b63c1ab6dc160e01b60005260046000fd5b60209081015101517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614159050386113fc565b60408101511591506113f556fea2646970667358221220d83e04dacb816f8244e559691cb96089ad02a993358e0236f19567dfd562ee1e64736f6c634300081b00330000000000000000000000006ff5693b99212da76ad316178a184ab56d299b43000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000006fd07d4b5fd7093762fb2f278769aa7e2511d45c0000000000000000000000004200000000000000000000000000000000000006