Expand description
ZYNC Core - Zcash light client primitives
Shared library for zcash light client verification and scanning:
- Ligerito header chain verification
- NOMT state proof verification
- Orchard note trial decryption
- gRPC client for zidecar/lightwalletd
Re-exports§
pub use error::Result;pub use error::ZyncError;pub use scanner::BatchScanner;pub use scanner::DecryptedNote;pub use scanner::ScanAction;pub use scanner::Scanner;pub use client::LightwalletdClient;pub use client::ZidecarClient;
Modules§
- actions
- Actions merkle root computation and running commitment chain.
- client
- gRPC clients for Zcash light wallet services
- error
- error types for zync
- nomt
- NOMT proof verification primitives shared between zcli and zidecar.
- scanner
- WASM-compatible parallel note scanner for Orchard
- verifier
- ligerito proof verification with continuity checking
Structs§
- Incoming
Viewing Key - A key that provides the capability to detect and decrypt incoming notes from the block chain, without being able to spend the notes or detect when they are spent.
- Orchard
Fvk - A key that provides the capability to view incoming and outgoing transactions.
- Spending
Key - A spending key, from which all key material is derived.
Enums§
- Scope
- The scope of a viewing key or address.
Constants§
- ACTIVATION_
HASH_ MAINNET - orchard activation block hash (mainnet, LE internal order)
- DOMAIN_
EPOCH_ PROOF - domain separator for epoch proof hash
- DOMAIN_
IVK_ COMMIT - domain separator for ivk commitment
- DOMAIN_
WALLET_ STATE - domain separator for wallet state commitment
- EMPTY_
SMT_ ROOT - empty sparse merkle tree root
- EPOCH_
PROOF_ TRACE_ LOG_ SIZE - polynomial size exponent for epoch proofs (2^26 config)
- EPOCH_
SIZE - blocks per epoch (~21 hours at 75s/block)
- FIELDS_
PER_ ACTION - fields encoded per action in trace polynomial
- GENESIS_
EPOCH_ HASH - genesis epoch hash (all zeros)
- MAX_
ACTIONS_ PER_ BLOCK - max orchard actions per block
- ORCHARD_
ACTIVATION_ HEIGHT - orchard activation height (mainnet)
- ORCHARD_
ACTIVATION_ HEIGHT_ TESTNET - orchard activation height (testnet)
- SECURITY_
BITS - security parameter (bits)
- TIP_
TRACE_ LOG_ SIZE - polynomial size exponent for tip proofs (2^20 config, max ~32K headers)
Functions§
- epoch_
end - helper: get end height of epoch (inclusive)
- epoch_
for_ height - helper: calculate epoch number from block height
- epoch_
proof_ prover_ config - ligerito prover config for epoch proofs (2^26)
- epoch_
start - helper: get start height of epoch
- prover_
config_ for_ size - select the appropriate prover config for a given trace size
- tip_
prover_ config - ligerito prover config for tip proofs (2^20)
- verifier_
config_ for_ log_ size - select the appropriate verifier config for a given log size