@shyft.to/solana-transaction-parser
Version:
Tool for parsing arbitrary Solana transactions with IDL/custom parsers
1,300 lines • 36.4 kB
TypeScript
export declare type SplToken22 = {
version: "1.0.0";
name: "spl_token_2022";
instructions: [
{
name: "initializeMint";
accounts: [
{
name: "mint";
isMut: true;
isSigner: false;
},
{
name: "rent";
isMut: false;
isSigner: false;
}
];
args: [
{
name: "decimals";
type: "u8";
},
{
name: "mintAuthority";
type: "publicKey";
},
{
name: "freezeAuthority";
type: {
defined: "COption<Pubkey>";
};
}
];
},
{
name: "initializeAccount";
accounts: [
{
name: "account";
isMut: true;
isSigner: false;
},
{
name: "mint";
isMut: false;
isSigner: false;
},
{
name: "owner";
isMut: false;
isSigner: false;
},
{
name: "rent";
isMut: false;
isSigner: false;
}
];
args: [];
},
{
name: "initializeMultisig";
accounts: [
{
name: "multisig";
isMut: true;
isSigner: false;
},
{
name: "rent";
isMut: false;
isSigner: false;
}
];
args: [
{
name: "m";
type: "u8";
}
];
},
{
name: "transfer";
accounts: [
{
name: "source";
isMut: true;
isSigner: false;
},
{
name: "destination";
isMut: true;
isSigner: false;
},
{
name: "authority";
isMut: false;
isSigner: true;
}
];
args: [
{
name: "amount";
type: "u64";
}
];
},
{
name: "approve";
accounts: [
{
name: "source";
isMut: true;
isSigner: false;
},
{
name: "delegate";
isMut: false;
isSigner: false;
},
{
name: "owner";
isMut: false;
isSigner: true;
}
];
args: [
{
name: "amount";
type: "u64";
}
];
},
{
name: "revoke";
accounts: [
{
name: "source";
isMut: true;
isSigner: false;
},
{
name: "owner";
isMut: false;
isSigner: true;
}
];
args: [];
},
{
name: "setAuthority";
accounts: [
{
name: "owned";
isMut: true;
isSigner: false;
},
{
name: "owner";
isMut: false;
isSigner: true;
},
{
name: "signer";
isMut: false;
isSigner: true;
}
];
args: [
{
name: "authorityType";
type: {
defined: "AuthorityType";
};
},
{
name: "newAuthority";
type: {
defined: "COption<Pubkey>";
};
}
];
},
{
name: "mintTo";
accounts: [
{
name: "mint";
isMut: true;
isSigner: false;
},
{
name: "account";
isMut: true;
isSigner: false;
},
{
name: "owner";
isMut: false;
isSigner: true;
}
];
args: [
{
name: "amount";
type: "u64";
}
];
},
{
name: "burn";
accounts: [
{
name: "account";
isMut: true;
isSigner: false;
},
{
name: "mint";
isMut: true;
isSigner: false;
},
{
name: "authority";
isMut: false;
isSigner: true;
}
];
args: [
{
name: "amount";
type: "u64";
}
];
},
{
name: "closeAccount";
accounts: [
{
name: "account";
isMut: true;
isSigner: false;
},
{
name: "destination";
isMut: true;
isSigner: false;
},
{
name: "owner";
isMut: false;
isSigner: true;
}
];
args: [];
},
{
name: "freezeAccount";
accounts: [
{
name: "account";
isMut: true;
isSigner: false;
},
{
name: "mint";
isMut: false;
isSigner: false;
},
{
name: "owner";
isMut: false;
isSigner: true;
}
];
args: [];
},
{
name: "thawAccount";
accounts: [
{
name: "account";
isMut: true;
isSigner: false;
},
{
name: "mint";
isMut: false;
isSigner: false;
},
{
name: "owner";
isMut: false;
isSigner: true;
}
];
args: [];
},
{
name: "transferChecked";
accounts: [
{
name: "source";
isMut: true;
isSigner: false;
},
{
name: "mint";
isMut: false;
isSigner: false;
},
{
name: "destination";
isMut: true;
isSigner: false;
},
{
name: "authority";
isMut: false;
isSigner: true;
}
];
args: [
{
name: "amount";
type: "u64";
},
{
name: "decimals";
type: "u8";
}
];
},
{
name: "approveChecked";
accounts: [
{
name: "source";
isMut: true;
isSigner: false;
},
{
name: "mint";
isMut: false;
isSigner: false;
},
{
name: "delegate";
isMut: false;
isSigner: false;
},
{
name: "owner";
isMut: false;
isSigner: true;
}
];
args: [
{
name: "amount";
type: "u64";
},
{
name: "decimals";
type: "u8";
}
];
},
{
name: "mintToChecked";
accounts: [
{
name: "mint";
isMut: true;
isSigner: false;
},
{
name: "account";
isMut: true;
isSigner: false;
},
{
name: "owner";
isMut: false;
isSigner: true;
}
];
args: [
{
name: "amount";
type: "u64";
},
{
name: "decimals";
type: "u8";
}
];
},
{
name: "burnChecked";
accounts: [
{
name: "account";
isMut: true;
isSigner: false;
},
{
name: "mint";
isMut: true;
isSigner: false;
},
{
name: "authority";
isMut: false;
isSigner: true;
}
];
args: [
{
name: "amount";
type: "u64";
},
{
name: "decimals";
type: "u8";
}
];
},
{
name: "initializeAccount2";
accounts: [
{
name: "account";
isMut: true;
isSigner: false;
},
{
name: "mint";
isMut: false;
isSigner: false;
},
{
name: "rent";
isMut: false;
isSigner: false;
}
];
args: [
{
name: "owner";
type: "publicKey";
}
];
},
{
name: "syncNative";
accounts: [
{
name: "account";
isMut: true;
isSigner: false;
}
];
args: [];
},
{
name: "initializeAccount3";
accounts: [
{
name: "account";
isMut: true;
isSigner: false;
},
{
name: "mint";
isMut: false;
isSigner: false;
}
];
args: [
{
name: "owner";
type: "publicKey";
}
];
},
{
name: "initializeMultisig2";
accounts: [
{
name: "multisig";
isMut: true;
isSigner: false;
},
{
name: "signer";
isMut: false;
isSigner: false;
}
];
args: [
{
name: "m";
type: "u8";
}
];
},
{
name: "initializeMint2";
accounts: [
{
name: "mint";
isMut: true;
isSigner: false;
}
];
args: [
{
name: "decimals";
type: "u8";
},
{
name: "mintAuthority";
type: "publicKey";
},
{
name: "freezeAuthority";
type: {
defined: "COption<Pubkey>";
};
}
];
},
{
name: "getAccountDataSize";
accounts: [
{
name: "mint";
isMut: false;
isSigner: false;
}
];
args: [
{
name: "extensionTypes";
type: {
vec: {
defined: "ExtensionType";
};
};
}
];
},
{
name: "initializeImmutableOwner";
accounts: [
{
name: "tokenAccount";
isMut: true;
isSigner: false;
}
];
args: [];
},
{
name: "amountToUiAmount";
accounts: [
{
name: "mint";
isMut: false;
isSigner: false;
}
];
args: [
{
name: "amount";
type: "u64";
}
];
},
{
name: "uiAmountToAmount";
accounts: [
{
name: "mint";
isMut: false;
isSigner: false;
}
];
args: [
{
name: "uiAmount";
type: {
defined: "&'astr";
};
}
];
},
{
name: "initializeMintCloseAuthority";
accounts: [
{
name: "mint";
isMut: true;
isSigner: false;
}
];
args: [
{
name: "closeAuthority";
type: {
defined: "COption<Pubkey>";
};
}
];
},
{
name: "reallocate";
accounts: [
{
name: "account";
isMut: true;
isSigner: false;
},
{
name: "payer";
isMut: true;
isSigner: true;
},
{
name: "systemProgram";
isMut: false;
isSigner: false;
},
{
name: "owner";
isMut: false;
isSigner: true;
}
];
args: [
{
name: "extensionTypes";
type: {
vec: {
defined: "ExtensionType";
};
};
}
];
},
{
name: "createNativeMint";
accounts: [
{
name: "payer";
isMut: true;
isSigner: true;
},
{
name: "crateNativeMint";
isMut: true;
isSigner: false;
},
{
name: "systemProgram";
isMut: false;
isSigner: false;
}
];
args: [];
},
{
name: "initializeNonTransferableMint";
accounts: [
{
name: "mint";
isMut: true;
isSigner: false;
}
];
args: [];
},
{
name: "initializePermanentDelegate";
accounts: [
{
name: "mint";
isMut: true;
isSigner: false;
}
];
args: [
{
name: "delegate";
type: "publicKey";
}
];
},
{
name: "withdrawExcessLamports";
accounts: [
{
name: "sourceAccount";
isMut: true;
isSigner: false;
},
{
name: "destinationAccount";
isMut: true;
isSigner: false;
},
{
name: "authority";
isMut: false;
isSigner: true;
}
];
args: [];
}
];
accounts: [
{
name: "Mint";
type: {
kind: "struct";
fields: [
{
name: "mintAuthority";
type: {
defined: "COption<Pubkey>";
};
},
{
name: "supply";
type: "u64";
},
{
name: "decimals";
type: "u8";
},
{
name: "isInitialized";
type: "bool";
},
{
name: "freezeAuthority";
type: {
defined: "COption<Pubkey>";
};
}
];
};
},
{
name: "Account";
type: {
kind: "struct";
fields: [
{
name: "mint";
type: "publicKey";
},
{
name: "owner";
type: "publicKey";
},
{
name: "amount";
type: "u64";
},
{
name: "delegate";
type: {
defined: "COption<Pubkey>";
};
},
{
name: "state";
type: {
defined: "AccountState";
};
},
{
name: "isNative";
type: {
defined: "COption<u64>";
};
},
{
name: "delegatedAmount";
type: "u64";
},
{
name: "closeAuthority";
type: {
defined: "COption<Pubkey>";
};
}
];
};
},
{
name: "Multisig";
type: {
kind: "struct";
fields: [
{
name: "m";
type: "u8";
},
{
name: "n";
type: "u8";
},
{
name: "isInitialized";
type: "bool";
},
{
name: "signers";
type: {
array: ["publicKey", 11];
};
}
];
};
}
];
types: [
{
name: "AccountState";
type: {
kind: "enum";
variants: [
{
name: "Uninitialized";
},
{
name: "Initialized";
},
{
name: "Frozen";
}
];
};
},
{
name: "AuthorityType";
type: {
kind: "enum";
variants: [
{
name: "MintTokens";
},
{
name: "FreezeAccount";
},
{
name: "AccountOwner";
},
{
name: "CloseAccount";
},
{
name: "TransferFeeConfig";
},
{
name: "WithheldWithdraw";
},
{
name: "CloseMint";
},
{
name: "InterestRate";
},
{
name: "PermanentDelegate";
},
{
name: "ConfidentialTransferMint";
},
{
name: "TransferHookProgramId";
},
{
name: "ConfidentialTransferFeeConfig";
},
{
name: "MetadataPointer";
},
{
name: "GroupPointer";
},
{
name: "GroupMemberPointer";
}
];
};
},
{
name: "ExtensionType";
type: {
kind: "enum";
variants: [
{
name: "Uninitialized";
},
{
name: "TransferFeeConfig";
},
{
name: "TransferFeeAmount";
},
{
name: "MintCloseAuthority";
},
{
name: "ConfidentialTransferMint";
},
{
name: "ConfidentialTransferAccount";
},
{
name: "DefaultAccountState";
},
{
name: "ImmutableOwner";
},
{
name: "MemoTransfer";
},
{
name: "NonTransferable";
},
{
name: "InterestBearingConfig";
},
{
name: "CpiGuard";
},
{
name: "PermanentDelegate";
},
{
name: "NonTransferableAccount";
},
{
name: "TransferHook";
},
{
name: "TransferHookAccount";
},
{
name: "ConfidentialTransferFeeConfig";
},
{
name: "ConfidentialTransferFeeAmount";
},
{
name: "MetadataPointer";
},
{
name: "TokenMetadata";
},
{
name: "GroupPointer";
},
{
name: "TokenGroup";
},
{
name: "GroupMemberPointer";
},
{
name: "TokenGroupMember";
},
{
name: "VariableLenMintTest";
},
{
name: "AccountPaddingTest";
},
{
name: "MintPaddingTest";
}
];
};
}
];
errors: [
{
code: 0;
name: "NotRentExempt";
msg: "Lamport balance below rent-exempt threshold";
},
{
code: 1;
name: "InsufficientFunds";
msg: "Insufficient funds";
},
{
code: 2;
name: "InvalidMint";
msg: "Invalid Mint";
},
{
code: 3;
name: "MintMismatch";
msg: "Account not associated with this Mint";
},
{
code: 4;
name: "OwnerMismatch";
msg: "Owner does not match";
},
{
code: 5;
name: "FixedSupply";
msg: "Fixed supply";
},
{
code: 6;
name: "AlreadyInUse";
msg: "Already in use";
},
{
code: 7;
name: "InvalidNumberOfProvidedSigners";
msg: "Invalid number of provided signers";
},
{
code: 8;
name: "InvalidNumberOfRequiredSigners";
msg: "Invalid number of required signers";
},
{
code: 9;
name: "UninitializedState";
msg: "State is uninitialized";
},
{
code: 10;
name: "NativeNotSupported";
msg: "Instruction does not support native tokens";
},
{
code: 11;
name: "NonNativeHasBalance";
msg: "Non-native account can only be closed if its balance is zero";
},
{
code: 12;
name: "InvalidInstruction";
msg: "Invalid instruction";
},
{
code: 13;
name: "InvalidState";
msg: "State is invalid for requested operation";
},
{
code: 14;
name: "Overflow";
msg: "Operation overflowed";
},
{
code: 15;
name: "AuthorityTypeNotSupported";
msg: "Account does not support specified authority type";
},
{
code: 16;
name: "MintCannotFreeze";
msg: "This token mint cannot freeze accounts";
},
{
code: 17;
name: "AccountFrozen";
msg: "Account is frozen";
},
{
code: 18;
name: "MintDecimalsMismatch";
msg: "The provided decimals value different from the Mint decimals";
},
{
code: 19;
name: "NonNativeNotSupported";
msg: "Instruction does not support non-native tokens";
},
{
code: 20;
name: "ExtensionTypeMismatch";
msg: "Extension type does not match already existing extensions";
},
{
code: 21;
name: "ExtensionBaseMismatch";
msg: "Extension does not match the base type provided";
},
{
code: 22;
name: "ExtensionAlreadyInitialized";
msg: "Extension already initialized on this account";
},
{
code: 23;
name: "ConfidentialTransferAccountHasBalance";
msg: "An account can only be closed if its confidential balance is zero";
},
{
code: 24;
name: "ConfidentialTransferAccountNotApproved";
msg: "Account not approved for confidential transfers";
},
{
code: 25;
name: "ConfidentialTransferDepositsAndTransfersDisabled";
msg: "Account not accepting deposits or transfers";
},
{
code: 26;
name: "ConfidentialTransferElGamalPubkeyMismatch";
msg: "ElGamal public key mismatch";
},
{
code: 27;
name: "ConfidentialTransferBalanceMismatch";
msg: "Balance mismatch";
},
{
code: 28;
name: "MintHasSupply";
msg: "Mint has non-zero supply. Burn all tokens before closing the mint";
},
{
code: 29;
name: "NoAuthorityExists";
msg: "No authority exists to perform the desired operation";
},
{
code: 30;
name: "TransferFeeExceedsMaximum";
msg: "Transfer fee exceeds maximum of 10,000 basis points";
},
{
code: 31;
name: "MintRequiredForTransfer";
msg: "Mint required for this account to transfer tokens, use `transfer_checked` or `transfer_checked_with_fee`";
},
{
code: 32;
name: "FeeMismatch";
msg: "Calculated fee does not match expected fee";
},
{
code: 33;
name: "FeeParametersMismatch";
msg: "Fee parameters associated with zero-knowledge proofs do not match fee parameters in mint";
},
{
code: 34;
name: "ImmutableOwner";
msg: "The owner authority cannot be changed";
},
{
code: 35;
name: "AccountHasWithheldTransferFees";
msg: "An account can only be closed if its withheld fee balance is zero, harvest fees to the mint and try again";
},
{
code: 36;
name: "NoMemo";
msg: "No memo in previous instruction; required for recipient to receive a transfer";
},
{
code: 37;
name: "NonTransferable";
msg: "Transfer is disabled for this mint";
},
{
code: 38;
name: "NonTransferableNeedsImmutableOwnership";
msg: "Non-transferable tokens can't be minted to an account without immutable ownership";
},
{
code: 39;
name: "MaximumPendingBalanceCreditCounterExceeded";
msg: "The total number of `Deposit` and `Transfer` instructions to an account cannot exceed\n the associated `maximum_pending_balance_credit_counter`";
},
{
code: 40;
name: "MaximumDepositAmountExceeded";
msg: "Deposit amount exceeds maximum limit";
},
{
code: 41;
name: "CpiGuardSettingsLocked";
msg: "CPI Guard cannot be enabled or disabled in CPI";
},
{
code: 42;
name: "CpiGuardTransferBlocked";
msg: "CPI Guard is enabled, and a program attempted to transfer user funds via CPI without using a delegate";
},
{
code: 43;
name: "CpiGuardBurnBlocked";
msg: "CPI Guard is enabled, and a program attempted to burn user funds via CPI without using a delegate";
},
{
code: 44;
name: "CpiGuardCloseAccountBlocked";
msg: "CPI Guard is enabled, and a program attempted to close an account via CPI without returning lamports to owner";
},
{
code: 45;
name: "CpiGuardApproveBlocked";
msg: "CPI Guard is enabled, and a program attempted to approve a delegate via CPI";
},
{
code: 46;
name: "CpiGuardSetAuthorityBlocked";
msg: "CPI Guard is enabled, and a program attempted to add or replace an authority via CPI";
},
{
code: 47;
name: "CpiGuardOwnerChangeBlocked";
msg: "Account ownership cannot be changed while CPI Guard is enabled";
},
{
code: 48;
name: "ExtensionNotFound";
msg: "Extension not found in account data";
},
{
code: 49;
name: "NonConfidentialTransfersDisabled";
msg: "Non-confidential transfers disabled";
},
{
code: 50;
name: "ConfidentialTransferFeeAccountHasWithheldFee";
msg: "An account can only be closed if the confidential withheld fee is zero";
},
{
code: 51;
name: "InvalidExtensionCombination";
msg: "A mint or an account is initialized to an invalid combination of extensions";
},
{
code: 52;
name: "InvalidLengthForAlloc";
msg: "Extension allocation with overwrite must use the same length";
},
{
code: 53;
name: "AccountDecryption";
msg: "Failed to decrypt a confidential transfer account";
},
{
code: 54;
name: "ProofGeneration";
msg: "Failed to generate proof";
},
{
code: 55;
name: "InvalidProofInstructionOffset";
msg: "An invalid proof instruction offset was provided";
},
{
code: 56;
name: "HarvestToMintDisabled";
msg: "Harvest of withheld tokens to mint is disabled";
},
{
code: 57;
name: "SplitProofContextStateAccountsNotSupported";
msg: "Split proof context state accounts not supported for instruction";
},
{
code: 58;
name: "NotEnoughProofContextStateAccounts";
msg: "Not enough proof context state accounts provided";
},
{
code: 59;
name: "MalformedCiphertext";
msg: "Ciphertext is malformed";
},
{
code: 60;
name: "CiphertextArithmeticFailed";
msg: "Ciphertext arithmetic failed";
}
];
};
//# sourceMappingURL=spl-token-22.program.d.ts.map