export type CardinalTokenManager = { version: "4.6.0"; name: "cardinal_token_manager"; instructions: [ { name: "init"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "mintCounter"; isMut: true; isSigner: false; }, { name: "mint"; isMut: false; isSigner: false; }, { name: "issuer"; isMut: true; isSigner: true; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "issuerTokenAccount"; isMut: true; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "ix"; type: { defined: "InitIx"; }; } ]; }, { name: "uninit"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "issuer"; isMut: true; isSigner: false; }, { name: "issuerTokenAccount"; isMut: true; isSigner: false; }, { name: "authority"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "initMintCounter"; accounts: [ { name: "mintCounter"; isMut: true; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "mint"; type: "publicKey"; } ]; }, { name: "setClaimApprover"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "issuer"; isMut: true; isSigner: true; } ]; args: [ { name: "claimApprover"; type: "publicKey"; } ]; }, { name: "setTransferAuthority"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "issuer"; isMut: true; isSigner: true; } ]; args: [ { name: "transferAuthority"; type: "publicKey"; } ]; }, { name: "addInvalidator"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "issuer"; isMut: true; isSigner: true; } ]; args: [ { name: "invalidator"; type: "publicKey"; } ]; }, { name: "replaceInvalidator"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "invalidator"; isMut: false; isSigner: true; } ]; args: [ { name: "newInvalidator"; type: "publicKey"; } ]; }, { name: "createClaimReceipt"; accounts: [ { name: "tokenManager"; isMut: false; isSigner: false; }, { name: "claimApprover"; isMut: false; isSigner: true; }, { name: "claimReceipt"; isMut: true; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "target"; type: "publicKey"; } ]; }, { name: "claimReceiptMint"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "issuer"; isMut: true; isSigner: true; }, { name: "receiptMint"; isMut: true; isSigner: true; }, { name: "receiptMintMetadata"; isMut: true; isSigner: false; }, { name: "recipientTokenAccount"; isMut: true; isSigner: false; }, { name: "receiptMintManager"; isMut: true; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "associatedToken"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; }, { name: "tokenMetadataProgram"; isMut: false; isSigner: false; }, { name: "rent"; isMut: false; isSigner: false; } ]; args: [ { name: "name"; type: "string"; } ]; }, { name: "issue"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "tokenManagerTokenAccount"; isMut: true; isSigner: false; }, { name: "issuer"; isMut: false; isSigner: true; }, { name: "issuerTokenAccount"; isMut: true; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "unissue"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "tokenManagerTokenAccount"; isMut: true; isSigner: false; }, { name: "issuer"; isMut: true; isSigner: false; }, { name: "authority"; isMut: true; isSigner: true; }, { name: "issuerTokenAccount"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "claim"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "tokenManagerTokenAccount"; isMut: true; isSigner: false; }, { name: "mint"; isMut: false; isSigner: false; }, { name: "recipient"; isMut: true; isSigner: true; }, { name: "recipientTokenAccount"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "invalidate"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "tokenManagerTokenAccount"; isMut: true; isSigner: false; }, { name: "mint"; isMut: true; isSigner: false; }, { name: "recipientTokenAccount"; isMut: true; isSigner: false; }, { name: "invalidator"; isMut: false; isSigner: true; }, { name: "collector"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "rent"; isMut: false; isSigner: false; } ]; args: []; }, { name: "updateInvalidationType"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "issuer"; isMut: true; isSigner: true; } ]; args: [ { name: "invalidationType"; type: "u8"; } ]; }, { name: "createMintManager"; accounts: [ { name: "mintManager"; isMut: true; isSigner: false; }, { name: "mint"; isMut: true; isSigner: false; }, { name: "freezeAuthority"; isMut: false; isSigner: true; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "closeMintManager"; accounts: [ { name: "mintManager"; isMut: true; isSigner: false; }, { name: "mint"; isMut: true; isSigner: false; }, { name: "freezeAuthority"; isMut: false; isSigner: true; }, { name: "payer"; isMut: false; isSigner: true; }, { name: "tokenProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "createTransferReceipt"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "transferAuthority"; isMut: false; isSigner: true; }, { name: "transferReceipt"; isMut: true; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "target"; type: "publicKey"; } ]; }, { name: "updateTransferReceipt"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "transferAuthority"; isMut: false; isSigner: true; }, { name: "transferReceipt"; isMut: true; isSigner: false; } ]; args: [ { name: "target"; type: "publicKey"; } ]; }, { name: "closeTransferReceipt"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "transferAuthority"; isMut: false; isSigner: true; }, { name: "transferReceipt"; isMut: true; isSigner: false; }, { name: "recipient"; isMut: true; isSigner: false; } ]; args: []; }, { name: "transfer"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "mint"; isMut: false; isSigner: false; }, { name: "currentHolderTokenAccount"; isMut: true; isSigner: false; }, { name: "recipient"; isMut: true; isSigner: true; }, { name: "recipientTokenAccount"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "send"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "mint"; isMut: true; isSigner: false; }, { name: "mintManager"; isMut: true; isSigner: false; }, { name: "recipient"; isMut: true; isSigner: true; }, { name: "recipientTokenAccount"; isMut: true; isSigner: false; }, { name: "target"; isMut: false; isSigner: false; }, { name: "targetTokenAccount"; isMut: true; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "associatedTokenProgram"; isMut: false; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; }, { name: "rent"; isMut: false; isSigner: false; }, { name: "instructions"; isMut: false; isSigner: false; } ]; args: []; }, { name: "delegate"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "mint"; isMut: false; isSigner: false; }, { name: "mintManager"; isMut: true; isSigner: false; }, { name: "recipient"; isMut: true; isSigner: true; }, { name: "recipientTokenAccount"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "undelegate"; accounts: [ { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "mint"; isMut: false; isSigner: false; }, { name: "mintManager"; isMut: true; isSigner: false; }, { name: "recipient"; isMut: true; isSigner: true; }, { name: "recipientTokenAccount"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "migrate"; accounts: [ { name: "mintManager"; isMut: true; isSigner: false; }, { name: "tokenManager"; isMut: true; isSigner: false; }, { name: "tokenManagerTokenAccount"; isMut: true; isSigner: false; }, { name: "mint"; isMut: true; isSigner: false; }, { name: "mintMetadata"; isMut: true; isSigner: false; }, { name: "mintEdition"; isMut: true; isSigner: false; }, { name: "holderTokenAccount"; isMut: true; isSigner: false; }, { name: "updateAuthority"; isMut: true; isSigner: false; }, { name: "invalidator"; isMut: false; isSigner: true; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "collector"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; }, { name: "mplTokenMetadata"; isMut: false; isSigner: false; } ]; args: []; } ]; accounts: [ { name: "tokenManager"; type: { kind: "struct"; fields: [ { name: "version"; type: "u8"; }, { name: "bump"; type: "u8"; }, { name: "count"; type: "u64"; }, { name: "numInvalidators"; type: "u8"; }, { name: "issuer"; type: "publicKey"; }, { name: "mint"; type: "publicKey"; }, { name: "amount"; type: "u64"; }, { name: "kind"; type: "u8"; }, { name: "state"; type: "u8"; }, { name: "stateChangedAt"; type: "i64"; }, { name: "invalidationType"; type: "u8"; }, { name: "recipientTokenAccount"; type: "publicKey"; }, { name: "receiptMint"; type: { option: "publicKey"; }; }, { name: "claimApprover"; type: { option: "publicKey"; }; }, { name: "transferAuthority"; type: { option: "publicKey"; }; }, { name: "invalidators"; type: { vec: "publicKey"; }; } ]; }; }, { name: "mintManager"; type: { kind: "struct"; fields: [ { name: "bump"; type: "u8"; }, { name: "initializer"; type: "publicKey"; }, { name: "tokenManagers"; type: "u64"; } ]; }; }, { name: "mintCounter"; type: { kind: "struct"; fields: [ { name: "bump"; type: "u8"; }, { name: "mint"; type: "publicKey"; }, { name: "count"; type: "u64"; } ]; }; }, { name: "claimReceipt"; type: { kind: "struct"; fields: [ { name: "mintCount"; type: "u64"; }, { name: "tokenManager"; type: "publicKey"; }, { name: "target"; type: "publicKey"; } ]; }; }, { name: "transferReceipt"; type: { kind: "struct"; fields: [ { name: "mintCount"; type: "u64"; }, { name: "tokenManager"; type: "publicKey"; }, { name: "target"; type: "publicKey"; } ]; }; }, { name: "receiptMintManager"; type: { kind: "struct"; fields: [ { name: "bump"; type: "u8"; } ]; }; } ]; types: [ { name: "InitIx"; type: { kind: "struct"; fields: [ { name: "amount"; type: "u64"; }, { name: "kind"; type: "u8"; }, { name: "invalidationType"; type: "u8"; }, { name: "numInvalidators"; type: "u8"; } ]; }; }, { name: "TokenManagerState"; type: { kind: "enum"; variants: [ { name: "Initialized"; }, { name: "Issued"; }, { name: "Claimed"; }, { name: "Invalidated"; } ]; }; }, { name: "TokenManagerKind"; type: { kind: "enum"; variants: [ { name: "Managed"; }, { name: "Unmanaged"; }, { name: "Edition"; }, { name: "Permissioned"; }, { name: "Programmable"; } ]; }; }, { name: "InvalidationType"; type: { kind: "enum"; variants: [ { name: "Return"; }, { name: "Invalidate"; }, { name: "Release"; }, { name: "Reissue"; }, { name: "Vest"; } ]; }; } ]; errors: [ { code: 6000; name: "Uninitialized"; msg: "Account not initialized"; }, { code: 6001; name: "TooManyInvalidators"; msg: "Too many invalidators have already been added"; }, { code: 6002; name: "InvalidNumInvalidators"; msg: "Number of invalidators cannot be overwritten"; }, { code: 6003; name: "InvalidTokenManagerTokenAccount"; msg: "Token account not owned by token manager"; }, { code: 6004; name: "InvalidIssuerTokenAccount"; msg: "Token account not owned by issuer"; }, { code: 6005; name: "MaximumInvalidatorsReached"; msg: "Max invalidators reached"; }, { code: 6006; name: "InvalidRecipientTokenAccount"; msg: "Token account not owned by recipient"; }, { code: 6007; name: "InvalidInvalidatorTokenAccount"; msg: "Token account not owned by invalidator"; }, { code: 6008; name: "InvalidTokenManagerKind"; msg: "Token manager kind is not valid"; }, { code: 6009; name: "InvalidInvalidationType"; msg: "Invalid invalidation type"; }, { code: 6010; name: "InvalidClaimAuthority"; msg: "Invalid claim authority"; }, { code: 6011; name: "InvalidTransferAuthority"; msg: "Invalid transfer authority"; }, { code: 6012; name: "InvalidIssuer"; msg: "Invalid issuer"; }, { code: 6013; name: "InvalidInvalidator"; msg: "Invalid invalidator"; }, { code: 6014; name: "InvalidMint"; msg: "Invalid mint"; }, { code: 6015; name: "InvalidTokenManagerState"; msg: "Invalid token manager state"; }, { code: 6016; name: "OutstandingTokens"; msg: "Outstanding tokens exist"; }, { code: 6017; name: "InvalidFreezeAuthority"; msg: "User must be freeze authority to create mint manager"; }, { code: 6018; name: "InvalidInitializer"; msg: "User must be initializer to close mint manager"; }, { code: 6019; name: "InvalidClaimReceipt"; msg: "Invalid claim receipt"; }, { code: 6020; name: "InvalidTransferReceipt"; msg: "Invalid transfer receipt"; }, { code: 6021; name: "PublicKeyMismatch"; msg: "Public key mismatch"; }, { code: 6022; name: "InvalidMetadataProgramId"; msg: "Invalid metadata program id"; }, { code: 6023; name: "InvalidReceiptMintAccount"; msg: "Invalid receipt mint account"; }, { code: 6024; name: "InvalidReceiptMintOwner"; msg: "Invalid receipt mint owner"; }, { code: 6025; name: "InvalidReceiptMint"; msg: "Invalid receipt mint"; }, { code: 6026; name: "InvalidCurrentTokenAccount"; msg: "Invalid current holder token account"; }, { code: 6027; name: "InvalidMintSupply"; msg: "Invalid mint supply"; }, { code: 6028; name: "AccountDiscriminatorMismatch"; msg: "Invalid account discriminator"; }, { code: 6029; name: "InvalidationTypeUpdateDisallowed"; msg: "Invalidation type update only allowed between return and reissue"; }, { code: 6030; name: "ClaimApproverMustBeSet"; msg: "Claim approver must be set to use vesting invalidation type"; }, { code: 6031; name: "InvalidTargetTokenAccount"; msg: "Target token account is incorrect"; }, { code: 6032; name: "InstructionsDisallowed"; msg: "Transaction included disallowed"; }, { code: 6033; name: "InvalidInvalidationTypeKindMatch"; msg: "Invalidation type is not allowed with this token manager kind"; }, { code: 6034; name: "InvalidMintAuthority"; msg: "Invalid Mint Authority"; }, { code: 6035; name: "InvalidPermissionedRewardAddress"; msg: "Invalid Permissioned Reward Address"; }, { code: 6036; name: "NoCPIAllowed"; msg: "No CPI allowed for the instruction"; }, { code: 6037; name: "InvalidMigrateAuthority"; msg: "Invalid migrate authority"; }, { code: 6038; name: "CannotMigrateDelegatedToken"; msg: "Cannot migrate delegated token"; }, { code: 6039; name: "InvalidReturnTarget"; msg: "Invalid return target"; }, { code: 6040; name: "ProtocolsShutdown"; msg: "Cardinal Protocols are shutting down. Please read latest twitter post for more information"; } ]; }; export declare const IDL: CardinalTokenManager; //# sourceMappingURL=cardinal_token_manager.d.ts.map