@nosana/kit
Version:
Nosana KIT
114 lines (113 loc) • 7.83 kB
TypeScript
/**
* 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 { MERKLE_DISTRIBUTOR_PROGRAM_ADDRESS } from '../programs/index.js';
export declare const NEW_DISTRIBUTOR_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
export declare function getNewDistributorDiscriminatorBytes(): ReadonlyUint8Array;
export type NewDistributorInstruction<TProgram extends string = typeof MERKLE_DISTRIBUTOR_PROGRAM_ADDRESS, TAccountDistributor extends string | AccountMeta<string> = string, TAccountClawbackReceiver extends string | AccountMeta<string> = string, TAccountMint extends string | AccountMeta<string> = string, TAccountTokenVault extends string | AccountMeta<string> = string, TAccountAdmin extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TAccountAssociatedTokenProgram extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
TAccountDistributor extends string ? WritableAccount<TAccountDistributor> : TAccountDistributor,
TAccountClawbackReceiver extends string ? WritableAccount<TAccountClawbackReceiver> : TAccountClawbackReceiver,
TAccountMint extends string ? ReadonlyAccount<TAccountMint> : TAccountMint,
TAccountTokenVault extends string ? ReadonlyAccount<TAccountTokenVault> : TAccountTokenVault,
TAccountAdmin extends string ? WritableSignerAccount<TAccountAdmin> & AccountSignerMeta<TAccountAdmin> : TAccountAdmin,
TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
...TRemainingAccounts
]>;
export type NewDistributorInstructionData = {
discriminator: ReadonlyUint8Array;
version: bigint;
root: ReadonlyUint8Array;
maxTotalClaim: bigint;
maxNumNodes: bigint;
startVestingTs: bigint;
endVestingTs: bigint;
clawbackStartTs: bigint;
enableSlot: bigint;
closable: boolean;
};
export type NewDistributorInstructionDataArgs = {
version: number | bigint;
root: ReadonlyUint8Array;
maxTotalClaim: number | bigint;
maxNumNodes: number | bigint;
startVestingTs: number | bigint;
endVestingTs: number | bigint;
clawbackStartTs: number | bigint;
enableSlot: number | bigint;
closable: boolean;
};
export declare function getNewDistributorInstructionDataEncoder(): FixedSizeEncoder<NewDistributorInstructionDataArgs>;
export declare function getNewDistributorInstructionDataDecoder(): FixedSizeDecoder<NewDistributorInstructionData>;
export declare function getNewDistributorInstructionDataCodec(): FixedSizeCodec<NewDistributorInstructionDataArgs, NewDistributorInstructionData>;
export type NewDistributorInput<TAccountDistributor extends string = string, TAccountClawbackReceiver extends string = string, TAccountMint extends string = string, TAccountTokenVault extends string = string, TAccountAdmin extends string = string, TAccountSystemProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountTokenProgram extends string = string> = {
/** [MerkleDistributor]. */
distributor: Address<TAccountDistributor>;
/** Clawback receiver token account */
clawbackReceiver: Address<TAccountClawbackReceiver>;
/** The mint to distribute. */
mint: Address<TAccountMint>;
/**
* Token vault
* Should create previously
*/
tokenVault: Address<TAccountTokenVault>;
/**
* Admin wallet, responsible for creating the distributor and paying for the transaction.
* Also has the authority to set the clawback receiver and change itself.
*/
admin: TransactionSigner<TAccountAdmin>;
/** The [System] program. */
systemProgram?: Address<TAccountSystemProgram>;
/** The [Associated Token] program. */
associatedTokenProgram: Address<TAccountAssociatedTokenProgram>;
/** The [Token] program. */
tokenProgram?: Address<TAccountTokenProgram>;
version: NewDistributorInstructionDataArgs['version'];
root: NewDistributorInstructionDataArgs['root'];
maxTotalClaim: NewDistributorInstructionDataArgs['maxTotalClaim'];
maxNumNodes: NewDistributorInstructionDataArgs['maxNumNodes'];
startVestingTs: NewDistributorInstructionDataArgs['startVestingTs'];
endVestingTs: NewDistributorInstructionDataArgs['endVestingTs'];
clawbackStartTs: NewDistributorInstructionDataArgs['clawbackStartTs'];
enableSlot: NewDistributorInstructionDataArgs['enableSlot'];
closable: NewDistributorInstructionDataArgs['closable'];
};
export declare function getNewDistributorInstruction<TAccountDistributor extends string, TAccountClawbackReceiver extends string, TAccountMint extends string, TAccountTokenVault extends string, TAccountAdmin extends string, TAccountSystemProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountTokenProgram extends string, TProgramAddress extends Address = typeof MERKLE_DISTRIBUTOR_PROGRAM_ADDRESS>(input: NewDistributorInput<TAccountDistributor, TAccountClawbackReceiver, TAccountMint, TAccountTokenVault, TAccountAdmin, TAccountSystemProgram, TAccountAssociatedTokenProgram, TAccountTokenProgram>, config?: {
programAddress?: TProgramAddress;
}): NewDistributorInstruction<TProgramAddress, TAccountDistributor, TAccountClawbackReceiver, TAccountMint, TAccountTokenVault, TAccountAdmin, TAccountSystemProgram, TAccountAssociatedTokenProgram, TAccountTokenProgram>;
export type ParsedNewDistributorInstruction<TProgram extends string = typeof MERKLE_DISTRIBUTOR_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
programAddress: Address<TProgram>;
accounts: {
/** [MerkleDistributor]. */
distributor: TAccountMetas[0];
/** Clawback receiver token account */
clawbackReceiver: TAccountMetas[1];
/** The mint to distribute. */
mint: TAccountMetas[2];
/**
* Token vault
* Should create previously
*/
tokenVault: TAccountMetas[3];
/**
* Admin wallet, responsible for creating the distributor and paying for the transaction.
* Also has the authority to set the clawback receiver and change itself.
*/
admin: TAccountMetas[4];
/** The [System] program. */
systemProgram: TAccountMetas[5];
/** The [Associated Token] program. */
associatedTokenProgram: TAccountMetas[6];
/** The [Token] program. */
tokenProgram: TAccountMetas[7];
};
data: NewDistributorInstructionData;
};
export declare function parseNewDistributorInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedNewDistributorInstruction<TProgram, TAccountMetas>;