Sigil documentation
ReferenceRust referencesigil-crucible

sigil-crucible · rewards

Source declarations, signatures and documentation for rewards.

Source: sigil/node/sigil-crucible/src/rewards.rs. SHA-256: 7d9295b6d4685891b013703067617b4dc0d1ea1033ebe4806099534dfd5749fb.

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.

rewards::RewardPayout

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct RewardPayout {
pub recipient_did: String,
pub amount: u64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generation: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lineage_parent_did: Option<String>
}

Source line: 8.

rewards::RewardBatchAttestation

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct RewardBatchAttestation {
pub attestation_id: String,
pub run_id: String,
pub rollout_batch_id: String,
pub verifier_did: String,
pub policy_version: u32,
pub payouts: Vec<RewardPayout>,
pub artifact: ArtifactCommitment,
pub attested_at_epoch: u64
}

Source line: 18.

rewards::LineageRewardMode

Boundary for lineage payout integration. GenerationDecay is supported by the existing economics API; parent/root lineage payout verification fails closed until a concrete GAL/lineage adapter is available.

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum LineageRewardMode {
    UnavailableFailClosed,
    GenerationDecay { config: RewardConfig },
}

Source line: 33.

rewards::DistributionOutcome

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct DistributionOutcome {
pub recipient_did: String,
pub amount: u64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generation: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lineage_parent_did: Option<String>
}

Source line: 39.

rewards::RewardDistributionPlan

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct RewardDistributionPlan {
pub attestation_id: String,
pub run_id: String,
pub rollout_batch_id: String,
pub total_amount: u64,
pub outcomes: Vec<DistributionOutcome>
}

Source line: 49.

rewards::RewardDistributionPlan::from_attestation

pub fn from_attestation(
        attestation: &RewardBatchAttestation,
        pool_remaining: u64,
        mode: LineageRewardMode,
    ) -> Result<Self, CrucibleError>;

Source line: 58.

On this page