Module zebra_chain::sapling
source · Expand description
Sapling-related functionality.
These data structures enforce the structural validity of Sapling-related consensus-critical objects.
Consensus rule:
These data structures ensure that ZIP-216, canonical Jubjub point encodings, are enforced everywhere where Jubjub points occur, and non-canonical point encodings are rejected. This is enforced by the jubjub crate, which is also used by the redjubjub crate.
Re-exports§
pub use keys::Diversifier;
pub use output::Output;
pub use output::OutputInTransactionV4;
pub use output::OutputPrefixInTransactionV5;
pub use shielded_data::AnchorVariant;
pub use shielded_data::FieldNotPresent;
pub use shielded_data::PerSpendAnchor;
pub use shielded_data::ShieldedData;
pub use shielded_data::TransferData;
pub use spend::Spend;
pub use spend::SpendPrefixInTransactionV5;
Modules§
- Randomised data generation for sapling types.
- Note and value commitments.
- Sapling key types.
- note 🔒Sapling notes
- Sapling Output descriptions, as described in protocol specification §7.4.
- Sapling shielded data for
V4
andV5
Transaction
s. - Sapling spends for
V4
andV5
Transaction
s. - Note Commitment Trees.
Structs§
- The randomness used in the Pedersen Hash for note commitment.
- A ciphertext component for encrypted output notes.
- A Homomorphic Pedersen commitment to the value of a note, used in Spend and Output descriptions.
- A Note represents that a value is spendable by the recipient who holds the spending key corresponding to a given shielded payment address.
- Note commitments for the output notes.
- A Nullifier for Sapling transactions
- A Homomorphic Pedersen commitment to the value of a note.
- A ciphertext component for encrypted output notes.