SwapV2Params: SwapInput & {
    oracle: PublicKey;
    tokenAuthority: PublicKey;
    tokenMintA: PublicKey;
    tokenMintB: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenProgramA: PublicKey;
    tokenProgramB: PublicKey;
    tokenTransferHookAccountsA?: AccountMeta[];
    tokenTransferHookAccountsB?: AccountMeta[];
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpool: PublicKey;
}

Raw parameters and accounts to swap on a Whirlpool

Parameters in SwapInput

PublicKey for the whirlpool that the swap will occur on

PublicKey for the token A mint.

PublicKey for the token B mint.

PublicKey for the associated token account for tokenA in the collection wallet

PublicKey for the associated token account for tokenB in the collection wallet

PublicKey for the tokenA vault for this whirlpool.

PublicKey for the tokenB vault for this whirlpool.

Optional array of token transfer hook accounts for token A.

Optional array of token transfer hook accounts for token B.

PublicKey for the token program for token A.

PublicKey for the token program for token B.

PublicKey for the oracle account for this Whirlpool.

authority to withdraw tokens from the input token account