@@ -594,5 +594,68 @@ batch_reveal_weights {
594594 version_keys
595595)
596596
597+ benchmark_recycle_alpha {
598+ let caller: T :: AccountId = whitelisted_caller:: <AccountIdOf <T >>( ) ;
599+ let caller_origin = <T as frame_system:: Config >:: RuntimeOrigin :: from( RawOrigin :: Signed ( caller. clone( ) ) ) ;
600+ let netuid: u16 = 1 ;
601+ let tempo: u16 = 1 ;
602+ let seed: u32 = 1 ;
603+
604+ // Set up coldkey and hotkey
605+ let coldkey: T :: AccountId = account( "Test" , 0 , seed) ;
606+ let hotkey: T :: AccountId = account( "Alice" , 0 , seed) ;
607+
608+ // Initialize network
609+ Subtensor :: <T >:: init_new_network( netuid, tempo) ;
610+ Subtensor :: <T >:: set_network_registration_allowed( netuid, true ) ;
611+
612+ // Register the neuron
613+ Subtensor :: <T >:: set_burn( netuid, 1 ) ;
614+ let amount_to_be_staked = 1000000u32 . into( ) ;
615+ Subtensor :: <T >:: add_balance_to_coldkey_account( & coldkey. clone( ) , amount_to_be_staked) ;
616+
617+ assert_ok!( Subtensor :: <T >:: do_burned_registration( RawOrigin :: Signed ( coldkey. clone( ) ) . into( ) , netuid, hotkey. clone( ) ) ) ;
618+
619+ // Add alpha to the hotkey
620+ let alpha_amount: u64 = 1000000 ;
621+ TotalHotkeyAlpha :: <T >:: insert( & hotkey, netuid, alpha_amount) ;
622+ SubnetAlphaOut :: <T >:: insert( netuid, alpha_amount * 2 ) ;
623+
624+ // Verify the alpha has been added
625+ assert_eq!( TotalHotkeyAlpha :: <T >:: get( & hotkey, netuid) , alpha_amount) ;
626+
627+ } : recycle_alpha( RawOrigin :: Signed ( coldkey) , hotkey, alpha_amount, netuid)
628+
629+ benchmark_burn_alpha {
630+ let caller: T :: AccountId = whitelisted_caller:: <AccountIdOf <T >>( ) ;
631+ let caller_origin = <T as frame_system:: Config >:: RuntimeOrigin :: from( RawOrigin :: Signed ( caller. clone( ) ) ) ;
632+ let netuid = 1 ;
633+ let tempo = 1 ;
634+ let seed = 1 ;
635+
636+ // Set up coldkey and hotkey
637+ let coldkey: T :: AccountId = account( "Test" , 0 , seed) ;
638+ let hotkey: T :: AccountId = account( "Alice" , 0 , seed) ;
639+
640+ // Initialize network
641+ Subtensor :: <T >:: init_new_network( netuid, tempo) ;
642+ Subtensor :: <T >:: set_network_registration_allowed( netuid, true ) ;
643+
644+ // Register the neuron
645+ Subtensor :: <T >:: set_burn( netuid, 1 ) ;
646+ let amount_to_be_staked = 1000000u32 . into( ) ;
647+ Subtensor :: <T >:: add_balance_to_coldkey_account( & coldkey. clone( ) , amount_to_be_staked) ;
648+
649+ assert_ok!( Subtensor :: <T >:: do_burned_registration( RawOrigin :: Signed ( coldkey. clone( ) ) . into( ) , netuid, hotkey. clone( ) ) ) ;
650+
651+ // Add alpha to the hotkey
652+ let alpha_amount: u64 = 1000000 ;
653+ TotalHotkeyAlpha :: <T >:: insert( & hotkey, netuid, alpha_amount) ;
654+ SubnetAlphaOut :: <T >:: insert( netuid, alpha_amount * 2 ) ;
655+
656+ // Verify the alpha has been added
657+ assert_eq!( TotalHotkeyAlpha :: <T >:: get( & hotkey, netuid) , alpha_amount) ;
658+
659+ } : burn_alpha( RawOrigin :: Signed ( coldkey) , hotkey, alpha_amount, netuid)
597660
598661}
0 commit comments