UNPKG

@nosana/kit

Version:

Nosana KIT

65 lines (64 loc) 5.35 kB
/** * This code was AUTOGENERATED using the Codama library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun Codama to update it. * * @see https://github.com/codama-idl/codama */ import { type AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from '@solana/kit'; import { NOSANA_STAKING_PROGRAM_ADDRESS } from '../programs/index.js'; export declare const STAKE_DISCRIMINATOR: Uint8Array<ArrayBuffer>; export declare function getStakeDiscriminatorBytes(): ReadonlyUint8Array; export type StakeInstruction<TProgram extends string = typeof NOSANA_STAKING_PROGRAM_ADDRESS, TAccountMint extends string | AccountMeta<string> = string, TAccountUser extends string | AccountMeta<string> = string, TAccountVault extends string | AccountMeta<string> = string, TAccountStake extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountRent extends string | AccountMeta<string> = 'SysvarRent111111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[ TAccountMint extends string ? ReadonlyAccount<TAccountMint> : TAccountMint, TAccountUser extends string ? WritableAccount<TAccountUser> : TAccountUser, TAccountVault extends string ? WritableAccount<TAccountVault> : TAccountVault, TAccountStake extends string ? WritableAccount<TAccountStake> : TAccountStake, TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram, TAccountRent extends string ? ReadonlyAccount<TAccountRent> : TAccountRent, ...TRemainingAccounts ]>; export type StakeInstructionData = { discriminator: ReadonlyUint8Array; amount: bigint; duration: bigint; }; export type StakeInstructionDataArgs = { amount: number | bigint; duration: number | bigint; }; export declare function getStakeInstructionDataEncoder(): FixedSizeEncoder<StakeInstructionDataArgs>; export declare function getStakeInstructionDataDecoder(): FixedSizeDecoder<StakeInstructionData>; export declare function getStakeInstructionDataCodec(): FixedSizeCodec<StakeInstructionDataArgs, StakeInstructionData>; export type StakeInput<TAccountMint extends string = string, TAccountUser extends string = string, TAccountVault extends string = string, TAccountStake extends string = string, TAccountAuthority extends string = string, TAccountSystemProgram extends string = string, TAccountTokenProgram extends string = string, TAccountRent extends string = string> = { mint: Address<TAccountMint>; user: Address<TAccountUser>; vault: Address<TAccountVault>; stake: Address<TAccountStake>; authority: TransactionSigner<TAccountAuthority>; systemProgram?: Address<TAccountSystemProgram>; tokenProgram?: Address<TAccountTokenProgram>; rent?: Address<TAccountRent>; amount: StakeInstructionDataArgs['amount']; duration: StakeInstructionDataArgs['duration']; }; export declare function getStakeInstruction<TAccountMint extends string, TAccountUser extends string, TAccountVault extends string, TAccountStake extends string, TAccountAuthority extends string, TAccountSystemProgram extends string, TAccountTokenProgram extends string, TAccountRent extends string, TProgramAddress extends Address = typeof NOSANA_STAKING_PROGRAM_ADDRESS>(input: StakeInput<TAccountMint, TAccountUser, TAccountVault, TAccountStake, TAccountAuthority, TAccountSystemProgram, TAccountTokenProgram, TAccountRent>, config?: { programAddress?: TProgramAddress; }): StakeInstruction<TProgramAddress, TAccountMint, TAccountUser, TAccountVault, TAccountStake, TAccountAuthority, TAccountSystemProgram, TAccountTokenProgram, TAccountRent>; export type ParsedStakeInstruction<TProgram extends string = typeof NOSANA_STAKING_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = { programAddress: Address<TProgram>; accounts: { mint: TAccountMetas[0]; user: TAccountMetas[1]; vault: TAccountMetas[2]; stake: TAccountMetas[3]; authority: TAccountMetas[4]; systemProgram: TAccountMetas[5]; tokenProgram: TAccountMetas[6]; rent: TAccountMetas[7]; }; data: StakeInstructionData; }; export declare function parseStakeInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedStakeInstruction<TProgram, TAccountMetas>;