UNPKG

@orca-so/whirlpools-sdk

Version:

Typescript SDK to interact with Orca's Whirlpool program.

54 lines 2.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getIncreaseLiquidityMethod = getIncreaseLiquidityMethod; exports.increaseLiquidityByTokenAmountsV2Ix = increaseLiquidityByTokenAmountsV2Ix; const __1 = require("../.."); const remaining_accounts_util_1 = require("../../utils/remaining-accounts-util"); function getIncreaseLiquidityMethod(params) { if ("tokenMaxA" in params && "tokenMaxB" in params) { return { byTokenAmounts: { tokenMaxA: params.tokenMaxA, tokenMaxB: params.tokenMaxB, minSqrtPrice: params.minSqrtPrice, maxSqrtPrice: params.maxSqrtPrice, }, }; } else { throw new Error("Unsupported method variant for params: " + JSON.stringify(params)); } } function increaseLiquidityByTokenAmountsV2Ix(program, params) { const { whirlpool, positionAuthority, position, positionTokenAccount, tokenMintA, tokenMintB, tokenOwnerAccountA, tokenOwnerAccountB, tokenVaultA, tokenVaultB, tokenTransferHookAccountsA, tokenTransferHookAccountsB, tokenProgramA, tokenProgramB, tickArrayLower, tickArrayUpper, ...remainingParams } = params; const [remainingAccountsInfo, remainingAccounts] = new remaining_accounts_util_1.RemainingAccountsBuilder() .addSlice(remaining_accounts_util_1.RemainingAccountsType.TransferHookA, tokenTransferHookAccountsA) .addSlice(remaining_accounts_util_1.RemainingAccountsType.TransferHookB, tokenTransferHookAccountsB) .build(); const ix = program.instruction.increaseLiquidityByTokenAmountsV2(getIncreaseLiquidityMethod(remainingParams), remainingAccountsInfo, { accounts: { whirlpool, positionAuthority, position, positionTokenAccount, tokenMintA, tokenMintB, tokenOwnerAccountA, tokenOwnerAccountB, tokenVaultA, tokenVaultB, tokenProgramA, tokenProgramB, tickArrayLower, tickArrayUpper, memoProgram: __1.MEMO_PROGRAM_ADDRESS, }, remainingAccounts, }); return { instructions: [ix], cleanupInstructions: [], signers: [], }; } //# sourceMappingURL=increase-liquidity-by-token-amounts-ix.js.map