UNPKG

@orca-so/whirlpools-sdk

Version:

Typescript SDK to interact with Orca's Whirlpool program.

45 lines 2.02 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.twoHopSwapIx = twoHopSwapIx; const spl_token_1 = require("@solana/spl-token"); const tiny_invariant_1 = __importDefault(require("tiny-invariant")); function twoHopSwapIx(program, params) { const { amount, otherAmountThreshold, amountSpecifiedIsInput, aToBOne, aToBTwo, sqrtPriceLimitOne, sqrtPriceLimitTwo, whirlpoolOne, whirlpoolTwo, tokenAuthority, tokenOwnerAccountOneA, tokenVaultOneA, tokenOwnerAccountOneB, tokenVaultOneB, tokenOwnerAccountTwoA, tokenVaultTwoA, tokenOwnerAccountTwoB, tokenVaultTwoB, tickArrayOne0, tickArrayOne1, tickArrayOne2, tickArrayTwo0, tickArrayTwo1, tickArrayTwo2, oracleOne, oracleTwo, } = params; const ix = program.instruction.twoHopSwap(amount, otherAmountThreshold, amountSpecifiedIsInput, aToBOne, aToBTwo, sqrtPriceLimitOne, sqrtPriceLimitTwo, { accounts: { tokenProgram: spl_token_1.TOKEN_PROGRAM_ID, tokenAuthority, whirlpoolOne, whirlpoolTwo, tokenOwnerAccountOneA, tokenVaultOneA, tokenOwnerAccountOneB, tokenVaultOneB, tokenOwnerAccountTwoA, tokenVaultTwoA, tokenOwnerAccountTwoB, tokenVaultTwoB, tickArrayOne0, tickArrayOne1, tickArrayOne2, tickArrayTwo0, tickArrayTwo1, tickArrayTwo2, oracleOne, oracleTwo, }, }); (0, tiny_invariant_1.default)(ix.keys[18].pubkey.equals(oracleOne)); ix.keys[18].isWritable = true; (0, tiny_invariant_1.default)(ix.keys[19].pubkey.equals(oracleTwo)); ix.keys[19].isWritable = true; return { instructions: [ix], cleanupInstructions: [], signers: [], }; } //# sourceMappingURL=two-hop-swap-ix.js.map