@@ -70,10 +70,10 @@ impl<T: Config> Pallet<T> {
7070 . unwrap_or ( asfloat ! ( 0.0 ) ) ;
7171 log:: debug!( "default_tao_in_i: {default_tao_in_i:?}" ) ;
7272 // Get alpha_emission total
73- let alpha_emission_i: U96F32 = asfloat ! (
74- Self :: get_block_emission_for_issuance ( Self :: get_alpha_issuance( * netuid_i) . into( ) )
75- . unwrap_or ( 0 )
76- ) ;
73+ let alpha_emission_i: U96F32 = asfloat ! ( Self :: get_block_emission_for_issuance (
74+ Self :: get_alpha_issuance( * netuid_i) . into( )
75+ )
76+ . unwrap_or ( 0 ) ) ;
7777 log:: debug!( "alpha_emission_i: {alpha_emission_i:?}" ) ;
7878
7979 // Get initial alpha_in
@@ -103,7 +103,7 @@ impl<T: Config> Pallet<T> {
103103 is_subsidized. insert ( * netuid_i, true ) ;
104104 } else {
105105 tao_in_i = default_tao_in_i;
106- alpha_in_i = tao_in_i. safe_div ( price_i) ; // Must panic if price_i is 0.
106+ alpha_in_i = tao_in_i. safe_div_or ( price_i, alpha_emission_i ) ;
107107 is_subsidized. insert ( * netuid_i, false ) ;
108108 }
109109 log:: debug!( "alpha_in_i: {alpha_in_i:?}" ) ;
@@ -209,7 +209,7 @@ impl<T: Config> Pallet<T> {
209209 let root_alpha: U96F32 = root_proportion
210210 . saturating_mul ( alpha_out_i) // Total alpha emission per block remaining.
211211 . saturating_mul ( asfloat ! ( 0.5 ) ) ; // 50% to validators.
212- // Remove root alpha from alpha_out.
212+ // Remove root alpha from alpha_out.
213213 log:: debug!( "root_alpha: {root_alpha:?}" ) ;
214214 // Get pending alpha as original alpha_out - root_alpha.
215215 let pending_alpha: U96F32 = alpha_out_i. saturating_sub ( root_alpha) ;
0 commit comments