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.


pub use keys::Diversifier;
pub use output::Output;
pub use output::OutputInTransactionV4;
pub use shielded_data::AnchorVariant;
pub use shielded_data::FieldNotPresent;
pub use shielded_data::PerSpendAnchor;
pub use shielded_data::SharedAnchor;
pub use shielded_data::ShieldedData;
pub use shielded_data::TransferData;
pub use spend::Spend;


Sapling key types.
Sapling Output descriptions, as described in protocol specification §7.4.
Sapling shielded data for V4 and V5 Transactions.
Sapling spends for V4 and V5 Transactions.
Note Commitment Trees.


The randomness used in the Pedersen Hash for note commitment.
A ciphertext component for encrypted output notes.
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.