From 9a9b60984a05b22ddc535bd1754d4673e97e5ece Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Tue, 8 Apr 2025 14:53:56 +0200 Subject: [PATCH 1/8] Tezlink: get constants directly --- etherlink/bin_node/lib_dev/observer.ml | 5 +---- etherlink/bin_node/lib_dev/proxy.ml | 4 +--- etherlink/bin_node/lib_dev/rpc.ml | 4 +--- etherlink/bin_node/lib_dev/tezlink_services_impl.ml | 11 ++++++----- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/etherlink/bin_node/lib_dev/observer.ml b/etherlink/bin_node/lib_dev/observer.ml index d4a51fd98095..29535a7577f7 100644 --- a/etherlink/bin_node/lib_dev/observer.ml +++ b/etherlink/bin_node/lib_dev/observer.ml @@ -250,10 +250,7 @@ let main ?network ?kernel_path ~data_dir ~(config : Configuration.t) ~no_sync ?tezlink_services: (if chain_family = Michelson then Some - Tezlink_services_impl.( - michelson_services_methods - observer_backend - Tezlink_constants.mainnet) + Tezlink_services_impl.(michelson_services_methods observer_backend) else None) Stateless config diff --git a/etherlink/bin_node/lib_dev/proxy.ml b/etherlink/bin_node/lib_dev/proxy.ml index c3e3d6266306..f7e77850047b 100644 --- a/etherlink/bin_node/lib_dev/proxy.ml +++ b/etherlink/bin_node/lib_dev/proxy.ml @@ -217,9 +217,7 @@ let main (if chain_family = Michelson then Some Tezlink_services_impl.( - michelson_services_methods - (module Rollup_node_rpc) - Tezlink_constants.mainnet) + michelson_services_methods (module Rollup_node_rpc)) else None) validation_mode config diff --git a/etherlink/bin_node/lib_dev/rpc.ml b/etherlink/bin_node/lib_dev/rpc.ml index fec9cf18698f..ac18903f4e5d 100644 --- a/etherlink/bin_node/lib_dev/rpc.ml +++ b/etherlink/bin_node/lib_dev/rpc.ml @@ -234,9 +234,7 @@ let main ~data_dir ~evm_node_endpoint ?evm_node_private_endpoint ~rpc_server_family:(Rpc_types.Single_chain_node_rpc_server chain_family) ?tezlink_services: (if chain_family = L2_types.Michelson then - Some - Tezlink_services_impl.( - michelson_services_methods rpc_backend Tezlink_constants.mainnet) + Some Tezlink_services_impl.(michelson_services_methods rpc_backend) else None) Stateless rpc_config diff --git a/etherlink/bin_node/lib_dev/tezlink_services_impl.ml b/etherlink/bin_node/lib_dev/tezlink_services_impl.ml index 551491741cb7..0339c9ae1b14 100644 --- a/etherlink/bin_node/lib_dev/tezlink_services_impl.ml +++ b/etherlink/bin_node/lib_dev/tezlink_services_impl.ml @@ -7,10 +7,11 @@ open Tezos_services -let current_level (module Backend : Services_backend_sig.S) - (constants : Imported_protocol.Alpha_context.Constants.Parametric.t) chain - block level_query = +let current_level (module Backend : Services_backend_sig.S) chain block + level_query = let open Lwt_result_syntax in + let constants = Tezlink_constants.mainnet in + let* offset = (* Tezos l1 requires non-negative offset #7845 *) if level_query.offset >= 0l then return level_query.offset @@ -49,9 +50,9 @@ let current_level (module Backend : Services_backend_sig.S) cycle_position = Int32.rem level constants.blocks_per_cycle; } -let michelson_services_methods backend constants = +let michelson_services_methods backend = { - current_level = current_level backend constants; + current_level = current_level backend; version = (fun () -> (* TODO: #7857 need proper implementation *) -- GitLab From 7ab14583577ab8e7206d6bdb7f946d8a9cf0bbaa Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Tue, 8 Apr 2025 15:24:06 +0200 Subject: [PATCH 2/8] Tezlink: add constant types to tezos_services MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Raphaël Cauderlier --- etherlink/bin_node/lib_dev/tezos_services.ml | 50 +++++++++++++++++++ etherlink/bin_node/lib_dev/tezos_services.mli | 16 ++++++ 2 files changed, 66 insertions(+) diff --git a/etherlink/bin_node/lib_dev/tezos_services.ml b/etherlink/bin_node/lib_dev/tezos_services.ml index 31215241f9fd..af57cf3ba313 100644 --- a/etherlink/bin_node/lib_dev/tezos_services.ml +++ b/etherlink/bin_node/lib_dev/tezos_services.ml @@ -9,6 +9,7 @@ module Imported_protocol = Tezos_protocol_021_PsQuebec.Protocol module Imported_protocol_plugin = Tezos_protocol_plugin_021_PsQuebec module Imported_protocol_parameters = Tezos_protocol_021_PsQuebec_parameters module Imported_env = Tezos_protocol_environment_021_PsQuebec +module Alpha_context = Imported_protocol.Alpha_context (* The output type of the current_level service but with less duplicated information. Can be changed, as long as the [conversion_encoding] is also @@ -123,6 +124,55 @@ module Protocol_types = struct |> Option.value ~default:Alpha_context.Tez.zero |> Result_syntax.return end + + module Constants = struct + type fixed = Alpha_context.Constants.fixed + + type parametric = Alpha_context.Constants.Parametric.t + + type t = {fixed : fixed; parametric : parametric} + + let fixed_values_encoding = + let open Data_encoding in + merge_objs + (obj10 + (req "proof_of_work_nonce_size" uint8) + (req "nonce_length" uint8) + (req "max_anon_ops_per_block" uint8) + (req "max_operation_data_length" int31) + (req "max_proposals_per_delegate" uint8) + (req "max_micheline_node_count" int31) + (req "max_micheline_bytes_limit" int31) + (req "max_allowed_global_constants_depth" int31) + (req "cache_layout_size" uint8) + (req "michelson_maximum_type_size" uint16)) + (obj4 + (req "max_slashing_period" uint8) + (req "smart_rollup_max_wrapped_proof_binary_size" int31) + (req "smart_rollup_message_size_limit" int31) + (req "smart_rollup_max_number_of_messages_per_level" n)) + + let values_to_fixed = + convert_using_serialization + ~name:"values_to_fixed" + ~dst:Alpha_context.Constants.fixed_encoding + ~src:fixed_values_encoding + + let constants_encoding = + let open Data_encoding in + conv + (fun {fixed; parametric} -> (fixed, parametric)) + (fun (fixed, parametric) -> {fixed; parametric}) + (obj2 + (req "fixed" Alpha_context.Constants.fixed_encoding) + (req "parametric" Alpha_context.Constants.Parametric.encoding)) + + let _convert : t -> Alpha_context.Constants.t tzresult = + convert_using_serialization + ~name:"constants" + ~dst:Alpha_context.Constants.encoding + ~src:constants_encoding + end end (** [wrap conversion service_implementation] changes the output type diff --git a/etherlink/bin_node/lib_dev/tezos_services.mli b/etherlink/bin_node/lib_dev/tezos_services.mli index 54ec9a18dc38..aeb244cd05d5 100644 --- a/etherlink/bin_node/lib_dev/tezos_services.mli +++ b/etherlink/bin_node/lib_dev/tezos_services.mli @@ -7,6 +7,7 @@ module Imported_protocol = Tezos_protocol_021_PsQuebec.Protocol module Imported_protocol_parameters = Tezos_protocol_021_PsQuebec_parameters +module Alpha_context = Imported_protocol.Alpha_context module Tezlink_protocols : sig type protocols @@ -20,6 +21,21 @@ module Tezlink_version : sig val mock : version end +module Protocol_types : sig + module Constants : sig + type fixed = Alpha_context.Constants.fixed + + type parametric = Alpha_context.Constants.Parametric.t + + type t = {fixed : fixed; parametric : parametric} + + val values_to_fixed : + (int * int * int * int * int * int * int * int * int * int) + * (int * int * int * Z.t) -> + (fixed, error trace) result + end +end + type level = { level : int32; (** The level of the block relative to genesis. This -- GitLab From 68ac3be7278bc4d5d271b843d31f3b724e011dcf Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Tue, 8 Apr 2025 14:55:23 +0200 Subject: [PATCH 3/8] Tezlink: add fixed constants to tezlink MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Raphaël Cauderlier --- .../bin_node/lib_dev/tezlink_constants.ml | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/etherlink/bin_node/lib_dev/tezlink_constants.ml b/etherlink/bin_node/lib_dev/tezlink_constants.ml index 89467909650a..41c72d552f93 100644 --- a/etherlink/bin_node/lib_dev/tezlink_constants.ml +++ b/etherlink/bin_node/lib_dev/tezlink_constants.ml @@ -8,3 +8,33 @@ let mainnet = Tezos_services.Imported_protocol_parameters.Default_parameters .constants_mainnet + +let ( proof_of_work_nonce_size, + nonce_length, + max_anon_ops_per_block, + max_operation_data_length, + max_proposals_per_delegate, + max_micheline_node_count, + max_micheline_bytes_limit, + max_allowed_global_constant_depth, + cache_layout_size, + michelson_maximum_type_size, + max_slashing_period, + sc_max_wrapped_proof_binary_size, + sc_rollup_message_size_limit, + sc_rollup_max_number_of_messages_per_level ) = + Tezos_services.Imported_protocol.Constants_repr. + ( proof_of_work_nonce_size, + nonce_length, + max_anon_ops_per_block, + max_operation_data_length, + max_proposals_per_delegate, + max_micheline_node_count, + max_micheline_bytes_limit, + max_allowed_global_constant_depth, + cache_layout_size, + michelson_maximum_type_size, + max_slashing_period, + sc_max_wrapped_proof_binary_size, + sc_rollup_message_size_limit, + sc_rollup_max_number_of_messages_per_level ) -- GitLab From 2f173e9a84f257f99d2f2f4216d439b8722e0760 Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Tue, 8 Apr 2025 14:57:18 +0200 Subject: [PATCH 4/8] Tezlink: implement constants RPC --- .../bin_node/lib_dev/tezlink_services_impl.ml | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/etherlink/bin_node/lib_dev/tezlink_services_impl.ml b/etherlink/bin_node/lib_dev/tezlink_services_impl.ml index 0339c9ae1b14..acd68922d7a5 100644 --- a/etherlink/bin_node/lib_dev/tezlink_services_impl.ml +++ b/etherlink/bin_node/lib_dev/tezlink_services_impl.ml @@ -50,6 +50,59 @@ let current_level (module Backend : Services_backend_sig.S) chain block cycle_position = Int32.rem level constants.blocks_per_cycle; } +let _constants chain block = + let open Lwt_result_syntax in + (* TODO: #7831 + take chain into account + For the moment this implementation only supports the main chain, once + the rpc support of tezlink is more stable, we can add support for other chains *) + let* () = + match chain with `Main -> return_unit | _ -> failwith "Unsupported chain" + in + + (* TODO: #7831 + take block into account + For the moment this implementation only supports the head block, once + the rpc support of tezlink is more stable, we can add support for other blocks *) + let* () = + match block with + | `Head _ -> return_unit + | _ -> failwith "Unsupported block" + in + + let fixed_values = + Tezlink_constants. + ( ( proof_of_work_nonce_size, + nonce_length, + max_anon_ops_per_block, + max_operation_data_length, + max_proposals_per_delegate, + max_micheline_node_count, + max_micheline_bytes_limit, + max_allowed_global_constant_depth, + cache_layout_size, + michelson_maximum_type_size ), + ( max_slashing_period, + sc_max_wrapped_proof_binary_size, + sc_rollup_message_size_limit, + sc_rollup_max_number_of_messages_per_level ) ) + in + + let* fixed = + match + Tezos_services.Protocol_types.Constants.values_to_fixed fixed_values + with + | Ok fixed -> return fixed + | Error err -> + failwith + "Failed to get fixed constants: %a" + Error_monad.pp_print_trace + err + in + return + Tezos_services.Protocol_types.Constants. + {fixed; parametric = Tezlink_constants.mainnet} + let michelson_services_methods backend = { current_level = current_level backend; -- GitLab From 14e4b21d316bacdea651827f133d4956a98e3ff7 Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Tue, 8 Apr 2025 16:29:10 +0200 Subject: [PATCH 5/8] Tezlink: import constant services --- etherlink/bin_node/lib_dev/tezos_services.ml | 30 ++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/etherlink/bin_node/lib_dev/tezos_services.ml b/etherlink/bin_node/lib_dev/tezos_services.ml index af57cf3ba313..c0fab47b15a7 100644 --- a/etherlink/bin_node/lib_dev/tezos_services.ml +++ b/etherlink/bin_node/lib_dev/tezos_services.ml @@ -237,6 +237,26 @@ module Tezlink_protocols = struct let current = Shell_impl.{current_protocol = quebec; next_protocol = quebec} end +(* Copied from src/proto_alpha/lib_protocol/constants_services.ml. *) +(* TODO: #7875 + Import from the protocol once it is exposed instead of copying it here. *) +module Constants_services = struct + module RPC_path = Tezos_rpc.Path + module RPC_service = Tezos_rpc.Service + module RPC_query = Tezos_rpc.Query + + let custom_root = + (RPC_path.(open_root / "context" / "constants") + : tezlink_rpc_context RPC_path.context) + + let all = + RPC_service.get_service + ~description:"All constants" + ~query:RPC_query.empty + ~output:Alpha_context.Constants.encoding + custom_root +end + (* This is where we import service declarations from the protocol. *) module Imported_services = struct module Protocol_plugin_services = Imported_protocol_plugin.RPC.S @@ -298,6 +318,16 @@ module Imported_services = struct ~query:Tezos_rpc.Query.empty ~output:Protocol_types.Tez.encoding (contract_arg_path "balance") + + let _constants : + ( [`GET], + tezlink_rpc_context, + tezlink_rpc_context, + unit, + unit, + Protocol_types.Alpha_context.Constants.t ) + Tezos_rpc.Service.t = + import_service Constants_services.all end type block = Tezos_shell_services.Block_services.block -- GitLab From cfbea58ae82a250846f14b88f113147710872dd9 Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Tue, 8 Apr 2025 16:29:39 +0200 Subject: [PATCH 6/8] Tezlink: register constant services --- etherlink/bin_node/lib_dev/tezlink_services_impl.ml | 3 ++- etherlink/bin_node/lib_dev/tezos_services.ml | 12 +++++++++--- etherlink/bin_node/lib_dev/tezos_services.mli | 4 +++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/etherlink/bin_node/lib_dev/tezlink_services_impl.ml b/etherlink/bin_node/lib_dev/tezlink_services_impl.ml index acd68922d7a5..87004ccd23e9 100644 --- a/etherlink/bin_node/lib_dev/tezlink_services_impl.ml +++ b/etherlink/bin_node/lib_dev/tezlink_services_impl.ml @@ -50,7 +50,7 @@ let current_level (module Backend : Services_backend_sig.S) chain block cycle_position = Int32.rem level constants.blocks_per_cycle; } -let _constants chain block = +let constants chain block = let open Lwt_result_syntax in (* TODO: #7831 take chain into account @@ -114,4 +114,5 @@ let michelson_services_methods backend = balance = (fun _ _ _ -> Lwt_result_syntax.return @@ Ethereum_types.quantity_of_z Z.one); + constants; } diff --git a/etherlink/bin_node/lib_dev/tezos_services.ml b/etherlink/bin_node/lib_dev/tezos_services.ml index c0fab47b15a7..acbbbc8bc2ff 100644 --- a/etherlink/bin_node/lib_dev/tezos_services.ml +++ b/etherlink/bin_node/lib_dev/tezos_services.ml @@ -167,7 +167,7 @@ module Protocol_types = struct (req "fixed" Alpha_context.Constants.fixed_encoding) (req "parametric" Alpha_context.Constants.Parametric.encoding)) - let _convert : t -> Alpha_context.Constants.t tzresult = + let convert : t -> Alpha_context.Constants.t tzresult = convert_using_serialization ~name:"constants" ~dst:Alpha_context.Constants.encoding @@ -319,7 +319,7 @@ module Imported_services = struct ~output:Protocol_types.Tez.encoding (contract_arg_path "balance") - let _constants : + let constants : ( [`GET], tezlink_rpc_context, tezlink_rpc_context, @@ -347,7 +347,9 @@ type tezos_services_implementation = { chain -> block -> Imported_services.level_query -> level tzresult Lwt.t; version : unit -> Tezlink_version.version tzresult Lwt.t; protocols : unit -> Tezlink_protocols.protocols tzresult Lwt.t; - balance : chain -> block -> contract -> Ethereum_types.quantity tzresult Lwt.t; + balance : + chain -> block -> contract -> Ethereum_types.quantity tzresult Lwt.t; + constants : chain -> block -> Protocol_types.Constants.t tzresult Lwt.t; } (** Builds the directory registering services under `/chains/
/blocks//...`. *) @@ -368,6 +370,10 @@ let build_block_dir impl = ~impl:(fun ({block; chain}, contract) _ _ -> impl.balance chain block contract) ~convert_output:Protocol_types.Tez.convert + |> register_with_conversion + ~service:Imported_services.constants + ~impl:(fun {block; chain} () () -> impl.constants chain block) + ~convert_output:Protocol_types.Constants.convert (** Builds the root director. *) let build_dir impl = diff --git a/etherlink/bin_node/lib_dev/tezos_services.mli b/etherlink/bin_node/lib_dev/tezos_services.mli index aeb244cd05d5..7ecc6c0a130c 100644 --- a/etherlink/bin_node/lib_dev/tezos_services.mli +++ b/etherlink/bin_node/lib_dev/tezos_services.mli @@ -65,7 +65,9 @@ type tezos_services_implementation = { current_level : chain -> block -> level_query -> level tzresult Lwt.t; version : unit -> Tezlink_version.version tzresult Lwt.t; protocols : unit -> Tezlink_protocols.protocols tzresult Lwt.t; - balance : chain -> block -> contract -> Ethereum_types.quantity tzresult Lwt.t; + balance : + chain -> block -> contract -> Ethereum_types.quantity tzresult Lwt.t; + constants : chain -> block -> Protocol_types.Constants.t tzresult Lwt.t; } (* THIS IS THE ENTRYPOINT *) -- GitLab From d44af1f6c75c8478c8d6a88a584794b567299f7c Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Tue, 8 Apr 2025 17:40:52 +0200 Subject: [PATCH 7/8] Tezlink/Tezt: add constants RPC test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Raphaël Cauderlier --- etherlink/tezt/tests/evm_sequencer.ml | 45 +++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/etherlink/tezt/tests/evm_sequencer.ml b/etherlink/tezt/tests/evm_sequencer.ml index 8a89f9dfb8e2..b178efdd955a 100644 --- a/etherlink/tezt/tests/evm_sequencer.ml +++ b/etherlink/tezt/tests/evm_sequencer.ml @@ -600,6 +600,50 @@ let test_tezlink_version = ~error_msg:"Expected version %R but got %L") ; unit +let test_tezlink_constants = + Protocol.register_regression_test + ~title:"Test of the constants rpc" + ~tags:["tezlink"; "rpc"; "constants"] + ~__FILE__ + ~uses:(fun _protocol -> + [ + Constant.octez_evm_node; + Constant.octez_client; + Constant.WASM.evm_kernel; + Constant.octez_smart_rollup_node; + Constant.smart_rollup_installer; + ]) + @@ fun protocol -> + let l2_chains = + [ + { + (Evm_node.default_l2_setup ~l2_chain_id:12) with + l2_chain_family = "Michelson"; + }; + ] + in + let* {sequencer; client; _} = + Setup.setup_sequencer + ~mainnet_compat:false + ~enable_dal:false + ~enable_multichain:true + ~l2_chains + ~rpc_server:Evm_node.Resto + ~spawn_rpc:(Port.fresh ()) + protocol + in + let hooks = Tezos_regression.hooks in + let endpoint = + Client.( + Foreign_endpoint + {(Evm_node.rpc_endpoint_record sequencer) with path = "tezlink"}) + in + let* _ = + Client.RPC.call ~hooks ~endpoint client + @@ RPC.get_chain_block_context_constants () + in + unit + let test_make_l2_kernel_installer_config chain_family = Protocol.register_test ~__FILE__ @@ -12888,4 +12932,5 @@ let () = test_tezlink_balance [Alpha] ; test_tezlink_protocols [Alpha] ; test_tezlink_version [Alpha] ; + test_tezlink_constants [Alpha] ; test_tezlink_produceBlock [Alpha] -- GitLab From 56a64b43fd6acc46dbed6ce0c1cde819d93795e8 Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Tue, 8 Apr 2025 17:44:46 +0200 Subject: [PATCH 8/8] EVM Node: update regression tests --- .../Alpha- Test of the constants rpc.out | 79 +++++++++++++++++++ .../Alpha- Test the -describe endpoint.out | 2 + .../Quebec- Test the -describe endpoint.out | 2 + .../R022-- Test the -describe endpoint.out | 2 + 4 files changed, 85 insertions(+) create mode 100644 etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Test of the constants rpc.out diff --git a/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Test of the constants rpc.out b/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Test of the constants rpc.out new file mode 100644 index 000000000000..739d8f3e6422 --- /dev/null +++ b/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Test of the constants rpc.out @@ -0,0 +1,79 @@ + +./octez-client rpc get /chains/main/blocks/head/context/constants +{ "proof_of_work_nonce_size": 8, "nonce_length": 32, + "max_anon_ops_per_block": 132, "max_operation_data_length": 32768, + "max_proposals_per_delegate": 20, "max_micheline_node_count": 50000, + "max_micheline_bytes_limit": 50000, + "max_allowed_global_constants_depth": 10000, "cache_layout_size": 3, + "michelson_maximum_type_size": 2001, "max_slashing_period": 2, + "smart_rollup_max_wrapped_proof_binary_size": 30000, + "smart_rollup_message_size_limit": 4096, + "smart_rollup_max_number_of_messages_per_level": "1000000", + "consensus_rights_delay": 2, "blocks_preservation_cycles": 1, + "delegate_parameters_activation_delay": 5, "blocks_per_cycle": 30720, + "blocks_per_commitment": 240, "nonce_revelation_threshold": 960, + "cycles_per_voting_period": 5, "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "1386666", + "proof_of_work_threshold": "281474976710655", + "minimal_stake": "6000000000", "minimal_frozen_stake": "600000000", + "vdf_difficulty": "8000000000", "origination_size": 257, + "issuance_weights": + { "base_total_issued_per_minute": "80007812", + "baking_reward_fixed_portion_weight": 5120, + "baking_reward_bonus_weight": 5120, "attesting_reward_weight": 10240, + "seed_nonce_revelation_tip_weight": 1, "vdf_revelation_tip_weight": 1 }, + "cost_per_byte": "250", "hard_storage_limit_per_operation": "60000", + "quorum_min": 2000, "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "5000000", + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 450, "minimal_block_delay": "8", + "delay_increment_per_round": "4", "consensus_committee_size": 7000, + "consensus_threshold": 4667, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "limit_of_delegation_over_baking": 9, + "percentage_of_frozen_deposits_slashed_per_double_baking": 500, + "percentage_of_frozen_deposits_slashed_per_double_attestation": 5000, + "max_slashing_per_block": 10000, "max_slashing_threshold": 2334, + "cache_script_size": 100000000, "cache_stake_distribution_cycles": 8, + "cache_sampler_state_cycles": 8, + "dal_parametric": + { "feature_enable": true, "incentives_enable": false, + "number_of_slots": 32, "attestation_lag": 8, + "attestation_threshold": 66, "redundancy_factor": 8, "page_size": 3967, + "slot_size": 126944, "number_of_shards": 512 }, + "smart_rollup_arith_pvm_enable": false, + "smart_rollup_origination_size": 6314, + "smart_rollup_challenge_window_in_blocks": 151200, + "smart_rollup_stake_amount": "10000000000", + "smart_rollup_commitment_period_in_blocks": 112, + "smart_rollup_max_lookahead_in_blocks": 324000, + "smart_rollup_max_active_outbox_levels": 151200, + "smart_rollup_max_outbox_messages_per_level": 100, + "smart_rollup_number_of_sections_in_dissection": 32, + "smart_rollup_timeout_period_in_blocks": 75600, + "smart_rollup_max_number_of_cemented_commitments": 5, + "smart_rollup_max_number_of_parallel_games": 32, + "smart_rollup_reveal_activation_level": + { "raw_data": { "Blake2B": 0 }, "metadata": 0, "dal_page": 1, + "dal_parameters": 1, "dal_attested_slots_validity_lag": 241920 }, + "smart_rollup_private_enable": true, + "smart_rollup_riscv_pvm_enable": false, "zk_rollup_enable": false, + "zk_rollup_origination_size": 4000, "zk_rollup_min_pending_to_process": 10, + "zk_rollup_max_ticket_payload_size": 2048, + "global_limit_of_staking_over_baking": 9, + "edge_of_staking_over_delegation": 3, + "adaptive_issuance_launch_ema_threshold": 0, + "adaptive_rewards_params": + { "issuance_ratio_final_min": { "numerator": "1", "denominator": "400" }, + "issuance_ratio_final_max": { "numerator": "1", "denominator": "10" }, + "issuance_ratio_initial_min": + { "numerator": "9", "denominator": "200" }, + "issuance_ratio_initial_max": + { "numerator": "11", "denominator": "200" }, "initial_period": 10, + "transition_period": 50, "max_bonus": "50000000000000", + "growth_rate": { "numerator": "1", "denominator": "100" }, + "center_dz": { "numerator": "1", "denominator": "2" }, + "radius_dz": { "numerator": "1", "denominator": "50" } }, + "adaptive_issuance_activation_vote_enable": true, + "autostaking_enable": true, "adaptive_issuance_force_activation": false, + "ns_enable": true, "direct_ticket_spending_enable": false } 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 9c44e8f67d64..a08b05e6fea9 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 @@ -25,6 +25,8 @@ Available services: Assess the health of the RPC server + tezlink/ + chains//blocks// + - 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 diff --git a/etherlink/tezt/tests/expected/evm_sequencer.ml/Quebec- Test the -describe endpoint.out b/etherlink/tezt/tests/expected/evm_sequencer.ml/Quebec- Test the -describe endpoint.out index 9c44e8f67d64..a08b05e6fea9 100644 --- a/etherlink/tezt/tests/expected/evm_sequencer.ml/Quebec- Test the -describe endpoint.out +++ b/etherlink/tezt/tests/expected/evm_sequencer.ml/Quebec- Test the -describe endpoint.out @@ -25,6 +25,8 @@ Available services: Assess the health of the RPC server + tezlink/ + chains//blocks// + - 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 diff --git a/etherlink/tezt/tests/expected/evm_sequencer.ml/R022-- Test the -describe endpoint.out b/etherlink/tezt/tests/expected/evm_sequencer.ml/R022-- Test the -describe endpoint.out index 9c44e8f67d64..a08b05e6fea9 100644 --- a/etherlink/tezt/tests/expected/evm_sequencer.ml/R022-- Test the -describe endpoint.out +++ b/etherlink/tezt/tests/expected/evm_sequencer.ml/R022-- Test the -describe endpoint.out @@ -25,6 +25,8 @@ Available services: Assess the health of the RPC server + tezlink/ + chains//blocks// + - 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 -- GitLab