summaryrefslogtreecommitdiff
path: root/crates/equix/src
Commit message (Collapse)AuthorAgeFilesLines
* Run add_warnings on all files.Nick Mathewson2023-08-041-2/+2
|
* equix/fuzz: CI and doc fixesMicah Elizabeth Scott2023-08-021-6/+9
| | | | | | | | The build found a stale private doc comment as well as an exception that needed to be made in check_doc_features. The check_doc_features change solidifies a decision that things marked with cfg(fuzzing) aren't part of the documented API.
* equix/fuzz: Fixes to get nick's prototype runningMicah Elizabeth Scott2023-08-015-12/+27
| | | | | | | | | There are some places we might improve this, maybe testing more data types and shapes. This patch just makes the minimal changes necessary to get it working: adds allocation logic to the fuzzer itself, and adds visibility for the bucket_array::mem interface. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* equix, hashx: Additional comment tweaksMicah Elizabeth Scott2023-07-272-11/+59
| | | | | | More review feedback. Thanks nickm! Signed-off-by: Micah Elizabeth Scott <[email protected]>
* tor-hspow, equix, hashx: Comment tweaksMicah Elizabeth Scott2023-07-277-76/+104
| | | | | | Making a few comment tweaks suggested in review feedback. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* tor-hspow, equix, hashx: Make all error types CloneMicah Elizabeth Scott2023-07-271-1/+1
| | | | | | | This uses an Arc to hold std::io::Error for low-level HashX runtime errors. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* equix: Refactoring for bucket_arrayMicah Elizabeth Scott2023-07-274-434/+662
| | | | | | | This splits up bucket_array into two smaller modules, one for the hash table behavior and one for the MaybeUninit memory management. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* Update equix, hashx, tor-hspow for new clippy defaultsMicah Elizabeth Scott2023-07-271-1/+1
| | | | Just running maint/add_warning after the rebase
* Reimplement Equi-X in RustMicah Elizabeth Scott2023-07-276-0/+1300
This is a new pure Rust implementation of the Equi-X algorithm designed by tevador for Tor's onion service proof of work puzzle v1. Equi-X is an asymmetric puzzle algorithm based on Equihash, with N=60, K=3, the XOR replaced with modular addition, a 16-bit index space, and HashX as the inner hash function. Signed-off-by: Micah Elizabeth Scott <[email protected]>