From 12445eb8890c0e37db2ec82cbf79a1b01262184c Mon Sep 17 00:00:00 2001 From: Lucas Randazzo Date: Thu, 20 Nov 2025 16:12:53 +0100 Subject: [PATCH 1/2] Proto/SWRR: add feature flag --- .../lib_parameters/default_parameters.ml | 1 + src/proto_alpha/lib_protocol/alpha_context.mli | 1 + .../lib_protocol/constants_parametric_repr.ml | 13 +++++++++---- .../lib_protocol/constants_parametric_repr.mli | 2 ++ src/proto_alpha/lib_protocol/raw_context.ml | 3 +++ 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/proto_alpha/lib_parameters/default_parameters.ml b/src/proto_alpha/lib_parameters/default_parameters.ml index d9e592a6af8e..4fbb299ba570 100644 --- a/src/proto_alpha/lib_parameters/default_parameters.ml +++ b/src/proto_alpha/lib_parameters/default_parameters.ml @@ -431,6 +431,7 @@ let constants_mainnet : Constants.Parametric.t = Ratio.{numerator = 1; denominator = 2}; (* Native contracts feature flag *) native_contracts_enable = false; + swrr_new_baker_lottery_enable = false; } let constants_sandbox = diff --git a/src/proto_alpha/lib_protocol/alpha_context.mli b/src/proto_alpha/lib_protocol/alpha_context.mli index e622368dd162..d289beec5edc 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.mli +++ b/src/proto_alpha/lib_protocol/alpha_context.mli @@ -983,6 +983,7 @@ module Constants : sig allow_tz4_delegate_enable : bool; all_bakers_attest_activation_threshold : Ratio.t; native_contracts_enable : bool; + swrr_new_baker_lottery_enable : bool; } 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 cbf166ad4969..2adc09727e2f 100644 --- a/src/proto_alpha/lib_protocol/constants_parametric_repr.ml +++ b/src/proto_alpha/lib_protocol/constants_parametric_repr.ml @@ -322,6 +322,7 @@ type t = { allow_tz4_delegate_enable : bool; all_bakers_attest_activation_threshold : Ratio_repr.t; native_contracts_enable : bool; + swrr_new_baker_lottery_enable : bool; } let sc_rollup_encoding = @@ -627,7 +628,8 @@ let encoding = c.aggregate_attestation, c.allow_tz4_delegate_enable, c.all_bakers_attest_activation_threshold, - c.native_contracts_enable ) ) ) ) ) ) ) ) )) + c.native_contracts_enable, + c.swrr_new_baker_lottery_enable ) ) ) ) ) ) ) ) )) (fun ( ( ( consensus_rights_delay, blocks_preservation_cycles, delegate_parameters_activation_delay, @@ -673,7 +675,8 @@ let encoding = aggregate_attestation, allow_tz4_delegate_enable, all_bakers_attest_activation_threshold, - native_contracts_enable ) ) ) ) ) ) ) ) ) + native_contracts_enable, + swrr_new_baker_lottery_enable ) ) ) ) ) ) ) ) ) -> { consensus_rights_delay; @@ -723,6 +726,7 @@ let encoding = allow_tz4_delegate_enable; all_bakers_attest_activation_threshold; native_contracts_enable; + swrr_new_baker_lottery_enable; }) (merge_objs (merge_objs @@ -786,14 +790,15 @@ let encoding = (merge_objs sc_rollup_encoding zk_rollup_encoding) (merge_objs adaptive_issuance_encoding - (obj5 + (obj6 (req "direct_ticket_spending_enable" bool) (req "aggregate_attestation" bool) (req "allow_tz4_delegate_enable" bool) (req "all_bakers_attest_activation_threshold" Ratio_repr.encoding) - (req "native_contracts_enable" bool)))))))))) + (req "native_contracts_enable" bool) + (req "swrr_new_baker_lottery_enable" bool)))))))))) let update_sc_rollup_parameter ratio_i32 c = (* Constants remain small enough to fit in [int32] after update (as a diff --git a/src/proto_alpha/lib_protocol/constants_parametric_repr.mli b/src/proto_alpha/lib_protocol/constants_parametric_repr.mli index 479d2924d034..cb769ff99174 100644 --- a/src/proto_alpha/lib_protocol/constants_parametric_repr.mli +++ b/src/proto_alpha/lib_protocol/constants_parametric_repr.mli @@ -272,6 +272,8 @@ type t = { all_bakers_attest_activation_threshold : Ratio_repr.t; (* Native contracts feature flag *) native_contracts_enable : bool; + (* SWRR new baker lottery feature flag *) + swrr_new_baker_lottery_enable : bool; } 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 43fcb401109e..b2dd33a6ac4d 100644 --- a/src/proto_alpha/lib_protocol/raw_context.ml +++ b/src/proto_alpha/lib_protocol/raw_context.ml @@ -1274,6 +1274,7 @@ let prepare_first_block ~level ~timestamp chain_id ctxt = allow_tz4_delegate_enable = _; all_bakers_attest_activation_threshold; native_contracts_enable; + swrr_new_baker_lottery_enable; } : Previous.t) = c @@ -1327,6 +1328,7 @@ let prepare_first_block ~level ~timestamp chain_id ctxt = allow_tz4_delegate_enable = true; all_bakers_attest_activation_threshold; native_contracts_enable; + swrr_new_baker_lottery_enable; } in let*! ctxt = add_constants ctxt constants in @@ -1624,6 +1626,7 @@ let prepare_first_block ~level ~timestamp chain_id ctxt = all_bakers_attest_activation_threshold; (* Feature flag should be set to true once the feature has been enabled. *) native_contracts_enable = false; + swrr_new_baker_lottery_enable = false; } in let*! ctxt = add_constants ctxt constants in -- GitLab From 626aefba5ce48ada551764982887ff556fe27f57 Mon Sep 17 00:00:00 2001 From: Lucas Randazzo Date: Fri, 21 Nov 2025 12:12:26 +0100 Subject: [PATCH 2/2] Tezt: Reset regressions --- ...n test for the FA deposit and withdrawal events.out | 10 +++++----- ...egression test for the claimed FA deposit event.out | 4 ++-- ...ode client) RPC regression tests- misc_protocol.out | 4 ++-- ...ient) RPC regression tests- misc_protocol_abaab.out | 4 ++-- ...mode light) RPC regression tests- misc_protocol.out | 4 ++-- ...ight) RPC regression tests- misc_protocol_abaab.out | 4 ++-- ...mode proxy) RPC regression tests- misc_protocol.out | 4 ++-- ...roxy) RPC regression tests- misc_protocol_abaab.out | 4 ++-- .../weeklynet.ml/Alpha- weeklynet regression test.out | 3 ++- tezt/tests/weeklynet_configs/alpha.json | 3 ++- 10 files changed, 23 insertions(+), 21 deletions(-) diff --git a/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Regression test for the FA deposit and withdrawal events.out b/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Regression test for the FA deposit and withdrawal events.out index 0c880c545563..957b7dec7d0a 100644 --- a/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Regression test for the FA deposit and withdrawal events.out +++ b/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Regression test for the FA deposit and withdrawal events.out @@ -3,19 +3,19 @@ Address: 0xff00000000000000000000000000000000000002 Topics: - 0x7ee7a1de9c18ce695c95b8b19fbdf26cce3544e3ca9e08c9f487776783d7599f -- 0xf3f2f3cf054055bc0fe0f8d248cd8b1048fcd0264e76e26df00fca7e175c5fca +- 0x3fc89701f8bfcb0f6cd61d04853294efdf1f3f64530a321a7275a69d938c08fa Data: 0x0000000000000000000000006ce4d79d4e77402e1ef3417fdda433aa744c6e1c0000000000000000000000006ce4d79d4e77402e1ef3417fdda433aa744c6e1c000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002 # FA Withdrawal ## Log 0 Address: 0xff00000000000000000000000000000000000002 Topics: - 0xab68450c9e546f6062a861eebf8ec5bbd41b4425e26b20199c91227c7f9038ca -- 0xf3f2f3cf054055bc0fe0f8d248cd8b1048fcd0264e76e26df00fca7e175c5fca -Data: 0x0000000000000000000000006ce4d79d4e77402e1ef3417fdda433aa744c6e1c0000000000000000000000006ce4d79d4e77402e1ef3417fdda433aa744c6e1c00000000000000000000000000000000000000000000000000000000000000000154003aa4586948cf96aaf0abbc076f0c27b06fc5000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000 +- 0x3fc89701f8bfcb0f6cd61d04853294efdf1f3f64530a321a7275a69d938c08fa +Data: 0x0000000000000000000000006ce4d79d4e77402e1ef3417fdda433aa744c6e1c0000000000000000000000006ce4d79d4e77402e1ef3417fdda433aa744c6e1c000000000000000000000000000000000000000000000000000000000000000001495c894beb8546d3e9deec5562da20546fe556ab000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000 # FA Fast Withdrawal ## Log 0 Address: 0xff00000000000000000000000000000000000002 Topics: - 0x7e40c982e82bccb5e8bbd29f38bcfa3996f341ef9f51e2a9cffe086ec87a11c7 -- 0xf3f2f3cf054055bc0fe0f8d248cd8b1048fcd0264e76e26df00fca7e175c5fca -Data: 0x0000000000000000000000006ce4d79d4e77402e1ef3417fdda433aa744c6e1c0000000000000000000000006ce4d79d4e77402e1ef3417fdda433aa744c6e1c0000c55cf02dbeecc978d9c84625dcae72bb77ea4fbd000000000000000000000154003aa4586948cf96aaf0abbc076f0c27b06fc5000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000005e0be103000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001 +- 0x3fc89701f8bfcb0f6cd61d04853294efdf1f3f64530a321a7275a69d938c08fa +Data: 0x0000000000000000000000006ce4d79d4e77402e1ef3417fdda433aa744c6e1c0000000000000000000000006ce4d79d4e77402e1ef3417fdda433aa744c6e1c0000c55cf02dbeecc978d9c84625dcae72bb77ea4fbd0000000000000000000001495c894beb8546d3e9deec5562da20546fe556ab000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000005e0be103000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001 diff --git a/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Regression test for the claimed FA deposit event.out b/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Regression test for the claimed FA deposit event.out index 173e65b098d8..022b13a094a1 100644 --- a/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Regression test for the claimed FA deposit event.out +++ b/etherlink/tezt/tests/expected/evm_sequencer.ml/Alpha- Regression test for the claimed FA deposit event.out @@ -3,7 +3,7 @@ Address: 0xff00000000000000000000000000000000000002 Topics: - 0xb02d79c5657e344e23d91529b954c3087c60a974d598939583904a4f0b959614 -- 0x1b52eb05c8b3faf26dbe4ee098a72ae8a9dc2ef22500938ea6ac53673b85d209 +- 0x0c66b6ebec63009630d4c182a121163ac7c411b07cc19dd2805814cd911c7686 - 0x000000000000000000000000d77420f73b4612a7a99dba8c2afd30a1886b0344 Data: 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d77420f73b4612a7a99dba8c2afd30a1886b0344000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000003 # Claimed deposit @@ -11,5 +11,5 @@ Data: 0x000000000000000000000000000000000000000000000000000000000000000000000000 Address: 0xff00000000000000000000000000000000000002 Topics: - 0x7ee7a1de9c18ce695c95b8b19fbdf26cce3544e3ca9e08c9f487776783d7599f -- 0x1b52eb05c8b3faf26dbe4ee098a72ae8a9dc2ef22500938ea6ac53673b85d209 +- 0x0c66b6ebec63009630d4c182a121163ac7c411b07cc19dd2805814cd911c7686 Data: 0x000000000000000000000000d77420f73b4612a7a99dba8c2afd30a1886b0344000000000000000000000000d77420f73b4612a7a99dba8c2afd30a1886b0344000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000003 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 89c6dfa1cc8b..ba976bc93010 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 @@ -83,8 +83,8 @@ "allow_tz4_delegate_enable": true, "all_bakers_attest_activation_threshold": { "numerator": 1, "denominator": 2 }, "native_contracts_enable": true, - "issuance_modification_delay": 2, "consensus_key_activation_delay": 2, - "unstake_finalization_delay": 3 } + "swrr_new_baker_lottery_enable": false, "issuance_modification_delay": 2, + "consensus_key_activation_delay": 2, "unstake_finalization_delay": 3 } ./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 client) RPC regression tests- misc_protocol_abaab.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- misc_protocol_abaab.out index a29a4c3b3c39..572591a9c380 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- misc_protocol_abaab.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- misc_protocol_abaab.out @@ -83,8 +83,8 @@ "allow_tz4_delegate_enable": true, "all_bakers_attest_activation_threshold": { "numerator": 0, "denominator": 1 }, "native_contracts_enable": true, - "issuance_modification_delay": 2, "consensus_key_activation_delay": 2, - "unstake_finalization_delay": 3 } + "swrr_new_baker_lottery_enable": false, "issuance_modification_delay": 2, + "consensus_key_activation_delay": 2, "unstake_finalization_delay": 3 } ./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 b8c22ac775cd..812620064bc5 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 @@ -83,8 +83,8 @@ "allow_tz4_delegate_enable": true, "all_bakers_attest_activation_threshold": { "numerator": 1, "denominator": 2 }, "native_contracts_enable": true, - "issuance_modification_delay": 2, "consensus_key_activation_delay": 2, - "unstake_finalization_delay": 3 } + "swrr_new_baker_lottery_enable": false, "issuance_modification_delay": 2, + "consensus_key_activation_delay": 2, "unstake_finalization_delay": 3 } ./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 light) RPC regression tests- misc_protocol_abaab.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode light) RPC regression tests- misc_protocol_abaab.out index 94f74a852376..481ea94d8d31 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode light) RPC regression tests- misc_protocol_abaab.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode light) RPC regression tests- misc_protocol_abaab.out @@ -83,8 +83,8 @@ "allow_tz4_delegate_enable": true, "all_bakers_attest_activation_threshold": { "numerator": 0, "denominator": 1 }, "native_contracts_enable": true, - "issuance_modification_delay": 2, "consensus_key_activation_delay": 2, - "unstake_finalization_delay": 3 } + "swrr_new_baker_lottery_enable": false, "issuance_modification_delay": 2, + "consensus_key_activation_delay": 2, "unstake_finalization_delay": 3 } ./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 4bacfba71fc5..4d1770a65aaf 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 @@ -83,8 +83,8 @@ "allow_tz4_delegate_enable": true, "all_bakers_attest_activation_threshold": { "numerator": 1, "denominator": 2 }, "native_contracts_enable": true, - "issuance_modification_delay": 2, "consensus_key_activation_delay": 2, - "unstake_finalization_delay": 3 } + "swrr_new_baker_lottery_enable": false, "issuance_modification_delay": 2, + "consensus_key_activation_delay": 2, "unstake_finalization_delay": 3 } ./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) RPC regression tests- misc_protocol_abaab.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- misc_protocol_abaab.out index 98a0cd96b353..36ad49469a20 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- misc_protocol_abaab.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- misc_protocol_abaab.out @@ -83,8 +83,8 @@ "allow_tz4_delegate_enable": true, "all_bakers_attest_activation_threshold": { "numerator": 0, "denominator": 1 }, "native_contracts_enable": true, - "issuance_modification_delay": 2, "consensus_key_activation_delay": 2, - "unstake_finalization_delay": 3 } + "swrr_new_baker_lottery_enable": false, "issuance_modification_delay": 2, + "consensus_key_activation_delay": 2, "unstake_finalization_delay": 3 } ./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/weeklynet.ml/Alpha- weeklynet regression test.out b/tezt/tests/expected/weeklynet.ml/Alpha- weeklynet regression test.out index 6c384f75bd48..cfa61ab0f80a 100644 --- a/tezt/tests/expected/weeklynet.ml/Alpha- weeklynet regression test.out +++ b/tezt/tests/expected/weeklynet.ml/Alpha- weeklynet regression test.out @@ -72,4 +72,5 @@ "direct_ticket_spending_enable": false, "aggregate_attestation": true, "allow_tz4_delegate_enable": true, "all_bakers_attest_activation_threshold": - { "numerator": 1, "denominator": 2 }, "native_contracts_enable": false } + { "numerator": 1, "denominator": 2 }, "native_contracts_enable": false, + "swrr_new_baker_lottery_enable": false } diff --git a/tezt/tests/weeklynet_configs/alpha.json b/tezt/tests/weeklynet_configs/alpha.json index e5aaf4f541aa..172b0bc56100 100644 --- a/tezt/tests/weeklynet_configs/alpha.json +++ b/tezt/tests/weeklynet_configs/alpha.json @@ -163,5 +163,6 @@ "numerator": 1, "denominator": 2 }, - "native_contracts_enable": true + "native_contracts_enable": true, + "swrr_new_baker_lottery_enable": false } -- GitLab