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
- [
mandate_spend::validate_mandate_spend] — every state transition that decreases a mandate's remaining budget routes through this validator. - [
labor_release::validate_labor_contract_release] — milestone payment release; composes the mandate spend validator after contract-state and milestone preconditions. - [
cascade_revoke::validate_cascade_revoke] — issuer-authority plus descendant-capture checks forRevocationRecords withCascadeRoot/CascadeOrgkinds (andSingleconsistency).
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.