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§
- arbitrary 🔒
- Randomised data generation for sapling types.
- commitment 🔒
- Note and value commitments.
- keys
- Sapling key types.
- note 🔒
- Sapling notes
- output
- Sapling Output descriptions, as described in protocol specification §7.4.
- shielded_
data - Sapling shielded data for
V4
andV5
Transaction
s. - spend
- Sapling spends for
V4
andV5
Transaction
s. - tree
- Note Commitment Trees.
Structs§
- Commitment
Randomness - The randomness used in the Pedersen Hash for note commitment.
- Encrypted
Note - A ciphertext component for encrypted output notes.
- NotSmall
Order Value Commitment - A Homomorphic Pedersen commitment to the value of a note, used in Spend and Output descriptions.
- Note
- A Note represents that a value is spendable by the recipient who holds the spending key corresponding to a given shielded payment address.
- Note
Commitment - Note commitments for the output notes.
- Nullifier
- A Nullifier for Sapling transactions
- Value
Commitment - A Homomorphic Pedersen commitment to the value of a note.
- Wrapped
Note Key - A ciphertext component for encrypted output notes.