package tezos-protocol-014-PtKathma

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

This module provides a typed API for the Rollup Management Protocol that defines the communication protocol for exchanging messages between Layer 1 and Layer 2 for smart-contract rollups.

The API exposes functions for constructing inbox messages. These are messages produced by the Layer 1 protocol and added to a smart-contract rollups inbox.

The Layer 2 node is responsible for decoding and interpreting the messages.

A type outbox_message representing messages from Layer 2 to Layer 1 is also provided. An outbox_message consists of a set of transactions to L1 accounts.

type Tezos_protocol_environment_014_PtKathma.Error_monad.error +=
  1. | Sc_rollup_invalid_destination
type transaction = private
  1. | Transaction : {
    1. destination : Contract_hash.t;
    2. entrypoint : Alpha_context.Entrypoint.t;
    3. parameters_ty : ('a, _) Script_typed_ir.ty;
    4. parameters : 'a;
    5. unparsed_parameters : Alpha_context.Script.expr;
    } -> transaction

A type representing a Layer 2 to Layer 1 transaction.

type atomic_transaction_batch = private {
  1. transactions : transaction list;
}

A type representing a batch of Layer 2 to Layer 1 transactions.

type outbox_message = private
  1. | Atomic_transaction_batch of atomic_transaction_batch

A type representing messages from Layer 2 to Layer 1.

make_internal_inbox_message ctxt ty ~payload ~sender ~source constructs a smart-contract rollup's inbox message (an L1 to L2 message) with the given payload, sender, and source.

outbox_message_of_bytes ctxt bs decodes an outbox message value from the given bytes bs. The function involves parsing Micheline expressions to typed values.

module Internal_for_tests : sig ... end

Function for constructing and encoding inbox_message and outbox_message values. Since Layer 1 only ever consumes outbox_message values and produces inbox_message values, these functions are used for testing only.

OCaml

Innovation. Community. Security.