0 txs
1 call
constructor
constructor(address _factory, address _swapRouter, address _poolManager)
functions
decodeV4RouteData
purefunction decodeV4RouteData(bytes data) pure returns (tuple[] v4Route, uint256 startAmount)
factory
viewfunction factory() view returns (address)
poolManager
viewfunction poolManager() view returns (address)
supportsInterface
purefunction supportsInterface(bytes4 interfaceId) pure returns (bool)
swapRouter
viewfunction swapRouter() view returns (address)
afterCoinDeploy
payablefunction afterCoinDeploy(address sender, address coin, bytes hookData) payable returns (bytes)
unlockCallback
nonpayablefunction unlockCallback(bytes data) returns (bytes)
events
No events.
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
AddressZero
error AddressZero()
FailedInnerCall
error FailedInnerCall()
HookNotImplemented
error HookNotImplemented()
InsufficientInputCurrency
error InsufficientInputCurrency(uint256 inputAmount, uint256 availableAmount)
InsufficientOutputAmount
error InsufficientOutputAmount()
NotFactory
error NotFactory()
OnlyPoolManager
error OnlyPoolManager()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
V3RouteCannotStartWithInputCurrency
error V3RouteCannotStartWithInputCurrency()
V3RouteDoesNotConnectToV4RouteStart
error V3RouteDoesNotConnectToV4RouteStart()
creation bytecode
0x60e0346100f057601f61180538819003918201601f19168301916001600160401b038311848410176100f4578084926060946040528339810103126100f05780516001600160a01b03811691908281036100f05761006b604061006460208501610108565b9301610108565b92156100e1576080526001600160a01b0390811660a0521660c0526040516116e8908161011d82396080518181816104a00152610534015260a05181818161045c015261108d015260c051818181610243015281816106a7015281816109a6015281816109df01528181610a9101526111e90152f35b639fabe1c160e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100f05756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a71461008457806303cacc251461007f57806391dd73461461007a578063c31c9c0714610075578063c45a015514610070578063cdefd1241461006b5763dc4c90d314610066575f80fd5b610692565b6104ed565b61048b565b610447565b610230565b61019a565b346100bb5760203660031901126100bb5760043563ffffffff60e01b81168091036100bb5763337bf44960e21b1460805260206080f35b5f80fd5b9181601f840112156100bb578235916001600160401b0383116100bb57602083818601950101116100bb57565b60206003198201126100bb57600435906001600160401b0382116100bb57610116916004016100bf565b9091565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b90602080835192838152019201905f5b81811061017a5750505090565b909192602060a08261018f600194885161011a565b01940192910161016d565b346100bb576101a8366100ec565b8101906040818303126100bb578035916001600160401b0383116100bb576101d76020916101ee948401610787565b91013560405192839260408452604084019061015d565b9060208301520390f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90602061022d9281815201906101f8565b90565b346100bb57610281610241366100ec565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316929190610279338514610853565b810190610869565b925f926001600160801b038116929081855b84518710156103e2575061032a60206102da6001600160801b036102d06102ba8b8a6108b4565b51805190986001600160a01b0390811691161490565b9816600f0b6108f0565b87156103c55761030f6401000276a45b6102f261072b565b8a1515815292600f0b838501526001600160a01b03166040830152565b60405180938192633cf3645360e21b83528860048401610924565b03815f8d5af180156103c0576001915f91610392575b508615610380576001600160801b0316935b84965f1461037157602001516001600160a01b03165b96019592610293565b516001600160a01b0316610368565b60801d6001600160801b031693610352565b6103b3915060203d81116103b9575b6103ab818361070a565b810190610915565b5f610340565b503d6103a1565b61096c565b61030f73fffd8963efd1fc6a506488495d951d5263988d256102ea565b610402869161041f9461042d94610439978c60018060a01b031691610977565b604080516001600160801b03909216602083015290928391820190565b03601f19810183528261070a565b6040519182918261021c565b0390f35b5f9103126100bb57565b346100bb575f3660031901126100bb576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100bb575f3660031901126100bb576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036100bb57565b35906104eb826104cf565b565b60603660031901126100bb576105046004356104cf565b602435610510816104cf565b6044356001600160401b0381116100bb5761052f9036906004016100bf565b9091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610683578201916020818403126100bb578035906001600160401b0382116100bb570160c0818403126100bb5761059361073a565b61059c826104e0565b815260208201356001600160401b0381116100bb57846105bd918401610b75565b60208201526040820135916001600160401b0383116100bb5761065d6106258260a06105f46104399961042d986106679701610787565b91826040880152610607606082016104e0565b60608801526080810135608088015201359660a08601978852610d6b565b61062f8185610e4c565b61063884610edc565b61065761064485611024565b955190959186916001600160a01b031690565b92611179565b9351841015610bbb565b604080516020810192909252810192909252816060810161041f565b631966391b60e11b5f5260045ffd5b346100bb575f3660031901126100bb576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b634e487b7160e01b5f52604160045260245ffd5b60a081019081106001600160401b0382111761070557604052565b6106d6565b90601f801991011681019081106001600160401b0382111761070557604052565b604051906104eb60608361070a565b604051906104eb60c08361070a565b604051906104eb60808361070a565b6001600160401b0381116107055760051b60200190565b62ffffff8116036100bb57565b8060020b036100bb57565b81601f820112156100bb5780359061079e82610758565b926107ac604051948561070a565b828452602060a08186019402830101918183116100bb57602001925b8284106107d6575050505090565b60a0848303126100bb57602060a0916040516107f1816106ea565b86356107fc816104cf565b81528287013561080b816104cf565b83820152604087013561081d8161076f565b604082015260608701356108308161077c565b60608201526080870135610843816104cf565b60808201528152019301926107c8565b1561085a57565b63f655705d60e01b5f5260045ffd5b91906080838203126100bb578235906001600160401b0382116100bb57610891918401610787565b91602081013591606060408301356108a8816104cf565b92013561022d816104cf565b80518210156108c85760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b600f0b6f7fffffffffffffffffffffffffffffff198114610910575f0390565b6108dc565b908160209103126100bb575190565b9091610933826101409461011a565b8051151560a0830152602081015160c0830152604001516001600160a01b031660e082015261012061010082018190525f908201520190565b6040513d5f823e3d90fd5b9193909290916001600160a01b038116610a8f5750604051630476982d60e21b815290602090829060049082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156103c057610a70575b505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156100bb57604051630b0d9c0960e01b81526001600160a01b0393841660048201529390921660248401526001600160801b031660448301525f908290606490829084905af180156103c057610a5c5750565b80610a6a5f6104eb9361070a565b8061043d565b610a889060203d6020116103b9576103ab818361070a565b505f6109db565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156100bb57604051632961046560e21b81526001600160a01b03831660048201525f8160248183865af19384156103c05782602094610b01935f97610b46575b50610bd1565b600460405180948193630476982d60e21b83525af180156103c057610b27575b506109dd565b610b3f9060203d6020116103b9576103ab818361070a565b505f610b21565b80610a6a89610b549361070a565b5f610afb565b6001600160401b03811161070557601f01601f191660200190565b81601f820112156100bb57803590610b8c82610b5a565b92610b9a604051948561070a565b828452602083830101116100bb57815f926020809301838601378301015290565b15610bc257565b6342301c2360e01b5f5260045ffd5b9091906001600160a01b038116610bfe57505f808080610bf294865af11590565b610bf95750565b6112c3565b6040805163a9059cbb60e01b81526001600160a01b039094166004850152602484019290925291905f9060208260448582885af13d15601f3d11600185511416171692828152826020820152015215610c545750565b6001600160a01b0316611256565b906001820180921161091057565b90601f820180921161091057565b9190820180921161091057565b90610c9582610758565b610ca2604051918261070a565b8281528092610cb3601f1991610758565b01905f5b828110610cc357505050565b602090604051610cd2816106ea565b5f81525f838201525f60408201525f60608201525f608082015282828501015201610cb7565b908160a09103126100bb57608060405191610d12836106ea565b8051610d1d816104cf565b83526020810151610d2d816104cf565b60208401526040810151610d408161076f565b60408401526060810151610d538161077c565b60608401520151610d63816104cf565b608082015290565b90610d7e610d798251610c62565b610c8b565b925f5b8251811015610db45780610d97600192856108b4565b51610da282886108b4565b52610dad81876108b4565b5001610d81565b50604051630341f3b760e51b8152909290919060a090839060049082906001600160a01b03165afa9081156103c057610e02925f92610e05575b505190610dfb82866108b4565b52836108b4565b50565b610e2891925060a03d60a011610e2f575b610e20818361070a565b810190610cf8565b905f610dee565b503d610e16565b15610e3d57565b63bdcc3d9760e01b5f5260045ffd5b60208101518051610eaf5750606001516001600160a01b03165b8151156108c8576020919091015180516104eb926001600160a01b0390811691168114918215610e98575b5050610e36565b602001516001600160a01b03161490505f80610e91565b610eb9915061132c565b610e66565b15610ec7575050565b635d0165db60e01b5f5260045260245260445ffd5b6060810180516001600160a01b031680610f0457505060806104eb9101513490803414610ebe565b610f5a9290602090610f26906001600160a01b03165b6001600160a01b031690565b8251604051636eb1769f60e11b81526001600160a01b03909116600482015230602482015294859190829081906044820190565b03915afa9182156103c0576104eb935f93610fb3575b50610f9b610f1a610fa992610f8e6080860196875180821015610ebe565b516001600160a01b031690565b91516001600160a01b031690565b9151913091611416565b610fa9919350610f1a610fd7610f9b9260203d6020116103b9576103ab818361070a565b94925050610f70565b6020815260806060610ffd845183602086015260a08501906101f8565b60208501516001600160a01b03166040858101919091528501518285015293015191015290565b906020820191825151156110fd5760608101516001600160a01b03166110ef57602061108991608085519101805161105a610749565b928352308484015260408301525f606083015251604051808095819463b858183f60e01b835260048301610fe0565b03917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156103c05761022d915f916110d0575b50925161132c565b6110e9915060203d6020116103b9576103ab818361070a565b5f6110c8565b6216d35160e31b5f5260045ffd5b60808101516060909101519092506001600160a01b031690565b6020818303126100bb578051906001600160401b0382116100bb570181601f820112156100bb5780519061114a82610b5a565b92611158604051948561070a565b828452602083830101116100bb57815f9260208093018386015e8301015290565b6111ca9061119e926111e4955f956040519586946080602087015260a086019061015d565b60408501939093526001600160a01b03908116606085015216608083015203601f19810183528261070a565b604051809381926348c8949160e01b83526004830161021c565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156103c05761022d915f91611234575b5060208082518301019101610915565b61125091503d805f833e611248818361070a565b810190611117565b5f611224565b6040516390bfb86560e01b81526001600160a01b03909116600482015263a9059cbb60e01b60248201526080604482015260a03d601f01601f191690810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b805115611411575f9160179160429084905b80518261091057866109105783116113fc57805190858203918083116109105786906113748461136d81610c70565b1015611593565b6113828261136d8682610c7e565b61139883516113918685610c7e565b11156115d0565b036113b15750506040515f81526020810160405261133e565b60405191601f81169187831560051b80858701019484860193010101905b8084106113e95750508252601f01601f191660405261133e565b90926020809185518152019301906113cf565b929450505061140b91506114fb565b50905090565b505f90565b6040516323b872dd60e01b602082019081526001600160a01b039384166024830152939092166044830152606480830194909452928152916114a0915f9182919061146260848761070a565b60018060a01b031694519082865af13d156114f3573d9061148282610b5a565b91611490604051938461070a565b82523d5f602084013e5b83611654565b80519081151591826114d1575b50506114b65750565b635274afe760e01b5f526001600160a01b031660045260245ffd5b6114ec9250906020806114e893830101910161157b565b1590565b5f806114ad565b60609061149a565b9061150a601483511015611610565b602082015160601c91601781511061153f57601781015190602b81611536601792602094511015611610565b01015160601c91565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7432345f6f75744f66426f756e647360601b6044820152606490fd5b908160209103126100bb575180151581036100bb5790565b1561159a57565b60405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606490fd5b156115d757565b60405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606490fd5b1561161757565b60405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b6044820152606490fd5b90611678575080511561166957805190602001fd5b630a12f52160e11b5f5260045ffd5b815115806116a9575b611689575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b1561168156fea26469706673582212202d150fef0b2f59a11d3b5cba01b3d2200f156f3add2f416324783e37b74ed48464736f6c634300081c0033000000000000000000000000777777751622c0d3258f214f9df38e35bf45baf30000000000000000000000002626664c2603336e57b271c5c0b26f421741e481000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b