package tezos-sapling

  1. Overview
  2. Docs
type rk = R.rk
type spend_proof = R.spend_proof
type sighash = R.sighash

What gets signed. Has to be a hash of an input plus anti-replay string.

val hash_input : R.cv -> R.nullifier -> R.rk -> R.spend_proof -> string -> R.sighash
type spend_sig = R.spend_sig
type input = {
  1. cv : CV.t;
  2. nf : Nullifier.t;
  3. rk : rk;
  4. proof_i : spend_proof;
  5. signature : spend_sig;
}
val input_encoding : input Data_encoding.encoding
type output_proof = R.output_proof
type output = {
  1. cm : Commitment.t;
  2. proof_o : output_proof;
  3. ciphertext : Ciphertext.t;
}
val output_encoding : output Data_encoding.encoding
type binding_sig = R.binding_sig
val binding_sig_encoding : R.binding_sig Data_encoding.encoding
val hash_transaction : input list -> output list -> string -> R.sighash
type transaction = {
  1. inputs : input list;
  2. outputs : output list;
  3. binding_sig : binding_sig;
  4. balance : int64;
  5. root : Hash.t;
}
val transaction_encoding : transaction Data_encoding.encoding
val max_amount : int64
val valid_amount : int64 -> bool