Sigil documentation
ReferenceRust referencesigil-state

sigil-state · dao_validators

Source declarations, signatures and documentation for dao_validators.

Source: sigil/node/sigil-state/src/dao_validators/mod.rs. SHA-256: d58c7877e6981a4f5b3dc442279eb16f5c167826c3100a4ece5bacd4682901c6.

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.

Module condition:

#[cfg(any(feature = "dao-validators", test))]

dao_validators::cascade_revoke

DAO Work OS state-transition validators (Phase 2).

All validators in this module consume the **live GAL trust path through [snapshot::IssuerVerifier]. Production wires this to a thin wrapper over oas_resolve::SigilGuardedResolver (Rules 1–7 cryptographically enforced); tests wire it via a MemoryGalSource-backed verifier. There is no local-only issuer check or trusted-caller shortcut — the only public path that produces a validator-consumable [snapshot::GalSnapshot] is the async [snapshot::build_snapshot] function.

Phase 2 priorities

  1. [mandate_spend::validate_mandate_spend] — every state transition that decreases a mandate's remaining budget routes through this validator.
  2. [labor_release::validate_labor_contract_release] — milestone payment release; composes the mandate spend validator after contract-state and milestone preconditions.
  3. [cascade_revoke::validate_cascade_revoke] — issuer-authority plus descendant-capture checks for RevocationRecords with CascadeRoot / CascadeOrg kinds (and Single consistency).

Determinism / replay-safety

Each validator is a sync function over (GalSnapshot, on-chain record, request). The snapshot itself is Serialize + Deserialize + PartialEq, so consensus replay producing the same snapshot deterministically produces the same verdict.

#[cfg(any(feature = "dao-validators", test))]
pub mod cascade_revoke;

Source line: 31.

dao_validators::error

#[cfg(any(feature = "dao-validators", test))]
pub mod error;

Source line: 32.

dao_validators::labor_release

#[cfg(any(feature = "dao-validators", test))]
pub mod labor_release;

Source line: 33.

dao_validators::mandate_spend

#[cfg(any(feature = "dao-validators", test))]
pub mod mandate_spend;

Source line: 34.

dao_validators::snapshot

#[cfg(any(feature = "dao-validators", test))]
pub mod snapshot;

Source line: 35.

pub use cascade_revoke::validate_cascade_revoke;

#[cfg(any(feature = "dao-validators", test))]
pub use cascade_revoke::validate_cascade_revoke;

Source line: 37.

pub use error::DaoValidatorError;

#[cfg(any(feature = "dao-validators", test))]
pub use error::DaoValidatorError;

Source line: 38.

pub use labor_release::validate_labor_contract_release;

#[cfg(any(feature = "dao-validators", test))]
pub use labor_release::validate_labor_contract_release;

Source line: 39.

pub use mandate_spend::validate_mandate_spend;

#[cfg(any(feature = "dao-validators", test))]
pub use mandate_spend::validate_mandate_spend;

Source line: 40.

pub use snapshot::{build_snapshot, GalSnapshot, IssuerTrust, IssuerVerifier};

#[cfg(any(feature = "dao-validators", test))]
pub use snapshot::{build_snapshot, GalSnapshot, IssuerTrust, IssuerVerifier};

Source line: 41.

On this page