Sigil documentation
ReferenceRust referencesigil-tee-material

sigil-tee-material · bundle

Source declarations, signatures and documentation for bundle.

Source: sigil/node/sigil-tee-material/src/bundle.rs. SHA-256: d0cf82cd760e00bb7cddfac444abba2a6b6465524ab03216a4ac3d231fe1bc06.

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.

bundle::DEFAULT_MAX_ATTESTATION_AGE_EPOCHS

Default freshness window for runtime attestations emitted into genesis.

pub const DEFAULT_MAX_ATTESTATION_AGE_EPOCHS: u64;

Source line: 9.

bundle::DEFAULT_COLLATERAL_MAX_AGE_EPOCHS

Default maximum age for vendor collateral that must be refreshed off-chain.

pub const DEFAULT_COLLATERAL_MAX_AGE_EPOCHS: u64;

Source line: 11.

bundle::BundleVendor

Vendor identifier in the bundle envelope. Matches the TeeAttestation.vendor strings the chain-side verifier registry uses.

#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub enum BundleVendor {
    AmdSevSnp,
    IntelSgxDcap,
    IntelTdx,
    ArmCca,
}

Source line: 17.

bundle::BundleVendor::as_str

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

Source line: 25.

bundle::BundleVendor::anchors_field

Genesis-side compute_params.<...>_trust_anchors field key.

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

Source line: 35.

bundle::GenesisBundle

Top-level bundle envelope written by every emit-genesis subcommand.

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GenesisBundle {
pub vendor: BundleVendor,
#[serde(rename = "generatedAt")]
pub generated_at: DateTime<Utc>,
/// Best-effort earliest expiry across the bundle's signed material

/// (e.g. CRL nextUpdate, TCB Info nextUpdate). `None` when the

/// vendor produces no time-stamped material that the tooling can

/// parse.

#[serde(rename = "expiresAt", skip_serializing_if = "Option::is_none")]
pub expires_at: Option<DateTime<Utc>>,
/// Vendor-specific raw artefacts (preserved for audit / replay).

pub materials: Value,
/// Hex-encoded measurements the bundle pins.

pub measurements: Vec<String>,
/// JSON-merge fragment the operator drops into chain genesis under

/// `compute_params`.

#[serde(rename = "policyPatch")]
pub policy_patch: PolicyPatch
}

Source line: 47.

bundle::PolicyPatch

Genesis policy patch: a compute_params overlay carrying the per-vendor trust-anchor block. The operator merges this into their genesis JSON.

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PolicyPatch {
pub compute_params: Value
}

Source line: 71.

bundle::GenesisBundle::new

pub fn new(
        vendor: BundleVendor,
        materials: Value,
        measurements: Vec<String>,
        anchors: Value,
        expires_at: Option<DateTime<Utc>>,
    ) -> Self;

Source line: 76.

On this page