Sigil documentation
ReferenceRust referencesigil-nova

sigil-nova · error

Source declarations, signatures and documentation for error.

Source: sigil/node/sigil-nova/src/error.rs. SHA-256: b9888abc6b04ba93f337932d3125b21aeaeab9280c3c212d8635aec81e25dd37.

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::NovaError

Error types for the Nova metaverse on-chain primitives. Unified error type for all Nova subsystems.

#[derive(Debug, Clone, thiserror::Error)]
pub enum NovaError {
    // -- World errors --
    #[error("invalid world position: {0}")]
    InvalidPosition(String),
    #[error("world not found: {0}")]
    WorldNotFound(String),

    // -- Parcel errors --
    #[error("parcel already claimed: {0}")]
    ParcelAlreadyClaimed(String),
    #[error("parcel not found: {0}")]
    ParcelNotFound(String),
    #[error("not parcel owner: caller {caller}, owner {owner}")]
    NotParcelOwner { caller: String, owner: String },
    #[error("invalid parcel id: {0}")]
    InvalidParcelId(String),

    // -- Building errors --
    #[error("building not found: {0}")]
    BuildingNotFound(String),
    #[error("not building owner: caller {caller}, owner {owner}")]
    NotBuildingOwner { caller: String, owner: String },
    #[error("building exceeds parcel bounds: {0}")]
    BuildingOutOfBounds(String),
    #[error("polycount limit exceeded: {count} > {limit}")]
    PolycountExceeded { count: u32, limit: u32 },
    #[error("building already exists: {0}")]
    BuildingAlreadyExists(String),

    // -- Avatar errors --
    #[error("avatar not found: {0}")]
    AvatarNotFound(String),
    #[error("avatar already spawned for DID: {0}")]
    AvatarAlreadySpawned(String),

    // -- Spatial zone errors --
    #[error("zone not found: {0}")]
    ZoneNotFound(String),
    #[error("not zone owner: caller {caller}, owner {owner}")]
    NotZoneOwner { caller: String, owner: String },
    #[error("invalid zone boundary: {0}")]
    InvalidZoneBoundary(String),

    // -- Asset errors --
    #[error("asset not found: {0}")]
    AssetNotFound(String),
    #[error("asset already registered: {0}")]
    AssetAlreadyRegistered(String),
    #[error("invalid asset: {0}")]
    InvalidAsset(String),

    // -- Economy errors --
    #[error("auction not found: {0}")]
    AuctionNotFound(String),
    #[error("auction not active: {0}")]
    AuctionNotActive(String),
    #[error("bid too low: offered {offered}, minimum {minimum}")]
    BidTooLow { offered: u64, minimum: u64 },
    #[error("not auction seller: caller {caller}, seller {seller}")]
    NotAuctionSeller { caller: String, seller: String },
    #[error("auction has bids, cannot cancel")]
    AuctionHasBids,
    #[error("auction has expired at time {end_time}, bid placed at {bid_time}")]
    AuctionExpired { end_time: u64, bid_time: u64 },
    #[error("seller cannot bid on own auction")]
    SelfBidNotAllowed,
    #[error("invalid building data: {0}")]
    InvalidBuildingData(String),
    #[error("invalid auction parameters: {0}")]
    InvalidAuctionParams(String),

    // -- Streaming errors --
    #[error("stream session not found: {0}")]
    StreamNotFound(String),
    #[error("stream already active for agent: {0}")]
    StreamAlreadyActive(String),
    #[error("invalid stream state transition: {from} -> {to}")]
    InvalidStreamTransition { from: String, to: String },

    // -- General errors --
    #[error("serialization error: {0}")]
    SerializationError(String),
}

Source line: 5.

On this page