Skip to content

Commit 0b283e2

Browse files
authored
Merge pull request #483 from opentensor/junius/add-one-admin-extrinsic
add set_target_stakes_per_interval extrinsic
2 parents c56a418 + cf8be17 commit 0b283e2

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

pallets/admin-utils/src/lib.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -931,6 +931,24 @@ pub mod pallet {
931931
log::info!("TxMinDelegateTakeSet( tx_min_delegate_take: {:?} ) ", take);
932932
Ok(())
933933
}
934+
935+
/// The extrinsic sets the target stake per interval.
936+
/// It is only callable by the root account.
937+
/// The extrinsic will call the Subtensor pallet to set target stake per interval.
938+
#[pallet::call_index(47)]
939+
#[pallet::weight((0, DispatchClass::Operational, Pays::No))]
940+
pub fn sudo_set_target_stakes_per_interval(
941+
origin: OriginFor<T>,
942+
target_stakes_per_interval: u64,
943+
) -> DispatchResult {
944+
ensure_root(origin)?;
945+
T::Subtensor::set_target_stakes_per_interval(target_stakes_per_interval);
946+
log::info!(
947+
"TxTargetStakesPerIntervalSet( set_target_stakes_per_interval: {:?} ) ",
948+
target_stakes_per_interval
949+
);
950+
Ok(())
951+
}
934952
}
935953
}
936954

@@ -1023,4 +1041,5 @@ pub trait SubtensorInterface<AccountId, Balance, RuntimeOrigin> {
10231041
fn get_nominator_min_required_stake() -> u64;
10241042
fn set_nominator_min_required_stake(min_stake: u64);
10251043
fn clear_small_nominations();
1044+
fn set_target_stakes_per_interval(target_stakes_per_interval: u64);
10261045
}

pallets/admin-utils/tests/mock.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,10 @@ impl pallet_admin_utils::SubtensorInterface<AccountId, Balance, RuntimeOrigin> f
450450
fn clear_small_nominations() {
451451
SubtensorModule::clear_small_nominations();
452452
}
453+
454+
fn set_target_stakes_per_interval(target_stakes_per_interval: u64) {
455+
SubtensorModule::set_target_stakes_per_interval(target_stakes_per_interval);
456+
}
453457
}
454458

455459
impl pallet_admin_utils::Config for Test {

runtime/src/lib.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1130,6 +1130,10 @@ impl
11301130
fn get_nominator_min_required_stake() -> u64 {
11311131
SubtensorModule::get_nominator_min_required_stake()
11321132
}
1133+
1134+
fn set_target_stakes_per_interval(target_stakes_per_interval: u64) {
1135+
SubtensorModule::set_target_stakes_per_interval(target_stakes_per_interval)
1136+
}
11331137
}
11341138

11351139
impl pallet_admin_utils::Config for Runtime {

0 commit comments

Comments
 (0)