Expand description
Attribute-based threshold party selection.
Allows deployments to express predicates like:
- “at least K signers have attribute X”
- “at least K distinct values of attribute X”
- “no signer has attribute Y”
- “all signers have attribute Z”
Predicates compose via boolean AND/OR/NOT.
See TODO.roadmap/38-attribute-based-threshold.md for the full spec.
Structs§
- Attribute
Predicate - A wrapper for type-safe construction.
- Signer
Attributes - A signer’s attribute map. Keys are attribute names (e.g., “region”, “role:director”, “expertise:metrology”). Values are sets of strings.
Enums§
- Parse
Error - DSL parse errors.
- Predicate
- A predicate over signer attributes.
Constants§
- MAX_
DSL_ DEPTH - Maximum nesting depth for recursive DSL constructs (and/or/not).
Limits stack-overflow DoS via adversarial inputs. 32 is generous
(allows
and(and(and(...)))32 levels deep) and small enough to keep Rust stack usage bounded.