package tezos-protocol-alpha

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

High-level operations over smart contract rollups.

type Tezos_protocol_environment_alpha.Error_monad.error +=
  1. | Sc_rollup_invalid_parameters_type
  2. | Sc_rollup_invalid_last_cemented_commitment
  3. | Sc_rollup_invalid_output_proof
  4. | Sc_rollup_invalid_outbox_level
type execute_outbox_message_result = {
  1. paid_storage_size_diff : Tezos_protocol_environment_alpha.Z.t;
  2. ticket_receipt : Ticket_receipt.t;
  3. operations : Script_typed_ir.packed_internal_operation list;
}

Result of calling the execute_outbox_message function.

type origination_result = {
  1. address : Alpha_context.Sc_rollup.Address.t;
  2. size : Tezos_protocol_environment_alpha.Z.t;
  3. genesis_commitment_hash : Alpha_context.Sc_rollup.Commitment.Hash.t;
}

originate context ~kind ~boot_sector ~origination_proof ~parameters_ty adds a new rollup running in a given kind initialized with a boot_sector and to accept smart contract calls of type parameters_ty.

origination_proof, which covers the specialization of the PVM initial state with the boot_sector, is used by the protocol to compute the genesis commitment, after its correctness has been checked.

Note: The need to provide an origination_proof is motivated by technical limitations of Irmin (as of June, 2022), that requires a context to get an empty tree. As soon as this limitation is lifted, then we can drop the origination_proof argument.

Returns an error if origination_proof is invalid (e.g., it does not target the expected PVM).

execute_outbox_message ctxt rollup ~cemented_commitment ~output_proof validates the given outbox message and prepares a set of resulting operations.

module Internal_for_tests : sig ... end

A module used for testing purposes only.

OCaml

Innovation. Community. Security.