diff --git a/README.md b/README.md index 696e4cadd..a8bbe9e2d 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,69 @@ This repository contains a (work-in-progress) set of Rust crates for working with Zcash. +```mermaid +graph TB + subgraph librustzcash + direction TB + subgraph main + nZAddr[zcash_address] + nZPrim[zcash_primitives] + nZProof[zcash_proofs] + nZProto[zcash_protocol] + nZCB[zcash_client_backend] + nZCS[zcash_client_sqlite] + nZKeys[zcash_keys] + nZip321[zip321] + end + + subgraph standalone_components + nEqH[equihash] + nF4J[f4jumble] + nZEnc[zcash_encoding] + end + end + + subgraph protocols + sapling[sapling-crypto] + orchard[orchard] + end + + subgraph protocol_components + nZNE[zcash_note_encryption] + nZip32[zip32] + nZSpec[zcash_spec] + end + + nZCS --> nZCB + nZCB --> nZPrim + nZCB --> nZip321 + nZCB --> nZKeys + nZProof --> nZPrim + nZPrim --> nZProto + nZPrim --> nEqH + nZPrim --> sapling + nZPrim --> orchard + nZPrim --> nZEnc + nZPrim --> nZAddr + nZKeys --> nZAddr + nZKeys --> nZEnc + nZKeys --> nZProto + nZip321 --> nZAddr + nZip321 --> nZProto + nZAddr --> nZProto + nZAddr --> nF4J + nZAddr --> nZEnc + sapling --> nZNE + sapling --> nZip32 + sapling --> nZSpec + orchard --> nZNE + orchard --> nZip32 + orchard --> nZSpec + + librustzcash --> protocols + protocols --> protocol_components +``` + ## Security Warnings These libraries are under development and have not been fully reviewed.