From 6422103e03e4348243dc3e1ba95004e4e1b543a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Cauderlier?= Date: Mon, 28 Apr 2025 16:47:34 +0200 Subject: [PATCH 1/6] Tezlink/EVM Node: propagate the chain id from config --- etherlink/bin_node/lib_dev/observer.ml | 19 ++++++++++--------- etherlink/bin_node/lib_dev/proxy.ml | 19 +++++++++++-------- etherlink/bin_node/lib_dev/rpc.ml | 19 ++++++++++--------- etherlink/bin_node/lib_dev/rpc_server.ml | 14 ++++++++++---- etherlink/bin_node/lib_dev/rpc_server.mli | 1 + etherlink/bin_node/lib_dev/sequencer.ml | 1 + .../lib_dev/tezlink/tezos_services.ml | 8 ++++---- .../lib_dev/tezlink/tezos_services.mli | 4 +++- 8 files changed, 50 insertions(+), 35 deletions(-) diff --git a/etherlink/bin_node/lib_dev/observer.ml b/etherlink/bin_node/lib_dev/observer.ml index 39e180e42c61..659fcf909b0a 100644 --- a/etherlink/bin_node/lib_dev/observer.ml +++ b/etherlink/bin_node/lib_dev/observer.ml @@ -235,23 +235,23 @@ let main ?network ?kernel_path ~data_dir ~(config : Configuration.t) ~no_sync let* enable_multichain = Evm_ro_context.read_enable_multichain_flag ro_ctxt in - let* chain_family = + let* l2_chain_id, chain_family = match (config.experimental_features.l2_chains, enable_multichain) with - | None, false -> return EVM + | None, false -> return (None, EVM) | None, true -> tzfail Node_error.Singlechain_node_multichain_kernel - | Some [_], false -> + | Some [l2_chain], false -> let*! () = Events.multichain_node_singlechain_kernel () in - return EVM + return (Some l2_chain.chain_id, EVM) | Some [l2_chain], true -> - let* chain_family = - Evm_ro_context.read_chain_family ro_ctxt l2_chain.chain_id - in - if l2_chain.chain_family = chain_family then return chain_family + let chain_id = l2_chain.chain_id in + let* chain_family = Evm_ro_context.read_chain_family ro_ctxt chain_id in + if l2_chain.chain_family = chain_family then + return (Some chain_id, chain_family) else tzfail (Node_error.Mismatched_chain_family { - chain_id = l2_chain.chain_id; + chain_id; node_family = l2_chain.chain_family; kernel_family = chain_family; }) @@ -260,6 +260,7 @@ let main ?network ?kernel_path ~data_dir ~(config : Configuration.t) ~no_sync let* finalizer_public_server = Rpc_server.start_public_server + ~l2_chain_id ~evm_services: Evm_ro_context.(evm_services_methods ro_ctxt time_between_blocks) ~data_dir diff --git a/etherlink/bin_node/lib_dev/proxy.ml b/etherlink/bin_node/lib_dev/proxy.ml index e256c0fefc8a..b8767934f319 100644 --- a/etherlink/bin_node/lib_dev/proxy.ml +++ b/etherlink/bin_node/lib_dev/proxy.ml @@ -178,7 +178,7 @@ let main ~rollup_node_endpoint () in - let* chain_family = + let* l2_chain_id, chain_family = if finalized_view then if (* When finalized_view is set, it's too early to request the @@ -187,23 +187,25 @@ let main then (* The finalized view of the proxy mode and the multichain feature are not compatible. *) tzfail (Node_error.Proxy_finalize_with_multichain `Node) - else return L2_types.EVM + else return (None, L2_types.EVM) else let* enable_multichain = Rollup_node_rpc.is_multichain_enabled () in match (config.experimental_features.l2_chains, enable_multichain) with - | None, false -> return L2_types.EVM + | None, false -> return (None, L2_types.EVM) | None, true -> tzfail Node_error.Singlechain_node_multichain_kernel - | Some [_], false -> + | Some [l2_chain], false -> let*! () = Events.multichain_node_singlechain_kernel () in - return L2_types.EVM + return (Some l2_chain.chain_id, L2_types.EVM) | Some [l2_chain], true -> - let* chain_family = Rollup_node_rpc.chain_family l2_chain.chain_id in - if l2_chain.chain_family = chain_family then return chain_family + let chain_id = l2_chain.chain_id in + let* chain_family = Rollup_node_rpc.chain_family chain_id in + if l2_chain.chain_family = chain_family then + return (Some chain_id, chain_family) else tzfail (Node_error.Mismatched_chain_family { - chain_id = l2_chain.chain_id; + chain_id; node_family = l2_chain.chain_family; kernel_family = chain_family; }) @@ -213,6 +215,7 @@ let main let* server_finalizer = Rpc_server.start_public_server ~rpc_server_family:(Rpc_types.Single_chain_node_rpc_server chain_family) + ~l2_chain_id validation_mode config tx_container diff --git a/etherlink/bin_node/lib_dev/rpc.ml b/etherlink/bin_node/lib_dev/rpc.ml index dae3ba03b990..794a333bdb9b 100644 --- a/etherlink/bin_node/lib_dev/rpc.ml +++ b/etherlink/bin_node/lib_dev/rpc.ml @@ -217,23 +217,23 @@ let main ~data_dir ~evm_node_endpoint ?evm_node_private_endpoint let* enable_multichain = Evm_ro_context.read_enable_multichain_flag ctxt in - let* chain_family = + let* l2_chain_id, chain_family = match (config.experimental_features.l2_chains, enable_multichain) with - | None, false -> return L2_types.EVM + | None, false -> return (None, L2_types.EVM) | None, true -> tzfail Node_error.Singlechain_node_multichain_kernel - | Some [_], false -> + | Some [l2_chain], false -> let*! () = Events.multichain_node_singlechain_kernel () in - return L2_types.EVM + return (Some l2_chain.chain_id, L2_types.EVM) | Some [l2_chain], true -> - let* chain_family = - Evm_ro_context.read_chain_family ctxt l2_chain.chain_id - in - if l2_chain.chain_family = chain_family then return chain_family + let chain_id = l2_chain.chain_id in + let* chain_family = Evm_ro_context.read_chain_family ctxt chain_id in + if l2_chain.chain_family = chain_family then + return (Some chain_id, chain_family) else tzfail (Node_error.Mismatched_chain_family { - chain_id = l2_chain.chain_id; + chain_id; node_family = l2_chain.chain_family; kernel_family = chain_family; }) @@ -242,6 +242,7 @@ let main ~data_dir ~evm_node_endpoint ?evm_node_private_endpoint let* server_public_finalizer = Rpc_server.start_public_server + ~l2_chain_id ~delegate_health_check_to:evm_node_endpoint ~evm_services: Evm_ro_context.(evm_services_methods ctxt time_between_blocks) diff --git a/etherlink/bin_node/lib_dev/rpc_server.ml b/etherlink/bin_node/lib_dev/rpc_server.ml index b7e2606226d6..890cc920e1f1 100644 --- a/etherlink/bin_node/lib_dev/rpc_server.ml +++ b/etherlink/bin_node/lib_dev/rpc_server.ml @@ -144,7 +144,7 @@ let monitor_performances ~data_dir = Lwt.dont_wait aux (Fun.const ()) let start_public_server ~(rpc_server_family : Rpc_types.rpc_server_family) - ?delegate_health_check_to ?evm_services ?data_dir validation + ~l2_chain_id ?delegate_health_check_to ?evm_services ?data_dir validation (config : Configuration.t) tx_container ctxt = let open Lwt_result_syntax in let*! can_start_performance_metrics = @@ -164,16 +164,22 @@ let start_public_server ~(rpc_server_family : Rpc_types.rpc_server_family) impl.time_between_blocks in let*? () = Rpc_types.check_rpc_server_config rpc_server_family config in - let register_tezos_services = + let* register_tezos_services = match rpc_server_family with | Rpc_types.Single_chain_node_rpc_server L2_types.Michelson -> let (module Backend : Services_backend_sig.S), _ = ctxt in - Evm_directory.init_from_resto_directory + let* l2_chain_id = + match l2_chain_id with + | Some l2_chain_id -> return l2_chain_id + | None -> Backend.chain_id () + in + return @@ Evm_directory.init_from_resto_directory @@ Tezos_services.register_tezlink_services + ~l2_chain_id (module Backend.Tezlink_backend) | Single_chain_node_rpc_server L2_types.EVM | Multichain_sequencer_rpc_server -> - Evm_directory.empty config.experimental_features.rpc_server + return @@ Evm_directory.empty config.experimental_features.rpc_server in (* If spawn_rpc is defined, use it as intermediate *) let rpc = diff --git a/etherlink/bin_node/lib_dev/rpc_server.mli b/etherlink/bin_node/lib_dev/rpc_server.mli index 99c7fb7476df..fe652fc5eca1 100644 --- a/etherlink/bin_node/lib_dev/rpc_server.mli +++ b/etherlink/bin_node/lib_dev/rpc_server.mli @@ -46,6 +46,7 @@ val start_private_server : performance metrics are enabled. *) val start_public_server : rpc_server_family:Rpc_types.rpc_server_family -> + l2_chain_id:L2_types.chain_id option -> ?delegate_health_check_to:Uri.t -> ?evm_services:evm_services_methods -> ?data_dir:string -> diff --git a/etherlink/bin_node/lib_dev/sequencer.ml b/etherlink/bin_node/lib_dev/sequencer.ml index e9721e084cde..bc905704665b 100644 --- a/etherlink/bin_node/lib_dev/sequencer.ml +++ b/etherlink/bin_node/lib_dev/sequencer.ml @@ -364,6 +364,7 @@ let main ~data_dir ?(genesis_timestamp = Misc.now ()) ~cctxt in let* finalizer_public_server = Rpc_server.start_public_server + ~l2_chain_id:None ~evm_services: Evm_ro_context.( evm_services_methods ro_ctxt sequencer_config.time_between_blocks) diff --git a/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml b/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml index 4add7659b688..ca029d49b84a 100644 --- a/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml +++ b/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml @@ -268,8 +268,8 @@ let build_block_dir (module Backend : Tezlink_backend_sig.S) = ~impl:(fun {block; chain} () () -> Backend.constants chain block) ~convert_output:Tezlink_constants.convert -(** Builds the root director. *) -let build_dir backend = +(** Builds the root directory. *) +let build_dir ~l2_chain_id backend = let helper_dir = build_block_dir backend in let root_directory = Tezos_rpc.Directory.prefix @@ -286,8 +286,8 @@ let build_dir backend = let tezlink_root = Tezos_rpc.Path.(open_root / "tezlink") (* module entrypoint *) -let register_tezlink_services backend = - let directory = build_dir backend in +let register_tezlink_services ~l2_chain_id backend = + let directory = build_dir ~l2_chain_id backend in let directory = Tezos_rpc.Directory.register_describe_directory_service directory diff --git a/etherlink/bin_node/lib_dev/tezlink/tezos_services.mli b/etherlink/bin_node/lib_dev/tezlink/tezos_services.mli index abf7bb537174..75816a06910d 100644 --- a/etherlink/bin_node/lib_dev/tezlink/tezos_services.mli +++ b/etherlink/bin_node/lib_dev/tezlink/tezos_services.mli @@ -7,4 +7,6 @@ (* THIS IS THE ENTRYPOINT *) val register_tezlink_services : - (module Tezlink_backend_sig.S) -> unit Tezos_rpc.Directory.t + l2_chain_id:L2_types.chain_id -> + (module Tezlink_backend_sig.S) -> + unit Tezos_rpc.Directory.t -- GitLab From 61167728b200379342ae87fde1e9e0373d40467a Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Thu, 17 Apr 2025 12:25:09 +0200 Subject: [PATCH 2/6] Tezlink: chain_id conversion Tezlink: chain_id type conversion --- etherlink/bin_node/lib_dev/tezlink/tezos_services.ml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml b/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml index ca029d49b84a..037f6dd35e73 100644 --- a/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml +++ b/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml @@ -26,6 +26,12 @@ module Protocol_types = struct else invalid_arg "Cycle_repr.of_int32_exn" end + let tezlink_to_tezos_chain_id_exn ~l2_chain_id _chain = + let (L2_types.Chain_id l2_chain_id) = l2_chain_id in + let bytes = Bytes.make 4 '\000' in + l2_chain_id |> Z.to_int32 |> Bytes.set_int32_be bytes 0 ; + Chain_id.of_bytes_exn bytes + module Level = struct type t = Alpha_context.Level.t -- GitLab From 551da7ecc262d921026bc12ebf285ec323f3a083 Mon Sep 17 00:00:00 2001 From: Dibassi Brahima Date: Thu, 24 Apr 2025 13:43:00 +0200 Subject: [PATCH 3/6] Tezlink/Node/RPC: Chain_id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Luciano Freitas Co-authored-by: Raphaƫl Cauderlier --- .../lib_dev/tezlink/tezos_services.ml | 36 +++++++++++++++---- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml b/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml index 037f6dd35e73..214cde45477e 100644 --- a/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml +++ b/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml @@ -100,11 +100,11 @@ let register_with_conversion ~service ~impl ~convert_output dir = let register ~service ~impl dir = Tezos_rpc.Directory.register dir service impl -(* TODO *) -type tezlink_rpc_context = { - block : Tezos_shell_services.Block_services.block; - chain : Tezos_shell_services.Chain_services.chain; -} +type block = Tezos_shell_services.Block_services.block + +type chain = Tezos_shell_services.Chain_services.chain + +type tezlink_rpc_context = {block : block; chain : chain} (** Builds a [tezlink_rpc_context] from paths parameters. *) let make_env (chain : Tezos_shell_services.Chain_services.chain) @@ -230,12 +230,18 @@ module Imported_services = struct Protocol_types.Alpha_context.Constants.t ) Tezos_rpc.Service.t = import_service Constants_services.all + + let chain_id : + ([`GET], chain, chain, unit, unit, Chain_id.t) Tezos_rpc.Service.t = + import_service Tezos_shell_services.Chain_services.S.chain_id end +let chain_directory_path = Tezos_shell_services.Chain_services.path + let block_directory_path = Tezos_rpc.Path.subst2 @@ Tezos_rpc.Path.prefix - Tezos_shell_services.Chain_services.path + chain_directory_path Tezos_shell_services.Block_services.path let protocols () = Lwt_result_syntax.return Tezlink_protocols.current @@ -274,6 +280,23 @@ let build_block_dir (module Backend : Tezlink_backend_sig.S) = ~impl:(fun {block; chain} () () -> Backend.constants chain block) ~convert_output:Tezlink_constants.convert +let register_chain_services ~l2_chain_id + (module Backend : Tezlink_backend_sig.S) base_dir = + let dir = + Tezos_rpc.Directory.empty + |> register_with_conversion + ~service:Imported_services.chain_id + ~impl:(fun chain () () -> + Lwt_result_syntax.return (l2_chain_id, chain)) + ~convert_output:(fun (l2_chain_id, chain) -> + Result_syntax.return + @@ Protocol_types.tezlink_to_tezos_chain_id_exn ~l2_chain_id chain) + |> Tezos_rpc.Directory.map (fun ((), chain) -> Lwt.return chain) + in + Tezos_rpc.Directory.merge + base_dir + (Tezos_rpc.Directory.prefix chain_directory_path dir) + (** Builds the root directory. *) let build_dir ~l2_chain_id backend = let helper_dir = build_block_dir backend in @@ -288,6 +311,7 @@ let build_dir ~l2_chain_id backend = root_directory Imported_services.version (fun () () () -> version ()) + |> register_chain_services ~l2_chain_id backend let tezlink_root = Tezos_rpc.Path.(open_root / "tezlink") -- GitLab From 158491d5160f0154e6a1f141d870aabf802b2a61 Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Tue, 29 Apr 2025 12:07:37 +0200 Subject: [PATCH 4/6] Tezlink/Tezt: test the chain_id RPC Co-authored-by: Dibassi Brahima --- etherlink/tezt/lib/test_helpers.ml | 12 ++++++++++++ etherlink/tezt/lib/test_helpers.mli | 5 +++++ etherlink/tezt/tests/evm_sequencer.ml | 24 +++++++++++++++++++++++- 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/etherlink/tezt/lib/test_helpers.ml b/etherlink/tezt/lib/test_helpers.ml index 84d798b6268d..dddffbaeb3b6 100644 --- a/etherlink/tezt/lib/test_helpers.ml +++ b/etherlink/tezt/lib/test_helpers.ml @@ -101,6 +101,18 @@ let produce_block ?(wait_on_blueprint_applied = true) ?timestamp evm_node = match res with Ok () -> return (Ok 0) | Error res -> return (Error res)) | _ -> assert false +let check_chain_id ~expected_chain_id ~chain_id = + let expected_chain_id = + let bytes = Bytes.create 4 in + Bytes.set_int32_be bytes 0 @@ Int32.of_int expected_chain_id ; + bytes |> Tezos_crypto.Hashed.Chain_id.of_bytes_exn + |> Tezos_crypto.Hashed.Chain_id.to_b58check + in + Check.( + (chain_id = expected_chain_id) + string + ~error_msg:"Expected %R as chain_id but got %L") + let next_evm_level ~evm_node ~sc_rollup_node ~client = match Evm_node.mode evm_node with | Proxy -> diff --git a/etherlink/tezt/lib/test_helpers.mli b/etherlink/tezt/lib/test_helpers.mli index bdd6a24b0ac0..12ec2a31b44e 100644 --- a/etherlink/tezt/lib/test_helpers.mli +++ b/etherlink/tezt/lib/test_helpers.mli @@ -86,6 +86,11 @@ val next_evm_level : client:Client.t -> unit Lwt.t +(** [check_chain_id ~expected_chain_id ~chain_id] checks that + the value received for chain_id is correct using the appropriate + type conversions. *) +val check_chain_id : expected_chain_id:int -> chain_id:string -> unit + (** Path to the directory containing sample inputs. *) val kernel_inputs_path : string diff --git a/etherlink/tezt/tests/evm_sequencer.ml b/etherlink/tezt/tests/evm_sequencer.ml index 667a8048d35d..8a59b5893f4a 100644 --- a/etherlink/tezt/tests/evm_sequencer.ml +++ b/etherlink/tezt/tests/evm_sequencer.ml @@ -675,6 +675,27 @@ let test_tezlink_constants = in unit +let test_tezlink_chain_id = + register_tezlink_test + ~title:"Test of the chain_id rpc" + ~tags:["rpc"; "chain_id"] + @@ fun {sequencer; client; l2_chains; _} _protocol -> + let expected_chain_id = + match l2_chains with + | [l2_chain] -> l2_chain.l2_chain_id + | _ -> Test.fail ~__LOC__ "Expected one l2 chain" + in + let endpoint = + Client.( + Foreign_endpoint + {(Evm_node.rpc_endpoint_record sequencer) with path = "tezlink"}) + in + let* chain_id = + Client.RPC.call ~hooks ~endpoint client @@ RPC.get_chain_chain_id () + in + check_chain_id ~expected_chain_id ~chain_id ; + unit + let test_make_l2_kernel_installer_config chain_family = Protocol.register_test ~__FILE__ @@ -13294,4 +13315,5 @@ let () = test_tezlink_protocols [Alpha] ; test_tezlink_version [Alpha] ; test_tezlink_constants [Alpha] ; - test_tezlink_produceBlock [Alpha] + test_tezlink_produceBlock [Alpha] ; + test_tezlink_chain_id [Alpha] -- GitLab From 233a9c255bb008a12a4029feb3494575b934b39b Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Tue, 29 Apr 2025 12:43:46 +0200 Subject: [PATCH 5/6] Tezlink: streamline service registration --- .../lib_dev/tezlink/tezos_services.ml | 73 +++++++++---------- 1 file changed, 35 insertions(+), 38 deletions(-) diff --git a/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml b/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml index 214cde45477e..c3c556658d6b 100644 --- a/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml +++ b/etherlink/bin_node/lib_dev/tezlink/tezos_services.ml @@ -251,34 +251,39 @@ let version () = Lwt_result_syntax.return Tezlink_version.mock (** Builds the directory registering services under `/chains/
/blocks//...`. *) -let build_block_dir (module Backend : Tezlink_backend_sig.S) = - let dir : tezlink_rpc_context Tezos_rpc.Directory.t = +let register_block_services (module Backend : Tezlink_backend_sig.S) base_dir = + let dir = Tezos_rpc.Directory.empty + |> register_with_conversion + ~service:Imported_services.current_level + ~impl:(fun {block; chain} query () -> + Backend.current_level chain block ~offset:query.offset) + ~convert_output:Protocol_types.Level.convert + |> register ~service:Imported_services.protocols ~impl:(fun _ _ () -> + protocols ()) + |> register + ~service:Imported_services.balance + ~impl:(fun ({chain; block}, contract) _ _ -> + Backend.balance chain block contract) + |> register_with_conversion + ~service:Imported_services.manager_key + ~impl:(fun ({chain; block}, contract) _ _ -> + Backend.manager_key chain block contract) + ~convert_output:(function + | None -> Result.return_none + | Some pk -> + Result.map Option.some @@ Protocol_types.Public_key.convert pk) + |> register_with_conversion + ~service:Imported_services.constants + ~impl:(fun {block; chain} () () -> Backend.constants chain block) + ~convert_output:Tezlink_constants.convert in - dir - |> register_with_conversion - ~service:Imported_services.current_level - ~impl:(fun {block; chain} query () -> - Backend.current_level chain block ~offset:query.offset) - ~convert_output:Protocol_types.Level.convert - |> register ~service:Imported_services.protocols ~impl:(fun _ _ () -> - protocols ()) - |> register - ~service:Imported_services.balance - ~impl:(fun ({chain; block}, contract) _ _ -> - Backend.balance chain block contract) - |> register_with_conversion - ~service:Imported_services.manager_key - ~impl:(fun ({chain; block}, contract) _ _ -> - Backend.manager_key chain block contract) - ~convert_output:(function - | None -> Result.return_none - | Some pk -> - Result.map Option.some @@ Protocol_types.Public_key.convert pk) - |> register_with_conversion - ~service:Imported_services.constants - ~impl:(fun {block; chain} () () -> Backend.constants chain block) - ~convert_output:Tezlink_constants.convert + Tezos_rpc.Directory.prefix + block_directory_path + (Tezos_rpc.Directory.map + (fun (((), chain), block) -> make_env chain block) + dir) + |> Tezos_rpc.Directory.merge base_dir let register_chain_services ~l2_chain_id (module Backend : Tezlink_backend_sig.S) base_dir = @@ -299,19 +304,11 @@ let register_chain_services ~l2_chain_id (** Builds the root directory. *) let build_dir ~l2_chain_id backend = - let helper_dir = build_block_dir backend in - let root_directory = - Tezos_rpc.Directory.prefix - block_directory_path - (Tezos_rpc.Directory.map - (fun (((), chain), block) -> make_env chain block) - helper_dir) - in - Tezos_rpc.Directory.register - root_directory - Imported_services.version - (fun () () () -> version ()) + Tezos_rpc.Directory.empty + |> register_block_services backend |> register_chain_services ~l2_chain_id backend + |> register ~service:Imported_services.version ~impl:(fun () () () -> + version ()) let tezlink_root = Tezos_rpc.Path.(open_root / "tezlink") -- GitLab From fb38f17aa531267cfd52006b07b311f145eb8e46 Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Tue, 29 Apr 2025 15:48:22 +0200 Subject: [PATCH 6/6] Tezt: update regressions --- .../Alpha- Test the -describe endpoint.out | 75 ++++++++++--------- 1 file changed, 41 insertions(+), 34 deletions(-) diff --git a/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Test the -describe endpoint.out b/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Test the -describe endpoint.out index fa39a1b94031..39cd7ca387ce 100644 --- a/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Test the -describe endpoint.out +++ b/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Test the -describe endpoint.out @@ -24,23 +24,27 @@ Available services: - GET /health_check Assess the health of the RPC server + tezlink/ - + chains//blocks// - + context/ - - GET /tezlink/chains//blocks//context/constants - All constants - - GET /tezlink/chains//blocks//context/contracts//balance - The spendable balance of a contract (in mutez), also known as - liquid balance. Corresponds to tez owned by the contract that are - neither staked, nor in unstaked requests, nor in frozen bonds. - Identical to the 'spendable' RPC. - - GET /tezlink/chains//blocks//context/contracts//manager_key - Access the manager of an implicit contract. - - GET /tezlink/chains//blocks//helpers/current_level - Returns the level of the interrogated block, or the one of a block - located `offset` blocks after it in the chain. For instance, the - next block if `offset` is 1. The offset cannot be negative. - - GET /tezlink/chains//blocks//protocols - Current and next protocol. + + chains// + + blocks// + + context/ + - GET /tezlink/chains//blocks//context/constants + All constants + - GET /tezlink/chains//blocks//context/contracts//balance + The spendable balance of a contract (in mutez), also known as + liquid balance. Corresponds to tez owned by the contract that + are neither staked, nor in unstaked requests, nor in frozen + bonds. Identical to the 'spendable' RPC. + - GET /tezlink/chains//blocks//context/contracts//manager_key + Access the manager of an implicit contract. + - GET /tezlink/chains//blocks//helpers/current_level + Returns the level of the interrogated block, or the one of a + block located `offset` blocks after it in the chain. For + instance, the next block if `offset` is 1. The offset cannot be + negative. + - GET /tezlink/chains//blocks//protocols + Current and next protocol. + - GET /tezlink/chains//chain_id + The chain unique identifier. - GET /tezlink/describe RPCs documentation and input/output schema - GET /tezlink/version @@ -80,23 +84,26 @@ Warning: Available services: - + chains//blocks// - + context/ - - GET /chains//blocks//context/constants - All constants - - GET /chains//blocks//context/contracts//balance - The spendable balance of a contract (in mutez), also known as - liquid balance. Corresponds to tez owned by the contract that are - neither staked, nor in unstaked requests, nor in frozen bonds. - Identical to the 'spendable' RPC. - - GET /chains//blocks//context/contracts//manager_key - Access the manager of an implicit contract. - - GET /chains//blocks//helpers/current_level - Returns the level of the interrogated block, or the one of a block - located `offset` blocks after it in the chain. For instance, the next - block if `offset` is 1. The offset cannot be negative. - - GET /chains//blocks//protocols - Current and next protocol. + + chains// + + blocks// + + context/ + - GET /chains//blocks//context/constants + All constants + - GET /chains//blocks//context/contracts//balance + The spendable balance of a contract (in mutez), also known as + liquid balance. Corresponds to tez owned by the contract that are + neither staked, nor in unstaked requests, nor in frozen bonds. + Identical to the 'spendable' RPC. + - GET /chains//blocks//context/contracts//manager_key + Access the manager of an implicit contract. + - GET /chains//blocks//helpers/current_level + Returns the level of the interrogated block, or the one of a block + located `offset` blocks after it in the chain. For instance, the + next block if `offset` is 1. The offset cannot be negative. + - GET /chains//blocks//protocols + Current and next protocol. + - GET /chains//chain_id + The chain unique identifier. - GET /version Get information on the node version -- GitLab