package octez-libs

  1. Overview
  2. Docs
A package that contains multiple base libraries used by the Octez suite

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-octez-v20.1.tag.bz2
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65

doc/octez-libs.tezos-sapling/Tezos_sapling/Core/Client/UTXO/index.html

Module Client.UTXOSource

Sourcetype rk

Randomised signature keys. All inputs are signed with a randomised version of a secret key. *

Sourcetype spend_proof

Zero knowledge proofs needed to spend a transaction outputs. See spec section 4.15 *

Sourcetype spend_sig

Signature needed to spend tokens. Computed with a randomised version of the secret key and verifies under a randomised version of the public key. Signs a hash of an input concatenated with an optional anti-replay string. *

Sourcetype output_proof

Zero-knowledge proof needed to create money. See spec section 4.15 *

Sourcetype input = {
  1. cv : CV.t;
  2. nf : Nullifier.t;
  3. rk : rk;
  4. proof_i : spend_proof;
  5. signature : spend_sig;
}

Contains the necessary information to spend tokens (except the root which we include in the transaction). *

Sourceval input_encoding : input Data_encoding.t
Sourcetype output = {
  1. cm : Commitment.t;
  2. proof_o : output_proof;
  3. ciphertext : Ciphertext.t;
}

Contains the necessary information to create tokens. *

Sourceval output_encoding : output Data_encoding.t
Sourcetype binding_sig

Ties a transaction to a balance (difference between the tokens created and spent). Proves with the commitment values that sum of values of inputs minus sums of values of output equals balance. *

Sourceval binding_sig_encoding : binding_sig Data_encoding.t
Sourcetype transaction = {
  1. inputs : input list;
  2. outputs : output list;
  3. binding_sig : binding_sig;
  4. balance : int64;
  5. root : Hash.t;
  6. bound_data : string;
}

Transaction that is sent to a verifier. The root corresponds to a merkle tree where the inputs are present. Even if this root can in principle be very old, a verifier may keep only the last n known roots considering anything older as invalid. bound_data is arbitrary data that gets signed by the Sapling keys and can typically be used to connect the Sapling protocol to another one. For example it can contain the recipient address of an unshield operation. The memo_size field is checked at encoding and encoding to be the real memo size of all outputs. A transaction leaks the balance between inputs and outputs and the number of inputs and outputs. Note that the number of inputs is limited to 5208 and number of outputs to 2019, by a check in the encoding. This is important to avoid invalidating a proof over the balance as described in section 4.12 of the spec.

Sourceval transaction_encoding : transaction Data_encoding.t

The encoding enforces the limits on number of inputs and outputs.

Sourceval max_amount : int64

Maximum amount of shielded tokens. This value is imposed by librustzcash. *

Sourceval valid_amount : int64 -> bool
Sourcemodule Legacy : sig ... end
OCaml

Innovation. Community. Security.