From 5783a2b8912793c7aa3d16998daa5ad4762d00e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=B5?= Date: Tue, 26 Aug 2025 21:18:34 +0200 Subject: [PATCH] do not update (singular) BlockEmission for every subnet, but only on fetching Tao block emission --- pallets/subtensor/src/coinbase/block_emission.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pallets/subtensor/src/coinbase/block_emission.rs b/pallets/subtensor/src/coinbase/block_emission.rs index 064bab4d2a..1ae4b61244 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) } }