Sapling
This branch adds a dependency that must be installed with make build-deps
for it to compile.
REVIEW
lib_sapling/
- rustzcash, do not review as susceptible to changes
- core, proceed bottom-up, requires a good understanding of the sapling protocol
- forge, very related to client
- storage, very related to protocol storage
- test/example.ml, useful to review the client and verify_update in the protocol
proto_alpha/lib_protocol/
Storage:
- storage
- sapling_storage, related to lib_sapling/storage.ml
- sapling_services
- contract_services
Michelson:
- script_*
proto_alpha/lib_client_sapling
- wallet
- context
- commands
organization
2 reviewers in the client + lib_sapling/forge
2 reviewers in the protocol + lib_sapling/storage
A more expert review will probably be required for core.ml, so we leave to the reviewers to decide in which depth they want to review it.
Entrypoint for the review: docs/developer/sapling.rst
AFTER/DURING REVIEW
-
refactor names that are abbreviations like nf -> nullifier -
split initialization of storage in a separate Migration commit -
Squash everything (don't forget to mention all authors and reviewers in the commit message) and split wrt. protocol/non-protocol -
merge opam-repository first
Sapling umbrella task: nomadic-labs/tezos#65
Edited by Marco Stronati