@orca-so/whirlpools-sdk
Version:
Typescript SDK to interact with Orca's Whirlpool program.
54 lines • 2.36 kB
JavaScript
;
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