diff --git a/CHANGELOG.md b/CHANGELOG.md index 14fd3a3f..ffb739f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ - [BREAKING] Updated Winterfell dependency to v0.12 (#374). - Added debug-only duplicate column check in `build_subtree` (#378). - Filter out empty values in concurrent version of `Smt::with_entries` to fix a panic (#383). +- Added property-based testing (proptest) and fuzzing for `Smt::with_entries` and `Smt::compute_mutations` (#385). +- Sort keys in a leaf in the concurrent implementation of `Smt::with_entries`, ensuring consistency with the sequential version (#385). +- Skip unchanged leaves in the concurrent implementation of `Smt::compute_mutations` (#385). ## 0.13.3 (2025-02-18) diff --git a/Cargo.toml b/Cargo.toml index 013cb6d1..8bf7bc1d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -93,4 +93,4 @@ cc = { version = "1.2", optional = true, features = ["parallel"] } glob = "0.3" [lints.rust] -unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } \ No newline at end of file +unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } diff --git a/src/merkle/smt/full/concurrent/tests.rs b/src/merkle/smt/full/concurrent/tests.rs index aedccc07..ff321f9b 100644 --- a/src/merkle/smt/full/concurrent/tests.rs +++ b/src/merkle/smt/full/concurrent/tests.rs @@ -473,7 +473,7 @@ fn test_smt_construction_with_entries_unsorted() { (RpoDigest::new([ONE, ONE, Felt::new(2_u64), ONE]), [ONE; 4]), (RpoDigest::new([ONE; 4]), [ONE; 4]), ]; - let control = Smt::with_entries_sequential(entries.clone()).unwrap(); + let control = Smt::with_entries_sequential(entries).unwrap(); let smt = Smt::with_entries(entries).unwrap(); assert_eq!(smt.root(), control.root()); assert_eq!(smt, control);