@@ -71,17 +71,26 @@ pub fn migrate_rao<T: Config>() -> Weight {
71
71
}
72
72
let owner: T :: AccountId = SubnetOwner :: < T > :: get ( netuid) ;
73
73
let lock: u64 = SubnetLocked :: < T > :: get ( netuid) ;
74
- let initial_liquidity: u64 = 100_000_000_000 ; // 100 TAO.
75
- let remaining_lock: u64 = lock. saturating_sub ( initial_liquidity) ;
74
+
75
+ // Put initial TAO from lock into subnet TAO and produce numerically equal amount of Alpha
76
+ // The initial TAO is the locked amount, with a minimum of 1 TAO and a cap of 100 TAO.
77
+ let pool_initial_tao = 100_000_000_000 . min ( lock. max ( 1 ) ) ;
78
+
79
+ let remaining_lock = lock. saturating_sub ( pool_initial_tao) ;
80
+ // Refund the owner for the remaining lock.
76
81
Pallet :: < T > :: add_balance_to_coldkey_account ( & owner, remaining_lock) ;
77
- SubnetTAO :: < T > :: insert ( netuid, initial_liquidity) ; // Set TAO to the lock.
78
- SubnetAlphaIn :: < T > :: insert ( netuid, initial_liquidity) ; // Set AlphaIn to the initial alpha distribution.
82
+ SubnetTAO :: < T > :: insert ( netuid, pool_initial_tao) ; // Set TAO to the lock.
83
+
84
+ SubnetAlphaIn :: < T > :: insert (
85
+ netuid,
86
+ pool_initial_tao. saturating_mul ( netuids. len ( ) as u64 ) ,
87
+ ) ; // Set AlphaIn to the initial alpha distribution.
88
+
79
89
SubnetAlphaOut :: < T > :: insert ( netuid, 0 ) ; // Set zero subnet alpha out.
80
90
SubnetMechanism :: < T > :: insert ( netuid, 1 ) ; // Convert to dynamic immediately with initialization.
81
91
Tempo :: < T > :: insert ( netuid, DefaultTempo :: < T > :: get ( ) ) ;
82
92
// Set the token symbol for this subnet using Self instead of Pallet::<T>
83
93
TokenSymbol :: < T > :: insert ( netuid, Pallet :: < T > :: get_symbol_for_subnet ( * netuid) ) ;
84
- SubnetTAO :: < T > :: insert ( netuid, initial_liquidity) ; // Set TAO to the lock.
85
94
TotalStakeAtDynamic :: < T > :: insert ( netuid, 0 ) ;
86
95
87
96
if let Ok ( owner_coldkey) = SubnetOwner :: < T > :: try_get ( netuid) {
0 commit comments