Sigil documentation
ReferenceRust referencesigil-economics

sigil-economics · error

Source declarations, signatures and documentation for error.

Source: sigil/node/sigil-economics/src/error.rs. SHA-256: e6f633ac4d318a805fdb366b9ab112205a4df420f14edd9c0305921e81fd73e3.

This reference follows declared source modules, retains conditional attributes, and includes public declarations and implementation methods. Private-module re-exports and trait resolution require the compiler; this is a source reference, not a claim that every listed item is a root import. Function bodies and constant values are omitted.

error::EconomicsError

Error types for the Sigil economics crate. Errors arising from economic operations (staking, rewards, slashing, bonds, escrow).

#[derive(Debug, Clone, thiserror::Error)]
pub enum EconomicsError {
    #[error("insufficient stake: required {required} micro-MINT, available {available}")]
    InsufficientStake { required: u64, available: u64 },

    #[error("insufficient balance: required {required} micro-MINT, available {available}")]
    InsufficientBalance { required: u64, available: u64 },

    #[error("validator not found: {0}")]
    ValidatorNotFound(String),

    #[error("validator already unbonding: {0}")]
    AlreadyUnbonding(String),

    #[error("validator not unbonding: {0}")]
    NotUnbonding(String),

    #[error("unbonding not complete: current epoch {current_epoch}, completion epoch {completion_epoch}")]
    UnbondingNotComplete {
        current_epoch: u64,
        completion_epoch: u64,
    },

    #[error("bond not found: {0}")]
    BondNotFound(String),

    #[error("bond already slashed: {0}")]
    BondAlreadySlashed(String),

    #[error("escrow insufficient: required {required} micro-MINT, available {available}")]
    EscrowInsufficient { required: u64, available: u64 },

    #[error("agent budget exceeded: agent {agent_did} limit {limit}, requested {requested}")]
    AgentBudgetExceeded {
        agent_did: String,
        limit: u64,
        requested: u64,
    },

    #[error("invalid amount: {0}")]
    InvalidAmount(String),

    #[error("validator is jailed: {0}")]
    ValidatorJailed(String),
}

Source line: 5.

On this page