Sigil documentation
ReferenceRust referencearise-sigil

arise-sigil · provider

Source declarations, signatures and documentation for provider.

Source: sigil/node/../arise-bridge/arise-sigil/src/provider.rs. SHA-256: f49ce4bb5c3f10cc2b67bb17da9d520a9f877d8eeeaf6d8765b7ffbbd90ed744.

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.

provider::ProviderTier

Provider stake tiers.

The tier determines the minimum SIGIL stake required and the maximum workload capacity the provider can serve.

#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum ProviderTier {
    /// Entry tier: 500 MINT minimum stake.
    Consumer,
    /// Mid tier: 2,000 MINT minimum stake.
    Professional,
    /// High tier: 5,000 MINT minimum stake.
    Enterprise,
    /// Top tier: 10,000 MINT minimum stake.
    Cluster,
}

Source line: 14.

provider::ProviderTier::min_stake

Returns the minimum stake in micro-MINT for this tier.

1 MINT = 1,000,000 micro-MINT.

pub fn min_stake(&self) -> u64;

Source line: 29.

provider::ProviderTier::from_stake

Returns the highest tier achievable for the given stake amount (in micro-MINT).

pub fn from_stake(stake: u64) -> Self;

Source line: 40.

provider::ProviderStatus

Current status of a registered provider.

#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum ProviderStatus {
    /// Provider is active and accepting jobs.
    Active,
    /// Provider is temporarily suspended (e.g. lost challenge).
    Suspended,
    /// Provider initiated exit; in unbonding period.
    Exiting,
    /// Provider has fully exited and stake is returned.
    Exited,
}

Source line: 55.

provider::ComputePricing

Pricing model for a compute provider.

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ComputePricing {
/// Price per input token in micro-MINT.

pub price_per_input_token: u64,
/// Price per output token in micro-MINT.

pub price_per_output_token: u64,
/// Price per GPU-second in micro-MINT.

pub price_per_gpu_second: u64,
/// Minimum charge for any job in micro-MINT.

pub min_job_cost: u64
}

Source line: 68.

provider::ProviderRegistration

On-chain registration record for a compute provider.

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProviderRegistration {
/// The DID of the provider (`did:oas:...`).

pub provider_did: String,
/// The human root DID that owns this provider.

pub human_root_did: String,
/// Tier derived from the staked amount.

pub tier: ProviderTier,
/// Staked amount in micro-MINT.

pub stake: u64,
/// Hardware capabilities (GPU type, memory, etc.).

pub capabilities: serde_json::Value,
/// Pricing model published by the provider.

pub pricing: ComputePricing,
/// Epoch at which the provider registered.

pub registered_epoch: u64,
/// Current operational status.

pub status: ProviderStatus
}

Source line: 81.

provider::ProviderRegistration::is_active

Returns true if the provider is eligible to accept new jobs.

pub fn is_active(&self) -> bool;

Source line: 102.

provider::ProviderRegistration::stake_is_sufficient

Returns true if the stake satisfies the minimum for the claimed tier.

pub fn stake_is_sufficient(&self) -> bool;

Source line: 107.

On this page