Skip to content

Commit 264d9c3

Browse files
committed
use new pending em storages
1 parent 6418911 commit 264d9c3

File tree

7 files changed

+31
-14
lines changed

7 files changed

+31
-14
lines changed

pallets/subtensor/src/coinbase/root.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,8 @@ impl<T: Config> Pallet<T> {
315315
// --- 15. Mechanism step / emissions bookkeeping.
316316
FirstEmissionBlockNumber::<T>::remove(netuid);
317317
PendingEmission::<T>::remove(netuid);
318+
PendingValidatorEmission::<T>::remove(netuid);
319+
PendingServerEmission::<T>::remove(netuid);
318320
PendingRootAlphaDivs::<T>::remove(netuid);
319321
PendingOwnerCut::<T>::remove(netuid);
320322
BlocksSinceLastStep::<T>::remove(netuid);

pallets/subtensor/src/rpc_info/dynamic_info.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@ impl<T: Config> Pallet<T> {
6262
alpha_out_emission: SubnetAlphaOutEmission::<T>::get(netuid).into(),
6363
alpha_in_emission: SubnetAlphaInEmission::<T>::get(netuid).into(),
6464
tao_in_emission: SubnetTaoInEmission::<T>::get(netuid).into(),
65-
pending_alpha_emission: PendingEmission::<T>::get(netuid).into(),
65+
pending_alpha_emission: PendingValidatorEmission::<T>::get(netuid)
66+
.saturating_add(PendingServerEmission::<T>::get(netuid))
67+
.into(),
6668
pending_root_emission: TaoCurrency::from(0u64).into(),
6769
subnet_volume: SubnetVolume::<T>::get(netuid).into(),
6870
network_registered_at: NetworkRegisteredAt::<T>::get(netuid).into(),

pallets/subtensor/src/rpc_info/metagraph.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,9 @@ impl<T: Config> Pallet<T> {
694694
alpha_out_emission: SubnetAlphaOutEmission::<T>::get(netuid).into(), // amount injected in alpha reserves per block
695695
alpha_in_emission: SubnetAlphaInEmission::<T>::get(netuid).into(), // amount injected outstanding per block
696696
tao_in_emission: SubnetTaoInEmission::<T>::get(netuid).into(), // amount of tao injected per block
697-
pending_alpha_emission: PendingEmission::<T>::get(netuid).into(), // pending alpha to be distributed
697+
pending_alpha_emission: PendingValidatorEmission::<T>::get(netuid)
698+
.saturating_add(PendingServerEmission::<T>::get(netuid))
699+
.into(), // pending alpha to be distributed
698700
pending_root_emission: TaoCurrency::from(0u64).into(), // panding tao for root divs to be distributed
699701
subnet_volume: subnet_volume.into(),
700702
moving_price: SubnetMovingPrice::<T>::get(netuid),
@@ -1000,7 +1002,11 @@ impl<T: Config> Pallet<T> {
10001002
},
10011003
Some(SelectiveMetagraphIndex::PendingAlphaEmission) => SelectiveMetagraph {
10021004
netuid: netuid.into(),
1003-
pending_alpha_emission: Some(PendingEmission::<T>::get(netuid).into()),
1005+
pending_alpha_emission: Some(
1006+
PendingValidatorEmission::<T>::get(netuid)
1007+
.saturating_add(PendingServerEmission::<T>::get(netuid))
1008+
.into(),
1009+
),
10041010
..Default::default()
10051011
},
10061012
Some(SelectiveMetagraphIndex::PendingRootEmission) => SelectiveMetagraph {

pallets/subtensor/src/tests/children.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3095,7 +3095,8 @@ fn test_parent_child_chain_emission() {
30953095
);
30963096

30973097
// Set pending emission to 0
3098-
PendingEmission::<Test>::insert(netuid, AlphaCurrency::ZERO);
3098+
PendingValidatorEmission::<Test>::insert(netuid, AlphaCurrency::ZERO);
3099+
PendingServerEmission::<Test>::insert(netuid, AlphaCurrency::ZERO);
30993100

31003101
// Run epoch with emission value
31013102
SubtensorModule::run_coinbase(emission);

pallets/subtensor/src/tests/coinbase.rs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -686,16 +686,22 @@ fn test_pending_emission() {
686686
// 1 TAO / ( 1 + 3 ) = 0.25 * 1 / 2 = 125000000
687687

688688
assert_abs_diff_eq!(
689-
u64::from(PendingEmission::<Test>::get(netuid)),
690-
1_000_000_000 - 125000000,
689+
u64::from(PendingServerEmission::<Test>::get(netuid)),
690+
500_000_000,
691691
epsilon = 1
692-
); // 1 - swapped.
692+
); // 1 / 2.
693+
694+
assert_abs_diff_eq!(
695+
u64::from(PendingValidatorEmission::<Test>::get(netuid)),
696+
500_000_000 - 125000000,
697+
epsilon = 1
698+
); // 1 / 2 - swapped.
693699

694700
assert_abs_diff_eq!(
695701
u64::from(PendingRootAlphaDivs::<Test>::get(netuid)),
696702
125000000,
697703
epsilon = 1
698-
); // 1 / 2 = 125000000
704+
); // 1 / 2 * 0.25 --> (from root_prop)
699705
});
700706
}
701707

@@ -3081,9 +3087,10 @@ fn test_mining_emission_distribution_with_no_root_sell() {
30813087
// Run again but with some root stake
30823088
step_block(subnet_tempo - 2);
30833089
assert_abs_diff_eq!(
3084-
PendingEmission::<Test>::get(netuid).to_u64(),
3090+
PendingServerEmission::<Test>::get(netuid).to_u64(),
30853091
U96F32::saturating_from_num(per_block_emission)
30863092
.saturating_mul(U96F32::saturating_from_num(subnet_tempo as u64))
3093+
.saturating_mul(U96F32::saturating_from_num(0.5)) // miner cut
30873094
.saturating_mul(U96F32::saturating_from_num(0.90))
30883095
.saturating_to_num::<u64>(),
30893096
epsilon = 100_000_u64.into()

pallets/subtensor/src/tests/networks.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,8 @@ fn dissolve_clears_all_per_subnet_storages() {
374374
SubnetMechanism::<Test>::insert(net, 1u16);
375375
NetworkRegistrationAllowed::<Test>::insert(net, true);
376376
NetworkPowRegistrationAllowed::<Test>::insert(net, true);
377-
PendingEmission::<Test>::insert(net, AlphaCurrency::from(1));
377+
PendingServerEmission::<Test>::insert(net, AlphaCurrency::from(1));
378+
PendingValidatorEmission::<Test>::insert(net, AlphaCurrency::from(1));
378379
PendingRootAlphaDivs::<Test>::insert(net, AlphaCurrency::from(1));
379380
PendingOwnerCut::<Test>::insert(net, AlphaCurrency::from(1));
380381
BlocksSinceLastStep::<Test>::insert(net, 1u64);
@@ -529,7 +530,8 @@ fn dissolve_clears_all_per_subnet_storages() {
529530
assert!(!SubnetMechanism::<Test>::contains_key(net));
530531
assert!(!NetworkRegistrationAllowed::<Test>::contains_key(net));
531532
assert!(!NetworkPowRegistrationAllowed::<Test>::contains_key(net));
532-
assert!(!PendingEmission::<Test>::contains_key(net));
533+
assert!(!PendingServerEmission::<Test>::contains_key(net));
534+
assert!(!PendingValidatorEmission::<Test>::contains_key(net));
533535
assert!(!PendingRootAlphaDivs::<Test>::contains_key(net));
534536
assert!(!PendingOwnerCut::<Test>::contains_key(net));
535537
assert!(!BlocksSinceLastStep::<Test>::contains_key(net));

pallets/subtensor/src/utils/misc.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -334,9 +334,6 @@ impl<T: Config> Pallet<T> {
334334
pub fn get_tempo(netuid: NetUid) -> u16 {
335335
Tempo::<T>::get(netuid)
336336
}
337-
pub fn get_pending_emission(netuid: NetUid) -> AlphaCurrency {
338-
PendingEmission::<T>::get(netuid)
339-
}
340337
pub fn get_last_adjustment_block(netuid: NetUid) -> u64 {
341338
LastAdjustmentBlock::<T>::get(netuid)
342339
}

0 commit comments

Comments
 (0)