import { BN, Program } from "@coral-xyz/anchor"; import { PublicKey, TransactionInstruction } from "@solana/web3.js"; import { Staking } from "../artifacts/staking"; import { StakingSpl } from "../artifacts/staking_spl"; export type UpdateLockupVaultParams = { accounts?: { mint: PublicKey; lockupVault: PublicKey; }, inputs: { index: number; apy: number; lockupDuration: BN; minStakeAmount: BN; }; }; export async function updateLockupVault( program: Program | Program, params: UpdateLockupVaultParams, ): Promise { const { accounts, inputs } = params; const ix = await program.methods .updateLockupVault( inputs.index, inputs.apy, inputs.lockupDuration, inputs.minStakeAmount, ) .accounts({ ...accounts, }) .instruction(); return ix; }