Closed survived closed 3 years ago
idk, ring
is quite big to take in just for sha256.
Maybe we should fork/implement one of the merkle
libraries?
Or maybe use this? https://github.com/nervosnetwork/merkle-tree (it allows us to use whatever hash function we want)
merkle-cbt
looks fine to me! I changed the code to use this crate, now we have no dependency on ring
! 🎉
But in favour of this dependency switching, I had to change merkle trees API, and proofs generated by previous curv still are not compatible with latest curv. But I think it's fine.
Removes deprecated dependency on
rust-crypto
. The only thing is changed in the library is merkle tree support.merkle-sha3 v0.1
→merkle v1
\ (merkle-sha3
is abandoned)merkle
crate depends onring
. Dependency onring
might be not desirable, so I made it optional. See featuremerkle-tree
.keccak256
→sha256
\ring
has no support ofkeccak256
. This change means that any proofs generated by earlier versions ofcurv
are not compatible with the latestcurv
.