package tezos-protocol-015-PtLimaPt

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

Module Tezos_raw_protocol_015_PtLimaPt.Sc_rollupsSource

Here is the list of PVMs available in this protocol.

Sourcemodule PVM : sig ... end
Sourcemodule Kind : sig ... end

A smart contract rollup has a kind, which assigns meaning to rollup operations.

Sourcemodule type PVM_with_proof = sig ... end

A module signature we can use to form first-class modules that carry a specific proof a long with the PVM module interface.

Sourcetype wrapped_proof =
  1. | Unencodable of (module PVM_with_proof)
  2. | Arith_pvm_with_proof of (module PVM_with_proof with type proof = Sc_rollup_arith.Protocol_implementation.proof)
  3. | Wasm_2_0_0_pvm_with_proof of (module PVM_with_proof with type proof = Sc_rollup_wasm.V2_0_0.Protocol_implementation.proof)

A wrapper for first-class modules (module PVM_with_proof). We need this in order to implement an encoding function. The Unencodable case is provided so that tests can provide their own PVM interfaces without having to include proof encodings here.

Sourceval wrapped_proof_module : wrapped_proof -> (module PVM_with_proof)

Unwrap a wrapped_proof into a first-class module.

Sourceval wrapped_proof_kind_exn : wrapped_proof -> Kind.t

wrapped_proof_kind_exn p returns the kind of the PVM capable of interpreting p. Raises Invalid_argument iff p is an Unencodable proof (which cannot happen if p is constructed by wrapped_proof_encoding).

Sourceval wrap_proof : (module PVM_with_proof) -> wrapped_proof option

Wrap a PVM module with proof into a wrapped_proof. This matches on the name in the module---if that is recognisable as a Kind, this function will encode and decode to coerce the proof to a proof in the protocol implementation of the PVM. If the name is not recognised this will fall back to using Unencodable, so the value can still be used in tests but won't work as part of a Sc_rollup_refute operation.

OCaml

Innovation. Community. Security.