Module Tezos_raw_protocol_alpha.Sc_rollup_outbox_message_repr

This module defines a data type t that represents messages from Layer 2 to Layer 1.

They are part of the Rollup Management Protocol that defines the communication protocol for exchanging messages between Layer 1 and Layer 2 for smart-contract rollups.

An outbox-message consists of a sequence of transactions to L1 smart-contract accounts. All transactions contained in a message are intended to be executed as a batch.

type transaction = {
  1. unparsed_parameters : Script_repr.expr;
    (*

    The payload.

    *)
  2. destination : Contract_hash.t;
    (*

    The recipient contract.

    *)
  3. entrypoint : Entrypoint_repr.t;
    (*

    Entrypoint of the destination.

    *)
}

A transaction from L2 to L1.

type typed_transaction = {
  1. unparsed_parameters : Script_repr.expr;
    (*

    The payload.

    *)
  2. unparsed_ty : Script_repr.expr;
    (*

    The type of the payload.

    *)
  3. destination : Contract_hash.t;
    (*

    The recipient contract.

    *)
  4. entrypoint : Entrypoint_repr.t;
    (*

    Entrypoint of the destination.

    *)
}

A transaction from L2 to L1, with typed payload.

type t =
  1. | Atomic_transaction_batch of {
    1. transactions : transaction list;
    }
  2. | Atomic_transaction_batch_typed of {
    1. transactions : typed_transaction list;
    }
  3. | Whitelist_update of Sc_rollup_whitelist_repr.t option

A type representing messages from Layer 2 to Layer 1.

type serialized = private string

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

serialize msg serializes the given outbox message msg.

val unsafe_of_string : string -> serialized

unsafe_of_string s builds a serialized value out of a string. You must understand the invariants of serialized to do so.

val unsafe_to_string : serialized -> string

unsafe_to_string s builds a string out of a serialized value. You must understand the invariants of serialized to manipulate the resulting string.