From 9141a851d1a3bd32b9a449e293a67cff4b62da95 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 6 May 2026 09:15:42 -0400 Subject: [PATCH] Count burned registration in tao inflow --- pallets/subtensor/src/subnets/registration.rs | 1 + pallets/subtensor/src/tests/subnet.rs | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/pallets/subtensor/src/subnets/registration.rs b/pallets/subtensor/src/subnets/registration.rs index 83b3984488..8e25c5c462 100644 --- a/pallets/subtensor/src/subnets/registration.rs +++ b/pallets/subtensor/src/subnets/registration.rs @@ -120,6 +120,7 @@ impl Pallet { // 11) counters RegistrationsThisBlock::::mutate(netuid, |val| val.saturating_inc()); Self::increase_rao_recycled(netuid, registration_cost.into()); + Self::record_tao_inflow(netuid, actual_burn_amount); // 12) event log::debug!("NeuronRegistered( netuid:{netuid:?} uid:{neuron_uid:?} hotkey:{hotkey:?} )"); diff --git a/pallets/subtensor/src/tests/subnet.rs b/pallets/subtensor/src/tests/subnet.rs index 3042416ca5..ee7e89fafd 100644 --- a/pallets/subtensor/src/tests/subnet.rs +++ b/pallets/subtensor/src/tests/subnet.rs @@ -976,3 +976,35 @@ fn test_cannot_register_system_hotkey() { } }); } + +#[test] +fn test_burned_register_increases_subnet_tao_flow() { + new_test_ext(1).execute_with(|| { + let netuid = NetUid::from(1); + let coldkey = U256::from(77); + let hotkey = U256::from(88); + + add_network(netuid, 13, 0); + mock::setup_reserves(netuid, DEFAULT_RESERVE.into(), DEFAULT_RESERVE.into()); + + let burn = 1_000u64; + SubtensorModule::set_burn(netuid, burn.into()); + let flow_before = SubnetTaoFlow::::get(netuid); + + add_balance_to_coldkey_account( + &coldkey, + ExistentialDeposit::get() + burn.into() + 10u64.into(), + ); + + assert_ok!(SubtensorModule::burned_register( + <::RuntimeOrigin>::signed(coldkey), + netuid, + hotkey + )); + + assert_eq!( + SubnetTaoFlow::::get(netuid), + flow_before + burn as i64 + ); + }); +}