diff --git a/src/proto_alpha/lib_parameters/default_parameters.ml b/src/proto_alpha/lib_parameters/default_parameters.ml index 386ef648c32e8ab9ceacfaa7b420d1ec93c4c6dd..ba10b85e6249822fe40875e0d5491d51adad3a44 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 fb356b07c15b11e63ae2bc662523088828dbbbdc..e5e2fd254562d04caf667f91aac23d66e5a0c12d 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 918a77b9190c095911c472847057c2f00a3b7197..c504aeeb7cf9a7cef3555d94e294d8c8de18969d 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 5776add0db659704c661ad948fdb3bc73f356a26..c1f62184dd79c96cdd2586f52b874a3096ffea00 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 83d15d27ecc9184d298aefb9a145c5369e353458..f205f03a9e531bb1167726089950d899d4530427 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) diff --git a/src/proto_alpha/lib_protocol/test/helpers/block.ml b/src/proto_alpha/lib_protocol/test/helpers/block.ml index 85504f6a98342eda4444b0bdd97441e0a647e11d..25916e7445a423b776313a9565d35046ce6178f1 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 ac3680b2af520b6726154bf38fe56e1fad0a8a8a..01249bfb2dffacc018ec3d1643edcc4462240bc2 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 20e0c6dbf19721737a777efd2405d794ba4a33af..f77a8c04d7688518a6cfb8d5e8da9c5526824a30 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 d798566b30b4cfe1adb629e8a266aeee8ebf36a7..8002408d5eee09f779c677e2ca9963b6397cd29f 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 -> 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 e6f0bb334c25ada7deb5fa234b227ae66c86f9a8..e0345171d5ab61404d39d677b31977fbd2f052f6 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 8d1c33144314e84a37a40badc97f5daa270dd799..fd9894fe36906ac36606c431302e879d5ee461d2 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 d8a198814f1ceb298f835d2b5e5426394782a988..a25dda5e86d00c333058b1f8b9eb036ea0b96d0b 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 9ddbb9469f38708a0c7a543d1e6171f91f1bd7fa..f854ccb5c8d9089dc8518734052933d0bf582821 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 9ddbb9469f38708a0c7a543d1e6171f91f1bd7fa..f854ccb5c8d9089dc8518734052933d0bf582821 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]",