You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pollard is a middle-grownd between full tree and Stump that allows
holding only a subset of UTXOs, while still allowing proving those
elements.
This implementation only allows for full pollards, where all leaves are
present. Allowing partial pollard will be accomplished later.
The implementation uses interior mutability to work. A Pollard is
different from a normal Binary Tree because nodes points to it's
sibling, not their children. This makes recursive algoritms more
evolved, specially during deletions.
This implementation is all iteractive, and carefully uses interior
mutability with Cell and RefCell. Those smart pointers allows
runtime borrow checking, if some of the Borrowing Rules is broken, it
panics. Here, we take care of not holding reference to the interior of a
Cell or RefCell for too log, and not passing `mut ref` arround. Only a
few functions with very limited scope can use `mut ref`s.
A extensible collection of tests is also provided, to check for code
correctness and soundness.
.
0 commit comments