diff --git a/pallets/subtensor/src/coinbase/block_emission.rs b/pallets/subtensor/src/coinbase/block_emission.rs index 064bab4d2..1ae4b6124 100644 --- a/pallets/subtensor/src/coinbase/block_emission.rs +++ b/pallets/subtensor/src/coinbase/block_emission.rs @@ -98,7 +98,13 @@ impl Pallet { /// pub fn get_block_emission() -> Result { // Convert the total issuance to a fixed-point number for calculation. - Self::get_block_emission_for_issuance(Self::get_total_issuance().into()).map(Into::into) + let block_emission = + Self::get_block_emission_for_issuance(Self::get_total_issuance().into()); + let block_emission_u64: u64 = block_emission.unwrap_or(0); + if BlockEmission::::get() != block_emission_u64 { + BlockEmission::::put(block_emission_u64); + } + block_emission.map(Into::into) } /// Returns the block emission for an issuance value. @@ -144,9 +150,6 @@ impl Pallet { .saturating_mul(I96F32::saturating_from_num(DefaultBlockEmission::::get())); // Convert to u64 let block_emission_u64: u64 = block_emission.saturating_to_num::(); - if BlockEmission::::get() != block_emission_u64 { - BlockEmission::::put(block_emission_u64); - } Ok(block_emission_u64) } }