Module Mavryk_raw_protocol_alpha.Zk_rollup_storage

type Mavryk_protocol_environment_alpha.Error_monad.error +=
  1. | Zk_rollup_does_not_exist of Zk_rollup_repr.t
    (*

    Emitted when trying to perform an operation over a ZK rollup that hasn't been initialised.

    *)
  2. | Zk_rollup_invalid_op_code of int
    (*

    Emitted when trying to add to the pending list and operation with an invalid op code.

    *)
  3. | Zk_rollup_pending_list_too_short
    (*

    Emitted when trying to process more public operations than those available in the pending list.

    *)

These errors are only to be matched in tests.

account context rollup fetches the ZK rollup's account from the storage.

originate context static ~init_state produces an address a for a ZK rollup storage using the origination_nonce from the context. This function also initializes the storage, indexing the initial ZKRU account by a.

Returns the new context and ZKRU address, alongside the size of the new account.

add_to_pending context rollup operations appends to the ZK rollup's pending list a list of L2 operations. Returns the new context alongside the size of the new operations.

May fail with:

  • Zk_rollup_invalid_op_code op_code if the op_code of one of the operations is greater or equal to the number of declared operations for this rollup.

get_pending_length context rollup returns the length of a ZK rollup's pending list.

get_prefix context rollup n returns the prefix of length n of the rollup's pending list.

May fail with:

  • Zk_rollup_pending_list_too_short if n is greater than the length of the pending list.
  • Zk_rollup_negative_length if n is negative.

update context rollup ~pending_to_drop ~new_account sets the rollup's account to new_account. Additionally, it removes the first pending_to_drop entries from the rollup's pending list. Returns the new context.

May fail with:

  • Zk_rollup_pending_list_too_short if pending_to_drop is greater than the length of the pending list.
  • Zk_rollup_negative_length if pending_to_drop is negative.

assert_exist context rollup asserts that rollup has been initialized. Returns the new context.

May fail with:

  • Zk_rollup_does_not_exist if rollup is not found.

exists context rollup returns a boolean representing whether rollup has been initialized.