package tezos-protocol-015-PtLimaPt

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

This module provides a temporary toy rollup to be used as a demo.

This rollup is a stack machine equipped with addition.

It processes postfix arithmetic expressions written as sequence of (space separated) int and + using the following rules:

  • a number x is interpreted as pushing x on the stack ;
  • a variable a is interpreted as storing the topmost element of the stack in the storage under the name "a" ;
  • a variable out is interpreted as adding a message to the outbox containing a single transaction batch with the topmost element of the stack as payload, the zero contract as destination, and a default entrypoint ;
  • a symbol + pops two integers x and y and pushes x + y on the stack ;

If a message is not syntactically correct or does not evaluate correctly, the machine stops its evaluation and waits for the next message.

The machine has a boot sector which is a mere string used a prefix for each message.

The module implements the Sc_rollup_PVM_sig.SÎ interface to be used in the smart contract rollup infrastructure.

The machine exposes extra operations to be used in the rollup node.

module type S = sig ... end
val reference_initial_state_hash : Sc_rollup_repr.State_hash.t

This is the state hash of reference that both the prover of the node and the verifier of the protocol Protocol_implementation have to agree on (if they do, it means they are using the same tree structure).

module type P = sig ... end
module Make (Context : P) : S with type context = Context.Tree.t and type state = Context.tree and type proof = Context.proof
OCaml

Innovation. Community. Security.