Tezos_sapling.Core_sigReference specification is version 2020.1.2 https://github.com/zcash/zips/blob/master/protocol/sapling.pdf
Each instance of the Sapling protocol should be identified by a unique string identifier which is used as anti-replay. It should typically contain a chain identifier and the identifier of a smart-contract. *
module type T_bytes = sig ... endmodule type T_encoding = sig ... endmodule type T_encoding_bytes = sig ... endmodule type T_encoding_compare = sig ... endmodule type Spending_key = sig ... endSpending keys allow to spend and derive viewing keys. It contains key material and information to derive deterministically more spending keys using the zip-32 standard (equivalent of bip-32 for ZCash). See spec section 3.1 *
module type Viewing_key = sig ... endViewing keys allow to see incoming and outgoing transactions without giving the ability to spend. Stored in the zip-32 format. *
module type Wallet = sig ... endmodule type Hash = sig ... endmodule type UTXO = sig ... endmodule type Validator = sig ... endRegroups what needs to be exposed to a Validator *
module type DH_esk = sig ... endA Diffie-Hellman key exchange is done between the payer and the recipient to encrypt the ciphertext. This can be done off or on chain. *
module type Commitment = sig ... endmodule type CV = sig ... endmodule type Nullifier = sig ... endSee spec section 3.8 *
module type Rcm = sig ... endmodule type Client = sig ... endSignatures for Client/Validator/Storage + some functions used in tests