Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions chain-extensions/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -313,16 +313,15 @@ parameter_types! {
pub const InitialMaxBurn: u64 = 1_000_000_000;
pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO
pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO
pub const MinTempo: u16 = pallet_subtensor::MIN_TEMPO;
pub const MaxTempo: u16 = pallet_subtensor::MAX_TEMPO;
pub const MinActivityCutoffFactorMilli: u32 = pallet_subtensor::MIN_ACTIVITY_CUTOFF_FACTOR_MILLI;
pub const MaxActivityCutoffFactorMilli: u32 = pallet_subtensor::MAX_ACTIVITY_CUTOFF_FACTOR_MILLI;
pub const MinTempo: u16 = 360;
pub const MaxTempo: u16 = 50_400;
pub const MinActivityCutoffFactorMilli: u32 = 1_000;
pub const MaxActivityCutoffFactorMilli: u32 = 50_000;
pub const InitialValidatorPruneLen: u64 = 0;
pub const InitialScalingLawPower: u16 = 50;
pub const InitialMaxAllowedValidators: u16 = 100;
pub const InitialIssuance: u64 = 0;
pub const InitialDifficulty: u64 = 10000;
pub const InitialActivityCutoff: u16 = 5000;
pub const InitialAdjustmentInterval: u16 = 100;
pub const InitialAdjustmentAlpha: u64 = 0; // no weight to previous value.
pub const InitialMaxRegistrationsPerBlock: u16 = 3;
Expand Down Expand Up @@ -380,7 +379,6 @@ impl pallet_subtensor::Config for Test {
type InitialValidatorPruneLen = InitialValidatorPruneLen;
type InitialScalingLawPower = InitialScalingLawPower;
type InitialImmunityPeriod = InitialImmunityPeriod;
type InitialActivityCutoff = InitialActivityCutoff;
type InitialMaxRegistrationsPerBlock = InitialMaxRegistrationsPerBlock;
type InitialPruningScore = InitialPruningScore;
type InitialBondsMovingAverage = InitialBondsMovingAverage;
Expand Down
12 changes: 4 additions & 8 deletions eco-tests/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -206,18 +206,15 @@ parameter_types! {
pub const InitialMaxBurn: u64 = 1_000_000_000;
pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO
pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO
pub const MinTempo: u16 = pallet_subtensor::MIN_TEMPO;
pub const MaxTempo: u16 = pallet_subtensor::MAX_TEMPO;
pub const MinActivityCutoffFactorMilli: u32 =
pallet_subtensor::MIN_ACTIVITY_CUTOFF_FACTOR_MILLI;
pub const MaxActivityCutoffFactorMilli: u32 =
pallet_subtensor::MAX_ACTIVITY_CUTOFF_FACTOR_MILLI;
pub const MinTempo: u16 = 360;
pub const MaxTempo: u16 = 50_400;
pub const MinActivityCutoffFactorMilli: u32 = 1_000;
pub const MaxActivityCutoffFactorMilli: u32 = 50_000;
pub const InitialValidatorPruneLen: u64 = 0;
pub const InitialScalingLawPower: u16 = 50;
pub const InitialMaxAllowedValidators: u16 = 100;
pub const InitialIssuance: u64 = 0;
pub const InitialDifficulty: u64 = 10000;
pub const InitialActivityCutoff: u16 = 5000;
pub const InitialAdjustmentInterval: u16 = 100;
pub const InitialAdjustmentAlpha: u64 = 0; // no weight to previous value.
pub const InitialMaxRegistrationsPerBlock: u16 = 3;
Expand Down Expand Up @@ -275,7 +272,6 @@ impl pallet_subtensor::Config for Test {
type InitialValidatorPruneLen = InitialValidatorPruneLen;
type InitialScalingLawPower = InitialScalingLawPower;
type InitialImmunityPeriod = InitialImmunityPeriod;
type InitialActivityCutoff = InitialActivityCutoff;
type InitialMaxRegistrationsPerBlock = InitialMaxRegistrationsPerBlock;
type InitialPruningScore = InitialPruningScore;
type InitialBondsMovingAverage = InitialBondsMovingAverage;
Expand Down
2 changes: 1 addition & 1 deletion eco-tests/src/tests_taocom_indexer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ fn indexer_subnet_hyperparams() {
let _: u64 = WeightsVersionKey::<Test>::get(netuid);
let _: u64 = WeightsSetRateLimit::<Test>::get(netuid);
let _: u16 = AdjustmentInterval::<Test>::get(netuid);
let _: u16 = ActivityCutoff::<Test>::get(netuid);
let _: u32 = ActivityCutoffFactorMilli::<Test>::get(netuid);
let _: bool = NetworkRegistrationAllowed::<Test>::get(netuid);
let _: u16 = TargetRegistrationsPerInterval::<Test>::get(netuid);
let _: TaoBalance = MinBurn::<Test>::get(netuid);
Expand Down
13 changes: 0 additions & 13 deletions pallets/admin-utils/src/benchmarking.rs
Original file line number Diff line number Diff line change
Expand Up @@ -204,19 +204,6 @@ mod benchmarks {
_(RawOrigin::Root, 1u16.into()/*netuid*/, 300u16/*target_registrations*/)/*sudo_set_target_registrations_per_interval*/;
}

#[benchmark]
fn sudo_set_activity_cutoff() {
// disable admin freeze window
pallet_subtensor::Pallet::<T>::set_admin_freeze_window(0);
pallet_subtensor::Pallet::<T>::init_new_network(
1u16.into(), /*netuid*/
1u16, /*tempo*/
);

#[extrinsic_call]
_(RawOrigin::Root, 1u16.into()/*netuid*/, 361u16/*activity_cutoff*/)/*sudo_set_activity_cutoff*/;
}

#[benchmark]
fn sudo_set_rho() {
// disable admin freeze window
Expand Down
42 changes: 0 additions & 42 deletions pallets/admin-utils/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -608,48 +608,6 @@ pub mod pallet {
Ok(())
}

/// The extrinsic sets the activity cutoff for a subnet.
/// It is only callable by the root account or subnet owner.
/// The extrinsic will call the Subtensor pallet to set the activity cutoff.
// #[deprecated(
// note = "Please use set_activity_cutoff_factor instead. This extrinsic will be removed soon."
// )]
#[pallet::call_index(18)]
#[pallet::weight(<T as pallet::Config>::WeightInfo::sudo_set_activity_cutoff())]
pub fn sudo_set_activity_cutoff(
origin: OriginFor<T>,
netuid: NetUid,
activity_cutoff: u16,
) -> DispatchResult {
let maybe_owner = pallet_subtensor::Pallet::<T>::ensure_sn_owner_or_root_with_limits(
origin,
netuid,
&[Hyperparameter::ActivityCutoff.into()],
)?;
pallet_subtensor::Pallet::<T>::ensure_admin_window_open(netuid)?;

ensure!(
pallet_subtensor::Pallet::<T>::if_subnet_exist(netuid),
Error::<T>::SubnetDoesNotExist
);

ensure!(
activity_cutoff >= pallet_subtensor::MinActivityCutoff::<T>::get(),
pallet_subtensor::Error::<T>::ActivityCutoffTooLow
);

pallet_subtensor::Pallet::<T>::set_activity_cutoff(netuid, activity_cutoff);
log::debug!(
"ActivityCutoffSet( netuid: {netuid:?} activity_cutoff: {activity_cutoff:?} ) "
);
pallet_subtensor::Pallet::<T>::record_owner_rl(
maybe_owner,
netuid,
&[Hyperparameter::ActivityCutoff.into()],
);
Ok(())
}

/// The extrinsic sets the network registration allowed for a subnet.
/// It is only callable by the root account or subnet owner.
/// The extrinsic will call the Subtensor pallet to set the network registration allowed.
Expand Down
10 changes: 4 additions & 6 deletions pallets/admin-utils/src/tests/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -123,16 +123,15 @@ parameter_types! {
pub const InitialMaxBurn: TaoBalance = TaoBalance::new(1_000_000_000);
pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO
pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO
pub const MinTempo: u16 = pallet_subtensor::MIN_TEMPO;
pub const MaxTempo: u16 = pallet_subtensor::MAX_TEMPO;
pub const MinActivityCutoffFactorMilli: u32 = pallet_subtensor::MIN_ACTIVITY_CUTOFF_FACTOR_MILLI;
pub const MaxActivityCutoffFactorMilli: u32 = pallet_subtensor::MAX_ACTIVITY_CUTOFF_FACTOR_MILLI;
pub const MinTempo: u16 = 360;
pub const MaxTempo: u16 = 50_400;
pub const MinActivityCutoffFactorMilli: u32 = 1_000;
pub const MaxActivityCutoffFactorMilli: u32 = 50_000;
pub const InitialValidatorPruneLen: u64 = 0;
pub const InitialScalingLawPower: u16 = 50;
pub const InitialMaxAllowedValidators: u16 = 100;
pub const InitialIssuance: TaoBalance = TaoBalance::new(0);
pub const InitialDifficulty: u64 = 10000;
pub const InitialActivityCutoff: u16 = 5000;
pub const InitialAdjustmentInterval: u16 = 100;
pub const InitialAdjustmentAlpha: u64 = 0; // no weight to previous value.
pub const InitialMaxRegistrationsPerBlock: u16 = 3;
Expand Down Expand Up @@ -189,7 +188,6 @@ impl pallet_subtensor::Config for Test {
type InitialValidatorPruneLen = InitialValidatorPruneLen;
type InitialScalingLawPower = InitialScalingLawPower;
type InitialImmunityPeriod = InitialImmunityPeriod;
type InitialActivityCutoff = InitialActivityCutoff;
type InitialMaxRegistrationsPerBlock = InitialMaxRegistrationsPerBlock;
type InitialPruningScore = InitialPruningScore;
type InitialBondsMovingAverage = InitialBondsMovingAverage;
Expand Down
33 changes: 0 additions & 33 deletions pallets/admin-utils/src/tests/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -648,39 +648,6 @@ fn test_sudo_set_rho() {
});
}

#[test]
fn test_sudo_set_activity_cutoff() {
new_test_ext().execute_with(|| {
let netuid = NetUid::from(1);
let to_be_set: u16 = pallet_subtensor::MinActivityCutoff::<Test>::get();
add_network(netuid, 10);
let init_value: u16 = SubtensorModule::get_activity_cutoff(netuid);
assert_eq!(
AdminUtils::sudo_set_activity_cutoff(
<<Test as Config>::RuntimeOrigin>::signed(U256::from(1)),
netuid,
to_be_set
),
Err(DispatchError::BadOrigin)
);
assert_eq!(
AdminUtils::sudo_set_activity_cutoff(
<<Test as Config>::RuntimeOrigin>::root(),
netuid.next(),
to_be_set
),
Err(Error::<Test>::SubnetDoesNotExist.into())
);
assert_eq!(SubtensorModule::get_activity_cutoff(netuid), init_value);
assert_ok!(AdminUtils::sudo_set_activity_cutoff(
<<Test as Config>::RuntimeOrigin>::root(),
netuid,
to_be_set
));
assert_eq!(SubtensorModule::get_activity_cutoff(netuid), to_be_set);
});
}

#[test]
fn test_sudo_set_target_registrations_per_interval() {
new_test_ext().execute_with(|| {
Expand Down
47 changes: 0 additions & 47 deletions pallets/admin-utils/src/weights.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ pub trait WeightInfo {
fn sudo_set_difficulty() -> Weight;
fn sudo_set_adjustment_interval() -> Weight;
fn sudo_set_target_registrations_per_interval() -> Weight;
fn sudo_set_activity_cutoff() -> Weight;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Remove the stale generated weight implementations too

Deleting this trait item leaves two generated sudo_set_activity_cutoff() implementations in this same file, around pallets/admin-utils/src/weights.rs:367 and pallets/admin-utils/src/weights.rs:1333. Those methods are no longer members of WeightInfo, and Rust trait impls cannot define extra associated methods, so pallet-admin-utils will not compile after this cleanup. Regenerate pallets/admin-utils/src/weights.rs or manually remove both stale method blocks along with this trait item.

fn sudo_set_rho() -> Weight;
fn sudo_set_kappa() -> Weight;
fn sudo_set_min_allowed_uids() -> Weight;
Expand Down Expand Up @@ -361,29 +360,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0)
/// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::MinActivityCutoff` (r:1 w:0)
/// Proof: `SubtensorModule::MinActivityCutoff` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::ActivityCutoff` (r:0 w:1)
/// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn sudo_set_activity_cutoff() -> Weight {
// Proof Size summary in bytes:
// Measured: `918`
// Estimated: `4383`
// Minimum execution time: 34_023_000 picoseconds.
Weight::from_parts(35_165_000, 4383)
.saturating_add(T::DbWeight::get().reads(6_u64))
.saturating_add(T::DbWeight::get().writes(1_u64))
}
/// Storage: `SubtensorModule::Tempo` (r:1 w:0)
/// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0)
/// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0)
/// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0)
/// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0)
/// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::Rho` (r:0 w:1)
/// Proof: `SubtensorModule::Rho` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn sudo_set_rho() -> Weight {
Expand Down Expand Up @@ -1327,29 +1303,6 @@ impl WeightInfo for () {
/// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0)
/// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::MinActivityCutoff` (r:1 w:0)
/// Proof: `SubtensorModule::MinActivityCutoff` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::ActivityCutoff` (r:0 w:1)
/// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn sudo_set_activity_cutoff() -> Weight {
// Proof Size summary in bytes:
// Measured: `918`
// Estimated: `4383`
// Minimum execution time: 34_023_000 picoseconds.
Weight::from_parts(35_165_000, 4383)
.saturating_add(RocksDbWeight::get().reads(6_u64))
.saturating_add(RocksDbWeight::get().writes(1_u64))
}
/// Storage: `SubtensorModule::Tempo` (r:1 w:0)
/// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0)
/// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0)
/// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0)
/// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0)
/// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `SubtensorModule::Rho` (r:0 w:1)
/// Proof: `SubtensorModule::Rho` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn sudo_set_rho() -> Weight {
Expand Down
1 change: 0 additions & 1 deletion pallets/subtensor/src/coinbase/root.rs
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,6 @@ impl<T: Config> Pallet<T> {
Difficulty::<T>::remove(netuid);
MaxAllowedUids::<T>::remove(netuid);
ImmunityPeriod::<T>::remove(netuid);
ActivityCutoff::<T>::remove(netuid);
ActivityCutoffFactorMilli::<T>::remove(netuid);
LastEpochBlock::<T>::remove(netuid);
PendingEpochAt::<T>::remove(netuid);
Expand Down
21 changes: 0 additions & 21 deletions pallets/subtensor/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -800,12 +800,6 @@ pub mod pallet {
T::InitialImmunityPeriod::get()
}

/// Default activity cutoff.
#[pallet::type_value]
pub fn DefaultActivityCutoff<T: Config>() -> u16 {
T::InitialActivityCutoff::get()
}

/// Default weights version key.
#[pallet::type_value]
pub fn DefaultWeightsVersionKey<T: Config>() -> u64 {
Expand Down Expand Up @@ -1058,12 +1052,6 @@ pub mod pallet {
U64F64::saturating_from_num(0)
}

/// Default value for minimum activity cutoff
#[pallet::type_value]
pub fn DefaultMinActivityCutoff<T: Config>() -> u16 {
360
}

/// Default value for setting subnet owner hotkey rate limit
#[pallet::type_value]
pub fn DefaultSetSNOwnerHotkeyRateLimit<T: Config>() -> u64 {
Expand Down Expand Up @@ -1112,10 +1100,6 @@ pub mod pallet {
true
}

#[pallet::storage]
pub type MinActivityCutoff<T: Config> =
StorageValue<_, u16, ValueQuery, DefaultMinActivityCutoff<T>>;

/// Global window (in blocks) at the end of each tempo where admin ops are disallowed
#[pallet::storage]
pub type AdminFreezeWindow<T: Config> =
Expand Down Expand Up @@ -2021,11 +2005,6 @@ pub mod pallet {
pub type ImmunityPeriod<T> =
StorageMap<_, Identity, NetUid, u16, ValueQuery, DefaultImmunityPeriod<T>>;

/// --- MAP ( netuid ) --> activity_cutoff
// #[deprecated(note = "Replaced by `ActivityCutoffFactorMilli` (per-mille of `Tempo`).")]
#[pallet::storage]
pub type ActivityCutoff<T> =
StorageMap<_, Identity, NetUid, u16, ValueQuery, DefaultActivityCutoff<T>>;
#[pallet::type_value]
/// Default maximum weights limit.
pub fn DefaultMaxWeightsLimit<T: Config>() -> u16 {
Expand Down
3 changes: 0 additions & 3 deletions pallets/subtensor/src/macros/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -171,9 +171,6 @@ mod config {
/// Immunity Period Constant.
#[pallet::constant]
type InitialImmunityPeriod: Get<u16>;
/// Activity constant.
#[pallet::constant]
type InitialActivityCutoff: Get<u16>;
/// Initial max registrations per block.
#[pallet::constant]
type InitialMaxRegistrationsPerBlock: Get<u16>;
Expand Down
2 changes: 0 additions & 2 deletions pallets/subtensor/src/macros/errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,6 @@ mod errors {
SlippageTooHigh,
/// Subnet disallows transfer.
TransferDisallowed,
/// Activity cutoff is being set too low.
ActivityCutoffTooLow,
/// Call is disabled
CallDisabled,
/// FirstEmissionBlockNumber is already set.
Expand Down
2 changes: 0 additions & 2 deletions pallets/subtensor/src/macros/events.rs
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,6 @@ mod events {
RegistrationPerIntervalSet(NetUid, u16),
/// we set max registrations per block.
MaxRegistrationsPerBlockSet(NetUid, u16),
/// an activity cutoff is set for a subnet.
ActivityCutoffSet(NetUid, u16),
/// Rho value is set.
RhoSet(NetUid, u16),
/// steepness of the sigmoid used to compute alpha values.
Expand Down
2 changes: 2 additions & 0 deletions pallets/subtensor/src/macros/hooks.rs
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,8 @@ mod hooks {
.saturating_add(migrations::migrate_reset_tnet_conviction_locks::migrate_reset_tnet_conviction_locks::<T>())
// Seed LastEpochBlock for dynamic-tempo / owner-triggered-epochs feature
.saturating_add(migrations::migrate_dynamic_tempo::migrate_dynamic_tempo::<T>())
// Remove the legacy ActivityCutoff / MinActivityCutoff storage now converted to ActivityCutoffFactorMilli
.saturating_add(migrations::migrate_remove_activity_cutoff::migrate_remove_activity_cutoff::<T>())
// Populate locking reverse map.
.saturating_add(migrations::migrate_populate_locking_coldkeys::migrate_populate_locking_coldkeys::<T>())
// Capture the runtime-upgrade block for TAO-in refund cutover.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,6 @@ pub fn migrate_delete_subnet_21<T: Config>() -> Weight {
Difficulty::<T>::remove(netuid);
MaxAllowedUids::<T>::remove(netuid);
ImmunityPeriod::<T>::remove(netuid);
ActivityCutoff::<T>::remove(netuid);
MinAllowedWeights::<T>::remove(netuid);
RegistrationsThisInterval::<T>::remove(netuid);
POWRegistrationsThisInterval::<T>::remove(netuid);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ pub fn migrate_delete_subnet_3<T: Config>() -> Weight {
Difficulty::<T>::remove(netuid);
MaxAllowedUids::<T>::remove(netuid);
ImmunityPeriod::<T>::remove(netuid);
ActivityCutoff::<T>::remove(netuid);
MinAllowedWeights::<T>::remove(netuid);
RegistrationsThisInterval::<T>::remove(netuid);
POWRegistrationsThisInterval::<T>::remove(netuid);
Expand Down
Loading
Loading