Crate essential_check
source ·Expand description
Core logic for validating Predicate
s,
Solution
s and
SolutionData
against associated predicates.
Typical usage is to first validate predicates and solutions independently in
full prior to validating against one another with solution::check_predicates
.
§Predicate Validation
predicate::check_signed_contract
validates a signed contract.predicate::check_contract
validates a contract.predicate::check
validate an individual predicate.- [
predicate::check_slots
] validate a predicate’s slots. predicate::check_directive
validate a predicate’s directive.predicate::check_state_reads
validate a predicate’s state read bytecode.predicate::check_constraints
validate a predicate’s constraint bytecode.
§Solution Validation
solution::check
validates an unsigned solution.solution::check_data
validates a solution’s data slice.solution::check_state_mutations
validates a solution’s state mutation slice.
§Solution + Predicate Validation
solution::check_predicates
validates a solution’s data against their associated predicates.solution::check_predicate
validates a single solution data against an associated predicate.solution::check_predicate_constraints
the predicate constraint checking part of solution data validation.- [
solution::check_decision_variable_lengths
] checks the expected number of decision variables.
Modules§
- The essential constraint checking implementation.
- Items related to the validation of
Predicate
s. - A minimal crate providing Essential’s generic signing, verification and public key recovery functions implemented using
secp256k1
and theessential_hash
crate. - Items related to validating
Solution
s. - The essential state read VM implementation.
- Common types for Essential Chain.