0 txs
1 call
constructor
constructor(address _v3TwapUtilities, address _v2Router, address _v3Router)
functions
ASYNC_INITIALIZE
viewfunction ASYNC_INITIALIZE() view returns (bool)
getReserves
viewfunction getReserves(address _pool) view returns (uint112 _reserve0, uint112 _reserve1)
getV2Pool
viewfunction getV2Pool(address _token0, address _token1) view returns (address)
getV3Pool
viewfunction getV3Pool(address _token0, address _token1, uint24) view returns (address)
getV3Pool
viewfunction getV3Pool(address, address, int24) view returns (address _p)
V2_ROUTER
viewfunction V2_ROUTER() view returns (address)
V3_ROUTER
viewfunction V3_ROUTER() view returns (address)
V3_TWAP_UTILS
viewfunction V3_TWAP_UTILS() view returns (address)
WETH
viewfunction WETH() view returns (address)
addLiquidity
nonpayablefunction addLiquidity(address _tokenA, address _tokenB, uint256 _amountADesired, uint256 _amountBDesired, uint256 _amountAMin, uint256 _amountBMin, address _to, uint256 _deadline)
createV2Pool
nonpayablefunction createV2Pool(address _token0, address _token1) returns (address)
removeLiquidity
nonpayablefunction removeLiquidity(address _tokenA, address _tokenB, uint256 _liquidity, uint256 _amountAMin, uint256 _amountBMin, address _to, uint256 _deadline)
swapV2Single
nonpayablefunction swapV2Single(address _tokenIn, address _tokenOut, uint256 _amountIn, uint256 _amountOutMin, address _recipient) returns (uint256 _amountOut)
swapV2SingleExactOut
nonpayablefunction swapV2SingleExactOut(address _tokenIn, address _tokenOut, uint256 _amountInMax, uint256 _amountOut, address _recipient) returns (uint256 _amountInUsed)
swapV3Single
nonpayablefunction swapV3Single(address _tokenIn, address _tokenOut, uint24, uint256 _amountIn, uint256 _amountOutMin, address _recipient) returns (uint256 _amountOut)
swapV3Single
nonpayablefunction swapV3Single(address, address, int24, uint256, uint256, address) returns (uint256 _amountOut)
events
No events.
errors
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x610100604052348015610010575f5ffd5b506040516120bd3803806120bd83398101604081905261002f91610067565b6001600160a01b0392831660805290821660a0521660c0525f60e0526100b1565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f60608486031215610079575f5ffd5b835161008481610050565b602085015190935061009581610050565b60408501519092506100a681610050565b809150509250925092565b60805160a05160c05160e051611f696101545f395f61023f01525f81816101fb015281816107ce0152818161087f01526111c801525f818161019b015281816104f10152818161051801528181610be601528181610ce201528181610d6801528181610ee901528181610f59015281816110c9015281816113d201528181611406015261147c01525f81816102af0152818161054b01526111990152611f695ff3fe608060405234801561000f575f5ffd5b50600436106100fb575f3560e01c8063a111985611610093578063c4f3e9d711610063578063c4f3e9d714610271578063e3ddd77914610284578063e8e3370014610297578063f191c16a146102aa575f5ffd5b8063a1119856146101f6578063ad5c46481461021d578063baa2abde14610225578063c3749ae51461023a575f5ffd5b80638ada032e116100ce5780638ada032e146101965780638d5752d6146101bd5780639a8fadee146101d05780639f4f9745146101e3575f5ffd5b80630a8e060f146100ff5780633e99c1e41461012f57806383e4b89f146101625780638489d96014610183575b5f5ffd5b61011261010d36600461197f565b6102d1565b6040516001600160a01b0390911681526020015b60405180910390f35b61014261013d3660046119c3565b610305565b604080516001600160701b03938416815292909116602083015201610126565b6101756101703660046119e5565b610373565b604051908152602001610126565b610175610191366004611a40565b610698565b6101127f000000000000000000000000000000000000000000000000000000000000000081565b6101756101cb366004611abc565b6106c8565b6101756101de3660046119e5565b610933565b6101126101f1366004611afa565b610be3565b6101127f000000000000000000000000000000000000000000000000000000000000000081565b610112610cdf565b610238610233366004611b31565b610d65565b005b6102617f000000000000000000000000000000000000000000000000000000000000000081565b6040519015158152602001610126565b61011261027f366004611afa565b6110c6565b610112610292366004611b9f565b611196565b6102386102a5366004611bda565b6112c4565b6101127f000000000000000000000000000000000000000000000000000000000000000081565b60405162461bcd60e51b8152602060048201526002602482015261049360f41b60448201525f906064015b60405180910390fd5b5f5f826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401608060405180830381865afa158015610343573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103679190611c78565b50919590945092505050565b6040516370a0823160e01b81526001600160a01b0382811660048301525f9182918716906370a0823190602401602060405180830381865afa1580156103bb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103df9190611cc9565b9050845f03610455576040516370a0823160e01b81523060048201526001600160a01b038816906370a0823190602401602060405180830381865afa15801561042a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044e9190611cc9565b945061046c565b61046c335b6001600160a01b0389169030886116e4565b6040805160028082526060820183525f9260208301908036833701905050905087815f8151811061049f5761049f611cf4565b60200260200101906001600160a01b031690816001600160a01b03168152505086816001815181106104d3576104d3611cf4565b6001600160a01b0392831660209182029290920101526105169089167f000000000000000000000000000000000000000000000000000000000000000088611751565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ac3893ba878784887f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c99190611d08565b426040518763ffffffff1660e01b81526004016105eb96959493929190611d66565b5f604051808303815f87803b158015610602575f5ffd5b505af1158015610614573d5f5f3e3d5ffd5b50506040516370a0823160e01b81526001600160a01b0387811660048301528593508a1691506370a0823190602401602060405180830381865afa15801561065e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106829190611cc9565b61068c9190611dbd565b98975050505050505050565b60405162461bcd60e51b81526020600482015260036024820152624e493360e81b60448201525f906064016102fc565b6040516370a0823160e01b81526001600160a01b0382811660048301525f9182918816906370a0823190602401602060405180830381865afa158015610710573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107349190611cc9565b9050845f036107aa576040516370a0823160e01b81523060048201526001600160a01b038916906370a0823190602401602060405180830381865afa15801561077f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a39190611cc9565b94506107bf565b6107bf6001600160a01b0389163330886116e4565b6107f36001600160a01b0389167f000000000000000000000000000000000000000000000000000000000000000087611751565b6040805160e0810182526001600160a01b038a81168252898116602083019081528682168385019081524260608501908152608085018b815260a086018b81525f60c08801908152975163178ca23160e31b81529651861660048801529351851660248701529151841660448601525160648501525160848401525160a48301529151821660c48201527f00000000000000000000000000000000000000000000000000000000000000009091169063bc6511889060e4016020604051808303815f875af11580156108c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108eb9190611cc9565b506040516370a0823160e01b81526001600160a01b0384811660048301528291908916906370a0823190602401602060405180830381865afa15801561065e573d5f5f3e3d5ffd5b6040516370a0823160e01b81523060048201525f9081906001600160a01b038816906370a0823190602401602060405180830381865afa158015610979573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099d9190611cc9565b9050845f03610a13576040516370a0823160e01b81523060048201526001600160a01b038816906370a0823190602401602060405180830381865afa1580156109e8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a0c9190611cc9565b9450610a1c565b610a1c3361045a565b6040805160028082526060820183525f9260208301908036833701905050905087815f81518110610a4f57610a4f611cf4565b60200260200101906001600160a01b031690816001600160a01b0316815250508681600181518110610a8357610a83611cf4565b6001600160a01b039283166020918202929092010152610aba9089167302b7d3d5438037d49a25ed15ae34f2d0099494b588611751565b604051634401edf760e11b81527302b7d3d5438037d49a25ed15ae34f2d0099494b590638803dbee90610af99088908a9086908a904290600401611dd0565b5f604051808303815f875af1158015610b14573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b3b9190810190611e0b565b506040516370a0823160e01b81523060048201525f9083906001600160a01b038b16906370a0823190602401602060405180830381865afa158015610b82573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba69190611cc9565b610bb09190611dbd565b90508015610bcc57610bcc6001600160a01b038a1633836117d8565b610bd68188611dbd565b9998505050505050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c40573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c649190611d08565b60405163e6a4390560e01b81526001600160a01b0385811660048301528481166024830152919091169063e6a4390590604401602060405180830381865afa158015610cb2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd69190611d08565b90505b92915050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d3c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d609190611d08565b905090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de69190611d08565b60405163e6a4390560e01b81526001600160a01b038a811660048301528981166024830152919091169063e6a4390590604401602060405180830381865afa158015610e34573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e589190611d08565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e9f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec39190611cc9565b9050610eda6001600160a01b03831633308a6116e4565b610f0e6001600160a01b0383167f000000000000000000000000000000000000000000000000000000000000000089611751565b604051635d5155ef60e11b81526001600160a01b038a81166004830152898116602483015260448201899052606482018890526084820187905285811660a483015260c482018590527f0000000000000000000000000000000000000000000000000000000000000000169063baa2abde9060e40160408051808303815f875af1158015610f9e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190611ed3565b50506040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015611008573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102c9190611cc9565b11156110bb576040516370a0823160e01b81523060048201526110bb90859083906001600160a01b038616906370a0823190602401602060405180830381865afa15801561107c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a09190611cc9565b6110aa9190611dbd565b6001600160a01b03851691906117d8565b505050505050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611123573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111479190611d08565b6040516364e329cb60e11b81526001600160a01b0385811660048301528481166024830152919091169063c9c65396906044016020604051808303815f875af1158015610cb2573d5f5f3e3d5ffd5b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddca45b07f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611222573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112469190611d08565b6040516001600160e01b031960e084901b1681526001600160a01b03918216600482015281881660248201529086166044820152606401602060405180830381865afa158015611298573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112bc9190611d08565b949350505050565b6040516370a0823160e01b81523060048201525f906001600160a01b038a16906370a0823190602401602060405180830381865afa158015611308573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132c9190611cc9565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038a16906370a0823190602401602060405180830381865afa158015611373573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113979190611cc9565b90506113ae6001600160a01b038b1633308b6116e4565b6113c36001600160a01b038a1633308a6116e4565b6113f76001600160a01b038b167f00000000000000000000000000000000000000000000000000000000000000008a611751565b61142b6001600160a01b038a167f000000000000000000000000000000000000000000000000000000000000000089611751565b60405162e8e33760e81b81526001600160a01b038b811660048301528a81166024830152604482018a9052606482018990526084820188905260a4820187905285811660c483015260e482018590527f0000000000000000000000000000000000000000000000000000000000000000169063e8e3370090610104016060604051808303815f875af11580156114c3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e79190611ef5565b50506040516370a0823160e01b81523060048201528391506001600160a01b038c16906370a0823190602401602060405180830381865afa15801561152e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115529190611cc9565b11156115e1576040516370a0823160e01b81523060048201526115e190859084906001600160a01b038e16906370a0823190602401602060405180830381865afa1580156115a2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115c69190611cc9565b6115d09190611dbd565b6001600160a01b038d1691906117d8565b6040516370a0823160e01b815230600482015281906001600160a01b038b16906370a0823190602401602060405180830381865afa158015611625573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116499190611cc9565b11156116d8576040516370a0823160e01b81523060048201526116d890859083906001600160a01b038d16906370a0823190602401602060405180830381865afa158015611699573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bd9190611cc9565b6116c79190611dbd565b6001600160a01b038c1691906117d8565b50505050505050505050565b6040516001600160a01b03848116602483015283811660448301526064820183905261174b9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061180e565b50505050565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa15801561179e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c29190611cc9565b905061174b84846117d38585611f20565b61187a565b6040516001600160a01b0383811660248301526044820183905261180991859182169063a9059cbb90606401611719565b505050565b5f5f60205f8451602086015f885af18061182d576040513d5f823e3d81fd5b50505f513d91508115611844578060011415611851565b6001600160a01b0384163b155b1561174b57604051635274afe760e01b81526001600160a01b03851660048201526024016102fc565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526118cb8482611909565b61174b576040516001600160a01b0384811660248301525f60448301526118ff91869182169063095ea7b390606401611719565b61174b848261180e565b5f5f5f5f60205f8651602088015f8a5af192503d91505f5190508280156119485750811561193a5780600114611948565b5f866001600160a01b03163b115b9695505050505050565b6001600160a01b0381168114611966575f5ffd5b50565b8035600281900b811461197a575f5ffd5b919050565b5f5f5f60608486031215611991575f5ffd5b833561199c81611952565b925060208401356119ac81611952565b91506119ba60408501611969565b90509250925092565b5f602082840312156119d3575f5ffd5b81356119de81611952565b9392505050565b5f5f5f5f5f60a086880312156119f9575f5ffd5b8535611a0481611952565b94506020860135611a1481611952565b935060408601359250606086013591506080860135611a3281611952565b809150509295509295909350565b5f5f5f5f5f5f60c08789031215611a55575f5ffd5b8635611a6081611952565b95506020870135611a7081611952565b9450611a7e60408801611969565b9350606087013592506080870135915060a0870135611a9c81611952565b809150509295509295509295565b803562ffffff8116811461197a575f5ffd5b5f5f5f5f5f5f60c08789031215611ad1575f5ffd5b8635611adc81611952565b95506020870135611aec81611952565b9450611a7e60408801611aaa565b5f5f60408385031215611b0b575f5ffd5b8235611b1681611952565b91506020830135611b2681611952565b809150509250929050565b5f5f5f5f5f5f5f60e0888a031215611b47575f5ffd5b8735611b5281611952565b96506020880135611b6281611952565b955060408801359450606088013593506080880135925060a0880135611b8781611952565b96999598509396929591949193505060c09091013590565b5f5f5f60608486031215611bb1575f5ffd5b8335611bbc81611952565b92506020840135611bcc81611952565b91506119ba60408501611aaa565b5f5f5f5f5f5f5f5f610100898b031215611bf2575f5ffd5b8835611bfd81611952565b97506020890135611c0d81611952565b965060408901359550606089013594506080890135935060a0890135925060c0890135611c3981611952565b979a969950949793969295919450919260e001359150565b80516001600160701b038116811461197a575f5ffd5b805161ffff8116811461197a575f5ffd5b5f5f5f5f60808587031215611c8b575f5ffd5b611c9485611c51565b9350611ca260208601611c51565b9250611cb060408601611c67565b9150611cbe60608601611c67565b905092959194509250565b5f60208284031215611cd9575f5ffd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d18575f5ffd5b81516119de81611952565b5f8151808452602084019350602083015f5b82811015611d5c5781516001600160a01b0316865260209586019590910190600101611d35565b5093949350505050565b86815285602082015260c060408201525f611d8460c0830187611d23565b6001600160a01b03958616606084015293909416608082015260a00152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610cd957610cd9611da9565b85815284602082015260a060408201525f611dee60a0830186611d23565b6001600160a01b0394909416606083015250608001529392505050565b5f60208284031215611e1b575f5ffd5b815167ffffffffffffffff811115611e31575f5ffd5b8201601f81018413611e41575f5ffd5b805167ffffffffffffffff811115611e5b57611e5b611ce0565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715611e8857611e88611ce0565b604052918252602081840181019290810187841115611ea5575f5ffd5b6020850194505b83851015611ec857845180825260209586019590935001611eac565b509695505050505050565b5f5f60408385031215611ee4575f5ffd5b505080516020909101519092909150565b5f5f5f60608486031215611f07575f5ffd5b5050815160208301516040909301519094929350919050565b80820180821115610cd957610cd9611da956fea26469706673582212205b62d0d3f18a542877ff4b75838dac5170ea4828a9b910ece1b3dfeef503486c64736f6c634300081c0033000000000000000000000000e8869f393d083bc41358b6c13b1ebce54fe11458000000000000000000000000c873fecbd354f5a56e00e710b90ef4201db2448d0000000000000000000000001f721e2e82f6676fce4ea07a5958cf098d339e18