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.