-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Port zebra-chain::sapling
to zebra-chain::orchard
#1885
Conversation
@dconnolly let me know when you want a review on this PR. |
I've moved it to 'ready for review', while I add more tests and clean up this first pass. I figure that a first pass can get merged imminently, with the understanding that changes from the spec, keeping an eye on progress on the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like it's mostly there, let me know if you need a hand with any of the changes and missing pieces.
…e it If we need Hash, we may need to replace the inner type with bytes.
But I added a max 10-bit value check in S() on j.
…s of those Also modify the string encoding/decoding rountrip proptest to be just an exerciser of the keygen for now.
42f7bb5
to
7bcf779
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, but I'm going to leave it to @dconnolly to merge.
…parts NU5 proposes Unified Addresses, which would supplant any classic standalone pool address for Orchard. #1885 (comment)
Motivation
We need a bunch of data structures and implementations for Orchard, that share a lot of similarities for the things that we've already implemented for Sapling, modulo Sinsemilla hashes, Actions, and using Pallas instead of Jubjub.
Solution
Port our
zebra_chain::sapling
code tozebra_chain::orchard
, adding/updating/removing where appropriate.The code in this pull request has:
Review
@teor2345 @oxarbitrage
Related Issues
This resolve a lot of tickets that should be linked from NU5 spec tracking, please create and fill them in here.
#1856
Closes #1864 ?
Follow Up Work
redpallas
inprimitives
for now. There is a proposal to makeredjubjub
generic over traits to make itreddsa
. I haven't really formed an opinion yet on this, because it would be globally generic, but for Jubjub and Pallas to start. I personally would be fine with a port of RedJubjub to RedPallas, not generic, perhaps just internal to zebra-chain right now, at least to get things working. replaceredpallas
module withreddsa
crate #2080