diff --git a/pallets/subtensor/src/coinbase/run_coinbase.rs b/pallets/subtensor/src/coinbase/run_coinbase.rs index 13808d2361..7a8bb74709 100644 --- a/pallets/subtensor/src/coinbase/run_coinbase.rs +++ b/pallets/subtensor/src/coinbase/run_coinbase.rs @@ -78,7 +78,9 @@ impl Pallet { ); if let Ok(buy_swap_result_ok) = buy_swap_result { let bought_alpha: AlphaCurrency = buy_swap_result_ok.amount_paid_out.into(); - Self::recycle_subnet_alpha(*netuid_i, bought_alpha); + PendingRootAlphaDivs::::mutate(*netuid_i, |total| { + *total = total.saturating_add(bought_alpha); + }); } } @@ -142,8 +144,8 @@ impl Pallet { let alpha_out_i: U96F32 = alpha_emission_i; let mut alpha_in_i: U96F32 = tao_emission_i.safe_div_or(price_i, U96F32::from_num(0.0)); - if alpha_in_i > alpha_emission_i { - alpha_in_i = alpha_emission_i; + if alpha_in_i > Self::root_proportion( netuid_i ) { + alpha_in_i = Self::root_proportion( netuid_i ); tao_in_i = alpha_in_i.saturating_mul(price_i); }