earthstar-project / willow-rs

Implementations of the Willow family of specifications in Rust.
https://willowprotocol.org
Apache License 2.0
25 stars 1 forks source link

Path Successors [✨ surprises ✨] #22

Closed sgwilym closed 3 months ago

sgwilym commented 3 months ago

Last week I naïvely thought: "let's quickly port the willow-utils path successor functions and get that out of the way". Things did not work out that way!

TL;DR: All path successor implementations up to this point are wrong, and we were only able to find out how using fuzz testing. willow-util's implementations need to be fixed, as it may be generating the wrong ranges for areas.

SubspaceId

PathComponent trait

Path trait

Testing

sgwilym commented 3 months ago

@Frando you may want to check this against your own implementation for path successors.