5 个版本 (破坏性更新)
0.4.0 | 2024 年 8 月 13 日 |
---|---|
0.3.0 | 2024 年 8 月 13 日 |
0.2.0 | 2024 年 7 月 24 日 |
0.1.0 | 2024 年 7 月 8 日 |
0.0.0-release | 2024 年 7 月 8 日 |
784 在 Rust 模式
每月 557 次下载
在 2 个包中使用(通过 essential-server)
265KB
5.5K SLoC
essential-check
与验证 Essential 状态转换相关的核心逻辑。
lib.rs
:
用于验证 Predicate
、Solution
和 SolutionData
的核心逻辑。
典型用法是首先独立验证谓词和解决方案,然后再使用 solution::check_predicates
进行相互验证。
谓词验证
predicate::check_signed_contract
验证已签名的合同。predicate::check_contract
验证合同。predicate::check
验证单个谓词。predicate::check_slots
验证谓词的槽位。predicate::check_directive
验证谓词的指令。predicate::check_state_reads
验证谓词的状态读取字节码。predicate::check_constraints
验证谓词的约束字节码。
解决方案验证
solution::check
验证无符号解决方案。solution::check_data
验证解决方案的数据切片。solution::check_state_mutations
验证解决方案的状态突变切片。
解决方案 + 谓词验证
solution::check_predicates
验证解决方案数据与其关联的谓词。solution::check_predicate
验证单个解决方案数据与其关联的谓词。solution::check_predicate_constraints
解决方案数据验证中谓词约束检查部分。solution::check_decision_variable_lengths
检查期望的决策变量数量。
依赖项
~15MB
~233K SLoC