Module Mavryk_raw_protocol_alpha.Zk_rollup_account_repr

Representation of a ZK Rollup account.

type static = {
  1. public_parameters : Mavryk_protocol_environment_alpha.Plonk.public_parameters;
    (*

    Input to the Plonk verifier that are fixed once the circuits are decided.

    *)
  2. state_length : int;
    (*

    Number of scalars in the state.

    *)
  3. circuits_info : [ `Public | `Private | `Fee ] SMap.t;
    (*

    Circuit names, alongside a tag indicating its kind.

    *)
  4. nb_ops : int;
    (*

    Valid op codes of L2 operations must be in [0, nb_ops)

    *)
}

Static part of a ZKRU account. These are set at origination, after which they cannot be modified.

type dynamic = {
  1. state : Zk_rollup_state_repr.t;
    (*

    Array of scalars representing the state of the rollup at a given level.

    *)
  2. paid_l2_operations_storage_space : Mavryk_protocol_environment_alpha.Z.t;
    (*

    Number of bytes for storage of L2 operations that have been already paid for.

    *)
  3. used_l2_operations_storage_space : Mavryk_protocol_environment_alpha.Z.t;
    (*

    Number of bytes for storage of L2 operations that are being used.

    *)
}

Dynamic part of a ZKRU account.

type t = {
  1. static : static;
  2. dynamic : dynamic;
}
val circuits_info_encoding : [ `Public | `Private | `Fee ] SMap.t Mavryk_protocol_environment_alpha.Data_encoding.t