@@ -23,7 +23,7 @@ use scale_info::TypeInfo;
2323use sp_core:: Get ;
2424use sp_runtime:: { DispatchError , transaction_validity:: TransactionValidityError } ;
2525use sp_std:: marker:: PhantomData ;
26- use subtensor_runtime_common:: { AlphaCurrency , Currency , NetUid , TaoCurrency } ;
26+ use subtensor_runtime_common:: { AlphaCurrency , Currency , CurrencyReserve , NetUid , TaoCurrency } ;
2727
2828// ============================
2929// ==== Benchmark Imports =====
@@ -2141,17 +2141,48 @@ impl<T, H, P> CollectiveInterface<T, H, P> for () {
21412141 }
21422142}
21432143
2144- impl < T : Config + pallet_balances:: Config < Balance = u64 > >
2145- subtensor_runtime_common:: SubnetInfo < T :: AccountId > for Pallet < T >
2146- {
2147- fn tao_reserve ( netuid : NetUid ) -> TaoCurrency {
2144+ #[ derive( Clone ) ]
2145+ pub struct TaoCurrencyReserve < T : Config > ( PhantomData < T > ) ;
2146+
2147+ impl < T : Config > CurrencyReserve < TaoCurrency > for TaoCurrencyReserve < T > {
2148+ fn reserve ( netuid : NetUid ) -> TaoCurrency {
21482149 SubnetTAO :: < T > :: get ( netuid) . saturating_add ( SubnetTaoProvided :: < T > :: get ( netuid) )
21492150 }
21502151
2151- fn alpha_reserve ( netuid : NetUid ) -> AlphaCurrency {
2152+ fn increase_provided ( netuid : NetUid , tao : TaoCurrency ) {
2153+ Pallet :: < T > :: increase_provided_tao_reserve ( netuid, tao) ;
2154+ }
2155+
2156+ fn decrease_provided ( netuid : NetUid , tao : TaoCurrency ) {
2157+ Pallet :: < T > :: decrease_provided_tao_reserve ( netuid, tao) ;
2158+ }
2159+ }
2160+
2161+ #[ derive( Clone ) ]
2162+ pub struct AlphaCurrencyReserve < T : Config > ( PhantomData < T > ) ;
2163+
2164+ impl < T : Config > CurrencyReserve < AlphaCurrency > for AlphaCurrencyReserve < T > {
2165+ fn reserve ( netuid : NetUid ) -> AlphaCurrency {
21522166 SubnetAlphaIn :: < T > :: get ( netuid) . saturating_add ( SubnetAlphaInProvided :: < T > :: get ( netuid) )
21532167 }
21542168
2169+ fn increase_provided ( netuid : NetUid , alpha : AlphaCurrency ) {
2170+ Pallet :: < T > :: increase_provided_alpha_reserve ( netuid, alpha) ;
2171+ }
2172+
2173+ fn decrease_provided ( netuid : NetUid , alpha : AlphaCurrency ) {
2174+ Pallet :: < T > :: decrease_provided_alpha_reserve ( netuid, alpha) ;
2175+ }
2176+ }
2177+
2178+ pub type GetAlphaForTao < T > =
2179+ subtensor_swap_interface:: GetAlphaForTao < TaoCurrencyReserve < T > , AlphaCurrencyReserve < T > > ;
2180+ pub type GetTaoForAlpha < T > =
2181+ subtensor_swap_interface:: GetTaoForAlpha < AlphaCurrencyReserve < T > , TaoCurrencyReserve < T > > ;
2182+
2183+ impl < T : Config + pallet_balances:: Config < Balance = u64 > >
2184+ subtensor_runtime_common:: SubnetInfo < T :: AccountId > for Pallet < T >
2185+ {
21552186 fn exists ( netuid : NetUid ) -> bool {
21562187 Self :: if_subnet_exist ( netuid)
21572188 }
@@ -2248,22 +2279,6 @@ impl<T: Config + pallet_balances::Config<Balance = u64>>
22482279 hotkey, coldkey, netuid, alpha,
22492280 ) )
22502281 }
2251-
2252- fn increase_provided_tao_reserve ( netuid : NetUid , tao : TaoCurrency ) {
2253- Self :: increase_provided_tao_reserve ( netuid, tao) ;
2254- }
2255-
2256- fn decrease_provided_tao_reserve ( netuid : NetUid , tao : TaoCurrency ) {
2257- Self :: decrease_provided_tao_reserve ( netuid, tao) ;
2258- }
2259-
2260- fn increase_provided_alpha_reserve ( netuid : NetUid , alpha : AlphaCurrency ) {
2261- Self :: increase_provided_alpha_reserve ( netuid, alpha) ;
2262- }
2263-
2264- fn decrease_provided_alpha_reserve ( netuid : NetUid , alpha : AlphaCurrency ) {
2265- Self :: decrease_provided_alpha_reserve ( netuid, alpha) ;
2266- }
22672282}
22682283
22692284/// Enum that defines types of rate limited operations for
0 commit comments