Skip to content

Commit fea61ad

Browse files
authored
Merge pull request #249 from opentensor/improved_subnet_owener_power
Adds new power to Subnet owners.
2 parents 2408622 + 0cfec47 commit fea61ad

File tree

6 files changed

+19
-7
lines changed

6 files changed

+19
-7
lines changed

pallets/admin-utils/src/lib.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ pub mod pallet {
228228
))]
229229
pub fn sudo_set_adjustment_alpha(origin: OriginFor<T>, netuid: u16, adjustment_alpha: u64) -> DispatchResult
230230
{
231-
ensure_root(origin)?;
231+
T::Subtensor::ensure_subnet_owner_or_root(origin, netuid)?;
232232

233233
ensure!(
234234
T::Subtensor::if_subnet_exist(netuid),
@@ -324,7 +324,7 @@ pub mod pallet {
324324
#[pallet::weight(T::WeightInfo::sudo_set_kappa())]
325325
pub fn sudo_set_kappa(origin: OriginFor<T>, netuid: u16, kappa: u16) -> DispatchResult
326326
{
327-
ensure_root(origin)?;
327+
T::Subtensor::ensure_subnet_owner_or_root(origin, netuid)?;
328328

329329
ensure!(
330330
T::Subtensor::if_subnet_exist(netuid),
@@ -339,7 +339,7 @@ pub mod pallet {
339339
#[pallet::weight(T::WeightInfo::sudo_set_rho())]
340340
pub fn sudo_set_rho(origin: OriginFor<T>, netuid: u16, rho: u16) -> DispatchResult
341341
{
342-
ensure_root(origin)?;
342+
T::Subtensor::ensure_subnet_owner_or_root(origin, netuid)?;
343343

344344
ensure!(
345345
T::Subtensor::if_subnet_exist(netuid),
@@ -469,7 +469,7 @@ pub mod pallet {
469469
#[pallet::weight(T::WeightInfo::sudo_set_difficulty())]
470470
pub fn sudo_set_difficulty(origin: OriginFor<T>, netuid: u16, difficulty: u64) -> DispatchResult
471471
{
472-
ensure_root(origin)?;
472+
T::Subtensor::ensure_subnet_owner_or_root(origin, netuid)?;
473473
ensure!(
474474
T::Subtensor::if_subnet_exist(netuid),
475475
Error::<T>::NetworkDoesNotExist
@@ -511,7 +511,7 @@ pub mod pallet {
511511
#[pallet::weight(T::WeightInfo::sudo_set_bonds_moving_average())]
512512
pub fn sudo_set_bonds_moving_average(origin: OriginFor<T>, netuid: u16, bonds_moving_average: u64) -> DispatchResult
513513
{
514-
ensure_root(origin)?;
514+
T::Subtensor::ensure_subnet_owner_or_root(origin, netuid)?;
515515

516516
ensure!(
517517
T::Subtensor::if_subnet_exist(netuid),

pallets/admin-utils/tests/tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,7 @@ fn test_sudo_set_difficulty() {
621621
let init_value: u64 = SubtensorModule::get_difficulty_as_u64(netuid);
622622
assert_eq!(
623623
AdminUtils::sudo_set_difficulty(
624-
<<Test as Config>::RuntimeOrigin>::signed(U256::from(0)),
624+
<<Test as Config>::RuntimeOrigin>::signed(U256::from(1)),
625625
netuid,
626626
to_be_set
627627
),

pallets/subtensor/src/root.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -725,7 +725,7 @@ impl<T: Config> Pallet<T> {
725725
Self::set_max_weight_limit(netuid, u16::MAX);
726726
Self::set_adjustment_interval(netuid, 360);
727727
Self::set_target_registrations_per_interval(netuid, 1);
728-
Self::set_adjustment_alpha(netuid, 58000);
728+
Self::set_adjustment_alpha(netuid, 17_893_341_751_498_265_066); // 18_446_744_073_709_551_615 * 0.97 = 17_893_341_751_498_265_066
729729
Self::set_immunity_period(netuid, 5000);
730730
Self::set_min_burn(netuid, 1);
731731
Self::set_min_difficulty(netuid, u64::MAX);

pallets/subtensor/tests/block_step.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ fn test_loaded_emission() {
1414
let emission: Vec<u64> = vec![1000000000];
1515
add_network(netuid, tempo, 0);
1616
SubtensorModule::set_max_allowed_uids(netuid, n);
17+
SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value.
1718
SubtensorModule::set_emission_values( &netuids, emission);
1819
for i in 0..n {
1920
SubtensorModule::append_neuron(netuid, &U256::from(i), 0);
@@ -174,6 +175,7 @@ fn test_burn_adjustment() {
174175
add_network(netuid, tempo, 0);
175176
SubtensorModule::set_burn(netuid, burn_cost);
176177
SubtensorModule::set_adjustment_interval(netuid, adjustment_interval);
178+
SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value.
177179
SubtensorModule::set_target_registrations_per_interval(
178180
netuid,
179181
target_registrations_per_interval,
@@ -220,6 +222,7 @@ fn test_burn_adjustment_with_moving_average() {
220222
add_network(netuid, tempo, 0);
221223
SubtensorModule::set_burn(netuid, burn_cost);
222224
SubtensorModule::set_adjustment_interval(netuid, adjustment_interval);
225+
SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value.
223226
SubtensorModule::set_target_registrations_per_interval(
224227
netuid,
225228
target_registrations_per_interval,
@@ -277,6 +280,7 @@ fn test_burn_adjustment_case_a() {
277280
SubtensorModule::set_difficulty(netuid, start_diff);
278281
SubtensorModule::set_min_difficulty(netuid, start_diff);
279282
SubtensorModule::set_adjustment_interval(netuid, adjustment_interval);
283+
SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value.
280284
SubtensorModule::set_target_registrations_per_interval(
281285
netuid,
282286
target_registrations_per_interval,
@@ -368,6 +372,7 @@ fn test_burn_adjustment_case_b() {
368372
SubtensorModule::set_burn(netuid, burn_cost);
369373
SubtensorModule::set_difficulty(netuid, start_diff);
370374
SubtensorModule::set_adjustment_interval(netuid, adjustment_interval);
375+
SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value.
371376
SubtensorModule::set_target_registrations_per_interval(
372377
netuid,
373378
target_registrations_per_interval,
@@ -449,6 +454,7 @@ fn test_burn_adjustment_case_c() {
449454
SubtensorModule::set_burn(netuid, burn_cost);
450455
SubtensorModule::set_difficulty(netuid, start_diff);
451456
SubtensorModule::set_adjustment_interval(netuid, adjustment_interval);
457+
SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value.
452458
SubtensorModule::set_target_registrations_per_interval(
453459
netuid,
454460
target_registrations_per_interval,
@@ -541,6 +547,7 @@ fn test_burn_adjustment_case_d() {
541547
SubtensorModule::set_difficulty(netuid, start_diff);
542548
SubtensorModule::set_min_difficulty(netuid, 1);
543549
SubtensorModule::set_adjustment_interval(netuid, adjustment_interval);
550+
SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value.
544551
SubtensorModule::set_target_registrations_per_interval(
545552
netuid,
546553
target_registrations_per_interval,
@@ -624,6 +631,7 @@ fn test_burn_adjustment_case_e() {
624631
SubtensorModule::set_difficulty(netuid, start_diff);
625632
SubtensorModule::set_min_difficulty(netuid, 1);
626633
SubtensorModule::set_adjustment_interval(netuid, adjustment_interval);
634+
SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value.
627635
SubtensorModule::set_target_registrations_per_interval(
628636
netuid,
629637
target_registrations_per_interval,
@@ -698,6 +706,7 @@ fn test_burn_adjustment_case_f() {
698706
SubtensorModule::set_difficulty(netuid, start_diff);
699707
SubtensorModule::set_min_difficulty(netuid, start_diff);
700708
SubtensorModule::set_adjustment_interval(netuid, adjustment_interval);
709+
SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value.
701710
SubtensorModule::set_target_registrations_per_interval(
702711
netuid,
703712
target_registrations_per_interval,
@@ -771,6 +780,7 @@ fn test_burn_adjustment_case_e_zero_registrations() {
771780
SubtensorModule::set_difficulty(netuid, start_diff);
772781
SubtensorModule::set_min_difficulty(netuid, 1);
773782
SubtensorModule::set_adjustment_interval(netuid, adjustment_interval);
783+
SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value.
774784
SubtensorModule::set_target_registrations_per_interval(
775785
netuid,
776786
target_registrations_per_interval,

pallets/subtensor/tests/difficulty.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ fn test_registration_difficulty_adjustment() {
1515
assert_eq!(SubtensorModule::get_difficulty_as_u64(netuid), 10000); // Check initial difficulty.
1616
assert_eq!(SubtensorModule::get_last_adjustment_block(netuid), 0); // Last adjustment block starts at 0.
1717
assert_eq!(SubtensorModule::get_registrations_this_block(netuid), 0); // No registrations this block.
18+
SubtensorModule::set_adjustment_alpha(netuid, 58000);
1819
SubtensorModule::set_target_registrations_per_interval(netuid, 2);
1920
SubtensorModule::set_adjustment_interval(netuid,100);
2021
assert_eq!(

pallets/subtensor/tests/registration.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ fn test_burn_adjustment() {
215215
add_network(netuid, tempo, 0);
216216
SubtensorModule::set_burn(netuid, burn_cost);
217217
SubtensorModule::set_adjustment_interval(netuid, adjustment_interval);
218+
SubtensorModule::set_adjustment_alpha(netuid, 58000); // Set to old value.
218219
SubtensorModule::set_target_registrations_per_interval(
219220
netuid,
220221
target_registrations_per_interval,

0 commit comments

Comments
 (0)