/** * QuoterV2 ABI */ export const QUOTER_V2_ABI = [ { type: 'function', name: 'quoteExactInputSingle', inputs: [ { name: 'params', type: 'tuple', components: [ { name: 'tokenIn', type: 'address' }, { name: 'tokenOut', type: 'address' }, { name: 'amountIn', type: 'uint256' }, { name: 'fee', type: 'uint24' }, { name: 'sqrtPriceLimitX96', type: 'uint160' }, ], }, ], outputs: [ { name: 'amountOut', type: 'uint256' }, { name: 'sqrtPriceX96After', type: 'uint160' }, { name: 'initializedTicksCrossed', type: 'uint32' }, { name: 'gasEstimate', type: 'uint256' }, ], stateMutability: 'nonpayable', }, { type: 'function', name: 'quoteExactOutputSingle', inputs: [ { name: 'params', type: 'tuple', components: [ { name: 'tokenIn', type: 'address' }, { name: 'tokenOut', type: 'address' }, { name: 'amount', type: 'uint256' }, { name: 'fee', type: 'uint24' }, { name: 'sqrtPriceLimitX96', type: 'uint160' }, ], }, ], outputs: [ { name: 'amountIn', type: 'uint256' }, { name: 'sqrtPriceX96After', type: 'uint160' }, { name: 'initializedTicksCrossed', type: 'uint32' }, { name: 'gasEstimate', type: 'uint256' }, ], stateMutability: 'nonpayable', }, { type: 'function', name: 'quoteExactInput', inputs: [ { name: 'path', type: 'bytes' }, { name: 'amountIn', type: 'uint256' }, ], outputs: [ { name: 'amountOut', type: 'uint256' }, { name: 'sqrtPriceX96AfterList', type: 'uint160[]' }, { name: 'initializedTicksCrossedList', type: 'uint32[]' }, { name: 'gasEstimate', type: 'uint256' }, ], stateMutability: 'nonpayable', }, ] as const