UNPKG

@symmetry-hq/baskets-v2-sdk

Version:

Symmetry Baskets V2 SDK

38 lines (33 loc) 1.24 kB
// Core dependencies import { Program } from "@coral-xyz/anchor"; import { PublicKey, SystemProgram, TransactionInstruction } from "@solana/web3.js"; // Local imports import { BasketsProgram } from "../../idl/types"; import { fetchBasketState } from "../../state/basket"; export async function overwriteLookupTableIx(params: { program: Program<BasketsProgram>; manager: PublicKey; basket: PublicKey; }): Promise<TransactionInstruction> { const { program, manager } = params; const basketState = await fetchBasketState(program, params.basket); const basketPda = basketState.basketPda; const oldLookupTable1 = basketState.lookupTable1; const oldLookupTable2 = basketState.lookupTable2; const otherLookupTable1 = basketState.otherLookupTable1; const otherLookupTable2 = basketState.otherLookupTable2; const ix = await program.methods .overwriteLookupTable() .accountsStrict({ manager, basket: params.basket, basketPda, oldLookupTable1, oldLookupTable2, otherLookupTable1, otherLookupTable2, systemProgram: SystemProgram.programId, }) .instruction(); return ix; }