import { PublicKey, TransactionInstruction } from "@solana/web3.js"; import { BN, Program } from "@coral-xyz/anchor"; import { StakingSpl } from "../artifacts/staking_spl"; export type InitFlexibleVaultParams = { accounts: { admin: PublicKey; mint: PublicKey; flexibleVault: PublicKey; }; inputs: { bump: number; rewardRate: BN; withdrawDelayTime: BN; }; }; export async function initFlexibleVault( program: Program, params: InitFlexibleVaultParams, ): Promise { const { accounts, inputs } = params; const ix = await program.methods .initializeFlexibleVault( inputs.bump, inputs.rewardRate, inputs.withdrawDelayTime ) .accounts({ ...accounts, }) .instruction(); return ix }