0 txs
1 call
constructor
constructor(address _factory, address _poolDeployer, address _tickLens)
functions
quote
viewfunction quote(address poolAddress, bool zeroForOne, int256 amountSpecified, uint160 sqrtPriceLimitX96) view returns (int256 amount0, int256 amount1)
quoteExactInput
viewfunction quoteExactInput(bytes path, uint256 amountIn) view returns (uint256 amountOut)
quoteExactInputSingle
viewfunction quoteExactInputSingle(tuple params) view returns (uint256 amountOut)
events
No events.
errors
No errors.
creation bytecode
0x60e06040523480156200001157600080fd5b506040516200297a3803806200297a833981016040819052620000349162000077565b6001600160601b0319606091821b811660805292811b831660a0521b1660c052620000c0565b80516001600160a01b03811681146200007257600080fd5b919050565b6000806000606084860312156200008c578283fd5b62000097846200005a565b9250620000a7602085016200005a565b9150620000b7604085016200005a565b90509250925092565b60805160601c60a05160601c60c05160601c612889620000f1600039806110635250508061138d52506128896000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806390405d3614610046578063cdca175314610070578063e94764c414610090575b600080fd5b610059610054366004612443565b6100a3565b6040516100679291906127d7565b60405180910390f35b61008361007e366004612553565b6103f3565b604051610067919061281c565b61008361009e366004612619565b6104d9565b6000808361011257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f616d6f756e745370656369666965642063616e6e6f74206265207a65726f0000604482015290519081900360640190fd5b60008085139080610125898989896105f7565b92509250505b80511580159061016b57508573ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff1614155b156103bd57610178612363565b604082015173ffffffffffffffffffffffffffffffffffffffff16815260608201516101a6908b908b6106a0565b73ffffffffffffffffffffffffffffffffffffffff1660608401819052901515604080850191909152600292830b90920b602084015290830151610201916101f0908c908b610733565b6080850151855161ffff88166107b4565b60c085015260a0840152608083015273ffffffffffffffffffffffffffffffffffffffff1660408301528315610270576102448160c001518260800151016109da565b825103825260a08101516102669061025b906109da565b602084015190610a0c565b60208301526102ab565b61027d8160a001516109da565b825101825260c081015160808201516102a59161029a91016109da565b602084015190610a22565b60208301525b806060015173ffffffffffffffffffffffffffffffffffffffff16826040015173ffffffffffffffffffffffffffffffffffffffff161415610362578060400151156103395760006103018b8360200151610a38565b505050509150508915610312576000035b610320836080015182610adf565b6fffffffffffffffffffffffffffffffff166080840152505b88610348578060200151610351565b60018160200151035b600290810b900b60608301526103b7565b806000015173ffffffffffffffffffffffffffffffffffffffff16826040015173ffffffffffffffffffffffffffffffffffffffff16146103b7576103aa8260400151610c23565b600290810b900b60608301525b5061012b565b821515881515146103d6576020810151815188036103e3565b8060000151870381602001515b909a909950975050505050505050565b6000805b600080600061040587610fef565b92509250925060006104956040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001898152602001600073ffffffffffffffffffffffffffffffffffffffff168152506104d9565b965050600190930192856104a88861101f565b156104bd576104b688611027565b97506104ca565b86955050505050506104d3565b505050506103f7565b92915050565b60208101518151604083015160009273ffffffffffffffffffffffffffffffffffffffff808216908416109284926105139290919061105c565b905073ffffffffffffffffffffffffffffffffffffffff811661056b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610562906127e5565b60405180910390fd5b6000806105d4838561058089606001516109da565b60808a015173ffffffffffffffffffffffffffffffffffffffff16156105aa578960800151610054565b876105c95773fffd8963efd1fc6a506488495d951d5263988d25610054565b6401000276a46100a3565b91509150836105e657816000036105eb565b806000035b9450505050505b919050565b60008061060261239f565b600061060d88611092565b905061061e8786836000015161114d565b61062788611286565b9350806040015192506040518060a0016040528087815260200160008152602001826000015173ffffffffffffffffffffffffffffffffffffffff168152602001826020015160020b815260200161067e8a611306565b6fffffffffffffffffffffffffffffffff168152509150509450945094915050565b60008060006106b0868686611386565b90935091507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618600284900b1215610709577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618925061071f565b620d89e8600284900b131561071f57620d89e892505b61072883611465565b905093509350939050565b60008361076e578173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161161079e565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16105b6107a857826107aa565b815b90505b9392505050565b600080808073ffffffffffffffffffffffffffffffffffffffff808916908a1610158187128015906108465760006107fa8989620f42400362ffffff16620f42406117f8565b9050826108135761080e8c8c8c60016118c5565b610820565b6108208b8d8c6001611998565b9550858110610831578a9650610840565b61083d8c8b8386611ab0565b96505b50610890565b8161085d576108588b8b8b6000611998565b61086a565b61086a8a8c8b60006118c5565b935083886000031061087e57899550610890565b61088d8b8a8a60000385611b12565b95505b73ffffffffffffffffffffffffffffffffffffffff8a8116908716148215610900578080156108bc5750815b6108d2576108cd878d8c6001611998565b6108d4565b855b95508080156108e1575081155b6108f7576108f2878d8c60006118c5565b6108f9565b845b945061094a565b80801561090a5750815b6109205761091b8c888c60016118c5565b610922565b855b955080801561092f575081155b610945576109408c888c6000611998565b610947565b845b94505b8115801561095a57508860000385115b15610966578860000394505b81801561099f57508a73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b156109ae5785890393506109cb565b6109c8868962ffffff168a620f42400362ffffff16611b74565b93505b50505095509550955095915050565b60007f80000000000000000000000000000000000000000000000000000000000000008210610a0857600080fd5b5090565b808203828113156000831215146104d357600080fd5b818101828112156000831215146104d357600080fd5b6000806000806000808773ffffffffffffffffffffffffffffffffffffffff1663f30dba93886040518263ffffffff1660e01b8152600401610a7a91906127c9565b60c06040518083038186803b158015610a9257600080fd5b505afa158015610aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aca91906126bb565b949d939c50919a509850965090945092505050565b60008082600f0b1215610b8b57826fffffffffffffffffffffffffffffffff168260000384039150816fffffffffffffffffffffffffffffffff1610610b8657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c53000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6104d3565b826fffffffffffffffffffffffffffffffff168284019150816fffffffffffffffffffffffffffffffff1610156104d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c41000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60006401000276a373ffffffffffffffffffffffffffffffffffffffff831610801590610c79575073fffd8963efd1fc6a506488495d951d5263988d2673ffffffffffffffffffffffffffffffffffffffff8316105b610ce457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5200000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c97908811961790941790921717909117171760808110610d8e57607f810383901c9150610d98565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581027ffffffffffffffffffffffffffffffffffd709b7e5480fba5a50fed5e62ffc5568101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b14610fe0578873ffffffffffffffffffffffffffffffffffffffff16610fb782611465565b73ffffffffffffffffffffffffffffffffffffffff161115610fd95781610fdb565b805b610fe2565b815b9998505050505050505050565b60008080610ffd8482611bcc565b925061100a846014611bcc565b9150611017846028611bcc565b929491935050565b516064111590565b80516060906104d39083906028907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd801611c5a565b60006107aa7f000000000000000000000000000000000000000000000000000000000000000061108d868686611dd0565b611e49565b61109a6123cd565b8173ffffffffffffffffffffffffffffffffffffffff1663e76c01e46040518163ffffffff1660e01b815260040160c06040518083038186803b1580156110e057600080fd5b505afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190612720565b50505061ffff166040840152600290810b900b602083015273ffffffffffffffffffffffffffffffffffffffff168152919050565b6000836111bd578173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161180156111b8575073fffd8963efd1fc6a506488495d951d5263988d2673ffffffffffffffffffffffffffffffffffffffff8416105b611212565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1610801561121257506401000276a373ffffffffffffffffffffffffffffffffffffffff8416115b90508061128057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f7371727450726963654c696d6974206f7574206f6620626f756e647300000000604482015290519081900360640190fd5b50505050565b60008173ffffffffffffffffffffffffffffffffffffffff1663d0c93a7c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156112ce57600080fd5b505afa1580156112e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d391906125ff565b60008173ffffffffffffffffffffffffffffffffffffffff16631a6865026040518163ffffffff1660e01b815260040160206040518083038186803b15801561134e57600080fd5b505afa158015611362573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d391906126a1565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ec92d7fa87876040518363ffffffff1660e01b81526004016113e69291906127a0565b60c06040518083038186803b1580156113fe57600080fd5b505afa158015611412573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114369190612495565b90508315611455578060005b60200201515192506001915061145d9050565b806001611442565b935093915050565b60008060008360020b1261147c578260020b611484565b8260020b6000035b9050620d89e88111156114f857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5400000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000600182166115195770010000000000000000000000000000000061152b565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff169050600282161561155f576ffff97272373d413259a46990580e213a0260801c5b600482161561157e576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b600882161561159d576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156115bc576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156115db576fff973b41fa98c081472e6896dfb254c00260801c5b60408216156115fa576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611619576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611639576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611659576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611679576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611699576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156116b9576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156116d9576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156116f9576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611719576f31be135f97d08fd981231505542fcfa60260801c5b6201000082161561173a576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561175a576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611779576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615611796576b048a170391f7dc42444e8fa20260801c5b60008460020b13156117cf57807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff816117cb57fe5b0490505b6401000000008106156117e35760016117e6565b60005b60ff16602082901c0192505050919050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8587098686029250828110908390030390508061184c576000841161184157600080fd5b5082900490506107ad565b80841161185857600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1611156118ff579293925b8161194b57611946836fffffffffffffffffffffffffffffffff1686860373ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000006117f8565b61198d565b61198d836fffffffffffffffffffffffffffffffff1686860373ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000611b74565b90505b949350505050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1611156119d2579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b1673ffffffffffffffffffffffffffffffffffffffff8686038116908716611a1b57600080fd5b83611a65578673ffffffffffffffffffffffffffffffffffffffff16611a5883838973ffffffffffffffffffffffffffffffffffffffff166117f8565b81611a5f57fe5b04611aa5565b611aa5611a8983838973ffffffffffffffffffffffffffffffffffffffff16611b74565b8873ffffffffffffffffffffffffffffffffffffffff16612097565b979650505050505050565b6000808573ffffffffffffffffffffffffffffffffffffffff1611611ad457600080fd5b6000846fffffffffffffffffffffffffffffffff1611611af357600080fd5b81611b055761194685858560016120a2565b61198d85858560016121fa565b6000808573ffffffffffffffffffffffffffffffffffffffff1611611b3657600080fd5b6000846fffffffffffffffffffffffffffffffff1611611b5557600080fd5b81611b675761194685858560006121fa565b61198d85858560006120a2565b6000611b818484846117f8565b905060008280611b8d57fe5b84860911156107ad577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110611bc257600080fd5b6001019392505050565b60008160140183511015611c4157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b60608182601f011015611cce57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b81830184511015611d4057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b606082158015611d5f5760405191506000825260208201604052611dc7565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611d98578051835260209283019201611d80565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b611dd86123cd565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161115611e10579091905b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292169181019190915290565b6000816040015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1610611eed57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c6964206f72646572206f6620746f6b656e73000000000000000000604482015290519081900360640190fd5b8151839073ffffffffffffffffffffffffffffffffffffffff1615611f8f57826000015183602001518460400151604051602001808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604051602081830303815290604052611fec565b82602001518360400151604051602001808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001925050506040516020818303038152906040525b805190602001207fb3fc09be5eb433d99b1ec89fd8435aaf5ffea75c1879e19028aa2414a14b3c8560001b60405160200180807fff000000000000000000000000000000000000000000000000000000000000008152506001018473ffffffffffffffffffffffffffffffffffffffff1660601b815260140183815260200182815260200193505050506040516020818303038152906040528051906020012060001c905092915050565b808204910615150190565b6000811561214a57600073ffffffffffffffffffffffffffffffffffffffff8411156120f7576120f2846c01000000000000000000000000876fffffffffffffffffffffffffffffffff166117f8565b612118565b6fffffffffffffffffffffffffffffffff8516606085901b8161211657fe5b045b905061214261213d73ffffffffffffffffffffffffffffffffffffffff881683612330565b612340565b915050611990565b600073ffffffffffffffffffffffffffffffffffffffff84111561219757612192846c01000000000000000000000000876fffffffffffffffffffffffffffffffff16611b74565b6121b7565b6121b7606085901b6fffffffffffffffffffffffffffffffff8716612097565b9050808673ffffffffffffffffffffffffffffffffffffffff16116121db57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8616039050611990565b600082612208575083611990565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b1682156122cf5773ffffffffffffffffffffffffffffffffffffffff86168481029085828161225557fe5b0414156122935781810182811061229157612287838973ffffffffffffffffffffffffffffffffffffffff1683611b74565b9350505050611990565b505b6122c6826122c1878a73ffffffffffffffffffffffffffffffffffffffff1686816122ba57fe5b0490612330565b612097565b92505050611990565b73ffffffffffffffffffffffffffffffffffffffff8616848102908582816122f357fe5b0414801561230057508082115b61230957600080fd5b80820361228761213d8473ffffffffffffffffffffffffffffffffffffffff8b1684611b74565b808201828110156104d357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff811681146105f257600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516060810182526000808252602082018190529181019190915290565b8051600f81900b81146105f257600080fd5b8051600281900b81146105f257600080fd5b80516fffffffffffffffffffffffffffffffff811681146105f257600080fd5b805161ffff811681146105f257600080fd5b60008060008060808587031215612458578384fd5b843561246381612849565b935060208501356124738161286e565b925060408501359150606085013561248a81612849565b939692955090935050565b600060c082840312156124a6578081fd5b82601f8301126124b4578081fd5b60406124bf81612825565b80848660c0870111156124d0578485fd5b845b600281101561254757606080838a0312156124eb578687fd5b855181810181811067ffffffffffffffff8211171561250657fe5b8752612511846123ff565b815260206125208186016123ed565b8183015261252f888601612411565b828901529086529094019391909101906001016124d2565b50909695505050505050565b60008060408385031215612565578182fd5b823567ffffffffffffffff8082111561257c578384fd5b818501915085601f83011261258f578384fd5b813560208282111561259d57fe5b6125cd817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601612825565b925081835287818386010111156125e2578586fd5b818185018285013790820181019490945295939092013593505050565b600060208284031215612610578081fd5b6107ad826123ff565b600060a0828403121561262a578081fd5b60405160a0810181811067ffffffffffffffff8211171561264757fe5b604052823561265581612849565b8152602083013561266581612849565b6020820152604083013561267881612849565b604082015260608381013590820152608083013561269581612849565b60808201529392505050565b6000602082840312156126b2578081fd5b6107ad82612411565b60008060008060008060c087890312156126d3578182fd5b6126dc87612411565b95506126ea602088016123ed565b94506126f8604088016123ff565b9350612706606088016123ff565b92506080870151915060a087015190509295509295509295565b60008060008060008060c08789031215612738578384fd5b865161274381612849565b9550612751602088016123ff565b945061275f60408801612431565b9350606087015160ff81168114612774578283fd5b925061278260808801612431565b915060a08701516127928161286e565b809150509295509295509295565b73ffffffffffffffffffffffffffffffffffffffff92909216825260020b602082015260400190565b60029190910b815260200190565b918252602082015260400190565b6020808252600e908201527f506f6f6c206e6f7420666f756e64000000000000000000000000000000000000604082015260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561284157fe5b604052919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461286b57600080fd5b50565b801515811461286b57600080fdfea164736f6c6343000706000a0000000000000000000000006b692b588def775a92a6d0f3b6cccc8a4a4e5bb800000000000000000000000034f74f5217d57223b51e51245769a89874c69bd20000000000000000000000006e39ccd0b6d1e91a69d5bdc1d112bfa0d34bde38