From 2d47c004a2336e06afe27821a2840b53524b21ae Mon Sep 17 00:00:00 2001 From: Clement Date: Sun, 15 Sep 2024 16:28:20 -0400 Subject: [PATCH 1/6] Fixed the name of the role when calling set_burnable() --- scrypto/src/resource/resource_manager.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scrypto/src/resource/resource_manager.rs b/scrypto/src/resource/resource_manager.rs index 1b2b23c27fd..7d65a3b33a4 100644 --- a/scrypto/src/resource/resource_manager.rs +++ b/scrypto/src/resource/resource_manager.rs @@ -62,7 +62,7 @@ impl ResourceManager { } pub fn set_burnable(&self, access_rule: AccessRule) { - self.0.set_role(RESOURCE_MANAGER_BURN_IDENT, access_rule); + self.0.set_role(BURNER_ROLE, access_rule); } pub fn set_withdrawable(&self, access_rule: AccessRule) { From 8075ffc9ff425552d8b81cd6e18800fcac7c1b34 Mon Sep 17 00:00:00 2001 From: Omar Date: Thu, 26 Sep 2024 21:43:09 +0300 Subject: [PATCH 2/6] Minor tweaks --- .../tests/protocol/consensus_manager.rs | 7 +++++-- radix-engine/src/updates/cuttlefish.rs | 18 +++++++++--------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/radix-engine-tests/tests/protocol/consensus_manager.rs b/radix-engine-tests/tests/protocol/consensus_manager.rs index f98388b838c..98e1d66e10a 100644 --- a/radix-engine-tests/tests/protocol/consensus_manager.rs +++ b/radix-engine-tests/tests/protocol/consensus_manager.rs @@ -1,7 +1,7 @@ use scrypto_test::prelude::*; #[test] -fn consensus_manager_min_rounds_per_epoch_is_1_in_bottlenose() { +fn consensus_manager_min_rounds_per_epoch_is_1_in_bottlenose_ledger_simulator() { // Arrange let ledger = LedgerSimulatorBuilder::new() .with_custom_protocol(|builder| builder.from_bootstrap_to(ProtocolVersion::Bottlenose)) @@ -19,7 +19,10 @@ fn consensus_manager_min_rounds_per_epoch_is_1_in_bottlenose() { .fully_update_and_into_latest_version(); // Assert - assert_eq!(config.config.epoch_change_condition.min_round_count, 1); + assert_eq!( + dbg!(config).config.epoch_change_condition.min_round_count, + 1 + ); } #[test] diff --git a/radix-engine/src/updates/cuttlefish.rs b/radix-engine/src/updates/cuttlefish.rs index da82a9929d5..78825f25a8b 100644 --- a/radix-engine/src/updates/cuttlefish.rs +++ b/radix-engine/src/updates/cuttlefish.rs @@ -10,8 +10,8 @@ pub struct CuttlefishSettings { pub system_logic_update: UpdateSetting, /// Add transaction validation changes pub transaction_validation_update: UpdateSetting, - /// Lowers the min number of rounds per epoch. - pub lower_number_of_min_rounds_per_epoch: UpdateSetting, + /// updates the min number of rounds per epoch. + pub update_number_of_min_rounds_per_epoch: UpdateSetting, } impl UpdateSettings for CuttlefishSettings { @@ -25,7 +25,7 @@ impl UpdateSettings for CuttlefishSettings { Self { system_logic_update: UpdateSetting::enabled_as_default_for_network(network), transaction_validation_update: UpdateSetting::enabled_as_default_for_network(network), - lower_number_of_min_rounds_per_epoch: UpdateSetting::enabled_as_default_for_network( + update_number_of_min_rounds_per_epoch: UpdateSetting::enabled_as_default_for_network( network, ), } @@ -35,7 +35,7 @@ impl UpdateSettings for CuttlefishSettings { Self { system_logic_update: UpdateSetting::Disabled, transaction_validation_update: UpdateSetting::Disabled, - lower_number_of_min_rounds_per_epoch: UpdateSetting::Disabled, + update_number_of_min_rounds_per_epoch: UpdateSetting::Disabled, } } @@ -87,7 +87,7 @@ fn generate_principal_batch( CuttlefishSettings { system_logic_update, transaction_validation_update, - lower_number_of_min_rounds_per_epoch, + update_number_of_min_rounds_per_epoch, }: &CuttlefishSettings, ) -> ProtocolUpdateBatch { let mut transactions = vec![]; @@ -103,10 +103,10 @@ fn generate_principal_batch( generate_cuttlefish_transaction_validation_updates(), )); } - if let UpdateSetting::Enabled(NoSettings) = &lower_number_of_min_rounds_per_epoch { + if let UpdateSetting::Enabled(NoSettings) = &update_number_of_min_rounds_per_epoch { transactions.push(ProtocolUpdateTransactionDetails::flash( - "cuttlefish-lower-number-of-min-rounds-per-epoch", - generate_cuttlefish_lower_min_rounds_per_epoch(store), + "cuttlefish-update-number-of-min-rounds-per-epoch", + generate_cuttlefish_update_min_rounds_per_epoch(store), )); } ProtocolUpdateBatch { transactions } @@ -145,7 +145,7 @@ fn generate_cuttlefish_transaction_validation_updates() -> StateUpdates { ) } -fn generate_cuttlefish_lower_min_rounds_per_epoch( +fn generate_cuttlefish_update_min_rounds_per_epoch( db: &S, ) -> StateUpdates { let mut consensus_manager_config = db From c28bc1c962b688ba46b7303f48db72edb8936682 Mon Sep 17 00:00:00 2001 From: Omar Date: Thu, 26 Sep 2024 22:22:34 +0300 Subject: [PATCH 3/6] remove un-needed dbg --- radix-engine-tests/tests/protocol/consensus_manager.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/radix-engine-tests/tests/protocol/consensus_manager.rs b/radix-engine-tests/tests/protocol/consensus_manager.rs index 98e1d66e10a..6214881adb3 100644 --- a/radix-engine-tests/tests/protocol/consensus_manager.rs +++ b/radix-engine-tests/tests/protocol/consensus_manager.rs @@ -19,10 +19,7 @@ fn consensus_manager_min_rounds_per_epoch_is_1_in_bottlenose_ledger_simulator() .fully_update_and_into_latest_version(); // Assert - assert_eq!( - dbg!(config).config.epoch_change_condition.min_round_count, - 1 - ); + assert_eq!(config.config.epoch_change_condition.min_round_count, 1); } #[test] From 6f73535dd5d0136c7a7782f47410bf7fefb4b2a0 Mon Sep 17 00:00:00 2001 From: Omar Date: Fri, 27 Sep 2024 07:19:15 +0300 Subject: [PATCH 4/6] WIP --- .../consensus_manager/invocations.rs | 17 +++++++++++ radix-engine/src/updates/babylon.rs | 14 ++++++++++ radix-engine/src/updates/cuttlefish.rs | 28 ++++++++++++++++--- 3 files changed, 55 insertions(+), 4 deletions(-) diff --git a/radix-engine-interface/src/blueprints/consensus_manager/invocations.rs b/radix-engine-interface/src/blueprints/consensus_manager/invocations.rs index de426cf00a7..33d1602c03f 100644 --- a/radix-engine-interface/src/blueprints/consensus_manager/invocations.rs +++ b/radix-engine-interface/src/blueprints/consensus_manager/invocations.rs @@ -56,6 +56,23 @@ pub struct ConsensusManagerConfig { } impl ConsensusManagerConfig { + pub fn mainnet_genesis() -> Self { + Self { + max_validators: 100, + epoch_change_condition: EpochChangeCondition { + min_round_count: 500, + max_round_count: 3000, + target_duration_millis: 300000, + }, + num_unstake_epochs: 2016, + total_emission_xrd_per_epoch: dec!("2853.881278538812785388"), + min_validator_reliability: Decimal::one(), + num_owner_stake_units_unlock_epochs: 8064, + num_fee_increase_delay_epochs: 4032, + validator_creation_usd_cost: dec!(1000), + } + } + pub fn test_default() -> Self { ConsensusManagerConfig { max_validators: 10, diff --git a/radix-engine/src/updates/babylon.rs b/radix-engine/src/updates/babylon.rs index 571115999b2..a92d7eaa4c0 100644 --- a/radix-engine/src/updates/babylon.rs +++ b/radix-engine/src/updates/babylon.rs @@ -27,6 +27,20 @@ impl BabylonSettings { } } + pub fn test_mainnet() -> Self { + let pub_key = Secp256k1PrivateKey::from_u64(1u64).unwrap().public_key(); + let genesis_epoch = Epoch::of(1); + let consensus_manager_config = ConsensusManagerConfig::mainnet_genesis(); + Self::single_validator_and_staker( + pub_key, + Decimal::one(), + Decimal::zero(), + ComponentAddress::preallocated_account_from_public_key(&pub_key), + genesis_epoch, + consensus_manager_config, + ) + } + pub fn test_default() -> Self { let pub_key = Secp256k1PrivateKey::from_u64(1u64).unwrap().public_key(); let genesis_epoch = Epoch::of(1); diff --git a/radix-engine/src/updates/cuttlefish.rs b/radix-engine/src/updates/cuttlefish.rs index 78825f25a8b..d205e904000 100644 --- a/radix-engine/src/updates/cuttlefish.rs +++ b/radix-engine/src/updates/cuttlefish.rs @@ -11,7 +11,8 @@ pub struct CuttlefishSettings { /// Add transaction validation changes pub transaction_validation_update: UpdateSetting, /// updates the min number of rounds per epoch. - pub update_number_of_min_rounds_per_epoch: UpdateSetting, + pub update_number_of_min_rounds_per_epoch: + UpdateSetting, } impl UpdateSettings for CuttlefishSettings { @@ -46,6 +47,21 @@ impl UpdateSettings for CuttlefishSettings { } } +#[derive(Clone, Copy, Debug)] +struct UpdateNumberOfMinRoundsPerEpochSettings { + pub new_min_rounds_per_epoch: u64, +} + +impl Default for UpdateNumberOfMinRoundsPerEpochSettings { + fn default() -> Self { + Self { + new_min_rounds_per_epoch: 100, + } + } +} + +impl UpdateSettingMarker for UpdateNumberOfMinRoundsPerEpochSettings {} + #[derive(Clone)] pub struct CuttlefishBatchGenerator { settings: CuttlefishSettings, @@ -103,10 +119,13 @@ fn generate_principal_batch( generate_cuttlefish_transaction_validation_updates(), )); } - if let UpdateSetting::Enabled(NoSettings) = &update_number_of_min_rounds_per_epoch { + if let UpdateSetting::Enabled(UpdateNumberOfMinRoundsPerEpochSettings { + new_min_rounds_per_epoch, + }) = &update_number_of_min_rounds_per_epoch + { transactions.push(ProtocolUpdateTransactionDetails::flash( "cuttlefish-update-number-of-min-rounds-per-epoch", - generate_cuttlefish_update_min_rounds_per_epoch(store), + generate_cuttlefish_update_min_rounds_per_epoch(store, *new_min_rounds_per_epoch), )); } ProtocolUpdateBatch { transactions } @@ -147,6 +166,7 @@ fn generate_cuttlefish_transaction_validation_updates() -> StateUpdates { fn generate_cuttlefish_update_min_rounds_per_epoch( db: &S, + min_rounds_per_epoch: u64, ) -> StateUpdates { let mut consensus_manager_config = db .get_existing_substate::>( @@ -160,7 +180,7 @@ fn generate_cuttlefish_update_min_rounds_per_epoch consensus_manager_config .config .epoch_change_condition - .min_round_count = 100; + .min_round_count = min_rounds_per_epoch; StateUpdates::empty().set_substate( CONSENSUS_MANAGER, From 7ecc3404bf5d989466b14c120274a09c20a5b733 Mon Sep 17 00:00:00 2001 From: Omar Date: Fri, 27 Sep 2024 07:36:39 +0300 Subject: [PATCH 5/6] Update the settings for min rounds protocol update --- .../tests/protocol/consensus_manager.rs | 34 +++++++----------- radix-engine/src/updates/cuttlefish.rs | 36 ++++++++++++------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/radix-engine-tests/tests/protocol/consensus_manager.rs b/radix-engine-tests/tests/protocol/consensus_manager.rs index 6214881adb3..fc5c668b7bf 100644 --- a/radix-engine-tests/tests/protocol/consensus_manager.rs +++ b/radix-engine-tests/tests/protocol/consensus_manager.rs @@ -1,33 +1,23 @@ use scrypto_test::prelude::*; #[test] -fn consensus_manager_min_rounds_per_epoch_is_1_in_bottlenose_ledger_simulator() { +fn consensus_manager_min_rounds_per_epoch_is_100_in_cuttlefish() { // Arrange let ledger = LedgerSimulatorBuilder::new() - .with_custom_protocol(|builder| builder.from_bootstrap_to(ProtocolVersion::Bottlenose)) + .with_custom_protocol(|builder| { + builder + .configure_cuttlefish(|mut creator| { + creator.update_number_of_min_rounds_per_epoch = + UpdateSetting::Enabled(UpdateNumberOfMinRoundsPerEpochSettings::Set { + value: 100, + }); + creator + }) + .from_bootstrap_to(ProtocolVersion::Cuttlefish) + }) .build(); let database = ledger.substate_db(); - // Act - let config = database - .get_existing_substate::>( - CONSENSUS_MANAGER, - MAIN_BASE_PARTITION, - ConsensusManagerField::Configuration, - ) - .into_payload() - .fully_update_and_into_latest_version(); - - // Assert - assert_eq!(config.config.epoch_change_condition.min_round_count, 1); -} - -#[test] -fn consensus_manager_min_rounds_per_epoch_is_100_in_cuttlefish() { - // Arrange - let ledger = LedgerSimulatorBuilder::new().build(); - let database = ledger.substate_db(); - // Act let config = database .get_existing_substate::>( diff --git a/radix-engine/src/updates/cuttlefish.rs b/radix-engine/src/updates/cuttlefish.rs index d205e904000..6b85c46cd14 100644 --- a/radix-engine/src/updates/cuttlefish.rs +++ b/radix-engine/src/updates/cuttlefish.rs @@ -48,14 +48,16 @@ impl UpdateSettings for CuttlefishSettings { } #[derive(Clone, Copy, Debug)] -struct UpdateNumberOfMinRoundsPerEpochSettings { - pub new_min_rounds_per_epoch: u64, +pub enum UpdateNumberOfMinRoundsPerEpochSettings { + Set { value: u64 }, + SetIfEquals { if_equals: u64, to_value: u64 }, } impl Default for UpdateNumberOfMinRoundsPerEpochSettings { fn default() -> Self { - Self { - new_min_rounds_per_epoch: 100, + Self::SetIfEquals { + if_equals: 500, + to_value: 100, } } } @@ -119,13 +121,10 @@ fn generate_principal_batch( generate_cuttlefish_transaction_validation_updates(), )); } - if let UpdateSetting::Enabled(UpdateNumberOfMinRoundsPerEpochSettings { - new_min_rounds_per_epoch, - }) = &update_number_of_min_rounds_per_epoch - { + if let UpdateSetting::Enabled(settings) = &update_number_of_min_rounds_per_epoch { transactions.push(ProtocolUpdateTransactionDetails::flash( "cuttlefish-update-number-of-min-rounds-per-epoch", - generate_cuttlefish_update_min_rounds_per_epoch(store, *new_min_rounds_per_epoch), + generate_cuttlefish_update_min_rounds_per_epoch(store, *settings), )); } ProtocolUpdateBatch { transactions } @@ -166,7 +165,7 @@ fn generate_cuttlefish_transaction_validation_updates() -> StateUpdates { fn generate_cuttlefish_update_min_rounds_per_epoch( db: &S, - min_rounds_per_epoch: u64, + settings: UpdateNumberOfMinRoundsPerEpochSettings, ) -> StateUpdates { let mut consensus_manager_config = db .get_existing_substate::>( @@ -176,11 +175,22 @@ fn generate_cuttlefish_update_min_rounds_per_epoch ) .into_payload() .fully_update_and_into_latest_version(); - - consensus_manager_config + let min_rounds_per_epoch = &mut consensus_manager_config .config .epoch_change_condition - .min_round_count = min_rounds_per_epoch; + .min_round_count; + + match settings { + UpdateNumberOfMinRoundsPerEpochSettings::Set { value } => *min_rounds_per_epoch = value, + UpdateNumberOfMinRoundsPerEpochSettings::SetIfEquals { + if_equals, + to_value, + } => { + if *min_rounds_per_epoch == if_equals { + *min_rounds_per_epoch = to_value + } + } + } StateUpdates::empty().set_substate( CONSENSUS_MANAGER, From 2e9610e43cf61e4ce61ea68819e3ea7744e362e3 Mon Sep 17 00:00:00 2001 From: Omar Date: Fri, 27 Sep 2024 07:46:40 +0300 Subject: [PATCH 6/6] Use the mainnet consensus manager config in scenarios --- .../basic_subintents/create-accounts.json | 44 +++++++++++++++++++ .../basic_subintents/trivial_subintent.json | 20 +++++++++ radix-engine/src/updates/babylon.rs | 2 +- .../anemone/protocol_update_summary.txt | 2 +- .../00-00-00--anemone-validator-fee-fix.txt | 16 +++---- .../babylon/manifests/00-01-00--bootstrap.rtm | 18 ++++---- .../babylon/protocol_update_summary.txt | 2 +- .../babylon/receipts/00-01-00--bootstrap.txt | 18 ++++---- .../cuttlefish/protocol_update_summary.txt | 2 +- ...update-number-of-min-rounds-per-epoch.txt} | 14 +++--- 10 files changed, 101 insertions(+), 37 deletions(-) create mode 100644 radix-engine-tests/assets/serialized_receipts/basic_subintents/create-accounts.json create mode 100644 radix-engine-tests/assets/serialized_receipts/basic_subintents/trivial_subintent.json rename radix-transaction-scenarios/generated-protocol-updates/cuttlefish/receipts/{00-00-02--cuttlefish-lower-number-of-min-rounds-per-epoch.txt => 00-00-02--cuttlefish-update-number-of-min-rounds-per-epoch.txt} (71%) diff --git a/radix-engine-tests/assets/serialized_receipts/basic_subintents/create-accounts.json b/radix-engine-tests/assets/serialized_receipts/basic_subintents/create-accounts.json new file mode 100644 index 00000000000..63010a3b55f --- /dev/null +++ b/radix-engine-tests/assets/serialized_receipts/basic_subintents/create-accounts.json @@ -0,0 +1,44 @@ +{ + "kind": "CommitSuccess", + "state_updates_summary": { + "new_entities": [ + "account_sim1cxfcgpnu3kcax77255p6mfcnsrmnyqe7vsghqxm397r9fg64nxzuja", + "account_sim1cxe8weyfw9efyag5qs50rq3f7h8g9qc08v72yxg6hck8ctmh2h4z5u" + ], + "metadata_updates": {}, + "non_fungible_data_updates": {}, + "newly_minted_non_fungibles": [] + }, + "worktop_changes": { + "3": [ + { + "kind": "Put", + "value": { + "kind": "Amount", + "resource_address": "resource_sim1tknxxxxxxxxxradxrdxxxxxxxxx009923554798xxxxxxxxxakj8n3", + "amount": "10000" + } + } + ], + "4": [ + { + "kind": "Take", + "value": { + "kind": "Amount", + "resource_address": "resource_sim1tknxxxxxxxxxradxrdxxxxxxxxx009923554798xxxxxxxxxakj8n3", + "amount": "10000" + } + } + ] + }, + "fee_summary": { + "execution_fees_in_xrd": "0.3370283", + "finalization_fees_in_xrd": "0.0812626", + "storage_fees_in_xrd": "0.24166106762", + "royalty_fees_in_xrd": "0" + }, + "locked_fees": { + "contingent": "0", + "non_contingent": "5000" + } +} \ No newline at end of file diff --git a/radix-engine-tests/assets/serialized_receipts/basic_subintents/trivial_subintent.json b/radix-engine-tests/assets/serialized_receipts/basic_subintents/trivial_subintent.json new file mode 100644 index 00000000000..69152e968d1 --- /dev/null +++ b/radix-engine-tests/assets/serialized_receipts/basic_subintents/trivial_subintent.json @@ -0,0 +1,20 @@ +{ + "kind": "CommitSuccess", + "state_updates_summary": { + "new_entities": [], + "metadata_updates": {}, + "non_fungible_data_updates": {}, + "newly_minted_non_fungibles": [] + }, + "worktop_changes": {}, + "fee_summary": { + "execution_fees_in_xrd": "0.0838967", + "finalization_fees_in_xrd": "0.0052508", + "storage_fees_in_xrd": "0.05140304477", + "royalty_fees_in_xrd": "0" + }, + "locked_fees": { + "contingent": "0", + "non_contingent": "5000" + } +} \ No newline at end of file diff --git a/radix-engine/src/updates/babylon.rs b/radix-engine/src/updates/babylon.rs index a92d7eaa4c0..eda6f000a1d 100644 --- a/radix-engine/src/updates/babylon.rs +++ b/radix-engine/src/updates/babylon.rs @@ -181,7 +181,7 @@ impl BabylonSettings { Self { genesis_data_chunks, genesis_epoch: Epoch::of(1), - consensus_manager_config: ConsensusManagerConfig::test_default(), + consensus_manager_config: ConsensusManagerConfig::mainnet_genesis(), initial_time_ms: 1, initial_current_leader: Some(0), faucet_supply: Decimal::zero(), diff --git a/radix-transaction-scenarios/generated-protocol-updates/anemone/protocol_update_summary.txt b/radix-transaction-scenarios/generated-protocol-updates/anemone/protocol_update_summary.txt index e279057b279..387df72ad14 100644 --- a/radix-transaction-scenarios/generated-protocol-updates/anemone/protocol_update_summary.txt +++ b/radix-transaction-scenarios/generated-protocol-updates/anemone/protocol_update_summary.txt @@ -2,6 +2,6 @@ Name: Anemone == SUMMARY HASHES == These Anemone hashes should NEVER change, else they will cause divergence when run historically. -State changes: 1eacf7c315d53aa6 (should never change) +State changes: 544976f80579365e (should never change) Events : 2a6146032d8e884d (should never change) diff --git a/radix-transaction-scenarios/generated-protocol-updates/anemone/receipts/00-00-00--anemone-validator-fee-fix.txt b/radix-transaction-scenarios/generated-protocol-updates/anemone/receipts/00-00-00--anemone-validator-fee-fix.txt index c3ac9a20e4b..6c313cb1fa8 100644 --- a/radix-transaction-scenarios/generated-protocol-updates/anemone/receipts/00-00-00--anemone-validator-fee-fix.txt +++ b/radix-transaction-scenarios/generated-protocol-updates/anemone/receipts/00-00-00--anemone-validator-fee-fix.txt @@ -18,17 +18,17 @@ STATE UPDATES: 1 entity Value: LOCKED ConsensusManagerConfigurationFieldPayload::V1( ConsensusManagerConfigSubstate { config: ConsensusManagerConfig { - max_validators: 10u32, + max_validators: 100u32, epoch_change_condition: EpochChangeCondition { - min_round_count: 1u64, - max_round_count: 1u64, - target_duration_millis: 0u64, + min_round_count: 500u64, + max_round_count: 3000u64, + target_duration_millis: 300000u64, }, - num_unstake_epochs: 1u64, - total_emission_xrd_per_epoch: Decimal("1"), + num_unstake_epochs: 2016u64, + total_emission_xrd_per_epoch: Decimal("2853.881278538812785388"), min_validator_reliability: Decimal("1"), - num_owner_stake_units_unlock_epochs: 2u64, - num_fee_increase_delay_epochs: 1u64, + num_owner_stake_units_unlock_epochs: 8064u64, + num_fee_increase_delay_epochs: 4032u64, validator_creation_usd_cost: Decimal("100"), }, }, diff --git a/radix-transaction-scenarios/generated-protocol-updates/babylon/manifests/00-01-00--bootstrap.rtm b/radix-transaction-scenarios/generated-protocol-updates/babylon/manifests/00-01-00--bootstrap.rtm index 5e41d16ee58..2a5c83703c5 100644 --- a/radix-transaction-scenarios/generated-protocol-updates/babylon/manifests/00-01-00--bootstrap.rtm +++ b/radix-transaction-scenarios/generated-protocol-updates/babylon/manifests/00-01-00--bootstrap.rtm @@ -11322,18 +11322,18 @@ CALL_FUNCTION AddressReservation("reservation18") 1u64 Tuple( - 10u32, + 100u32, Tuple( - 1u64, - 1u64, - 0u64 + 500u64, + 3000u64, + 300000u64 ), - 1u64, - Decimal("1"), + 2016u64, + Decimal("2853.881278538812785388"), Decimal("1"), - 2u64, - 1u64, - Decimal("100") + 8064u64, + 4032u64, + Decimal("1000") ) 1i64 Enum<1u8>( diff --git a/radix-transaction-scenarios/generated-protocol-updates/babylon/protocol_update_summary.txt b/radix-transaction-scenarios/generated-protocol-updates/babylon/protocol_update_summary.txt index 2449c58631f..c5fda3a3107 100644 --- a/radix-transaction-scenarios/generated-protocol-updates/babylon/protocol_update_summary.txt +++ b/radix-transaction-scenarios/generated-protocol-updates/babylon/protocol_update_summary.txt @@ -2,6 +2,6 @@ Name: Babylon == SUMMARY HASHES == These Babylon hashes should NEVER change, else they will cause divergence when run historically. -State changes: 893a6b5a0f34d8bc (should never change) +State changes: d0442077ef9c4d22 (should never change) Events : a9bb58d27fc1ad0f (should never change) diff --git a/radix-transaction-scenarios/generated-protocol-updates/babylon/receipts/00-01-00--bootstrap.txt b/radix-transaction-scenarios/generated-protocol-updates/babylon/receipts/00-01-00--bootstrap.txt index 6bc500b7b07..2e9846aa684 100644 --- a/radix-transaction-scenarios/generated-protocol-updates/babylon/receipts/00-01-00--bootstrap.txt +++ b/radix-transaction-scenarios/generated-protocol-updates/babylon/receipts/00-01-00--bootstrap.txt @@ -107,18 +107,18 @@ STATE UPDATES: 34 entities Value: LOCKED ConsensusManagerConfigurationFieldPayload::V1( ConsensusManagerConfigSubstate { config: ConsensusManagerConfig { - max_validators: 10u32, + max_validators: 100u32, epoch_change_condition: EpochChangeCondition { - min_round_count: 1u64, - max_round_count: 1u64, - target_duration_millis: 0u64, + min_round_count: 500u64, + max_round_count: 3000u64, + target_duration_millis: 300000u64, }, - num_unstake_epochs: 1u64, - total_emission_xrd_per_epoch: Decimal("1"), + num_unstake_epochs: 2016u64, + total_emission_xrd_per_epoch: Decimal("2853.881278538812785388"), min_validator_reliability: Decimal("1"), - num_owner_stake_units_unlock_epochs: 2u64, - num_fee_increase_delay_epochs: 1u64, - validator_creation_usd_cost: Decimal("100"), + num_owner_stake_units_unlock_epochs: 8064u64, + num_fee_increase_delay_epochs: 4032u64, + validator_creation_usd_cost: Decimal("1000"), }, }, ) diff --git a/radix-transaction-scenarios/generated-protocol-updates/cuttlefish/protocol_update_summary.txt b/radix-transaction-scenarios/generated-protocol-updates/cuttlefish/protocol_update_summary.txt index d7501cdbbc5..b513feacd74 100644 --- a/radix-transaction-scenarios/generated-protocol-updates/cuttlefish/protocol_update_summary.txt +++ b/radix-transaction-scenarios/generated-protocol-updates/cuttlefish/protocol_update_summary.txt @@ -2,6 +2,6 @@ Name: Cuttlefish == SUMMARY HASHES == These Cuttlefish hashes are permitted to change only until the protocol update is deployed to a permanent network, else it can cause divergence. -State changes: 496b6830b809160d (allowed to change if not deployed to any network) +State changes: da1bd0878c206cec (allowed to change if not deployed to any network) Events : 07c81f1e6d320830 (allowed to change if not deployed to any network) diff --git a/radix-transaction-scenarios/generated-protocol-updates/cuttlefish/receipts/00-00-02--cuttlefish-lower-number-of-min-rounds-per-epoch.txt b/radix-transaction-scenarios/generated-protocol-updates/cuttlefish/receipts/00-00-02--cuttlefish-update-number-of-min-rounds-per-epoch.txt similarity index 71% rename from radix-transaction-scenarios/generated-protocol-updates/cuttlefish/receipts/00-00-02--cuttlefish-lower-number-of-min-rounds-per-epoch.txt rename to radix-transaction-scenarios/generated-protocol-updates/cuttlefish/receipts/00-00-02--cuttlefish-update-number-of-min-rounds-per-epoch.txt index 62bed648033..4a762fd610f 100644 --- a/radix-transaction-scenarios/generated-protocol-updates/cuttlefish/receipts/00-00-02--cuttlefish-lower-number-of-min-rounds-per-epoch.txt +++ b/radix-transaction-scenarios/generated-protocol-updates/cuttlefish/receipts/00-00-02--cuttlefish-update-number-of-min-rounds-per-epoch.txt @@ -18,17 +18,17 @@ STATE UPDATES: 1 entity Value: LOCKED ConsensusManagerConfigurationFieldPayload::V1( ConsensusManagerConfigSubstate { config: ConsensusManagerConfig { - max_validators: 10u32, + max_validators: 100u32, epoch_change_condition: EpochChangeCondition { min_round_count: 100u64, - max_round_count: 1u64, - target_duration_millis: 0u64, + max_round_count: 3000u64, + target_duration_millis: 300000u64, }, - num_unstake_epochs: 1u64, - total_emission_xrd_per_epoch: Decimal("1"), + num_unstake_epochs: 2016u64, + total_emission_xrd_per_epoch: Decimal("2853.881278538812785388"), min_validator_reliability: Decimal("1"), - num_owner_stake_units_unlock_epochs: 2u64, - num_fee_increase_delay_epochs: 1u64, + num_owner_stake_units_unlock_epochs: 8064u64, + num_fee_increase_delay_epochs: 4032u64, validator_creation_usd_cost: Decimal("100"), }, },