@solana/errors

This package brings together every error message across all Solana JavaScript modules.

When your bundler sets the constant __DEV__ to true, every error message will be included in the bundle. As such, you will be able to read them in plain language wherever they appear.

Warning

The size of your JavaScript bundle will increase significantly with the inclusion of every error message in development mode. Be sure to build your bundle with __DEV__ set to false when you go to production.

When your bundler sets the constant __DEV__ to false, error messages will be stripped from the bundle to save space. Only the error code will appear when an error is encountered. Follow the instructions in the error message to convert the error code back to the human-readable error message.

For instance, to recover the error text for the error with code 123:

npx @solana/errors decode -- 123
Important

The string representation of a SolanaError should not be shown to users. Developers should use isSolanaError to distinguish the type of a thrown error, then show a custom, localized error message appropriate for their application's audience. Custom error messages should use the error's context if it would help the reader understand what happened and/or what to do next.

  1. Add a new exported error code constant to src/codes.ts.
  2. Add that new constant to the SolanaErrorCode union in src/codes.ts.
  3. If you would like the new error to encapsulate context about the error itself (eg. the public keys for which a transaction is missing signatures) define the shape of that context in src/context.ts.
  4. Add the error's message to src/messages.ts. Any context values that you defined above will be interpolated into the message wherever you write $key, where key is the index of a value in the context (eg. 'Missing a signature for account `$address`').
  5. Publish a new version of @solana/errors.
  6. Bump the version of @solana/errors in the package from which the error is thrown.
  • Don't remove errors.
  • Don't change the meaning of an error message.
  • Don't change or reorder error codes.
  • Don't change or remove members of an error's context.

When an older client throws an error, we want to make sure that they can always decode the error. If you make any of the changes above, old clients will, by definition, not have received your changes. This could make the errors that they throw impossible to decode going forward.

See isSolanaError for an example of how to handle a caught SolanaError.

Modules

<internal>

Classes

SolanaError

Type Aliases

SolanaErrorCode
SolanaErrorCodeWithCause

Variables

SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND
SOLANA_ERROR__ACCOUNTS__EXPECTED_ALL_ACCOUNTS_TO_BE_DECODED
SOLANA_ERROR__ACCOUNTS__EXPECTED_DECODED_ACCOUNT
SOLANA_ERROR__ACCOUNTS__FAILED_TO_DECODE_ACCOUNT
SOLANA_ERROR__ACCOUNTS__ONE_OR_MORE_ACCOUNTS_NOT_FOUND
SOLANA_ERROR__ADDRESSES__FAILED_TO_FIND_VIABLE_PDA_BUMP_SEED
SOLANA_ERROR__ADDRESSES__INVALID_BASE58_ENCODED_ADDRESS
SOLANA_ERROR__ADDRESSES__INVALID_BYTE_LENGTH
SOLANA_ERROR__ADDRESSES__INVALID_ED25519_PUBLIC_KEY
SOLANA_ERROR__ADDRESSES__INVALID_SEEDS_POINT_ON_CURVE
SOLANA_ERROR__ADDRESSES__MALFORMED_PDA
SOLANA_ERROR__ADDRESSES__MAX_NUMBER_OF_PDA_SEEDS_EXCEEDED
SOLANA_ERROR__ADDRESSES__MAX_PDA_SEED_LENGTH_EXCEEDED
SOLANA_ERROR__ADDRESSES__PDA_BUMP_SEED_OUT_OF_RANGE
SOLANA_ERROR__ADDRESSES__PDA_ENDS_WITH_PDA_MARKER
SOLANA_ERROR__ADDRESSES__STRING_LENGTH_OUT_OF_RANGE
SOLANA_ERROR__BLOCK_HEIGHT_EXCEEDED
SOLANA_ERROR__BLOCKHASH_STRING_LENGTH_OUT_OF_RANGE
SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY
SOLANA_ERROR__CODECS__CANNOT_USE_LEXICAL_VALUES_AS_ENUM_DISCRIMINATORS
SOLANA_ERROR__CODECS__ENCODED_BYTES_MUST_NOT_INCLUDE_SENTINEL
SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH
SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH
SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH
SOLANA_ERROR__CODECS__ENUM_DISCRIMINATOR_OUT_OF_RANGE
SOLANA_ERROR__CODECS__EXPECTED_FIXED_LENGTH
SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH
SOLANA_ERROR__CODECS__EXPECTED_VARIABLE_LENGTH
SOLANA_ERROR__CODECS__EXPECTED_ZERO_VALUE_TO_MATCH_ITEM_FIXED_SIZE
SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH
SOLANA_ERROR__CODECS__INVALID_CONSTANT
SOLANA_ERROR__CODECS__INVALID_DISCRIMINATED_UNION_VARIANT
SOLANA_ERROR__CODECS__INVALID_ENUM_VARIANT
SOLANA_ERROR__CODECS__INVALID_LITERAL_UNION_VARIANT
SOLANA_ERROR__CODECS__INVALID_NUMBER_OF_ITEMS
SOLANA_ERROR__CODECS__INVALID_STRING_FOR_BASE
SOLANA_ERROR__CODECS__LITERAL_UNION_DISCRIMINATOR_OUT_OF_RANGE
SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE
SOLANA_ERROR__CODECS__OFFSET_OUT_OF_RANGE
SOLANA_ERROR__CODECS__SENTINEL_MISSING_IN_DECODED_BYTES
SOLANA_ERROR__CODECS__UNION_VARIANT_OUT_OF_RANGE
SOLANA_ERROR__CRYPTO__RANDOM_VALUES_FUNCTION_UNIMPLEMENTED
SOLANA_ERROR__INSTRUCTION__EXPECTED_TO_HAVE_ACCOUNTS
SOLANA_ERROR__INSTRUCTION__EXPECTED_TO_HAVE_DATA
SOLANA_ERROR__INSTRUCTION__PROGRAM_ID_MISMATCH
SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_ALREADY_INITIALIZED
SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_BORROW_FAILED
SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_BORROW_OUTSTANDING
SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_DATA_SIZE_CHANGED
SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_DATA_TOO_SMALL
SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_NOT_EXECUTABLE
SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_NOT_RENT_EXEMPT
SOLANA_ERROR__INSTRUCTION_ERROR__ARITHMETIC_OVERFLOW
SOLANA_ERROR__INSTRUCTION_ERROR__BORSH_IO_ERROR
SOLANA_ERROR__INSTRUCTION_ERROR__BUILTIN_PROGRAMS_MUST_CONSUME_COMPUTE_UNITS
SOLANA_ERROR__INSTRUCTION_ERROR__CALL_DEPTH
SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED
SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM
SOLANA_ERROR__INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_INDEX
SOLANA_ERROR__INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_OUT_OF_SYNC
SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_ACCOUNT_NOT_RENT_EXEMPT
SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_DATA_MODIFIED
SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_LAMPORT_CHANGE
SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_MODIFIED
SOLANA_ERROR__INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_DATA_MODIFIED
SOLANA_ERROR__INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_LAMPORT_SPEND
SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR
SOLANA_ERROR__INSTRUCTION_ERROR__ILLEGAL_OWNER
SOLANA_ERROR__INSTRUCTION_ERROR__IMMUTABLE
SOLANA_ERROR__INSTRUCTION_ERROR__INCORRECT_AUTHORITY
SOLANA_ERROR__INSTRUCTION_ERROR__INCORRECT_PROGRAM_ID
SOLANA_ERROR__INSTRUCTION_ERROR__INSUFFICIENT_FUNDS
SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ACCOUNT_DATA
SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ACCOUNT_OWNER
SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ARGUMENT
SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ERROR
SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_INSTRUCTION_DATA
SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_REALLOC
SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_SEEDS
SOLANA_ERROR__INSTRUCTION_ERROR__MAX_ACCOUNTS_DATA_ALLOCATIONS_EXCEEDED
SOLANA_ERROR__INSTRUCTION_ERROR__MAX_ACCOUNTS_EXCEEDED
SOLANA_ERROR__INSTRUCTION_ERROR__MAX_INSTRUCTION_TRACE_LENGTH_EXCEEDED
SOLANA_ERROR__INSTRUCTION_ERROR__MAX_SEED_LENGTH_EXCEEDED
SOLANA_ERROR__INSTRUCTION_ERROR__MISSING_ACCOUNT
SOLANA_ERROR__INSTRUCTION_ERROR__MISSING_REQUIRED_SIGNATURE
SOLANA_ERROR__INSTRUCTION_ERROR__MODIFIED_PROGRAM_ID
SOLANA_ERROR__INSTRUCTION_ERROR__NOT_ENOUGH_ACCOUNT_KEYS
SOLANA_ERROR__INSTRUCTION_ERROR__PRIVILEGE_ESCALATION
SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_ENVIRONMENT_SETUP_FAILURE
SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPILE
SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPLETE
SOLANA_ERROR__INSTRUCTION_ERROR__READONLY_DATA_MODIFIED
SOLANA_ERROR__INSTRUCTION_ERROR__READONLY_LAMPORT_CHANGE
SOLANA_ERROR__INSTRUCTION_ERROR__REENTRANCY_NOT_ALLOWED
SOLANA_ERROR__INSTRUCTION_ERROR__RENT_EPOCH_MODIFIED
SOLANA_ERROR__INSTRUCTION_ERROR__UNBALANCED_INSTRUCTION
SOLANA_ERROR__INSTRUCTION_ERROR__UNINITIALIZED_ACCOUNT
SOLANA_ERROR__INSTRUCTION_ERROR__UNKNOWN
SOLANA_ERROR__INSTRUCTION_ERROR__UNSUPPORTED_PROGRAM_ID
SOLANA_ERROR__INSTRUCTION_ERROR__UNSUPPORTED_SYSVAR
SOLANA_ERROR__INVALID_BLOCKHASH_BYTE_LENGTH
SOLANA_ERROR__INVALID_NONCE
SOLANA_ERROR__INVARIANT_VIOLATION__CACHED_ABORTABLE_ITERABLE_CACHE_ENTRY_MISSING
SOLANA_ERROR__INVARIANT_VIOLATION__DATA_PUBLISHER_CHANNEL_UNIMPLEMENTED
SOLANA_ERROR__INVARIANT_VIOLATION__SUBSCRIPTION_ITERATOR_MUST_NOT_POLL_BEFORE_RESOLVING_EXISTING_MESSAGE_PROMISE
SOLANA_ERROR__INVARIANT_VIOLATION__SUBSCRIPTION_ITERATOR_STATE_MISSING
SOLANA_ERROR__INVARIANT_VIOLATION__SWITCH_MUST_BE_EXHAUSTIVE
SOLANA_ERROR__JSON_RPC__INTERNAL_ERROR
SOLANA_ERROR__JSON_RPC__INVALID_PARAMS
SOLANA_ERROR__JSON_RPC__INVALID_REQUEST
SOLANA_ERROR__JSON_RPC__METHOD_NOT_FOUND
SOLANA_ERROR__JSON_RPC__PARSE_ERROR
SOLANA_ERROR__JSON_RPC__SCAN_ERROR
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_CLEANED_UP
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NO_SNAPSHOT
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NODE_UNHEALTHY
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_LEN_MISMATCH
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_VERIFICATION_FAILURE
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION
SOLANA_ERROR__KEYS__INVALID_KEY_PAIR_BYTE_LENGTH
SOLANA_ERROR__KEYS__INVALID_PRIVATE_KEY_BYTE_LENGTH
SOLANA_ERROR__KEYS__INVALID_SIGNATURE_BYTE_LENGTH
SOLANA_ERROR__KEYS__PUBLIC_KEY_MUST_MATCH_PRIVATE_KEY
SOLANA_ERROR__KEYS__SIGNATURE_STRING_LENGTH_OUT_OF_RANGE
SOLANA_ERROR__LAMPORTS_OUT_OF_RANGE
SOLANA_ERROR__MALFORMED_BIGINT_STRING
SOLANA_ERROR__MALFORMED_NUMBER_STRING
SOLANA_ERROR__NONCE_ACCOUNT_NOT_FOUND
SOLANA_ERROR__RPC__API_PLAN_MISSING_FOR_RPC_METHOD
SOLANA_ERROR__RPC__INTEGER_OVERFLOW
SOLANA_ERROR__RPC__TRANSPORT_HTTP_ERROR
SOLANA_ERROR__RPC__TRANSPORT_HTTP_HEADER_FORBIDDEN
SOLANA_ERROR__RPC_SUBSCRIPTIONS__CANNOT_CREATE_SUBSCRIPTION_PLAN
SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_CLOSED_BEFORE_MESSAGE_BUFFERED
SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_CONNECTION_CLOSED
SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_FAILED_TO_CONNECT
SOLANA_ERROR__RPC_SUBSCRIPTIONS__EXPECTED_SERVER_SUBSCRIPTION_ID
SOLANA_ERROR__SIGNER__ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERS
SOLANA_ERROR__SIGNER__EXPECTED_KEY_PAIR_SIGNER
SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_MODIFYING_SIGNER
SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_PARTIAL_SIGNER
SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_SIGNER
SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_MODIFYING_SIGNER
SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_PARTIAL_SIGNER
SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SENDING_SIGNER
SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SIGNER
SOLANA_ERROR__SIGNER__TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS
SOLANA_ERROR__SIGNER__TRANSACTION_SENDING_SIGNER_MISSING
SOLANA_ERROR__SIGNER__WALLET_MULTISIGN_UNIMPLEMENTED
SOLANA_ERROR__SUBTLE_CRYPTO__CANNOT_EXPORT_NON_EXTRACTABLE_KEY
SOLANA_ERROR__SUBTLE_CRYPTO__DIGEST_UNIMPLEMENTED
SOLANA_ERROR__SUBTLE_CRYPTO__DISALLOWED_IN_INSECURE_CONTEXT
SOLANA_ERROR__SUBTLE_CRYPTO__ED25519_ALGORITHM_UNIMPLEMENTED
SOLANA_ERROR__SUBTLE_CRYPTO__EXPORT_FUNCTION_UNIMPLEMENTED
SOLANA_ERROR__SUBTLE_CRYPTO__GENERATE_FUNCTION_UNIMPLEMENTED
SOLANA_ERROR__SUBTLE_CRYPTO__SIGN_FUNCTION_UNIMPLEMENTED
SOLANA_ERROR__SUBTLE_CRYPTO__VERIFY_FUNCTION_UNIMPLEMENTED
SOLANA_ERROR__TIMESTAMP_OUT_OF_RANGE
SOLANA_ERROR__TRANSACTION__ADDRESS_MISSING
SOLANA_ERROR__TRANSACTION__ADDRESSES_CANNOT_SIGN_TRANSACTION
SOLANA_ERROR__TRANSACTION__CANNOT_ENCODE_WITH_EMPTY_SIGNATURES
SOLANA_ERROR__TRANSACTION__EXPECTED_BLOCKHASH_LIFETIME
SOLANA_ERROR__TRANSACTION__EXPECTED_NONCE_LIFETIME
SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_CONTENTS_MISSING
SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_INDEX_OUT_OF_RANGE
SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_FEE_PAYER_MISSING
SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_INSTRUCTION_PROGRAM_ADDRESS_NOT_FOUND
SOLANA_ERROR__TRANSACTION__FAILED_TO_ESTIMATE_COMPUTE_LIMIT
SOLANA_ERROR__TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_COMPUTE_LIMIT
SOLANA_ERROR__TRANSACTION__FEE_PAYER_MISSING
SOLANA_ERROR__TRANSACTION__FEE_PAYER_SIGNATURE_MISSING
SOLANA_ERROR__TRANSACTION__INVALID_NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE
SOLANA_ERROR__TRANSACTION__INVALID_NONCE_TRANSACTION_INSTRUCTIONS_MISSING
SOLANA_ERROR__TRANSACTION__INVOKED_PROGRAMS_CANNOT_PAY_FEES
SOLANA_ERROR__TRANSACTION__INVOKED_PROGRAMS_MUST_NOT_BE_WRITABLE
SOLANA_ERROR__TRANSACTION__MESSAGE_SIGNATURES_MISMATCH
SOLANA_ERROR__TRANSACTION__SIGNATURES_MISSING
SOLANA_ERROR__TRANSACTION__VERSION_NUMBER_OUT_OF_RANGE
SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_BORROW_OUTSTANDING
SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_IN_USE
SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_LOADED_TWICE
SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_NOT_FOUND
SOLANA_ERROR__TRANSACTION_ERROR__ADDRESS_LOOKUP_TABLE_NOT_FOUND
SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED
SOLANA_ERROR__TRANSACTION_ERROR__BLOCKHASH_NOT_FOUND
SOLANA_ERROR__TRANSACTION_ERROR__CALL_CHAIN_TOO_DEEP
SOLANA_ERROR__TRANSACTION_ERROR__CLUSTER_MAINTENANCE
SOLANA_ERROR__TRANSACTION_ERROR__DUPLICATE_INSTRUCTION
SOLANA_ERROR__TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_FEE
SOLANA_ERROR__TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_RENT
SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ACCOUNT_FOR_FEE
SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ACCOUNT_INDEX
SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_DATA
SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_INDEX
SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_OWNER
SOLANA_ERROR__TRANSACTION_ERROR__INVALID_LOADED_ACCOUNTS_DATA_SIZE_LIMIT
SOLANA_ERROR__TRANSACTION_ERROR__INVALID_PROGRAM_FOR_EXECUTION
SOLANA_ERROR__TRANSACTION_ERROR__INVALID_RENT_PAYING_ACCOUNT
SOLANA_ERROR__TRANSACTION_ERROR__INVALID_WRITABLE_ACCOUNT
SOLANA_ERROR__TRANSACTION_ERROR__MAX_LOADED_ACCOUNTS_DATA_SIZE_EXCEEDED
SOLANA_ERROR__TRANSACTION_ERROR__MISSING_SIGNATURE_FOR_FEE
SOLANA_ERROR__TRANSACTION_ERROR__PROGRAM_ACCOUNT_NOT_FOUND
SOLANA_ERROR__TRANSACTION_ERROR__PROGRAM_EXECUTION_TEMPORARILY_RESTRICTED
SOLANA_ERROR__TRANSACTION_ERROR__RESANITIZATION_NEEDED
SOLANA_ERROR__TRANSACTION_ERROR__SANITIZE_FAILURE
SOLANA_ERROR__TRANSACTION_ERROR__SIGNATURE_FAILURE
SOLANA_ERROR__TRANSACTION_ERROR__TOO_MANY_ACCOUNT_LOCKS
SOLANA_ERROR__TRANSACTION_ERROR__UNBALANCED_TRANSACTION
SOLANA_ERROR__TRANSACTION_ERROR__UNKNOWN
SOLANA_ERROR__TRANSACTION_ERROR__UNSUPPORTED_VERSION
SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_BLOCK_LIMIT
SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_TOTAL_LIMIT
SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_ACCOUNT_COST_LIMIT
SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_BLOCK_COST_LIMIT
SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_VOTE_COST_LIMIT

Functions

getSolanaErrorFromInstructionError
getSolanaErrorFromJsonRpcError
getSolanaErrorFromTransactionError
isSolanaError
safeCaptureStackTrace