UNPKG

@symmetry-hq/baskets-v2-sdk

Version:

Symmetry Baskets V2 SDK

35 lines (30 loc) 1.28 kB
// Core dependencies import { Program } from "@coral-xyz/anchor"; import { AddressLookupTableProgram, PublicKey, SystemProgram, TransactionInstruction } from "@solana/web3.js"; // Local imports import { BasketsProgram } from "../../idl/types"; import { fetchDeactivatedLookupTable } from "../../state/lut"; import { getBasketPda } from "../../utils/programAccounts"; export async function overwriteLookupTableIx(params: { program: Program<BasketsProgram>; deactivatedLookupTable: PublicKey; }): Promise<TransactionInstruction> { const { program } = params; const deactivatedState = await fetchDeactivatedLookupTable(program, params.deactivatedLookupTable); const basket = deactivatedState.authority; const basketPda = getBasketPda(basket); const recipient = deactivatedState.recipient; const ix = await program.methods .closeLookupTable() .accountsStrict({ recipient, basket, basketPda, lookupTable: deactivatedState.lookupTable, deactivatedLookupTable: params.deactivatedLookupTable, addressLookupTableProgram: AddressLookupTableProgram.programId, systemProgram: SystemProgram.programId, }) .instruction(); return ix; }