From 951320f1edce6e4d7bb291ade094fc78c1702e18 Mon Sep 17 00:00:00 2001 From: Alain Mebsout Date: Mon, 24 Apr 2023 12:42:38 +0200 Subject: [PATCH 1/2] SCORU/Node: fix legacy run command (empty operators) --- .../bin_sc_rollup_node/main_sc_rollup_node_016_PtMumbai.ml | 2 +- .../bin_sc_rollup_node/main_sc_rollup_node_017_PtNairob.ml | 2 +- src/proto_alpha/bin_sc_rollup_node/main_sc_rollup_node_alpha.ml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/proto_016_PtMumbai/bin_sc_rollup_node/main_sc_rollup_node_016_PtMumbai.ml b/src/proto_016_PtMumbai/bin_sc_rollup_node/main_sc_rollup_node_016_PtMumbai.ml index 133ee898e5ed..5bf31e87e40c 100644 --- a/src/proto_016_PtMumbai/bin_sc_rollup_node/main_sc_rollup_node_016_PtMumbai.ml +++ b/src/proto_016_PtMumbai/bin_sc_rollup_node/main_sc_rollup_node_016_PtMumbai.ml @@ -332,7 +332,7 @@ let patch_configuration_from_args configuration ~rpc_addr ~rpc_port (* Merge operators *) let sc_rollup_node_operators = Operator_purpose_map.merge - (fun _purpose new_operator _old_operator -> new_operator) + (fun _purpose -> Option.either) new_sc_rollup_node_operators configuration.sc_rollup_node_operators in diff --git a/src/proto_017_PtNairob/bin_sc_rollup_node/main_sc_rollup_node_017_PtNairob.ml b/src/proto_017_PtNairob/bin_sc_rollup_node/main_sc_rollup_node_017_PtNairob.ml index 24e9096195c1..cbf071a12cf5 100644 --- a/src/proto_017_PtNairob/bin_sc_rollup_node/main_sc_rollup_node_017_PtNairob.ml +++ b/src/proto_017_PtNairob/bin_sc_rollup_node/main_sc_rollup_node_017_PtNairob.ml @@ -332,7 +332,7 @@ let patch_configuration_from_args configuration ~rpc_addr ~rpc_port (* Merge operators *) let sc_rollup_node_operators = Operator_purpose_map.merge - (fun _purpose new_operator _old_operator -> new_operator) + (fun _purpose -> Option.either) new_sc_rollup_node_operators configuration.sc_rollup_node_operators in 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 7a4e90c6a7d9..c27946da9b42 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 @@ -354,7 +354,7 @@ let patch_configuration_from_args configuration ~rpc_addr ~rpc_port (* Merge operators *) let sc_rollup_node_operators = Operator_purpose_map.merge - (fun _purpose new_operator _old_operator -> new_operator) + (fun _purpose -> Option.either) new_sc_rollup_node_operators configuration.sc_rollup_node_operators in -- GitLab From da88013dfddf5ea741e2fdf00d23170571f27b32 Mon Sep 17 00:00:00 2001 From: Alain Mebsout Date: Mon, 24 Apr 2023 12:42:53 +0200 Subject: [PATCH 2/2] Test: test legacy run command --- tezt/lib_tezos/sc_rollup_node.ml | 72 ++++++++++++++++++------------- tezt/lib_tezos/sc_rollup_node.mli | 11 +++-- tezt/tests/sc_rollup.ml | 4 +- 3 files changed, 52 insertions(+), 35 deletions(-) diff --git a/tezt/lib_tezos/sc_rollup_node.ml b/tezt/lib_tezos/sc_rollup_node.ml index 712aca8b2040..838445b12058 100644 --- a/tezt/lib_tezos/sc_rollup_node.ml +++ b/tezt/lib_tezos/sc_rollup_node.ml @@ -120,31 +120,39 @@ let spawn_command sc_node args = @@ ["--base-dir"; base_dir sc_node] @ args +let common_node_args ?loser_mode 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]) + @ + match sc_node.persistent_state.dal_node with + | None -> [] + | Some dal_node -> + let endpoint = + sf + "http://%s:%d" + (Dal_node.rpc_host dal_node) + (Dal_node.rpc_port dal_node) + in + ["--dal-node"; endpoint] + let node_args ?loser_mode sc_node rollup_address = let mode = string_of_mode sc_node.persistent_state.mode in ( mode, ["for"; rollup_address; "with"; "operators"] @ operators_params 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]) - @ - match sc_node.persistent_state.dal_node with - | None -> [] - | Some dal_node -> - let endpoint = - sf - "http://%s:%d" - (Dal_node.rpc_host dal_node) - (Dal_node.rpc_port dal_node) - in - ["--dal-node"; endpoint] ) + @ common_node_args ?loser_mode sc_node ) + +let legacy_node_args ?loser_mode sc_node rollup_address = + let mode = string_of_mode sc_node.persistent_state.mode in + ["--mode"; mode; "--rollup"; rollup_address] + @ common_node_args ?loser_mode sc_node let spawn_config_init sc_node ?(force = false) ?loser_mode rollup_address = let mode, args = node_args ?loser_mode sc_node rollup_address in @@ -325,19 +333,23 @@ let do_runlike_command ?event_level ?event_sections_levels node arguments = arguments ~on_terminate -let run ?event_level ?event_sections_levels ?loser_mode node rollup_address - extra_arguments = - let mode, args = node_args ?loser_mode node rollup_address in - do_runlike_command - ?event_level - ?event_sections_levels - node - (["run"; mode] @ args @ extra_arguments) +let run ?(legacy = false) ?event_level ?event_sections_levels ?loser_mode node + rollup_address extra_arguments = + let cmd = + if legacy then + let args = legacy_node_args ?loser_mode node rollup_address in + ["run"] @ args @ extra_arguments + else + let mode, args = node_args ?loser_mode node rollup_address in + ["run"; mode] @ args @ extra_arguments + in + do_runlike_command ?event_level ?event_sections_levels node cmd -let run ?event_level ?event_sections_levels ?loser_mode node rollup_address - arguments = +let run ?legacy ?event_level ?event_sections_levels ?loser_mode node + rollup_address arguments = let* () = run + ?legacy ?event_level ?event_sections_levels ?loser_mode diff --git a/tezt/lib_tezos/sc_rollup_node.mli b/tezt/lib_tezos/sc_rollup_node.mli index 8e67efbd363c..e3d643dce488 100644 --- a/tezt/lib_tezos/sc_rollup_node.mli +++ b/tezt/lib_tezos/sc_rollup_node.mli @@ -105,12 +105,15 @@ val base_dir : t -> string If no [msg] is given, the stderr is ignored.*) val check_error : ?exit_code:int -> ?msg:Base.rex -> t -> unit Lwt.t -(** [run ?event_level ?event_sections_levels ?loser_mode node rollup_address arguments ] launches the given - smart contract rollup node for the rollup at [rollup_address] with the given extra - arguments. [event_level] and +(** [run ?event_level ?event_sections_levels ?loser_mode node rollup_address + arguments ] launches the given smart contract rollup node for the rollup at + [rollup_address] with the given extra arguments. [event_level] and [event_sections_levels] allow to select which events we want the node to - emit (see {!Daemon}). *) + emit (see {!Daemon}). [legacy] (by default [false]) must be set if we want + to use the legacy [run] command of the node (which requires a config file to + exist). *) val run : + ?legacy:bool -> ?event_level:Daemon.Level.default_level -> ?event_sections_levels:(string * Daemon.Level.level) list -> ?loser_mode:string -> diff --git a/tezt/tests/sc_rollup.ml b/tezt/tests/sc_rollup.ml index 28322d4d3ae3..2746d83590c1 100644 --- a/tezt/tests/sc_rollup.ml +++ b/tezt/tests/sc_rollup.ml @@ -823,7 +823,9 @@ let basic_scenario sc_rollup_node _rollup_client sc_rollup _node client = must end up at level 4. *) 4 in - let* () = Sc_rollup_node.run sc_rollup_node sc_rollup [] in + (* Here we use the legacy `run` command. *) + let* _ = Sc_rollup_node.config_init sc_rollup_node sc_rollup in + let* () = Sc_rollup_node.run ~legacy:true sc_rollup_node sc_rollup [] in let* () = send_messages num_messages client in let* _ = Sc_rollup_node.wait_for_level ~timeout:3. sc_rollup_node expected_level -- GitLab