v3PoolAbi: readonly [
{
type: "function";
name: "initialize";
stateMutability: "nonpayable";
inputs: readonly [{ name: "sqrtPriceX96"; type: "uint160" }];
outputs: readonly [];
},
{
type: "function";
name: "factory";
stateMutability: "view";
inputs: readonly [];
outputs: readonly [{ name: ""; type: "address" }];
},
{
type: "function";
name: "token0";
stateMutability: "view";
inputs: readonly [];
outputs: readonly [{ name: ""; type: "address" }];
},
{
type: "function";
name: "token1";
stateMutability: "view";
inputs: readonly [];
outputs: readonly [{ name: ""; type: "address" }];
},
{
type: "function";
name: "fee";
stateMutability: "view";
inputs: readonly [];
outputs: readonly [{ name: ""; type: "uint24" }];
},
{
type: "function";
name: "tickSpacing";
stateMutability: "view";
inputs: readonly [];
outputs: readonly [{ name: ""; type: "int24" }];
},
{
type: "function";
name: "slot0";
stateMutability: "view";
inputs: readonly [];
outputs: readonly [
{ name: "sqrtPriceX96"; type: "uint160" },
{ name: "tick"; type: "int24" },
{ name: "observationIndex"; type: "uint16" },
{ name: "observationCardinality"; type: "uint16" },
{ name: "observationCardinalityNext"; type: "uint16" },
{ name: "feeProtocol"; type: "uint8" },
{ name: "unlocked"; type: "bool" },
];
},
{
type: "event";
name: "Initialize";
inputs: readonly [
{ name: "sqrtPriceX96"; type: "uint160"; indexed: false },
{ name: "tick"; type: "int24"; indexed: false },
];
},
] = ...
Minimal canonical V3 pool ABI needed to initialize and verify a deployment.