Variable swapRouter02AbiConst
swapRouter02Abi: readonly [
{
inputs: readonly [
{
components: readonly [
{ name: "tokenIn"; type: "address" },
{ name: "tokenOut"; type: "address" },
{ name: "fee"; type: "uint24" },
{ name: "recipient"; type: "address" },
{ name: "amountIn"; type: "uint256" },
{ name: "amountOutMinimum"; type: "uint256" },
{ name: "sqrtPriceLimitX96"; type: "uint160" },
];
name: "params";
type: "tuple";
},
];
name: "exactInputSingle";
outputs: readonly [{ name: "amountOut"; type: "uint256" }];
stateMutability: "payable";
type: "function";
},
{
inputs: readonly [
{
components: readonly [
{ name: "path"; type: "bytes" },
{ name: "recipient"; type: "address" },
{ name: "amountIn"; type: "uint256" },
{ name: "amountOutMinimum"; type: "uint256" },
];
name: "params";
type: "tuple";
},
];
name: "exactInput";
outputs: readonly [{ name: "amountOut"; type: "uint256" }];
stateMutability: "payable";
type: "function";
},
{
inputs: readonly [
{ name: "deadline"; type: "uint256" },
{ name: "data"; type: "bytes[]" },
];
name: "multicall";
outputs: readonly [{ name: "results"; type: "bytes[]" }];
stateMutability: "payable";
type: "function";
},
{
inputs: readonly [];
name: "factory";
outputs: readonly [{ type: "address" }];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [];
name: "WETH9";
outputs: readonly [{ type: "address" }];
stateMutability: "view";
type: "function";
},
] = ...
Uniswap SwapRouter02. Unlike the v1 SwapRouter,
exactInputSingle/exactInputstructs carry no deadline; deadlines are enforced viamulticall(uint256 deadline, bytes[] data).