import { Program } from "@project-serum/anchor"; import { PublicKey, Signer } from "@solana/web3.js"; import { PsyStake } from "../../psy_stake"; import * as pdas from "../../pdas"; const getMethodBuilder = async ( program: Program, recordOwner: PublicKey, stakePool: PublicKey ) => { const [stakingRecord] = await pdas.deriveStakingRecord( program.programId, recordOwner, stakePool ); return await program.methods.createStakingRecord().accounts({ recordOwner, stakePool, stakingRecord, }); }; export const createStakingRecordInstruction = async ( program: Program, recordOwner: PublicKey, stakePool: PublicKey ) => { return ( await getMethodBuilder(program, recordOwner, stakePool) ).instruction(); }; export const createStakingRecordRpc = async ( program: Program, recordOwner: PublicKey, stakePool: PublicKey, signers: Signer[] ) => { return (await getMethodBuilder(program, recordOwner, stakePool)) .signers(signers) .rpc(); };