From 74b668cf4ca027393e345a77064c4f3b51f3890e Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:17:43 +0800 Subject: [PATCH 01/22] init solution --- pallets/admin-utils/src/lib.rs | 10 +- pallets/subtensor/src/lib.rs | 7 +- pallets/subtensor/src/macros/errors.rs | 4 + pallets/subtensor/src/macros/hooks.rs | 4 +- .../migrate_commit_reveal_settings.rs | 60 ++++++++ pallets/subtensor/src/migrations/mod.rs | 1 + pallets/subtensor/src/subnets/weights.rs | 17 ++- pallets/subtensor/src/tests/migration.rs | 132 ++++++++++++++++++ 8 files changed, 224 insertions(+), 11 deletions(-) create mode 100644 pallets/subtensor/src/migrations/migrate_commit_reveal_settings.rs diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index 10bc00c5ae..9ce76027ea 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -1311,14 +1311,10 @@ pub mod pallet { Error::::SubnetDoesNotExist ); - const MAX_COMMIT_REVEAL_PEROIDS: u64 = 100; - ensure!( - interval <= MAX_COMMIT_REVEAL_PEROIDS, - Error::::RevealPeriodOutOfBounds - ); - - pallet_subtensor::Pallet::::set_reveal_period(netuid, interval); log::debug!("SetWeightCommitInterval( netuid: {netuid:?}, interval: {interval:?} ) "); + + pallet_subtensor::Pallet::::set_reveal_period(netuid, interval)?; + Ok(()) } diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index ea4beb3f2b..791b453f4a 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -113,6 +113,11 @@ pub mod pallet { /// Minimum balance required to perform a coldkey swap pub const MIN_BALANCE_TO_PERFORM_COLDKEY_SWAP: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO in RAO + /// Minimum commit reveal periods + pub const MIN_COMMIT_REVEAL_PEROIDS: u64 = 1; + /// Maximum commit reveal periods + pub const MAX_COMMIT_REVEAL_PEROIDS: u64 = 100; + #[pallet::pallet] #[pallet::without_storage_info] #[pallet::storage_version(STORAGE_VERSION)] @@ -768,7 +773,7 @@ pub mod pallet { #[pallet::type_value] /// Default value for weight commit/reveal enabled. pub fn DefaultCommitRevealWeightsEnabled() -> bool { - false + true } #[pallet::type_value] /// Default value for weight commit/reveal version. diff --git a/pallets/subtensor/src/macros/errors.rs b/pallets/subtensor/src/macros/errors.rs index 71750e7534..d82ab500bd 100644 --- a/pallets/subtensor/src/macros/errors.rs +++ b/pallets/subtensor/src/macros/errors.rs @@ -244,5 +244,9 @@ mod errors { SymbolAlreadyInUse, /// Incorrect commit-reveal version. IncorrectCommitRevealVersion, + /// Reveal period is too large. + RevealPeriodTooLarge, + /// Reveal period is too small. + RevealPeriodTooSmall, } } diff --git a/pallets/subtensor/src/macros/hooks.rs b/pallets/subtensor/src/macros/hooks.rs index 7083c24e5d..351afabeec 100644 --- a/pallets/subtensor/src/macros/hooks.rs +++ b/pallets/subtensor/src/macros/hooks.rs @@ -129,7 +129,9 @@ mod hooks { // Migrate subnet symbols to fix the shift after subnet 81 .saturating_add(migrations::migrate_subnet_symbols::migrate_subnet_symbols::()) // Migrate CRV3 add commit_block - .saturating_add(migrations::migrate_crv3_commits_add_block::migrate_crv3_commits_add_block::()); + .saturating_add(migrations::migrate_crv3_commits_add_block::migrate_crv3_commits_add_block::()) + // Migrate Commit-Reveal Settings + .saturating_add(migrations::migrate_commit_reveal_settings::migrate_commit_reveal_settings::()); weight } diff --git a/pallets/subtensor/src/migrations/migrate_commit_reveal_settings.rs b/pallets/subtensor/src/migrations/migrate_commit_reveal_settings.rs new file mode 100644 index 0000000000..04a817b3ca --- /dev/null +++ b/pallets/subtensor/src/migrations/migrate_commit_reveal_settings.rs @@ -0,0 +1,60 @@ +use alloc::string::String; + +use crate::MIN_COMMIT_REVEAL_PEROIDS; +use frame_support::IterableStorageMap; +use frame_support::{traits::Get, weights::Weight}; +use subtensor_runtime_common::NetUid; + +use super::*; + +pub fn migrate_commit_reveal_settings() -> Weight { + let migration_name = b"migrate_commit_reveal_settings".to_vec(); + + // Initialize the weight with one read operation. + let mut weight = T::DbWeight::get().reads(1); + + // Check if the migration has already run + if HasMigrationRun::::get(&migration_name) { + log::info!( + "Migration '{:?}' has already run. Skipping.", + String::from_utf8_lossy(&migration_name) + ); + return weight; + } + log::info!( + "Running migration '{}'", + String::from_utf8_lossy(&migration_name) + ); + + let netuids: Vec = as IterableStorageMap>::iter() + .map(|(netuid, _)| netuid) + .collect(); + weight = weight.saturating_add(T::DbWeight::get().reads(netuids.len() as u64 * 2)); + + for netuid in netuids.iter() { + if netuid.is_root() { + continue; + } + if !CommitRevealWeightsEnabled::::get(*netuid) { + CommitRevealWeightsEnabled::::insert(*netuid, true); + weight = weight.saturating_add(T::DbWeight::get().writes(1)); + } + + if RevealPeriodEpochs::::get(*netuid) == 0 { + RevealPeriodEpochs::::insert(*netuid, MIN_COMMIT_REVEAL_PEROIDS); + weight = weight.saturating_add(T::DbWeight::get().writes(1)); + } + } + + // Mark the migration as completed + HasMigrationRun::::insert(&migration_name, true); + weight = weight.saturating_add(T::DbWeight::get().writes(1)); + + log::info!( + "Migration '{:?}' completed.", + String::from_utf8_lossy(&migration_name) + ); + + // Return the migration weight. + weight +} diff --git a/pallets/subtensor/src/migrations/mod.rs b/pallets/subtensor/src/migrations/mod.rs index cdf142357b..5cf71a647e 100644 --- a/pallets/subtensor/src/migrations/mod.rs +++ b/pallets/subtensor/src/migrations/mod.rs @@ -6,6 +6,7 @@ use sp_io::hashing::twox_128; use sp_io::storage::clear_prefix; pub mod migrate_chain_identity; pub mod migrate_coldkey_swap_scheduled; +pub mod migrate_commit_reveal_settings; pub mod migrate_commit_reveal_v2; pub mod migrate_create_root_network; pub mod migrate_crv3_commits_add_block; diff --git a/pallets/subtensor/src/subnets/weights.rs b/pallets/subtensor/src/subnets/weights.rs index 935bbe8667..35097fd0df 100644 --- a/pallets/subtensor/src/subnets/weights.rs +++ b/pallets/subtensor/src/subnets/weights.rs @@ -1,6 +1,8 @@ use super::*; use crate::epoch::math::*; +use crate::{Error, MAX_COMMIT_REVEAL_PEROIDS, MIN_COMMIT_REVEAL_PEROIDS}; use codec::Compact; +use frame_support::dispatch::DispatchResult; use safe_math::*; use sp_core::{ConstU32, H256}; use sp_runtime::{ @@ -9,7 +11,6 @@ use sp_runtime::{ }; use sp_std::{collections::vec_deque::VecDeque, vec}; use subtensor_runtime_common::NetUid; - impl Pallet { /// ---- The implementation for committing weight hashes. /// @@ -1061,9 +1062,21 @@ impl Pallet { (first_reveal_block, last_reveal_block) } - pub fn set_reveal_period(netuid: NetUid, reveal_period: u64) { + pub fn set_reveal_period(netuid: NetUid, reveal_period: u64) -> DispatchResult { + ensure!( + reveal_period <= MAX_COMMIT_REVEAL_PEROIDS, + Error::::RevealPeriodTooLarge + ); + + ensure!( + reveal_period >= MIN_COMMIT_REVEAL_PEROIDS, + Error::::RevealPeriodTooSmall + ); + RevealPeriodEpochs::::insert(netuid, reveal_period); + Self::deposit_event(Event::CommitRevealPeriodsSet(netuid, reveal_period)); + Ok(()) } pub fn get_reveal_period(netuid: NetUid) -> u64 { RevealPeriodEpochs::::get(netuid) diff --git a/pallets/subtensor/src/tests/migration.rs b/pallets/subtensor/src/tests/migration.rs index e62dacf89e..0c61b72329 100644 --- a/pallets/subtensor/src/tests/migration.rs +++ b/pallets/subtensor/src/tests/migration.rs @@ -1132,3 +1132,135 @@ fn test_migrate_disable_commit_reveal() { ); }); } + +#[test] +fn test_migrate_commit_reveal_settings() { + new_test_ext(1).execute_with(|| { + const MIGRATION_NAME: &str = "migrate_commit_reveal_settings"; + + // Set up some networks first + let netuid1: u16 = 1; + let netuid2: u16 = 2; + + // Add networks to simulate existing networks + add_network(netuid1.into(), 1, 0); + add_network(netuid2.into(), 1, 0); + + // Ensure the storage items use default values initially (but aren't explicitly set) + // Since these are ValueQuery storage items, they return defaults even when not set + assert_eq!(RevealPeriodEpochs::::get(NetUid::from(netuid1)), 1u64); + assert_eq!(RevealPeriodEpochs::::get(NetUid::from(netuid2)), 1u64); + assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid1)), true); + assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid2)), true); + + // Check migration hasn't run + assert!(!HasMigrationRun::::get(MIGRATION_NAME.as_bytes().to_vec())); + + // Run migration + let weight = crate::migrations::migrate_commit_reveal_settings::migrate_commit_reveal_settings::(); + + // Check migration has been marked as run + assert!(HasMigrationRun::::get(MIGRATION_NAME.as_bytes().to_vec())); + + // Verify RevealPeriodEpochs was set correctly + assert_eq!(RevealPeriodEpochs::::get(NetUid::from(netuid1)), 1u64); + assert_eq!(RevealPeriodEpochs::::get(NetUid::from(netuid2)), 1u64); + + // Verify CommitRevealWeightsEnabled was set correctly + assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid1)), true); + assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid2)), true); + + // Check that weight calculation is correct + // 1 read for migration check + 2 reads for network iteration + 2 * 2 writes for storage + 1 write for migration flag + let expected_weight = ::DbWeight::get().reads(1 + 2) + ::DbWeight::get().writes(2 * 2 + 1); + assert_eq!(weight, expected_weight); + }); +} + +#[test] +fn test_migrate_commit_reveal_settings_already_run() { + new_test_ext(1).execute_with(|| { + const MIGRATION_NAME: &str = "migrate_commit_reveal_settings"; + + // Mark migration as already run + HasMigrationRun::::insert(MIGRATION_NAME.as_bytes().to_vec(), true); + + // Run migration + let weight = crate::migrations::migrate_commit_reveal_settings::migrate_commit_reveal_settings::(); + + // Should only have read weight for checking migration status + let expected_weight = ::DbWeight::get().reads(1); + assert_eq!(weight, expected_weight); + }); +} + +#[test] +fn test_migrate_commit_reveal_settings_no_networks() { + new_test_ext(1).execute_with(|| { + const MIGRATION_NAME: &str = "migrate_commit_reveal_settings"; + + // Check migration hasn't run + assert!(!HasMigrationRun::::get(MIGRATION_NAME.as_bytes().to_vec())); + + // Run migration + let weight = crate::migrations::migrate_commit_reveal_settings::migrate_commit_reveal_settings::(); + + // Check migration has been marked as run + assert!(HasMigrationRun::::get(MIGRATION_NAME.as_bytes().to_vec())); + + // Check that weight calculation is correct (no networks, so no additional reads/writes) + // 1 read for migration check + 0 reads for networks + 0 writes for storage + 1 write for migration flag + let expected_weight = ::DbWeight::get().reads(1 + 0) + ::DbWeight::get().writes(0 + 1); + assert_eq!(weight, expected_weight); + }); +} + +#[test] +fn test_migrate_commit_reveal_settings_multiple_networks() { + new_test_ext(1).execute_with(|| { + const MIGRATION_NAME: &str = "migrate_commit_reveal_settings"; + + // Set up multiple networks + let netuids = vec![1u16, 2u16, 3u16, 10u16, 42u16]; + + for netuid in &netuids { + add_network((*netuid).into(), 1, 0); + } + + // Run migration + let weight = crate::migrations::migrate_commit_reveal_settings::migrate_commit_reveal_settings::(); + + // Verify all networks have correct settings + for netuid in &netuids { + assert_eq!(RevealPeriodEpochs::::get(NetUid::from(*netuid)), 1u64); + assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(*netuid)), true); + } + + // Check migration has been marked as run + assert!(HasMigrationRun::::get(MIGRATION_NAME.as_bytes().to_vec())); + + // Check that weight calculation is correct + let network_count = netuids.len() as u64; + let expected_weight = ::DbWeight::get().reads(1 + network_count) + + ::DbWeight::get().writes(network_count * 2 + 1); + assert_eq!(weight, expected_weight); + }); +} + +#[test] +fn test_migrate_commit_reveal_settings_values_access() { + new_test_ext(1).execute_with(|| { + let netuid: u16 = 1; + add_network(netuid.into(), 1, 0); + + // Run migration + crate::migrations::migrate_commit_reveal_settings::migrate_commit_reveal_settings::(); + + // Test that we can access the values using the pallet functions + assert_eq!(SubtensorModule::get_reveal_period(NetUid::from(netuid)), 1u64); + + // Test direct storage access + assert_eq!(RevealPeriodEpochs::::get(NetUid::from(netuid)), 1u64); + assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid)), true); + }); +} \ No newline at end of file From e450f7b23d3ea87431faa6139f2c69229a3d92a3 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:21:16 +0800 Subject: [PATCH 02/22] cargo clippy --- pallets/subtensor/src/tests/migration.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pallets/subtensor/src/tests/migration.rs b/pallets/subtensor/src/tests/migration.rs index 0c61b72329..d140aef98b 100644 --- a/pallets/subtensor/src/tests/migration.rs +++ b/pallets/subtensor/src/tests/migration.rs @@ -1150,8 +1150,8 @@ fn test_migrate_commit_reveal_settings() { // Since these are ValueQuery storage items, they return defaults even when not set assert_eq!(RevealPeriodEpochs::::get(NetUid::from(netuid1)), 1u64); assert_eq!(RevealPeriodEpochs::::get(NetUid::from(netuid2)), 1u64); - assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid1)), true); - assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid2)), true); + assert!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid1))); + assert!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid2))); // Check migration hasn't run assert!(!HasMigrationRun::::get(MIGRATION_NAME.as_bytes().to_vec())); @@ -1167,8 +1167,8 @@ fn test_migrate_commit_reveal_settings() { assert_eq!(RevealPeriodEpochs::::get(NetUid::from(netuid2)), 1u64); // Verify CommitRevealWeightsEnabled was set correctly - assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid1)), true); - assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid2)), true); + assert!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid1))); + assert!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid2))); // Check that weight calculation is correct // 1 read for migration check + 2 reads for network iteration + 2 * 2 writes for storage + 1 write for migration flag @@ -1210,7 +1210,7 @@ fn test_migrate_commit_reveal_settings_no_networks() { // Check that weight calculation is correct (no networks, so no additional reads/writes) // 1 read for migration check + 0 reads for networks + 0 writes for storage + 1 write for migration flag - let expected_weight = ::DbWeight::get().reads(1 + 0) + ::DbWeight::get().writes(0 + 1); + let expected_weight = ::DbWeight::get().reads(1) + ::DbWeight::get().writes(1); assert_eq!(weight, expected_weight); }); } @@ -1233,7 +1233,7 @@ fn test_migrate_commit_reveal_settings_multiple_networks() { // Verify all networks have correct settings for netuid in &netuids { assert_eq!(RevealPeriodEpochs::::get(NetUid::from(*netuid)), 1u64); - assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(*netuid)), true); + assert!(CommitRevealWeightsEnabled::::get(NetUid::from(*netuid))); } // Check migration has been marked as run @@ -1261,6 +1261,6 @@ fn test_migrate_commit_reveal_settings_values_access() { // Test direct storage access assert_eq!(RevealPeriodEpochs::::get(NetUid::from(netuid)), 1u64); - assert_eq!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid)), true); + assert!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid))); }); } \ No newline at end of file From 098a277392643b826bf4815fbe1d75efad7abd19 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:34:07 +0800 Subject: [PATCH 03/22] commit Cargo.lock --- pallets/subtensor/src/tests/migration.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pallets/subtensor/src/tests/migration.rs b/pallets/subtensor/src/tests/migration.rs index d140aef98b..d0ee78915d 100644 --- a/pallets/subtensor/src/tests/migration.rs +++ b/pallets/subtensor/src/tests/migration.rs @@ -1141,7 +1141,6 @@ fn test_migrate_commit_reveal_settings() { // Set up some networks first let netuid1: u16 = 1; let netuid2: u16 = 2; - // Add networks to simulate existing networks add_network(netuid1.into(), 1, 0); add_network(netuid2.into(), 1, 0); @@ -1257,10 +1256,15 @@ fn test_migrate_commit_reveal_settings_values_access() { crate::migrations::migrate_commit_reveal_settings::migrate_commit_reveal_settings::(); // Test that we can access the values using the pallet functions - assert_eq!(SubtensorModule::get_reveal_period(NetUid::from(netuid)), 1u64); - + assert_eq!( + SubtensorModule::get_reveal_period(NetUid::from(netuid)), + 1u64 + ); + // Test direct storage access assert_eq!(RevealPeriodEpochs::::get(NetUid::from(netuid)), 1u64); - assert!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid))); + assert!(CommitRevealWeightsEnabled::::get(NetUid::from( + netuid + ))); }); -} \ No newline at end of file +} From ad2a5a9e87430416b231586223ff45b9508305c1 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:35:16 +0800 Subject: [PATCH 04/22] cargo fix --- pallets/subtensor/src/tests/epoch.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/subtensor/src/tests/epoch.rs b/pallets/subtensor/src/tests/epoch.rs index bdf675648b..95abfe468b 100644 --- a/pallets/subtensor/src/tests/epoch.rs +++ b/pallets/subtensor/src/tests/epoch.rs @@ -3567,7 +3567,7 @@ fn test_epoch_masks_incoming_to_sniped_uid_prevents_inheritance() { let reveal: u64 = 2; add_network(netuid, tempo, 0); - SubtensorModule::set_reveal_period(netuid, reveal); + assert_ok!(SubtensorModule::set_reveal_period(netuid, reveal)); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_max_allowed_uids(netuid, 3); SubtensorModule::set_target_registrations_per_interval(netuid, u16::MAX); From d53c683d757a587e3000a069cc7bdedc8572073f Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:38:31 +0800 Subject: [PATCH 05/22] commit Cargo.lock --- pallets/subtensor/src/tests/epoch.rs | 2 +- pallets/subtensor/src/tests/weights.rs | 51 ++++++++++++++------------ 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/pallets/subtensor/src/tests/epoch.rs b/pallets/subtensor/src/tests/epoch.rs index 95abfe468b..a7b1645e73 100644 --- a/pallets/subtensor/src/tests/epoch.rs +++ b/pallets/subtensor/src/tests/epoch.rs @@ -3709,7 +3709,7 @@ fn test_epoch_does_not_mask_outside_window_but_masks_inside() { let reveal: u16 = 2; add_network(netuid, tempo, 0); - SubtensorModule::set_reveal_period(netuid, reveal as u64); + assert_ok!(SubtensorModule::set_reveal_period(netuid, reveal as u64)); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_target_registrations_per_interval(netuid, u16::MAX); diff --git a/pallets/subtensor/src/tests/weights.rs b/pallets/subtensor/src/tests/weights.rs index 7befc1c668..0acaba2348 100644 --- a/pallets/subtensor/src/tests/weights.rs +++ b/pallets/subtensor/src/tests/weights.rs @@ -3197,7 +3197,7 @@ fn test_reveal_at_exact_epoch() { let reveal_periods: Vec = vec![0, 1, 2, 7, 40, 86, 100]; for &reveal_period in &reveal_periods { - SubtensorModule::set_reveal_period(netuid, reveal_period); + assert_ok!(SubtensorModule::set_reveal_period(netuid, reveal_period)); let salt: Vec = vec![42; 8]; let commit_hash: H256 = BlakeTwo256::hash_of(&( @@ -3333,7 +3333,7 @@ fn test_tempo_and_reveal_period_change_during_commit_reveal_process() { let initial_tempo: u16 = 100; let initial_reveal_period: u64 = 1; add_network(netuid, initial_tempo, 0); - SubtensorModule::set_reveal_period(netuid, initial_reveal_period); + assert_ok!(SubtensorModule::set_reveal_period(netuid, initial_reveal_period)); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -3377,7 +3377,7 @@ fn test_tempo_and_reveal_period_change_during_commit_reveal_process() { let new_tempo: u16 = 50; let new_reveal_period: u64 = 2; SubtensorModule::set_tempo(netuid, new_tempo); - SubtensorModule::set_reveal_period(netuid, new_reveal_period); + assert_ok!(SubtensorModule::set_reveal_period(netuid, new_reveal_period)); log::info!( "Changed tempo to {new_tempo} and reveal period to {new_reveal_period}" ); @@ -3431,8 +3431,11 @@ fn test_tempo_and_reveal_period_change_during_commit_reveal_process() { let new_tempo_after_reveal: u16 = 200; let new_reveal_period_after_reveal: u64 = 1; SubtensorModule::set_tempo(netuid, new_tempo_after_reveal); - SubtensorModule::set_reveal_period(netuid, new_reveal_period_after_reveal); - log::info!( + assert_ok!(SubtensorModule::set_reveal_period( + netuid, + new_reveal_period_after_reveal + )); + log::info!( "Changed tempo to {new_tempo_after_reveal} and reveal period to {new_reveal_period_after_reveal} after reveal" ); @@ -3648,7 +3651,7 @@ fn test_reveal_at_exact_block() { ]; for &reveal_period in &reveal_periods { - SubtensorModule::set_reveal_period(netuid, reveal_period); + assert_ok!(SubtensorModule::set_reveal_period(netuid, reveal_period)); // Step 1: Commit weights let salt: Vec = vec![42 + (reveal_period % 100) as u16; 8]; @@ -4401,7 +4404,7 @@ fn test_highly_concurrent_commits_and_reveals_with_multiple_hotkeys() { add_network(netuid, initial_tempo, 0); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - SubtensorModule::set_reveal_period(netuid, initial_reveal_period); + assert_ok!(SubtensorModule::set_reveal_period(netuid, initial_reveal_period)); SubtensorModule::set_max_registrations_per_block(netuid, u16::MAX); SubtensorModule::set_target_registrations_per_interval(netuid, u16::MAX); @@ -4512,7 +4515,7 @@ fn test_highly_concurrent_commits_and_reveals_with_multiple_hotkeys() { // ==== Modify Network Parameters During Commits ==== SubtensorModule::set_tempo(netuid, 150); - SubtensorModule::set_reveal_period(netuid, 7); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 7)); log::info!("Changed tempo to 150 and reveal_period to 7 during commits."); step_epochs(3, netuid); @@ -4558,7 +4561,7 @@ fn test_highly_concurrent_commits_and_reveals_with_multiple_hotkeys() { // ==== Change Network Parameters Again ==== SubtensorModule::set_tempo(netuid, 200); - SubtensorModule::set_reveal_period(netuid, 10); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 10)); log::info!("Changed tempo to 200 and reveal_period to 10 after initial reveals."); step_epochs(10, netuid); @@ -5011,7 +5014,7 @@ fn test_reveal_crv3_commits_success() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 3); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) .expect("Failed to get neuron UID for hotkey1"); @@ -5163,7 +5166,7 @@ fn test_reveal_crv3_commits_cannot_reveal_after_reveal_epoch() { register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 3); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) .expect("Failed to get neuron UID for hotkey1"); @@ -5619,7 +5622,7 @@ fn test_reveal_crv3_commits_multiple_commits_some_fail_some_succeed() { register_ok_neuron(netuid, hotkey1, U256::from(3), 100_000); register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 1); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); // Prepare a valid payload for hotkey1 @@ -5742,7 +5745,7 @@ fn test_reveal_crv3_commits_do_set_weights_failure() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 3); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); // Prepare payload with mismatched uids and values lengths @@ -5828,7 +5831,7 @@ fn test_reveal_crv3_commits_payload_decoding_failure() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 3); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); let invalid_payload = vec![0u8; 10]; // Not a valid encoding of WeightsTlockPayload @@ -5906,7 +5909,7 @@ fn test_reveal_crv3_commits_signature_deserialization_failure() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 3); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); let version_key = SubtensorModule::get_weights_version_key(netuid); @@ -6052,7 +6055,7 @@ fn test_reveal_crv3_commits_with_incorrect_identity_message() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 1); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); // Prepare a valid payload but use incorrect identity message during encryption @@ -6140,7 +6143,7 @@ fn test_multiple_commits_by_same_hotkey_within_limit() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 1); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); for i in 0..10 { @@ -6178,7 +6181,7 @@ fn test_reveal_crv3_commits_removes_past_epoch_commits() { add_network(netuid, /*tempo*/ 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 1); // reveal_period = 1 epoch + assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); // reveal_period = 1 epoch SubtensorModule::set_weights_set_rate_limit(netuid, 0); // --------------------------------------------------------------------- @@ -6235,7 +6238,7 @@ fn test_reveal_crv3_commits_multiple_valid_commits_all_processed() { // ───── network parameters ─────────────────────────────────────────── add_network(netuid, 5, 0); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 1); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_stake_threshold(0); SubtensorModule::set_max_registrations_per_block(netuid, 100); @@ -6351,7 +6354,7 @@ fn test_reveal_crv3_commits_max_neurons() { // ───── network parameters ─────────────────────────────────────────── add_network(netuid, 5, 0); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 1); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_stake_threshold(0); SubtensorModule::set_max_registrations_per_block(netuid, 10_000); @@ -6580,7 +6583,7 @@ fn test_reveal_crv3_commits_hotkey_check() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 3); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) .expect("Failed to get neuron UID for hotkey1"); @@ -6697,7 +6700,7 @@ fn test_reveal_crv3_commits_hotkey_check() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 3); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) .expect("Failed to get neuron UID for hotkey1"); @@ -6846,7 +6849,7 @@ fn test_reveal_crv3_commits_retry_on_missing_pulse() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(3), 100_000); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 3); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_stake_threshold(0); @@ -6961,7 +6964,7 @@ fn test_reveal_crv3_commits_legacy_payload_success() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::set_reveal_period(netuid, 3); + assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1).unwrap(); let uid2 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey2).unwrap(); From 1d13f5ffeb987d3d4091e577881885df0e23588e Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:39:07 +0800 Subject: [PATCH 06/22] cargo clippy --- pallets/subtensor/src/tests/weights.rs | 108 ++++++++++++------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/pallets/subtensor/src/tests/weights.rs b/pallets/subtensor/src/tests/weights.rs index 0acaba2348..80d3df831b 100644 --- a/pallets/subtensor/src/tests/weights.rs +++ b/pallets/subtensor/src/tests/weights.rs @@ -648,7 +648,7 @@ fn test_batch_reveal_weights_validate() { crate::Owner::::insert(hotkey, coldkey); crate::Owner::::insert(hotkey2, coldkey); SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); let min_stake = TaoCurrency::from(500_000_000_000); // Set the minimum stake @@ -1845,7 +1845,7 @@ fn test_set_weights_commit_reveal_enabled_error() { let version_key: u64 = 0; let hotkey = U256::from(1); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_err!( SubtensorModule::set_weights( @@ -1858,7 +1858,7 @@ fn test_set_weights_commit_reveal_enabled_error() { Error::::CommitRevealEnabled ); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); assert_ok!(SubtensorModule::set_weights( RuntimeOrigin::signed(hotkey), @@ -1903,7 +1903,7 @@ fn test_reveal_weights_when_commit_reveal_disabled() { SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); // Enable commit-reveal and commit - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::commit_weights( RuntimeOrigin::signed(hotkey), netuid, @@ -1913,7 +1913,7 @@ fn test_reveal_weights_when_commit_reveal_disabled() { step_epochs(1, netuid); // Disable commit-reveal before reveal - SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); // Attempt to reveal, should fail with CommitRevealDisabled assert_err!( @@ -1962,7 +1962,7 @@ fn test_commit_reveal_weights_ok() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -2030,7 +2030,7 @@ fn test_commit_reveal_tempo_interval() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -2181,7 +2181,7 @@ fn test_commit_reveal_hash() { 1.into(), ); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); let commit_hash: H256 = BlakeTwo256::hash_of(&( hotkey, @@ -2282,7 +2282,7 @@ fn test_commit_reveal_disabled_or_enabled() { ); // Disable commit/reveal - SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); // Attempt to commit, should fail assert_err!( @@ -2291,7 +2291,7 @@ fn test_commit_reveal_disabled_or_enabled() { ); // Enable commit/reveal - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); // Commit should now succeed assert_ok!(SubtensorModule::commit_weights( @@ -2359,7 +2359,7 @@ fn test_toggle_commit_reveal_weights_and_set_weights() { ); // Enable commit/reveal - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); // Commit at block 0 assert_ok!(SubtensorModule::commit_weights( @@ -2381,7 +2381,7 @@ fn test_toggle_commit_reveal_weights_and_set_weights() { )); // Disable commit/reveal - SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); // Advance to allow setting weights (due to rate limit) step_block(5); @@ -2428,7 +2428,7 @@ fn test_tempo_change_during_commit_reveal_process() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -2577,7 +2577,7 @@ fn test_commit_reveal_multiple_commits() { SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -2972,7 +2972,7 @@ fn test_expired_commits_handling_in_commit_and_reveal() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); // Register neurons @@ -3171,7 +3171,7 @@ fn test_reveal_at_exact_epoch() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -3334,7 +3334,7 @@ fn test_tempo_and_reveal_period_change_during_commit_reveal_process() { let initial_reveal_period: u64 = 1; add_network(netuid, initial_tempo, 0); assert_ok!(SubtensorModule::set_reveal_period(netuid, initial_reveal_period)); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -3524,7 +3524,7 @@ fn test_commit_reveal_order_enforcement() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -3626,7 +3626,7 @@ fn test_reveal_at_exact_block() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -3796,7 +3796,7 @@ fn test_successful_batch_reveal() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -3874,7 +3874,7 @@ fn test_batch_reveal_with_expired_commits() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -3992,7 +3992,7 @@ fn test_batch_reveal_with_invalid_input_lengths() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); // Base data for valid inputs let uids_list: Vec> = vec![vec![0, 1], vec![1, 0]]; @@ -4094,7 +4094,7 @@ fn test_batch_reveal_with_no_commits() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); // 1. Attempt to perform batch reveal without any commits let result = SubtensorModule::do_batch_reveal_weights( @@ -4123,7 +4123,7 @@ fn test_batch_reveal_before_reveal_period() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); @@ -4181,7 +4181,7 @@ fn test_batch_reveal_after_commits_expired() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); @@ -4262,7 +4262,7 @@ fn test_batch_reveal_when_commit_reveal_disabled() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); // 1. Attempt to perform batch reveal when commit-reveal is disabled let result = SubtensorModule::do_batch_reveal_weights( @@ -4291,7 +4291,7 @@ fn test_batch_reveal_with_out_of_order_commits() { System::set_block_number(0); add_network(netuid, tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -4402,7 +4402,7 @@ fn test_highly_concurrent_commits_and_reveals_with_multiple_hotkeys() { // ==== Setup Network ==== add_network(netuid, initial_tempo, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); assert_ok!(SubtensorModule::set_reveal_period(netuid, initial_reveal_period)); SubtensorModule::set_max_registrations_per_block(netuid, u16::MAX); @@ -4700,7 +4700,7 @@ fn test_get_reveal_blocks() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -4834,7 +4834,7 @@ fn test_commit_weights_rate_limit() { SubtensorModule::set_weights_set_rate_limit(netuid, 10); // Rate limit is 10 blocks SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -4888,7 +4888,7 @@ fn test_commit_weights_rate_limit() { new_commit_hash )); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); let weights_keys: Vec = vec![0]; let weight_values: Vec = vec![1]; @@ -5013,7 +5013,7 @@ fn test_reveal_crv3_commits_success() { register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) @@ -5165,7 +5165,7 @@ fn test_reveal_crv3_commits_cannot_reveal_after_reveal_epoch() { register_ok_neuron(netuid, hotkey1, U256::from(3), 100_000); register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) @@ -5291,7 +5291,7 @@ fn test_do_commit_crv3_weights_success() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::do_commit_timelocked_weights( RuntimeOrigin::signed(hotkey), @@ -5327,7 +5327,7 @@ fn test_do_commit_crv3_weights_disabled() { register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 5); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); assert_err!( SubtensorModule::do_commit_timelocked_weights( RuntimeOrigin::signed(hotkey), @@ -5356,7 +5356,7 @@ fn test_do_commit_crv3_weights_hotkey_not_registered() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 5); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_err!( SubtensorModule::do_commit_timelocked_weights( @@ -5386,7 +5386,7 @@ fn test_do_commit_crv3_weights_committing_too_fast() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 5); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); let neuron_uid = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey).expect("Expected uid"); SubtensorModule::set_last_update_for_uid(netuid, neuron_uid, 0); @@ -5458,7 +5458,7 @@ fn test_do_commit_crv3_weights_too_many_unrevealed_commits() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey1, U256::from(2), 100_000); register_ok_neuron(netuid, hotkey2, U256::from(3), 100_000); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); // Hotkey1 submits 10 commits successfully @@ -5568,7 +5568,7 @@ fn test_reveal_crv3_commits_decryption_failure() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); let commit_bytes: Vec = vec![0xff; 100]; let bounded_commit_bytes = commit_bytes @@ -5621,7 +5621,7 @@ fn test_reveal_crv3_commits_multiple_commits_some_fail_some_succeed() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey1, U256::from(3), 100_000); register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -5744,7 +5744,7 @@ fn test_reveal_crv3_commits_do_set_weights_failure() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -5830,7 +5830,7 @@ fn test_reveal_crv3_commits_payload_decoding_failure() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -5908,7 +5908,7 @@ fn test_reveal_crv3_commits_signature_deserialization_failure() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -5990,7 +5990,7 @@ fn test_do_commit_crv3_weights_commit_size_exceeds_limit() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); let max_commit_size = MAX_CRV3_COMMIT_SIZE_BYTES as usize; @@ -6031,7 +6031,7 @@ fn test_reveal_crv3_commits_with_empty_commit_queue() { let netuid = NetUid::from(1); add_network(netuid, 5, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); step_epochs(2, netuid); @@ -6054,7 +6054,7 @@ fn test_reveal_crv3_commits_with_incorrect_identity_message() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -6142,7 +6142,7 @@ fn test_multiple_commits_by_same_hotkey_within_limit() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -6180,7 +6180,7 @@ fn test_reveal_crv3_commits_removes_past_epoch_commits() { add_network(netuid, /*tempo*/ 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); // reveal_period = 1 epoch SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -6237,7 +6237,7 @@ fn test_reveal_crv3_commits_multiple_valid_commits_all_processed() { // ───── network parameters ─────────────────────────────────────────── add_network(netuid, 5, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_stake_threshold(0); @@ -6353,7 +6353,7 @@ fn test_reveal_crv3_commits_max_neurons() { // ───── network parameters ─────────────────────────────────────────── add_network(netuid, 5, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_stake_threshold(0); @@ -6582,7 +6582,7 @@ fn test_reveal_crv3_commits_hotkey_check() { register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) @@ -6699,7 +6699,7 @@ fn test_reveal_crv3_commits_hotkey_check() { register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) @@ -6848,7 +6848,7 @@ fn test_reveal_crv3_commits_retry_on_missing_pulse() { // ─── network & neuron ─────────────────────────────────────────────── add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(3), 100_000); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_stake_threshold(0); @@ -6963,7 +6963,7 @@ fn test_reveal_crv3_commits_legacy_payload_success() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); + assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1).unwrap(); From edb75fb8fcc11b0172b57fc0c8b54c0085c347fd Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:40:19 +0800 Subject: [PATCH 07/22] commit Cargo.lock --- .../src/migrations/migrate_commit_reveal_settings.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pallets/subtensor/src/migrations/migrate_commit_reveal_settings.rs b/pallets/subtensor/src/migrations/migrate_commit_reveal_settings.rs index 04a817b3ca..54df469600 100644 --- a/pallets/subtensor/src/migrations/migrate_commit_reveal_settings.rs +++ b/pallets/subtensor/src/migrations/migrate_commit_reveal_settings.rs @@ -29,7 +29,11 @@ pub fn migrate_commit_reveal_settings() -> Weight { let netuids: Vec = as IterableStorageMap>::iter() .map(|(netuid, _)| netuid) .collect(); - weight = weight.saturating_add(T::DbWeight::get().reads(netuids.len() as u64 * 2)); + weight = weight.saturating_add( + T::DbWeight::get() + .reads(netuids.len() as u64) + .saturating_mul(2), + ); for netuid in netuids.iter() { if netuid.is_root() { From f45b48f05585bfbafe97366dfe32728248b9662a Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:41:24 +0800 Subject: [PATCH 08/22] commit Cargo.lock --- pallets/subtensor/src/tests/weights.rs | 94 +++++++++++++------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/pallets/subtensor/src/tests/weights.rs b/pallets/subtensor/src/tests/weights.rs index 80d3df831b..a15ac26e48 100644 --- a/pallets/subtensor/src/tests/weights.rs +++ b/pallets/subtensor/src/tests/weights.rs @@ -648,7 +648,7 @@ fn test_batch_reveal_weights_validate() { crate::Owner::::insert(hotkey, coldkey); crate::Owner::::insert(hotkey2, coldkey); SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); let min_stake = TaoCurrency::from(500_000_000_000); // Set the minimum stake @@ -1845,7 +1845,7 @@ fn test_set_weights_commit_reveal_enabled_error() { let version_key: u64 = 0; let hotkey = U256::from(1); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_err!( SubtensorModule::set_weights( @@ -1903,7 +1903,7 @@ fn test_reveal_weights_when_commit_reveal_disabled() { SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); // Enable commit-reveal and commit - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::commit_weights( RuntimeOrigin::signed(hotkey), netuid, @@ -1962,7 +1962,7 @@ fn test_commit_reveal_weights_ok() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -2030,7 +2030,7 @@ fn test_commit_reveal_tempo_interval() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -2181,7 +2181,7 @@ fn test_commit_reveal_hash() { 1.into(), ); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); let commit_hash: H256 = BlakeTwo256::hash_of(&( hotkey, @@ -2291,7 +2291,7 @@ fn test_commit_reveal_disabled_or_enabled() { ); // Enable commit/reveal - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); // Commit should now succeed assert_ok!(SubtensorModule::commit_weights( @@ -2359,7 +2359,7 @@ fn test_toggle_commit_reveal_weights_and_set_weights() { ); // Enable commit/reveal - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); // Commit at block 0 assert_ok!(SubtensorModule::commit_weights( @@ -2428,7 +2428,7 @@ fn test_tempo_change_during_commit_reveal_process() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -2577,7 +2577,7 @@ fn test_commit_reveal_multiple_commits() { SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -2972,7 +2972,7 @@ fn test_expired_commits_handling_in_commit_and_reveal() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); // Register neurons @@ -3171,7 +3171,7 @@ fn test_reveal_at_exact_epoch() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -3334,7 +3334,7 @@ fn test_tempo_and_reveal_period_change_during_commit_reveal_process() { let initial_reveal_period: u64 = 1; add_network(netuid, initial_tempo, 0); assert_ok!(SubtensorModule::set_reveal_period(netuid, initial_reveal_period)); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -3524,7 +3524,7 @@ fn test_commit_reveal_order_enforcement() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -3626,7 +3626,7 @@ fn test_reveal_at_exact_block() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -3796,7 +3796,7 @@ fn test_successful_batch_reveal() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -3874,7 +3874,7 @@ fn test_batch_reveal_with_expired_commits() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -3992,7 +3992,7 @@ fn test_batch_reveal_with_invalid_input_lengths() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); // Base data for valid inputs let uids_list: Vec> = vec![vec![0, 1], vec![1, 0]]; @@ -4094,7 +4094,7 @@ fn test_batch_reveal_with_no_commits() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); // 1. Attempt to perform batch reveal without any commits let result = SubtensorModule::do_batch_reveal_weights( @@ -4123,7 +4123,7 @@ fn test_batch_reveal_before_reveal_period() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); @@ -4181,7 +4181,7 @@ fn test_batch_reveal_after_commits_expired() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); @@ -4291,7 +4291,7 @@ fn test_batch_reveal_with_out_of_order_commits() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); register_ok_neuron(netuid, U256::from(3), U256::from(4), 300_000); @@ -4402,7 +4402,7 @@ fn test_highly_concurrent_commits_and_reveals_with_multiple_hotkeys() { // ==== Setup Network ==== add_network(netuid, initial_tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); assert_ok!(SubtensorModule::set_reveal_period(netuid, initial_reveal_period)); SubtensorModule::set_max_registrations_per_block(netuid, u16::MAX); @@ -4700,7 +4700,7 @@ fn test_get_reveal_blocks() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -4834,7 +4834,7 @@ fn test_commit_weights_rate_limit() { SubtensorModule::set_weights_set_rate_limit(netuid, 10); // Rate limit is 10 blocks SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -5013,7 +5013,7 @@ fn test_reveal_crv3_commits_success() { register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) @@ -5165,7 +5165,7 @@ fn test_reveal_crv3_commits_cannot_reveal_after_reveal_epoch() { register_ok_neuron(netuid, hotkey1, U256::from(3), 100_000); register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) @@ -5291,7 +5291,7 @@ fn test_do_commit_crv3_weights_success() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::do_commit_timelocked_weights( RuntimeOrigin::signed(hotkey), @@ -5356,7 +5356,7 @@ fn test_do_commit_crv3_weights_hotkey_not_registered() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 5); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_err!( SubtensorModule::do_commit_timelocked_weights( @@ -5386,7 +5386,7 @@ fn test_do_commit_crv3_weights_committing_too_fast() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 5); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); let neuron_uid = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey).expect("Expected uid"); SubtensorModule::set_last_update_for_uid(netuid, neuron_uid, 0); @@ -5458,7 +5458,7 @@ fn test_do_commit_crv3_weights_too_many_unrevealed_commits() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey1, U256::from(2), 100_000); register_ok_neuron(netuid, hotkey2, U256::from(3), 100_000); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); // Hotkey1 submits 10 commits successfully @@ -5568,7 +5568,7 @@ fn test_reveal_crv3_commits_decryption_failure() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); let commit_bytes: Vec = vec![0xff; 100]; let bounded_commit_bytes = commit_bytes @@ -5621,7 +5621,7 @@ fn test_reveal_crv3_commits_multiple_commits_some_fail_some_succeed() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey1, U256::from(3), 100_000); register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -5744,7 +5744,7 @@ fn test_reveal_crv3_commits_do_set_weights_failure() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -5830,7 +5830,7 @@ fn test_reveal_crv3_commits_payload_decoding_failure() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -5908,7 +5908,7 @@ fn test_reveal_crv3_commits_signature_deserialization_failure() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -5990,7 +5990,7 @@ fn test_do_commit_crv3_weights_commit_size_exceeds_limit() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); let max_commit_size = MAX_CRV3_COMMIT_SIZE_BYTES as usize; @@ -6031,7 +6031,7 @@ fn test_reveal_crv3_commits_with_empty_commit_queue() { let netuid = NetUid::from(1); add_network(netuid, 5, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); step_epochs(2, netuid); @@ -6054,7 +6054,7 @@ fn test_reveal_crv3_commits_with_incorrect_identity_message() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -6142,7 +6142,7 @@ fn test_multiple_commits_by_same_hotkey_within_limit() { add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -6180,7 +6180,7 @@ fn test_reveal_crv3_commits_removes_past_epoch_commits() { add_network(netuid, /*tempo*/ 5, 0); register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); // reveal_period = 1 epoch SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -6237,7 +6237,7 @@ fn test_reveal_crv3_commits_multiple_valid_commits_all_processed() { // ───── network parameters ─────────────────────────────────────────── add_network(netuid, 5, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_stake_threshold(0); @@ -6353,7 +6353,7 @@ fn test_reveal_crv3_commits_max_neurons() { // ───── network parameters ─────────────────────────────────────────── add_network(netuid, 5, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 1)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_stake_threshold(0); @@ -6582,7 +6582,7 @@ fn test_reveal_crv3_commits_hotkey_check() { register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) @@ -6699,7 +6699,7 @@ fn test_reveal_crv3_commits_hotkey_check() { register_ok_neuron(netuid, hotkey2, U256::from(4), 100_000); SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let neuron_uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1) @@ -6848,7 +6848,7 @@ fn test_reveal_crv3_commits_retry_on_missing_pulse() { // ─── network & neuron ─────────────────────────────────────────────── add_network(netuid, 5, 0); register_ok_neuron(netuid, hotkey, U256::from(3), 100_000); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_stake_threshold(0); @@ -6963,7 +6963,7 @@ fn test_reveal_crv3_commits_legacy_payload_success() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_weights_set_rate_limit(netuid, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, true)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); assert_ok!(SubtensorModule::set_reveal_period(netuid, 3)); let uid1 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey1).unwrap(); From 57bf710f577fa0a357702558383c1682e3836632 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:42:13 +0800 Subject: [PATCH 09/22] commit Cargo.lock --- pallets/subtensor/src/tests/weights.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pallets/subtensor/src/tests/weights.rs b/pallets/subtensor/src/tests/weights.rs index a15ac26e48..0acaba2348 100644 --- a/pallets/subtensor/src/tests/weights.rs +++ b/pallets/subtensor/src/tests/weights.rs @@ -1858,7 +1858,7 @@ fn test_set_weights_commit_reveal_enabled_error() { Error::::CommitRevealEnabled ); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); assert_ok!(SubtensorModule::set_weights( RuntimeOrigin::signed(hotkey), @@ -1913,7 +1913,7 @@ fn test_reveal_weights_when_commit_reveal_disabled() { step_epochs(1, netuid); // Disable commit-reveal before reveal - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); // Attempt to reveal, should fail with CommitRevealDisabled assert_err!( @@ -2282,7 +2282,7 @@ fn test_commit_reveal_disabled_or_enabled() { ); // Disable commit/reveal - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); // Attempt to commit, should fail assert_err!( @@ -2381,7 +2381,7 @@ fn test_toggle_commit_reveal_weights_and_set_weights() { )); // Disable commit/reveal - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); // Advance to allow setting weights (due to rate limit) step_block(5); @@ -4262,7 +4262,7 @@ fn test_batch_reveal_when_commit_reveal_disabled() { System::set_block_number(0); add_network(netuid, tempo, 0); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); // 1. Attempt to perform batch reveal when commit-reveal is disabled let result = SubtensorModule::do_batch_reveal_weights( @@ -4888,7 +4888,7 @@ fn test_commit_weights_rate_limit() { new_commit_hash )); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); let weights_keys: Vec = vec![0]; let weight_values: Vec = vec![1]; @@ -5327,7 +5327,7 @@ fn test_do_commit_crv3_weights_disabled() { register_ok_neuron(netuid, hotkey, U256::from(2), 100_000); SubtensorModule::set_weights_set_rate_limit(netuid, 5); - assert_ok!(SubtensorModule::set_commit_reveal_weights_enabled(netuid, false)); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); assert_err!( SubtensorModule::do_commit_timelocked_weights( RuntimeOrigin::signed(hotkey), From 839d1d434f3132953c8703182cae5a1eafcd35cc Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:44:44 +0800 Subject: [PATCH 10/22] commit Cargo.lock --- pallets/subtensor/src/tests/migration.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/pallets/subtensor/src/tests/migration.rs b/pallets/subtensor/src/tests/migration.rs index d0ee78915d..d3d0c7658d 100644 --- a/pallets/subtensor/src/tests/migration.rs +++ b/pallets/subtensor/src/tests/migration.rs @@ -1180,7 +1180,6 @@ fn test_migrate_commit_reveal_settings() { fn test_migrate_commit_reveal_settings_already_run() { new_test_ext(1).execute_with(|| { const MIGRATION_NAME: &str = "migrate_commit_reveal_settings"; - // Mark migration as already run HasMigrationRun::::insert(MIGRATION_NAME.as_bytes().to_vec(), true); @@ -1221,7 +1220,6 @@ fn test_migrate_commit_reveal_settings_multiple_networks() { // Set up multiple networks let netuids = vec![1u16, 2u16, 3u16, 10u16, 42u16]; - for netuid in &netuids { add_network((*netuid).into(), 1, 0); } From 51d2998a58132b14294f0731810720a5a626ac8c Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:47:03 +0800 Subject: [PATCH 11/22] commit Cargo.lock --- pallets/subtensor/src/tests/migration.rs | 3 +-- pallets/subtensor/src/tests/weights.rs | 4 +--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/pallets/subtensor/src/tests/migration.rs b/pallets/subtensor/src/tests/migration.rs index d3d0c7658d..5b8381fd5b 100644 --- a/pallets/subtensor/src/tests/migration.rs +++ b/pallets/subtensor/src/tests/migration.rs @@ -1238,8 +1238,7 @@ fn test_migrate_commit_reveal_settings_multiple_networks() { // Check that weight calculation is correct let network_count = netuids.len() as u64; - let expected_weight = ::DbWeight::get().reads(1 + network_count) - + ::DbWeight::get().writes(network_count * 2 + 1); + let expected_weight = ::DbWeight::get().reads(1 + network_count) + ::DbWeight::get().writes(network_count * 2 + 1); assert_eq!(weight, expected_weight); }); } diff --git a/pallets/subtensor/src/tests/weights.rs b/pallets/subtensor/src/tests/weights.rs index 0acaba2348..2710927b8a 100644 --- a/pallets/subtensor/src/tests/weights.rs +++ b/pallets/subtensor/src/tests/weights.rs @@ -3435,9 +3435,7 @@ fn test_tempo_and_reveal_period_change_during_commit_reveal_process() { netuid, new_reveal_period_after_reveal )); - log::info!( - "Changed tempo to {new_tempo_after_reveal} and reveal period to {new_reveal_period_after_reveal} after reveal" - ); + log::info!("Changed tempo to {new_tempo_after_reveal} and reveal period to {new_reveal_period_after_reveal} after reveal"); // Step 5: Commit again let new_salt: Vec = vec![43; 8]; From da06618610bda9feacb9d514362ca5ba43ebbeed Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 17:50:32 +0800 Subject: [PATCH 12/22] bump version --- runtime/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 56a263a813..1d8e658f1c 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -215,7 +215,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // `spec_version`, and `authoring_version` are the same between Wasm and native. // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use // the compatible custom types. - spec_version: 302, + spec_version: 303, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From 045a9e3d3d5469f1c99f64d7a720823f85974b14 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 18:08:23 +0800 Subject: [PATCH 13/22] fix unit test --- pallets/admin-utils/src/lib.rs | 2 -- pallets/admin-utils/src/tests/mod.rs | 4 ++-- pallets/subtensor/src/staking/stake_utils.rs | 2 ++ 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index 9ce76027ea..b726881b91 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -107,8 +107,6 @@ pub mod pallet { BondsMovingAverageMaxReached, /// Only root can set negative sigmoid steepness values NegativeSigmoidSteepness, - /// Reveal Peroid is not within the valid range. - RevealPeriodOutOfBounds, } /// Enum for specifying the type of precompile operation. #[derive( diff --git a/pallets/admin-utils/src/tests/mod.rs b/pallets/admin-utils/src/tests/mod.rs index 754befc805..5290d3ddfc 100644 --- a/pallets/admin-utils/src/tests/mod.rs +++ b/pallets/admin-utils/src/tests/mod.rs @@ -1120,7 +1120,7 @@ fn test_sudo_set_commit_reveal_weights_enabled() { let netuid = NetUid::from(1); add_network(netuid, 10); - let to_be_set: bool = true; + let to_be_set: bool = false; let init_value: bool = SubtensorModule::get_commit_reveal_weights_enabled(netuid); assert_ok!(AdminUtils::sudo_set_commit_reveal_weights_enabled( @@ -1459,7 +1459,7 @@ fn sudo_set_commit_reveal_weights_interval() { netuid, too_high ), - Error::::RevealPeriodOutOfBounds + pallet_subtensor::Error::::RevealPeriodTooLarge ); let to_be_set = 55; diff --git a/pallets/subtensor/src/staking/stake_utils.rs b/pallets/subtensor/src/staking/stake_utils.rs index 8dff984099..4d94f5255b 100644 --- a/pallets/subtensor/src/staking/stake_utils.rs +++ b/pallets/subtensor/src/staking/stake_utils.rs @@ -1036,6 +1036,8 @@ impl Pallet { ensure!(alpha_unstaked <= max_amount, Error::::SlippageTooHigh); } + + // Ensure that the hotkey account exists this is only possible through registration. ensure!( Self::hotkey_account_exists(hotkey), From 6ee5b09c44987c482b3a61a65eb076eb3eaae332 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 18:21:37 +0800 Subject: [PATCH 14/22] fix clippy --- pallets/subtensor/src/staking/stake_utils.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/pallets/subtensor/src/staking/stake_utils.rs b/pallets/subtensor/src/staking/stake_utils.rs index 4d94f5255b..57a5f1a382 100644 --- a/pallets/subtensor/src/staking/stake_utils.rs +++ b/pallets/subtensor/src/staking/stake_utils.rs @@ -1035,9 +1035,6 @@ impl Pallet { if !allow_partial { ensure!(alpha_unstaked <= max_amount, Error::::SlippageTooHigh); } - - - // Ensure that the hotkey account exists this is only possible through registration. ensure!( Self::hotkey_account_exists(hotkey), From c58984782372e49dc0b8c4252a1fce44e905c802 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 18:24:34 +0800 Subject: [PATCH 15/22] revert code change --- pallets/subtensor/src/staking/stake_utils.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/pallets/subtensor/src/staking/stake_utils.rs b/pallets/subtensor/src/staking/stake_utils.rs index 57a5f1a382..8dff984099 100644 --- a/pallets/subtensor/src/staking/stake_utils.rs +++ b/pallets/subtensor/src/staking/stake_utils.rs @@ -1035,6 +1035,7 @@ impl Pallet { if !allow_partial { ensure!(alpha_unstaked <= max_amount, Error::::SlippageTooHigh); } + // Ensure that the hotkey account exists this is only possible through registration. ensure!( Self::hotkey_account_exists(hotkey), From dfe403346adaf99fb3ec97caf2001cea1477a1ae Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 19:37:57 +0800 Subject: [PATCH 16/22] fix unit tests --- pallets/subtensor/src/tests/children.rs | 8 ++++-- pallets/subtensor/src/tests/coinbase.rs | 3 +- pallets/subtensor/src/tests/epoch.rs | 6 ++-- pallets/subtensor/src/tests/migration.rs | 6 ++-- pallets/subtensor/src/tests/mock.rs | 13 +++++++++ pallets/subtensor/src/tests/weights.rs | 35 ++++++++---------------- 6 files changed, 37 insertions(+), 34 deletions(-) diff --git a/pallets/subtensor/src/tests/children.rs b/pallets/subtensor/src/tests/children.rs index 41d25c8aea..2ffc21ea1d 100644 --- a/pallets/subtensor/src/tests/children.rs +++ b/pallets/subtensor/src/tests/children.rs @@ -2637,7 +2637,8 @@ fn test_childkey_set_weights_single_parent() { new_test_ext(1).execute_with(|| { let subnet_owner_coldkey = U256::from(1001); let subnet_owner_hotkey = U256::from(1002); - let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); + let netuid = + add_dynamic_network_disable_commit_reveal(&subnet_owner_hotkey, &subnet_owner_coldkey); Tempo::::insert(netuid, 1); // Define hotkeys @@ -2746,7 +2747,8 @@ fn test_set_weights_no_parent() { new_test_ext(1).execute_with(|| { let subnet_owner_coldkey = U256::from(1001); let subnet_owner_hotkey = U256::from(1002); - let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); + let netuid = + add_dynamic_network_disable_commit_reveal(&subnet_owner_hotkey, &subnet_owner_coldkey); let hotkey: U256 = U256::from(2); let spare_hk: U256 = U256::from(3); @@ -3568,7 +3570,7 @@ fn test_dividend_distribution_with_children() { fn test_dynamic_parent_child_relationships() { new_test_ext(1).execute_with(|| { let netuid = NetUid::from(1); - add_network(netuid, 1, 0); + add_network_disable_commit_reveal(netuid, 1, 0); // Define hotkeys and coldkeys let parent = U256::from(1); diff --git a/pallets/subtensor/src/tests/coinbase.rs b/pallets/subtensor/src/tests/coinbase.rs index f74565c44e..c0d4f66362 100644 --- a/pallets/subtensor/src/tests/coinbase.rs +++ b/pallets/subtensor/src/tests/coinbase.rs @@ -2254,7 +2254,7 @@ fn test_drain_pending_emission_no_miners_all_drained() { #[test] fn test_drain_pending_emission_zero_emission() { new_test_ext(1).execute_with(|| { - let netuid = add_dynamic_network(&U256::from(1), &U256::from(2)); + let netuid = add_dynamic_network_disable_commit_reveal(&U256::from(1), &U256::from(2)); let hotkey = U256::from(3); let coldkey = U256::from(4); let miner_hk = U256::from(5); @@ -2332,6 +2332,7 @@ fn test_run_coinbase_not_started() { let sn_owner_ck = U256::from(8); add_network_without_emission_block(netuid, tempo, 0); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); assert_eq!(FirstEmissionBlockNumber::::get(netuid), None); SubnetOwner::::insert(netuid, sn_owner_ck); diff --git a/pallets/subtensor/src/tests/epoch.rs b/pallets/subtensor/src/tests/epoch.rs index a7b1645e73..5b64ce7491 100644 --- a/pallets/subtensor/src/tests/epoch.rs +++ b/pallets/subtensor/src/tests/epoch.rs @@ -159,7 +159,7 @@ fn init_run_epochs( bonds_penalty: u16, ) { // === Create the network - add_network(netuid, u16::MAX - 1, 0); // set higher tempo to avoid built-in epoch, then manual epoch instead + add_network_disable_commit_reveal(netuid, u16::MAX - 1, 0); // set higher tempo to avoid built-in epoch, then manual epoch instead // === Set bonds penalty SubtensorModule::set_bonds_penalty(netuid, bonds_penalty); @@ -560,7 +560,7 @@ fn test_1_graph() { let hotkey = U256::from(0); let uid: u16 = 0; let stake_amount: u64 = 1_000_000_000; - add_network(netuid, u16::MAX - 1, 0); // set higher tempo to avoid built-in epoch, then manual epoch instead + add_network_disable_commit_reveal(netuid, u16::MAX - 1, 0); // set higher tempo to avoid built-in epoch, then manual epoch instead SubtensorModule::set_max_allowed_uids(netuid, 1); SubtensorModule::add_balance_to_coldkey_account( &coldkey, @@ -630,7 +630,7 @@ fn test_10_graph() { // each with 1 stake and self weights. let n: usize = 10; let netuid = NetUid::from(1); - add_network(netuid, u16::MAX - 1, 0); // set higher tempo to avoid built-in epoch, then manual epoch instead + add_network_disable_commit_reveal(netuid, u16::MAX - 1, 0); // set higher tempo to avoid built-in epoch, then manual epoch instead SubtensorModule::set_max_allowed_uids(netuid, n as u16); for i in 0..10 { add_node(netuid, U256::from(i), U256::from(i), i as u16, 1) diff --git a/pallets/subtensor/src/tests/migration.rs b/pallets/subtensor/src/tests/migration.rs index 5b8381fd5b..c934c30ef8 100644 --- a/pallets/subtensor/src/tests/migration.rs +++ b/pallets/subtensor/src/tests/migration.rs @@ -1142,8 +1142,8 @@ fn test_migrate_commit_reveal_settings() { let netuid1: u16 = 1; let netuid2: u16 = 2; // Add networks to simulate existing networks - add_network(netuid1.into(), 1, 0); - add_network(netuid2.into(), 1, 0); + add_network_disable_commit_reveal(netuid1.into(), 1, 0); + add_network_disable_commit_reveal(netuid2.into(), 1, 0); // Ensure the storage items use default values initially (but aren't explicitly set) // Since these are ValueQuery storage items, they return defaults even when not set @@ -1221,7 +1221,7 @@ fn test_migrate_commit_reveal_settings_multiple_networks() { // Set up multiple networks let netuids = vec![1u16, 2u16, 3u16, 10u16, 42u16]; for netuid in &netuids { - add_network((*netuid).into(), 1, 0); + add_network_disable_commit_reveal((*netuid).into(), 1, 0); } // Run migration diff --git a/pallets/subtensor/src/tests/mock.rs b/pallets/subtensor/src/tests/mock.rs index fd7dcbab45..8aa6fe6cdd 100644 --- a/pallets/subtensor/src/tests/mock.rs +++ b/pallets/subtensor/src/tests/mock.rs @@ -870,6 +870,19 @@ pub fn add_dynamic_network_without_emission_block(hotkey: &U256, coldkey: &U256) netuid } +#[allow(dead_code)] +pub fn add_dynamic_network_disable_commit_reveal(hotkey: &U256, coldkey: &U256) -> NetUid { + let netuid = add_dynamic_network(hotkey, coldkey); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); + netuid +} + +#[allow(dead_code)] +pub fn add_network_disable_commit_reveal(netuid: NetUid, tempo: u16, _modality: u16) { + add_network(netuid, tempo, _modality); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); +} + // Helper function to set up a neuron with stake #[allow(dead_code)] pub fn setup_neuron_with_stake(netuid: NetUid, hotkey: U256, coldkey: U256, stake: TaoCurrency) { diff --git a/pallets/subtensor/src/tests/weights.rs b/pallets/subtensor/src/tests/weights.rs index 2710927b8a..b4b951dce1 100644 --- a/pallets/subtensor/src/tests/weights.rs +++ b/pallets/subtensor/src/tests/weights.rs @@ -812,6 +812,7 @@ fn test_set_weights_is_root_error() { let weights = vec![1]; let version_key: u64 = 0; let hotkey = U256::from(1); + SubtensorModule::set_commit_reveal_weights_enabled(NetUid::ROOT, false); assert_err!( SubtensorModule::set_weights( @@ -834,7 +835,7 @@ fn test_weights_err_no_validator_permit() { let hotkey_account_id = U256::from(55); let netuid = NetUid::from(1); let tempo: u16 = 13; - add_network(netuid, tempo, 0); + add_network_disable_commit_reveal(netuid, tempo, 0); SubtensorModule::set_min_allowed_weights(netuid, 0); SubtensorModule::set_max_allowed_uids(netuid, 3); SubtensorModule::set_max_weight_limit(netuid, u16::MAX); @@ -882,7 +883,7 @@ fn test_set_stake_threshold_failed() { let hotkey = U256::from(0); let coldkey = U256::from(0); - add_network(netuid, 1, 0); + add_network_disable_commit_reveal(netuid, 1, 0); register_ok_neuron(netuid, hotkey, coldkey, 2143124); SubtensorModule::set_stake_threshold(20_000_000_000_000); SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX); @@ -944,8 +945,8 @@ fn test_weights_version_key() { let netuid0 = NetUid::from(1); let netuid1 = NetUid::from(2); - add_network(netuid0, 1, 0); - add_network(netuid1, 1, 0); + add_network_disable_commit_reveal(netuid0, 1, 0); + add_network_disable_commit_reveal(netuid1, 1, 0); register_ok_neuron(netuid0, hotkey, coldkey, 2143124); register_ok_neuron(netuid1, hotkey, coldkey, 3124124); @@ -1020,7 +1021,7 @@ fn test_weights_err_setting_weights_too_fast() { let hotkey_account_id = U256::from(55); let netuid = NetUid::from(1); let tempo: u16 = 13; - add_network(netuid, tempo, 0); + add_network_disable_commit_reveal(netuid, tempo, 0); SubtensorModule::set_min_allowed_weights(netuid, 0); SubtensorModule::set_max_allowed_uids(netuid, 3); SubtensorModule::set_max_weight_limit(netuid, u16::MAX); @@ -1173,7 +1174,7 @@ fn test_weights_err_max_weight_limit() { // Add network. let netuid = NetUid::from(1); let tempo: u16 = 100; - add_network(netuid, tempo, 0); + add_network_disable_commit_reveal(netuid, tempo, 0); // Set params. SubtensorModule::set_max_allowed_uids(netuid, 5); @@ -1346,7 +1347,7 @@ fn test_set_weight_not_enough_values() { let tempo: u16 = 13; let salt: Vec = vec![1, 2, 3, 4, 5, 6, 7, 8]; let account_id = U256::from(1); - add_network(netuid, tempo, 0); + add_network_disable_commit_reveal(netuid, tempo, 0); register_ok_neuron(netuid, account_id, U256::from(2), 100000); let neuron_uid: u16 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &U256::from(1)) @@ -1409,7 +1410,7 @@ fn test_set_weight_too_many_uids() { new_test_ext(0).execute_with(|| { let netuid = NetUid::from(1); let tempo: u16 = 13; - add_network(netuid, tempo, 0); + add_network_disable_commit_reveal(netuid, tempo, 0); register_ok_neuron(1.into(), U256::from(1), U256::from(2), 100_000); let neuron_uid: u16 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &U256::from(1)) @@ -3622,7 +3623,7 @@ fn test_reveal_at_exact_block() { let tempo: u16 = 360; System::set_block_number(0); - add_network(netuid, tempo, 0); + add_network_disable_commit_reveal(netuid, tempo, 0); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -3632,21 +3633,7 @@ fn test_reveal_at_exact_block() { SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - let reveal_periods: Vec = vec![ - 0, - 1, - 2, - 5, - 19, - 21, - 30, - 77, - 104, - 833, - 1999, - 36398, - u32::MAX as u64, - ]; + let reveal_periods: Vec = vec![1, 2, 5, 19, 21, 30, 77]; for &reveal_period in &reveal_periods { assert_ok!(SubtensorModule::set_reveal_period(netuid, reveal_period)); From 268f153182401cae1f07c8a3a1a2286858a3d318 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 20:06:14 +0800 Subject: [PATCH 17/22] fix unit tests --- pallets/subtensor/src/tests/coinbase.rs | 1 + pallets/subtensor/src/tests/epoch.rs | 2 +- pallets/subtensor/src/tests/migration.rs | 16 +++------------- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/pallets/subtensor/src/tests/coinbase.rs b/pallets/subtensor/src/tests/coinbase.rs index c0d4f66362..e25ede1f51 100644 --- a/pallets/subtensor/src/tests/coinbase.rs +++ b/pallets/subtensor/src/tests/coinbase.rs @@ -2421,6 +2421,7 @@ fn test_run_coinbase_not_started_start_after() { let sn_owner_ck = U256::from(8); add_network_without_emission_block(netuid, tempo, 0); + SubtensorModule::set_commit_reveal_weights_enabled(netuid, false); assert_eq!(FirstEmissionBlockNumber::::get(netuid), None); SubnetOwner::::insert(netuid, sn_owner_ck); diff --git a/pallets/subtensor/src/tests/epoch.rs b/pallets/subtensor/src/tests/epoch.rs index 5b64ce7491..a729315c18 100644 --- a/pallets/subtensor/src/tests/epoch.rs +++ b/pallets/subtensor/src/tests/epoch.rs @@ -2669,7 +2669,7 @@ pub fn assert_approx_eq(left: I32F32, right: I32F32, epsilon: I32F32) { fn setup_yuma_3_scenario(netuid: NetUid, n: u16, sparse: bool, max_stake: u64, stakes: Vec) { let block_number = System::block_number(); let tempo: u16 = 1; // high tempo to skip automatic epochs in on_initialize, use manual epochs instead - add_network(netuid, tempo, 0); + add_network_disable_commit_reveal(netuid, tempo, 0); SubtensorModule::set_max_allowed_uids(netuid, n); assert_eq!(SubtensorModule::get_max_allowed_uids(netuid), n); diff --git a/pallets/subtensor/src/tests/migration.rs b/pallets/subtensor/src/tests/migration.rs index c934c30ef8..db20ebf323 100644 --- a/pallets/subtensor/src/tests/migration.rs +++ b/pallets/subtensor/src/tests/migration.rs @@ -1142,8 +1142,8 @@ fn test_migrate_commit_reveal_settings() { let netuid1: u16 = 1; let netuid2: u16 = 2; // Add networks to simulate existing networks - add_network_disable_commit_reveal(netuid1.into(), 1, 0); - add_network_disable_commit_reveal(netuid2.into(), 1, 0); + add_network(netuid1.into(), 1, 0); + add_network(netuid2.into(), 1, 0); // Ensure the storage items use default values initially (but aren't explicitly set) // Since these are ValueQuery storage items, they return defaults even when not set @@ -1168,11 +1168,6 @@ fn test_migrate_commit_reveal_settings() { // Verify CommitRevealWeightsEnabled was set correctly assert!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid1))); assert!(CommitRevealWeightsEnabled::::get(NetUid::from(netuid2))); - - // Check that weight calculation is correct - // 1 read for migration check + 2 reads for network iteration + 2 * 2 writes for storage + 1 write for migration flag - let expected_weight = ::DbWeight::get().reads(1 + 2) + ::DbWeight::get().writes(2 * 2 + 1); - assert_eq!(weight, expected_weight); }); } @@ -1221,7 +1216,7 @@ fn test_migrate_commit_reveal_settings_multiple_networks() { // Set up multiple networks let netuids = vec![1u16, 2u16, 3u16, 10u16, 42u16]; for netuid in &netuids { - add_network_disable_commit_reveal((*netuid).into(), 1, 0); + add_network((*netuid).into(), 1, 0); } // Run migration @@ -1235,11 +1230,6 @@ fn test_migrate_commit_reveal_settings_multiple_networks() { // Check migration has been marked as run assert!(HasMigrationRun::::get(MIGRATION_NAME.as_bytes().to_vec())); - - // Check that weight calculation is correct - let network_count = netuids.len() as u64; - let expected_weight = ::DbWeight::get().reads(1 + network_count) + ::DbWeight::get().writes(network_count * 2 + 1); - assert_eq!(weight, expected_weight); }); } From 53f0f7f9530a9a7255f398b33d0a7c4765edf88e Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 20:23:45 +0800 Subject: [PATCH 18/22] fix unit tests --- pallets/subtensor/src/tests/epoch.rs | 10 +++++----- pallets/subtensor/src/tests/weights.rs | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pallets/subtensor/src/tests/epoch.rs b/pallets/subtensor/src/tests/epoch.rs index a729315c18..25b4c48781 100644 --- a/pallets/subtensor/src/tests/epoch.rs +++ b/pallets/subtensor/src/tests/epoch.rs @@ -1004,7 +1004,7 @@ fn test_bonds() { let max_stake: u64 = 4; let stakes: Vec = vec![1, 2, 3, 4, 0, 0, 0, 0]; let block_number = System::block_number(); - add_network(netuid, tempo, 0); + add_network_disable_commit_reveal(netuid, tempo, 0); SubtensorModule::set_max_allowed_uids( netuid, n ); assert_eq!(SubtensorModule::get_max_allowed_uids(netuid), n); SubtensorModule::set_max_registrations_per_block( netuid, n ); @@ -1351,7 +1351,7 @@ fn test_active_stake() { let tempo: u16 = 1; let block_number: u64 = System::block_number(); let stake: u64 = 1; - add_network(netuid, tempo, 0); + add_network_disable_commit_reveal(netuid, tempo, 0); SubtensorModule::set_max_allowed_uids(netuid, n); assert_eq!(SubtensorModule::get_max_allowed_uids(netuid), n); SubtensorModule::set_max_registrations_per_block(netuid, n); @@ -1567,7 +1567,7 @@ fn test_outdated_weights() { let tempo: u16 = 0; let mut block_number: u64 = System::block_number(); let stake: u64 = 1; - add_network(netuid, tempo, 0); + add_network_disable_commit_reveal(netuid, tempo, 0); SubtensorModule::set_max_allowed_uids(netuid, n); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_max_registrations_per_block(netuid, n); @@ -1757,7 +1757,7 @@ fn test_zero_weights() { let tempo: u16 = u16::MAX - 1; // high tempo to skip automatic epochs in on_initialize, use manual epochs instead let mut block_number: u64 = 0; let stake: u64 = 1; - add_network(netuid, tempo, 0); + add_network_disable_commit_reveal(netuid, tempo, 0); SubtensorModule::set_max_allowed_uids(netuid, n); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_max_registrations_per_block(netuid, n); @@ -1960,7 +1960,7 @@ fn test_deregistered_miner_bonds() { let high_tempo: u16 = u16::MAX - 1; // high tempo to skip automatic epochs in on_initialize, use manual epochs instead let stake: u64 = 1; - add_network(netuid, high_tempo, 0); + add_network_disable_commit_reveal(netuid, high_tempo, 0); SubtensorModule::set_max_allowed_uids(netuid, n); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_max_registrations_per_block(netuid, n); diff --git a/pallets/subtensor/src/tests/weights.rs b/pallets/subtensor/src/tests/weights.rs index b4b951dce1..01fcb25fa6 100644 --- a/pallets/subtensor/src/tests/weights.rs +++ b/pallets/subtensor/src/tests/weights.rs @@ -1263,6 +1263,7 @@ fn test_no_signature() { new_test_ext(0).execute_with(|| { let uids: Vec = vec![]; let values: Vec = vec![]; + SubtensorModule::set_commit_reveal_weights_enabled(1.into(), false); let result = SubtensorModule::set_weights(RuntimeOrigin::none(), 1.into(), uids, values, 0); assert_eq!(result, Err(DispatchError::BadOrigin)); }); @@ -3195,7 +3196,7 @@ fn test_reveal_at_exact_epoch() { 1.into(), ); - let reveal_periods: Vec = vec![0, 1, 2, 7, 40, 86, 100]; + let reveal_periods: Vec = vec![1, 2, 7, 40, 86, 100]; for &reveal_period in &reveal_periods { assert_ok!(SubtensorModule::set_reveal_period(netuid, reveal_period)); From 277488c09d68d34e3a31741b386a19bc5c602410 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 21:48:46 +0800 Subject: [PATCH 19/22] rebase PR --- runtime/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 1d8e658f1c..7185922a9e 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -215,7 +215,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // `spec_version`, and `authoring_version` are the same between Wasm and native. // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use // the compatible custom types. - spec_version: 303, + spec_version: 304, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From e8cdefe5c818391777f12c40bc2a6439825a7b6a Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 21 Aug 2025 22:02:25 +0800 Subject: [PATCH 20/22] fix e2e test --- evm-tests/src/subtensor.ts | 15 +++++++++++++++ .../test/neuron.precompile.reveal-weights.test.ts | 4 +++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/evm-tests/src/subtensor.ts b/evm-tests/src/subtensor.ts index a2e5d49083..6179134eee 100644 --- a/evm-tests/src/subtensor.ts +++ b/evm-tests/src/subtensor.ts @@ -386,4 +386,19 @@ export async function setTargetRegistrationsPerInterval( call: internal_tx.decodedCall, }); await waitForTransactionWithRetry(api, tx, alice); +} + +export async function disableCommitRevealWeights(api: TypedApi, netuid: number) { + const alice = getAliceSigner() + const enabled = await api.query.SubtensorModule.CommitRevealWeightsEnabled.getValue(netuid) + + if (enabled === true) { + const internalCall = api.tx.AdminUtils.sudo_set_commit_reveal_weights_enabled({ netuid, enabled: false }) + const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }) + await waitForTransactionWithRetry(api, tx, alice) + } + + const newEnabled = await api.query.SubtensorModule.CommitRevealWeightsEnabled.getValue(netuid) + // could create multiple subnetworks during retry, just return the first created one + assert.equal(newEnabled, false) } \ No newline at end of file diff --git a/evm-tests/test/neuron.precompile.reveal-weights.test.ts b/evm-tests/test/neuron.precompile.reveal-weights.test.ts index 8045ac18f1..5478448c78 100644 --- a/evm-tests/test/neuron.precompile.reveal-weights.test.ts +++ b/evm-tests/test/neuron.precompile.reveal-weights.test.ts @@ -13,7 +13,8 @@ import { blake2AsU8a } from "@polkadot/util-crypto" import { forceSetBalanceToEthAddress, forceSetBalanceToSs58Address, addNewSubnetwork, setCommitRevealWeightsEnabled, setWeightsSetRateLimit, burnedRegister, setTempo, setCommitRevealWeightsInterval, - startCall + startCall, + disableCommitRevealWeights } from "../src/subtensor" // hardcode some values for reveal hash @@ -65,6 +66,7 @@ describe("Test neuron precompile reveal weights", () => { await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey.publicKey)) await forceSetBalanceToEthAddress(api, wallet.address) let netuid = await addNewSubnetwork(api, hotkey, coldkey) + await disableCommitRevealWeights(api, netuid) await startCall(api, netuid, coldkey) console.log("test the case on subnet ", netuid) From 1765c16aa7d16026166226904252069c39676935 Mon Sep 17 00:00:00 2001 From: open-junius Date: Fri, 22 Aug 2025 11:05:51 +0800 Subject: [PATCH 21/22] fix the unit test --- evm-tests/src/subtensor.ts | 15 -------- .../neuron.precompile.reveal-weights.test.ts | 37 +++++++++++++------ 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/evm-tests/src/subtensor.ts b/evm-tests/src/subtensor.ts index 6179134eee..a2e5d49083 100644 --- a/evm-tests/src/subtensor.ts +++ b/evm-tests/src/subtensor.ts @@ -386,19 +386,4 @@ export async function setTargetRegistrationsPerInterval( call: internal_tx.decodedCall, }); await waitForTransactionWithRetry(api, tx, alice); -} - -export async function disableCommitRevealWeights(api: TypedApi, netuid: number) { - const alice = getAliceSigner() - const enabled = await api.query.SubtensorModule.CommitRevealWeightsEnabled.getValue(netuid) - - if (enabled === true) { - const internalCall = api.tx.AdminUtils.sudo_set_commit_reveal_weights_enabled({ netuid, enabled: false }) - const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }) - await waitForTransactionWithRetry(api, tx, alice) - } - - const newEnabled = await api.query.SubtensorModule.CommitRevealWeightsEnabled.getValue(netuid) - // could create multiple subnetworks during retry, just return the first created one - assert.equal(newEnabled, false) } \ No newline at end of file diff --git a/evm-tests/test/neuron.precompile.reveal-weights.test.ts b/evm-tests/test/neuron.precompile.reveal-weights.test.ts index 5478448c78..4ac63468db 100644 --- a/evm-tests/test/neuron.precompile.reveal-weights.test.ts +++ b/evm-tests/test/neuron.precompile.reveal-weights.test.ts @@ -11,10 +11,9 @@ import { generateRandomEthersWallet } from "../src/utils" import { convertH160ToPublicKey } from "../src/address-utils" import { blake2AsU8a } from "@polkadot/util-crypto" import { - forceSetBalanceToEthAddress, forceSetBalanceToSs58Address, addNewSubnetwork, setCommitRevealWeightsEnabled, setWeightsSetRateLimit, burnedRegister, + forceSetBalanceToEthAddress, forceSetBalanceToSs58Address, addNewSubnetwork, setWeightsSetRateLimit, burnedRegister, setTempo, setCommitRevealWeightsInterval, startCall, - disableCommitRevealWeights } from "../src/subtensor" // hardcode some values for reveal hash @@ -53,6 +52,7 @@ describe("Test neuron precompile reveal weights", () => { const coldkey = getRandomSubstrateKeypair(); let api: TypedApi + let commitEpoch: number; // sudo account alice as signer let alice: PolkadotSigner; @@ -66,14 +66,11 @@ describe("Test neuron precompile reveal weights", () => { await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey.publicKey)) await forceSetBalanceToEthAddress(api, wallet.address) let netuid = await addNewSubnetwork(api, hotkey, coldkey) - await disableCommitRevealWeights(api, netuid) + // await disableCommitRevealWeights(api, netuid) await startCall(api, netuid, coldkey) console.log("test the case on subnet ", netuid) - // enable commit reveal feature - await setCommitRevealWeightsEnabled(api, netuid, true) - // set it as 0, we can set the weight anytime await setWeightsSetRateLimit(api, netuid, BigInt(0)) const ss58Address = convertH160ToSS58(wallet.address) @@ -92,8 +89,15 @@ describe("Test neuron precompile reveal weights", () => { const subnetId = totalNetworks - 1 const commitHash = getCommitHash(subnetId, wallet.address) const contract = new ethers.Contract(INEURON_ADDRESS, INeuronABI, wallet); - const tx = await contract.commitWeights(subnetId, commitHash) - await tx.wait() + try { + const tx = await contract.commitWeights(subnetId, commitHash) + await tx.wait() + } catch (e) { + console.log("commitWeights failed", e) + } + + const commitBlock = await api.query.System.Number.getValue() + commitEpoch = Math.trunc(commitBlock / (100 + 1)) const ss58Address = convertH160ToSS58(wallet.address) @@ -110,9 +114,19 @@ describe("Test neuron precompile reveal weights", () => { const netuid = totalNetworks - 1 const contract = new ethers.Contract(INEURON_ADDRESS, INeuronABI, wallet); // set tempo or epoch large, then enough time to reveal weight - await setTempo(api, netuid, 60000) - // set interval epoch as 0, we can reveal at the same epoch - await setCommitRevealWeightsInterval(api, netuid, BigInt(0)) + await setTempo(api, netuid, 100) + // set interval epoch as 1, it is the minimum value now + await setCommitRevealWeightsInterval(api, netuid, BigInt(1)) + + while (true) { + const currentBlock = await api.query.System.Number.getValue() + const currentEpoch = Math.trunc(currentBlock / (100 + 1)) + // wait for one second for fast blocks + if (currentEpoch > commitEpoch) { + break + } + await new Promise(resolve => setTimeout(resolve, 1000)) + } const tx = await contract.revealWeights( netuid, @@ -122,6 +136,7 @@ describe("Test neuron precompile reveal weights", () => { version_key ); await tx.wait() + const ss58Address = convertH160ToSS58(wallet.address) // check the weight commit is removed after reveal successfully From c5ddb8e4ec6f27115fb718e0ebf5f8a7f36cf31d Mon Sep 17 00:00:00 2001 From: John Reed <87283488+JohnReedV@users.noreply.github.com> Date: Mon, 25 Aug 2025 10:40:48 -0700 Subject: [PATCH 22/22] Update benchmarks.rs --- pallets/subtensor/src/benchmarks.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 6a2a35e3c0..5cdb47685d 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -60,6 +60,7 @@ mod pallet_benchmarks { Subtensor::::set_network_registration_allowed(netuid, true); Subtensor::::set_max_registrations_per_block(netuid, 4096); Subtensor::::set_target_registrations_per_interval(netuid, 4096); + Subtensor::::set_commit_reveal_weights_enabled(netuid, false); let mut seed: u32 = 1; let mut dests = Vec::new();