From 38f9be2544f039bd4192d8fcbcdec864257e6f6b Mon Sep 17 00:00:00 2001 From: Philippe Wang Date: Thu, 20 Apr 2023 15:55:12 -0700 Subject: [PATCH 1/3] add adaptive_inflation feature flag (1/2) --- .../lib_parameters/default_parameters.ml | 1 + .../lib_protocol/alpha_context.mli | 3 +++ .../lib_protocol/constants_parametric_repr.ml | 23 ++++++++++++++++--- .../constants_parametric_repr.mli | 3 +++ src/proto_alpha/lib_protocol/raw_context.ml | 2 ++ 5 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/lib_parameters/default_parameters.ml b/src/proto_alpha/lib_parameters/default_parameters.ml index 386ef648c32e..ba10b85e6249 100644 --- a/src/proto_alpha/lib_parameters/default_parameters.ml +++ b/src/proto_alpha/lib_parameters/default_parameters.ml @@ -274,6 +274,7 @@ let constants_mainnet = origination_size = 4_000; min_pending_to_process = 10; }; + adaptive_inflation = {enable = false}; } (* Sandbox and test networks's Dal cryptobox are computed by this function: diff --git a/src/proto_alpha/lib_protocol/alpha_context.mli b/src/proto_alpha/lib_protocol/alpha_context.mli index fb356b07c15b..e5e2fd254562 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.mli +++ b/src/proto_alpha/lib_protocol/alpha_context.mli @@ -840,6 +840,8 @@ module Constants : sig min_pending_to_process : int; } + type adaptive_inflation = {enable : bool} + type t = { preserved_cycles : int; blocks_per_cycle : int32; @@ -883,6 +885,7 @@ module Constants : sig dal : dal; sc_rollup : sc_rollup; zk_rollup : zk_rollup; + adaptive_inflation : adaptive_inflation; } val encoding : t Data_encoding.t diff --git a/src/proto_alpha/lib_protocol/constants_parametric_repr.ml b/src/proto_alpha/lib_protocol/constants_parametric_repr.ml index 918a77b9190c..c504aeeb7cf9 100644 --- a/src/proto_alpha/lib_protocol/constants_parametric_repr.ml +++ b/src/proto_alpha/lib_protocol/constants_parametric_repr.ml @@ -123,6 +123,8 @@ type zk_rollup = { min_pending_to_process : int; } +type adaptive_inflation = {enable : bool} + type t = { preserved_cycles : int; blocks_per_cycle : int32; @@ -168,6 +170,7 @@ type t = { dal : dal; sc_rollup : sc_rollup; zk_rollup : zk_rollup; + adaptive_inflation : adaptive_inflation; } let tx_rollup_encoding = @@ -322,6 +325,13 @@ let zk_rollup_encoding = (req "zk_rollup_origination_size" int31) (req "zk_rollup_min_pending_to_process" int31)) +let adaptive_inflation_encoding = + let open Data_encoding in + conv + (fun ({enable} : adaptive_inflation) -> enable) + (fun adaptive_inflation_enable -> {enable = adaptive_inflation_enable}) + (obj1 (req "adaptive_inflation_enable" bool)) + let encoding = let open Data_encoding in conv @@ -364,7 +374,9 @@ let encoding = ( ( c.cache_script_size, c.cache_stake_distribution_cycles, c.cache_sampler_state_cycles ), - (c.tx_rollup, (c.dal, (c.sc_rollup, c.zk_rollup))) ) ) ) ) )) + ( c.tx_rollup, + (c.dal, ((c.sc_rollup, c.zk_rollup), c.adaptive_inflation)) ) + ) ) ) ) )) (fun ( ( preserved_cycles, blocks_per_cycle, blocks_per_commitment, @@ -403,7 +415,9 @@ let encoding = ( ( cache_script_size, cache_stake_distribution_cycles, cache_sampler_state_cycles ), - (tx_rollup, (dal, (sc_rollup, zk_rollup))) ) ) ) ) ) -> + ( tx_rollup, + (dal, ((sc_rollup, zk_rollup), adaptive_inflation)) ) ) ) + ) ) ) -> { preserved_cycles; blocks_per_cycle; @@ -447,6 +461,7 @@ let encoding = dal; sc_rollup; zk_rollup; + adaptive_inflation; }) (merge_objs (obj10 @@ -506,4 +521,6 @@ let encoding = tx_rollup_encoding (merge_objs (obj1 (req "dal_parametric" dal_encoding)) - (merge_objs sc_rollup_encoding zk_rollup_encoding)))))))) + (merge_objs + (merge_objs sc_rollup_encoding zk_rollup_encoding) + adaptive_inflation_encoding)))))))) diff --git a/src/proto_alpha/lib_protocol/constants_parametric_repr.mli b/src/proto_alpha/lib_protocol/constants_parametric_repr.mli index 5776add0db65..c1f62184dd79 100644 --- a/src/proto_alpha/lib_protocol/constants_parametric_repr.mli +++ b/src/proto_alpha/lib_protocol/constants_parametric_repr.mli @@ -138,6 +138,8 @@ type zk_rollup = { min_pending_to_process : int; } +type adaptive_inflation = {enable : bool} + type t = { preserved_cycles : int; blocks_per_cycle : int32; @@ -189,6 +191,7 @@ type t = { dal : dal; sc_rollup : sc_rollup; zk_rollup : zk_rollup; + adaptive_inflation : adaptive_inflation; } val encoding : t Data_encoding.encoding diff --git a/src/proto_alpha/lib_protocol/raw_context.ml b/src/proto_alpha/lib_protocol/raw_context.ml index 83d15d27ecc9..f205f03a9e53 100644 --- a/src/proto_alpha/lib_protocol/raw_context.ml +++ b/src/proto_alpha/lib_protocol/raw_context.ml @@ -972,6 +972,7 @@ let prepare_first_block ~level ~timestamp ctxt = min_pending_to_process = c.zk_rollup.min_pending_to_process; } in + let adaptive_inflation = Constants_parametric_repr.{enable = false} in let constants = Constants_parametric_repr. { @@ -1021,6 +1022,7 @@ let prepare_first_block ~level ~timestamp ctxt = dal; sc_rollup; zk_rollup; + adaptive_inflation; } in add_constants ctxt constants >>= fun ctxt -> return ctxt) -- GitLab From 10c8076ef322dcada3443a2de0ca6f4f8f5242a1 Mon Sep 17 00:00:00 2001 From: Philippe Wang Date: Mon, 1 May 2023 16:39:24 -0700 Subject: [PATCH 2/3] add adaptive_inflation feature flag (2/2) --- src/proto_alpha/lib_protocol/test/helpers/block.ml | 12 ++++++++++-- src/proto_alpha/lib_protocol/test/helpers/block.mli | 2 ++ src/proto_alpha/lib_protocol/test/helpers/context.ml | 4 +++- .../lib_protocol/test/helpers/context.mli | 1 + 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/lib_protocol/test/helpers/block.ml b/src/proto_alpha/lib_protocol/test/helpers/block.ml index 85504f6a9834..25916e7445a4 100644 --- a/src/proto_alpha/lib_protocol/test/helpers/block.ml +++ b/src/proto_alpha/lib_protocol/test/helpers/block.ml @@ -489,7 +489,8 @@ let prepare_initial_context_params ?consensus_threshold ?min_proposal_quorum ?baking_reward_bonus_per_slot ?baking_reward_fixed_portion ?origination_size ?blocks_per_cycle ?cycles_per_voting_period ?sc_rollup_enable ?sc_rollup_arith_pvm_enable ?dal_enable ?zk_rollup_enable - ?hard_gas_limit_per_block ?nonce_revelation_threshold () = + ?adaptive_inflation_enable ?hard_gas_limit_per_block + ?nonce_revelation_threshold () = let open Tezos_protocol_alpha_parameters in let constants = Default_parameters.constants_test in let min_proposal_quorum = @@ -544,6 +545,11 @@ let prepare_initial_context_params ?consensus_threshold ?min_proposal_quorum let zk_rollup_enable = Option.value ~default:constants.zk_rollup.enable zk_rollup_enable in + let adaptive_inflation_enable = + Option.value + ~default:constants.adaptive_inflation.enable + adaptive_inflation_enable + in let hard_gas_limit_per_block = Option.value ~default:constants.hard_gas_limit_per_block @@ -576,6 +582,7 @@ let prepare_initial_context_params ?consensus_threshold ?min_proposal_quorum }; dal = {constants.dal with feature_enable = dal_enable}; zk_rollup = {constants.zk_rollup with enable = zk_rollup_enable}; + adaptive_inflation = {enable = adaptive_inflation_enable}; hard_gas_limit_per_block; nonce_revelation_threshold; } @@ -611,7 +618,7 @@ let genesis ?commitments ?consensus_threshold ?min_proposal_quorum ?baking_reward_fixed_portion ?origination_size ?blocks_per_cycle ?cycles_per_voting_period ?sc_rollup_enable ?sc_rollup_arith_pvm_enable ?dal_enable ?zk_rollup_enable ?hard_gas_limit_per_block - ?nonce_revelation_threshold + ?adaptive_inflation_enable ?nonce_revelation_threshold (bootstrap_accounts : Parameters.bootstrap_account list) = prepare_initial_context_params ?consensus_threshold @@ -630,6 +637,7 @@ let genesis ?commitments ?consensus_threshold ?min_proposal_quorum ?dal_enable ?zk_rollup_enable ?hard_gas_limit_per_block + ?adaptive_inflation_enable ?nonce_revelation_threshold () >>=? fun (constants, shell, hash) -> diff --git a/src/proto_alpha/lib_protocol/test/helpers/block.mli b/src/proto_alpha/lib_protocol/test/helpers/block.mli index ac3680b2af52..01249bfb2dff 100644 --- a/src/proto_alpha/lib_protocol/test/helpers/block.mli +++ b/src/proto_alpha/lib_protocol/test/helpers/block.mli @@ -138,6 +138,7 @@ val genesis : ?dal_enable:bool -> ?zk_rollup_enable:bool -> ?hard_gas_limit_per_block:Gas.Arith.integral -> + ?adaptive_inflation_enable:bool -> ?nonce_revelation_threshold:int32 -> Parameters.bootstrap_account list -> block tzresult Lwt.t @@ -296,6 +297,7 @@ val prepare_initial_context_params : ?sc_rollup_arith_pvm_enable:bool -> ?dal_enable:bool -> ?zk_rollup_enable:bool -> + ?adaptive_inflation_enable:bool -> ?hard_gas_limit_per_block:Gas.Arith.integral -> ?nonce_revelation_threshold:int32 -> unit -> diff --git a/src/proto_alpha/lib_protocol/test/helpers/context.ml b/src/proto_alpha/lib_protocol/test/helpers/context.ml index 20e0c6dbf197..f77a8c04d768 100644 --- a/src/proto_alpha/lib_protocol/test/helpers/context.ml +++ b/src/proto_alpha/lib_protocol/test/helpers/context.ml @@ -463,7 +463,8 @@ let init_gen tup ?rng_state ?commitments ?bootstrap_balances ?baking_reward_bonus_per_slot ?baking_reward_fixed_portion ?origination_size ?blocks_per_cycle ?cycles_per_voting_period ?sc_rollup_enable ?sc_rollup_arith_pvm_enable ?dal_enable ?zk_rollup_enable - ?hard_gas_limit_per_block ?nonce_revelation_threshold () = + ?adaptive_inflation_enable ?hard_gas_limit_per_block + ?nonce_revelation_threshold () = let n = tup_n tup in Account.generate_accounts ?rng_state n >>?= fun accounts -> let contracts = @@ -495,6 +496,7 @@ let init_gen tup ?rng_state ?commitments ?bootstrap_balances ?dal_enable ?zk_rollup_enable ?hard_gas_limit_per_block + ?adaptive_inflation_enable ?nonce_revelation_threshold bootstrap_accounts >|=? fun blk -> (blk, tup_get tup contracts) diff --git a/src/proto_alpha/lib_protocol/test/helpers/context.mli b/src/proto_alpha/lib_protocol/test/helpers/context.mli index d798566b30b4..8002408d5eee 100644 --- a/src/proto_alpha/lib_protocol/test/helpers/context.mli +++ b/src/proto_alpha/lib_protocol/test/helpers/context.mli @@ -281,6 +281,7 @@ type 'accounts init := ?sc_rollup_arith_pvm_enable:bool -> ?dal_enable:bool -> ?zk_rollup_enable:bool -> + ?adaptive_inflation_enable:bool -> ?hard_gas_limit_per_block:Gas.Arith.integral -> ?nonce_revelation_threshold:int32 -> unit -> -- GitLab From d5e488be97249ff21cf57ccec64165fb86068481 Mon Sep 17 00:00:00 2001 From: Lucas Randazzo Date: Thu, 11 May 2023 20:41:12 +0200 Subject: [PATCH 3/3] Proto/tests: update regressions --- ...pha- (mode client) RPC regression tests- misc_protocol.out | 4 ++-- ...lpha- (mode light) RPC regression tests- misc_protocol.out | 4 ++-- ...lpha- (mode proxy) RPC regression tests- misc_protocol.out | 4 ++-- ...y_server_data_dir) RPC regression tests- misc_protocol.out | 4 ++-- ... proxy_server_rpc) RPC regression tests- misc_protocol.out | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- misc_protocol.out index e6f0bb334c25..e0345171d5ab 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- misc_protocol.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- misc_protocol.out @@ -62,8 +62,8 @@ "smart_rollup_timeout_period_in_blocks": 40320, "smart_rollup_max_number_of_cemented_commitments": 5, "smart_rollup_max_number_of_parallel_games": 32, "zk_rollup_enable": false, - "zk_rollup_origination_size": 4000, - "zk_rollup_min_pending_to_process": 10 } + "zk_rollup_origination_size": 4000, "zk_rollup_min_pending_to_process": 10, + "adaptive_inflation_enable": false } ./octez-client rpc get /chains/main/blocks/head/helpers/baking_rights [ { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode light) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode light) RPC regression tests- misc_protocol.out index 8d1c33144314..fd9894fe3690 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode light) RPC regression tests- misc_protocol.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode light) RPC regression tests- misc_protocol.out @@ -62,8 +62,8 @@ "smart_rollup_timeout_period_in_blocks": 40320, "smart_rollup_max_number_of_cemented_commitments": 5, "smart_rollup_max_number_of_parallel_games": 32, "zk_rollup_enable": false, - "zk_rollup_origination_size": 4000, - "zk_rollup_min_pending_to_process": 10 } + "zk_rollup_origination_size": 4000, "zk_rollup_min_pending_to_process": 10, + "adaptive_inflation_enable": false } ./octez-client --mode light rpc get /chains/main/blocks/head/helpers/baking_rights [ { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- misc_protocol.out index d8a198814f1c..a25dda5e86d0 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- misc_protocol.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- misc_protocol.out @@ -62,8 +62,8 @@ "smart_rollup_timeout_period_in_blocks": 40320, "smart_rollup_max_number_of_cemented_commitments": 5, "smart_rollup_max_number_of_parallel_games": 32, "zk_rollup_enable": false, - "zk_rollup_origination_size": 4000, - "zk_rollup_min_pending_to_process": 10 } + "zk_rollup_origination_size": 4000, "zk_rollup_min_pending_to_process": 10, + "adaptive_inflation_enable": false } ./octez-client --mode proxy rpc get /chains/main/blocks/head/helpers/baking_rights [ { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out index 9ddbb9469f38..f854ccb5c8d9 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out @@ -62,8 +62,8 @@ "smart_rollup_timeout_period_in_blocks": 40320, "smart_rollup_max_number_of_cemented_commitments": 5, "smart_rollup_max_number_of_parallel_games": 32, "zk_rollup_enable": false, - "zk_rollup_origination_size": 4000, - "zk_rollup_min_pending_to_process": 10 } + "zk_rollup_origination_size": 4000, "zk_rollup_min_pending_to_process": 10, + "adaptive_inflation_enable": false } ./octez-client rpc get /chains/main/blocks/head/helpers/baking_rights [ { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out index 9ddbb9469f38..f854ccb5c8d9 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out @@ -62,8 +62,8 @@ "smart_rollup_timeout_period_in_blocks": 40320, "smart_rollup_max_number_of_cemented_commitments": 5, "smart_rollup_max_number_of_parallel_games": 32, "zk_rollup_enable": false, - "zk_rollup_origination_size": 4000, - "zk_rollup_min_pending_to_process": 10 } + "zk_rollup_origination_size": 4000, "zk_rollup_min_pending_to_process": 10, + "adaptive_inflation_enable": false } ./octez-client rpc get /chains/main/blocks/head/helpers/baking_rights [ { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", -- GitLab