@@ -166,15 +166,27 @@ pub mod pallet {
166166 21_000_000_000_000_000
167167 }
168168 #[ pallet:: type_value]
169- /// Default total stake.
170- pub fn DefaultDefaultTake < T : Config > ( ) -> u16 {
171- T :: InitialDefaultTake :: get ( )
169+ /// Default Delegate Take.
170+ pub fn DefaultDelegateTake < T : Config > ( ) -> u16 {
171+ T :: InitialDefaultDelegateTake :: get ( )
172+ }
173+
174+ #[ pallet:: type_value]
175+ /// Default childkey take.
176+ pub fn DefaultChildKeyTake < T : Config > ( ) -> u16 {
177+ T :: InitialDefaultChildKeyTake :: get ( )
172178 }
173179 #[ pallet:: type_value]
174- /// Default minimum take.
175- pub fn DefaultMinTake < T : Config > ( ) -> u16 {
176- T :: InitialMinTake :: get ( )
180+ /// Default minimum delegate take.
181+ pub fn DefaultMinDelegateTake < T : Config > ( ) -> u16 {
182+ T :: InitialMinDelegateTake :: get ( )
177183 }
184+ #[ pallet:: type_value]
185+ /// Default minimum childkey take.
186+ pub fn DefaultMinChildKeyTake < T : Config > ( ) -> u16 {
187+ T :: InitialMinChildKeyTake :: get ( )
188+ }
189+
178190 #[ pallet:: type_value]
179191 /// Default account take.
180192 pub fn DefaultAccountTake < T : Config > ( ) -> u64 {
@@ -364,8 +376,6 @@ pub mod pallet {
364376 }
365377 T :: InitialNetworkRateLimit :: get ( )
366378 }
367- // #[pallet::type_value] /// Default value for network max stake.
368- // pub fn DefaultNetworkMaxStake<T: Config>() -> u64 { T::InitialNetworkMaxStake::get() }
369379 #[ pallet:: type_value]
370380 /// Default value for emission values.
371381 pub fn DefaultEmissionValues < T : Config > ( ) -> u64 {
@@ -539,6 +549,11 @@ pub mod pallet {
539549 T :: InitialTxDelegateTakeRateLimit :: get ( )
540550 }
541551 #[ pallet:: type_value]
552+ /// Default value for chidlkey take rate limiting
553+ pub fn DefaultTxChildKeyTakeRateLimit < T : Config > ( ) -> u64 {
554+ T :: InitialTxChildKeyTakeRateLimit :: get ( )
555+ }
556+ #[ pallet:: type_value]
542557 /// Default value for last extrinsic block.
543558 pub fn DefaultLastTxBlock < T : Config > ( ) -> u64 {
544559 0
@@ -599,10 +614,15 @@ pub mod pallet {
599614 pub type TotalIssuance < T > = StorageValue < _ , u64 , ValueQuery , DefaultTotalIssuance < T > > ;
600615 #[ pallet:: storage] // --- ITEM ( total_stake )
601616 pub type TotalStake < T > = StorageValue < _ , u64 , ValueQuery > ;
602- #[ pallet:: storage] // --- ITEM ( default_take )
603- pub type MaxTake < T > = StorageValue < _ , u16 , ValueQuery , DefaultDefaultTake < T > > ;
604- #[ pallet:: storage] // --- ITEM ( min_take )
605- pub type MinTake < T > = StorageValue < _ , u16 , ValueQuery , DefaultMinTake < T > > ;
617+ #[ pallet:: storage] // --- ITEM ( default_delegate_take )
618+ pub type MaxDelegateTake < T > = StorageValue < _ , u16 , ValueQuery , DefaultDelegateTake < T > > ;
619+ #[ pallet:: storage] // --- ITEM ( min_delegate_take )
620+ pub type MinDelegateTake < T > = StorageValue < _ , u16 , ValueQuery , DefaultMinDelegateTake < T > > ;
621+ #[ pallet:: storage] // --- ITEM ( default_childkey_take )
622+ pub type MaxChildkeyTake < T > = StorageValue < _ , u16 , ValueQuery , DefaultChildKeyTake < T > > ;
623+ #[ pallet:: storage] // --- ITEM ( min_childkey_take )
624+ pub type MinChildkeyTake < T > = StorageValue < _ , u16 , ValueQuery , DefaultMinChildKeyTake < T > > ;
625+
606626 #[ pallet:: storage] // --- ITEM ( global_block_emission )
607627 pub type BlockEmission < T > = StorageValue < _ , u64 , ValueQuery , DefaultBlockEmission < T > > ;
608628 #[ pallet:: storage] // --- ITEM (target_stakes_per_interval)
@@ -635,7 +655,19 @@ pub mod pallet {
635655 #[ pallet:: storage]
636656 /// MAP ( hot ) --> take | Returns the hotkey delegation take. And signals that this key is open for delegation.
637657 pub type Delegates < T : Config > =
638- StorageMap < _ , Blake2_128Concat , T :: AccountId , u16 , ValueQuery , DefaultDefaultTake < T > > ;
658+ StorageMap < _ , Blake2_128Concat , T :: AccountId , u16 , ValueQuery , DefaultDelegateTake < T > > ;
659+ #[ pallet:: storage]
660+ /// DMAP ( hot, netuid ) --> take | Returns the hotkey childkey take for a specific subnet
661+ pub type ChildkeyTake < T : Config > = StorageDoubleMap <
662+ _ ,
663+ Blake2_128Concat ,
664+ T :: AccountId , // First key: hotkey
665+ Identity ,
666+ u16 , // Second key: netuid
667+ u16 , // Value: take
668+ ValueQuery ,
669+ > ;
670+
639671 #[ pallet:: storage]
640672 /// DMAP ( hot, cold ) --> stake | Returns the stake under a coldkey prefixed by hotkey.
641673 pub type Stake < T : Config > = StorageDoubleMap <
@@ -953,10 +985,14 @@ pub mod pallet {
953985 /// --- ITEM ( tx_rate_limit )
954986 pub type TxRateLimit < T > = StorageValue < _ , u64 , ValueQuery , DefaultTxRateLimit < T > > ;
955987 #[ pallet:: storage]
956- /// --- ITEM ( tx_rate_limit )
988+ /// --- ITEM ( tx_delegate_take_rate_limit )
957989 pub type TxDelegateTakeRateLimit < T > =
958990 StorageValue < _ , u64 , ValueQuery , DefaultTxDelegateTakeRateLimit < T > > ;
959991 #[ pallet:: storage]
992+ /// --- ITEM ( tx_childkey_take_rate_limit )
993+ pub type TxChildkeyTakeRateLimit < T > =
994+ StorageValue < _ , u64 , ValueQuery , DefaultTxChildKeyTakeRateLimit < T > > ;
995+ #[ pallet:: storage]
960996 /// --- MAP ( netuid ) --> Whether or not Liquid Alpha is enabled
961997 pub type LiquidAlphaOn < T > =
962998 StorageMap < _ , Blake2_128Concat , u16 , bool , ValueQuery , DefaultLiquidAlpha < T > > ;
@@ -1103,7 +1139,11 @@ pub mod pallet {
11031139 pub type LastTxBlock < T : Config > =
11041140 StorageMap < _ , Identity , T :: AccountId , u64 , ValueQuery , DefaultLastTxBlock < T > > ;
11051141 #[ pallet:: storage]
1106- /// --- MAP ( key ) --> last_block
1142+ /// --- MAP ( key ) --> last_tx_block_childkey_take
1143+ pub type LastTxBlockChildKeyTake < T : Config > =
1144+ StorageMap < _ , Identity , T :: AccountId , u64 , ValueQuery , DefaultLastTxBlock < T > > ;
1145+ #[ pallet:: storage]
1146+ /// --- MAP ( key ) --> last_tx_block_delegate_take
11071147 pub type LastTxBlockDelegateTake < T : Config > =
11081148 StorageMap < _ , Identity , T :: AccountId , u64 , ValueQuery , DefaultLastTxBlock < T > > ;
11091149 #[ pallet:: storage]
0 commit comments