light-system-program-anchor 2.0.0

ZK Compression on Solana
Documentation
use anchor_lang::prelude::*;

#[error_code]
pub enum SystemProgramError {
    #[msg("Sum check failed")]
    SumCheckFailed,
    #[msg("Signer check failed")]
    SignerCheckFailed,
    #[msg("Cpi signer check failed")]
    CpiSignerCheckFailed,
    #[msg("Computing input sum failed.")]
    ComputeInputSumFailed,
    #[msg("Computing output sum failed.")]
    ComputeOutputSumFailed,
    #[msg("Computing rpc sum failed.")]
    ComputeRpcSumFailed,
    #[msg("InvalidAddress")]
    InvalidAddress,
    #[msg("DeriveAddressError")]
    DeriveAddressError,
    #[msg("CompressedSolPdaUndefinedForCompressSol")]
    CompressedSolPdaUndefinedForCompressSol,
    #[msg("DecompressLamportsUndefinedForCompressSol")]
    DecompressLamportsUndefinedForCompressSol,
    #[msg("CompressedSolPdaUndefinedForDecompressSol")]
    CompressedSolPdaUndefinedForDecompressSol,
    #[msg("DeCompressLamportsUndefinedForDecompressSol")]
    DeCompressLamportsUndefinedForDecompressSol,
    #[msg("DecompressRecipientUndefinedForDecompressSol")]
    DecompressRecipientUndefinedForDecompressSol,
    #[msg("WriteAccessCheckFailed")]
    WriteAccessCheckFailed,
    #[msg("InvokingProgramNotProvided")]
    InvokingProgramNotProvided,
    #[msg("InvalidCapacity")]
    InvalidCapacity,
    #[msg("InvalidMerkleTreeOwner")]
    InvalidMerkleTreeOwner,
    #[msg("ProofIsNone")]
    ProofIsNone,
    #[msg("Proof is some but no input compressed accounts or new addresses provided.")]
    ProofIsSome,
    #[msg("EmptyInputs")]
    EmptyInputs,
    #[msg("CpiContextAccountUndefined")]
    CpiContextAccountUndefined,
    #[msg("CpiContextEmpty")]
    CpiContextEmpty,
    #[msg("CpiContextMissing")]
    CpiContextMissing,
    #[msg("DecompressionRecipientDefined")]
    DecompressionRecipientDefined,
    #[msg("SolPoolPdaDefined")]
    SolPoolPdaDefined,
    #[msg("AppendStateFailed")]
    AppendStateFailed,
    #[msg("The instruction is not callable")]
    InstructionNotCallable,
    #[msg("CpiContextFeePayerMismatch")]
    CpiContextFeePayerMismatch,
    #[msg("CpiContextAssociatedMerkleTreeMismatch")]
    CpiContextAssociatedMerkleTreeMismatch,
    #[msg("NoInputs")]
    NoInputs,
    #[msg("Input merkle tree indices are not in ascending order.")]
    InputMerkleTreeIndicesNotInOrder,
    #[msg("Output merkle tree indices are not in ascending order.")]
    OutputMerkleTreeIndicesNotInOrder,
    OutputMerkleTreeNotUnique,
    DataFieldUndefined,
    ReadOnlyAddressAlreadyExists,
    ReadOnlyAccountDoesNotExist,
    HashChainInputsLenghtInconsistent,
    InvalidAddressTreeHeight,
    InvalidStateTreeHeight,
    InvalidArgument,
    InvalidAccount,
    AddressMerkleTreeAccountDiscriminatorMismatch,
    StateMerkleTreeAccountDiscriminatorMismatch,
    ProofVerificationFailed,
    InvalidAccountMode,
    InvalidInstructionDataDiscriminator,
    NewAddressAssignedIndexOutOfBounds,
    AddressIsNone,
    AddressDoesNotMatch,
    CpiContextAlreadySet,
    InvalidTreeHeight,
    TooManyOutputAccounts,
    #[msg("Failed to borrow account data")]
    BorrowingDataFailed,
}