/** * 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_INSTRUCTION_ACCOUNTS: { readonly distributor: 0; readonly clawbackReceiver: 1; readonly mint: 2; readonly tokenVault: 3; readonly admin: 4; readonly systemProgram: 5; readonly associatedTokenProgram: 6; readonly tokenProgram: 7; }; export type NewDistributorInstructionAccountName = keyof typeof NEW_DISTRIBUTOR_INSTRUCTION_ACCOUNTS; export declare const NEW_DISTRIBUTOR_DISCRIMINATOR: Uint8Array; export declare function getNewDistributorDiscriminatorBytes(): ReadonlyUint8Array; export type NewDistributorInstruction = string, TAccountClawbackReceiver extends string | AccountMeta = string, TAccountMint extends string | AccountMeta = string, TAccountTokenVault extends string | AccountMeta = string, TAccountAdmin extends string | AccountMeta = string, TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TAccountAssociatedTokenProgram extends string | AccountMeta = string, TAccountTokenProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountDistributor extends string ? WritableAccount : TAccountDistributor, TAccountClawbackReceiver extends string ? WritableAccount : TAccountClawbackReceiver, TAccountMint extends string ? ReadonlyAccount : TAccountMint, TAccountTokenVault extends string ? ReadonlyAccount : TAccountTokenVault, TAccountAdmin extends string ? WritableSignerAccount & AccountSignerMeta : TAccountAdmin, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, TAccountAssociatedTokenProgram extends string ? ReadonlyAccount : TAccountAssociatedTokenProgram, TAccountTokenProgram extends string ? ReadonlyAccount : 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; export declare function getNewDistributorInstructionDataDecoder(): FixedSizeDecoder; export declare function getNewDistributorInstructionDataCodec(): FixedSizeCodec; export type NewDistributorInput = { /** [MerkleDistributor]. */ distributor: Address; /** Clawback receiver token account */ clawbackReceiver: Address; /** The mint to distribute. */ mint: Address; /** * Token vault * Should create previously */ tokenVault: Address; /** * 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; /** The [System] program. */ systemProgram?: Address; /** The [Associated Token] program. */ associatedTokenProgram: Address; /** The [Token] program. */ tokenProgram?: Address; 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(input: NewDistributorInput, config?: { programAddress?: TProgramAddress; }): NewDistributorInstruction; export type ParsedNewDistributorInstruction = { programAddress: Address; 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(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedNewDistributorInstruction; //# sourceMappingURL=newDistributor.d.ts.map