Sigil documentation
ReferenceRust referencearise-identity

arise-identity · provider

Source declarations, signatures and documentation for provider.

Source: sigil/node/../arise-bridge/arise-identity/src/provider.rs. SHA-256: 5848afff7538e41556ecd34419ae5277f17eec021dd62d277d0ca91f8beef5f8.

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

A compute provider's identity derived from service declarations.

Links an ARISE compute provider to an OAS DID with hardware attestations and capability declarations. The human_root_did field establishes provenance back to a verified human root per the OAS lineage model.

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProviderIdentity {
/// The provider's OAS DID (e.g., `did:oas:arise:service:gpu-provider-01`).

pub did: String,
/// The human root DID establishing lineage provenance.

pub human_root_did: String,
/// The generation number in the OAS lineage chain.

pub generation: u32,
/// Human-readable provider name.

pub provider_name: String,
/// Declared hardware and software capabilities.

pub capabilities: ProviderCapabilities,
/// Ordered list of hardware attestations (most recent last).

pub hardware_attestations: Vec<HardwareAttestation>,
/// ISO 8601 timestamp when this identity was created.

pub created_at: String
}

Source line: 20.

provider::ProviderCapabilities

Hardware and software capabilities declared by a compute provider.

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProviderCapabilities {
/// GPU model identifiers (e.g., `["A100", "H100"]`).

pub gpu_models: Vec<String>,
/// Total number of GPUs available.

pub gpu_count: u32,
/// Total GPU memory in gigabytes.

pub gpu_memory_gb: u32,
/// Number of CPU cores available.

pub cpu_cores: u32,
/// Total RAM in gigabytes.

pub ram_gb: u32,
/// Total storage in terabytes.

pub storage_tb: f64,
/// Supported ML frameworks (e.g., `["pytorch", "tensorflow"]`).

pub supported_frameworks: Vec<String>,
/// Maximum number of concurrent jobs the provider can handle.

pub max_concurrent_jobs: u32
}

Source line: 39.

provider::HardwareAttestation

A hardware attestation certifying a provider's declared capabilities.

Attestations have a validity window defined by attested_at and expires_at. They may be self-reported, third-party audited, or TEE-based.

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HardwareAttestation {
/// The method used to produce this attestation.

pub attestation_type: HardwareAttestationType,
/// Benchmark results collected during attestation.

pub benchmark_results: BenchmarkResults,
/// ISO 8601 timestamp when the attestation was performed.

pub attested_at: String,
/// ISO 8601 timestamp when the attestation expires.

pub expires_at: String,
/// Cryptographic signature over the attestation payload.

pub signature: Vec<u8>
}

Source line: 63.

provider::HardwareAttestationType

The method used to produce a hardware attestation.

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub enum HardwareAttestationType {
    /// Provider self-reported capability declaration.
    SelfReported,
    /// Verified by a third-party auditing entity.
    ThirdPartyAudit,
    /// Hardware-backed attestation from a Trusted Execution Environment (SGX/TDX/SEV-SNP).
    TeeAttestation,
}

Source line: 78.

provider::BenchmarkResults

Benchmark results from a hardware attestation run.

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BenchmarkResults {
/// GPU compute performance in teraflops.

pub gpu_tflops: f64,
/// GPU memory bandwidth in GB/s.

pub gpu_memory_bandwidth_gbps: f64,
/// Inference latency in milliseconds for a standard workload.

pub inference_latency_ms: f64,
/// Token generation throughput (tokens per second).

pub tokens_per_second: f64
}

Source line: 89.

provider::ProviderIdentity::new

Creates a new provider identity.

Arguments

  • did - The provider's OAS DID string.
  • human_root_did - The human root DID for lineage provenance.
  • generation - The generation number in the lineage chain.
  • provider_name - Human-readable name for the provider.
  • capabilities - The provider's hardware/software capabilities.

Errors

Returns [IdentityError::InvalidDid] if the DID is not a valid did:oas identifier. Returns [IdentityError::MissingHumanRoot] if human_root_did is empty.

pub fn new(
        did: &str,
        human_root_did: &str,
        generation: u32,
        provider_name: &str,
        capabilities: ProviderCapabilities,
    ) -> Result<Self, IdentityError>;

Source line: 115.

provider::ProviderIdentity::add_hardware_attestation

Adds a hardware attestation to this provider identity.

Attestations are appended in order; the most recent attestation is always the last element.

pub fn add_hardware_attestation(&mut self, attestation: HardwareAttestation);

Source line: 151.

provider::ProviderIdentity::latest_attestation

Returns the most recent hardware attestation, if any.

pub fn latest_attestation(&self) -> Option<&HardwareAttestation>;

Source line: 161.

provider::ProviderIdentity::is_attestation_current

Checks whether the provider has a current (non-expired) attestation.

Arguments

  • now - The current time as an ISO 8601 string for comparison.

Returns

true if the latest attestation exists and its expires_at is strictly after now.

pub fn is_attestation_current(&self, now: &str) -> bool;

Source line: 175.

provider::ProviderCapabilities::meets_minimum

Checks whether the provider meets minimum capability requirements.

Minimum requirements:

  • At least 1 GPU
  • At least 16 GB of GPU memory

Returns

true if the provider meets baseline requirements for ARISE compute.

pub fn meets_minimum(&self) -> bool;

Source line: 192.

provider::HardwareAttestationType::as_str

Returns the canonical string representation of this attestation type.

pub fn as_str(&self) -> &'static str;

Source line: 199.

On this page