package octez-protocol-016-PtMumbai-libs

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

This module allows the creation of Sapling transactions: shield, unshield and transfer. Because Sapling uses an UTXO model, it is necessary for the client to maintain locally the set of unspent outputs for each viewing key, for each smart contract. This operation is called scanning. This local cache is updated downloading from the node only the difference from the last scanned state.

module Shielded_tez : sig ... end

This module is used to represent any shielded token to avoid confusing it with Tez.

val sapling_transaction_as_arg : Tezos_sapling.Core.Client.UTXO.transaction -> string

Convert a Sapling transaction to a suitable argument for the Smart Contract.

module Account : sig ... end

Account corresponding to a contract and a viewing key

module Contract_state : sig ... end

State of a contract, potentially involving several viewing keys

module Client_state : sig ... end
val shield : Tezos_client_base.Client_context.full -> dst:Tezos_sapling.Core.Client.Viewing_key.address -> ?message:bytes -> Tez.t -> Contract_state.t -> string -> Tezos_sapling.Core.Client.UTXO.transaction Tezos_base.TzPervasives.tzresult Lwt.t

shield ~message ~dst tez cstate anti-replay returns a transaction shielding tez tez to a sapling address dst using a sapling storage cstate and the anti-replay string.

unshield ~src_name ~src ~dst ~backdst stez cstate storage returns a transaction unshielding stez shielded tokens from a sapling wallet src to a transparent tezos address dst, sending the change back to backdst and using a Sapling storage cstate and a anti-replay string. The transaction is refused if there is an insufficient amount of shielded tez in the wallet src, the error is raised with src_name.

transfer ~message ~src ~dst ~backdst amount cstate anti-replay creates a Sapling transaction of amount shielded tez from Sapling wallet src to Sapling address dst, sending the change to backdst, using a Sapling storage cstate and a anti-replay string. ~message is a message that will be uploaded encrypted on chain.

OCaml

Innovation. Community. Security.