@mercurial-finance/dynamic-amm-sdk
Version:
Mercurial Vaults SDK is a typescript library that allows you to interact with Mercurial v2's AMM.
1,420 lines • 148 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IDL = void 0;
exports.IDL = {
"version": "0.5.2",
"name": "amm",
"docs": [
"Program for AMM"
],
"instructions": [
{
"name": "initializePermissionedPool",
"docs": [
"Initialize a new permissioned pool."
],
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": true,
"docs": [
"Pool account (arbitrary address)"
]
},
{
"name": "lpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of the pool"
]
},
{
"name": "tokenAMint",
"isMut": false,
"isSigner": false,
"docs": [
"Token A mint of the pool. Eg: USDT"
]
},
{
"name": "tokenBMint",
"isMut": false,
"isSigner": false,
"docs": [
"Token B mint of the pool. Eg: USDC"
]
},
{
"name": "aVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "bVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "aVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault A"
]
},
{
"name": "bVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault B"
]
},
{
"name": "aVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "bVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "adminTokenA",
"isMut": true,
"isSigner": false,
"docs": [
"Admin token account for pool token A mint. Used to bootstrap the pool with initial liquidity."
]
},
{
"name": "adminTokenB",
"isMut": true,
"isSigner": false,
"docs": [
"Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity."
]
},
{
"name": "adminPoolLp",
"isMut": true,
"isSigner": false,
"docs": [
"Admin pool LP token account. Used to receive LP during first deposit (initialize pool)",
"Admin pool LP token account. Used to receive LP during first deposit (initialize pool)"
]
},
{
"name": "protocolTokenAFee",
"isMut": true,
"isSigner": false,
"docs": [
"Protocol fee token account for token A. Used to receive trading fee."
]
},
{
"name": "protocolTokenBFee",
"isMut": true,
"isSigner": false,
"docs": [
"Protocol fee token account for token B. Used to receive trading fee."
]
},
{
"name": "admin",
"isMut": true,
"isSigner": true,
"docs": [
"Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool."
]
},
{
"name": "feeOwner",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false,
"docs": [
"Rent account."
]
},
{
"name": "mintMetadata",
"isMut": true,
"isSigner": false
},
{
"name": "metadataProgram",
"isMut": false,
"isSigner": false
},
{
"name": "vaultProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Vault program. The pool will deposit/withdraw liquidity from the vault."
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Token program."
]
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Associated token program."
]
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"docs": [
"System program."
]
}
],
"args": [
{
"name": "curveType",
"type": {
"defined": "CurveType"
}
}
]
},
{
"name": "initializePermissionlessPool",
"docs": [
"Initialize a new permissionless pool."
],
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": false,
"docs": [
"Pool account (PDA address)"
]
},
{
"name": "lpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of the pool"
]
},
{
"name": "tokenAMint",
"isMut": false,
"isSigner": false,
"docs": [
"Token A mint of the pool. Eg: USDT"
]
},
{
"name": "tokenBMint",
"isMut": false,
"isSigner": false,
"docs": [
"Token B mint of the pool. Eg: USDC"
]
},
{
"name": "aVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "bVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "aTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault A"
]
},
{
"name": "bTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault B"
]
},
{
"name": "aVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault A"
]
},
{
"name": "bVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault B"
]
},
{
"name": "aVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "bVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "payerTokenA",
"isMut": true,
"isSigner": false,
"docs": [
"Payer token account for pool token A mint. Used to bootstrap the pool with initial liquidity."
]
},
{
"name": "payerTokenB",
"isMut": true,
"isSigner": false,
"docs": [
"Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity."
]
},
{
"name": "payerPoolLp",
"isMut": true,
"isSigner": false
},
{
"name": "protocolTokenAFee",
"isMut": true,
"isSigner": false,
"docs": [
"Protocol fee token account for token A. Used to receive trading fee."
]
},
{
"name": "protocolTokenBFee",
"isMut": true,
"isSigner": false,
"docs": [
"Protocol fee token account for token B. Used to receive trading fee."
]
},
{
"name": "payer",
"isMut": true,
"isSigner": true,
"docs": [
"Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool."
]
},
{
"name": "feeOwner",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false,
"docs": [
"Rent account."
]
},
{
"name": "mintMetadata",
"isMut": true,
"isSigner": false
},
{
"name": "metadataProgram",
"isMut": false,
"isSigner": false
},
{
"name": "vaultProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Vault program. The pool will deposit/withdraw liquidity from the vault."
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Token program."
]
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Associated token program."
]
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"docs": [
"System program."
]
}
],
"args": [
{
"name": "curveType",
"type": {
"defined": "CurveType"
}
},
{
"name": "tokenAAmount",
"type": "u64"
},
{
"name": "tokenBAmount",
"type": "u64"
}
]
},
{
"name": "initializePermissionlessPoolWithFeeTier",
"docs": [
"Initialize a new permissionless pool with customized fee tier"
],
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": false,
"docs": [
"Pool account (PDA address)"
]
},
{
"name": "lpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of the pool"
]
},
{
"name": "tokenAMint",
"isMut": false,
"isSigner": false,
"docs": [
"Token A mint of the pool. Eg: USDT"
]
},
{
"name": "tokenBMint",
"isMut": false,
"isSigner": false,
"docs": [
"Token B mint of the pool. Eg: USDC"
]
},
{
"name": "aVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "bVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "aTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault A"
]
},
{
"name": "bTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault B"
]
},
{
"name": "aVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault A"
]
},
{
"name": "bVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault B"
]
},
{
"name": "aVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "bVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault B. Used to receive/burn vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "payerTokenA",
"isMut": true,
"isSigner": false,
"docs": [
"Payer token account for pool token A mint. Used to bootstrap the pool with initial liquidity."
]
},
{
"name": "payerTokenB",
"isMut": true,
"isSigner": false,
"docs": [
"Admin token account for pool token B mint. Used to bootstrap the pool with initial liquidity."
]
},
{
"name": "payerPoolLp",
"isMut": true,
"isSigner": false
},
{
"name": "protocolTokenAFee",
"isMut": true,
"isSigner": false,
"docs": [
"Protocol fee token account for token A. Used to receive trading fee."
]
},
{
"name": "protocolTokenBFee",
"isMut": true,
"isSigner": false,
"docs": [
"Protocol fee token account for token B. Used to receive trading fee."
]
},
{
"name": "payer",
"isMut": true,
"isSigner": true,
"docs": [
"Admin account. This account will be the admin of the pool, and the payer for PDA during initialize pool."
]
},
{
"name": "feeOwner",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false,
"docs": [
"Rent account."
]
},
{
"name": "mintMetadata",
"isMut": true,
"isSigner": false
},
{
"name": "metadataProgram",
"isMut": false,
"isSigner": false
},
{
"name": "vaultProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Vault program. The pool will deposit/withdraw liquidity from the vault."
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Token program."
]
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Associated token program."
]
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"docs": [
"System program."
]
}
],
"args": [
{
"name": "curveType",
"type": {
"defined": "CurveType"
}
},
{
"name": "tradeFeeBps",
"type": "u64"
},
{
"name": "tokenAAmount",
"type": "u64"
},
{
"name": "tokenBAmount",
"type": "u64"
}
]
},
{
"name": "enableOrDisablePool",
"docs": [
"Enable or disable a pool. A disabled pool allow only remove balanced liquidity operation."
],
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": false,
"docs": [
"Pool account (PDA)"
]
},
{
"name": "admin",
"isMut": false,
"isSigner": true,
"docs": [
"Admin account. Must be owner of the pool."
]
}
],
"args": [
{
"name": "enable",
"type": "bool"
}
]
},
{
"name": "swap",
"docs": [
"Swap token A to B, or vice versa. An amount of trading fee will be charged for liquidity provider, and the admin of the pool."
],
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": false,
"docs": [
"Pool account (PDA)"
]
},
{
"name": "userSourceToken",
"isMut": true,
"isSigner": false,
"docs": [
"User token account. Token from this account will be transfer into the vault by the pool in exchange for another token of the pool."
]
},
{
"name": "userDestinationToken",
"isMut": true,
"isSigner": false,
"docs": [
"User token account. The exchanged token will be transfer into this account from the pool."
]
},
{
"name": "aVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "bVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "aTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault A"
]
},
{
"name": "bTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault B"
]
},
{
"name": "aVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"Lp token mint of vault a"
]
},
{
"name": "bVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"Lp token mint of vault b"
]
},
{
"name": "aVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "bVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "protocolTokenFee",
"isMut": true,
"isSigner": false,
"docs": [
"Protocol fee token account. Used to receive trading fee. It's mint field must matched with user_source_token mint field."
]
},
{
"name": "user",
"isMut": false,
"isSigner": true,
"docs": [
"User account. Must be owner of user_source_token."
]
},
{
"name": "vaultProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Vault program. the pool will deposit/withdraw liquidity from the vault."
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Token program."
]
}
],
"args": [
{
"name": "inAmount",
"type": "u64"
},
{
"name": "minimumOutAmount",
"type": "u64"
}
]
},
{
"name": "removeLiquiditySingleSide",
"docs": [
"Withdraw only single token from the pool. Only supported by pool with stable swap curve."
],
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": false,
"docs": [
"Pool account (PDA)"
]
},
{
"name": "lpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of the pool"
]
},
{
"name": "userPoolLp",
"isMut": true,
"isSigner": false,
"docs": [
"User pool lp token account. LP will be burned from this account upon success liquidity removal."
]
},
{
"name": "aVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "bVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "aVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token A. Token A of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "bVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token B. Token B of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "aVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault A"
]
},
{
"name": "bVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault B"
]
},
{
"name": "aTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault A"
]
},
{
"name": "bTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault B"
]
},
{
"name": "userDestinationToken",
"isMut": true,
"isSigner": false,
"docs": [
"User token account to receive token upon success liquidity removal."
]
},
{
"name": "user",
"isMut": false,
"isSigner": true,
"docs": [
"User account. Must be owner of the user_pool_lp account."
]
},
{
"name": "vaultProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Vault program. The pool will deposit/withdraw liquidity from the vault."
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Token program."
]
}
],
"args": [
{
"name": "poolTokenAmount",
"type": "u64"
},
{
"name": "minimumOutAmount",
"type": "u64"
}
]
},
{
"name": "addImbalanceLiquidity",
"docs": [
"Deposit tokens to the pool in an imbalance ratio. Only supported by pool with stable swap curve."
],
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": false,
"docs": [
"Pool account (PDA)"
]
},
{
"name": "lpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of the pool"
]
},
{
"name": "userPoolLp",
"isMut": true,
"isSigner": false,
"docs": [
"user pool lp token account. lp will be burned from this account upon success liquidity removal."
]
},
{
"name": "aVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "bVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "aVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "bVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "aVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault a"
]
},
{
"name": "bVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault b"
]
},
{
"name": "aTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault A"
]
},
{
"name": "bTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault B"
]
},
{
"name": "userAToken",
"isMut": true,
"isSigner": false,
"docs": [
"User token A account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
]
},
{
"name": "userBToken",
"isMut": true,
"isSigner": false,
"docs": [
"User token B account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
]
},
{
"name": "user",
"isMut": false,
"isSigner": true,
"docs": [
"User account. Must be owner of user_a_token, and user_b_token."
]
},
{
"name": "vaultProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Vault program. the pool will deposit/withdraw liquidity from the vault."
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Token program."
]
}
],
"args": [
{
"name": "minimumPoolTokenAmount",
"type": "u64"
},
{
"name": "tokenAAmount",
"type": "u64"
},
{
"name": "tokenBAmount",
"type": "u64"
}
]
},
{
"name": "removeBalanceLiquidity",
"docs": [
"Withdraw tokens from the pool in a balanced ratio. User will still able to withdraw from pool even the pool is disabled. This allow user to exit their liquidity when there's some unforeseen event happen."
],
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": false,
"docs": [
"Pool account (PDA)"
]
},
{
"name": "lpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of the pool"
]
},
{
"name": "userPoolLp",
"isMut": true,
"isSigner": false,
"docs": [
"user pool lp token account. lp will be burned from this account upon success liquidity removal."
]
},
{
"name": "aVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "bVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "aVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "bVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "aVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault a"
]
},
{
"name": "bVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault b"
]
},
{
"name": "aTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault A"
]
},
{
"name": "bTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault B"
]
},
{
"name": "userAToken",
"isMut": true,
"isSigner": false,
"docs": [
"User token A account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
]
},
{
"name": "userBToken",
"isMut": true,
"isSigner": false,
"docs": [
"User token B account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
]
},
{
"name": "user",
"isMut": false,
"isSigner": true,
"docs": [
"User account. Must be owner of user_a_token, and user_b_token."
]
},
{
"name": "vaultProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Vault program. the pool will deposit/withdraw liquidity from the vault."
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Token program."
]
}
],
"args": [
{
"name": "poolTokenAmount",
"type": "u64"
},
{
"name": "minimumATokenOut",
"type": "u64"
},
{
"name": "minimumBTokenOut",
"type": "u64"
}
]
},
{
"name": "addBalanceLiquidity",
"docs": [
"Deposit tokens to the pool in a balanced ratio."
],
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": false,
"docs": [
"Pool account (PDA)"
]
},
{
"name": "lpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of the pool"
]
},
{
"name": "userPoolLp",
"isMut": true,
"isSigner": false,
"docs": [
"user pool lp token account. lp will be burned from this account upon success liquidity removal."
]
},
{
"name": "aVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault A. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "bVaultLp",
"isMut": true,
"isSigner": false,
"docs": [
"LP token account of vault B. Used to receive/burn the vault LP upon deposit/withdraw from the vault."
]
},
{
"name": "aVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token a. token a of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "bVault",
"isMut": true,
"isSigner": false,
"docs": [
"Vault account for token b. token b of the pool will be deposit / withdraw from this vault account."
]
},
{
"name": "aVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault a"
]
},
{
"name": "bVaultLpMint",
"isMut": true,
"isSigner": false,
"docs": [
"LP token mint of vault b"
]
},
{
"name": "aTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault A"
]
},
{
"name": "bTokenVault",
"isMut": true,
"isSigner": false,
"docs": [
"Token vault account of vault B"
]
},
{
"name": "userAToken",
"isMut": true,
"isSigner": false,
"docs": [
"User token A account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
]
},
{
"name": "userBToken",
"isMut": true,
"isSigner": false,
"docs": [
"User token B account. Token will be transfer from this account if it is add liquidity operation. Else, token will be transfer into this account."
]
},
{
"name": "user",
"isMut": false,
"isSigner": true,
"docs": [
"User account. Must be owner of user_a_token, and user_b_token."
]
},
{
"name": "vaultProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Vault program. the pool will deposit/withdraw liquidity from the vault."
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Token program."
]
}
],
"args": [
{
"name": "poolTokenAmount",
"type": "u64"
},
{
"name": "maximumTokenAAmount",
"type": "u64"
},
{
"name": "maximumTokenBAmount",
"type": "u64"
}
]
},
{
"name": "setPoolFees",
"docs": [
"Update trading fee charged for liquidity provider, and admin."
],
"accounts": [
{
"name": "pool",
"isMut": true,
"isS