Core: document input/output limits

parent c1cffe1a
Pipeline #129945885 failed with stages
in 12 minutes and 45 seconds
......@@ -246,8 +246,14 @@ module type UTXO = sig
val binding_sig_encoding : binding_sig Data_encoding.t
(** Contains the necessary information to make a transaction with a merkle
tree of root [root] **)
(** Transaction that is sent to a verifier.
The root corresponds to a merkle tree where the inputs are present and
unspent. 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.
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. This is important to avoid invalidating a
proof over the balance as described in section 4.12 of the spec. *)
type transaction = {
inputs : input list;
outputs : output list;
......@@ -256,6 +262,7 @@ module type UTXO = sig
root : hash;
(** The encoding enforces the limits on number of inputs and outpus. *)
val transaction_encoding : transaction Data_encoding.t
(** Maximum amount of shielded tokens. This value is imposed by
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment