Expand description
Error types for program operations Error types and handling for Arch VM programs.
This module defines the standard error types that can be returned by programs running in the Arch VM environment. It provides a uniform way to represent, decode, and display program errors, allowing for consistent error handling across the platform.
The error system is designed to be compatible with program-specific custom errors while also providing a set of standard error types for common failure scenarios.
Enums§
- Program
Error - Reasons the program may fail
Constants§
- ACCOUNT_
ALREADY_ INITIALIZED - ACCOUNT_
BORROW_ FAILED - ACCOUNT_
DATA_ TOO_ SMALL - ACCOUNT_
NOT_ ANCHORED - ACCOUNT_
NOT_ RENT_ EXEMPT - ACCOUNT_
UTXO_ MODIFIED - ARITHMETIC_
OVERFLOW - BORSH_
IO_ ERROR - BUILTIN_
BIT_ SHIFT - Builtin return values occupy the upper 32 bits
- BUILTIN_
PROGRAMS_ MUST_ CONSUME_ COMPUTE_ UNITS - CUSTOM_
ZERO - DUPLICATE_
SHARD_ ACCOUNTS - EXECUTABLE_
LAMPORT_ CHANGE - FROM_
HEX_ ERROR - ILLEGAL_
OWNER - IMMUTABLE
- INCORRECT_
AUTHORITY - INCORRECT_
LENGTH - INCORRECT_
PROGRAM_ ID - INSUFFICIENT_
DATA_ LENGTH - INSUFFICIENT_
FUNDS - INVALID_
ACCOUNT_ DATA - INVALID_
ACCOUNT_ DATA_ REALLOC - INVALID_
ACCOUNT_ OWNER - INVALID_
AGGREGATE_ SIZE - INVALID_
ARGUMENT - INVALID_
CHUNK - INVALID_
INSTRUCTION_ DATA - INVALID_
SEEDS - INVALID_
STATE_ TRANSITION - INVALID_
UTXO_ ID - INVALID_
UTXO_ SIGNER - MAX_
ACCOUNTS_ DATA_ ALLOCATIONS_ EXCEEDED - MAX_
INSTRUCTION_ TRACE_ LENGTH_ EXCEEDED - MAX_
SEEDS_ EXCEEDED - MAX_
SEED_ LENGTH_ EXCEEDED - MISSING_
REQUIRED_ SIGNATURES - NEGATIVE_
ACCOUNT_ LAMPORTS - NOT_
ENOUGH_ ACCOUNT_ KEYS - NOT_
ENOUGH_ COMPUTE_ UNITS - READONLY_
LAMPORT_ CHANGE - TRANSACTION_
TO_ SIGN_ EMPTY - TRANSCRIPT_
VERIFICATION_ FAILED - UNINITIALIZED_
ACCOUNT - UNSUPPORTED_
SYSVAR