Skip to content

Commit cf2b75c

Browse files
authored
Merge branch 'devnet-ready' into fix/revert-tao-flow-back-to-prices
2 parents 54b5090 + ccad010 commit cf2b75c

File tree

4 files changed

+46
-2
lines changed

4 files changed

+46
-2
lines changed

pallets/subtensor/src/coinbase/subnet_emissions.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,11 @@ impl<T: Config> Pallet<T> {
7676
}
7777
} else {
7878
// Initialize EMA flow, set S(current_block) = min(price, ema_price) * init_factor
79+
let init_factor = I64F64::saturating_from_num(1_000_000_000);
7980
let moving_price = I64F64::saturating_from_num(Self::get_moving_alpha_price(netuid));
8081
let current_price =
8182
I64F64::saturating_from_num(T::SwapInterface::current_alpha_price(netuid));
82-
let ema_flow = moving_price.min(current_price);
83+
let ema_flow = init_factor.saturating_mul(moving_price.min(current_price));
8384
SubnetEmaTaoFlow::<T>::insert(netuid, (current_block, ema_flow));
8485
ema_flow
8586
}

pallets/subtensor/src/macros/hooks.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,9 @@ mod hooks {
159159
// Migrate Kappa to default (0.5)
160160
.saturating_add(migrations::migrate_kappa_map_to_default::migrate_kappa_map_to_default::<T>())
161161
// Remove obsolete map entries
162-
.saturating_add(migrations::migrate_remove_tao_dividends::migrate_remove_tao_dividends::<T>());
162+
.saturating_add(migrations::migrate_remove_tao_dividends::migrate_remove_tao_dividends::<T>())
163+
// Re-init tao flows
164+
.saturating_add(migrations::migrate_init_tao_flow::migrate_init_tao_flow::<T>());
163165
weight
164166
}
165167

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
use alloc::string::String;
2+
3+
use frame_support::{traits::Get, weights::Weight};
4+
5+
use super::*;
6+
7+
pub fn migrate_init_tao_flow<T: Config>() -> Weight {
8+
let migration_name = b"migrate_init_tao_flow".to_vec();
9+
10+
// Initialize the weight with one read operation.
11+
let mut weight = T::DbWeight::get().reads(1);
12+
13+
// Check if the migration has already run
14+
if HasMigrationRun::<T>::get(&migration_name) {
15+
log::info!(
16+
"Migration '{:?}' has already run. Skipping.",
17+
String::from_utf8_lossy(&migration_name)
18+
);
19+
return weight;
20+
}
21+
log::info!(
22+
"Running migration '{}'",
23+
String::from_utf8_lossy(&migration_name)
24+
);
25+
26+
let _ = SubnetEmaTaoFlow::<T>::clear(u32::MAX, None);
27+
weight = weight.saturating_add(T::DbWeight::get().writes(1));
28+
29+
// Mark the migration as completed
30+
HasMigrationRun::<T>::insert(&migration_name, true);
31+
weight = weight.saturating_add(T::DbWeight::get().writes(1));
32+
33+
log::info!(
34+
"Migration '{:?}' completed.",
35+
String::from_utf8_lossy(&migration_name)
36+
);
37+
38+
// Return the migration weight.
39+
weight
40+
}

pallets/subtensor/src/migrations/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ pub mod migrate_fix_is_network_member;
2020
pub mod migrate_fix_root_subnet_tao;
2121
pub mod migrate_fix_root_tao_and_alpha_in;
2222
pub mod migrate_identities_v2;
23+
pub mod migrate_init_tao_flow;
2324
pub mod migrate_init_total_issuance;
2425
pub mod migrate_kappa_map_to_default;
2526
pub mod migrate_network_immunity_period;

0 commit comments

Comments
 (0)