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.