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.