0 txs
1 call
constructor
No constructor.
functions
buildBestSwap
viewfunction buildBestSwap(address to, bool exactOut, address tokenIn, address tokenOut, uint256 swapAmount, uint256 slippageBps, uint256 deadline) view returns (tuple best, bytes callData, uint256 amountLimit, uint256 msgValue)
buildBestSwapCompressed
viewfunction buildBestSwapCompressed(address to, bool exactOut, address tokenIn, address tokenOut, uint256 swapAmount, uint256 slippageBps, uint256 deadline) view returns (tuple best, bytes callData, bytes callDataCompressed, uint256 amountLimit, uint256 msgValue)
buildBestSwapViaETHMulticall
viewfunction buildBestSwapViaETHMulticall(address to, address refundTo, bool exactOut, address tokenIn, address tokenOut, uint256 swapAmount, uint256 slippageBps, uint256 deadline) view returns (tuple a, tuple b, bytes[] calls, bytes multicall, uint256 msgValue)
buildBestSwapViaETHMulticallCompressed
viewfunction buildBestSwapViaETHMulticallCompressed(address to, address refundTo, bool exactOut, address tokenIn, address tokenOut, uint256 swapAmount, uint256 slippageBps, uint256 deadline) view returns (tuple a, tuple b, bytes[] calls, bytes multicall, bytes multicallCompressed, uint256 msgValue)
cdCompress
purefunction cdCompress(bytes data) pure returns (bytes result)
getQuotes
viewfunction getQuotes(bool exactOut, address tokenIn, address tokenOut, uint256 swapAmount) view returns (tuple best, tuple[] quotes)
limit
viewfunction limit(bool exactOut, uint256 quoted, uint256 bps) view returns (uint256)
quoteAero
viewfunction quoteAero(bool exactOut, address tokenIn, address tokenOut, uint256 swapAmount) view returns (uint256 amountIn, uint256 amountOut, uint256 feeBpsUsed)
quoteAeroCL
viewfunction quoteAeroCL(bool exactOut, address tokenIn, address tokenOut, int24 spacing, uint256 swapAmount) view returns (uint256 amountIn, uint256 amountOut)
quoteV2
viewfunction quoteV2(bool exactOut, address tokenIn, address tokenOut, uint256 swapAmount) view returns (uint256 amountIn, uint256 amountOut)
quoteV3
viewfunction quoteV3(bool exactOut, address tokenIn, address tokenOut, uint24 fee, uint256 swapAmount) view returns (uint256 amountIn, uint256 amountOut)
quoteV4
viewfunction quoteV4(bool exactOut, address tokenIn, address tokenOut, uint24 fee, int24 tickSpacing, address hooks, uint256 swapAmount) view returns (uint256 amountIn, uint256 amountOut)
quoteZAMM
viewfunction quoteZAMM(bool exactOut, uint256 feeOrHook, address tokenIn, address tokenOut, uint256 idIn, uint256 idOut, uint256 swapAmount) view returns (uint256 amountIn, uint256 amountOut)
ZQUOTER_BASE
viewfunction ZQUOTER_BASE() view returns (address)
events
No events.
errors
NoRoute
error NoRoute()
UnsupportedAMM
error UnsupportedAMM()
ZeroAmount
error ZeroAmount()
creation bytecode
0x60808060405234601557612521908161001a8239f35b5f80fdfe610180806040526004361015610013575f80fd5b5f3560e01c908163110688831461094d575080632063daeb1461092657806345bc5b9d146108415780634e69e1181461079957806361d65dee146106bf578063732ef91a1461065d57806383a09505146105d1578063ac67a76e1461052b578063b8e251221461048c578063c0bb84b3146103a9578063d2f0267b146102fe578063e1fd10bc1461018c578063e453166e1461010f5763e7798987146100b7575f80fd5b3461010b576100eb6100fc6100da6100ce36610a74565b959490949391936123f5565b916040949193945195868096610ad7565b60e0608086015260e0850190610b18565b9160a084015260c08301520390f35b5f80fd5b3461010b5761015461018161013561012636610bb9565b969590959491949392936110d6565b92909192916101726080519461015e60a0519660405198898099610ad7565b6080880190610ad7565b610160610100870152610160860190610c31565b90848203610120860152610b18565b906101408301520390f35b3461010b576101c85f61019e36610a2d565b9094919291906101ac610cb3565b5060405163387f442f60e21b8152958694859460048601610c89565b03815f5160206124cc5f395f51905f525afa80156102f3575f915f91610248575b50906040519182916101ff8360a0810192610ad7565b60a060808401528151809152602060c084019201905f5b818110610224575050500390f35b91935091602060808261023a6001948851610ad7565b019401910191849392610216565b9150503d805f833e61025a8183610b7d565b81019060a08183031261010b576102718282610cd7565b906080810151906001600160401b03821161010b570182601f8201121561010b57805161029d81611011565b936102ab6040519586610b7d565b81855260208086019260071b8401019281841161010b57602001915b8383106102d9575050505090826101e9565b60206080916102e88486610cd7565b8152019201916102c7565b6040513d5f823e3d90fd5b3461010b5761036261039e61033661031536610bb9565b96610327969196959295949394610cb3565b50610330610cb3565b506110d6565b929091929161038f6080519161038060a0519661036c61035584610e43565b956040519a8b809b610ad7565b60808a0190610ad7565b610180610100890152610180880190610c31565b90868203610120880152610b18565b90848203610140860152610b18565b906101608301520390f35b3461010b5760e036600319011261010b576103c26109f2565b6103ca610a17565b6064356001600160a01b038116919082900361010b576040519263c0bb84b360e01b845215156004840152602435602484015260018060a01b031660448301526064820152608435608482015260a43560a482015260c43560c482015260408160e4815f5160206124cc5f395f51905f525afa9081156102f3576040915f915f9161045d575b5082519182526020820152f35b905061047f9150823d8411610485575b6104778183610b7d565b810190610dde565b83610450565b503d61046d565b3461010b57606036600319011261010b576104a56109f2565b60405190635c71289160e11b825215156004820152602435602482015260443560448201526020816064815f5160206124cc5f395f51905f525afa80156102f3575f906104f8575b602090604051908152f35b506020813d602011610523575b8161051260209383610b7d565b8101031261010b57602090516104ed565b3d9150610505565b3461010b5760a036600319011261010b576105446109f2565b62ffffff610550610a01565b610558610a17565b610560610b3c565b60408051635633d3b760e11b815295151560048701526001600160a01b0393841660248701529190921660448501529116606483015260848035908301528160a4815f5160206124cc5f395f51905f525afa9081156102f3576040915f915f9161045d575082519182526020820152f35b3461010b57602036600319011261010b576004356001600160401b03811161010b573660238201121561010b5780600401359061060d82610b9e565b61061a6040519182610b7d565b828152366024848401011161010b575f60208461065995602461064596018386013783010152610e43565b604051918291602083526020830190610b18565b0390f35b3461010b5761068e604061067036610a2d565b84516339977c8d60e11b815295869485949193919060048601610c89565b03815f5160206124cc5f395f51905f525afa9081156102f3576040915f915f9161045d575082519182526020820152f35b3461010b5760e036600319011261010b576106d86109f2565b6106e0610a01565b6106e8610a17565b906106f1610b3c565b90608435918260020b80930361010b5760a4356001600160a01b038116949085900361010b57604080516330eb2ef760e11b815296151560048801526001600160a01b0393841660248801529216604486015262ffffff166064850152608484019190915260a483019190915260c48035908301528160e4815f5160206124cc5f395f51905f525afa9081156102f3576040915f915f9161045d575082519182526020820152f35b3461010b5760a036600319011261010b576107b26109f2565b6107ba610a01565b6107c2610a17565b606435918260020b80930361010b57604080516309cd3c2360e31b815294151560048601526001600160a01b03918216602486015291166044840152606483019190915260848035908301528160a4815f5160206124cc5f395f51905f525afa9081156102f3576040915f915f9161045d575082519182526020820152f35b3461010b576108815f61085336610a74565b92610865989498969596929192610cb3565b5060405163e779898760e01b8152988997889760048901610d9c565b03815f5160206124cc5f395f51905f525afa80156102f3576108c7915f915f5f925f926108f7575b50806108da6108ba6108e893610e43565b9160405197888098610ad7565b6101006080880152610100870190610b18565b9085820360a0870152610b18565b9160c084015260e08301520390f35b9150506108e8925061091b91503d805f833e6109138183610b7d565b810190610d1e565b9293909291906108a9565b3461010b575f36600319011261010b5760206040515f5160206124cc5f395f51905f528152f35b3461010b576060818061097961096236610a2d565b631106888360e01b86529290919060048601610c89565b03815f5160206124cc5f395f51905f525afa80156102f3575f905f5f916109b1575b6060935060405192835260208301526040820152f35b5050506060813d6060116109ea575b816109cd60609383610b7d565b8101031261010b578051602082015160409092015160609261099b565b3d91506109c0565b60043590811515820361010b57565b602435906001600160a01b038216820361010b57565b604435906001600160a01b038216820361010b57565b608090600319011261010b57600435801515810361010b57906024356001600160a01b038116810361010b57906044356001600160a01b038116810361010b579060643590565b60e090600319011261010b576004356001600160a01b038116810361010b5790602435801515810361010b57906044356001600160a01b038116810361010b57906064356001600160a01b038116810361010b57906084359060a4359060c43590565b80516006811015610b04576060918291845260208101516020850152604081015160408501520151910152565b634e487b7160e01b5f52602160045260245ffd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6064359062ffffff8216820361010b57565b608081019081106001600160401b03821117610b6957604052565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b03821117610b6957604052565b6001600160401b038111610b6957601f01601f191660200190565b61010090600319011261010b576004356001600160a01b038116810361010b57906024356001600160a01b038116810361010b5790604435801515810361010b57906064356001600160a01b038116810361010b57906084356001600160a01b038116810361010b579060a4359060c4359060e43590565b9080602083519182815201916020808360051b8301019401925f915b838310610c5c57505050505090565b9091929394602080610c7a600193601f198682030187528951610b18565b97019301930191939290610c4d565b90151581526001600160a01b03918216602082015291166040820152606081019190915260800190565b60405190610cc082610b4e565b5f6060838281528260208201528260408201520152565b919082608091031261010b57604051610cef81610b4e565b80928051600681101561010b576060918291845260208101516020850152604081015160408501520151910152565b91909160e08184031261010b57610d358382610cd7565b9260808201516001600160401b03811161010b57820181601f8201121561010b57805190610d6282610b9e565b92610d706040519485610b7d565b8284526020838301011161010b57815f9260208093018386015e830101529160c060a083015192015190565b6001600160a01b0391821681529115156020830152918216604082015291166060820152608081019190915260a081019190915260c081019190915260e00190565b919082604091031261010b576020825192015190565b806fffffffffffffffffffffffffffffffff1060071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1790811c60ff109060031c17601f1890565b90604051918051810160208401915b818103610e78575050600483018051199052828103601f190183525f8152602001604052565b6001019160ff8351168015610fa55760ff8114610f5a57815360017f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f60208501518083850152801982808216011790828082160117161719806f8421084210842108cc6318c6db6d54be1060071b81811c6001600160401b031060061b177fc0c8c8d0c8e8d0d8c8e8e0e8d0d8e0f0c8d0e8d0e0e0d8f0d0d0e0d8f8f8f8f86f8421084210842108cc6318c6db6d54be83831c66020408102040810260181a1c601f161a1860031c901501848403908181109082180218809201019201610e52565b5060029060806020808601511980610f95575b5085850390818110908218021880601f10601f82180218809501941760f01b81520191610e52565b610f9f9150610df4565b5f610f6d565b925b60208101518015610fdd5790610fbf60029392610df4565b81850390818110908218021880910194015b60f01b81520191610e52565b5092601f8484038060201060208218021882607f039081811090821802188080960192019411610fa7579290600291610fd1565b6001600160401b038111610b695760051b60200190565b9061103282611011565b61103f6040519182610b7d565b8281528092611050601f1991611011565b01905f5b82811061106057505050565b806060602080938501015201611054565b80511561107e5760200190565b634e487b7160e01b5f52603260045260245ffd5b80516001101561107e5760400190565b80516002101561107e5760600190565b80516003101561107e5760800190565b805182101561107e5760209160051b010190565b91929497959690939760c052610100525f60a0525f6080526110f6610cb3565b60a052611101610cb3565b60805260c051156123e6576001600160a01b0384161592831584816123d5575b80156123bc575b80156123a3575b612196575082611f0157611141610cb3565b5060405163387f442f60e21b815260c0515f908290819061116f906006602160991b018b8660048601610c89565b03815f5160206124cc5f395f51905f525afa80156102f3575f905f90611e32575b60609250508060a05201805115611d2a57612710905188820302049485975f876111b8610cb3565b5060405161014081815263387f442f60e21b909152519081906111e8908e6006602160991b018660048601610c89565b03610140515f5160206124cc5f395f51905f525afa9081156102f3575f915f90611d39575b5081608052606082015115611d2a5760606127109201519082030204925b6e404fecaf36e6184245475ee12548358580611d00575b611b4f575b8515611b4757895b60a05151916006831015610b0457899261188157604051630dc149f360e31b60208201526101005190936112aa93859361129c939291906006602160991b01908a908e9060248901610d9c565b03601f198101835282610b7d565b995b851561187a5760c051915b60805151956006871015610b0457879661159b57604051630dc149f360e31b602082015261010051909461130294869461129c949291906006602160991b01908c9060248901610d9c565b915b83611583575b83156115375760405161131e602082610b7d565b5f8152935b156114f157604051611336602082610b7d565b5f8152915b6001600160a01b0381166006602160991b01146114d8576040516332c066e160e21b60208201526001600160a01b0391821660248201525f604482018190526064820152911660848201526113938160a4810161129c565b925b8051156114cd576113c860ff60015b8451156114c6578160015b8851156114be57816001935b6002011601160116611028565b996113d28b611071565b526113dc8a611071565b506002926113e98b611092565b526113f38a611092565b5080516114a0575b50805161147f575b508151611462575b5050604051631592ca1b60e31b6020820152602060248201526114358161129c604482018a610c31565b94811561145857915b15611451571561144c575090565b905090565b5050505f90565b5060c0519161143e565b61147791611470828a6110c2565b52876110c2565b505f8061140b565b600182019161149991611492828c6110c2565b52896110c2565b505f611403565b600392506114ad8a6110a2565b526114b7896110a2565b505f6113fb565b815f936113bb565b815f6113af565b6113c860ff5f6113a4565b50506040516114e8602082610b7d565b5f815292611395565b6040516332c066e160e21b60208201525f602482018190526044820181905260648201526001600160a01b03821660848201526115318160a4810161129c565b9161133b565b6040516332c066e160e21b60208201526006602160991b0160248201525f6044820181905260648201526001600160a01b038216608482015261157d8160a4810161129c565b93611323565b9250608051516006811015610b04576002149261130a565b9550909160805151956006871015610b045787966001036115fb576115f5929161129c91600260206080510151111591604051968795638b64ad5560e01b602088015261010051946006602160991b019160248901610d9c565b91611304565b60805151965091926006871015610b04578796600203611696576080516020908101516040516313ab6b5f60e31b928101929092526001600160a01b039586166024830152881515604483015260648201526006602160991b016084820152931660a48401525f60c4840181905260e4840152610104830152610124820152610100516101448083019190915281526115f561016482610b7d565b6080515196506006871015610b045787966003036117295760805160209081015160405163afeae12b60e01b928101929092526001600160a01b0395861660248301528815156044830152606490810262ffffff16908201526006602160991b016084820152931660a484015260c483015260e4820152610100516101048083019190915281526115f561012482610b7d565b6080515196506006871015610b045787966004036117d3576020608051015162ffffff606461175b61ffff8416612489565b6040516310e06d6960e11b60208201526001600160a01b0398891660248201528b151560448201529390910291909116606483015260020b60848201526006602160991b0160a4820152931660c484015260e4830152610104820152610100516101248083019190915281526115f561014482610b7d565b9550608051516006811015610b045760050361186b5786956117fe61ffff6020608051015116612489565b60405163cb924a0960e01b60208201526001600160a01b039586166024820152881515604482015260029190910b60648201526006602160991b016084820152931660a484015260c483015260e4820152610100516101048083019190915281526115f561012482610b7d565b633953ec5d60e21b5f5260045ffd5b89916112b7565b90915060a051516006811015610b04576001036118dc576118d69061129c6002602060a051015111158b604051958694638b64ad5560e01b60208701528961010051946006602160991b019260248901610d9c565b996112ac565b9060a051516006811015610b04576002036119755760a0516020908101516040516313ab6b5f60e31b928101929092526001600160a01b0393841660248301528815156044830152606482015291841660848301526006602160991b0160a48301525f60c4830181905260e48301526101048201526101248101889052610100516101448083019190915281526118d661016482610b7d565b60a051516006811015610b0457600303611a075760a05160209081015160405163afeae12b60e01b928101929092526001600160a01b0393841660248301528815156044830152606490810262ffffff169082015291841660848301526006602160991b0160a483015260c482015260e48101889052610100516101048083019190915281526118d661012482610b7d565b60a051516006811015610b0457600403611ab057602060a051015162ffffff6064611a3561ffff8416612489565b6040516310e06d6960e11b60208201526001600160a01b0396871660248201528b151560448201529390910291909116606483015260020b608482015291841660a48301526006602160991b0160c483015260e48201526101048101889052610100516101248083019190915281526118d661014482610b7d565b60a051516006811015610b045760050361186b57611ad761ffff602060a051015116612489565b60405163cb924a0960e01b60208201526001600160a01b039384166024820152881515604482015260029190910b606482015291841660848301526006602160991b0160a483015260c482015260e48101889052610100516101048083019190915281526118d661012482610b7d565b60c05161124f565b50608051516006811015610b0457611c2257611b6a8a612457565b506040519060208201926001600160601b03199060601b1683526001600160601b03199060601b16603482015260288152611ba6604882610b7d565b51902060405190602082019060ff60f81b8252734484ee0af200b9ffa34c9a1db75c099632f0c76360611b602184015260358301527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f605583015260558252611c10607583610b7d565b905190206001600160a01b0316611247565b605560436002602060805101511115611c3a8d612457565b5090916040519160208301936001600160601b03199060601b1684526001600160601b03199060601b16603483015260f81b604882015260298152611c80604982610b7d565b5190206040519073420dd381b31aef6683db6b902084cb0ffece40da60388301526f5af43d82803e903d91602b57fd5bf3ff602483015273a4e46b4f701c62e14df11b48dce76a7d793cd6d76014830152733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c82012060788201520120611247565b50608051516006811015610b045715806112425750608051516006811015610b0457600114611242565b636586e12960e01b5f5260045ffd5b5090503d805f610140513e611d518161014051610b7d565b60a061014051826101405101031261010b57611d7581610140510161014051610cd7565b906080610140510151906001600160401b03821161010b57806101405101601f83610140510101121561010b578161014051015190611db382611011565b6101205260405160e052611dcc6101205160e051610b7d565b60e051508160e0515260208060e051019260071b846101405101010192816101405101841161010b576101405101602001915b838310611e1357505050509060e05161120d565b6020608091611e2784610140510186610cd7565b815201920191611dff565b50503d805f833e611e438183610b7d565b60a082828101031261010b57611e5b81830183610cd7565b916080810151916001600160401b03831161010b57808201601f84840101121561010b578282015191611ea0611e9084611011565b6040516101605261016051610b7d565b610160515082610160515260208061016051019360071b858301010193828201851161010b578101602001925b848410611ee557505050505060609061016051611190565b6020608091611ef685850187610cd7565b815201930192611ecd565b90959390611f0d610cb3565b506040519163387f442f60e21b83525f8380611f3960c0518d6006602160991b01600160048601610c89565b03815f5160206124cc5f395f51905f525afa80156102f3575f935f916120eb575b50508260805260408301805115611d2a575161271061270f88820183020104809480516006811015610b0457159081156120d6575b50156120ce5750955b611fa0610cb3565b5060405163387f442f60e21b81525f8180611fc98b6006602160991b0188600160048601610c89565b03815f5160206124cc5f395f51905f525afa80156102f3575f915f91612013575b50508060a052604081015115611d2a5761271091604061270f920151908301020104959761122b565b9150503d805f833e6120258183610b7d565b60a082828101031261010b5761203d81830183610cd7565b906080830151906001600160401b03821161010b57808401601f83860101121561010b57818401519061206f82611011565b9461207d6040519687610b7d565b82865260208087019360071b858301010193828201851161010b578101602001925b8484106120b2575050505050905f611fea565b60206080916120c385850187610cd7565b81520193019261209f565b905095611f98565b9050516006811015610b04576001145f611f8f565b9350503d805f853e6120fd8185610b7d565b83019260a08185031261010b576121148482610cd7565b906080810151906001600160401b03821161010b570184601f8201121561010b57805161214081611011565b9561214e6040519788610b7d565b81875260208088019260071b8401019281841161010b57602001915b83831061217c5750505050925f611f5a565b602060809161218b8486610cd7565b81520192019161216a565b94976121b094508861010098939298519460c051936123f5565b95929691938080925090612389575b1561237e576121d560ff60015b60030116611028565b936121df85611071565b526121e984611071565b506040516332c066e160e21b60208201526006602160991b0160248201525f6044820181905260648201526001600160a01b03841660848201526122308160a4810161129c565b61223985611092565b5261224384611092565b506040516332c066e160e21b60208201525f602482018190526044820181905260648201526001600160a01b03841660848201526122848160a4810161129c565b61228d856110a2565b52612297846110a2565b5080612364575b612308575b50506040516122b181610b4e565b5f81525f60208201525f60408201525f606082015260405194631592ca1b60e31b6020870152602060248701526122fd866122ef6044820186610c31565b03601f198101885287610b7d565b60a052608052929190565b6040516332c066e160e21b60208201526001600160a01b0391821660248201525f604482018190526064820152911660848201526123498160a4810161129c565b612352826110b2565b5261235c816110b2565b505f806122a3565b506001600160a01b0381166006602160991b01141561229e565b6121d560ff5f6121cc565b506001600160a01b0382166006602160991b0114156121bf565b506001600160a01b0389166006602160991b011461112f565b506001600160a01b0386166006602160991b0114611128565b506001600160a01b03891615611121565b631f2a200560e01b5f5260045ffd5b9294612408929691945f96610865610cb3565b03815f5160206124cc5f395f51905f525afa80156102f3575f925f935f935f93612434575b5093929190565b925050925061244d91503d805f833e6109138183610b7d565b919390925f61242d565b6001600160a01b0381166006602160991b0110801561247b576006602160991b0192565b90916006602160991b019190565b61ffff16600181146124c557600581146124bf57601e81146124b957606481146124b35760020b90565b5060c890565b50603c90565b50600a90565b5060019056fe000000000000000000000000a8cc0177598531ec7d223e9689fdd50e120b946ca2646970667358221220e7a0793ffad3803eb81d1cbef58eb0f459d1148ec2b5738ee55031dfb49d8c0f64736f6c634300081e0033