From 6992662a9e99a8a2965e859bc25eec27059e7b0e Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 14 Jun 2022 13:34:06 +0200 Subject: [PATCH 01/45] SCORU,Node: Add tick sampling in rollup node Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/interpreter.ml | 201 ++++++++++++------ 1 file changed, 137 insertions(+), 64 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml index 093a3c34b00b..7a14a4a2f3d4 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml @@ -28,97 +28,133 @@ open Alpha_context module Inbox = Store.Inbox module type S = sig + module PVM : Pvm.S + (** [process_head node_ctxt store head] interprets the messages associated with a [head] from a chain [event]. This requires the inbox to be updated beforehand. *) val process_head : Node_context.t -> Store.t -> Layer1.head -> unit tzresult Lwt.t + + (** [state_of_tick node_ctxt store tick level] returns [Some (state, hash)] + for a given [tick] if this [tick] happened before + [level]. Otherwise, returns [None].*) + val state_of_tick : + Node_context.t -> + Store.t -> + Sc_rollup.Tick.t -> + Raw_level.t -> + (PVM.state * PVM.hash) option tzresult Lwt.t end -module Make (PVM : Pvm.S) : S = struct - (** [eval_until_input state] advances a PVM [state] until it wants more inputs. *) - let eval_until_input state = +module Make (PVM : Pvm.S) : S with module PVM = PVM = struct + module PVM = PVM + + let consume_fuel = Option.map pred + + let continue_with_fuel fuel state f = + let open Lwt_syntax in + match fuel with + | Some 0 -> return (state, fuel) + | _ -> f (consume_fuel fuel) state + + (** [eval_until_input ?fuel state] advances a PVM [state] until it + wants more inputs or there are no more [fuel] (if [Some fuel] is + specified). *) + let eval_until_input ?fuel state = let open Lwt_syntax in - let rec go state = + let rec go fuel state = let* input_request = PVM.is_input_state state in + continue_with_fuel fuel state @@ fun fuel state -> match input_request with | No_input_required -> let* next_state = PVM.eval state in - go next_state - | _ -> return state + go fuel next_state + | _ -> return (state, fuel) in - go state + go fuel state - (** [feed_input state input] feeds [input] to the PVM in order to advance [state] to the next step - that requires an input. *) - let feed_input state input = + (** [feed_input state input] feeds [input] to the PVM in order to + advance [state] to the next step that requires an input. *) + let feed_input ?fuel state input = let open Lwt_syntax in - let* state = eval_until_input state in + let* state, fuel = eval_until_input ?fuel state in + continue_with_fuel fuel state @@ fun fuel state -> let* state = PVM.set_input input state in let* state = PVM.eval state in - let* state = eval_until_input state in - return state + let* state, fuel = eval_until_input ?fuel state in + return (state, fuel) + + let eval_level ?fuel store hash predecessor_state = + let open Lwt_result_syntax in + (* Obtain inbox and its messages for this block. *) + let*! inbox_opt = Store.Inboxes.find store hash in + + (* Iterate the PVM state with all the messages for this level. *) + match inbox_opt with + | Some inbox -> + let inbox_level = Inbox.inbox_level inbox in + let*! messages = Store.Messages.get store hash in + let* state, fuel = + List.fold_left_i_es + (fun message_counter (state, fuel) message -> + let*? payload = + Environment.wrap_tzresult + (Sc_rollup.Inbox.Message.serialize message) + in + let input = + Sc_rollup. + { + inbox_level; + message_counter = Z.of_int message_counter; + payload; + } + in + let*! state = feed_input ?fuel state input in + return state) + (predecessor_state, fuel) + messages + in + return (state, fuel) + | None -> return (predecessor_state, fuel) + + let genesis_state node_ctxt store = + let open Node_context in + let open Lwt_result_syntax in + let* boot_sector = + Plugin.RPC.Sc_rollup.boot_sector + node_ctxt.cctxt + (node_ctxt.cctxt#chain, node_ctxt.cctxt#block) + node_ctxt.rollup_address + in + let*! initial_state = PVM.initial_state store in + let*! genesis_state = PVM.install_boot_sector initial_state boot_sector in + return genesis_state + + let state_of_hash node_ctxt store hash = + let open Node_context in + let open Lwt_result_syntax in + let*! state = Store.PVMState.find store hash in + match state with + | None -> genesis_state node_ctxt store + | Some state -> return state (** [transition_pvm node_ctxt store predecessor_hash hash] runs a PVM at the previous state from block [predecessor_hash] by consuming as many messages as possible from block [hash]. *) let transition_pvm node_ctxt store predecessor_hash hash = - let open Node_context in let open Lwt_result_syntax in (* Retrieve the previous PVM state from store. *) let*! predecessor_state = Store.PVMState.find store predecessor_hash in let* predecessor_state = match predecessor_state with - | None -> - (* The predecessor is before the origination. - Here we use an RPC to get the boot sector instead of doing this - before and packing it into the [node_ctxt] because the bootsector - might be very large and we don't want to keep that in memory for - ever. - *) - let* boot_sector = - Plugin.RPC.Sc_rollup.boot_sector - node_ctxt.cctxt - (node_ctxt.cctxt#chain, node_ctxt.cctxt#block) - node_ctxt.rollup_address - in - let*! state = PVM.initial_state store in - let*! state = PVM.install_boot_sector state boot_sector in - return state + | None -> genesis_state node_ctxt store | Some predecessor_state -> return predecessor_state in - (* Obtain inbox and its messages for this block. *) - let*! inbox_opt = Store.Inboxes.find store hash in - - (* Iterate the PVM state with all the messages for this level. *) - let* state, messages = - match inbox_opt with - | Some inbox -> - let inbox_level = Inbox.inbox_level inbox in - let*! messages = Store.Messages.get store hash in - let* state = - List.fold_left_i_es - (fun message_counter state message -> - let*? payload = - Environment.wrap_tzresult - (Sc_rollup.Inbox.Message.serialize message) - in - let input = - Sc_rollup. - { - inbox_level; - message_counter = Z.of_int message_counter; - payload; - } - in - let*! state = feed_input state input in - return state) - predecessor_state - messages - in - return (state, messages) - | None -> return (predecessor_state, []) - in + let*! level = Layer1.level_of_hash store hash in + let level = Raw_level.of_int32_exn level in + let* state, _ = eval_level store hash predecessor_state in + let*! messages = Store.Messages.get store hash in (* Write final state to store. *) let*! () = Store.PVMState.set store hash state in @@ -127,7 +163,9 @@ module Make (PVM : Pvm.S) : S = struct let*! initial_tick = PVM.get_tick predecessor_state in let*! last_tick = PVM.get_tick state in (* TODO: #2717 - The number of ticks should not be an arbitrarily-sized integer. + The number of ticks should not be an arbitrarily-sized integer or + the difference between two ticks should be made an arbitrarily-sized + integer too. *) let num_ticks = Sc_rollup.Tick.distance initial_tick last_tick in (* TODO: #2717 @@ -137,7 +175,13 @@ module Make (PVM : Pvm.S) : S = struct let*! () = Store.StateInfo.add store hash {num_messages; num_ticks; initial_tick} in - + let*! () = + let open Store.StateHistoryRepr in + let event = + {tick = last_tick; predecessor_hash; block_hash = hash; level} + in + Store.StateHistory.insert store event + in (* Produce events. *) let*! () = Interpreter_event.transitioned_pvm state num_messages in @@ -148,4 +192,33 @@ module Make (PVM : Pvm.S) : S = struct let open Lwt_result_syntax in let*! predecessor_hash = Layer1.predecessor store head in transition_pvm node_ctxt store predecessor_hash hash + + (** [run_until_tick tick] *) + let run_until_tick node_ctxt store hash tick_distance = + let open Lwt_result_syntax in + let* state = state_of_hash node_ctxt store hash in + let* state, fuel = eval_level ~fuel:tick_distance store hash state in + assert (fuel = Some 0) ; + return state + + (** [state_of_tick node_ctxt store tick level] returns [Some (state, hash)] + for a given [tick] if this [tick] happened before + [level]. Otherwise, returns [None].*) + let state_of_tick node_ctxt store tick level = + let open Lwt_result_syntax in + let* closest_event = + Store.StateHistory.event_of_largest_tick_before store tick + in + match closest_event with + | None -> return None + | Some event -> + if Raw_level.(event.level > level) then return None + else + let tick_distance = + Sc_rollup.Tick.distance tick event.tick |> Z.to_int + in + let hash = event.block_hash in + let* state = run_until_tick node_ctxt store hash tick_distance in + let*! hash = PVM.state_hash state in + return (Some (state, hash)) end -- GitLab From 783e92dda5872072344be9f3358f389e5006c66d Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Thu, 30 Jun 2022 09:23:01 +0200 Subject: [PATCH 02/45] SCORU,Node: Add level_of_hash in Layer1 Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/layer1.ml | 5 +++++ src/proto_alpha/bin_sc_rollup_node/layer1.mli | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/layer1.ml b/src/proto_alpha/bin_sc_rollup_node/layer1.ml index 11d30e3fca23..c612e6eb6526 100644 --- a/src/proto_alpha/bin_sc_rollup_node/layer1.ml +++ b/src/proto_alpha/bin_sc_rollup_node/layer1.ml @@ -424,6 +424,11 @@ let current_level store = let hash_of_level = State.hash_of_level +let level_of_hash store hash = + let open Lwt_syntax in + let* (Block {level; _}) = State.block_of_hash store hash in + return level + let predecessor store (Head {hash; _}) = let open Lwt_syntax in let+ (Block {predecessor; _}) = State.block_of_hash store hash in diff --git a/src/proto_alpha/bin_sc_rollup_node/layer1.mli b/src/proto_alpha/bin_sc_rollup_node/layer1.mli index 966ba395bb93..7a90d3ea101a 100644 --- a/src/proto_alpha/bin_sc_rollup_node/layer1.mli +++ b/src/proto_alpha/bin_sc_rollup_node/layer1.mli @@ -87,10 +87,14 @@ val current_head_hash : Store.t -> Block_hash.t option Lwt.t made. *) val current_level : Store.t -> int32 option Lwt.t -(** [hash_of_level level] returns the current block hash for a given - [level]. *) +(** [hash_of_level store level] returns the current block hash for a + given [level]. *) val hash_of_level : Store.t -> int32 -> Block_hash.t Lwt.t +(** [level_of_hash store hash] returns the level for a given block + [hash]. *) +val level_of_hash : Store.t -> Block_hash.t -> int32 Lwt.t + (** [predecessor store head] returns the hash of the head's predecessor block] *) val predecessor : Store.t -> head -> Block_hash.t Lwt.t -- GitLab From 095ec0ec4831d230a737af0c879b39cdce76992b Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Thu, 30 Jun 2022 14:42:38 +0200 Subject: [PATCH 03/45] SCORU,Node: Expose history_of_hash Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/inbox.ml | 2 ++ src/proto_alpha/bin_sc_rollup_node/inbox.mli | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/proto_alpha/bin_sc_rollup_node/inbox.ml b/src/proto_alpha/bin_sc_rollup_node/inbox.ml index 9c99c15c1090..86d61ac5e6bb 100644 --- a/src/proto_alpha/bin_sc_rollup_node/inbox.ml +++ b/src/proto_alpha/bin_sc_rollup_node/inbox.ml @@ -160,4 +160,6 @@ let process_head node_ctxt store Layer1.(Head {level; hash = head_hash} as head) let inbox_of_hash = State.inbox_of_hash +let history_of_hash = State.history_of_hash + let start () = Inbox_event.starting () diff --git a/src/proto_alpha/bin_sc_rollup_node/inbox.mli b/src/proto_alpha/bin_sc_rollup_node/inbox.mli index 194adb4ac1f5..854aba646664 100644 --- a/src/proto_alpha/bin_sc_rollup_node/inbox.mli +++ b/src/proto_alpha/bin_sc_rollup_node/inbox.mli @@ -48,5 +48,9 @@ val inbox_of_hash : Block_hash.t -> Alpha_context.Sc_rollup.Inbox.t Lwt.t +(** [history_of_hash node_ctxt store block_hash] returns the rollup + inbox history at the end of the given validation of [block_hash]. *) +val history_of_hash : Store.t -> Block_hash.t -> Store.Inbox.history Lwt.t + (** [start ()] initializes the inbox to track the messages being published. *) val start : unit -> unit Lwt.t -- GitLab From 41d19d91df20936dab755e21acac24aa0fe200ef Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 4 Jul 2022 10:21:07 +0200 Subject: [PATCH 04/45] Proto,SCORU: Expose proof validation function in Alpha_context We want to check in the rollup node that a produced proof is always a valid proof. Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/alpha_context.mli | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/proto_alpha/lib_protocol/alpha_context.mli b/src/proto_alpha/lib_protocol/alpha_context.mli index ef33c165a54e..22bd87c06a5f 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.mli +++ b/src/proto_alpha/lib_protocol/alpha_context.mli @@ -3286,6 +3286,13 @@ module Sc_rollup : sig type error += Sc_rollup_proof_check of string + val valid : + Inbox.history_proof -> + Raw_level.t -> + pvm_name:string -> + t -> + bool tzresult Lwt.t + val produce : (module PVM_with_context_and_state) -> Inbox.inbox_context -> -- GitLab From e3161a8b7039b6aea7e28167cee8eb27998d8d14 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 4 Jul 2022 10:04:00 +0200 Subject: [PATCH 05/45] SCORU,Node: Expose last processed head hash of rollup node Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/layer1.ml | 5 +++++ src/proto_alpha/bin_sc_rollup_node/layer1.mli | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/src/proto_alpha/bin_sc_rollup_node/layer1.ml b/src/proto_alpha/bin_sc_rollup_node/layer1.ml index c612e6eb6526..a8b39c5a3aba 100644 --- a/src/proto_alpha/bin_sc_rollup_node/layer1.ml +++ b/src/proto_alpha/bin_sc_rollup_node/layer1.ml @@ -444,6 +444,11 @@ let processed = function let mark_processed_head store head = State.mark_processed_head store head +let last_processed_head_hash store = + let open Lwt_syntax in + let* info = State.last_processed_head store in + Option.map_s (fun (Head {hash; _}) -> return hash) info + (* We forget about the last seen heads that are not processed so that the rollup node can process them when restarted. Notice that this does prevent skipping heads when the node is interrupted in a bad diff --git a/src/proto_alpha/bin_sc_rollup_node/layer1.mli b/src/proto_alpha/bin_sc_rollup_node/layer1.mli index 7a90d3ea101a..9ec0c8fa3d1e 100644 --- a/src/proto_alpha/bin_sc_rollup_node/layer1.mli +++ b/src/proto_alpha/bin_sc_rollup_node/layer1.mli @@ -110,6 +110,10 @@ val processed : chain_event -> unit Lwt.t it. *) val mark_processed_head : Store.t -> head -> unit Lwt.t +(** [last_processed_head_hash store] returns the hash of + the last processed head. *) +val last_processed_head_hash : Store.t -> Block_hash.t option Lwt.t + (** [shutdown store] properly shut the layer 1 down. *) val shutdown : Store.t -> unit Lwt.t -- GitLab From 112de1d1bdd268f2dc2891215f962badf6e1503f Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Thu, 30 Jun 2022 14:41:25 +0200 Subject: [PATCH 06/45] Proto,SCORU: Make inbox proofs independent from context implementation Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/interpreter.ml | 1 - .../lib_protocol/alpha_context.mli | 31 +++++++--- .../lib_protocol/sc_rollup_inbox_repr.ml | 12 +++- .../lib_protocol/sc_rollup_inbox_repr.mli | 10 +++- .../lib_protocol/sc_rollup_proof_repr.ml | 59 +++++++++++-------- .../lib_protocol/sc_rollup_proof_repr.mli | 21 ++++--- 6 files changed, 91 insertions(+), 43 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml index 7a14a4a2f3d4..d33b9b4e4a6f 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml @@ -132,7 +132,6 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct return genesis_state let state_of_hash node_ctxt store hash = - let open Node_context in let open Lwt_result_syntax in let*! state = Store.PVMState.find store hash in match state with diff --git a/src/proto_alpha/lib_protocol/alpha_context.mli b/src/proto_alpha/lib_protocol/alpha_context.mli index 22bd87c06a5f..6213c7ea049b 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.mli +++ b/src/proto_alpha/lib_protocol/alpha_context.mli @@ -2814,6 +2814,10 @@ module Sc_rollup : sig val to_context_hash : t -> Context_hash.t end + type serialized_proof + + val serialized_proof_encoding : serialized_proof Data_encoding.t + module type MerkelizedOperations = sig type tree @@ -2878,7 +2882,9 @@ module Sc_rollup : sig val pp_proof : Format.formatter -> proof -> unit - val proof_encoding : proof Data_encoding.t + val to_serialized_proof : proof -> serialized_proof + + val of_serialized_proof : serialized_proof -> proof option val verify_proof : Raw_level.t * Z.t -> @@ -3274,7 +3280,7 @@ module Sc_rollup : sig val wrapped_proof_module : wrapped_proof -> (module PVM_with_proof) module Proof : sig - type t = {pvm_step : wrapped_proof; inbox : Inbox.proof option} + type t = {pvm_step : wrapped_proof; inbox : Inbox.serialized_proof option} module type PVM_with_context_and_state = sig include PVM.S @@ -3282,6 +3288,16 @@ module Sc_rollup : sig val context : context val state : state + + val proof_encoding : proof Data_encoding.t + + module Inbox_with_history : sig + include Inbox.MerkelizedOperations with type inbox_context = context + + val inbox : Inbox.history_proof + + val history : history + end end type error += Sc_rollup_proof_check of string @@ -3294,12 +3310,7 @@ module Sc_rollup : sig bool tzresult Lwt.t val produce : - (module PVM_with_context_and_state) -> - Inbox.inbox_context -> - Inbox.history -> - Inbox.history_proof -> - Raw_level.t -> - t tzresult Lwt.t + (module PVM_with_context_and_state) -> Raw_level.t -> t tzresult Lwt.t end module Game : sig @@ -3323,6 +3334,8 @@ module Sc_rollup : sig module Index : sig type t = private {alice : Staker.t; bob : Staker.t} + val encoding : t Data_encoding.t + val make : Staker.t -> Staker.t -> t end @@ -3334,6 +3347,8 @@ module Sc_rollup : sig type refutation = {choice : Tick.t; step : step} + val refutation_encoding : refutation Data_encoding.t + val pp_refutation : Format.formatter -> refutation -> unit type reason = Conflict_resolved | Invalid_move of string | Timeout diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml index 942ca0e522bc..48650858b1a2 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml @@ -338,6 +338,10 @@ let key_of_message ix = let level_key = ["level"] +type serialized_proof = bytes + +let serialized_proof_encoding = Data_encoding.bytes + module type MerkelizedOperations = sig type inbox_context @@ -402,7 +406,9 @@ module type MerkelizedOperations = sig val pp_proof : Format.formatter -> proof -> unit - val proof_encoding : proof Data_encoding.t + val to_serialized_proof : proof -> serialized_proof + + val of_serialized_proof : serialized_proof -> proof option val verify_proof : Raw_level_repr.t * Z.t -> @@ -912,6 +918,10 @@ struct }); ] + let of_serialized_proof = Data_encoding.Binary.of_bytes_opt proof_encoding + + let to_serialized_proof = Data_encoding.Binary.to_bytes_exn proof_encoding + let proof_error reason = let open Lwt_tzresult_syntax in fail (Inbox_proof_error reason) diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.mli b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.mli index 14f82cb37e39..c700a5f46e54 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.mli +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.mli @@ -207,6 +207,10 @@ end preserve the laziness. *) val current_level_hash : t -> Hash.t +type serialized_proof + +val serialized_proof_encoding : serialized_proof Data_encoding.t + (** The following operations are subject to cross-validation between rollup nodes and the layer 1. *) module type MerkelizedOperations = sig @@ -340,7 +344,7 @@ module type MerkelizedOperations = sig (** [number_of_proof_steps proof] returns the length of [proof]. *) val number_of_proof_steps : inclusion_proof -> int - (** [produce_inclusion_proof history a b] exploits [history] to produce + (** [produce_inclusion_proof history a b] exploits [history] to produce a self-contained proof that [a] is an older version of [b]. *) val produce_inclusion_proof : history -> history_proof -> history_proof -> inclusion_proof option @@ -373,7 +377,9 @@ module type MerkelizedOperations = sig val pp_proof : Format.formatter -> proof -> unit - val proof_encoding : proof Data_encoding.t + val to_serialized_proof : proof -> serialized_proof + + val of_serialized_proof : serialized_proof -> proof option (** See the docstring for the [proof] type for details of proof semantics. diff --git a/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.ml b/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.ml index 27c45d86c695..878247d6cb3e 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.ml @@ -26,7 +26,7 @@ type t = { pvm_step : Sc_rollups.wrapped_proof; - inbox : Sc_rollup_inbox_repr.proof option; + inbox : Sc_rollup_inbox_repr.serialized_proof option; } let encoding = @@ -36,7 +36,7 @@ let encoding = (fun (pvm_step, inbox) -> {pvm_step; inbox}) (obj2 (req "pvm_step" Sc_rollups.wrapped_proof_encoding) - (req "inbox" (option Sc_rollup_inbox_repr.proof_encoding))) + (req "inbox" (option Sc_rollup_inbox_repr.serialized_proof_encoding))) let pp ppf _ = Format.fprintf ppf "Refutation game proof" @@ -86,26 +86,31 @@ let valid snapshot commit_level ~pvm_name proof = let* () = check (String.equal P.name pvm_name) "Incorrect PVM kind" in let input_requested = P.proof_input_requested P.proof in let input_given = P.proof_input_given P.proof in + let check_inbox_proof serialized_inbox_proof (level, counter) = + match Sc_rollup_inbox_repr.of_serialized_proof serialized_inbox_proof with + | None -> return None + | Some inbox_proof -> + Sc_rollup_inbox_repr.verify_proof (level, counter) snapshot inbox_proof + in + let pp_proof fmt serialized_inbox_proof = + match Sc_rollup_inbox_repr.of_serialized_proof serialized_inbox_proof with + | None -> Format.pp_print_string fmt "" + | Some proof -> Sc_rollup_inbox_repr.pp_proof fmt proof + in let* input = match (input_requested, proof.inbox) with | Sc_rollup_PVM_sem.No_input_required, None -> return None | Sc_rollup_PVM_sem.Initial, Some inbox_proof -> - Sc_rollup_inbox_repr.verify_proof - (Raw_level_repr.root, Z.zero) - snapshot - inbox_proof + check_inbox_proof inbox_proof (Raw_level_repr.root, Z.zero) | Sc_rollup_PVM_sem.First_after (level, counter), Some inbox_proof -> - Sc_rollup_inbox_repr.verify_proof - (level, Z.succ counter) - snapshot - inbox_proof + check_inbox_proof inbox_proof (level, Z.succ counter) | _ -> proof_error (Format.asprintf "input_requested is %a, inbox proof is %a" Sc_rollup_PVM_sem.pp_input_request input_requested - (Format.pp_print_option Sc_rollup_inbox_repr.pp_proof) + (Format.pp_print_option pp_proof) proof.inbox) in let* () = @@ -124,6 +129,18 @@ module type PVM_with_context_and_state = sig val context : context val state : state + + val proof_encoding : proof Data_encoding.t + + module Inbox_with_history : sig + include + Sc_rollup_inbox_repr.MerkelizedOperations + with type inbox_context = context + + val inbox : Sc_rollup_inbox_repr.history_proof + + val history : history + end end let of_lwt_result result = @@ -131,31 +148,25 @@ let of_lwt_result result = let*! r = result in match r with Ok x -> return x | Error e -> fail e -let produce pvm_and_state inbox_context inbox_history inbox commit_level = +let produce pvm_and_state commit_level = let open Lwt_tzresult_syntax in let (module P : PVM_with_context_and_state) = pvm_and_state in + let open P in let*! request = P.is_input_state P.state in let* inbox, input_given = match request with | Sc_rollup_PVM_sem.No_input_required -> return (None, None) | Sc_rollup_PVM_sem.Initial -> let* p, i = - Sc_rollup_inbox_repr.produce_proof - inbox_context - inbox_history - inbox - (Raw_level_repr.root, Z.zero) + Inbox_with_history.( + produce_proof context history inbox (Raw_level_repr.root, Z.zero)) in - return (Some p, i) + return (Some (Inbox_with_history.to_serialized_proof p), i) | Sc_rollup_PVM_sem.First_after (l, n) -> let* p, i = - Sc_rollup_inbox_repr.produce_proof - inbox_context - inbox_history - inbox - (l, Z.succ n) + Inbox_with_history.(produce_proof context history inbox (l, Z.succ n)) in - return (Some p, i) + return (Some (Inbox_with_history.to_serialized_proof p), i) in let input_given = Option.bind input_given (cut_at_level commit_level) in let* pvm_step_proof = diff --git a/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.mli b/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.mli index 06e271dd67a7..bf2ec6389f95 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.mli +++ b/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.mli @@ -59,7 +59,7 @@ open Sc_rollup_repr match up with [pvm_step] to give a valid refutation proof. *) type t = { pvm_step : Sc_rollups.wrapped_proof; - inbox : Sc_rollup_inbox_repr.proof option; + inbox : Sc_rollup_inbox_repr.serialized_proof option; } type error += Sc_rollup_proof_check of string @@ -104,6 +104,18 @@ module type PVM_with_context_and_state = sig val context : context val state : state + + val proof_encoding : proof Data_encoding.t + + module Inbox_with_history : sig + include + Sc_rollup_inbox_repr.MerkelizedOperations + with type inbox_context = context + + val inbox : Sc_rollup_inbox_repr.history_proof + + val history : history + end end (** [produce pvm_and_state inbox_context inbox_history commit_level] @@ -122,9 +134,4 @@ end encodable [wrapped_proof] if possible. See the [wrap_proof] function in [Sc_rollups]. *) val produce : - (module PVM_with_context_and_state) -> - Sc_rollup_inbox_repr.inbox_context -> - Sc_rollup_inbox_repr.history -> - Sc_rollup_inbox_repr.history_proof -> - Raw_level_repr.t -> - t tzresult Lwt.t + (module PVM_with_context_and_state) -> Raw_level_repr.t -> t tzresult Lwt.t -- GitLab From fe2e59512b5d057664a6fd5cc8975191934b2312 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 14 Jun 2022 13:35:49 +0200 Subject: [PATCH 07/45] SCORU,Node: Add refutation game logic in rollup node Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/components.ml | 3 + src/proto_alpha/bin_sc_rollup_node/daemon.ml | 10 +- .../bin_sc_rollup_node/refutation_game.ml | 332 ++++++++++++++++++ .../bin_sc_rollup_node/refutation_game.mli | 35 ++ .../refutation_game_event.ml | 130 +++++++ .../sc_rollup_node_errors.ml | 51 ++- 6 files changed, 558 insertions(+), 3 deletions(-) create mode 100644 src/proto_alpha/bin_sc_rollup_node/refutation_game.ml create mode 100644 src/proto_alpha/bin_sc_rollup_node/refutation_game.mli create mode 100644 src/proto_alpha/bin_sc_rollup_node/refutation_game_event.ml diff --git a/src/proto_alpha/bin_sc_rollup_node/components.ml b/src/proto_alpha/bin_sc_rollup_node/components.ml index fd412ff4aef5..79c4e5ea5f76 100644 --- a/src/proto_alpha/bin_sc_rollup_node/components.ml +++ b/src/proto_alpha/bin_sc_rollup_node/components.ml @@ -32,6 +32,8 @@ module type S = sig module Commitment : Commitment_sig.S with module PVM = PVM module RPC_server : RPC_server.S with module PVM = PVM + + module Refutation_game : Refutation_game.S with module PVM = PVM end module Make (PVM : Pvm.S) : S with module PVM = PVM = struct @@ -39,6 +41,7 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct module Interpreter = Interpreter.Make (PVM) module Commitment = Commitment.Make (PVM) module RPC_server = RPC_server.Make (PVM) + module Refutation_game = Refutation_game.Make (PVM) end let pvm_of_kind : Protocol.Alpha_context.Sc_rollup.Kind.t -> (module Pvm.S) = diff --git a/src/proto_alpha/bin_sc_rollup_node/daemon.ml b/src/proto_alpha/bin_sc_rollup_node/daemon.ml index 0f78d078e14e..9087e0a9fe34 100644 --- a/src/proto_alpha/bin_sc_rollup_node/daemon.ml +++ b/src/proto_alpha/bin_sc_rollup_node/daemon.ml @@ -89,8 +89,8 @@ module Make (PVM : Pvm.S) = struct Dal_slots_tracker.process_head node_ctxt store head in let* () = - if finalized then Components.Commitment.process_head node_ctxt store head - else return_unit + when_ finalized @@ fun () -> + Components.Commitment.process_head node_ctxt store head in (* Publishing a commitment when one is available does not depend on the state of the current head, but we still need to ensure that the node only published @@ -99,6 +99,12 @@ module Make (PVM : Pvm.S) = struct let* () = Components.Commitment.cement_commitment_if_possible node_ctxt store head in + let* () = + (* At each block, there may be some refutation related actions to + be performed. *) + when_ finalized @@ fun () -> + Components.Refutation_game.process head node_ctxt store + in when_ finalized (fun () -> let*! () = Layer1.mark_processed_head store head in return ()) diff --git a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml new file mode 100644 index 000000000000..d1771b8f884c --- /dev/null +++ b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml @@ -0,0 +1,332 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2022 Nomadic Labs, *) +(* *) +(* Permission is hereby granted, free of charge, to any person obtaining a *) +(* copy of this software and associated documentation files (the "Software"),*) +(* to deal in the Software without restriction, including without limitation *) +(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) +(* and/or sell copies of the Software, and to permit persons to whom the *) +(* Software is furnished to do so, subject to the following conditions: *) +(* *) +(* The above copyright notice and this permission notice shall be included *) +(* in all copies or substantial portions of the Software. *) +(* *) +(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) +(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) +(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) +(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) +(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) +(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) +(* DEALINGS IN THE SOFTWARE. *) +(* *) +(*****************************************************************************) + +(** This module implements the refutation game logic of the rollup + node. + + When a new L1 block arises, the rollup node asks the L1 node for + the current game it is part of, if any. + + If a game is running and it is the rollup operator turn, the rollup + node injects the next move of the winning strategy. + + If a game is running and it is not the rollup operator turn, the + rollup node asks the L1 node whether the timeout is reached to play + the timeout argument if possible. + + Otherwise, if no game is running, the rollup node asks the L1 node + whether there is a conflict with one of its disputable commitments. If + there is such a conflict with a commitment C', then the rollup node + starts a game to refute C' by starting a game with one of its staker. + +*) +open Protocol + +open Alpha_context + +module type S = sig + module PVM : Pvm.S + + val process : + Layer1.head -> Node_context.t -> PVM.context -> unit tzresult Lwt.t +end + +module Make (PVM : Pvm.S) : S with module PVM = PVM = struct + module PVM = PVM + module Interpreter = Interpreter.Make (PVM) + open Sc_rollup.Game + + let node_role node_ctxt Sc_rollup.Game.Index.{alice; bob} = + let self = node_ctxt.Node_context.operator in + if Sc_rollup.Staker.equal alice self then Alice + else if Sc_rollup.Staker.equal bob self then Bob + else (* By validity of [ongoing_game] RPC. *) + assert false + + type role = Our_turn of {opponent : public_key_hash} | Their_turn + + let turn node_ctxt game players = + let Sc_rollup.Game.Index.{alice; bob} = players in + match (node_role node_ctxt players, game.turn) with + | Alice, Alice -> Our_turn {opponent = bob} + | Bob, Bob -> Our_turn {opponent = alice} + | Alice, Bob -> Their_turn + | Bob, Alice -> Their_turn + + (** [inject_next_move node_ctxt move] submits an L1 operation to + issue the next move in the refutation game. [node_ctxt] provides + the connection to the Tezos node. *) + let inject_next_move node_ctxt ~refutation ~opponent = + let open Node_context in + let open Lwt_result_syntax in + let* source, src_pk, src_sk = Node_context.get_operator_keys node_ctxt in + let {rollup_address; cctxt; _} = node_ctxt in + let* _, _, Manager_operation_result {operation_result; _} = + Client_proto_context.sc_rollup_refute + cctxt + ~chain:cctxt#chain + ~block:cctxt#block + ~refutation + ~opponent + ~source + ~rollup:rollup_address + ~src_pk + ~src_sk + ~fee_parameter:Configuration.default_fee_parameter + () + in + let open Apply_results in + let*! () = + match operation_result with + | Applied (Sc_rollup_refute_result _) -> + Refutation_game_event.refutation_published opponent refutation + | Failed (Sc_rollup_refute_manager_kind, _errors) -> + Refutation_game_event.refutation_failed opponent refutation + | Backtracked (Sc_rollup_refute_result _, _errors) -> + Refutation_game_event.refutation_backtracked opponent refutation + | Skipped Sc_rollup_refute_manager_kind -> + Refutation_game_event.refutation_skipped opponent refutation + in + return_unit + + let generate_proof node_ctxt store game start_state = + let open Lwt_result_syntax in + let*! hash = Layer1.hash_of_level store (Raw_level.to_int32 game.level) in + let* history = Inbox.history_of_hash node_ctxt store hash in + let* inbox = Inbox.inbox_of_hash node_ctxt store hash in + let*! messages_tree = Inbox.find_message_tree store hash in + let*! history, history_proof = + Store.Inbox.form_history_proof store history inbox messages_tree + in + let module P = struct + include PVM + + let context = store + + let state = start_state + + module Inbox_with_history = struct + include Store.Inbox + + let history = history + + let inbox = history_proof + end + end in + let* r = + trace + (Sc_rollup_node_errors.Cannot_produce_proof (inbox, history, game.level)) + @@ (Sc_rollup.Proof.produce (module P) game.level + >|= Environment.wrap_tzresult) + in + let+ check = + Sc_rollup.Proof.valid history_proof game.level ~pvm_name:game.pvm_name r + >|= Environment.wrap_tzresult + in + assert check ; + r + + let new_dissection node_ctxt store last_level ok our_view = + let open Lwt_result_syntax in + let _start_hash, start_tick = ok in + let our_state, stop_tick = our_view in + (* TODO: #3200 + We should not rely on an hard-coded constant here but instead + introduce a protocol constant for the maximum number of sections + in a dissection. + *) + let max_number_of_sections = Z.of_int 32 in + let trace_length = Z.succ (Sc_rollup.Tick.distance stop_tick start_tick) in + let number_of_sections = Z.min max_number_of_sections trace_length in + let section_length = + Z.(max (of_int 1) (div trace_length number_of_sections)) + in + (* [k] is the number of sections in [rev_dissection]. *) + let rec make rev_dissection k tick = + if Z.equal k (Z.pred number_of_sections) then + return + @@ List.rev + ({state_hash = our_state; tick = stop_tick} :: rev_dissection) + else + let* r = Interpreter.state_of_tick node_ctxt store tick last_level in + let state_hash = Option.map snd r in + let next_tick = Sc_rollup.Tick.jump tick section_length in + make ({state_hash; tick} :: rev_dissection) (Z.succ k) next_tick + in + make [] Z.zero start_tick + + (** [generate_from_dissection node_ctxt store game] + traverses the current [game.dissection] and returns a move which + performs a new dissection of the execution trace or provides a + refutation proof to serve as the next move of the [game]. *) + let generate_next_dissection node_ctxt store game = + let open Lwt_result_syntax in + let rec traverse ok = function + | [] -> + (* The game invariant states that the dissection from the + opponent must contain a tick we disagree with. If the + retrieved game does not respect this, we cannot trust the + Tezos node we are connected to and prefer to stop here. *) + tzfail + Sc_rollup_node_errors + .Unreliable_tezos_node_returning_inconsistent_game + | {state_hash = their_hash; tick} :: dissection -> ( + let open Lwt_result_syntax in + let* our = + Interpreter.state_of_tick node_ctxt store tick game.level + in + match (their_hash, our) with + | None, None -> + (* This case is absurd since: [None] can only occur at the + end and the two players disagree about the end. *) + assert false + | Some _, None | None, Some _ -> + return (ok, (Option.map snd our, tick)) + | Some their_hash, Some (_, our_hash) -> + if Sc_rollup.State_hash.equal our_hash their_hash then + traverse (their_hash, tick) dissection + else return (ok, (Some our_hash, tick))) + in + match game.dissection with + | {state_hash = Some hash; tick} :: dissection -> + let* ok, ko = traverse (hash, tick) dissection in + let choice = snd ok in + let* dissection = new_dissection node_ctxt store game.level ok ko in + let chosen_section_len = Sc_rollup.Tick.distance (snd ko) choice in + return (choice, chosen_section_len, dissection) + | [] | {state_hash = None; _} :: _ -> + (* + By wellformedness of dissection. + A dissection always starts with a tick of the form [(Some hash, tick)]. + A dissection always contains strictly more than one element. + *) + tzfail + Sc_rollup_node_errors + .Unreliable_tezos_node_returning_inconsistent_game + + let next_move node_ctxt store game = + let open Lwt_result_syntax in + let final_move start_tick = + let* start_state = + Interpreter.state_of_tick node_ctxt store start_tick game.level + in + match start_state with + | None -> + tzfail + Sc_rollup_node_errors + .Unreliable_tezos_node_returning_inconsistent_game + | Some (start_state, _start_hash) -> + let* proof = generate_proof node_ctxt store game start_state in + let choice = start_tick in + return {choice; step = Proof proof} + in + let* choice, chosen_section_len, dissection = + generate_next_dissection node_ctxt store game + in + if Z.(equal chosen_section_len one) then final_move choice + else return {choice; step = Dissection dissection} + + let play_next_move node_ctxt store game opponent = + let open Lwt_result_syntax in + let* refutation = next_move node_ctxt store game in + inject_next_move node_ctxt ~refutation:(Some refutation) ~opponent + + let try_timeout node_ctxt players = + let Sc_rollup.Game.Index.{alice; bob} = players in + let open Node_context in + let open Lwt_result_syntax in + let* source, src_pk, src_sk = Node_context.get_operator_keys node_ctxt in + let {rollup_address; cctxt; _} = node_ctxt in + let* _, _, Manager_operation_result {operation_result; _} = + Client_proto_context.sc_rollup_timeout + cctxt + ~chain:cctxt#chain + ~block:cctxt#block + ~source + ~alice + ~bob + ~rollup:rollup_address + ~src_pk + ~src_sk + ~fee_parameter:Configuration.default_fee_parameter + () + in + let open Apply_results in + let*! () = + match operation_result with + | Applied (Sc_rollup_timeout_result _) -> + Refutation_game_event.timeout_published players + | Failed (Sc_rollup_timeout_manager_kind, _errors) -> + Refutation_game_event.timeout_failed players + | Backtracked (Sc_rollup_timeout_result _, _errors) -> + Refutation_game_event.timeout_backtracked players + | Skipped Sc_rollup_timeout_manager_kind -> + Refutation_game_event.timeout_skipped players + in + return_unit + + let play node_ctxt store (game, players) = + let open Lwt_result_syntax in + match turn node_ctxt game players with + | Our_turn {opponent} -> play_next_move node_ctxt store game opponent + | Their_turn -> ( + let*! res = try_timeout node_ctxt players in + match res with Ok _ -> return_unit | Error _ -> return_unit) + + let ongoing_game head_block node_ctxt = + let Node_context.{rollup_address; cctxt; operator; _} = node_ctxt in + Plugin.RPC.Sc_rollup.ongoing_refutation_game + cctxt + (cctxt#chain, head_block) + rollup_address + operator + () + + let play_opening_move node_ctxt conflict = + let open Sc_rollup.Refutation_storage in + inject_next_move node_ctxt ~refutation:None ~opponent:conflict.other + + let start_game_if_conflict head_block node_ctxt = + let open Lwt_result_syntax in + let Node_context.{rollup_address; cctxt; operator; _} = node_ctxt in + let* conflicts = + Plugin.RPC.Sc_rollup.conflicts + cctxt + (cctxt#chain, head_block) + rollup_address + operator + () + in + Option.iter_es (play_opening_move node_ctxt) (List.hd conflicts) + + let process (Layer1.Head {hash; level}) node_ctxt store = + let head_block = `Hash (hash, Int32.to_int level) in + let open Lwt_result_syntax in + let* res = ongoing_game head_block node_ctxt in + match res with + | Some (game, alice, bob) -> + play node_ctxt store (game, Sc_rollup.Game.Index.make alice bob) + | None -> start_game_if_conflict head_block node_ctxt +end diff --git a/src/proto_alpha/bin_sc_rollup_node/refutation_game.mli b/src/proto_alpha/bin_sc_rollup_node/refutation_game.mli new file mode 100644 index 000000000000..9cd30306a81d --- /dev/null +++ b/src/proto_alpha/bin_sc_rollup_node/refutation_game.mli @@ -0,0 +1,35 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2022 Nomadic Labs, *) +(* *) +(* Permission is hereby granted, free of charge, to any person obtaining a *) +(* copy of this software and associated documentation files (the "Software"),*) +(* to deal in the Software without restriction, including without limitation *) +(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) +(* and/or sell copies of the Software, and to permit persons to whom the *) +(* Software is furnished to do so, subject to the following conditions: *) +(* *) +(* The above copyright notice and this permission notice shall be included *) +(* in all copies or substantial portions of the Software. *) +(* *) +(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) +(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) +(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) +(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) +(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) +(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) +(* DEALINGS IN THE SOFTWARE. *) +(* *) +(*****************************************************************************) + +(** This module implements the refutation game logic of the rollup + node. *) +module type S = sig + module PVM : Pvm.S + + val process : + Layer1.head -> Node_context.t -> PVM.context -> unit tzresult Lwt.t +end + +module Make (PVM : Pvm.S) : S with module PVM = PVM diff --git a/src/proto_alpha/bin_sc_rollup_node/refutation_game_event.ml b/src/proto_alpha/bin_sc_rollup_node/refutation_game_event.ml new file mode 100644 index 000000000000..071c574e8b26 --- /dev/null +++ b/src/proto_alpha/bin_sc_rollup_node/refutation_game_event.ml @@ -0,0 +1,130 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2022 Nomadic Labs, *) +(* *) +(* Permission is hereby granted, free of charge, to any person obtaining a *) +(* copy of this software and associated documentation files (the "Software"),*) +(* to deal in the Software without restriction, including without limitation *) +(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) +(* and/or sell copies of the Software, and to permit persons to whom the *) +(* Software is furnished to do so, subject to the following conditions: *) +(* *) +(* The above copyright notice and this permission notice shall be included *) +(* in all copies or substantial portions of the Software. *) +(* *) +(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) +(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) +(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) +(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) +(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) +(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) +(* DEALINGS IN THE SOFTWARE. *) +(* *) +(*****************************************************************************) + +open Protocol.Alpha_context + +(* TODO: https://gitlab.com/tezos/tezos/-/issues/2880 + Add corresponding .mli file. *) + +module Simple = struct + include Internal_event.Simple + + let section = ["sc_rollup_node"; "refutation_game"] + + let timeout = + declare_1 + ~section + ~name:"sc_rollup_node_timeout" + ~msg: + "The rollup node has been slashed because of a timeout issued by \ + {address}" + ~level:Notice + ("address", Signature.Public_key_hash.encoding) + + let invalid_move = + declare_0 + ~section + ~name:"sc_rollup_node_invalid_move" + ~msg: + "The rollup node is about to make an invalid move in the refutation \ + game! It is stopped to avoid being slashed. The problem should be \ + reported immediately or the rollup node should be upgraded to have a \ + chance to be back before the timeout is reached." + ~level:Notice + () + + let conflict_detected = + declare_5 + ~name:"sc_rollup_node_conflict_detected" + ~msg: + "A conflict has been found with our commitment {our_commitment_hash} \ + at level {level} with staker {other} that hash issued commitment \ + {their_commitment_hash} both based on {parent_commitment_hash}." + ~level:Notice + ("our_commitment_hash", Sc_rollup.Commitment.Hash.encoding) + ("level", Raw_level.encoding) + ("other", Sc_rollup.Staker.encoding) + ("their_commitment_hash", Sc_rollup.Commitment.Hash.encoding) + ("parent_commitment_hash", Sc_rollup.Commitment.Hash.encoding) + + let refutation_event state = + declare_2 + ~section + ~name:("sc_rollup_node_refutation_" ^ state) + ~msg: + ("Refutation was " ^ state + ^ " - opponent: {opponent}, refutation: {refutation}") + ~level:Notice + ("opponent", Sc_rollup.Staker.encoding) + ("refutation", Data_encoding.option Sc_rollup.Game.refutation_encoding) + + let refutation_published = refutation_event "published" + + let refutation_failed = refutation_event "failed" + + let refutation_backtracked = refutation_event "backtracked" + + let refutation_skipped = refutation_event "skipped" + + let timeout_event state = + declare_1 + ~section + ~name:("sc_rollup_node_timeout_" ^ state) + ~msg:("Timeout was " ^ state ^ " - players: {players}") + ~level:Notice + ("players", Sc_rollup.Game.Index.encoding) + + let timeout_published = timeout_event "published" + + let timeout_failed = timeout_event "failed" + + let timeout_backtracked = timeout_event "backtracked" + + let timeout_skipped = timeout_event "skipped" +end + +let timeout address = Simple.(emit timeout address) + +let invalid_move () = Simple.(emit invalid_move ()) + +let refutation_published opponent refutation = + Simple.(emit refutation_published (opponent, refutation)) + +let refutation_failed opponent refutation = + Simple.(emit refutation_failed (opponent, refutation)) + +let refutation_backtracked opponent refutation = + Simple.(emit refutation_backtracked (opponent, refutation)) + +let refutation_skipped opponent refutation = + Simple.(emit refutation_skipped (opponent, refutation)) + +let timeout_published players = Simple.(emit timeout_published players) + +let timeout_failed players = Simple.(emit timeout_failed players) + +let timeout_backtracked players = Simple.(emit timeout_backtracked players) + +let timeout_skipped players = Simple.(emit timeout_skipped players) diff --git a/src/proto_alpha/bin_sc_rollup_node/sc_rollup_node_errors.ml b/src/proto_alpha/bin_sc_rollup_node/sc_rollup_node_errors.ml index 6a333beb03ff..34191689a88b 100644 --- a/src/proto_alpha/bin_sc_rollup_node/sc_rollup_node_errors.ml +++ b/src/proto_alpha/bin_sc_rollup_node/sc_rollup_node_errors.ml @@ -29,6 +29,11 @@ type error += Bad_minimal_fees of string type error += Commitment_predecessor_should_be_LCC of Sc_rollup.Commitment.t +type error += Unreliable_tezos_node_returning_inconsistent_game + +type error += + | Cannot_produce_proof of Store.Inbox.t * Store.Inbox.history * Raw_level.t + let () = register_error_kind `Permanent @@ -58,4 +63,48 @@ let () = (function | Commitment_predecessor_should_be_LCC commitment -> Some commitment | _ -> None) - (fun commitment -> Commitment_predecessor_should_be_LCC commitment) + (fun commitment -> Commitment_predecessor_should_be_LCC commitment) ; + + register_error_kind + `Permanent + ~id:"internal.unreliable_tezos_node" + ~title:"Internal error: Tezos node seems unreliable" + ~description: + "Internal error: The game invariant states that the dissection from the \ + opponent must contain a tick we disagree with. If the retrieved game \ + does not respect this, we cannot trust the Tezos node we are connected \ + to and prefer to stop here." + ~pp:(fun _ppf () -> ()) + Data_encoding.unit + (function + | Unreliable_tezos_node_returning_inconsistent_game -> Some () | _ -> None) + (fun () -> Unreliable_tezos_node_returning_inconsistent_game) ; + + register_error_kind + `Permanent + ~id:"internal.cannnot_produce_proof" + ~title:"Internal error: Rollup node cannot produce refutation proof" + ~description: + "The rollup node is in a state that prevent it from produce refutation \ + proofs." + ~pp:(fun ppf (inbox, history, level) -> + Format.fprintf + ppf + "cannot produce proof for inbox %a of level %a with history %a" + Store.Inbox.pp + inbox + Raw_level.pp + level + Store.Inbox.pp_history + history) + Data_encoding.( + obj3 + (req "inbox" Store.Inbox.encoding) + (req "history" Store.Inbox.history_encoding) + (req "level" Raw_level.encoding)) + (function + | Cannot_produce_proof (inbox, history, level) -> + Some (inbox, history, level) + | _ -> None) + (fun (inbox, history, level) -> + Cannot_produce_proof (inbox, history, level)) -- GitLab From 5183c2dc1d8cf0d5a6f367c50fee8257fe49c57c Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 14 Jun 2022 16:34:35 +0200 Subject: [PATCH 08/45] SCORU,Node: Add a loser mode in the rollup node Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/configuration.ml | 35 +++++++-- .../bin_sc_rollup_node/configuration.mli | 1 + src/proto_alpha/bin_sc_rollup_node/daemon.ml | 10 +-- .../bin_sc_rollup_node/loser_mode.ml | 76 +++++++++++++++++++ .../bin_sc_rollup_node/loser_mode.mli | 46 +++++++++++ .../main_sc_rollup_node_alpha.ml | 20 ++++- .../bin_sc_rollup_node/node_context.ml | 4 +- .../bin_sc_rollup_node/node_context.mli | 4 + .../bin_sc_rollup_node/refutation_game.ml | 4 +- tezt/lib_tezos/sc_rollup_node.ml | 39 +++++----- tezt/lib_tezos/sc_rollup_node.mli | 4 +- 11 files changed, 205 insertions(+), 38 deletions(-) create mode 100644 src/proto_alpha/bin_sc_rollup_node/loser_mode.ml create mode 100644 src/proto_alpha/bin_sc_rollup_node/loser_mode.mli diff --git a/src/proto_alpha/bin_sc_rollup_node/configuration.ml b/src/proto_alpha/bin_sc_rollup_node/configuration.ml index 5dad522a9eb5..77fe8aa4f209 100644 --- a/src/proto_alpha/bin_sc_rollup_node/configuration.ml +++ b/src/proto_alpha/bin_sc_rollup_node/configuration.ml @@ -33,6 +33,7 @@ type t = { rpc_addr : string; rpc_port : int; fee_parameter : Injection.fee_parameter; + loser_mode : Loser_mode.t; } let default_data_dir = @@ -151,19 +152,22 @@ let encoding : t Data_encoding.t = rpc_addr; rpc_port; fee_parameter; + loser_mode; } -> ( data_dir, sc_rollup_address, sc_rollup_node_operator, rpc_addr, rpc_port, - fee_parameter )) + fee_parameter, + loser_mode )) (fun ( data_dir, sc_rollup_address, sc_rollup_node_operator, rpc_addr, rpc_port, - fee_parameter ) -> + fee_parameter, + loser_mode ) -> { data_dir; sc_rollup_address; @@ -171,8 +175,9 @@ let encoding : t Data_encoding.t = rpc_addr; rpc_port; fee_parameter; + loser_mode; }) - (obj6 + (obj7 (dft "data-dir" ~description:"Location of the data dir" @@ -193,9 +198,27 @@ let encoding : t Data_encoding.t = "fee-parameter" ~description:"The fee parameter used when injecting operations in L1" fee_parameter_encoding - default_fee_parameter)) + default_fee_parameter) + (dft + "loser-mode" + ~description: + "If enabled, the rollup node will issue wrong commitments (for \ + test only!)" + Loser_mode.encoding + Loser_mode.no_failures)) + +let loser_warning_message config = + if config.loser_mode <> Loser_mode.no_failures then + Format.printf + {| +************ WARNING ************* +This rollup node is in loser mode. +This should be used for test only! +************ WARNING ************* +|} let save config = + loser_warning_message config ; let open Lwt_syntax in let json = Data_encoding.Json.construct encoding config in let* () = Lwt_utils_unix.create_dir config.data_dir in @@ -204,4 +227,6 @@ let save config = let load ~data_dir = let open Lwt_result_syntax in let+ json = Lwt_utils_unix.Json.read_file (relative_filename data_dir) in - Data_encoding.Json.destruct encoding json + let config = Data_encoding.Json.destruct encoding json in + loser_warning_message config ; + config diff --git a/src/proto_alpha/bin_sc_rollup_node/configuration.mli b/src/proto_alpha/bin_sc_rollup_node/configuration.mli index 5c5c41e6b069..1a4844ac09d5 100644 --- a/src/proto_alpha/bin_sc_rollup_node/configuration.mli +++ b/src/proto_alpha/bin_sc_rollup_node/configuration.mli @@ -31,6 +31,7 @@ type t = { rpc_addr : string; rpc_port : int; fee_parameter : Injection.fee_parameter; + loser_mode : Loser_mode.t; } (** [default_data_dir] is the default value for [data_dir]. *) diff --git a/src/proto_alpha/bin_sc_rollup_node/daemon.ml b/src/proto_alpha/bin_sc_rollup_node/daemon.ml index 9087e0a9fe34..727c6697febb 100644 --- a/src/proto_alpha/bin_sc_rollup_node/daemon.ml +++ b/src/proto_alpha/bin_sc_rollup_node/daemon.ml @@ -240,20 +240,18 @@ let run ~data_dir (cctxt : Protocol_client_context.full) = let*! () = Event.starting_node () in let* configuration = Configuration.load ~data_dir in let open Configuration in - let {sc_rollup_address; sc_rollup_node_operator; fee_parameter; _} = - configuration - in let*! store = Store.load configuration in let* l1_ctxt, genesis_info, kind = Layer1.start configuration cctxt store in let* node_ctxt = Node_context.init cctxt l1_ctxt - sc_rollup_address + configuration.sc_rollup_address genesis_info kind - sc_rollup_node_operator - fee_parameter + configuration.sc_rollup_node_operator + configuration.fee_parameter + ~loser_mode:configuration.loser_mode in let* _pkh, _pk, _skh = Node_context.get_operator_keys node_ctxt in (* Check that the public key hash is valid. *) diff --git a/src/proto_alpha/bin_sc_rollup_node/loser_mode.ml b/src/proto_alpha/bin_sc_rollup_node/loser_mode.ml new file mode 100644 index 000000000000..6a608eb07ee2 --- /dev/null +++ b/src/proto_alpha/bin_sc_rollup_node/loser_mode.ml @@ -0,0 +1,76 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2022 Nomadic Labs, *) +(* *) +(* Permission is hereby granted, free of charge, to any person obtaining a *) +(* copy of this software and associated documentation files (the "Software"),*) +(* to deal in the Software without restriction, including without limitation *) +(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) +(* and/or sell copies of the Software, and to permit persons to whom the *) +(* Software is furnished to do so, subject to the following conditions: *) +(* *) +(* The above copyright notice and this permission notice shall be included *) +(* in all copies or substantial portions of the Software. *) +(* *) +(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) +(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) +(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) +(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) +(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) +(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) +(* DEALINGS IN THE SOFTWARE. *) +(* *) +(*****************************************************************************) + +type failure = {level : int; message_index : int; message_tick : int} + +let failure_encoding = + let open Data_encoding in + conv + (fun {level; message_index; message_tick} -> + (level, message_index, message_tick)) + (fun (level, message_index, message_tick) -> + {level; message_index; message_tick}) + (obj3 + (req "level" int31) + (req "message_index" int31) + (req "message_tick" int31)) + +let compare_failure f1 f2 = + let open Compare.Int in + match compare f1.level f2.level with + | 0 -> ( + match compare f1.message_index f2.message_index with + | 0 -> compare f1.message_tick f2.message_tick + | n -> n) + | n -> n + +type t = failure list + +let encoding = Data_encoding.list failure_encoding + +let no_failures = [] + +let make s = + let tokens = String.split_on_char ' ' s in + let rec chop = function + | [] | [""] -> [] + | level :: message_index :: message_tick :: rest -> + { + level = int_of_string level; + message_index = int_of_string message_index; + message_tick = int_of_string message_tick; + } + :: chop rest + | _ -> raise Not_found + in + try Some (chop tokens |> List.sort compare_failure) with _ -> None + +let is_failure failures ~level ~message_index = + List.filter_map + (fun f -> + if Compare.Int.(f.level = level && f.message_index = message_index) then + Some f.message_tick + else None) + failures diff --git a/src/proto_alpha/bin_sc_rollup_node/loser_mode.mli b/src/proto_alpha/bin_sc_rollup_node/loser_mode.mli new file mode 100644 index 000000000000..d86a269ee844 --- /dev/null +++ b/src/proto_alpha/bin_sc_rollup_node/loser_mode.mli @@ -0,0 +1,46 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2022 Nomadic Labs, *) +(* *) +(* Permission is hereby granted, free of charge, to any person obtaining a *) +(* copy of this software and associated documentation files (the "Software"),*) +(* to deal in the Software without restriction, including without limitation *) +(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) +(* and/or sell copies of the Software, and to permit persons to whom the *) +(* Software is furnished to do so, subject to the following conditions: *) +(* *) +(* The above copyright notice and this permission notice shall be included *) +(* in all copies or substantial portions of the Software. *) +(* *) +(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) +(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) +(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) +(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) +(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) +(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) +(* DEALINGS IN THE SOFTWARE. *) +(* *) +(*****************************************************************************) + +(** A list of failures. *) +type t + +val encoding : t Data_encoding.t + +(** [no_failures] are planned. *) +val no_failures : t + +(** [make s] parses a list of integers separated by spaces that is a + periodic sequence of triple [level message_index message_tick] + representing a failure that the rollup node is supposed to make. + This function returns [None] if the input string is not syntactically + correct. *) +val make : string -> t option + +(** [is_failure failures ~level ~message_index] returns [message_ticks] + where a failure is supposed to happen at the point + of the rollup node processing of a given inbox [level], a given + [message_index] and for all [message_ticks]. Ticks are sorted by + increasing order. *) +val is_failure : t -> level:int -> message_index:int -> int list diff --git a/src/proto_alpha/bin_sc_rollup_node/main_sc_rollup_node_alpha.ml b/src/proto_alpha/bin_sc_rollup_node/main_sc_rollup_node_alpha.ml index 0f78ec508c7a..1267e674af4f 100644 --- a/src/proto_alpha/bin_sc_rollup_node/main_sc_rollup_node_alpha.ml +++ b/src/proto_alpha/bin_sc_rollup_node/main_sc_rollup_node_alpha.ml @@ -165,6 +165,17 @@ let burn_cap_arg = | Some t -> return t | None -> failwith "Bad burn cap")) +let loser_mode = + Clic.default_arg + ~long:"loser-mode" + ~placeholder:"mode" + ~default:"" + ~doc:"Set the rollup node failure points (for test only!)." + (Clic.parameter (fun _ s -> + match Loser_mode.make s with + | Some t -> return t + | None -> failwith "Invalid syntax for failure points")) + let group = { Clic.name = "sc_rollup.node"; @@ -176,7 +187,7 @@ let config_init_command = command ~group ~desc:"Configure the smart-contract rollup node." - (args9 + (args10 data_dir_arg rpc_addr_arg rpc_port_arg @@ -185,7 +196,8 @@ let config_init_command = minimal_nanotez_per_gas_unit_arg force_low_fee_arg fee_cap_arg - burn_cap_arg) + burn_cap_arg + loser_mode) (prefixes ["config"; "init"; "on"] @@ sc_rollup_address_param @@ prefixes ["with"; "operator"] @@ -198,7 +210,8 @@ let config_init_command = minimal_nanotez_per_gas_unit, force_low_fee, fee_cap, - burn_cap ) + burn_cap, + loser_mode ) sc_rollup_address sc_rollup_node_operator cctxt -> @@ -219,6 +232,7 @@ let config_init_command = fee_cap; burn_cap; }; + loser_mode; } in save config >>=? fun () -> diff --git a/src/proto_alpha/bin_sc_rollup_node/node_context.ml b/src/proto_alpha/bin_sc_rollup_node/node_context.ml index a72e4895f379..e5a7fabd88f0 100644 --- a/src/proto_alpha/bin_sc_rollup_node/node_context.ml +++ b/src/proto_alpha/bin_sc_rollup_node/node_context.ml @@ -36,6 +36,7 @@ type t = { kind : Sc_rollup.Kind.t; fee_parameter : Injection.fee_parameter; protocol_constants : Constants.t; + loser_mode : Loser_mode.t; } let get_operator_keys node_ctxt = @@ -53,7 +54,7 @@ let retrieve_constants cctxt = Protocol.Constants_services.all cctxt (cctxt#chain, cctxt#block) let init (cctxt : Protocol_client_context.full) l1_ctxt rollup_address - genesis_info kind operator fee_parameter = + genesis_info kind operator fee_parameter ~loser_mode = let open Lwt_result_syntax in let+ protocol_constants = retrieve_constants cctxt in { @@ -66,4 +67,5 @@ let init (cctxt : Protocol_client_context.full) l1_ctxt rollup_address block_finality_time = 2; fee_parameter; protocol_constants; + loser_mode; } diff --git a/src/proto_alpha/bin_sc_rollup_node/node_context.mli b/src/proto_alpha/bin_sc_rollup_node/node_context.mli index ed5880e95acf..dfb7616bf435 100644 --- a/src/proto_alpha/bin_sc_rollup_node/node_context.mli +++ b/src/proto_alpha/bin_sc_rollup_node/node_context.mli @@ -46,6 +46,9 @@ type t = { (** Fee parameter to use when injecting operations in layer 1. *) protocol_constants : Constants.t; (** Protocol constants retrieved from the Tezos node. *) + loser_mode : Loser_mode.t; + (** If different from [Loser_mode.no_failures], the rollup node + issues wrong commitments (for tests). *) } (** [get_operator_keys cctxt] returns a triple [(pkh, pk, sk)] corresponding @@ -69,4 +72,5 @@ val init : Protocol.Alpha_context.Sc_rollup.Kind.t -> Signature.Public_key_hash.t -> Injection.fee_parameter -> + loser_mode:Loser_mode.t -> t tzresult Lwt.t diff --git a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml index d1771b8f884c..403a5b58a568 100644 --- a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml +++ b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml @@ -114,8 +114,8 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct let generate_proof node_ctxt store game start_state = let open Lwt_result_syntax in let*! hash = Layer1.hash_of_level store (Raw_level.to_int32 game.level) in - let* history = Inbox.history_of_hash node_ctxt store hash in - let* inbox = Inbox.inbox_of_hash node_ctxt store hash in + let*! history = Inbox.history_of_hash store hash in + let*! inbox = Inbox.inbox_of_hash node_ctxt store hash in let*! messages_tree = Inbox.find_message_tree store hash in let*! history, history_proof = Store.Inbox.form_history_proof store history inbox messages_tree diff --git a/tezt/lib_tezos/sc_rollup_node.ml b/tezt/lib_tezos/sc_rollup_node.ml index 8cdac867d207..6fc4628295b4 100644 --- a/tezt/lib_tezos/sc_rollup_node.ml +++ b/tezt/lib_tezos/sc_rollup_node.ml @@ -86,27 +86,28 @@ let layer1_port sc_node = Node.rpc_port sc_node.persistent_state.node let spawn_command sc_node = Process.spawn ~name:sc_node.name ~color:sc_node.color sc_node.path -let spawn_config_init sc_node rollup_address = +let spawn_config_init sc_node ?loser_mode rollup_address = spawn_command sc_node - [ - "config"; - "init"; - "on"; - rollup_address; - "with"; - "operator"; - operator_pkh sc_node; - "--data-dir"; - data_dir sc_node; - "--rpc-addr"; - rpc_host sc_node; - "--rpc-port"; - string_of_int @@ rpc_port sc_node; - ] - -let config_init sc_node rollup_address = - let process = spawn_config_init sc_node rollup_address in + ([ + "config"; + "init"; + "on"; + rollup_address; + "with"; + "operator"; + operator_pkh sc_node; + "--data-dir"; + data_dir sc_node; + "--rpc-addr"; + rpc_host sc_node; + "--rpc-port"; + string_of_int @@ rpc_port sc_node; + ] + @ match loser_mode with None -> [] | Some mode -> ["--loser-mode"; mode]) + +let config_init sc_node ?loser_mode rollup_address = + let process = spawn_config_init sc_node ?loser_mode rollup_address in let* output = Process.check_and_read_stdout process in match output diff --git a/tezt/lib_tezos/sc_rollup_node.mli b/tezt/lib_tezos/sc_rollup_node.mli index e837793e4207..1a27ab14e559 100644 --- a/tezt/lib_tezos/sc_rollup_node.mli +++ b/tezt/lib_tezos/sc_rollup_node.mli @@ -109,9 +109,9 @@ val wait : t -> Unix.process_status Lwt.t a SIGKILL is sent instead of a SIGTERM. *) val terminate : ?kill:bool -> t -> unit Lwt.t -(** Run [tezos-sc-rollup-node-alpha config init rollup_address]. +(** Run [tezos-sc-rollup-node-alpha config init ?loser_mode rollup_address]. Returns the name of the resulting configuration file. *) -val config_init : t -> string -> string Lwt.t +val config_init : t -> ?loser_mode:string -> string -> string Lwt.t module Config_file : sig (** Sc node configuration files. *) -- GitLab From e5cf50242c9fb9fa2ff98ae71975ae8f58e86f93 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Thu, 16 Jun 2022 09:06:03 +0200 Subject: [PATCH 09/45] Proto,SCORU: Cosmetics Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_client/operation_result.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_client/operation_result.ml b/src/proto_alpha/lib_client/operation_result.ml index 09938ce70370..44ef0de1a805 100644 --- a/src/proto_alpha/lib_client/operation_result.ml +++ b/src/proto_alpha/lib_client/operation_result.ml @@ -764,7 +764,7 @@ let pp_manager_operation_contents_result ppf op_result = | Sc_rollup_cement_result _ -> "smart contract rollup commitment cementing" | Sc_rollup_publish_result _ -> "smart contract rollup commitment publishing" - | Sc_rollup_refute_result _ -> "smart contract rollup refutation start" + | Sc_rollup_refute_result _ -> "smart contract rollup refutation move" | Sc_rollup_timeout_result _ -> "smart contract rollup refutation timeout" | Sc_rollup_execute_outbox_message_result _ -> "smart contract output message execution" -- GitLab From 647110537c9eb9ed5bae74aca3ddce0bdd11efe2 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Thu, 16 Jun 2022 09:10:14 +0200 Subject: [PATCH 10/45] SCORU,Node: Introduce an event for the failures of the loser node Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/interpreter_event.ml | 28 +++++++++++++++---- .../bin_sc_rollup_node/interpreter_event.mli | 22 +++++++++++++-- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter_event.ml b/src/proto_alpha/bin_sc_rollup_node/interpreter_event.ml index d177dd810f3a..2c13a77c8903 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter_event.ml +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter_event.ml @@ -31,21 +31,39 @@ module Simple = struct let section = ["sc_rollup_node"; "interpreter"] let transitioned_pvm = - declare_3 + declare_4 ~section ~name:"sc_rollup_node_interpreter_transitioned_pvm" ~msg: - "Transitioned PVM to {state_hash} at tick {ticks} with {num_messages} \ - messages" + "Transitioned PVM at inbox level {inbox_level} to {state_hash} at tick \ + {ticks} with {num_messages} messages" ~level:Notice + ("inbox_level", Protocol.Alpha_context.Raw_level.encoding) ("state_hash", State_hash.encoding) ("ticks", Tick.encoding) ("num_messages", Data_encoding.z) + + let intended_failure = + declare_4 + ~section + ~name:"sc_rollup_node_interpreter_intended_failure" + ~msg: + "Intended failure at level {level} for message indexed {message_index} \ + and at the tick {message_tick} of message processing (internal = \ + {internal})." + ~level:Notice + ("level", Data_encoding.int31) + ("message_index", Data_encoding.int31) + ("message_tick", Data_encoding.int31) + ("internal", Data_encoding.bool) end -let transitioned_pvm state num_messages = +let transitioned_pvm inbox_level state num_messages = let open Lwt_syntax in (* TODO (#3094): is this code path taken for Wasm_2_0_0_pvm. Do we need to abstract? *) let* hash = Arith_pvm.state_hash state in let* ticks = Arith_pvm.get_tick state in - Simple.(emit transitioned_pvm (hash, ticks, num_messages)) + Simple.(emit transitioned_pvm (inbox_level, hash, ticks, num_messages)) + +let intended_failure ~level ~message_index ~message_tick ~internal = + Simple.(emit intended_failure (level, message_index, message_tick, internal)) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter_event.mli b/src/proto_alpha/bin_sc_rollup_node/interpreter_event.mli index 2c7cd5106921..85403d5ebb33 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter_event.mli +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter_event.mli @@ -26,6 +26,22 @@ (** This module defines functions that emit the events used when running a PVM transition (see {!Interpreter}). *) -(** [transition_pvm hash n] emits the event that a PVM transition is leading to - the state of the given [hash] by processing [n] messages. *) -val transitioned_pvm : Arith_pvm.state -> Z.t -> unit Lwt.t +(** [transition_pvm inbox_level hash n] emits the event that a PVM + transition is leading to the state of the given [hash] by + processing [n] messages. *) +val transitioned_pvm : + Protocol.Alpha_context.Raw_level.t -> Arith_pvm.state -> Z.t -> unit Lwt.t + +(** [intended_failure level message_index message_tick internal] emits + the event that an intended failure has been injected at some given + [level], during the processing of a given [message_index] and at + tick [message_tick] during this message processing. [internal] is + [true] if the failure is injected in a PVM internal + step. [internal] is [false] if the failure is injected in the input + to the PVM. *) +val intended_failure : + level:int -> + message_index:int -> + message_tick:int -> + internal:bool -> + unit Lwt.t -- GitLab From a27d28a35765cd2a60e20933a67b9d35a4117c35 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Thu, 16 Jun 2022 09:12:20 +0200 Subject: [PATCH 11/45] SCORU,Node: Add an rollup node event to witness conflict detection Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/interpreter.ml | 2 +- .../bin_sc_rollup_node/refutation_game.ml | 2 ++ .../bin_sc_rollup_node/refutation_game_event.ml | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml index d33b9b4e4a6f..ea5912327751 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml @@ -182,7 +182,7 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct Store.StateHistory.insert store event in (* Produce events. *) - let*! () = Interpreter_event.transitioned_pvm state num_messages in + let*! () = Interpreter_event.transitioned_pvm level state num_messages in return_unit diff --git a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml index 403a5b58a568..2c15cb23ba09 100644 --- a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml +++ b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml @@ -305,7 +305,9 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct () let play_opening_move node_ctxt conflict = + let open Lwt_syntax in let open Sc_rollup.Refutation_storage in + let* () = Refutation_game_event.conflict_detected conflict in inject_next_move node_ctxt ~refutation:None ~opponent:conflict.other let start_game_if_conflict head_block node_ctxt = diff --git a/src/proto_alpha/bin_sc_rollup_node/refutation_game_event.ml b/src/proto_alpha/bin_sc_rollup_node/refutation_game_event.ml index 071c574e8b26..0c1bd39d34bd 100644 --- a/src/proto_alpha/bin_sc_rollup_node/refutation_game_event.ml +++ b/src/proto_alpha/bin_sc_rollup_node/refutation_game_event.ml @@ -128,3 +128,20 @@ let timeout_failed players = Simple.(emit timeout_failed players) let timeout_backtracked players = Simple.(emit timeout_backtracked players) let timeout_skipped players = Simple.(emit timeout_skipped players) + +let conflict_detected (conflict : Sc_rollup.Refutation_storage.conflict) = + let our_commitment_hash = Sc_rollup.Commitment.hash conflict.our_commitment in + let their_commitment_hash = + Sc_rollup.Commitment.hash conflict.their_commitment + in + let parent_commitment_hash = conflict.parent_commitment in + let other = conflict.other in + let level = conflict.our_commitment.inbox_level in + Simple.( + emit + conflict_detected + ( our_commitment_hash, + level, + other, + their_commitment_hash, + parent_commitment_hash )) -- GitLab From 6d5e5e9ec1b23758e451189ffe9862b0d0b68e17 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Thu, 30 Jun 2022 15:56:30 +0200 Subject: [PATCH 12/45] SCORU,Node: Introduce the loser mode in the interpreter Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/interpreter.ml | 191 +++++++++++++----- .../lib_protocol/alpha_context.mli | 6 + .../lib_protocol/sc_rollup_PVM_sem.ml | 6 + .../lib_protocol/sc_rollup_PVM_sem.mli | 8 + .../lib_protocol/sc_rollup_arith.ml | 25 ++- .../lib_protocol/sc_rollup_wasm.ml | 11 + 6 files changed, 190 insertions(+), 57 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml index ea5912327751..f6ea3c6f3640 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml @@ -58,49 +58,115 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct | Some 0 -> return (state, fuel) | _ -> f (consume_fuel fuel) state - (** [eval_until_input ?fuel state] advances a PVM [state] until it - wants more inputs or there are no more [fuel] (if [Some fuel] is - specified). *) - let eval_until_input ?fuel state = + (** [eval_until_input level message_index ~fuel start_tick + failing_ticks state] advances a PVM [state] until it wants more + inputs or there are no more [fuel] (if [Some fuel] is + specified). The evaluation is running under the processing of + some [message_index] at a given [level] and this is the + [start_tick] of this message processing. If some [failing_ticks] + are planned by the loser mode, they will be made. *) + let eval_until_input level message_index ~fuel start_tick failing_ticks state + = let open Lwt_syntax in - let rec go fuel state = + let eval_tick tick failing_ticks state = + let normal_eval state = + let* state = PVM.eval state in + return (state, failing_ticks) + in + let failure_insertion_eval state failing_ticks' = + let* () = + Interpreter_event.intended_failure + ~level + ~message_index + ~message_tick:tick + ~internal:true + in + let* state = PVM.Internal_for_tests.insert_failure state in + return (state, failing_ticks') + in + match failing_ticks with + | xtick :: failing_ticks' -> + if xtick = tick then failure_insertion_eval state failing_ticks' + else normal_eval state + | _ -> normal_eval state + in + let rec go fuel tick failing_ticks state = let* input_request = PVM.is_input_state state in - continue_with_fuel fuel state @@ fun fuel state -> - match input_request with - | No_input_required -> - let* next_state = PVM.eval state in - go fuel next_state - | _ -> return (state, fuel) + match fuel with + | Some 0 -> return (state, fuel, tick, failing_ticks) + | None | Some _ -> ( + match input_request with + | No_input_required -> + let* next_state, failing_ticks = + eval_tick tick failing_ticks state + in + go (consume_fuel fuel) (tick + 1) failing_ticks next_state + | _ -> return (state, fuel, tick, failing_ticks)) in - go fuel state + go fuel start_tick failing_ticks state + + (** [mutate input] corrupts the payload of [input] for testing purposes. *) + let mutate input = + let payload = Inbox.Message.unsafe_of_string "0xC4C4" in + {input with Sc_rollup.payload} - (** [feed_input state input] feeds [input] to the PVM in order to - advance [state] to the next step that requires an input. *) - let feed_input ?fuel state input = + (** [feed_input level message_index ~fuel ~failing_ticks state + input] feeds [input] (that has a given [message_index] in inbox + of [level]) to the PVM in order to advance [state] to the next + step that requires an input. This function is controlled by + some [fuel] and may introduce intended failures at some given + [failing_ticks]. *) + let feed_input level message_index ~fuel ~failing_ticks state input = let open Lwt_syntax in - let* state, fuel = eval_until_input ?fuel state in + let* state, fuel, tick, failing_ticks = + eval_until_input level message_index ~fuel 0 failing_ticks state + in continue_with_fuel fuel state @@ fun fuel state -> + let* input, failing_ticks = + match failing_ticks with + | xtick :: failing_ticks' -> + if xtick = tick then + let* () = + Interpreter_event.intended_failure + ~level + ~message_index + ~message_tick:tick + ~internal:false + in + return (mutate input, failing_ticks') + else return (input, failing_ticks) + | _ -> return (input, failing_ticks) + in let* state = PVM.set_input input state in let* state = PVM.eval state in - let* state, fuel = eval_until_input ?fuel state in + let* state, fuel, _tick, _failing_ticks = + eval_until_input level message_index ~fuel tick failing_ticks state + in return (state, fuel) - let eval_level ?fuel store hash predecessor_state = + let eval_level ?fuel failures store hash state = let open Lwt_result_syntax in (* Obtain inbox and its messages for this block. *) - let*! inbox_opt = Store.Inboxes.find store hash in - - (* Iterate the PVM state with all the messages for this level. *) - match inbox_opt with + let*! inbox = Store.Inboxes.find store hash in + match inbox with + | None -> + (* A level with no messages for use. Skip it. *) + let*! level = Layer1.level_of_hash store hash in + return (state, Z.zero, Raw_level.of_int32_exn level, fuel) | Some inbox -> let inbox_level = Inbox.inbox_level inbox in let*! messages = Store.Messages.get store hash in + (* TODO: #2717 + The length of messages here can potentially overflow the [int] returned from [List.length]. + *) + let num_messages = List.length messages |> Z.of_int in + (* Iterate the PVM state with all the messages for this level. *) let* state, fuel = List.fold_left_i_es (fun message_counter (state, fuel) message -> let*? payload = - Environment.wrap_tzresult - (Sc_rollup.Inbox.Message.serialize message) + Sc_rollup.Inbox.Message.( + message |> serialize |> Environment.wrap_tzresult) in let input = Sc_rollup. @@ -110,13 +176,27 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct payload; } in - let*! state = feed_input ?fuel state input in - return state) - (predecessor_state, fuel) + let level = Raw_level.to_int32 inbox_level |> Int32.to_int in + let failing_ticks = + Loser_mode.is_failure + failures + ~level + ~message_index:message_counter + in + let*! state, fuel = + feed_input + level + message_counter + ~fuel + ~failing_ticks + state + input + in + return (state, fuel)) + (state, fuel) messages in - return (state, fuel) - | None -> return (predecessor_state, fuel) + return (state, num_messages, inbox_level, fuel) let genesis_state node_ctxt store = let open Node_context in @@ -150,16 +230,29 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct | Some predecessor_state -> return predecessor_state in - let*! level = Layer1.level_of_hash store hash in - let level = Raw_level.of_int32_exn level in - let* state, _ = eval_level store hash predecessor_state in - let*! messages = Store.Messages.get store hash in + let* state, num_messages, inbox_level, _fuel = + eval_level node_ctxt.loser_mode store hash predecessor_state + in (* Write final state to store. *) let*! () = Store.PVMState.set store hash state in (* Compute extra information about the state. *) let*! initial_tick = PVM.get_tick predecessor_state in + + let*! () = + let open Store.StateHistoryRepr in + let event = + { + tick = initial_tick; + block_hash = hash; + predecessor_hash; + level = inbox_level; + } + in + Store.StateHistory.insert store event + in + let*! last_tick = PVM.get_tick state in (* TODO: #2717 The number of ticks should not be an arbitrarily-sized integer or @@ -167,22 +260,13 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct integer too. *) let num_ticks = Sc_rollup.Tick.distance initial_tick last_tick in - (* TODO: #2717 - The length of messages here can potentially overflow the [int] returned from [List.length]. - *) - let num_messages = Z.of_int (List.length messages) in let*! () = Store.StateInfo.add store hash {num_messages; num_ticks; initial_tick} in + (* Produce events. *) let*! () = - let open Store.StateHistoryRepr in - let event = - {tick = last_tick; predecessor_hash; block_hash = hash; level} - in - Store.StateHistory.insert store event + Interpreter_event.transitioned_pvm inbox_level state num_messages in - (* Produce events. *) - let*! () = Interpreter_event.transitioned_pvm level state num_messages in return_unit @@ -193,11 +277,12 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct transition_pvm node_ctxt store predecessor_hash hash (** [run_until_tick tick] *) - let run_until_tick node_ctxt store hash tick_distance = + let run_until_tick node_ctxt store predecessor_hash hash tick_distance = let open Lwt_result_syntax in - let* state = state_of_hash node_ctxt store hash in - let* state, fuel = eval_level ~fuel:tick_distance store hash state in - assert (fuel = Some 0) ; + let* state = state_of_hash node_ctxt store predecessor_hash in + let* state, _counter, _level, _fuel = + eval_level node_ctxt.loser_mode ~fuel:tick_distance store hash state + in return state (** [state_of_tick node_ctxt store tick level] returns [Some (state, hash)] @@ -216,8 +301,14 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct let tick_distance = Sc_rollup.Tick.distance tick event.tick |> Z.to_int in - let hash = event.block_hash in - let* state = run_until_tick node_ctxt store hash tick_distance in + let* state = + run_until_tick + node_ctxt + store + event.predecessor_hash + event.block_hash + tick_distance + in let*! hash = PVM.state_hash state in return (Some (state, hash)) end diff --git a/src/proto_alpha/lib_protocol/alpha_context.mli b/src/proto_alpha/lib_protocol/alpha_context.mli index 6213c7ea049b..a9ff6f28b712 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.mli +++ b/src/proto_alpha/lib_protocol/alpha_context.mli @@ -3019,6 +3019,8 @@ module Sc_rollup : sig type state + val pp : state -> (Format.formatter -> unit -> unit) Lwt.t + type context type hash = State_hash.t @@ -3069,6 +3071,10 @@ module Sc_rollup : sig val produce_output_proof : context -> state -> output -> (output_proof, error) result Lwt.t + + module Internal_for_tests : sig + val insert_failure : state -> state Lwt.t + end end type t = (module S) diff --git a/src/proto_alpha/lib_protocol/sc_rollup_PVM_sem.ml b/src/proto_alpha/lib_protocol/sc_rollup_PVM_sem.ml index 965272322581..aa4e9018e7c6 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_PVM_sem.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_PVM_sem.ml @@ -136,6 +136,8 @@ let pp_output fmt {outbox_level; message_index; message} = module type S = sig type state + val pp : state -> (Format.formatter -> unit -> unit) Lwt.t + type context type hash = Sc_rollup_repr.State_hash.t @@ -186,4 +188,8 @@ module type S = sig val produce_output_proof : context -> state -> output -> (output_proof, error) result Lwt.t + + module Internal_for_tests : sig + val insert_failure : state -> state Lwt.t + end end diff --git a/src/proto_alpha/lib_protocol/sc_rollup_PVM_sem.mli b/src/proto_alpha/lib_protocol/sc_rollup_PVM_sem.mli index 840dd31ecb4c..98fa6552ddd7 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_PVM_sem.mli +++ b/src/proto_alpha/lib_protocol/sc_rollup_PVM_sem.mli @@ -116,6 +116,8 @@ module type S = sig inbox to be executable. *) type state + val pp : state -> (Format.formatter -> unit -> unit) Lwt.t + (** A state is initialized in a given context. A [context] represents the executable environment needed by the state to exist. Typically, the rollup node storage can be part of this @@ -274,4 +276,10 @@ module type S = sig the fact that [output] is part of [state]'s outbox. *) val produce_output_proof : context -> state -> output -> (output_proof, error) result Lwt.t + + module Internal_for_tests : sig + (** [insert_failure state] corrupts the PVM state. This is used in + the loser mode of the rollup node. *) + val insert_failure : state -> state Lwt.t + end end diff --git a/src/proto_alpha/lib_protocol/sc_rollup_arith.ml b/src/proto_alpha/lib_protocol/sc_rollup_arith.ml index 6df3ffac0caa..eaea1de3587a 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_arith.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_arith.ml @@ -753,13 +753,6 @@ module Make (Context : P) : type state = State.state - let pp state = - let open Lwt_syntax in - let* _, pp = Monad.run pp state in - match pp with - | None -> return @@ fun fmt _ -> Format.fprintf fmt "" - | Some pp -> return pp - open Monad let initial_state ctxt = @@ -787,6 +780,16 @@ module Make (Context : P) : let context_hash = Tree.hash state in Lwt.return @@ State_hash.context_hash_to_state_hash context_hash + let pp state = + let open Lwt_syntax in + let* _, pp = Monad.run pp state in + match pp with + | None -> return @@ fun fmt _ -> Format.fprintf fmt "" + | Some pp -> + let* state_hash = state_hash state in + return (fun fmt () -> + Format.fprintf fmt "@[%a: %a@]" State_hash.pp state_hash pp ()) + let boot = let open Monad.Syntax in let* () = Status.create in @@ -1189,6 +1192,14 @@ module Make (Context : P) : return {output_proof; output_proof_state; output_proof_output} | Some (_, false) -> fail Arith_invalid_claim_about_outbox | None -> fail Arith_output_proof_production_failed + + module Internal_for_tests = struct + let insert_failure state = + let add n = Tree.add state ["failures"; string_of_int n] Bytes.empty in + let open Lwt_syntax in + let* n = Tree.length state ["failures"] in + add n + end end module ProtocolImplementation = Make (struct diff --git a/src/proto_alpha/lib_protocol/sc_rollup_wasm.ml b/src/proto_alpha/lib_protocol/sc_rollup_wasm.ml index 52f64e3834fc..13861ab41e94 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_wasm.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_wasm.ml @@ -202,6 +202,9 @@ module V2_0_0 = struct type state = State.state + let pp _state = + Lwt.return @@ fun fmt () -> Format.pp_print_string fmt "" + open Monad let initial_state ctxt = @@ -429,6 +432,14 @@ module V2_0_0 = struct return {output_proof; output_proof_state; output_proof_output} | Some (_, false) -> fail Wasm_invalid_claim_about_outbox | None -> fail Wasm_output_proof_production_failed + + module Internal_for_tests = struct + let insert_failure state = + let add n = Tree.add state ["failures"; string_of_int n] Bytes.empty in + let open Lwt_syntax in + let* n = Tree.length state ["failures"] in + add n + end end module ProtocolImplementation = Make (struct -- GitLab From e243883616d83c838330cc2b801637c678e20bbd Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 4 Jul 2022 09:58:35 +0200 Subject: [PATCH 13/45] SCORU,Node: Fix a bug in rollup node inbox Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/RPC_server.ml | 2 +- src/proto_alpha/bin_sc_rollup_node/inbox.ml | 80 ++++++++++++++----- src/proto_alpha/bin_sc_rollup_node/inbox.mli | 10 ++- 3 files changed, 67 insertions(+), 25 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/RPC_server.ml b/src/proto_alpha/bin_sc_rollup_node/RPC_server.ml index 3b70e5f672ee..e34755c46787 100644 --- a/src/proto_alpha/bin_sc_rollup_node/RPC_server.ml +++ b/src/proto_alpha/bin_sc_rollup_node/RPC_server.ml @@ -91,7 +91,7 @@ module Common = struct (fun () () -> Layer1.current_head_hash store >>= function | Some head_hash -> - let*! inbox = Inbox.inbox_of_hash node_ctxt store head_hash in + let* inbox = Inbox.inbox_of_hash node_ctxt store head_hash in return_some inbox | None -> return None) diff --git a/src/proto_alpha/bin_sc_rollup_node/inbox.ml b/src/proto_alpha/bin_sc_rollup_node/inbox.ml index 86d61ac5e6bb..93ece02c600e 100644 --- a/src/proto_alpha/bin_sc_rollup_node/inbox.ml +++ b/src/proto_alpha/bin_sc_rollup_node/inbox.ml @@ -46,30 +46,62 @@ module State = struct let add_history = Store.Histories.add let inbox_of_hash node_ctxt store block_hash = - let open Lwt_syntax in + let open Lwt_result_syntax in let open Node_context in - let* possible_inbox = Store.Inboxes.find store block_hash in + let*! possible_inbox = Store.Inboxes.find store block_hash in match possible_inbox with | None -> (* We won't find inboxes for blocks before the rollup origination level. Fortunately this case will only ever be called once when dealing with the rollup origination block. After that we would always find an inbox. *) - Store.Inbox.empty - store - node_ctxt.rollup_address - node_ctxt.genesis_info.level + let*! block_level = Layer1.level_of_hash store block_hash in + let block_level = Raw_level.of_int32_exn block_level in + if Raw_level.(block_level <= node_ctxt.genesis_info.level) then + let*! inbox = + Store.Inbox.empty + store + node_ctxt.rollup_address + node_ctxt.genesis_info.level + in + return inbox + else + failwith + "The inbox for block hash %a (level = %a) is missing." + Block_hash.pp + block_hash + Raw_level.pp + block_level | Some inbox -> return inbox - let history_of_hash store block_hash = - Store.Histories.find_with_default store block_hash ~on_default:(fun () -> - Store.Inbox.history_at_genesis ~bound:(Int64.of_int 60000)) + let history_of_hash node_ctxt store block_hash = + let open Lwt_result_syntax in + let open Node_context in + let*! res = Store.Histories.find store block_hash in + match res with + | Some history -> return history + | None -> + (* We won't find inboxes for blocks before the rollup origination level. + Fortunately this case will only ever be called once when dealing with + the rollup origination block. After that we would always find an + inbox. *) + let*! block_level = Layer1.level_of_hash store block_hash in + let block_level = Raw_level.of_int32_exn block_level in + if Raw_level.(block_level <= node_ctxt.genesis_info.level) then + return @@ Store.Inbox.history_at_genesis ~bound:(Int64.of_int 60000) + else + failwith + "The inbox history for hash %a is missing." + Block_hash.pp + block_hash let find_message_tree = Store.MessageTrees.find let set_message_tree = Store.MessageTrees.set end +let find_message_tree = State.find_message_tree + let get_messages Node_context.{l1_ctxt; rollup_address; _} head = let open Lwt_result_syntax in let* block = Layer1.fetch_tezos_block l1_ctxt head in @@ -124,7 +156,6 @@ let process_head node_ctxt store Layer1.(Head {level; hash = head_hash} as head) let*! res = get_messages node_ctxt head_hash in match res with | Error e -> head_processing_failure e - | Ok [] -> return_unit | Ok messages -> let*! () = Inbox_event.get_messages head_hash level (List.length messages) @@ -138,22 +169,27 @@ let process_head node_ctxt store Layer1.(Head {level; hash = head_hash} as head) *) let*! predecessor = Layer1.predecessor store head in - let*! inbox = State.inbox_of_hash node_ctxt store predecessor in + let* inbox = State.inbox_of_hash node_ctxt store predecessor in + let* history = State.history_of_hash node_ctxt store predecessor in lift - @@ let*! history = State.history_of_hash store predecessor in - let*! messages_tree = State.find_message_tree store predecessor in + @@ let*! messages_tree = State.find_message_tree store predecessor in let*? level = Raw_level.of_int32 level in let*? messages = List.map_e Store.Inbox.Message.serialize messages in - let* messages_tree, history, inbox = - Store.Inbox.add_messages - store - history - inbox - level - messages - messages_tree + let* history, inbox = + if messages = [] then return (history, inbox) + else + let* messages_tree, history, inbox = + Store.Inbox.add_messages + store + history + inbox + level + messages + messages_tree + in + let*! () = State.set_message_tree store head_hash messages_tree in + return (history, inbox) in - let*! () = State.set_message_tree store head_hash messages_tree in let*! () = State.add_inbox store head_hash inbox in let*! () = State.add_history store head_hash history in return_unit diff --git a/src/proto_alpha/bin_sc_rollup_node/inbox.mli b/src/proto_alpha/bin_sc_rollup_node/inbox.mli index 854aba646664..4c1a48626952 100644 --- a/src/proto_alpha/bin_sc_rollup_node/inbox.mli +++ b/src/proto_alpha/bin_sc_rollup_node/inbox.mli @@ -46,11 +46,17 @@ val inbox_of_hash : Node_context.t -> Store.t -> Block_hash.t -> - Alpha_context.Sc_rollup.Inbox.t Lwt.t + Alpha_context.Sc_rollup.Inbox.t tzresult Lwt.t (** [history_of_hash node_ctxt store block_hash] returns the rollup inbox history at the end of the given validation of [block_hash]. *) -val history_of_hash : Store.t -> Block_hash.t -> Store.Inbox.history Lwt.t +val history_of_hash : + Node_context.t -> + Store.t -> + Block_hash.t -> + Store.Inbox.history tzresult Lwt.t + +val find_message_tree : Store.t -> Block_hash.t -> Store.tree option Lwt.t (** [start ()] initializes the inbox to track the messages being published. *) val start : unit -> unit Lwt.t -- GitLab From d9560d0f6d98423253b4e8c1506c1942078f15e3 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 4 Jul 2022 09:59:07 +0200 Subject: [PATCH 14/45] SCORU,Node: Fix a bug in the rollup PVM proof production We were overwriting the entire rollup node storage. Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/arith_pvm.ml | 2 +- src/proto_alpha/bin_sc_rollup_node/store.ml | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/arith_pvm.ml b/src/proto_alpha/bin_sc_rollup_node/arith_pvm.ml index a9a22768175c..1f594cf28986 100644 --- a/src/proto_alpha/bin_sc_rollup_node/arith_pvm.ml +++ b/src/proto_alpha/bin_sc_rollup_node/arith_pvm.ml @@ -57,7 +57,7 @@ module Arith_proof_format = struct let produce_proof context tree step = let open Lwt_syntax in - let* res = IStore.set_tree ~info:commit_info context [] tree in + let* res = IStore.set_tree ~info:commit_info context ["pvm_state"] tree in match res with | Error _ -> return None | Ok () -> ( diff --git a/src/proto_alpha/bin_sc_rollup_node/store.ml b/src/proto_alpha/bin_sc_rollup_node/store.ml index d465aee1983e..5308e51666cb 100644 --- a/src/proto_alpha/bin_sc_rollup_node/store.ml +++ b/src/proto_alpha/bin_sc_rollup_node/store.ml @@ -252,6 +252,11 @@ module Inbox = struct let produce_proof store tree f = let open Lwt_syntax in + (* TODO: #3381 + Since committing is required for proof production to work + properly, why isn't committing part of the process of proof + production? *) + let* _commit_key = commit store in match IStoreTree.kinded_key tree with | Some k -> let* p = IStoreProof.produce_tree_proof (IStore.repo store) k f in -- GitLab From 08bd629e2f654c4230da3d83d85276f20f5faeda Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 4 Jul 2022 10:03:37 +0200 Subject: [PATCH 15/45] Proto,SCORU: Improve inbox pretty printer Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/sc_rollup_inbox_repr.ml | 62 +++++++++++++------ 1 file changed, 43 insertions(+), 19 deletions(-) diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml index 48650858b1a2..32e3dcc5e6da 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml @@ -133,6 +133,13 @@ end module Skip_list = Skip_list_repr.Make (Skip_list_parameters) +let hash_skip_list_cell cell = + let current_level_hash = Skip_list.content cell in + let back_pointers_hashes = Skip_list.back_pointers cell in + Hash.to_bytes current_level_hash + :: List.map Hash.to_bytes back_pointers_hashes + |> Hash.hash_bytes + module V1 = struct type history_proof = (Hash.t, Hash.t) Skip_list.cell @@ -141,7 +148,15 @@ module V1 = struct let history_proof_encoding : history_proof Data_encoding.t = Skip_list.encoding Hash.encoding Hash.encoding - let pp_history_proof = Skip_list.pp ~pp_content:Hash.pp ~pp_ptr:Hash.pp + let pp_history_proof fmt history = + let history_hash = hash_skip_list_cell history in + Format.fprintf + fmt + "@[hash : %a@;%a@]" + Hash.pp + history_hash + (Skip_list.pp ~pp_content:Hash.pp ~pp_ptr:Hash.pp) + history (* @@ -221,15 +236,15 @@ module V1 = struct } = Format.fprintf fmt - {| - rollup = %a - level = %a - current messages hash = %a - nb_messages_in_commitment_period = %s - starting_level_of_current_commitment_period = %a - message_counter = %a - old_levels_messages = %a - |} + "@[{ rollup = %a@;\ + level = %a@;\ + current messages hash = %a@;\ + nb_available_messages = %Ld@;\ + nb_messages_in_commitment_period = %s@;\ + starting_level_of_current_commitment_period = %a@;\ + message_counter = %a@;\ + old_levels_messages = %a@;\ + }@]" Sc_rollup_repr.Address.pp rollup Raw_level_repr.pp @@ -519,13 +534,6 @@ struct Sc_rollup_inbox_message_repr.unsafe_of_string (Bytes.to_string bs)) bytes - let hash_skip_list_cell cell = - let current_level_hash = Skip_list.content cell in - let back_pointers_hashes = Skip_list.back_pointers cell in - Hash.to_bytes current_level_hash - :: List.map Hash.to_bytes back_pointers_hashes - |> Hash.hash_bytes - module Int64_map = Map.Make (Int64) type history = { @@ -557,16 +565,32 @@ struct let pp_history fmt history = Hash.Map.bindings history.events |> fun bindings -> + Int64_map.bindings history.sequence |> fun sequence_bindings -> let pp_binding fmt (hash, history_proof) = Format.fprintf fmt - "@[%a -> %a@]" + "@[%a -> %a@;@]" Hash.pp hash pp_history_proof history_proof in - Format.pp_print_list pp_binding fmt bindings + let pp_sequence_binding fmt (counter, hash) = + Format.fprintf fmt "@[%s -> %a@;@]" (Int64.to_string counter) Hash.pp hash + in + Format.fprintf + fmt + "@[History:@;\ + \ { bound: %s;@;\ + \ counter : %s;@;\ + \ bindings: %a;@;\ + \ sequence: %a; }@]" + (Int64.to_string history.bound) + (Int64.to_string history.counter) + (Format.pp_print_list pp_binding) + bindings + (Format.pp_print_list pp_sequence_binding) + sequence_bindings let history_at_genesis ~bound = {events = Hash.Map.empty; sequence = Int64_map.empty; bound; counter = 0L} -- GitLab From 3e943132a2c01be747af72f2b650772158783ba8 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Thu, 16 Jun 2022 09:24:03 +0200 Subject: [PATCH 16/45] Tezt,SCORU: Add an integration test for the refutation game logic Signed-off-by: Yann Regis-Gianas --- ...tegy of refutation games (inbox_proof).out | 430 ++++++++++++++++++ ...efutation games (inbox_proof_many_empt.out | 430 ++++++++++++++++++ ...efutation games (inbox_proof_one_empty.out | 430 ++++++++++++++++++ ...tegy of refutation games (pvm_proof_0).out | 430 ++++++++++++++++++ ...tegy of refutation games (pvm_proof_1).out | 430 ++++++++++++++++++ ...tegy of refutation games (pvm_proof_2).out | 307 +++++++++++++ ...tegy of refutation games (pvm_proof_3).out | 307 +++++++++++++ tezt/tests/sc_rollup.ml | 106 ++++- 8 files changed, 2865 insertions(+), 5 deletions(-) create mode 100644 tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out create mode 100644 tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_many_empt.out create mode 100644 tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_one_empty.out create mode 100644 tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_0).out create mode 100644 tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_1).out create mode 100644 tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_2).out create mode 100644 tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_3).out diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out new file mode 100644 index 000000000000..360878b6a776 --- /dev/null +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out @@ -0,0 +1,430 @@ + +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +Node is bootstrapped. +Estimated gas: 2509.140 units (will add 100 for safety) +Estimated storage: 6626 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000614 + Expected counter: 1 + Gas limit: 2610 + Storage limit: 6646 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000614 + payload fees(the block proposer) ....... +ꜩ0.000614 + Originate smart contract rollup of kind arith and type unit with boot sector '' + This smart contract rollup origination was successfully applied + Consumed gas: 2509.140 + Storage size: 6626 bytes + Address: [SC_ROLLUP_HASH] + Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ1.6565 + storage fees ........................... +ꜩ1.6565 + + +./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1653.895 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1754 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.023 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 5 + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.245 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.245 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 10 + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.324 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.324 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 15 + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.467 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 5 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.467 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 20 + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.531 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 6 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.531 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 25 + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 7 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 30 + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 8 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 35 + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.674 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 9 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.674 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 40 + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.738 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 10 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.738 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 45 + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.753 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 11 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.753 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 50 + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_many_empt.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_many_empt.out new file mode 100644 index 000000000000..65987382f656 --- /dev/null +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_many_empt.out @@ -0,0 +1,430 @@ + +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +Node is bootstrapped. +Estimated gas: 2509.140 units (will add 100 for safety) +Estimated storage: 6626 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000614 + Expected counter: 1 + Gas limit: 2610 + Storage limit: 6646 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000614 + payload fees(the block proposer) ....... +ꜩ0.000614 + Originate smart contract rollup of kind arith and type unit with boot sector '' + This smart contract rollup origination was successfully applied + Consumed gas: 2509.140 + Storage size: 6626 bytes + Address: [SC_ROLLUP_HASH] + Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ1.6565 + storage fees ........................... +ꜩ1.6565 + + +./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.023 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.023 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 6 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 5 + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.275 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.275 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 8 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 10 + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.339 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.339 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 10 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 15 + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.482 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 5 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.482 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 12 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 20 + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 6 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 14 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 25 + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 7 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 16 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 30 + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 8 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 18 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 35 + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.689 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 9 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.689 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 20 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 40 + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.753 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 10 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.753 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 22 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 45 + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.753 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 11 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.753 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 24 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 50 + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_one_empty.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_one_empty.out new file mode 100644 index 000000000000..963fd5db2f50 --- /dev/null +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_one_empty.out @@ -0,0 +1,430 @@ + +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +Node is bootstrapped. +Estimated gas: 2509.140 units (will add 100 for safety) +Estimated storage: 6626 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000614 + Expected counter: 1 + Gas limit: 2610 + Storage limit: 6646 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000614 + payload fees(the block proposer) ....... +ꜩ0.000614 + Originate smart contract rollup of kind arith and type unit with boot sector '' + This smart contract rollup origination was successfully applied + Consumed gas: 2509.140 + Storage size: 6626 bytes + Address: [SC_ROLLUP_HASH] + Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ1.6565 + storage fees ........................... +ꜩ1.6565 + + +./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.023 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.023 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 5 + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.260 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.260 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 6 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 10 + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.339 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.339 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 8 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 15 + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.467 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 5 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.467 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 10 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 20 + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 6 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 12 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 25 + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 7 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 14 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 30 + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 8 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 16 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 35 + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.674 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 9 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.674 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 18 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 40 + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.753 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 10 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.753 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 20 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 45 + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.753 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 11 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.753 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 22 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 50 + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_0).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_0).out new file mode 100644 index 000000000000..360878b6a776 --- /dev/null +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_0).out @@ -0,0 +1,430 @@ + +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +Node is bootstrapped. +Estimated gas: 2509.140 units (will add 100 for safety) +Estimated storage: 6626 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000614 + Expected counter: 1 + Gas limit: 2610 + Storage limit: 6646 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000614 + payload fees(the block proposer) ....... +ꜩ0.000614 + Originate smart contract rollup of kind arith and type unit with boot sector '' + This smart contract rollup origination was successfully applied + Consumed gas: 2509.140 + Storage size: 6626 bytes + Address: [SC_ROLLUP_HASH] + Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ1.6565 + storage fees ........................... +ꜩ1.6565 + + +./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1653.895 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1754 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.023 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 5 + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.245 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.245 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 10 + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.324 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.324 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 15 + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.467 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 5 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.467 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 20 + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.531 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 6 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.531 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 25 + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 7 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 30 + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 8 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 35 + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.674 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 9 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.674 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 40 + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.738 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 10 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.738 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 45 + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.753 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 11 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.753 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 50 + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_1).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_1).out new file mode 100644 index 000000000000..360878b6a776 --- /dev/null +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_1).out @@ -0,0 +1,430 @@ + +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +Node is bootstrapped. +Estimated gas: 2509.140 units (will add 100 for safety) +Estimated storage: 6626 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000614 + Expected counter: 1 + Gas limit: 2610 + Storage limit: 6646 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000614 + payload fees(the block proposer) ....... +ꜩ0.000614 + Originate smart contract rollup of kind arith and type unit with boot sector '' + This smart contract rollup origination was successfully applied + Consumed gas: 2509.140 + Storage size: 6626 bytes + Address: [SC_ROLLUP_HASH] + Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ1.6565 + storage fees ........................... +ꜩ1.6565 + + +./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1653.895 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1754 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.023 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 5 + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.245 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.245 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 10 + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.324 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.324 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 15 + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.467 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 5 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.467 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 20 + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.531 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 6 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.531 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 25 + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 7 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 30 + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 8 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 35 + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.674 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 9 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.674 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 40 + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.738 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 10 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.738 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 45 + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.753 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 11 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.753 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 50 + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_2).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_2).out new file mode 100644 index 000000000000..8c97c0f7164b --- /dev/null +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_2).out @@ -0,0 +1,307 @@ + +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +Node is bootstrapped. +Estimated gas: 2509.140 units (will add 100 for safety) +Estimated storage: 6626 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000614 + Expected counter: 1 + Gas limit: 2610 + Storage limit: 6646 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000614 + payload fees(the block proposer) ....... +ꜩ0.000614 + Originate smart contract rollup of kind arith and type unit with boot sector '' + This smart contract rollup origination was successfully applied + Consumed gas: 2509.140 + Storage size: 6626 bytes + Address: [SC_ROLLUP_HASH] + Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ1.6565 + storage fees ........................... +ꜩ1.6565 + + +./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1653.895 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1754 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.023 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 5 + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.245 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.245 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 10 + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.324 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.324 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 15 + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.467 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 5 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.467 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 20 + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.531 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 6 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.531 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 25 + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 7 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 30 + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 8 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 35 + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_3).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_3).out new file mode 100644 index 000000000000..4cddabbca6ff --- /dev/null +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_3).out @@ -0,0 +1,307 @@ + +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +Node is bootstrapped. +Estimated gas: 2509.140 units (will add 100 for safety) +Estimated storage: 6626 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000614 + Expected counter: 1 + Gas limit: 2610 + Storage limit: 6646 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000614 + payload fees(the block proposer) ....... +ꜩ0.000614 + Originate smart contract rollup of kind arith and type unit with boot sector '' + This smart contract rollup origination was successfully applied + Consumed gas: 2509.140 + Storage size: 6626 bytes + Address: [SC_ROLLUP_HASH] + Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ1.6565 + storage fees ........................... +ꜩ1.6565 + + +./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1653.895 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1754 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.023 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 5 + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.245 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.245 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 10 + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.324 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.324 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 15 + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.467 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 5 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.467 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 20 + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 6 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 25 + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 7 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 30 + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.546 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 8 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.546 + Resulting inbox state : { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_available_messages = 35 + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } + diff --git a/tezt/tests/sc_rollup.ml b/tezt/tests/sc_rollup.ml index bc6531344dc9..3a0daa2335a5 100644 --- a/tezt/tests/sc_rollup.ml +++ b/tezt/tests/sc_rollup.ml @@ -502,10 +502,7 @@ let send_messages ?batch_size n sc_rollup client = Lwt_list.iter_s (fun msg -> send_message client sc_rollup msg) messages let to_text_messages_arg msgs = - let text_messages = - List.map (fun msg -> Hex.of_string msg |> Hex.show) msgs - in - let json = Ezjsonm.list Ezjsonm.string text_messages in + let json = Ezjsonm.list Ezjsonm.string msgs in "text:" ^ Ezjsonm.to_string ~minify:true json let send_text_messages client sc_rollup msgs = @@ -1973,6 +1970,104 @@ let test_consecutive_commitments = in unit) +(* Refutation game scenarios + ------------------------- +*) + +(* + + To check the refutation game logic, we evaluate a scenario with one + honest rollup node and one dishonest rollup node configured as with + a given [loser_mode]. + + For a given sequence of [inputs], distributed amongst several + levels, with some possible [empty_levels]. We check that at some + [final_level], the crime does not pay: the dishonest node has losen + its deposit while the honest one has not. + +*) +let test_refutation_scenario ?commitment_period ?challenge_window variant + (loser_mode, inputs, final_level, empty_levels) = + test_scenario + ?commitment_period + ?challenge_window + { + tags = ["refutation"; "node"]; + variant; + description = "observing the winning strategy of refutation games"; + } + @@ fun _protocol sc_rollup_node sc_rollup_address node client -> + let bootstrap1_key = Constant.bootstrap1.public_key_hash in + let bootstrap2_key = Constant.bootstrap2.public_key_hash in + + let sc_rollup_node2 = + Sc_rollup_node.create node client ~operator_pkh:bootstrap2_key + in + let* _configuration_filename = + Sc_rollup_node.config_init ~loser_mode sc_rollup_node2 sc_rollup_address + in + let* () = Sc_rollup_node.run sc_rollup_node in + let* () = Sc_rollup_node.run sc_rollup_node2 in + + let* start_level = Client.level client in + + let rec consume_inputs i = function + | [] -> return () + | inputs :: next_batches as all -> + let level = start_level + i in + if List.mem level empty_levels then + let* () = Client.bake_for_and_wait client in + consume_inputs (i + 1) all + else + let* () = + Lwt_list.iter_s (send_text_messages client sc_rollup_address) inputs + in + let* () = Client.bake_for_and_wait client in + consume_inputs (i + 1) next_batches + in + let* () = consume_inputs 0 inputs in + let* () = bake_levels (final_level - List.length inputs) client in + + let*! honest_deposit = + RPC.Contracts.get_frozen_bonds ~contract_id:bootstrap1_key client + in + let*! loser_deposit = + RPC.Contracts.get_frozen_bonds ~contract_id:bootstrap2_key client + in + let* {stake_amount; _} = get_sc_rollup_constants client in + + Check.( + (JSON.as_int honest_deposit = Tez.to_mutez stake_amount) + int + ~error_msg:"expecting deposit for honest participant = %R, got %L") ; + Check.( + (JSON.as_int loser_deposit = 0) + int + ~error_msg:"expecting loss for dishonest participant = %R, got %L") ; + return () + +let rec swap i l = + if i <= 0 then l + else match l with [_] | [] -> l | x :: y :: l -> y :: swap (i - 1) (x :: l) + +let inputs_for n = + List.init n @@ fun i -> + [swap i ["3 3 +"; "1"; "1 1 x"; "3 7 8 + * y"; "2 2 out"]] + +let test_refutation protocols = + let challenge_window = 100 in + [ + ("inbox_proof", ("5 0 0", inputs_for 10, 30, [])); + ("inbox_proof_one_empty_level", ("6 0 0", inputs_for 10, 40, [2])); + ("inbox_proof_many_empty_levels", ("9 0 0", inputs_for 10, 40, [2; 3; 4])); + ("pvm_proof_0", ("5 0 1", inputs_for 10, 30, [])); + ("pvm_proof_1", ("7 1 2", inputs_for 10, 30, [])); + ("pvm_proof_2", ("7 2 5", inputs_for 7, 30, [])); + ("pvm_proof_3", ("9 2 5", inputs_for 7, 30, [4; 5])); + ] + |> List.iter (fun (variant, inputs) -> + test_refutation_scenario ~challenge_window variant inputs protocols) + let register ~protocols = test_origination protocols ; test_rollup_node_configuration protocols ; @@ -2023,4 +2118,5 @@ let register ~protocols = test_rollup_node_uses_boot_sector protocols ; test_rollup_client_show_address protocols ; test_rollup_client_generate_keys protocols ; - test_rollup_client_list_keys protocols + test_rollup_client_list_keys protocols ; + test_refutation protocols -- GitLab From 83cc172d4c5e024506b505cb6c68d07281e9e0d4 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 4 Jul 2022 16:00:58 +0200 Subject: [PATCH 17/45] Tezt,SCORU: Fix two protocol tests Signed-off-by: Yann Regis-Gianas --- .../test/pbt/test_refutation_game.ml | 18 ++++++++++++++++++ .../test/unit/test_sc_rollup_inbox.ml | 8 ++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/proto_alpha/lib_protocol/test/pbt/test_refutation_game.ml b/src/proto_alpha/lib_protocol/test/pbt/test_refutation_game.ml index caad73fc8998..73cd8732acd8 100644 --- a/src/proto_alpha/lib_protocol/test/pbt/test_refutation_game.ml +++ b/src/proto_alpha/lib_protocol/test/pbt/test_refutation_game.ml @@ -235,6 +235,8 @@ end) : TestPVM with type state = int = struct type state = int + let pp x = Lwt.return @@ fun fmt _ -> Format.pp_print_int fmt x + type hash = State_hash.t type context = unit @@ -304,6 +306,10 @@ end) : TestPVM with type state = int = struct let produce_output_proof _ _ _ = Stdlib.failwith "Dummy PVM can't handle output proof" + + module Internal_for_tests = struct + let insert_failure _ = Stdlib.failwith "Dummy PVM does not insert failures" + end end (** This is a random PVM. Its state is a pair of a string and a @@ -320,6 +326,14 @@ end) : TestPVM with type state = string * int list = struct type state = string * int list + let pp (s, xs) = + Lwt.return @@ fun fmt _ -> + Format.fprintf + fmt + "%s / %s" + s + (String.concat ":" @@ List.map string_of_int xs) + type context = unit type proof = dummy_proof @@ -399,6 +413,10 @@ end) : TestPVM with type state = string * int list = struct let produce_output_proof _ _ _ = Stdlib.failwith "Dummy PVM can't handle output proof" + + module Internal_for_tests = struct + let insert_failure _ = Stdlib.failwith "Dummy PVM does not insert failures" + end end module ContextPVM = ArithPVM.Make (struct diff --git a/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox.ml b/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox.ml index dd18010523c9..baee11e409bd 100644 --- a/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox.ml +++ b/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox.ml @@ -252,8 +252,12 @@ module Node = MakeHashingScheme (Tree) instances having the same encoding, and use this function to convert. *) let node_proof_to_protocol_proof p = - Data_encoding.Binary.( - to_bytes_exn Node.proof_encoding p |> of_bytes_exn proof_encoding) + let open Data_encoding.Binary in + let enc = serialized_proof_encoding in + let bytes = Node.to_serialized_proof p |> to_bytes_exn enc in + of_bytes_exn enc bytes |> of_serialized_proof |> function + | None -> assert false + | Some r -> r (** This is basically identical to {!setup_inbox_with_messages}, except that it uses the {!Node} instance instead of the protocol instance. *) -- GitLab From f20ae40fc25dc5c94496d52c1b003673198dcecd Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 4 Jul 2022 17:41:57 +0200 Subject: [PATCH 18/45] Proto,SCORU: Extract some toplevel functions from proof validation Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/sc_rollup_proof_repr.ml | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.ml b/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.ml index 878247d6cb3e..27852f366b43 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_proof_repr.ml @@ -80,30 +80,30 @@ let check p reason = let open Lwt_tzresult_syntax in if p then return () else proof_error reason +let check_inbox_proof snapshot serialized_inbox_proof (level, counter) = + match Sc_rollup_inbox_repr.of_serialized_proof serialized_inbox_proof with + | None -> return None + | Some inbox_proof -> + Sc_rollup_inbox_repr.verify_proof (level, counter) snapshot inbox_proof + +let pp_proof fmt serialized_inbox_proof = + match Sc_rollup_inbox_repr.of_serialized_proof serialized_inbox_proof with + | None -> Format.pp_print_string fmt "" + | Some proof -> Sc_rollup_inbox_repr.pp_proof fmt proof + let valid snapshot commit_level ~pvm_name proof = - let (module P) = Sc_rollups.wrapped_proof_module proof.pvm_step in let open Lwt_tzresult_syntax in + let (module P) = Sc_rollups.wrapped_proof_module proof.pvm_step in let* () = check (String.equal P.name pvm_name) "Incorrect PVM kind" in let input_requested = P.proof_input_requested P.proof in let input_given = P.proof_input_given P.proof in - let check_inbox_proof serialized_inbox_proof (level, counter) = - match Sc_rollup_inbox_repr.of_serialized_proof serialized_inbox_proof with - | None -> return None - | Some inbox_proof -> - Sc_rollup_inbox_repr.verify_proof (level, counter) snapshot inbox_proof - in - let pp_proof fmt serialized_inbox_proof = - match Sc_rollup_inbox_repr.of_serialized_proof serialized_inbox_proof with - | None -> Format.pp_print_string fmt "" - | Some proof -> Sc_rollup_inbox_repr.pp_proof fmt proof - in let* input = match (input_requested, proof.inbox) with | Sc_rollup_PVM_sem.No_input_required, None -> return None | Sc_rollup_PVM_sem.Initial, Some inbox_proof -> - check_inbox_proof inbox_proof (Raw_level_repr.root, Z.zero) + check_inbox_proof snapshot inbox_proof (Raw_level_repr.root, Z.zero) | Sc_rollup_PVM_sem.First_after (level, counter), Some inbox_proof -> - check_inbox_proof inbox_proof (level, Z.succ counter) + check_inbox_proof snapshot inbox_proof (level, Z.succ counter) | _ -> proof_error (Format.asprintf -- GitLab From c2e19847f932d0c5c3175335874bd6344925776a Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 6 Jul 2022 13:43:42 +0200 Subject: [PATCH 19/45] Tezt,SCORU: Add more tests for refutation logic Signed-off-by: Yann Regis-Gianas --- ...tegy of refutation games (inbox_proof).out | 364 +----------------- tezt/tests/sc_rollup.ml | 42 +- 2 files changed, 32 insertions(+), 374 deletions(-) diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out index 360878b6a776..9f4514adca37 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out @@ -63,368 +63,6 @@ This sequence of operations was run: old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] content = [SC_ROLLUP_INBOX_HASH] index = 1 - back_pointers = + back_pointers = [SC_ROLLUP_INBOX_HASH] } - - -./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' -Node is bootstrapped. -Estimated gas: 1654.245 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[OPERATION_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000494 - Expected counter: 3 - Gas limit: 1755 - Storage limit: 0 bytes - Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000494 - payload fees(the block proposer) ....... +ꜩ0.000494 - Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] - This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.245 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 10 - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 2 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } - - -./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' -Node is bootstrapped. -Estimated gas: 1654.324 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[OPERATION_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000494 - Expected counter: 4 - Gas limit: 1755 - Storage limit: 0 bytes - Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000494 - payload fees(the block proposer) ....... +ꜩ0.000494 - Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] - This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.324 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 7 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 15 - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 3 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } - - -./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' -Node is bootstrapped. -Estimated gas: 1654.467 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[OPERATION_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000494 - Expected counter: 5 - Gas limit: 1755 - Storage limit: 0 bytes - Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000494 - payload fees(the block proposer) ....... +ꜩ0.000494 - Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] - This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.467 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 9 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 20 - nb_messages_in_commitment_period = 20 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 4 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } - - -./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' -Node is bootstrapped. -Estimated gas: 1654.531 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[OPERATION_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000494 - Expected counter: 6 - Gas limit: 1755 - Storage limit: 0 bytes - Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000494 - payload fees(the block proposer) ....... +ꜩ0.000494 - Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] - This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.531 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 11 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 25 - nb_messages_in_commitment_period = 25 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 5 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } - - -./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' -Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[OPERATION_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000494 - Expected counter: 7 - Gas limit: 1755 - Storage limit: 0 bytes - Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000494 - payload fees(the block proposer) ....... +ꜩ0.000494 - Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] - This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 13 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 30 - nb_messages_in_commitment_period = 30 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 6 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } - - -./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' -Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[OPERATION_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000494 - Expected counter: 8 - Gas limit: 1755 - Storage limit: 0 bytes - Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000494 - payload fees(the block proposer) ....... +ꜩ0.000494 - Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] - This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 15 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 35 - nb_messages_in_commitment_period = 35 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 7 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } - - -./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' -Node is bootstrapped. -Estimated gas: 1654.674 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[OPERATION_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000494 - Expected counter: 9 - Gas limit: 1755 - Storage limit: 0 bytes - Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000494 - payload fees(the block proposer) ....... +ꜩ0.000494 - Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] - This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.674 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 17 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 40 - nb_messages_in_commitment_period = 40 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 8 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } - - -./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' -Node is bootstrapped. -Estimated gas: 1654.738 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[OPERATION_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000494 - Expected counter: 10 - Gas limit: 1755 - Storage limit: 0 bytes - Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000494 - payload fees(the block proposer) ....... +ꜩ0.000494 - Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] - This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.738 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 19 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 45 - nb_messages_in_commitment_period = 45 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 9 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } - - -./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' -Node is bootstrapped. -Estimated gas: 1654.753 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[OPERATION_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000494 - Expected counter: 11 - Gas limit: 1755 - Storage limit: 0 bytes - Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000494 - payload fees(the block proposer) ....... +ꜩ0.000494 - Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] - This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.753 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 21 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 50 - nb_messages_in_commitment_period = 50 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 10 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } - diff --git a/tezt/tests/sc_rollup.ml b/tezt/tests/sc_rollup.ml index 3a0daa2335a5..c9e25dacece0 100644 --- a/tezt/tests/sc_rollup.ml +++ b/tezt/tests/sc_rollup.ml @@ -1049,7 +1049,10 @@ let test_rollup_node_advances_pvm_state protocols = trying to publish a commitment. *) -let bake_levels n client = repeat n @@ fun () -> Client.bake_for_and_wait client +let bake_levels ?hook n client = + fold n () @@ fun i () -> + let* () = match hook with None -> return () | Some hook -> hook i in + Client.bake_for_and_wait client let check_eq_commitment (c1 : Sc_rollup_client.commitment) (c2 : Sc_rollup_client.commitment) = @@ -1987,7 +1990,7 @@ let test_consecutive_commitments = *) let test_refutation_scenario ?commitment_period ?challenge_window variant - (loser_mode, inputs, final_level, empty_levels) = + (loser_mode, inputs, final_level, empty_levels, stop_loser_at) = test_scenario ?commitment_period ?challenge_window @@ -2011,10 +2014,17 @@ let test_refutation_scenario ?commitment_period ?challenge_window variant let* start_level = Client.level client in + let stop_loser level = + if List.mem level stop_loser_at then + Sc_rollup_node.terminate sc_rollup_node2 + else return () + in + let rec consume_inputs i = function | [] -> return () | inputs :: next_batches as all -> let level = start_level + i in + let* () = stop_loser level in if List.mem level empty_levels then let* () = Client.bake_for_and_wait client in consume_inputs (i + 1) all @@ -2026,7 +2036,13 @@ let test_refutation_scenario ?commitment_period ?challenge_window variant consume_inputs (i + 1) next_batches in let* () = consume_inputs 0 inputs in - let* () = bake_levels (final_level - List.length inputs) client in + let* after_inputs_level = Client.level client in + + let hook i = + let level = after_inputs_level + i in + stop_loser level + in + let* () = bake_levels ~hook (final_level - List.length inputs) client in let*! honest_deposit = RPC.Contracts.get_frozen_bonds ~contract_id:bootstrap1_key client @@ -2055,15 +2071,19 @@ let inputs_for n = [swap i ["3 3 +"; "1"; "1 1 x"; "3 7 8 + * y"; "2 2 out"]] let test_refutation protocols = - let challenge_window = 100 in + let challenge_window = 10 in [ - ("inbox_proof", ("5 0 0", inputs_for 10, 30, [])); - ("inbox_proof_one_empty_level", ("6 0 0", inputs_for 10, 40, [2])); - ("inbox_proof_many_empty_levels", ("9 0 0", inputs_for 10, 40, [2; 3; 4])); - ("pvm_proof_0", ("5 0 1", inputs_for 10, 30, [])); - ("pvm_proof_1", ("7 1 2", inputs_for 10, 30, [])); - ("pvm_proof_2", ("7 2 5", inputs_for 7, 30, [])); - ("pvm_proof_3", ("9 2 5", inputs_for 7, 30, [4; 5])); + ("inbox_proof_at_genesis", ("3 0 0", inputs_for 10, 30, [], [])); + ("pvm_proof_at_genesis", ("3 0 1", inputs_for 10, 30, [], [])); + ("inbox_proof", ("5 0 0", inputs_for 10, 30, [], [])); + ("inbox_proof_one_empty_level", ("6 0 0", inputs_for 10, 40, [2], [])); + ( "inbox_proof_many_empty_levels", + ("9 0 0", inputs_for 10, 40, [2; 3; 4], []) ); + ("pvm_proof_0", ("5 0 1", inputs_for 10, 30, [], [])); + ("pvm_proof_1", ("7 1 2", inputs_for 10, 30, [], [])); + ("pvm_proof_2", ("7 2 5", inputs_for 7, 30, [], [])); + ("pvm_proof_3", ("9 2 5", inputs_for 7, 30, [4; 5], [])); + ("timeout", ("5 0 1", inputs_for 10, 40, [], [35])); ] |> List.iter (fun (variant, inputs) -> test_refutation_scenario ~challenge_window variant inputs protocols) -- GitLab From fd7656bcfd4ec12b5354267b1f54067f81eaafe1 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 6 Jul 2022 13:44:29 +0200 Subject: [PATCH 20/45] SCORU,Node: Use Hash.of_context_hash Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/store.ml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/store.ml b/src/proto_alpha/bin_sc_rollup_node/store.ml index 5308e51666cb..144775f33a41 100644 --- a/src/proto_alpha/bin_sc_rollup_node/store.ml +++ b/src/proto_alpha/bin_sc_rollup_node/store.ml @@ -232,8 +232,7 @@ module Inbox = struct | Error _ -> assert false let to_inbox_hash kinded_hash = - match kinded_hash with - | `Value h | `Node h -> Hash.of_bytes_exn (Context_hash.to_bytes h) + match kinded_hash with `Value h | `Node h -> Hash.of_context_hash h let from_inbox_hash inbox_hash = let ctxt_hash = Hash.to_context_hash inbox_hash in -- GitLab From f54ad8740a94d715b29714837914d5facaa7cd29 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 6 Jul 2022 13:45:01 +0200 Subject: [PATCH 21/45] Proto,SCORU: Fix a bug in the level of the genesis inboxes Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/inbox.ml | 5 +---- src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/inbox.ml b/src/proto_alpha/bin_sc_rollup_node/inbox.ml index 93ece02c600e..026bb4d0e546 100644 --- a/src/proto_alpha/bin_sc_rollup_node/inbox.ml +++ b/src/proto_alpha/bin_sc_rollup_node/inbox.ml @@ -59,10 +59,7 @@ module State = struct let block_level = Raw_level.of_int32_exn block_level in if Raw_level.(block_level <= node_ctxt.genesis_info.level) then let*! inbox = - Store.Inbox.empty - store - node_ctxt.rollup_address - node_ctxt.genesis_info.level + Store.Inbox.empty store node_ctxt.rollup_address Raw_level.root in return inbox else diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml index 32e3dcc5e6da..06f7426dc921 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml @@ -1198,7 +1198,7 @@ struct let empty context rollup level = let open Lwt_syntax in - let* initial_level = new_level_tree context level in + let* initial_level = new_level_tree context Raw_level_repr.root in let initial_hash = hash_level_tree initial_level in return { -- GitLab From 77c6c991cea163dbdadaefadbf3837a625d35eca Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 6 Jul 2022 13:45:25 +0200 Subject: [PATCH 22/45] SCORU,Node: Fix a bug in the rollup node interpreter Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/interpreter.ml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml index f6ea3c6f3640..75d87c529e24 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml @@ -138,7 +138,6 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct | _ -> return (input, failing_ticks) in let* state = PVM.set_input input state in - let* state = PVM.eval state in let* state, fuel, _tick, _failing_ticks = eval_until_input level message_index ~fuel tick failing_ticks state in -- GitLab From c68b9d4a62e8871fbed17f9afd0969fe51241e5f Mon Sep 17 00:00:00 2001 From: Valentin Chaboche Date: Mon, 11 Jul 2022 06:37:07 +0000 Subject: [PATCH 23/45] SCORU,Node: Improve code quality --- src/proto_alpha/bin_sc_rollup_node/loser_mode.ml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/loser_mode.ml b/src/proto_alpha/bin_sc_rollup_node/loser_mode.ml index 6a608eb07ee2..fd2dcc70ce05 100644 --- a/src/proto_alpha/bin_sc_rollup_node/loser_mode.ml +++ b/src/proto_alpha/bin_sc_rollup_node/loser_mode.ml @@ -37,12 +37,12 @@ let failure_encoding = (req "message_index" int31) (req "message_tick" int31)) -let compare_failure f1 f2 = +let compare_failure {level; message_index; message_tick} f2 = let open Compare.Int in - match compare f1.level f2.level with + match compare level f2.level with | 0 -> ( - match compare f1.message_index f2.message_index with - | 0 -> compare f1.message_tick f2.message_tick + match compare message_index f2.message_index with + | 0 -> compare message_tick f2.message_tick | n -> n) | n -> n -- GitLab From d433ddafd11041c74f970bc8468f1db3dc2fac22 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 11 Jul 2022 09:40:38 +0200 Subject: [PATCH 24/45] SCORU,Node: Rename eval_level into eval_block_inbox Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/interpreter.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml index 75d87c529e24..6df3c29c909f 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml @@ -143,7 +143,7 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct in return (state, fuel) - let eval_level ?fuel failures store hash state = + let eval_block_inbox ?fuel failures store hash state = let open Lwt_result_syntax in (* Obtain inbox and its messages for this block. *) let*! inbox = Store.Inboxes.find store hash in @@ -230,7 +230,7 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct in let* state, num_messages, inbox_level, _fuel = - eval_level node_ctxt.loser_mode store hash predecessor_state + eval_block_inbox node_ctxt.loser_mode store hash predecessor_state in (* Write final state to store. *) @@ -280,7 +280,7 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct let open Lwt_result_syntax in let* state = state_of_hash node_ctxt store predecessor_hash in let* state, _counter, _level, _fuel = - eval_level node_ctxt.loser_mode ~fuel:tick_distance store hash state + eval_block_inbox node_ctxt.loser_mode ~fuel:tick_distance store hash state in return state -- GitLab From 77c17ba2a1c9ad68bb61b013b84c97169f2a8410 Mon Sep 17 00:00:00 2001 From: Alain Mebsout Date: Mon, 11 Jul 2022 07:49:53 +0000 Subject: [PATCH 25/45] SCORU,Node: Improve code quality --- src/proto_alpha/bin_sc_rollup_node/layer1.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/layer1.ml b/src/proto_alpha/bin_sc_rollup_node/layer1.ml index a8b39c5a3aba..0d4dfc905faf 100644 --- a/src/proto_alpha/bin_sc_rollup_node/layer1.ml +++ b/src/proto_alpha/bin_sc_rollup_node/layer1.ml @@ -446,8 +446,8 @@ let mark_processed_head store head = State.mark_processed_head store head let last_processed_head_hash store = let open Lwt_syntax in - let* info = State.last_processed_head store in - Option.map_s (fun (Head {hash; _}) -> return hash) info + let+ info = State.last_processed_head store in + Option.map (fun (Head {hash; _}) -> hash) info (* We forget about the last seen heads that are not processed so that the rollup node can process them when restarted. Notice that this -- GitLab From 358cce937aab66e35b4b139dad35f273cac9842b Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 11 Jul 2022 10:52:43 +0200 Subject: [PATCH 26/45] SCORU,Node: Improve docstring of `run_until_tick` Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/interpreter.ml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml index 6df3c29c909f..f109dd880066 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml @@ -275,7 +275,9 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct let*! predecessor_hash = Layer1.predecessor store head in transition_pvm node_ctxt store predecessor_hash hash - (** [run_until_tick tick] *) + (** [run_until_tick node_ctxt store predecessor_hash hash + tick_distance] starts the evaluation of the inbox at block [hash] + for at most [tick_distance]. *) let run_until_tick node_ctxt store predecessor_hash hash tick_distance = let open Lwt_result_syntax in let* state = state_of_hash node_ctxt store predecessor_hash in @@ -285,8 +287,8 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct return state (** [state_of_tick node_ctxt store tick level] returns [Some (state, hash)] - for a given [tick] if this [tick] happened before - [level]. Otherwise, returns [None].*) + for a given [tick] if this [tick] happened before [level]. + Otherwise, returns [None].*) let state_of_tick node_ctxt store tick level = let open Lwt_result_syntax in let* closest_event = @@ -300,6 +302,13 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct let tick_distance = Sc_rollup.Tick.distance tick event.tick |> Z.to_int in + (* TODO: #3384 + We assume that [StateHistory] correctly stores enough + events to compute the state of any tick using + [run_until_tick]. In particular, this assumes that + [event.block_hash] is the block where the tick + happened. We should test that this is always true because + [state_of_tick] is a critical function. *) let* state = run_until_tick node_ctxt -- GitLab From 47aaa2de5f686b7d510e7808452fe2b4e71c2266 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 11 Jul 2022 10:53:50 +0200 Subject: [PATCH 27/45] SCORU,Node: Rename run_until_ticks into run_for_ticks Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/interpreter.ml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml index f109dd880066..b55986501a31 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml @@ -275,10 +275,10 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct let*! predecessor_hash = Layer1.predecessor store head in transition_pvm node_ctxt store predecessor_hash hash - (** [run_until_tick node_ctxt store predecessor_hash hash + (** [run_for_ticks node_ctxt store predecessor_hash hash tick_distance] starts the evaluation of the inbox at block [hash] for at most [tick_distance]. *) - let run_until_tick node_ctxt store predecessor_hash hash tick_distance = + let run_for_ticks node_ctxt store predecessor_hash hash tick_distance = let open Lwt_result_syntax in let* state = state_of_hash node_ctxt store predecessor_hash in let* state, _counter, _level, _fuel = @@ -305,12 +305,12 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct (* TODO: #3384 We assume that [StateHistory] correctly stores enough events to compute the state of any tick using - [run_until_tick]. In particular, this assumes that + [run_for_ticks]. In particular, this assumes that [event.block_hash] is the block where the tick happened. We should test that this is always true because [state_of_tick] is a critical function. *) let* state = - run_until_tick + run_for_ticks node_ctxt store event.predecessor_hash -- GitLab From 6817787dafc250462885d2f73e5ab8faaf9e5118 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 11 Jul 2022 15:57:37 +0200 Subject: [PATCH 28/45] Proto,SCORU: Add timeout_reached RPC to only use timeout when relevant Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/refutation_game.ml | 31 ++++++++++--- src/proto_alpha/lib_plugin/RPC.ml | 43 ++++++++++++++++++- .../lib_protocol/alpha_context.mli | 2 + .../lib_protocol/sc_rollup_game_repr.mli | 2 + 4 files changed, 72 insertions(+), 6 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml index 2c15cb23ba09..4e3cb92d50fe 100644 --- a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml +++ b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml @@ -287,13 +287,34 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct in return_unit - let play node_ctxt store (game, players) = + let timeout_reached head_block node_ctxt players = let open Lwt_result_syntax in - match turn node_ctxt game players with + let Node_context.{rollup_address; cctxt; _} = node_ctxt in + let* res = + Plugin.RPC.Sc_rollup.timeout_reached + cctxt + (cctxt#chain, head_block) + rollup_address + players + () + in + let open Sc_rollup.Game in + let index = Index.make (fst players) (snd players) in + let node_player = node_role node_ctxt index in + match res with + | Some player when not (player_equal node_player player) -> return_true + | None -> return_false + | Some _myself -> return_false + + let play head_block node_ctxt store game staker1 staker2 = + let open Lwt_result_syntax in + let players = (staker1, staker2) in + let index = Sc_rollup.Game.Index.make staker1 staker2 in + match turn node_ctxt game index with | Our_turn {opponent} -> play_next_move node_ctxt store game opponent - | Their_turn -> ( - let*! res = try_timeout node_ctxt players in - match res with Ok _ -> return_unit | Error _ -> return_unit) + | Their_turn -> + let* timeout_reached = timeout_reached head_block node_ctxt players in + unless timeout_reached @@ fun () -> try_timeout node_ctxt index let ongoing_game head_block node_ctxt = let Node_context.{rollup_address; cctxt; operator; _} = node_ctxt in diff --git a/src/proto_alpha/lib_plugin/RPC.ml b/src/proto_alpha/lib_plugin/RPC.ml index 4ef926e5a978..b9a99c262a46 100644 --- a/src/proto_alpha/lib_plugin/RPC.ml +++ b/src/proto_alpha/lib_plugin/RPC.ml @@ -1909,6 +1909,25 @@ module Sc_rollup = struct ~query ~output RPC_path.(path /: Sc_rollup.Address.rpc_arg / "conflicts") + + let timeout_reached = + let query = + let open RPC_query in + query (fun x y -> + Sc_rollup.Staker.(of_b58check_exn x, of_b58check_exn y)) + |+ field "staker1" RPC_arg.string "" (fun (x, _) -> + Format.asprintf "%a" Sc_rollup.Staker.pp x) + |+ field "staker2" RPC_arg.string "" (fun (_, x) -> + Format.asprintf "%a" Sc_rollup.Staker.pp x) + |> seal + in + let output = Data_encoding.option Sc_rollup.Game.player_encoding in + RPC_service.get_service + ~description: + "Returns whether the timeout is reached for the current player." + ~query + ~output + RPC_path.(path /: Sc_rollup.Address.rpc_arg / "timeout_reached") end let kind ctxt block sc_rollup_address = @@ -2011,6 +2030,18 @@ module Sc_rollup = struct rollup staker) + let register_timeout_reached () = + Registration.register1 + ~chunked:false + S.timeout_reached + (fun context rollup (staker1, staker2) () -> + let open Lwt_tzresult_syntax in + let index = Sc_rollup.Game.Index.make staker1 staker2 in + let*! res = Sc_rollup.Refutation_storage.timeout context rollup index in + match res with + | Ok (outcome, _context) -> return_some outcome.loser + | Error _ -> return_none) + let register () = register_kind () ; register_inbox () ; @@ -2022,7 +2053,8 @@ module Sc_rollup = struct register_dal_slot_subscriptions () ; register_root () ; register_ongoing_refutation_game () ; - register_conflicts () + register_conflicts () ; + register_timeout_reached () let list ctxt block = RPC_context.make_call0 S.root ctxt block () () @@ -2061,6 +2093,15 @@ module Sc_rollup = struct let conflicts ctxt block sc_rollup_address staker = RPC_context.make_call1 S.conflicts ctxt block sc_rollup_address staker + + let timeout_reached ctxt block sc_rollup_address staker1 staker2 = + RPC_context.make_call1 + S.timeout_reached + ctxt + block + sc_rollup_address + staker1 + staker2 end module Tx_rollup = struct diff --git a/src/proto_alpha/lib_protocol/alpha_context.mli b/src/proto_alpha/lib_protocol/alpha_context.mli index a9ff6f28b712..dfd52cdf5229 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.mli +++ b/src/proto_alpha/lib_protocol/alpha_context.mli @@ -3324,6 +3324,8 @@ module Sc_rollup : sig val player_equal : player -> player -> bool + val player_encoding : player Data_encoding.t + type dissection_chunk = {state_hash : State_hash.t option; tick : Tick.t} type t = { diff --git a/src/proto_alpha/lib_protocol/sc_rollup_game_repr.mli b/src/proto_alpha/lib_protocol/sc_rollup_game_repr.mli index 634c9d717256..13f2bc46ee90 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_game_repr.mli +++ b/src/proto_alpha/lib_protocol/sc_rollup_game_repr.mli @@ -194,6 +194,8 @@ module V1 : sig val player_equal : player -> player -> bool + val player_encoding : player Data_encoding.t + val pp : Format.formatter -> t -> unit end -- GitLab From 8f2e1c0aa341209e67d621ff10c5c7e0fa3dae7e Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 11 Jul 2022 15:59:58 +0200 Subject: [PATCH 29/45] SCORU,Node: Do not fail in case of concurrent refutation game launch Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/refutation_game.ml | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml index 4e3cb92d50fe..16ad7abff6d1 100644 --- a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml +++ b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml @@ -342,14 +342,27 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct operator () in - Option.iter_es (play_opening_move node_ctxt) (List.hd conflicts) + let*! res = + Option.iter_es (play_opening_move node_ctxt) (List.hd conflicts) + in + match res with + | Ok r -> return r + | Error + [ + Environment.Ecoproto_error + Sc_rollup_errors.Sc_rollup_game_already_started; + ] -> + (* The game may already be starting in the meantime. So we + ignore this error. *) + return_unit + | Error errs -> Lwt.return (Error errs) - let process (Layer1.Head {hash; level}) node_ctxt store = - let head_block = `Hash (hash, Int32.to_int level) in + let process (Layer1.Head {hash; _}) node_ctxt store = + let head_block = `Hash (hash, 0) in let open Lwt_result_syntax in let* res = ongoing_game head_block node_ctxt in match res with - | Some (game, alice, bob) -> - play node_ctxt store (game, Sc_rollup.Game.Index.make alice bob) + | Some (game, staker1, staker2) -> + play head_block node_ctxt store game staker1 staker2 | None -> start_game_if_conflict head_block node_ctxt end -- GitLab From 26613ae1a73cbec40045fa5268d911b18a014ade Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 12 Jul 2022 06:51:01 +0200 Subject: [PATCH 30/45] Tezt,SCORU: Fix a bug in a test about inbox Signed-off-by: Yann Regis-Gianas --- tezt/tests/sc_rollup.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tezt/tests/sc_rollup.ml b/tezt/tests/sc_rollup.ml index c9e25dacece0..ba73078c0450 100644 --- a/tezt/tests/sc_rollup.ml +++ b/tezt/tests/sc_rollup.ml @@ -656,7 +656,7 @@ let test_rollup_inbox_current_messages_hash = Check.((nb_available_messages = 0) int) ~error_msg:"0 messages expected in the inbox" in - let* expected = Sc_rollup_inbox.predict_current_messages_hash 2l [] in + let* expected = Sc_rollup_inbox.predict_current_messages_hash 0l [] in let () = Check.( (Inbox.Hash.to_b58check expected = pristine_hash) -- GitLab From 2c13c7af7723e0807396959dcada7a27a88303ba Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 12 Jul 2022 06:51:20 +0200 Subject: [PATCH 31/45] SCORU,Node: Improve docstrings Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/layer1.mli | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/layer1.mli b/src/proto_alpha/bin_sc_rollup_node/layer1.mli index 9ec0c8fa3d1e..e5821777d585 100644 --- a/src/proto_alpha/bin_sc_rollup_node/layer1.mli +++ b/src/proto_alpha/bin_sc_rollup_node/layer1.mli @@ -88,11 +88,13 @@ val current_head_hash : Store.t -> Block_hash.t option Lwt.t val current_level : Store.t -> int32 option Lwt.t (** [hash_of_level store level] returns the current block hash for a - given [level]. *) + given [level]. Raise [Invalid_argument] if [hash] does not belong + to [store]. *) val hash_of_level : Store.t -> int32 -> Block_hash.t Lwt.t (** [level_of_hash store hash] returns the level for a given block - [hash]. *) + [hash]. Raise [Invalid_argument] if [hash] does not belong to + [store]. *) val level_of_hash : Store.t -> Block_hash.t -> int32 Lwt.t (** [predecessor store head] returns the hash of the head's predecessor block] *) -- GitLab From 7ad06a3ce50111256a3b93973496ba5a76414e1a Mon Sep 17 00:00:00 2001 From: Alain Mebsout Date: Tue, 12 Jul 2022 05:19:37 +0000 Subject: [PATCH 32/45] Tezt,SCORU: Improve code quality --- tezt/tests/sc_rollup.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tezt/tests/sc_rollup.ml b/tezt/tests/sc_rollup.ml index ba73078c0450..767b9f346711 100644 --- a/tezt/tests/sc_rollup.ml +++ b/tezt/tests/sc_rollup.ml @@ -2009,8 +2009,8 @@ let test_refutation_scenario ?commitment_period ?challenge_window variant let* _configuration_filename = Sc_rollup_node.config_init ~loser_mode sc_rollup_node2 sc_rollup_address in - let* () = Sc_rollup_node.run sc_rollup_node in - let* () = Sc_rollup_node.run sc_rollup_node2 in + let* () = Sc_rollup_node.run sc_rollup_node + and* () = Sc_rollup_node.run sc_rollup_node2 in let* start_level = Client.level client in -- GitLab From 7bb6460c854e6c3c359d374f719cdc211104a27c Mon Sep 17 00:00:00 2001 From: Alain Mebsout Date: Tue, 12 Jul 2022 05:20:18 +0000 Subject: [PATCH 33/45] Tezt,SCORU: Use direct access to node level --- tezt/tests/sc_rollup.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tezt/tests/sc_rollup.ml b/tezt/tests/sc_rollup.ml index 767b9f346711..233745935e81 100644 --- a/tezt/tests/sc_rollup.ml +++ b/tezt/tests/sc_rollup.ml @@ -2012,7 +2012,7 @@ let test_refutation_scenario ?commitment_period ?challenge_window variant let* () = Sc_rollup_node.run sc_rollup_node and* () = Sc_rollup_node.run sc_rollup_node2 in - let* start_level = Client.level client in + let start_level = Node.get_level node in let stop_loser level = if List.mem level stop_loser_at then -- GitLab From 56500b83432b80c5553794bf3d0d785d6b2df7c7 Mon Sep 17 00:00:00 2001 From: Alain Mebsout Date: Tue, 12 Jul 2022 05:21:37 +0000 Subject: [PATCH 34/45] Proto,SCORU: Improve code quality Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/test/unit/test_sc_rollup_inbox.ml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox.ml b/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox.ml index baee11e409bd..7f68fba0bfd9 100644 --- a/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox.ml +++ b/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox.ml @@ -255,9 +255,8 @@ let node_proof_to_protocol_proof p = let open Data_encoding.Binary in let enc = serialized_proof_encoding in let bytes = Node.to_serialized_proof p |> to_bytes_exn enc in - of_bytes_exn enc bytes |> of_serialized_proof |> function - | None -> assert false - | Some r -> r + of_bytes_exn enc bytes |> of_serialized_proof + |> WithExceptions.Option.get ~loc:__LOC__ (** This is basically identical to {!setup_inbox_with_messages}, except that it uses the {!Node} instance instead of the protocol instance. *) @@ -403,7 +402,9 @@ let test_empty_inbox_proof (level, n) = let* history, history_proof = Node.form_history_proof ctxt history inbox None in - let* result = Node.produce_proof ctxt history history_proof (level, n) in + let* result = + Node.produce_proof ctxt history history_proof (Raw_level_repr.root, n) + in match result with | Ok (proof, input) -> ( (* We now switch to a protocol inbox for verification. *) @@ -412,7 +413,9 @@ let test_empty_inbox_proof (level, n) = let* inbox = empty ctxt rollup level in let snapshot = take_snapshot inbox in let proof = node_proof_to_protocol_proof proof in - let* verification = verify_proof (level, n) snapshot proof in + let* verification = + verify_proof (Raw_level_repr.root, n) snapshot proof + in match verification with | Ok v_input -> fail_unless -- GitLab From 118a0efeba3e6862aea96d01238d98ddd6b312f5 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 12 Jul 2022 08:02:25 +0200 Subject: [PATCH 35/45] Proto,SCORU: Fix typing errors Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/refutation_game.ml | 4 ++-- src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml index 16ad7abff6d1..2981f5d91de2 100644 --- a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml +++ b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml @@ -114,8 +114,8 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct let generate_proof node_ctxt store game start_state = let open Lwt_result_syntax in let*! hash = Layer1.hash_of_level store (Raw_level.to_int32 game.level) in - let*! history = Inbox.history_of_hash store hash in - let*! inbox = Inbox.inbox_of_hash node_ctxt store hash in + let* history = Inbox.history_of_hash node_ctxt store hash in + let* inbox = Inbox.inbox_of_hash node_ctxt store hash in let*! messages_tree = Inbox.find_message_tree store hash in let*! history, history_proof = Store.Inbox.form_history_proof store history inbox messages_tree diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml index 06f7426dc921..604a104b0ed9 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml @@ -239,7 +239,6 @@ module V1 = struct "@[{ rollup = %a@;\ level = %a@;\ current messages hash = %a@;\ - nb_available_messages = %Ld@;\ nb_messages_in_commitment_period = %s@;\ starting_level_of_current_commitment_period = %a@;\ message_counter = %a@;\ -- GitLab From 4f633ae614fb69133c5eda7ea1ff820d01816a24 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 12 Jul 2022 19:55:12 +0200 Subject: [PATCH 36/45] Proto,SCORU: Fix a bug of the arith PVM Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/sc_rollup_arith.ml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/proto_alpha/lib_protocol/sc_rollup_arith.ml b/src/proto_alpha/lib_protocol/sc_rollup_arith.ml index eaea1de3587a..c9d93a38836b 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_arith.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_arith.ml @@ -838,6 +838,15 @@ module Make (Context : P) : let get_is_stuck = result_of ~default:None @@ is_stuck + let start_parsing : unit t = + let open Monad.Syntax in + let* () = Status.set Parsing in + let* () = ParsingResult.set None in + let* () = ParserState.set SkipLayout in + let* () = LexerState.set (0, 0) in + let* () = Code.clear in + return () + let set_input_monadic {PS.inbox_level; message_counter; payload} = let open Monad.Syntax in let payload = @@ -856,6 +865,7 @@ module Make (Context : P) : let* () = CurrentLevel.set inbox_level in let* () = MessageCounter.set (Some message_counter) in let* () = NextMessage.set (Some msg) in + let* () = start_parsing in return () | None -> let* () = CurrentLevel.set inbox_level in @@ -907,15 +917,6 @@ module Make (Context : P) : let* s = lexeme in Code.inject (IStore s) - let start_parsing : unit t = - let open Monad.Syntax in - let* () = Status.set Parsing in - let* () = ParsingResult.set None in - let* () = ParserState.set SkipLayout in - let* () = LexerState.set (0, 0) in - let* () = Code.clear in - return () - let start_evaluating : unit t = let open Monad.Syntax in let* () = Status.set Evaluating in -- GitLab From 0b7a36bb458a354594684d2fab65bcd6112cb2aa Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 13 Jul 2022 08:17:48 +0200 Subject: [PATCH 37/45] SCORU,Node: Work around the absence of injector Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/refutation_game.ml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml index 2981f5d91de2..ad9f604953a3 100644 --- a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml +++ b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml @@ -248,12 +248,25 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct if Z.(equal chosen_section_len one) then final_move choice else return {choice; step = Dissection dissection} + let try_ f = + let open Lwt_result_syntax in + let*! _res = f () in + return_unit + let play_next_move node_ctxt store game opponent = let open Lwt_result_syntax in let* refutation = next_move node_ctxt store game in + (* FIXME: #3008 + + We currently do not remember that we already have + injected a refutation move but it is not included yet. + Hence, we ignore errors here temporarily, waiting for + the injector to enter the scene. + *) + try_ @@ fun () -> inject_next_move node_ctxt ~refutation:(Some refutation) ~opponent - let try_timeout node_ctxt players = + let play_timeout node_ctxt players = let Sc_rollup.Game.Index.{alice; bob} = players in let open Node_context in let open Lwt_result_syntax in @@ -314,7 +327,8 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct | Our_turn {opponent} -> play_next_move node_ctxt store game opponent | Their_turn -> let* timeout_reached = timeout_reached head_block node_ctxt players in - unless timeout_reached @@ fun () -> try_timeout node_ctxt index + unless timeout_reached @@ fun () -> + try_ @@ fun () -> play_timeout node_ctxt index let ongoing_game head_block node_ctxt = let Node_context.{rollup_address; cctxt; operator; _} = node_ctxt in -- GitLab From 961323dd4357ffcc491581e4c3a14745c516f0a6 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 13 Jul 2022 08:55:11 +0200 Subject: [PATCH 38/45] SCORU,Node: Ensure cementing is possible before injecting the op Signed-off-by: Yann Regis-Gianas --- .../bin_sc_rollup_node/commitment.ml | 23 +++++++++-- src/proto_alpha/lib_plugin/RPC.ml | 41 ++++++++++++++++++- 2 files changed, 60 insertions(+), 4 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/commitment.ml b/src/proto_alpha/bin_sc_rollup_node/commitment.ml index bcdb68176cbc..f792d70547d8 100644 --- a/src/proto_alpha/bin_sc_rollup_node/commitment.ml +++ b/src/proto_alpha/bin_sc_rollup_node/commitment.ml @@ -362,8 +362,18 @@ module Make (PVM : Pvm.S) : Commitment_sig.S with module PVM = PVM = struct (Raw_level.to_int32 published_at_level) (sc_rollup_challenge_window node_ctxt) - let can_be_cemented earliest_cementing_level head_level = - earliest_cementing_level <= head_level + let can_be_cemented node_ctxt earliest_cementing_level head_level + commitment_hash = + let {Node_context.cctxt; rollup_address; _} = node_ctxt in + let open Lwt_result_syntax in + if earliest_cementing_level <= head_level then + Plugin.RPC.Sc_rollup.can_be_cemented + cctxt + (cctxt#chain, cctxt#block) + rollup_address + commitment_hash + () + else return_false let cement_commitment ({Node_context.cctxt; rollup_address; _} as node_ctxt) ({Sc_rollup.Commitment.inbox_level; _} as commitment) commitment_hash @@ -431,7 +441,14 @@ module Make (PVM : Pvm.S) : Commitment_sig.S with module PVM = PVM = struct has previously published `commitment`, which means that the rollup is indirectly staked on it. *) | Some earliest_cementing_level -> - if can_be_cemented earliest_cementing_level head_level then + let* green_flag = + can_be_cemented + node_ctxt + earliest_cementing_level + head_level + commitment_hash + in + if green_flag then cement_commitment node_ctxt commitment commitment_hash store else return () | None -> return ()) diff --git a/src/proto_alpha/lib_plugin/RPC.ml b/src/proto_alpha/lib_plugin/RPC.ml index b9a99c262a46..306e5fbd0ecb 100644 --- a/src/proto_alpha/lib_plugin/RPC.ml +++ b/src/proto_alpha/lib_plugin/RPC.ml @@ -1928,6 +1928,22 @@ module Sc_rollup = struct ~query ~output RPC_path.(path /: Sc_rollup.Address.rpc_arg / "timeout_reached") + + let can_be_cemented = + let query = + let open RPC_query in + query Sc_rollup.Commitment.Hash.of_b58check_exn + |+ field "commitment" RPC_arg.string "" (fun x -> + Format.asprintf "%a" Sc_rollup.Commitment.Hash.pp x) + |> seal + in + let output = Data_encoding.bool in + RPC_service.get_service + ~description: + "Returns true if and only if the provided commitment can be cemented." + ~query + ~output + RPC_path.(path /: Sc_rollup.Address.rpc_arg / "can_be_cemented") end let kind ctxt block sc_rollup_address = @@ -2042,6 +2058,20 @@ module Sc_rollup = struct | Ok (outcome, _context) -> return_some outcome.loser | Error _ -> return_none) + let register_can_be_cemented () = + Registration.register1 + ~chunked:false + S.can_be_cemented + (fun context rollup commitment_hash () -> + let open Lwt_tzresult_syntax in + let*! res = + Sc_rollup.Stake_storage.cement_commitment + context + rollup + commitment_hash + in + match res with Ok _context -> return_true | Error _ -> return_false) + let register () = register_kind () ; register_inbox () ; @@ -2054,7 +2084,8 @@ module Sc_rollup = struct register_root () ; register_ongoing_refutation_game () ; register_conflicts () ; - register_timeout_reached () + register_timeout_reached () ; + register_can_be_cemented () let list ctxt block = RPC_context.make_call0 S.root ctxt block () () @@ -2102,6 +2133,14 @@ module Sc_rollup = struct sc_rollup_address staker1 staker2 + + let can_be_cemented ctxt block sc_rollup_address commitment_hash = + RPC_context.make_call1 + S.can_be_cemented + ctxt + block + sc_rollup_address + commitment_hash end module Tx_rollup = struct -- GitLab From d770308350894a6a8fc3be1fc8cfd4ad5bc575bc Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 13 Jul 2022 09:15:00 +0200 Subject: [PATCH 39/45] Tezt,SCORU: Use custom refutation timeout in tezt Signed-off-by: Yann Regis-Gianas --- tezt/tests/sc_rollup.ml | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/tezt/tests/sc_rollup.ml b/tezt/tests/sc_rollup.ml index 233745935e81..7189103118c9 100644 --- a/tezt/tests/sc_rollup.ml +++ b/tezt/tests/sc_rollup.ml @@ -108,10 +108,11 @@ let regression_test ~__FILE__ ?(tags = []) title f = let tags = "sc_rollup" :: tags in Protocol.register_regression_test ~__FILE__ ~title ~tags f -let setup ?commitment_period ?challenge_window f ~protocol = +let setup ?commitment_period ?challenge_window ?timeout f ~protocol = let parameters = make_parameter "sc_rollup_commitment_period_in_blocks" commitment_period @ make_parameter "sc_rollup_challenge_window_in_blocks" challenge_window + @ make_parameter "sc_rollup_timeout_period_in_blocks" timeout @ [(["sc_rollup_enable"], Some "true")] in let base = Either.right (protocol, None) in @@ -167,7 +168,7 @@ let with_fresh_rollup f tezos_node tezos_client bootstrap1_key = (* TODO: https://gitlab.com/tezos/tezos/-/issues/2933 Many tests can be refactored using test_scenario. *) -let test_scenario ?commitment_period ?challenge_window +let test_scenario ?commitment_period ?challenge_window ?timeout {variant; tags; description} scenario = let tags = tags @ [variant] in regression_test @@ -175,7 +176,8 @@ let test_scenario ?commitment_period ?challenge_window ~tags (Printf.sprintf "%s (%s)" description variant) (fun protocol -> - setup ?commitment_period ?challenge_window ~protocol @@ fun node client -> + setup ?commitment_period ?challenge_window ?timeout ~protocol + @@ fun node client -> ( with_fresh_rollup @@ fun sc_rollup sc_rollup_node _filename -> scenario protocol sc_rollup_node sc_rollup node client ) node @@ -1993,6 +1995,7 @@ let test_refutation_scenario ?commitment_period ?challenge_window variant (loser_mode, inputs, final_level, empty_levels, stop_loser_at) = test_scenario ?commitment_period + ~timeout:10 ?challenge_window { tags = ["refutation"; "node"]; @@ -2073,17 +2076,17 @@ let inputs_for n = let test_refutation protocols = let challenge_window = 10 in [ - ("inbox_proof_at_genesis", ("3 0 0", inputs_for 10, 30, [], [])); - ("pvm_proof_at_genesis", ("3 0 1", inputs_for 10, 30, [], [])); - ("inbox_proof", ("5 0 0", inputs_for 10, 30, [], [])); - ("inbox_proof_one_empty_level", ("6 0 0", inputs_for 10, 40, [2], [])); + ("inbox_proof_at_genesis", ("3 0 0", inputs_for 10, 80, [], [])); + ("pvm_proof_at_genesis", ("3 0 1", inputs_for 10, 80, [], [])); + ("inbox_proof", ("5 0 0", inputs_for 10, 80, [], [])); + ("inbox_proof_one_empty_level", ("6 0 0", inputs_for 10, 80, [2], [])); ( "inbox_proof_many_empty_levels", - ("9 0 0", inputs_for 10, 40, [2; 3; 4], []) ); - ("pvm_proof_0", ("5 0 1", inputs_for 10, 30, [], [])); - ("pvm_proof_1", ("7 1 2", inputs_for 10, 30, [], [])); - ("pvm_proof_2", ("7 2 5", inputs_for 7, 30, [], [])); - ("pvm_proof_3", ("9 2 5", inputs_for 7, 30, [4; 5], [])); - ("timeout", ("5 0 1", inputs_for 10, 40, [], [35])); + ("9 0 0", inputs_for 10, 80, [2; 3; 4], []) ); + ("pvm_proof_0", ("5 0 1", inputs_for 10, 80, [], [])); + ("pvm_proof_1", ("7 1 2", inputs_for 10, 80, [], [])); + ("pvm_proof_2", ("7 2 5", inputs_for 7, 80, [], [])); + ("pvm_proof_3", ("9 2 5", inputs_for 7, 80, [4; 5], [])); + ("timeout", ("5 0 1", inputs_for 10, 80, [], [35])); ] |> List.iter (fun (variant, inputs) -> test_refutation_scenario ~challenge_window variant inputs protocols) -- GitLab From 137e4b4ac7aee03a9c973a1ab0c7f9055357dc11 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 4 Jul 2022 14:27:48 +0200 Subject: [PATCH 40/45] Tezt,SCORU: Update regression traces Signed-off-by: Yann Regis-Gianas Tezt,SCORU: Update regression traces Signed-off-by: Yann Regis-Gianas --- .../Alpha- ensure boot sector is used.out | 64 +- ...ances PVM state with internal messages.out | 76 +- ... node advances PVM state with messages.out | 294 +++---- ...ommitments in the rollup node (commitm.out | 736 +++++++++--------- ...ommitments in the rollup node (handles.out | 18 +- ...ommitments in the rollup node (message.out | 732 ++++++++--------- ...ommitments in the rollup node (node_us.out | 346 ++++---- ...ommitments in the rollup node (non_fin.out | 728 ++++++++--------- ...ce of inbox in the rollup node (basic).out | 38 +- ...f inbox in the rollup node (handles_ch.out | 78 +- ...ce of inbox in the rollup node (stops).out | 80 +- ...tegy of refutation games (inbox_proof).out | 418 +++++++++- ...efutation games (inbox_proof_at_genesi.out | 430 ++++++++++ ...efutation games (inbox_proof_many_empt.out | 366 ++++----- ...efutation games (inbox_proof_one_empty.out | 366 ++++----- ...tegy of refutation games (pvm_proof_0).out | 364 ++++----- ...tegy of refutation games (pvm_proof_1).out | 364 ++++----- ...tegy of refutation games (pvm_proof_2).out | 256 +++--- ...tegy of refutation games (pvm_proof_3).out | 256 +++--- ...efutation games (pvm_proof_at_genesis).out | 430 ++++++++++ ...strategy of refutation games (timeout).out | 430 ++++++++++ ...ssages in the inbox - check inbox size.out | 218 +++--- ...s in the inbox - current messages hash.out | 38 +- 23 files changed, 4389 insertions(+), 2737 deletions(-) create mode 100644 tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_at_genesi.out create mode 100644 tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_at_genesis).out create mode 100644 tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (timeout).out diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- ensure boot sector is used.out b/tezt/tests/expected/sc_rollup.ml/Alpha- ensure boot sector is used.out index a37f6d0161d5..164491fbf207 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- ensure boot sector is used.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- ensure boot sector is used.out @@ -34,9 +34,9 @@ This sequence of operations was run: { "level": 2, "commitment_hash": "[SC_ROLLUP_COMMITMENT_HASH]" } -./tezos-client --wait none send sc rollup message 'text:["3130202b"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +./tezos-client --wait none send sc rollup message 'text:["10 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1651.650 units (will add 100 for safety) +Estimated gas: 1651.582 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -47,33 +47,33 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000457 + Fee to the baker: ꜩ0.000453 Expected counter: 2 Gas limit: 1752 Storage limit: 0 bytes Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000457 - payload fees(the block proposer) ....... +ꜩ0.000457 + [PUBLIC_KEY_HASH] ... -ꜩ0.000453 + payload fees(the block proposer) ....... +ꜩ0.000453 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1651.778 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Consumed gas: 1651.710 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11h9A7VAzxxEkEW6ufnfbPnu717o4mc6hagzqvPLhLvHcXyRQVA" +"scs1371W53YVrt8USjs6PafacnNV6ZoFr4VjvyKP9UYszqdg5v4ZC7" ./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type string booting with 31 --burn-cap 9999999 Node is bootstrapped. @@ -110,9 +110,9 @@ This sequence of operations was run: { "level": 4, "commitment_hash": "[SC_ROLLUP_COMMITMENT_HASH]" } -./tezos-client --wait none send sc rollup message 'text:["3130202b"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +./tezos-client --wait none send sc rollup message 'text:["10 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1651.650 units (will add 100 for safety) +Estimated gas: 1651.582 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -123,30 +123,30 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000457 + Fee to the baker: ꜩ0.000453 Expected counter: 4 Gas limit: 1752 Storage limit: 0 bytes Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000457 - payload fees(the block proposer) ....... +ꜩ0.000457 + [PUBLIC_KEY_HASH] ... -ꜩ0.000453 + payload fees(the block proposer) ....... +ꜩ0.000453 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1651.778 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 4 - message_counter = 1 - old_levels_messages = + Consumed gas: 1651.710 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 4 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11zAjtdXYn7FZqG98exo3UKpcF7NcXSDXdGDZX8mvyoeVUNx7U8" +"scs133L8aujCeqJqKx57baw8LMN3CJM6iPTU1tdV72Y171fZpuofKV" diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with internal messages.out b/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with internal messages.out index d46f9bc61379..d146e28fad43 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with internal messages.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with internal messages.out @@ -44,142 +44,142 @@ This sequence of operations was run: "\000\000\000\007" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs139EB5Ny4fma7o6nS9mGauvHFbwpfvsJijBU4tNjEr9QZ8ZJWQd" +"scs12qBnDaws8qffw6QDktoXqyVnQqsB7ZYta9AeumRrJu46uEXa8s" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"19" +"18" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs139EB5Ny4fma7o6nS9mGauvHFbwpfvsJijBU4tNjEr9QZ8ZJWQd" +"scs12qBnDaws8qffw6QDktoXqyVnQqsB7ZYta9AeumRrJu46uEXa8s" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"19" +"18" ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\n" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12UMx1ykNkh7mGwph7oc47aPAYSZfSdx6E6gqHdNuD3fWoY5z7V" +"scs132JyuMz3CnpXF3jbe2nJdJ4CbLnwGfUdpwRf9H14oKbLGf6gXY" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"37" +"35" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12UMx1ykNkh7mGwph7oc47aPAYSZfSdx6E6gqHdNuD3fWoY5z7V" +"scs132JyuMz3CnpXF3jbe2nJdJ4CbLnwGfUdpwRf9H14oKbLGf6gXY" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"37" +"35" ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\r" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12ssnuPLi7HmVNDsZmAn38HQHQ3Yy7M8iqxALseKWEZjhetGdQj" +"scs13LToVZYSTBF7YCWecXYN2PnbPa1YykGn9k4R5His735aYYqFZ9" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"56" +"53" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12ssnuPLi7HmVNDsZmAn38HQHQ3Yy7M8iqxALseKWEZjhetGdQj" +"scs13LToVZYSTBF7YCWecXYN2PnbPa1YykGn9k4R5His735aYYqFZ9" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"56" +"53" ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\016" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11bU88Xg7RJhWwcd6xjATkP9KxurEXizBzGm99Y7f1AuwHSwMFr" +"scs13GPvXsed8QkXQ6BdyqaED7ySSNJyAN8J8c318DpKCUwngmemeX" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"75" +"71" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11bU88Xg7RJhWwcd6xjATkP9KxurEXizBzGm99Y7f1AuwHSwMFr" +"scs13GPvXsed8QkXQ6BdyqaED7ySSNJyAN8J8c318DpKCUwngmemeX" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"75" +"71" ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\019" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11deEDoFvXGQjSLah1h2N13p1PJTVQNqm1qxaSHUhX9HnZGK3wZ" +"scs11fsCtryeBMasKPzudhJLnMPMHC1amn2HR88wCvnLcmrUxBcJg2" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"94" +"89" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11deEDoFvXGQjSLah1h2N13p1PJTVQNqm1qxaSHUhX9HnZGK3wZ" +"scs11fsCtryeBMasKPzudhJLnMPMHC1amn2HR88wCvnLcmrUxBcJg2" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"94" +"89" ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\022" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13DumkywYF7EtycrHEqToSzBFnYBvJeTA2XUZySvttgXzWWP14d" +"scs13PsZc2DSGRhRrdZKHT9wpeLhLrYN5dkD9XZDPu3mYzPd3N8Piu" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"113" +"107" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13DumkywYF7EtycrHEqToSzBFnYBvJeTA2XUZySvttgXzWWP14d" +"scs13PsZc2DSGRhRrdZKHT9wpeLhLrYN5dkD9XZDPu3mYzPd3N8Piu" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"113" +"107" ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\025" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13RfGYbA1saxvGJMLCySU3tja9MNaqG4CRiWofbCuFiwNofAFCt" +"scs12CNZfYDyBvihucTXbD3TLou8WQn55Zk1DrRnLPLHw51Umiku8J" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"132" +"125" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13RfGYbA1saxvGJMLCySU3tja9MNaqG4CRiWofbCuFiwNofAFCt" +"scs12CNZfYDyBvihucTXbD3TLou8WQn55Zk1DrRnLPLHw51Umiku8J" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"132" +"125" ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\028" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11vJrzpmNeM3aydKLFC8LN2qzEiLPDW1hYUAWb9aFXKyveoZHGM" +"scs137sVeLTakoSaACKmjZ77uisWL7LBFQmG57mDLfwZUp6ZqMtYgS" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"151" +"143" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11vJrzpmNeM3aydKLFC8LN2qzEiLPDW1hYUAWb9aFXKyveoZHGM" +"scs137sVeLTakoSaACKmjZ77uisWL7LBFQmG57mDLfwZUp6ZqMtYgS" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"151" +"143" ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\031" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11daEh8MqwPhDawd8n5frMeRhoASh46rnJYNvFz2eSWiVeUfYwS" +"scs11d3KpHobBBVEH5j4xgC3myHPf8sffSvUZWLHVZH7ZcoqGh41A8" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"170" +"161" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11daEh8MqwPhDawd8n5frMeRhoASh46rnJYNvFz2eSWiVeUfYwS" +"scs11d3KpHobBBVEH5j4xgC3myHPf8sffSvUZWLHVZH7ZcoqGh41A8" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"170" +"161" ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\"" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12P2MF8NUnH7BrSuRCuSjpBcYpL3ZGJwwm6N3WYkBxvbbwGhdtz" +"scs11ZmqpAH3wWYnySzqDFUPU8KL1nNSb8gBx4sBwkU9f11FWtAK22" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"190" +"180" diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with messages.out b/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with messages.out index ccc952ab887d..1d93df629d52 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with messages.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with messages.out @@ -63,35 +63,35 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1651.829 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\007" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11brdXnUqwwkqChBy8JsHPVzsS3b6YU9i1PpLczV3tCSnjkTYd1" +"scs13CGfXJuhF7NnAKY7v3TBokPphzCEYPE5n14UHDnpTAMTAC7GzC" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"19" +"18" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11brdXnUqwwkqChBy8JsHPVzsS3b6YU9i1PpLczV3tCSnjkTYd1" +"scs13CGfXJuhF7NnAKY7v3TBokPphzCEYPE5n14UHDnpTAMTAC7GzC" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"19" +"18" ./tezos-client --wait none send sc rollup message '["2 8 + value"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. @@ -116,36 +116,36 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.051 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 2 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 2 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 2 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\n" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12Tgfr71PpKXJqDp8yXnohfSYoTT57KeRMEi1YacXtRyyvMxjZ4" +"scs12BVD7ers632i9FZGzaeT4Zt9jQi13guYDh7yb5HFipfVc13wku" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"37" +"35" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12Tgfr71PpKXJqDp8yXnohfSYoTT57KeRMEi1YacXtRyyvMxjZ4" +"scs12BVD7ers632i9FZGzaeT4Zt9jQi13guYDh7yb5HFipfVc13wku" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"37" +"35" ./tezos-client --wait none send sc rollup message '["3 10 + value"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. @@ -170,36 +170,36 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.147 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 3 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 3 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 3 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\r" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13M1yuX6NMTpdqWgYMx1uAtaLpiCgQAgXK2n93iua2LjfGajSiT" +"scs12nXMLncCoT9SGzJX8CwUEG4D1myYhKGYBY6eGvtPrjwqooCovf" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"56" +"53" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13M1yuX6NMTpdqWgYMx1uAtaLpiCgQAgXK2n93iua2LjfGajSiT" +"scs12nXMLncCoT9SGzJX8CwUEG4D1myYhKGYBY6eGvtPrjwqooCovf" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"56" +"53" ./tezos-client --wait none send sc rollup message '["4 12 + value"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. @@ -224,37 +224,37 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.275 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 6 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 4 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 6 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 4 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 4 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\016" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12iwXS6KpaLNTTaBqxFvkyvZpHLq8H5xp35upZ4Tz7Wqtnv68dd" +"scs11tcLMA9CwjW3K3VuAFp4RiJRujh9msGbyMSHyediDMTfchY2JY" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"75" +"71" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12iwXS6KpaLNTTaBqxFvkyvZpHLq8H5xp35upZ4Tz7Wqtnv68dd" +"scs11tcLMA9CwjW3K3VuAFp4RiJRujh9msGbyMSHyediDMTfchY2JY" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"75" +"71" ./tezos-client --wait none send sc rollup message '["5 14 + value"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. @@ -279,37 +279,37 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.354 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 7 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 5 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 5 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\019" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12GyR6dnoCQ3T6NCHe7wCEwzs1FSFdMmKPk8hzvPLMWA9po1vHp" +"scs11eYQany2zXFhZ6q62wfrHQA1CYzskBu8k5pnnWnBaAQ3ZEWBK6" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"94" +"89" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12GyR6dnoCQ3T6NCHe7wCEwzs1FSFdMmKPk8hzvPLMWA9po1vHp" +"scs11eYQany2zXFhZ6q62wfrHQA1CYzskBu8k5pnnWnBaAQ3ZEWBK6" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"94" +"89" ./tezos-client --wait none send sc rollup message '["6 16 + value"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. @@ -334,37 +334,37 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.354 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 8 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 6 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 8 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 6 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 6 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\022" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13QvpMutd3qKfBeqBUbk719sF8sG2S3PCwbm3nuVr9kib5KA9Vz" +"scs11ibk6bxp8XcMmHchNkLxniEMGeuu67FYqjeFgsFaK2nSbaj6v6" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"113" +"107" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13QvpMutd3qKfBeqBUbk719sF8sG2S3PCwbm3nuVr9kib5KA9Vz" +"scs11ibk6bxp8XcMmHchNkLxniEMGeuu67FYqjeFgsFaK2nSbaj6v6" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"113" +"107" ./tezos-client --wait none send sc rollup message '["7 18 + value"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. @@ -389,37 +389,37 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.354 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 9 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 7 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 7 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 7 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\025" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12d3sxy4uVnARXJi4KWs3cz5DrmR73Y9ZVk2DkLRXNio9i9yyX4" +"scs1271ctQaBTEibVsSeGQDQwFHaHUhd8EZ1V35wT87wwNkZRKuod2" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"132" +"125" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12d3sxy4uVnARXJi4KWs3cz5DrmR73Y9ZVk2DkLRXNio9i9yyX4" +"scs1271ctQaBTEibVsSeGQDQwFHaHUhd8EZ1V35wT87wwNkZRKuod2" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"132" +"125" ./tezos-client --wait none send sc rollup message '["8 20 + value"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. @@ -444,38 +444,38 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.482 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 10 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 8 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 10 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 8 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 8 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\028" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13CsbaoCfv3vCgBWtL78hQ3sPaH7iVhmCWqBd5hvCqfQWhxje7D" +"scs12hefiWoaPQGYvPcuUYHhiU5FAAfpBtHcztGqTj6LqB3PxDQiyG" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"151" +"143" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13CsbaoCfv3vCgBWtL78hQ3sPaH7iVhmCWqBd5hvCqfQWhxje7D" +"scs12hefiWoaPQGYvPcuUYHhiU5FAAfpBtHcztGqTj6LqB3PxDQiyG" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"151" +"143" ./tezos-client --wait none send sc rollup message '["9 22 + value"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. @@ -500,38 +500,38 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.561 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 11 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 9 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 9 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 9 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\031" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12TkBvyg8cSuoNGfrzwM516T9isZwxAphpo7AnxJYVyPGWDwybq" +"scs11oq2aLp31bKWq7Tp3GccxvZHpaE41PzH7FUQNNKWpYSvUn7Fex" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"170" +"161" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12TkBvyg8cSuoNGfrzwM516T9isZwxAphpo7AnxJYVyPGWDwybq" +"scs11oq2aLp31bKWq7Tp3GccxvZHpaE41PzH7FUQNNKWpYSvUn7Fex" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"170" +"161" ./tezos-client --wait none send sc rollup message '["10 24 + value"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. @@ -556,29 +556,29 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.578 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 12 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 12 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 10 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha get state value for vars/value "\000\000\000\"" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13GcPbRV1mSUravbXkE3LFT2SgEGu2muVHjNzKumLC91MikErA8" +"scs12z8UFkMz6jxQo5hDNhBz96Pjq31V8fSBz3kH3DPgVhpfQFe6Fk" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks -"190" +"180" diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (commitm.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (commitm.out index 615299b81703..33e170d5978f 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (commitm.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (commitm.out @@ -57,19 +57,19 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1651.778 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -95,20 +95,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.596 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 3 - starting_level_of_current_commitment_period = 2 - message_counter = 2 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 3 + starting_level_of_current_commitment_period = 2 + message_counter = 2 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 2 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -134,20 +134,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1653.271 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 6 - starting_level_of_current_commitment_period = 2 - message_counter = 3 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 6 + starting_level_of_current_commitment_period = 2 + message_counter = 3 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 3 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -173,21 +173,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1653.995 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 6 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 4 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 6 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 4 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 4 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -213,21 +213,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1654.670 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 7 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 5 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -253,21 +253,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1655.266 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 8 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 21 - starting_level_of_current_commitment_period = 2 - message_counter = 6 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 8 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 21 + starting_level_of_current_commitment_period = 2 + message_counter = 6 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 6 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -293,21 +293,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1655.862 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 9 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 28 - starting_level_of_current_commitment_period = 2 - message_counter = 7 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 28 + starting_level_of_current_commitment_period = 2 + message_counter = 7 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 7 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -333,22 +333,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1656.586 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 10 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 36 - starting_level_of_current_commitment_period = 2 - message_counter = 8 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 10 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 36 + starting_level_of_current_commitment_period = 2 + message_counter = 8 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 8 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -374,22 +374,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1657.261 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 11 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 45 - starting_level_of_current_commitment_period = 2 - message_counter = 9 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 9 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 9 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -415,22 +415,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1657.857 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 12 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 55 - starting_level_of_current_commitment_period = 2 - message_counter = 10 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 12 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 55 + starting_level_of_current_commitment_period = 2 + message_counter = 10 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 10 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -456,22 +456,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1658.453 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 13 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 66 - starting_level_of_current_commitment_period = 2 - message_counter = 11 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 66 + starting_level_of_current_commitment_period = 2 + message_counter = 11 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 11 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -497,22 +497,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1659.049 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 14 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 78 - starting_level_of_current_commitment_period = 2 - message_counter = 12 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 14 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 78 + starting_level_of_current_commitment_period = 2 + message_counter = 12 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 12 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -538,22 +538,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1659.645 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 15 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 91 - starting_level_of_current_commitment_period = 2 - message_counter = 13 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 91 + starting_level_of_current_commitment_period = 2 + message_counter = 13 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 13 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -579,22 +579,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1660.241 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 16 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 105 - starting_level_of_current_commitment_period = 2 - message_counter = 14 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 16 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 105 + starting_level_of_current_commitment_period = 2 + message_counter = 14 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 14 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -620,22 +620,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1660.837 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 17 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 120 - starting_level_of_current_commitment_period = 2 - message_counter = 15 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 120 + starting_level_of_current_commitment_period = 2 + message_counter = 15 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 15 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -661,23 +661,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1661.561 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 18 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 136 - starting_level_of_current_commitment_period = 2 - message_counter = 16 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 18 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 136 + starting_level_of_current_commitment_period = 2 + message_counter = 16 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 16 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -703,23 +703,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1662.236 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 19 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 153 - starting_level_of_current_commitment_period = 2 - message_counter = 17 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 153 + starting_level_of_current_commitment_period = 2 + message_counter = 17 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 17 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -745,23 +745,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1662.832 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 20 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 171 - starting_level_of_current_commitment_period = 2 - message_counter = 18 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 20 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 171 + starting_level_of_current_commitment_period = 2 + message_counter = 18 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 18 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -787,23 +787,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1663.428 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 21 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 190 - starting_level_of_current_commitment_period = 2 - message_counter = 19 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 190 + starting_level_of_current_commitment_period = 2 + message_counter = 19 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 19 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -829,23 +829,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1664.024 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 22 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 210 - starting_level_of_current_commitment_period = 2 - message_counter = 20 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 22 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 210 + starting_level_of_current_commitment_period = 2 + message_counter = 20 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 20 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -871,23 +871,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1664.620 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 23 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 231 - starting_level_of_current_commitment_period = 2 - message_counter = 21 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 23 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 231 + starting_level_of_current_commitment_period = 2 + message_counter = 21 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 21 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -913,23 +913,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1665.216 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 24 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 253 - starting_level_of_current_commitment_period = 2 - message_counter = 22 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 24 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 253 + starting_level_of_current_commitment_period = 2 + message_counter = 22 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 22 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -955,23 +955,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1665.812 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 25 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 276 - starting_level_of_current_commitment_period = 2 - message_counter = 23 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 25 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 276 + starting_level_of_current_commitment_period = 2 + message_counter = 23 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 23 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -997,23 +997,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1666.408 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 26 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 300 - starting_level_of_current_commitment_period = 2 - message_counter = 24 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 26 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 300 + starting_level_of_current_commitment_period = 2 + message_counter = 24 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 24 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1039,23 +1039,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1667.004 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 27 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 325 - starting_level_of_current_commitment_period = 2 - message_counter = 25 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 27 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 325 + starting_level_of_current_commitment_period = 2 + message_counter = 25 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 25 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1081,23 +1081,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1667.600 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 28 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 351 - starting_level_of_current_commitment_period = 2 - message_counter = 26 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 28 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 351 + starting_level_of_current_commitment_period = 2 + message_counter = 26 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 26 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1123,23 +1123,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1668.196 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 29 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 378 - starting_level_of_current_commitment_period = 2 - message_counter = 27 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 29 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 378 + starting_level_of_current_commitment_period = 2 + message_counter = 27 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 27 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1165,23 +1165,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1668.792 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 30 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 406 - starting_level_of_current_commitment_period = 2 - message_counter = 28 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 30 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 406 + starting_level_of_current_commitment_period = 2 + message_counter = 28 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 28 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1207,23 +1207,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1669.388 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 31 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 435 - starting_level_of_current_commitment_period = 2 - message_counter = 29 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 31 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 435 + starting_level_of_current_commitment_period = 2 + message_counter = 29 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 29 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1249,40 +1249,40 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1669.984 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 32 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 30 - starting_level_of_current_commitment_period = 32 - message_counter = 30 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 32 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 32 + message_counter = 30 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 30 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha rpc get /global/last_stored_commitment { "commitment": { "compressed_state": - "scs123mHW8JnxvBJvMvySAKp99M3Ekvb5ntV5eLQkRJNVexjgXzTK8", + "scs12A4jtbi39DFb3fzb3EBcJGB6hcsUxugy62zf11pQyk1eMMqWjP", "inbox_level": 32, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", - "number_of_ticks": 1396 }, + "number_of_ticks": 931 }, "hash": "[SC_ROLLUP_COMMITMENT_HASH]" } ./tezos-sc-rollup-client-alpha rpc get /local/last_published_commitment { "commitment": { "compressed_state": - "scs123mHW8JnxvBJvMvySAKp99M3Ekvb5ntV5eLQkRJNVexjgXzTK8", + "scs12A4jtbi39DFb3fzb3EBcJGB6hcsUxugy62zf11pQyk1eMMqWjP", "inbox_level": 32, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", - "number_of_ticks": 1396 }, + "number_of_ticks": 931 }, "hash": "[SC_ROLLUP_COMMITMENT_HASH]", "published_at_level": 35 } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (handles.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (handles.out index d1a40926cf08..2968b4194bd4 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (handles.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (handles.out @@ -57,19 +57,19 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1651.778 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 32 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 32 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 32 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 32 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-sc-rollup-client-alpha rpc get /global/last_stored_commitment diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (message.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (message.out index 453fb0aa902c..de98cacc0f2f 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (message.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (message.out @@ -57,19 +57,19 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1651.778 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -95,20 +95,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.596 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 3 - starting_level_of_current_commitment_period = 2 - message_counter = 2 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 3 + starting_level_of_current_commitment_period = 2 + message_counter = 2 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 2 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -134,20 +134,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1653.271 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 6 - starting_level_of_current_commitment_period = 2 - message_counter = 3 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 6 + starting_level_of_current_commitment_period = 2 + message_counter = 3 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 3 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -173,21 +173,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1653.995 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 6 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 4 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 6 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 4 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 4 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -213,21 +213,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1654.670 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 7 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 5 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -253,21 +253,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1655.266 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 8 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 21 - starting_level_of_current_commitment_period = 2 - message_counter = 6 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 8 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 21 + starting_level_of_current_commitment_period = 2 + message_counter = 6 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 6 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -293,21 +293,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1655.862 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 9 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 28 - starting_level_of_current_commitment_period = 2 - message_counter = 7 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 28 + starting_level_of_current_commitment_period = 2 + message_counter = 7 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 7 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -333,22 +333,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1656.586 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 10 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 36 - starting_level_of_current_commitment_period = 2 - message_counter = 8 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 10 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 36 + starting_level_of_current_commitment_period = 2 + message_counter = 8 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 8 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -374,22 +374,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1657.261 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 11 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 45 - starting_level_of_current_commitment_period = 2 - message_counter = 9 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 9 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 9 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -415,22 +415,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1657.857 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 12 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 55 - starting_level_of_current_commitment_period = 2 - message_counter = 10 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 12 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 55 + starting_level_of_current_commitment_period = 2 + message_counter = 10 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 10 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -456,22 +456,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1658.453 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 13 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 66 - starting_level_of_current_commitment_period = 2 - message_counter = 11 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 66 + starting_level_of_current_commitment_period = 2 + message_counter = 11 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 11 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -497,22 +497,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1659.049 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 14 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 78 - starting_level_of_current_commitment_period = 2 - message_counter = 12 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 14 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 78 + starting_level_of_current_commitment_period = 2 + message_counter = 12 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 12 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -538,22 +538,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1659.645 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 15 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 91 - starting_level_of_current_commitment_period = 2 - message_counter = 13 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 91 + starting_level_of_current_commitment_period = 2 + message_counter = 13 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 13 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -579,22 +579,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1660.241 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 16 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 105 - starting_level_of_current_commitment_period = 2 - message_counter = 14 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 16 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 105 + starting_level_of_current_commitment_period = 2 + message_counter = 14 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 14 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -620,22 +620,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1660.837 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 17 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 120 - starting_level_of_current_commitment_period = 2 - message_counter = 15 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 120 + starting_level_of_current_commitment_period = 2 + message_counter = 15 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 15 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -661,23 +661,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1661.561 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 18 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 136 - starting_level_of_current_commitment_period = 2 - message_counter = 16 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 18 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 136 + starting_level_of_current_commitment_period = 2 + message_counter = 16 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 16 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -703,23 +703,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1662.236 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 19 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 153 - starting_level_of_current_commitment_period = 2 - message_counter = 17 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 153 + starting_level_of_current_commitment_period = 2 + message_counter = 17 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 17 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -745,23 +745,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1662.832 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 20 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 171 - starting_level_of_current_commitment_period = 2 - message_counter = 18 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 20 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 171 + starting_level_of_current_commitment_period = 2 + message_counter = 18 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 18 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -787,23 +787,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1663.428 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 21 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 190 - starting_level_of_current_commitment_period = 2 - message_counter = 19 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 190 + starting_level_of_current_commitment_period = 2 + message_counter = 19 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 19 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -829,23 +829,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1664.024 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 22 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 210 - starting_level_of_current_commitment_period = 2 - message_counter = 20 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 22 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 210 + starting_level_of_current_commitment_period = 2 + message_counter = 20 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 20 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -871,23 +871,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1664.620 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 23 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 231 - starting_level_of_current_commitment_period = 2 - message_counter = 21 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 23 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 231 + starting_level_of_current_commitment_period = 2 + message_counter = 21 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 21 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -913,23 +913,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1665.216 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 24 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 253 - starting_level_of_current_commitment_period = 2 - message_counter = 22 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 24 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 253 + starting_level_of_current_commitment_period = 2 + message_counter = 22 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 22 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -955,23 +955,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1665.812 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 25 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 276 - starting_level_of_current_commitment_period = 2 - message_counter = 23 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 25 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 276 + starting_level_of_current_commitment_period = 2 + message_counter = 23 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 23 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -997,23 +997,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1666.408 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 26 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 300 - starting_level_of_current_commitment_period = 2 - message_counter = 24 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 26 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 300 + starting_level_of_current_commitment_period = 2 + message_counter = 24 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 24 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1039,23 +1039,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1667.004 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 27 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 325 - starting_level_of_current_commitment_period = 2 - message_counter = 25 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 27 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 325 + starting_level_of_current_commitment_period = 2 + message_counter = 25 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 25 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1081,23 +1081,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1667.600 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 28 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 351 - starting_level_of_current_commitment_period = 2 - message_counter = 26 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 28 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 351 + starting_level_of_current_commitment_period = 2 + message_counter = 26 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 26 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1123,23 +1123,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1668.196 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 29 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 378 - starting_level_of_current_commitment_period = 2 - message_counter = 27 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 29 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 378 + starting_level_of_current_commitment_period = 2 + message_counter = 27 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 27 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1165,23 +1165,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1668.792 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 30 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 406 - starting_level_of_current_commitment_period = 2 - message_counter = 28 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 30 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 406 + starting_level_of_current_commitment_period = 2 + message_counter = 28 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 28 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1207,23 +1207,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1669.388 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 31 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 435 - starting_level_of_current_commitment_period = 2 - message_counter = 29 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 31 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 435 + starting_level_of_current_commitment_period = 2 + message_counter = 29 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 29 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1249,29 +1249,29 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1669.984 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 32 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 30 - starting_level_of_current_commitment_period = 32 - message_counter = 30 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 32 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 32 + message_counter = 30 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 30 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha rpc get /global/last_stored_commitment { "commitment": { "compressed_state": - "scs123mHW8JnxvBJvMvySAKp99M3Ekvb5ntV5eLQkRJNVexjgXzTK8", + "scs12A4jtbi39DFb3fzb3EBcJGB6hcsUxugy62zf11pQyk1eMMqWjP", "inbox_level": 62, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", "number_of_ticks": 0 }, @@ -1280,7 +1280,7 @@ This sequence of operations was run: ./tezos-sc-rollup-client-alpha rpc get /local/last_published_commitment { "commitment": { "compressed_state": - "scs123mHW8JnxvBJvMvySAKp99M3Ekvb5ntV5eLQkRJNVexjgXzTK8", + "scs12A4jtbi39DFb3fzb3EBcJGB6hcsUxugy62zf11pQyk1eMMqWjP", "inbox_level": 62, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", "number_of_ticks": 0 }, diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (node_us.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (node_us.out index ee931e29c544..f28d40e100e9 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (node_us.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (node_us.out @@ -57,19 +57,19 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1651.778 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -95,20 +95,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.596 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 3 - starting_level_of_current_commitment_period = 2 - message_counter = 2 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 3 + starting_level_of_current_commitment_period = 2 + message_counter = 2 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 2 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -134,20 +134,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1653.271 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 6 - starting_level_of_current_commitment_period = 2 - message_counter = 3 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 6 + starting_level_of_current_commitment_period = 2 + message_counter = 3 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 3 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -173,21 +173,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1653.995 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 6 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 4 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 6 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 4 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 4 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -213,21 +213,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1654.670 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 7 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 5 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -253,21 +253,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1655.266 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 8 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 21 - starting_level_of_current_commitment_period = 2 - message_counter = 6 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 8 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 21 + starting_level_of_current_commitment_period = 2 + message_counter = 6 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 6 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -293,21 +293,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1655.862 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 9 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 28 - starting_level_of_current_commitment_period = 2 - message_counter = 7 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 28 + starting_level_of_current_commitment_period = 2 + message_counter = 7 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 7 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -333,22 +333,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1656.586 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 10 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 36 - starting_level_of_current_commitment_period = 2 - message_counter = 8 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 10 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 36 + starting_level_of_current_commitment_period = 2 + message_counter = 8 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 8 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -374,22 +374,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1657.261 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 11 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 45 - starting_level_of_current_commitment_period = 2 - message_counter = 9 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 9 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 9 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -415,22 +415,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1657.857 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 12 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 55 - starting_level_of_current_commitment_period = 2 - message_counter = 10 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 12 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 55 + starting_level_of_current_commitment_period = 2 + message_counter = 10 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 10 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -456,22 +456,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1658.453 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 13 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 66 - starting_level_of_current_commitment_period = 2 - message_counter = 11 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 66 + starting_level_of_current_commitment_period = 2 + message_counter = 11 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 11 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -497,22 +497,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1659.049 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 14 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 78 - starting_level_of_current_commitment_period = 2 - message_counter = 12 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 14 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 78 + starting_level_of_current_commitment_period = 2 + message_counter = 12 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 12 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -538,22 +538,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1659.645 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 15 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 91 - starting_level_of_current_commitment_period = 2 - message_counter = 13 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 91 + starting_level_of_current_commitment_period = 2 + message_counter = 13 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 13 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -579,22 +579,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1660.241 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 16 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 105 - starting_level_of_current_commitment_period = 2 - message_counter = 14 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 16 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 105 + starting_level_of_current_commitment_period = 2 + message_counter = 14 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 14 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -620,39 +620,39 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1660.837 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 17 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 17 - message_counter = 15 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 17 + message_counter = 15 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 15 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha rpc get /global/last_stored_commitment { "commitment": { "compressed_state": - "scs12wTPaomFH2grjoXSuBwnVppABH3RvbaghhnskeG6GYpbEbZ3fg", + "scs128vEZa7hXxUCcuBtKqdMfTCGejmEe5aoxLBS6csdWApTULy4TY", "inbox_level": 17, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", - "number_of_ticks": 361 }, + "number_of_ticks": 241 }, "hash": "[SC_ROLLUP_COMMITMENT_HASH]" } ./tezos-sc-rollup-client-alpha rpc get /local/last_published_commitment { "commitment": { "compressed_state": - "scs12wTPaomFH2grjoXSuBwnVppABH3RvbaghhnskeG6GYpbEbZ3fg", + "scs128vEZa7hXxUCcuBtKqdMfTCGejmEe5aoxLBS6csdWApTULy4TY", "inbox_level": 17, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", - "number_of_ticks": 361 }, + "number_of_ticks": 241 }, "hash": "[SC_ROLLUP_COMMITMENT_HASH]", "published_at_level": 20 } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (non_fin.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (non_fin.out index 2b455715acab..0a4860b1b9ed 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (non_fin.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (non_fin.out @@ -57,19 +57,19 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1651.778 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -95,20 +95,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.596 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 3 - starting_level_of_current_commitment_period = 2 - message_counter = 2 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 3 + starting_level_of_current_commitment_period = 2 + message_counter = 2 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 2 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -134,20 +134,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1653.271 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 6 - starting_level_of_current_commitment_period = 2 - message_counter = 3 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 6 + starting_level_of_current_commitment_period = 2 + message_counter = 3 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 3 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -173,21 +173,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1653.995 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 6 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 4 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 6 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 4 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 4 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -213,21 +213,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1654.670 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 7 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 5 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -253,21 +253,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1655.266 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 8 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 21 - starting_level_of_current_commitment_period = 2 - message_counter = 6 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 8 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 21 + starting_level_of_current_commitment_period = 2 + message_counter = 6 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 6 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -293,21 +293,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1655.862 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 9 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 28 - starting_level_of_current_commitment_period = 2 - message_counter = 7 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 28 + starting_level_of_current_commitment_period = 2 + message_counter = 7 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 7 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -333,22 +333,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1656.586 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 10 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 36 - starting_level_of_current_commitment_period = 2 - message_counter = 8 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 10 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 36 + starting_level_of_current_commitment_period = 2 + message_counter = 8 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 8 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -374,22 +374,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1657.261 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 11 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 45 - starting_level_of_current_commitment_period = 2 - message_counter = 9 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 9 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 9 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -415,22 +415,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1657.857 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 12 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 55 - starting_level_of_current_commitment_period = 2 - message_counter = 10 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 12 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 55 + starting_level_of_current_commitment_period = 2 + message_counter = 10 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 10 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -456,22 +456,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1658.453 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 13 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 66 - starting_level_of_current_commitment_period = 2 - message_counter = 11 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 66 + starting_level_of_current_commitment_period = 2 + message_counter = 11 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 11 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -497,22 +497,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1659.049 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 14 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 78 - starting_level_of_current_commitment_period = 2 - message_counter = 12 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 14 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 78 + starting_level_of_current_commitment_period = 2 + message_counter = 12 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 12 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -538,22 +538,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1659.645 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 15 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 91 - starting_level_of_current_commitment_period = 2 - message_counter = 13 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 91 + starting_level_of_current_commitment_period = 2 + message_counter = 13 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 13 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -579,22 +579,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1660.241 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 16 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 105 - starting_level_of_current_commitment_period = 2 - message_counter = 14 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 16 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 105 + starting_level_of_current_commitment_period = 2 + message_counter = 14 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 14 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -620,22 +620,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1660.837 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 17 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 120 - starting_level_of_current_commitment_period = 2 - message_counter = 15 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 120 + starting_level_of_current_commitment_period = 2 + message_counter = 15 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 15 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -661,23 +661,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1661.561 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 18 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 136 - starting_level_of_current_commitment_period = 2 - message_counter = 16 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 18 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 136 + starting_level_of_current_commitment_period = 2 + message_counter = 16 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 16 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -703,23 +703,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1662.236 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 19 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 153 - starting_level_of_current_commitment_period = 2 - message_counter = 17 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 153 + starting_level_of_current_commitment_period = 2 + message_counter = 17 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 17 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -745,23 +745,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1662.832 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 20 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 171 - starting_level_of_current_commitment_period = 2 - message_counter = 18 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 20 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 171 + starting_level_of_current_commitment_period = 2 + message_counter = 18 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 18 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -787,23 +787,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1663.428 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 21 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 190 - starting_level_of_current_commitment_period = 2 - message_counter = 19 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 190 + starting_level_of_current_commitment_period = 2 + message_counter = 19 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 19 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -829,23 +829,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1664.024 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 22 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 210 - starting_level_of_current_commitment_period = 2 - message_counter = 20 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 22 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 210 + starting_level_of_current_commitment_period = 2 + message_counter = 20 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 20 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -871,23 +871,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1664.620 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 23 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 231 - starting_level_of_current_commitment_period = 2 - message_counter = 21 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 23 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 231 + starting_level_of_current_commitment_period = 2 + message_counter = 21 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 21 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -913,23 +913,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1665.216 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 24 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 253 - starting_level_of_current_commitment_period = 2 - message_counter = 22 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 24 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 253 + starting_level_of_current_commitment_period = 2 + message_counter = 22 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 22 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -955,23 +955,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1665.812 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 25 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 276 - starting_level_of_current_commitment_period = 2 - message_counter = 23 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 25 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 276 + starting_level_of_current_commitment_period = 2 + message_counter = 23 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 23 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -997,23 +997,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1666.408 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 26 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 300 - starting_level_of_current_commitment_period = 2 - message_counter = 24 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 26 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 300 + starting_level_of_current_commitment_period = 2 + message_counter = 24 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 24 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1039,23 +1039,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1667.004 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 27 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 325 - starting_level_of_current_commitment_period = 2 - message_counter = 25 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 27 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 325 + starting_level_of_current_commitment_period = 2 + message_counter = 25 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 25 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1081,23 +1081,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1667.600 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 28 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 351 - starting_level_of_current_commitment_period = 2 - message_counter = 26 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 28 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 351 + starting_level_of_current_commitment_period = 2 + message_counter = 26 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 26 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1123,23 +1123,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1668.196 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 29 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 378 - starting_level_of_current_commitment_period = 2 - message_counter = 27 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 29 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 378 + starting_level_of_current_commitment_period = 2 + message_counter = 27 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 27 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1165,23 +1165,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1668.792 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 30 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 406 - starting_level_of_current_commitment_period = 2 - message_counter = 28 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 30 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 406 + starting_level_of_current_commitment_period = 2 + message_counter = 28 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 28 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1207,23 +1207,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1669.388 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 31 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 435 - starting_level_of_current_commitment_period = 2 - message_counter = 29 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 31 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 435 + starting_level_of_current_commitment_period = 2 + message_counter = 29 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 29 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -1249,23 +1249,23 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1669.984 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 32 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 30 - starting_level_of_current_commitment_period = 32 - message_counter = 30 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 32 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 32 + message_counter = 30 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 30 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-sc-rollup-client-alpha rpc get /global/last_stored_commitment diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (basic).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (basic).out index 1acecb5ff894..4e74fad0ace4 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (basic).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (basic).out @@ -53,19 +53,19 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1651.778 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -91,18 +91,18 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.596 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 3 - starting_level_of_current_commitment_period = 2 - message_counter = 2 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 3 + starting_level_of_current_commitment_period = 2 + message_counter = 2 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 2 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (handles_ch.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (handles_ch.out index 4002e11a37ae..17cddea3e292 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (handles_ch.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (handles_ch.out @@ -53,19 +53,19 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1651.778 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -91,20 +91,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 2 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 2 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 2 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -130,20 +130,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 2 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 2 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 2 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -169,18 +169,18 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.079 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 3 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 3 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 3 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (stops).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (stops).out index 9f78bf45a120..70aee086aca7 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (stops).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct maintenance of inbox in the rollup node (stops).out @@ -53,19 +53,19 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1651.778 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -91,20 +91,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.596 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 3 - starting_level_of_current_commitment_period = 2 - message_counter = 2 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 3 + starting_level_of_current_commitment_period = 2 + message_counter = 2 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 2 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -130,20 +130,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.079 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 4 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 4 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 3 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -169,19 +169,19 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.803 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 6 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 6 - starting_level_of_current_commitment_period = 2 - message_counter = 2 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 6 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 6 + starting_level_of_current_commitment_period = 2 + message_counter = 2 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 4 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out index 9f4514adca37..d6454802cfe8 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof).out @@ -1,8 +1,8 @@ -./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type string booting with --burn-cap 9999999 Node is bootstrapped. -Estimated gas: 2509.140 units (will add 100 for safety) -Estimated storage: 6626 bytes added (will add 20 for safety) +Estimated gas: 2909.116 units (will add 100 for safety) +Estimated storage: 6616 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' NOT waiting for the operation to be included. @@ -12,27 +12,27 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000614 + Fee to the baker: ꜩ0.000654 Expected counter: 1 - Gas limit: 2610 - Storage limit: 6646 bytes + Gas limit: 3010 + Storage limit: 6636 bytes Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000614 - payload fees(the block proposer) ....... +ꜩ0.000614 - Originate smart contract rollup of kind arith and type unit with boot sector '' + [PUBLIC_KEY_HASH] ... -ꜩ0.000654 + payload fees(the block proposer) ....... +ꜩ0.000654 + Originate smart contract rollup of kind arith and type string with boot sector '' This smart contract rollup origination was successfully applied - Consumed gas: 2509.140 - Storage size: 6626 bytes + Consumed gas: 2909.116 + Storage size: 6616 bytes Address: [SC_ROLLUP_HASH] Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ1.6565 - storage fees ........................... +ꜩ1.6565 + [PUBLIC_KEY_HASH] ... -ꜩ1.654 + storage fees ........................... +ꜩ1.654 ./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1653.895 units (will add 100 for safety) +Estimated gas: 1653.847 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -52,17 +52,379 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.023 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 5 - nb_messages_in_commitment_period = 5 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 1 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1653.975 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.197 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.197 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.276 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.276 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.419 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 5 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.419 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.483 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 6 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.483 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.498 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 7 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.498 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 8 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.626 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 9 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.626 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.690 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 10 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.690 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.705 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 11 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.705 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_at_genesi.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_at_genesi.out new file mode 100644 index 000000000000..d6454802cfe8 --- /dev/null +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_at_genesi.out @@ -0,0 +1,430 @@ + +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type string booting with --burn-cap 9999999 +Node is bootstrapped. +Estimated gas: 2909.116 units (will add 100 for safety) +Estimated storage: 6616 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000654 + Expected counter: 1 + Gas limit: 3010 + Storage limit: 6636 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000654 + payload fees(the block proposer) ....... +ꜩ0.000654 + Originate smart contract rollup of kind arith and type string with boot sector '' + This smart contract rollup origination was successfully applied + Consumed gas: 2909.116 + Storage size: 6616 bytes + Address: [SC_ROLLUP_HASH] + Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ1.654 + storage fees ........................... +ꜩ1.654 + + +./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1653.847 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1754 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1653.975 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.197 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.197 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.276 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.276 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.419 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 5 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.419 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.483 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 6 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.483 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.498 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 7 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.498 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 8 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.626 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 9 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.626 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.690 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 10 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.690 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.705 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 11 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.705 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_many_empt.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_many_empt.out index 65987382f656..484e84b4584c 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_many_empt.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_many_empt.out @@ -1,8 +1,8 @@ -./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type string booting with --burn-cap 9999999 Node is bootstrapped. -Estimated gas: 2509.140 units (will add 100 for safety) -Estimated storage: 6626 bytes added (will add 20 for safety) +Estimated gas: 2909.116 units (will add 100 for safety) +Estimated storage: 6616 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' NOT waiting for the operation to be included. @@ -12,27 +12,27 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000614 + Fee to the baker: ꜩ0.000654 Expected counter: 1 - Gas limit: 2610 - Storage limit: 6646 bytes + Gas limit: 3010 + Storage limit: 6636 bytes Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000614 - payload fees(the block proposer) ....... +ꜩ0.000614 - Originate smart contract rollup of kind arith and type unit with boot sector '' + [PUBLIC_KEY_HASH] ... -ꜩ0.000654 + payload fees(the block proposer) ....... +ꜩ0.000654 + Originate smart contract rollup of kind arith and type string with boot sector '' This smart contract rollup origination was successfully applied - Consumed gas: 2509.140 - Storage size: 6626 bytes + Consumed gas: 2909.116 + Storage size: 6616 bytes Address: [SC_ROLLUP_HASH] Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ1.6565 - storage fees ........................... +ꜩ1.6565 + [PUBLIC_KEY_HASH] ... -ꜩ1.654 + storage fees ........................... +ꜩ1.654 ./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.023 units (will add 100 for safety) +Estimated gas: 1653.975 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -45,32 +45,32 @@ This sequence of operations was run: From: [PUBLIC_KEY_HASH] Fee to the baker: ꜩ0.000494 Expected counter: 2 - Gas limit: 1755 + Gas limit: 1754 Storage limit: 0 bytes Balance updates: [PUBLIC_KEY_HASH] ... -ꜩ0.000494 payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.023 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 6 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 5 - nb_messages_in_commitment_period = 5 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 1 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1653.975 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 6 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.275 units (will add 100 for safety) +Estimated gas: 1654.227 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -90,26 +90,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.275 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 8 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 10 - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 2 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.227 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 8 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.339 units (will add 100 for safety) +Estimated gas: 1654.291 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -129,26 +129,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.339 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 10 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 15 - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 3 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.291 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 10 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.482 units (will add 100 for safety) +Estimated gas: 1654.434 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -168,27 +168,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.482 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 12 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 20 - nb_messages_in_commitment_period = 20 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 4 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.434 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 12 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -208,27 +208,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 14 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 25 - nb_messages_in_commitment_period = 25 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 5 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 14 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -248,27 +248,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 16 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 30 - nb_messages_in_commitment_period = 30 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 6 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 16 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -288,27 +288,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 18 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 35 - nb_messages_in_commitment_period = 35 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 7 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 18 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.689 units (will add 100 for safety) +Estimated gas: 1654.641 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -328,28 +328,28 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.689 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 20 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 40 - nb_messages_in_commitment_period = 40 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 8 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.641 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 20 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.753 units (will add 100 for safety) +Estimated gas: 1654.705 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -369,28 +369,28 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.753 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 22 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 45 - nb_messages_in_commitment_period = 45 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 9 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.705 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 22 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.753 units (will add 100 for safety) +Estimated gas: 1654.705 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -410,21 +410,21 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.753 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 24 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 50 - nb_messages_in_commitment_period = 50 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 10 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.705 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 24 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_one_empty.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_one_empty.out index 963fd5db2f50..bc721adc3012 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_one_empty.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (inbox_proof_one_empty.out @@ -1,8 +1,8 @@ -./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type string booting with --burn-cap 9999999 Node is bootstrapped. -Estimated gas: 2509.140 units (will add 100 for safety) -Estimated storage: 6626 bytes added (will add 20 for safety) +Estimated gas: 2909.116 units (will add 100 for safety) +Estimated storage: 6616 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' NOT waiting for the operation to be included. @@ -12,27 +12,27 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000614 + Fee to the baker: ꜩ0.000654 Expected counter: 1 - Gas limit: 2610 - Storage limit: 6646 bytes + Gas limit: 3010 + Storage limit: 6636 bytes Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000614 - payload fees(the block proposer) ....... +ꜩ0.000614 - Originate smart contract rollup of kind arith and type unit with boot sector '' + [PUBLIC_KEY_HASH] ... -ꜩ0.000654 + payload fees(the block proposer) ....... +ꜩ0.000654 + Originate smart contract rollup of kind arith and type string with boot sector '' This smart contract rollup origination was successfully applied - Consumed gas: 2509.140 - Storage size: 6626 bytes + Consumed gas: 2909.116 + Storage size: 6616 bytes Address: [SC_ROLLUP_HASH] Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ1.6565 - storage fees ........................... +ꜩ1.6565 + [PUBLIC_KEY_HASH] ... -ꜩ1.654 + storage fees ........................... +ꜩ1.654 ./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.023 units (will add 100 for safety) +Estimated gas: 1653.975 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -45,32 +45,32 @@ This sequence of operations was run: From: [PUBLIC_KEY_HASH] Fee to the baker: ꜩ0.000494 Expected counter: 2 - Gas limit: 1755 + Gas limit: 1754 Storage limit: 0 bytes Balance updates: [PUBLIC_KEY_HASH] ... -ꜩ0.000494 payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.023 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 5 - nb_messages_in_commitment_period = 5 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 1 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1653.975 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.260 units (will add 100 for safety) +Estimated gas: 1654.212 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -90,26 +90,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.260 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 6 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 10 - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 2 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.212 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 6 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.339 units (will add 100 for safety) +Estimated gas: 1654.291 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -129,26 +129,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.339 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 8 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 15 - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 3 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.291 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 8 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.467 units (will add 100 for safety) +Estimated gas: 1654.419 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -168,27 +168,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.467 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 10 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 20 - nb_messages_in_commitment_period = 20 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 4 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.419 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 10 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -208,27 +208,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 12 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 25 - nb_messages_in_commitment_period = 25 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 5 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 12 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -248,27 +248,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 14 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 30 - nb_messages_in_commitment_period = 30 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 6 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 14 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -288,27 +288,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 16 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 35 - nb_messages_in_commitment_period = 35 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 7 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 16 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.674 units (will add 100 for safety) +Estimated gas: 1654.626 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -328,28 +328,28 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.674 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 18 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 40 - nb_messages_in_commitment_period = 40 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 8 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.626 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 18 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.753 units (will add 100 for safety) +Estimated gas: 1654.705 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -369,28 +369,28 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.753 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 20 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 45 - nb_messages_in_commitment_period = 45 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 9 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.705 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 20 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.753 units (will add 100 for safety) +Estimated gas: 1654.705 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -410,21 +410,21 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.753 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 22 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 50 - nb_messages_in_commitment_period = 50 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 10 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.705 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 22 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_0).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_0).out index 360878b6a776..d6454802cfe8 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_0).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_0).out @@ -1,8 +1,8 @@ -./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type string booting with --burn-cap 9999999 Node is bootstrapped. -Estimated gas: 2509.140 units (will add 100 for safety) -Estimated storage: 6626 bytes added (will add 20 for safety) +Estimated gas: 2909.116 units (will add 100 for safety) +Estimated storage: 6616 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' NOT waiting for the operation to be included. @@ -12,27 +12,27 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000614 + Fee to the baker: ꜩ0.000654 Expected counter: 1 - Gas limit: 2610 - Storage limit: 6646 bytes + Gas limit: 3010 + Storage limit: 6636 bytes Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000614 - payload fees(the block proposer) ....... +ꜩ0.000614 - Originate smart contract rollup of kind arith and type unit with boot sector '' + [PUBLIC_KEY_HASH] ... -ꜩ0.000654 + payload fees(the block proposer) ....... +ꜩ0.000654 + Originate smart contract rollup of kind arith and type string with boot sector '' This smart contract rollup origination was successfully applied - Consumed gas: 2509.140 - Storage size: 6626 bytes + Consumed gas: 2909.116 + Storage size: 6616 bytes Address: [SC_ROLLUP_HASH] Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ1.6565 - storage fees ........................... +ꜩ1.6565 + [PUBLIC_KEY_HASH] ... -ꜩ1.654 + storage fees ........................... +ꜩ1.654 ./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1653.895 units (will add 100 for safety) +Estimated gas: 1653.847 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -52,25 +52,25 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.023 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 5 - nb_messages_in_commitment_period = 5 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 1 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1653.975 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.245 units (will add 100 for safety) +Estimated gas: 1654.197 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -90,26 +90,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.245 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 10 - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 2 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.197 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.324 units (will add 100 for safety) +Estimated gas: 1654.276 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -129,26 +129,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.324 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 7 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 15 - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 3 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.276 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.467 units (will add 100 for safety) +Estimated gas: 1654.419 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -168,27 +168,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.467 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 9 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 20 - nb_messages_in_commitment_period = 20 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 4 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.419 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.531 units (will add 100 for safety) +Estimated gas: 1654.483 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -208,27 +208,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.531 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 11 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 25 - nb_messages_in_commitment_period = 25 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 5 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.483 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -248,27 +248,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 13 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 30 - nb_messages_in_commitment_period = 30 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 6 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -288,27 +288,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 15 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 35 - nb_messages_in_commitment_period = 35 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 7 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.674 units (will add 100 for safety) +Estimated gas: 1654.626 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -328,28 +328,28 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.674 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 17 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 40 - nb_messages_in_commitment_period = 40 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 8 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.626 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.738 units (will add 100 for safety) +Estimated gas: 1654.690 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -369,28 +369,28 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.738 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 19 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 45 - nb_messages_in_commitment_period = 45 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 9 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.690 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.753 units (will add 100 for safety) +Estimated gas: 1654.705 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -410,21 +410,21 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.753 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 21 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 50 - nb_messages_in_commitment_period = 50 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 10 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.705 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_1).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_1).out index 360878b6a776..d6454802cfe8 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_1).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_1).out @@ -1,8 +1,8 @@ -./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type string booting with --burn-cap 9999999 Node is bootstrapped. -Estimated gas: 2509.140 units (will add 100 for safety) -Estimated storage: 6626 bytes added (will add 20 for safety) +Estimated gas: 2909.116 units (will add 100 for safety) +Estimated storage: 6616 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' NOT waiting for the operation to be included. @@ -12,27 +12,27 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000614 + Fee to the baker: ꜩ0.000654 Expected counter: 1 - Gas limit: 2610 - Storage limit: 6646 bytes + Gas limit: 3010 + Storage limit: 6636 bytes Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000614 - payload fees(the block proposer) ....... +ꜩ0.000614 - Originate smart contract rollup of kind arith and type unit with boot sector '' + [PUBLIC_KEY_HASH] ... -ꜩ0.000654 + payload fees(the block proposer) ....... +ꜩ0.000654 + Originate smart contract rollup of kind arith and type string with boot sector '' This smart contract rollup origination was successfully applied - Consumed gas: 2509.140 - Storage size: 6626 bytes + Consumed gas: 2909.116 + Storage size: 6616 bytes Address: [SC_ROLLUP_HASH] Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ1.6565 - storage fees ........................... +ꜩ1.6565 + [PUBLIC_KEY_HASH] ... -ꜩ1.654 + storage fees ........................... +ꜩ1.654 ./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1653.895 units (will add 100 for safety) +Estimated gas: 1653.847 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -52,25 +52,25 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.023 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 5 - nb_messages_in_commitment_period = 5 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 1 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1653.975 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.245 units (will add 100 for safety) +Estimated gas: 1654.197 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -90,26 +90,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.245 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 10 - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 2 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.197 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.324 units (will add 100 for safety) +Estimated gas: 1654.276 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -129,26 +129,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.324 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 7 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 15 - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 3 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.276 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.467 units (will add 100 for safety) +Estimated gas: 1654.419 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -168,27 +168,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.467 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 9 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 20 - nb_messages_in_commitment_period = 20 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 4 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.419 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.531 units (will add 100 for safety) +Estimated gas: 1654.483 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -208,27 +208,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.531 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 11 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 25 - nb_messages_in_commitment_period = 25 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 5 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.483 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -248,27 +248,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 13 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 30 - nb_messages_in_commitment_period = 30 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 6 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -288,27 +288,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 15 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 35 - nb_messages_in_commitment_period = 35 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 7 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.674 units (will add 100 for safety) +Estimated gas: 1654.626 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -328,28 +328,28 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.674 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 17 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 40 - nb_messages_in_commitment_period = 40 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 8 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.626 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.738 units (will add 100 for safety) +Estimated gas: 1654.690 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -369,28 +369,28 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.738 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 19 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 45 - nb_messages_in_commitment_period = 45 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 9 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.690 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.753 units (will add 100 for safety) +Estimated gas: 1654.705 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -410,21 +410,21 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.753 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 21 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 50 - nb_messages_in_commitment_period = 50 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 10 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.705 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_2).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_2).out index 8c97c0f7164b..1156e11398d2 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_2).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_2).out @@ -1,8 +1,8 @@ -./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type string booting with --burn-cap 9999999 Node is bootstrapped. -Estimated gas: 2509.140 units (will add 100 for safety) -Estimated storage: 6626 bytes added (will add 20 for safety) +Estimated gas: 2909.116 units (will add 100 for safety) +Estimated storage: 6616 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' NOT waiting for the operation to be included. @@ -12,27 +12,27 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000614 + Fee to the baker: ꜩ0.000654 Expected counter: 1 - Gas limit: 2610 - Storage limit: 6646 bytes + Gas limit: 3010 + Storage limit: 6636 bytes Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000614 - payload fees(the block proposer) ....... +ꜩ0.000614 - Originate smart contract rollup of kind arith and type unit with boot sector '' + [PUBLIC_KEY_HASH] ... -ꜩ0.000654 + payload fees(the block proposer) ....... +ꜩ0.000654 + Originate smart contract rollup of kind arith and type string with boot sector '' This smart contract rollup origination was successfully applied - Consumed gas: 2509.140 - Storage size: 6626 bytes + Consumed gas: 2909.116 + Storage size: 6616 bytes Address: [SC_ROLLUP_HASH] Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ1.6565 - storage fees ........................... +ꜩ1.6565 + [PUBLIC_KEY_HASH] ... -ꜩ1.654 + storage fees ........................... +ꜩ1.654 ./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1653.895 units (will add 100 for safety) +Estimated gas: 1653.847 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -52,25 +52,25 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.023 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 5 - nb_messages_in_commitment_period = 5 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 1 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1653.975 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.245 units (will add 100 for safety) +Estimated gas: 1654.197 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -90,26 +90,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.245 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 10 - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 2 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.197 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.324 units (will add 100 for safety) +Estimated gas: 1654.276 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -129,26 +129,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.324 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 7 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 15 - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 3 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.276 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.467 units (will add 100 for safety) +Estimated gas: 1654.419 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -168,27 +168,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.467 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 9 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 20 - nb_messages_in_commitment_period = 20 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 4 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.419 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.531 units (will add 100 for safety) +Estimated gas: 1654.483 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -208,27 +208,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.531 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 11 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 25 - nb_messages_in_commitment_period = 25 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 5 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.483 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -248,27 +248,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 13 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 30 - nb_messages_in_commitment_period = 30 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 6 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -288,20 +288,20 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 15 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 35 - nb_messages_in_commitment_period = 35 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 7 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_3).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_3).out index 4cddabbca6ff..07b8795d7d4a 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_3).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_3).out @@ -1,8 +1,8 @@ -./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with --burn-cap 9999999 +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type string booting with --burn-cap 9999999 Node is bootstrapped. -Estimated gas: 2509.140 units (will add 100 for safety) -Estimated storage: 6626 bytes added (will add 20 for safety) +Estimated gas: 2909.116 units (will add 100 for safety) +Estimated storage: 6616 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' NOT waiting for the operation to be included. @@ -12,27 +12,27 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.000614 + Fee to the baker: ꜩ0.000654 Expected counter: 1 - Gas limit: 2610 - Storage limit: 6646 bytes + Gas limit: 3010 + Storage limit: 6636 bytes Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.000614 - payload fees(the block proposer) ....... +ꜩ0.000614 - Originate smart contract rollup of kind arith and type unit with boot sector '' + [PUBLIC_KEY_HASH] ... -ꜩ0.000654 + payload fees(the block proposer) ....... +ꜩ0.000654 + Originate smart contract rollup of kind arith and type string with boot sector '' This smart contract rollup origination was successfully applied - Consumed gas: 2509.140 - Storage size: 6626 bytes + Consumed gas: 2909.116 + Storage size: 6616 bytes Address: [SC_ROLLUP_HASH] Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ1.6565 - storage fees ........................... +ꜩ1.6565 + [PUBLIC_KEY_HASH] ... -ꜩ1.654 + storage fees ........................... +ꜩ1.654 ./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1653.895 units (will add 100 for safety) +Estimated gas: 1653.847 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -52,25 +52,25 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.023 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 5 - nb_messages_in_commitment_period = 5 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 1 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1653.975 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.245 units (will add 100 for safety) +Estimated gas: 1654.197 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -90,26 +90,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.245 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 10 - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 2 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.197 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.324 units (will add 100 for safety) +Estimated gas: 1654.276 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -129,26 +129,26 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.324 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 9 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 15 - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 3 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.276 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.467 units (will add 100 for safety) +Estimated gas: 1654.419 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -168,27 +168,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.467 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 11 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 20 - nb_messages_in_commitment_period = 20 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 4 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.419 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -208,27 +208,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 13 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 25 - nb_messages_in_commitment_period = 25 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 5 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -248,27 +248,27 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 15 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 30 - nb_messages_in_commitment_period = 30 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 6 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } ./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. -Estimated gas: 1654.546 units (will add 100 for safety) +Estimated gas: 1654.498 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -288,20 +288,20 @@ This sequence of operations was run: payload fees(the block proposer) ....... +ꜩ0.000494 Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied - Consumed gas: 1654.546 - Resulting inbox state : { rollup = [SC_ROLLUP_HASH] - level = 17 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_available_messages = 35 - nb_messages_in_commitment_period = 35 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] - content = [SC_ROLLUP_INBOX_HASH] - index = 7 - back_pointers = - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - } + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_at_genesis).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_at_genesis).out new file mode 100644 index 000000000000..d6454802cfe8 --- /dev/null +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (pvm_proof_at_genesis).out @@ -0,0 +1,430 @@ + +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type string booting with --burn-cap 9999999 +Node is bootstrapped. +Estimated gas: 2909.116 units (will add 100 for safety) +Estimated storage: 6616 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000654 + Expected counter: 1 + Gas limit: 3010 + Storage limit: 6636 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000654 + payload fees(the block proposer) ....... +ꜩ0.000654 + Originate smart contract rollup of kind arith and type string with boot sector '' + This smart contract rollup origination was successfully applied + Consumed gas: 2909.116 + Storage size: 6616 bytes + Address: [SC_ROLLUP_HASH] + Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ1.654 + storage fees ........................... +ꜩ1.654 + + +./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1653.847 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1754 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1653.975 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.197 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.197 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.276 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.276 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.419 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 5 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.419 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.483 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 6 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.483 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.498 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 7 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.498 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 8 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.626 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 9 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.626 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.690 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 10 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.690 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.705 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 11 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.705 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (timeout).out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (timeout).out new file mode 100644 index 000000000000..d6454802cfe8 --- /dev/null +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the winning strategy of refutation games (timeout).out @@ -0,0 +1,430 @@ + +./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type string booting with --burn-cap 9999999 +Node is bootstrapped. +Estimated gas: 2909.116 units (will add 100 for safety) +Estimated storage: 6616 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000654 + Expected counter: 1 + Gas limit: 3010 + Storage limit: 6636 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000654 + payload fees(the block proposer) ....... +ꜩ0.000654 + Originate smart contract rollup of kind arith and type string with boot sector '' + This smart contract rollup origination was successfully applied + Consumed gas: 2909.116 + Storage size: 6616 bytes + Address: [SC_ROLLUP_HASH] + Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ1.654 + storage fees ........................... +ꜩ1.654 + + +./tezos-client --wait none send sc rollup message 'text:["3 3 +","1","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1653.847 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1754 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1653.975 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 1 + back_pointers = [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","3 3 +","1 1 x","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.197 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.197 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 2 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 3 +","3 7 8 + * y","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.276 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.276 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 3 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","3 3 +","2 2 out"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.419 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 5 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.419 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 20 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 4 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.483 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 6 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.483 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 25 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 5 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.498 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 7 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 13 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 30 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 6 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.498 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 8 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.498 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 15 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 35 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 7 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.626 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 9 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.626 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 17 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 40 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 8 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.690 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 10 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.690 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 19 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 9 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + + +./tezos-client --wait none send sc rollup message 'text:["1","1 1 x","3 7 8 + * y","2 2 out","3 3 +"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1654.705 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 11 + Gas limit: 1755 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This smart contract rollup messages submission was successfully applied + Consumed gas: 1654.705 + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 21 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 50 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + + content = [SC_ROLLUP_INBOX_HASH] + index = 10 + back_pointers = [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + + } + diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- pushing messages in the inbox - check inbox size.out b/tezt/tests/expected/sc_rollup.ml/Alpha- pushing messages in the inbox - check inbox size.out index 8e756c561af5..9c64db6be7bf 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- pushing messages in the inbox - check inbox size.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- pushing messages in the inbox - check inbox size.out @@ -53,19 +53,19 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1651.778 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 1 - starting_level_of_current_commitment_period = 2 - message_counter = 1 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 1 + starting_level_of_current_commitment_period = 2 + message_counter = 1 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -91,20 +91,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1652.596 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 3 - starting_level_of_current_commitment_period = 2 - message_counter = 2 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 3 + starting_level_of_current_commitment_period = 2 + message_counter = 2 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 2 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -130,20 +130,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1653.271 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 5 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 6 - starting_level_of_current_commitment_period = 2 - message_counter = 3 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 5 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 6 + starting_level_of_current_commitment_period = 2 + message_counter = 3 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 3 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -169,21 +169,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1653.995 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 6 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 10 - starting_level_of_current_commitment_period = 2 - message_counter = 4 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 6 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 10 + starting_level_of_current_commitment_period = 2 + message_counter = 4 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 4 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -209,21 +209,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1654.670 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 7 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 15 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 7 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 15 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 5 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -249,21 +249,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1655.266 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 8 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 21 - starting_level_of_current_commitment_period = 2 - message_counter = 6 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 8 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 21 + starting_level_of_current_commitment_period = 2 + message_counter = 6 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 6 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -289,21 +289,21 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1655.862 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 9 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 28 - starting_level_of_current_commitment_period = 2 - message_counter = 7 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 9 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 28 + starting_level_of_current_commitment_period = 2 + message_counter = 7 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 7 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -329,22 +329,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1656.586 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 10 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 36 - starting_level_of_current_commitment_period = 2 - message_counter = 8 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 10 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 36 + starting_level_of_current_commitment_period = 2 + message_counter = 8 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 8 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -370,22 +370,22 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1657.261 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 11 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 45 - starting_level_of_current_commitment_period = 2 - message_counter = 9 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 11 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 45 + starting_level_of_current_commitment_period = 2 + message_counter = 9 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 9 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -411,20 +411,20 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1657.857 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 12 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 55 - starting_level_of_current_commitment_period = 2 - message_counter = 10 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 12 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 55 + starting_level_of_current_commitment_period = 2 + message_counter = 10 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 10 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + [SC_ROLLUP_INBOX_HASH] + } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- pushing messages in the inbox - current messages hash.out b/tezt/tests/expected/sc_rollup.ml/Alpha- pushing messages in the inbox - current messages hash.out index b3f113e782f9..cebdf413ae17 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- pushing messages in the inbox - current messages hash.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- pushing messages in the inbox - current messages hash.out @@ -53,19 +53,19 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1655.437 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 3 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 5 - starting_level_of_current_commitment_period = 2 - message_counter = 5 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 3 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 5 + starting_level_of_current_commitment_period = 2 + message_counter = 5 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 1 back_pointers = [SC_ROLLUP_INBOX_HASH] - + } ./tezos-client --wait none send sc rollup message 'text:["hello, message number 5", "hello, message number 6", "hello, message number 7", "hello, message number 8", "hello, message number 9", "hello, message number 10"]' from bootstrap1 to '[SC_ROLLUP_HASH]' @@ -91,18 +91,18 @@ This sequence of operations was run: Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] This smart contract rollup messages submission was successfully applied Consumed gas: 1656.527 - Resulting inbox state: - rollup = [SC_ROLLUP_HASH] - level = 4 - current messages hash = [SC_ROLLUP_INBOX_HASH] - nb_messages_in_commitment_period = 11 - starting_level_of_current_commitment_period = 2 - message_counter = 6 - old_levels_messages = + Resulting inbox state: { rollup = [SC_ROLLUP_HASH] + level = 4 + current messages hash = [SC_ROLLUP_INBOX_HASH] + nb_messages_in_commitment_period = 11 + starting_level_of_current_commitment_period = 2 + message_counter = 6 + old_levels_messages = hash : [SC_ROLLUP_INBOX_HASH] + content = [SC_ROLLUP_INBOX_HASH] index = 2 back_pointers = [SC_ROLLUP_INBOX_HASH] - [SC_ROLLUP_INBOX_HASH] - + [SC_ROLLUP_INBOX_HASH] + } -- GitLab From 666500cd6f266d89c44d085a232cd7f5c75e5d13 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 13 Jul 2022 14:47:08 +0200 Subject: [PATCH 41/45] SCORU,Node: Use protocol parameter for nb of sections per dissection Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/refutation_game.ml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml index ad9f604953a3..de09964a71e6 100644 --- a/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml +++ b/src/proto_alpha/bin_sc_rollup_node/refutation_game.ml @@ -152,12 +152,16 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct let open Lwt_result_syntax in let _start_hash, start_tick = ok in let our_state, stop_tick = our_view in + let Node_context.{protocol_constants; _} = node_ctxt in (* TODO: #3200 We should not rely on an hard-coded constant here but instead introduce a protocol constant for the maximum number of sections in a dissection. *) - let max_number_of_sections = Z.of_int 32 in + let max_number_of_sections = + Z.of_int + protocol_constants.parametric.sc_rollup.number_of_sections_in_dissection + in let trace_length = Z.succ (Sc_rollup.Tick.distance stop_tick start_tick) in let number_of_sections = Z.min max_number_of_sections trace_length in let section_length = -- GitLab From aee74614c3be0fbd21c39267306d86766a97bb3b Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 13 Jul 2022 14:52:29 +0200 Subject: [PATCH 42/45] SCORU,Node: Use currently processed head hash in RPC Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/interpreter.ml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml index b55986501a31..ed1e6cfe7c44 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml @@ -197,13 +197,13 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct in return (state, num_messages, inbox_level, fuel) - let genesis_state node_ctxt store = + let genesis_state head_block node_ctxt store = let open Node_context in let open Lwt_result_syntax in let* boot_sector = Plugin.RPC.Sc_rollup.boot_sector node_ctxt.cctxt - (node_ctxt.cctxt#chain, node_ctxt.cctxt#block) + (node_ctxt.cctxt#chain, head_block) node_ctxt.rollup_address in let*! initial_state = PVM.initial_state store in @@ -212,20 +212,22 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct let state_of_hash node_ctxt store hash = let open Lwt_result_syntax in + let head_block = `Hash (hash, 0) in let*! state = Store.PVMState.find store hash in match state with - | None -> genesis_state node_ctxt store + | None -> genesis_state head_block node_ctxt store | Some state -> return state (** [transition_pvm node_ctxt store predecessor_hash hash] runs a PVM at the previous state from block [predecessor_hash] by consuming as many messages as possible from block [hash]. *) let transition_pvm node_ctxt store predecessor_hash hash = let open Lwt_result_syntax in + let head_block = `Hash (hash, 0) in (* Retrieve the previous PVM state from store. *) let*! predecessor_state = Store.PVMState.find store predecessor_hash in let* predecessor_state = match predecessor_state with - | None -> genesis_state node_ctxt store + | None -> genesis_state head_block node_ctxt store | Some predecessor_state -> return predecessor_state in -- GitLab From 7db781cecad05dc9958cee2df309186e70a094f9 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 13 Jul 2022 15:27:45 +0200 Subject: [PATCH 43/45] SCORU,Node: Document inbox_of_hash Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/bin_sc_rollup_node/inbox.ml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/proto_alpha/bin_sc_rollup_node/inbox.ml b/src/proto_alpha/bin_sc_rollup_node/inbox.ml index 026bb4d0e546..bd17c8ac8839 100644 --- a/src/proto_alpha/bin_sc_rollup_node/inbox.ml +++ b/src/proto_alpha/bin_sc_rollup_node/inbox.ml @@ -45,6 +45,12 @@ module State = struct let add_history = Store.Histories.add + (** [inbox_of_hash node_ctxt store block_hash] returns the latest + inbox at the given [block_hash]. This function always returns + [Some inbox] for all levels after the rollup genesis even when + no messages has been issued at this specific [block_hash]. In + this case, the inbox is the same as the one found in the level + when the latest message has been inserted. *) let inbox_of_hash node_ctxt store block_hash = let open Lwt_result_syntax in let open Node_context in -- GitLab From 385968c047ff26d0ead21610622c05abb80fa7d0 Mon Sep 17 00:00:00 2001 From: Valentin Chaboche Date: Wed, 13 Jul 2022 14:14:59 +0000 Subject: [PATCH 44/45] SCORU,Node: Improve code quality --- src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml index 604a104b0ed9..365055f1cae7 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml @@ -580,12 +580,12 @@ struct Format.fprintf fmt "@[History:@;\ - \ { bound: %s;@;\ - \ counter : %s;@;\ + \ { bound: %Ld;@;\ + \ counter : %Ld;@;\ \ bindings: %a;@;\ \ sequence: %a; }@]" - (Int64.to_string history.bound) - (Int64.to_string history.counter) + history.bound + history.counter (Format.pp_print_list pp_binding) bindings (Format.pp_print_list pp_sequence_binding) -- GitLab From 939d3161cd12defbc8a11eacec0488afa07f3bc3 Mon Sep 17 00:00:00 2001 From: Valentin Chaboche Date: Wed, 13 Jul 2022 14:16:05 +0000 Subject: [PATCH 45/45] SCORU,Node: Improve code quality --- src/proto_alpha/bin_sc_rollup_node/interpreter.ml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml index ed1e6cfe7c44..ae03e8950fe4 100644 --- a/src/proto_alpha/bin_sc_rollup_node/interpreter.ml +++ b/src/proto_alpha/bin_sc_rollup_node/interpreter.ml @@ -85,9 +85,8 @@ module Make (PVM : Pvm.S) : S with module PVM = PVM = struct return (state, failing_ticks') in match failing_ticks with - | xtick :: failing_ticks' -> - if xtick = tick then failure_insertion_eval state failing_ticks' - else normal_eval state + | xtick :: failing_ticks' when xtick = tick -> + failure_insertion_eval state failing_ticks' | _ -> normal_eval state in let rec go fuel tick failing_ticks state = -- GitLab