0 txs
0 calls
constructor
constructor(address _poolManager)
functions
msgSender
viewfunction msgSender() view returns (address)
poolManager
viewfunction poolManager() view returns (address)
TOKEN_WORKS
viewfunction TOKEN_WORKS() view returns (address)
_quoteExactInput
nonpayablefunction _quoteExactInput(tuple params) returns (bytes)
_quoteExactInputSingle
nonpayablefunction _quoteExactInputSingle(tuple params) returns (bytes)
_quoteExactOutput
nonpayablefunction _quoteExactOutput(tuple params) returns (bytes)
_quoteExactOutputSingle
nonpayablefunction _quoteExactOutputSingle(tuple params) returns (bytes)
quoteExactInput
nonpayablefunction quoteExactInput(tuple params) returns (uint256 amountOut, uint256 gasEstimate)
quoteExactInputSingle
nonpayablefunction quoteExactInputSingle(tuple params) returns (uint256 amountOut, uint256 gasEstimate)
quoteExactOutput
nonpayablefunction quoteExactOutput(tuple params) returns (uint256 amountIn, uint256 gasEstimate)
quoteExactOutputSingle
nonpayablefunction quoteExactOutputSingle(tuple params) returns (uint256 amountIn, uint256 gasEstimate)
unlockCallback
nonpayablefunction unlockCallback(bytes data) returns (bytes)
events
No events.
errors
NotEnoughLiquidity
error NotEnoughLiquidity(bytes32 poolId)
NotPoolManager
error NotPoolManager()
NotSelf
error NotSelf()
QuoteSwap
error QuoteSwap(uint256 amount)
UnexpectedCallSuccess
error UnexpectedCallSuccess()
UnexpectedRevertBytes
error UnexpectedRevertBytes(bytes revertData)
creation bytecode
0x60a06040523461006257610019610014610133565b610154565b610021610067565b6122ab61018682396080518181816109ad01528181610dd001528181610fb50152818161154801528181611786015281816118990152611d9f01526122ab90f35b61006d565b60405190565b5f80fd5b601f801991011690565b634e487b7160e01b5f52604160045260245ffd5b9061009990610071565b810190811060018060401b038211176100b157604052565b61007b565b906100c96100c2610067565b928361008f565b565b5f80fd5b60018060a01b031690565b6100e3906100cf565b90565b6100ef906100da565b90565b6100fb816100e6565b0361010257565b5f80fd5b90505190610113826100f2565b565b9060208282031261012e5761012b915f01610106565b90565b6100cb565b61015161243180380380610146816100b6565b928339810190610115565b90565b61015d9061015f565b565b6101689061016a565b565b61017390610175565b565b61017e90610180565b565b60805256fe60806040526004361015610013575b610a77565b61001d5f356100dc565b8063147d2af9146100d7578063520f3cc8146100d257806358733073146100cd578063595323f5146100c85780636a36a38c146100c357806391dd7346146100be578063aa2f1501146100b9578063aa9d21cb146100b4578063ca253dc9146100af578063d737d0c7146100aa578063dc4c90d3146100a55763eebe0c6a0361000e57610a5d565b610a28565b610976565b610940565b61090a565b6108f0565b6108d5565b610842565b6107e0565b6106fc565b610579565b6104ef565b60e01c90565b60405190565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b601f801991011690565b634e487b7160e01b5f52604160045260245ffd5b90610120906100f8565b810190811067ffffffffffffffff82111761013a57604052565b610102565b9061015261014b6100e2565b9283610116565b565b5f80fd5b60018060a01b031690565b61016c90610158565b90565b61017881610163565b0361017f57565b5f80fd5b905035906101908261016f565b565b5f80fd5b67ffffffffffffffff81116101ae5760208091020190565b610102565b5f80fd5b62ffffff1690565b6101c8816101b7565b036101cf57565b5f80fd5b905035906101e0826101bf565b565b60020b90565b6101f1816101e2565b036101f857565b5f80fd5b90503590610209826101e8565b565b61021490610163565b90565b6102208161020b565b0361022757565b5f80fd5b9050359061023882610217565b565b5f80fd5b67ffffffffffffffff811161025c576102586020916100f8565b0190565b610102565b90825f939282370152565b9092919261028161027c8261023e565b61013f565b9381855260208501908284011161029d5761029b92610261565b565b61023a565b9080601f830112156102c0578160206102bd9335910161026c565b90565b610192565b91909160a08184031261034d576102dc60a061013f565b926102e9815f8401610183565b5f8501526102fa81602084016101d3565b602085015261030c81604084016101fc565b604085015261031e816060840161022b565b6060850152608082013567ffffffffffffffff81116103485761034192016102a2565b6080830152565b610154565b6100f4565b92919061036661036182610196565b61013f565b93818552602080860192028101918383116103bd5781905b83821061038c575050505050565b813567ffffffffffffffff81116103b8576020916103ad87849387016102c5565b81520191019061037e565b610192565b6101b3565b9080601f830112156103e0578160206103dd93359101610352565b90565b610192565b6fffffffffffffffffffffffffffffffff1690565b610403816103e5565b0361040a57565b5f80fd5b9050359061041b826103fa565b565b91909160608184031261048257610434606061013f565b92610441815f8401610183565b5f85015260208201359167ffffffffffffffff831161047d57610469826104769483016103c2565b602086015260400161040e565b6040830152565b610154565b6100f4565b906020828203126104b7575f82013567ffffffffffffffff81116104b2576104af920161041d565b90565b6100f0565b6100ec565b90565b6104c8906104bc565b9052565b9160206104ed9294936104e660408201965f8301906104bf565b01906104bf565b565b3461052057610507610502366004610487565b610dad565b9061051c6105136100e2565b928392836104cc565b0390f35b6100e8565b5f91031261052f57565b6100ec565b73019817ad02a31b990433542097be29d97613e8cb90565b610554610534565b90565b61056090610163565b9052565b9190610577905f60208501940190610557565b565b346105a957610589366004610525565b6105a561059461054c565b61059c6100e2565b91829182610564565b0390f35b6100e8565b919060a08382031261061e57610617906105c860a061013f565b936105d5825f8301610183565b5f8601526105e68260208301610183565b60208601526105f882604083016101d3565b604086015261060a82606083016101fc565b606086015260800161022b565b6080830152565b6100f4565b151590565b61063181610623565b0361063857565b5f80fd5b9050359061064982610628565b565b919091610100818403126106c257610663608061013f565b92610670815f84016105ae565b5f8501526106818160a0840161063c565b60208501526106938160c0840161040e565b604085015260e082013567ffffffffffffffff81116106bd576106b692016102a2565b6060830152565b610154565b6100f4565b906020828203126106f7575f82013567ffffffffffffffff81116106f2576106ef920161064b565b90565b6100f0565b6100ec565b3461072d5761071461070f3660046106c7565b610f92565b906107296107206100e2565b928392836104cc565b0390f35b6100e8565b5f80fd5b90816101009103126107455790565b610732565b9060208282031261077a575f82013567ffffffffffffffff8111610775576107729201610736565b90565b6100f0565b6100ec565b5190565b60209181520190565b90825f9392825e0152565b6107b66107bf6020936107c4936107ad8161077f565b93848093610783565b9586910161078c565b6100f8565b0190565b6107dd9160208201915f818403910152610797565b90565b346107f5576107f036600461074a565b61129c565b6100e8565b908160609103126108085790565b610732565b9060208282031261083d575f82013567ffffffffffffffff81116108385761083592016107fa565b90565b6100f0565b6100ec565b346108575761085236600461080d565b61152f565b6100e8565b5f80fd5b909182601f8301121561089a5781359167ffffffffffffffff831161089557602001926001830284011161089057565b6101b3565b61085c565b610192565b906020828203126108d0575f82013567ffffffffffffffff81116108cb576108c79201610860565b9091565b6100f0565b6100ec565b346108eb576108e536600461089f565b9061159f565b6100e8565b346109055761090036600461080d565b611756565b6100e8565b3461093b5761092261091d3660046106c7565b611763565b9061093761092e6100e2565b928392836104cc565b0390f35b6100e8565b3461097157610958610953366004610487565b611876565b9061096d6109646100e2565b928392836104cc565b0390f35b6100e8565b346109a657610986366004610525565b6109a261099161198d565b6109996100e2565b91829182610564565b0390f35b6100e8565b7f000000000000000000000000000000000000000000000000000000000000000090565b90565b6109e66109e16109eb92610158565b6109cf565b610158565b90565b6109f7906109d2565b90565b610a03906109ee565b90565b610a0f906109fa565b9052565b9190610a26905f60208501940190610a06565b565b34610a5857610a38366004610525565b610a54610a436109ab565b610a4b6100e2565b91829182610a13565b0390f35b6100e8565b34610a7257610a6d36600461074a565b611a7c565b6100e8565b5f80fd5b5f90565b63ffffffff1690565b63ffffffff60e01b1690565b60e01b90565b610aae610aa9610ab392610a7f565b610a94565b610a88565b90565b610abf906109ee565b90565b610acb90610ab6565b9052565b5190565b60209181520190565b60200190565b610aeb906101b7565b9052565b610af8906101e2565b9052565b610b05906109ee565b90565b610b1190610afc565b9052565b60209181520190565b610b3d610b46602093610b4b93610b348161077f565b93848093610b15565b9586910161078c565b6100f8565b0190565b610bb091608060a0820192610b6a5f8201515f850190610ac2565b610b7c60208201516020850190610ae2565b610b8e60408201516040850190610aef565b610ba060608201516060850190610b08565b0151906080818403910152610b1e565b90565b90610bbd91610b4f565b90565b60200190565b90610bda610bd383610acf565b8092610ad3565b9081610beb60208302840194610adc565b925f915b838310610bfe57505050505090565b90919293946020610c20610c1a83856001950387528951610bb3565b97610bc0565b9301930191939290610bef565b610c36906103e5565b9052565b90610c7690604080610c6b60608401610c595f8801515f870190610ac2565b60208701518582036020870152610bc6565b940151910190610c2d565b90565b610c8e9160208201915f818403910152610c3a565b90565b90929192610ca6610ca18261023e565b61013f565b93818552602085019082840111610cc257610cc09261078c565b565b61023a565b9080601f83011215610ce557816020610ce293519101610c91565b90565b610192565b90602082820312610d1a575f82015167ffffffffffffffff8111610d1557610d129201610cc7565b90565b6100f0565b6100ec565b610d276100e2565b3d5f823e3d90fd5b90610d41610d3c8361023e565b61013f565b918252565b606090565b3d5f14610d6657610d5b3d610d2f565b903d5f602084013e5b565b610d6e610d46565b90610d64565b634e487b7160e01b5f52601160045260245ffd5b610d97610d9d919392936104bc565b926104bc565b8203918211610da857565b610d74565b610db5610a7b565b91610dbe610a7b565b91610e555f60045a93610e4a83610df47f00000000000000000000000000000000000000000000000000000000000000006109fa565b92610e366348c8949191610e27610e0e63aa2f1501610a9a565b91610e176100e2565b9889936020850190815201610c79565b60208201810382520386610116565b610e3e6100e2565b96879586948593610a94565b8352600483016107c8565b03925af19081610ea0575b50155f14610e9a576001610e73575b505b565b91509150610e93610e8d610e85610d4b565b925a90610d88565b91611a89565b915f610e6f565b50610e71565b610ebb903d805f833e610eb38183610116565b810190610cea565b610e60565b90608080610f1893610ed85f8201515f860190610ac2565b610eea60208201516020860190610ac2565b610efc60408201516040860190610ae2565b610f0e60608201516060860190610aef565b0151910190610b08565b565b610f2390610623565b9052565b610f77916060610100820192610f435f8201515f850190610ec0565b610f55602082015160a0850190610f1a565b610f67604082015160c0850190610c2d565b01519060e0818403910152610b1e565b90565b610f8f9160208201915f818403910152610f27565b90565b610f9a610a7b565b91610fa3610a7b565b9161103a5f60045a9361102f83610fd97f00000000000000000000000000000000000000000000000000000000000000006109fa565b9261101b6348c894919161100c610ff363595323f5610a9a565b91610ffc6100e2565b9889936020850190815201610f7a565b60208201810382520386610116565b6110236100e2565b96879586948593610a94565b8352600483016107c8565b03925af19081611085575b50155f1461107f576001611058575b505b565b9150915061107861107261106a610d4b565b925a90610d88565b91611a89565b915f611054565b50611056565b6110a0903d805f833e6110988183610116565b810190610cea565b611045565b6110ae906109ee565b90565b5f0190565b336110d16110cb6110c6306110a5565b610163565b91610163565b03156111f6575f6314e1dbf760e11b8152806110ef600482016110b1565b0390fd5b356110fd81610628565b90565b3561110a816103fa565b90565b61112161111c611126926103e5565b6109cf565b6104bc565b90565b90565b61114061113b611145926104bc565b6109cf565b611129565b90565b5f80fd5b5f80fd5b5f80fd5b903590600160200381360303821215611196570180359067ffffffffffffffff82116111915760200191600182023603831361118c57565b611150565b61114c565b611148565b6111a69036906105ae565b90565b600f0b90565b6111b8906111a9565b6f7fffffffffffffffffffffffffffffff1981146111d5575f0390565b610d74565b6111ee6111e96111f3926111a9565b6109cf565b6103e5565b90565b90611279915061125460a061124d6112485f85016112158487016110f3565b61123161122c61122760c08a01611100565b61110d565b61112c565b906112408860e0810190611154565b94909361119b565b611d8c565b92016110f3565b5f1461127e5761126e61126961127392611f54565b6111af565b6111da565b5b61110d565b611f78565b61129261128d61129792611f45565b6111af565b6111da565b611274565b6112a4610d46565b6110b6565b336112c46112be6112b9306110a5565b610163565b91610163565b0315611419575f6314e1dbf760e11b8152806112e2600482016110b1565b0390fd5b903590600160200381360303821215611328570180359067ffffffffffffffff82116113235760200191602082023603831361131e57565b611150565b61114c565b611148565b5090565b5f90565b3561133f8161016f565b90565b3690565b90565b61135d61135861136292611346565b6109cf565b6104bc565b90565b600161137191016104bc565b90565b634e487b7160e01b5f52603260045260245ffd5b903590600160a0038136030382121561139f570190565b611148565b908210156113be5760206113bb9202810190611388565b90565b611374565b6113d76113d26113dc926103e5565b6109cf565b6111a9565b90565b6113f36113ee6113f8926111a9565b6109cf565b611129565b90565b61140490611129565b600160ff1b8114611414575f0390565b610d74565b5061143161142b8260208101906112e6565b9061132d565b611439611331565b5061144660408301611100565b6114515f8401611335565b9261145a611342565b506114645f611349565b915b82611479611473866104bc565b916104bc565b1015611521576114fe5f611504926114de6114ac6114a561149e8860208101906112e6565b8a916113a4565b998a612091565b92906114c86114c36114be86946113c3565b6113df565b6113fb565b6114d68c6080810190611154565b939092611d8c565b90821461150b576114f16114f691611f45565b6111da565b5b9601611335565b92611365565b9193611466565b61151761151c91611f54565b6111da565b6114f7565b61152a9061110d565b611f78565b611537610d46565b6112a9565b3361157761157161156c7f00000000000000000000000000000000000000000000000000000000000000006109fa565b610163565b91610163565b0315611599575f63570c108560e11b815280611595600482016110b1565b0390fd5b50612189565b6115a7610d46565b61153c565b336115c76115c16115bc306110a5565b610163565b91610163565b0315611624575f6314e1dbf760e11b8152806115e5600482016110b1565b0390fd5b6115f2906104bc565b5f8114611600576001900390565b610d74565b90565b61161c61161761162192611605565b6109cf565b6104bc565b90565b5061163c6116368260208101906112e6565b9061132d565b90611645611331565b5061165260408201611100565b61165d5f8301611335565b92611666611342565b50905b8161167c6116765f611349565b916104bc565b11156117485761171d5f611723926116f56116c26116bb6116a18960208101906112e6565b6116b58a6116af6001611608565b90610d88565b916113a4565b9889612091565b92906116df6116da6116d48615610623565b9361110d565b61112c565b6116ed8b6080810190611154565b939092611d8c565b90821461172a5761171061170b61171592611f45565b6111af565b6111da565b5b9501611335565b916115e9565b9092611669565b61173e61173961174392611f54565b6111af565b6111da565b611716565b6117519061110d565b611f78565b61175e610d46565b6115ac565b61176b610a7b565b91611774610a7b565b9161180b5f60045a93611800836117aa7f00000000000000000000000000000000000000000000000000000000000000006109fa565b926117ec6348c89491916117dd6117c463eebe0c6a610a9a565b916117cd6100e2565b9889936020850190815201610f7a565b60208201810382520386610116565b6117f46100e2565b96879586948593610a94565b8352600483016107c8565b03925af19081611856575b50155f14611850576001611829575b505b565b9150915061184961184361183b610d4b565b925a90610d88565b91611a89565b915f611825565b50611827565b611871903d805f833e6118698183610116565b810190610cea565b611816565b61187e610a7b565b91611887610a7b565b9161191e5f60045a93611913836118bd7f00000000000000000000000000000000000000000000000000000000000000006109fa565b926118ff6348c89491916118f06118d7636a36a38c610a9a565b916118e06100e2565b9889936020850190815201610c79565b60208201810382520386610116565b6119076100e2565b96879586948593610a94565b8352600483016107c8565b03925af19081611969575b50155f1461196357600161193c575b505b565b9150915061195c61195661194e610d4b565b925a90610d88565b91611a89565b915f611938565b5061193a565b611984903d805f833e61197c8183610116565b810190610cea565b611929565b5f90565b611995611989565b5061199e610534565b90565b336119bc6119b66119b1306110a5565b610163565b91610163565b03156119de575f6314e1dbf760e11b8152806119da600482016110b1565b0390fd5b90611a619150611a4460a0611a3d611a385f85016119fd8487016110f3565b611a21611a1c611a17611a1260c08b01611100565b6113c3565b6113df565b6113fb565b90611a308860e0810190611154565b94909361119b565b611d8c565b92016110f3565b5f14611a6657611a56611a5b91611f45565b6111da565b5b61110d565b611f78565b611a72611a7791611f54565b6111da565b611a5c565b611a84610d46565b6119a1565b611a91610a7b565b50611a9b816121e8565b611ab4611aae633b2f660160e21b610a88565b91610a88565b03611ac0576024015190565b611ae290611acc6100e2565b9182916306190b2b60e41b8352600483016107c8565b0390fd5b90565b611afd611af8611b0292611ae6565b6109cf565b610158565b90565b611b2273fffd8963efd1fc6a506488495d951d5263988d26611ae9565b90565b611b39611b34611b3e92611605565b6109cf565b610158565b90565b611b4d611b5391610158565b91610158565b90039060018060a01b038211611b6557565b610d74565b90565b611b81611b7c611b8692611b6a565b6109cf565b610158565b90565b611b976401000276a3611b6d565b90565b611ba6611bac91610158565b91610158565b019060018060a01b038211611bbd57565b610d74565b611bcc606061013f565b90565b90611bd990610623565b9052565b90611be790611129565b9052565b90611bf590610158565b9052565b611c0281611129565b03611c0957565b5f80fd5b90505190611c1a82611bf9565b565b90602082820312611c3557611c32915f01611c0d565b90565b6100ec565b90608080611c9293611c525f8201515f860190610ac2565b611c6460208201516020860190610ac2565b611c7660408201516040860190610ae2565b611c8860608201516060860190610aef565b0151910190610b08565b565b611c9d90611129565b9052565b611caa90610158565b9052565b90604080611ce293611cc65f8201515f860190610f1a565b611cd860208201516020860190611c94565b0151910190611ca1565b565b9190611cfe81611cf781611d0395610783565b8095610261565b6100f8565b0190565b611d2e611d3c9593949294611d246101208401965f850190611c3a565b60a0830190611cae565b610100818503910152611ce4565b90565b611d53611d4e611d5892611346565b6109cf565b611129565b90565b90565b611d6790611d5b565b90565b611d7390611d5e565b9052565b9190611d8a905f60208501940190611d6a565b565b9294939094611d99611331565b50611dc37f00000000000000000000000000000000000000000000000000000000000000006109fa565b9063f3cd914c858892868a5f14611f2057611def611ddf611b89565b611de96001611b25565b90611b9a565b905b611df9611bc2565b955f870190611e0791611bcf565b6020860190611e1591611bdd565b6040850190611e2391611beb565b94611e2c6100e2565b958694611e398695610a94565b85526004850193611e4994611d07565b03815a6020945f91f1908115611f1b575f91611eed575b5093611e87611e8183611e7b611e755f611d3f565b91611129565b12610623565b91610623565b145f14611ed957611eaa611ea4611e9d86611f54565b5b92611129565b916113df565b03611eb25750565b611ebe611ed5916121fd565b5f918291631e97b5cd60e21b835260048301611d77565b0390fd5b611eaa611ea4611ee886611f45565b611e9e565b611f0e915060203d8111611f14575b611f068183610116565b810190611c1c565b5f611e60565b503d611efc565b610d1f565b611f3b611f2b611b05565b611f356001611b25565b90611b41565b90611df1565b5f90565b611f4d611f41565b50600f0b90565b611f5c611f41565b5060801d90565b9190611f76905f602085019401906104bf565b565b611f93905f918291633b2f660160e21b835260048301611f63565b0390fd5b611fa160a061013f565b90565b5f90565b5f90565b5f90565b5f90565b611fbc611f97565b9060208080808086611fcc611fa4565b815201611fd7611fa4565b815201611fe2611fa8565b815201611fed611fac565b815201611ff8611fb0565b81525050565b612006611fb4565b90565b5f90565b61201c61202291939293610ab6565b92610ab6565b90565b3561202f816101bf565b90565b3561203c816101e8565b90565b3561204981610217565b90565b61205660a061013f565b90565b9061206390610163565b9052565b90612071906101b7565b9052565b9061207f906101e2565b9052565b9061208d9061020b565b9052565b9061209a611ffe565b506120a3612009565b506120af5f8301611335565b916120bb82849061220d565b5f1461213f5761213c906121336120d6845b9594869061223d565b94939161212a6120e860208301612025565b61212161210360606120fc60408701612032565b950161203f565b9561211861210f61204c565b995f8b01612059565b60208901612059565b60408701612067565b60608501612075565b60808301612083565b91565b61213c906121336121546120d695859061200d565b95906120cd565b905090565b909182612170816121779361215b565b8093610261565b0190565b909161218692612160565b90565b5f91908291612196610d46565b50826121a1306110a5565b926121b66121ad6100e2565b9384928361217b565b03925af16121c2610d4b565b901561226d575f63703a952d60e11b8152806121e0600482016110b1565b0390fd5b5f90565b6020906121f36121e4565b50015190565b5f90565b60a0906122086121f9565b502090565b61223361222e61222861223993612222612009565b50610ab6565b93610ab6565b610163565b91610163565b1090565b61226361225e61225861226993612252612009565b50610ab6565b93610ab6565b610163565b91610163565b1490565b602081519101fdfea2646970667358221220a0f5a8ec8abf2675ab072e755400043bb9ede0db8d2414f32e2ff44762d859db64736f6c634300081a0033000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b