/** * 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 Codec, type Decoder, type Encoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlySignerAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from '@solana/kit'; import { SOLANA_ATTESTATION_SERVICE_PROGRAM_ADDRESS } from '../programs'; export declare const CREATE_TOKENIZED_ATTESTATION_DISCRIMINATOR = 10; export declare function getCreateTokenizedAttestationDiscriminatorBytes(): ReadonlyUint8Array; export type CreateTokenizedAttestationInstruction = string, TAccountAuthority extends string | AccountMeta = string, TAccountCredential extends string | AccountMeta = string, TAccountSchema extends string | AccountMeta = string, TAccountAttestation extends string | AccountMeta = string, TAccountSystemProgram extends string | AccountMeta = '11111111111111111111111111111111', TAccountSchemaMint extends string | AccountMeta = string, TAccountAttestationMint extends string | AccountMeta = string, TAccountSasPda extends string | AccountMeta = string, TAccountRecipientTokenAccount extends string | AccountMeta = string, TAccountRecipient extends string | AccountMeta = string, TAccountTokenProgram extends string | AccountMeta = 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb', TAccountAssociatedTokenProgram extends string | AccountMeta = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL', TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountPayer extends string ? WritableSignerAccount & AccountSignerMeta : TAccountPayer, TAccountAuthority extends string ? ReadonlySignerAccount & AccountSignerMeta : TAccountAuthority, TAccountCredential extends string ? ReadonlyAccount : TAccountCredential, TAccountSchema extends string ? ReadonlyAccount : TAccountSchema, TAccountAttestation extends string ? WritableAccount : TAccountAttestation, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, TAccountSchemaMint extends string ? WritableAccount : TAccountSchemaMint, TAccountAttestationMint extends string ? WritableAccount : TAccountAttestationMint, TAccountSasPda extends string ? ReadonlyAccount : TAccountSasPda, TAccountRecipientTokenAccount extends string ? WritableAccount : TAccountRecipientTokenAccount, TAccountRecipient extends string ? ReadonlyAccount : TAccountRecipient, TAccountTokenProgram extends string ? ReadonlyAccount : TAccountTokenProgram, TAccountAssociatedTokenProgram extends string ? ReadonlyAccount : TAccountAssociatedTokenProgram, ...TRemainingAccounts ]>; export type CreateTokenizedAttestationInstructionData = { discriminator: number; nonce: Address; data: ReadonlyUint8Array; expiry: bigint; name: string; uri: string; symbol: string; mintAccountSpace: number; }; export type CreateTokenizedAttestationInstructionDataArgs = { nonce: Address; data: ReadonlyUint8Array; expiry: number | bigint; name: string; uri: string; symbol: string; mintAccountSpace: number; }; export declare function getCreateTokenizedAttestationInstructionDataEncoder(): Encoder; export declare function getCreateTokenizedAttestationInstructionDataDecoder(): Decoder; export declare function getCreateTokenizedAttestationInstructionDataCodec(): Codec; export type CreateTokenizedAttestationInput = { payer: TransactionSigner; /** Authorized signer of the Schema's Credential */ authority: TransactionSigner; /** Credential the Schema is associated with */ credential: Address; /** Schema the Attestation is associated with */ schema: Address; attestation: Address; systemProgram?: Address; /** Mint of Schema Token */ schemaMint: Address; /** Mint of Attestation Token */ attestationMint: Address; /** Program derived address used as program signer authority */ sasPda: Address; /** Associated token account of Recipient for Attestation Token */ recipientTokenAccount: Address; /** Wallet to receive Attestation Token */ recipient: Address; tokenProgram?: Address; associatedTokenProgram?: Address; nonce: CreateTokenizedAttestationInstructionDataArgs['nonce']; data: CreateTokenizedAttestationInstructionDataArgs['data']; expiry: CreateTokenizedAttestationInstructionDataArgs['expiry']; name: CreateTokenizedAttestationInstructionDataArgs['name']; uri: CreateTokenizedAttestationInstructionDataArgs['uri']; symbol: CreateTokenizedAttestationInstructionDataArgs['symbol']; mintAccountSpace: CreateTokenizedAttestationInstructionDataArgs['mintAccountSpace']; }; export declare function getCreateTokenizedAttestationInstruction(input: CreateTokenizedAttestationInput, config?: { programAddress?: TProgramAddress; }): CreateTokenizedAttestationInstruction; export type ParsedCreateTokenizedAttestationInstruction = { programAddress: Address; accounts: { payer: TAccountMetas[0]; /** Authorized signer of the Schema's Credential */ authority: TAccountMetas[1]; /** Credential the Schema is associated with */ credential: TAccountMetas[2]; /** Schema the Attestation is associated with */ schema: TAccountMetas[3]; attestation: TAccountMetas[4]; systemProgram: TAccountMetas[5]; /** Mint of Schema Token */ schemaMint: TAccountMetas[6]; /** Mint of Attestation Token */ attestationMint: TAccountMetas[7]; /** Program derived address used as program signer authority */ sasPda: TAccountMetas[8]; /** Associated token account of Recipient for Attestation Token */ recipientTokenAccount: TAccountMetas[9]; /** Wallet to receive Attestation Token */ recipient: TAccountMetas[10]; tokenProgram: TAccountMetas[11]; associatedTokenProgram: TAccountMetas[12]; }; data: CreateTokenizedAttestationInstructionData; }; export declare function parseCreateTokenizedAttestationInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedCreateTokenizedAttestationInstruction;