-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Switch from Namefilter to Name Accumulators (#247)
* feat: Add wnfs-nameaccumulator crate * WIP: refactor * WIP * Type checker * Checkpoint: No failing unit tests * Remove wnfs-namefilter * feat: Benchmarks for name accumulators * chore: Use published skip ratchet version * refactor out Name abstraction * cargo clippy --fix * Run proptests less often * refactor: use shorter AccumulatorSetup names * Make header's name based on mountpoint * Mount files and directories to explicit paths * refactor: Some forest function renames & moving code around * Implement proof generation * Attach proof info to PrivateForest entries * One proof for each CID in forest * Implement batch proving library functions * Revert PrivateForest back to storing just sets of CIDs * Refactor out trait PrivateForest * Refactor PrivateForest trait to be Rc-independent * Move forest-related files into own directory * Don't re-expose, implement PrivateForest with and without Rc for HamtForest * Implement get_mut in hamt node * Implement private forest label proof aggregation * Fix mounting * Write an example for forest proofs * Fix some clippy warnings * Fix doctests * Move more structs into serializable.rs * Fix all clippy warnings. * Use once_cell crate instead of std::cell for backwards compat * Make clippy happy? * Make clippy nightly happy! * Possibly fix wasm bindings * Uncomment two tests * Also prove removals in proving forest * Go through some TODOs * Zeroize toxic waste * Consistently use `CryptoRngCore` instead of `RngCore` * Write docstrings * Document more & remove unused * Organize name accumulator tests * Move proofs example to example dir * Fix wasm types * Tests in proofs.rs * Small cleanup and fixes * Switch to big endian for BigUints in general (RSA moduli are usually encoded big-endian) * Update readme, remove `Namefilter` mentions * Canonicalize l hash derivation * Correctly encode big integers with padding * Add previously failing test case * Better domain separation strings * Derive the name segment directly from the key * Remove redundant `as_ref()` + format * Remove `with_seed` and related APIs * Use `HamtForest::load` and `store` everywhere * Remove generic from `HamtForest` * Update wnfs/src/private/keys/privateref.rs Co-authored-by: Stephen Akinyemi <[email protected]> Signed-off-by: Philipp Krüger <[email protected]> * Update wnfs/examples/write_proofs.rs Co-authored-by: Stephen Akinyemi <[email protected]> Signed-off-by: Philipp Krüger <[email protected]> * Rename "saturated" into "revisioned" * Run webpack as a separate CI step * Adjust new js test from main --------- Signed-off-by: Philipp Krüger <[email protected]> Co-authored-by: Stephen Akinyemi <[email protected]>
- Loading branch information
Showing
69 changed files
with
3,508 additions
and
2,451 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,6 @@ | ||
cognitive-complexity-threshold = 10 | ||
ignore-interior-mutability = [ | ||
"bytes::Bytes", | ||
"wnfs::private::encrypted::Encrypted", | ||
"wnfs_nameaccumulator::NameAccumulator", | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,6 +9,6 @@ | |
"wnfs-wasm": {}, | ||
"wnfs-common": {}, | ||
"wnfs-hamt": {}, | ||
"wnfs-namefilter": {} | ||
"wnfs-nameaccumulator": {} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.