@@ -6,7 +6,7 @@ use crate::Pallet as Subtensor;
66use crate :: * ;
77use frame_benchmarking:: { account, benchmarks, whitelisted_caller} ;
88use frame_support:: assert_ok;
9- use frame_system:: RawOrigin ;
9+ use frame_system:: { RawOrigin , pallet_prelude :: BlockNumberFor } ;
1010pub use pallet:: * ;
1111use sp_core:: H256 ;
1212use sp_runtime:: traits:: { BlakeTwo256 , Hash } ;
@@ -658,4 +658,35 @@ benchmark_burn_alpha {
658658
659659} : burn_alpha( RawOrigin :: Signed ( coldkey) , hotkey, alpha_amount, netuid)
660660
661+
662+ benchmark_start_call {
663+ let caller: T :: AccountId = whitelisted_caller:: <AccountIdOf <T >>( ) ;
664+ let caller_origin = <T as frame_system:: Config >:: RuntimeOrigin :: from( RawOrigin :: Signed ( caller. clone( ) ) ) ;
665+ let netuid: u16 = 1 ;
666+ let tempo: u16 = 1 ;
667+ let seed: u32 = 1 ;
668+
669+ // Set up coldkey and hotkey
670+ let coldkey: T :: AccountId = account( "Test" , 0 , seed) ;
671+ let hotkey: T :: AccountId = account( "Alice" , 0 , seed) ;
672+
673+ // Initialize network
674+ Subtensor :: <T >:: init_new_network( netuid, tempo) ;
675+ Subtensor :: <T >:: set_network_registration_allowed( netuid, true ) ;
676+
677+ // Register the neuron
678+ Subtensor :: <T >:: set_burn( netuid, 1 ) ;
679+ let amount_to_be_staked = 1000000u32 . into( ) ;
680+ Subtensor :: <T >:: add_balance_to_coldkey_account( & coldkey. clone( ) , amount_to_be_staked) ;
681+
682+ assert_ok!( Subtensor :: <T >:: do_burned_registration( RawOrigin :: Signed ( coldkey. clone( ) ) . into( ) , netuid, hotkey. clone( ) ) ) ;
683+ assert_eq!( SubnetOwner :: <T >:: get( netuid) , coldkey. clone( ) ) ;
684+ assert_eq!( FirstEmissionBlockNumber :: <T >:: get( netuid) , None ) ;
685+ let current_block: u64 = Subtensor :: <T >:: get_current_block_as_u64( ) ;
686+ let duration = <T as Config >:: DurationOfStartCall :: get( ) ;
687+ let block: BlockNumberFor <T > = ( current_block + duration) . try_into( ) . ok( ) . expect( "can't convert to block number" ) ;
688+ frame_system:: Pallet :: <T >:: set_block_number( block) ;
689+
690+ } : start_call( RawOrigin :: Signed ( coldkey) , netuid)
691+
661692}
0 commit comments