Module Mavkit_smart_rollup.L1_operation

type t =
  1. | Add_messages of {
    1. messages : string list;
    }
  2. | Cement of {
    1. rollup : Address.t;
    2. commitment : Mavkit_smart_rollup.Commitment.Hash.t;
    }
  3. | Publish of {
    1. rollup : Address.t;
    2. commitment : Commitment.t;
    }
  4. | Refute of {
    1. rollup : Address.t;
    2. opponent : Mavryk_crypto.Signature.Public_key_hash.t;
    3. refutation : Game.refutation;
    }
  5. | Timeout of {
    1. rollup : Address.t;
    2. stakers : Game.index;
    }
  6. | Recover_bond of {
    1. rollup : Address.t;
    2. staker : Mavryk_crypto.Signature.Public_key_hash.t;
    }
    (*

    Encoding for L1 operations (used by injector for on-disk persistence).

    *)
  7. | Execute_outbox_message of {
    1. rollup : Address.t;
    2. cemented_commitment : Mavkit_smart_rollup.Commitment.Hash.t;
    3. output_proof : string;
    }

L1 operations produced (and injected) by the rollup node.

val encoding : t Mavryk_base.TzPervasives.Data_encoding.t
val pp : Stdlib.Format.formatter -> t -> unit

Pretty printer (human readable) for L1 operations.

val unique : t -> bool

false if the injector will accept duplicate such operations.