@@ -43,7 +43,7 @@ use sp_runtime::traits::AccountIdConversion;
43
43
use sp_runtime:: traits:: Block as BlockT ;
44
44
use std:: net:: SocketAddr ;
45
45
46
- #[ cfg( feature = "frame-benchmarking-cli " ) ]
46
+ #[ cfg( feature = "runtime-benchmarks " ) ]
47
47
use frame_benchmarking_cli:: { BenchmarkCmd , ExtrinsicFactory , SUBSTRATE_REFERENCE_HARDWARE } ;
48
48
49
49
trait IdentifyChain {
@@ -147,8 +147,10 @@ impl SubstrateCli for Cli {
147
147
fn load_spec ( & self , id : & str ) -> std:: result:: Result < Box < dyn sc_service:: ChainSpec > , String > {
148
148
load_spec ( id)
149
149
}
150
+ }
150
151
151
- fn native_runtime_version ( chain_spec : & Box < dyn ChainSpec > ) -> & ' static RuntimeVersion {
152
+ impl Cli {
153
+ fn runtime_version ( chain_spec : & Box < dyn ChainSpec > ) -> & ' static RuntimeVersion {
152
154
if chain_spec. is_dev ( ) {
153
155
& local_runtime:: VERSION
154
156
} else if chain_spec. is_astar ( ) {
@@ -202,10 +204,6 @@ impl SubstrateCli for RelayChainCli {
202
204
polkadot_cli:: Cli :: from_iter ( [ RelayChainCli :: executable_name ( ) ] . iter ( ) ) . load_spec ( id)
203
205
}
204
206
}
205
-
206
- fn native_runtime_version ( chain_spec : & Box < dyn ChainSpec > ) -> & ' static RuntimeVersion {
207
- polkadot_cli:: Cli :: native_runtime_version ( chain_spec)
208
- }
209
207
}
210
208
211
209
/// Parse command line arguments into service configuration.
@@ -459,12 +457,36 @@ pub fn run() -> Result<()> {
459
457
}
460
458
Some ( Subcommand :: ExportGenesisState ( cmd) ) => {
461
459
let runner = cli. create_runner ( cmd) ?;
460
+ let spec = cli. load_spec ( & cmd. shared_params . chain . clone ( ) . unwrap_or_default ( ) ) ?;
462
461
463
- runner. sync_run ( |_config| {
464
- let spec = cli. load_spec ( & cmd. shared_params . chain . clone ( ) . unwrap_or_default ( ) ) ?;
465
- let state_version = Cli :: native_runtime_version ( & spec) . state_version ( ) ;
466
- cmd. run :: < Block > ( & * spec, state_version)
467
- } )
462
+ if runner. config ( ) . chain_spec . is_astar ( ) {
463
+ runner. sync_run ( |config| {
464
+ let PartialComponents { client, .. } =
465
+ parachain:: new_partial :: < astar:: RuntimeApi , astar:: Executor , _ > (
466
+ & config,
467
+ parachain:: build_import_queue,
468
+ ) ?;
469
+ cmd. run :: < Block > ( & * spec, & * client)
470
+ } )
471
+ } else if runner. config ( ) . chain_spec . is_shiden ( ) {
472
+ runner. sync_run ( |config| {
473
+ let PartialComponents { client, .. } =
474
+ parachain:: new_partial :: < shiden:: RuntimeApi , shiden:: Executor , _ > (
475
+ & config,
476
+ parachain:: build_import_queue,
477
+ ) ?;
478
+ cmd. run :: < Block > ( & * spec, & * client)
479
+ } )
480
+ } else {
481
+ runner. sync_run ( |config| {
482
+ let PartialComponents { client, .. } =
483
+ parachain:: new_partial :: < shibuya:: RuntimeApi , shibuya:: Executor , _ > (
484
+ & config,
485
+ parachain:: build_import_queue,
486
+ ) ?;
487
+ cmd. run :: < Block > ( & * spec, & * client)
488
+ } )
489
+ }
468
490
}
469
491
Some ( Subcommand :: ExportGenesisWasm ( cmd) ) => {
470
492
let runner = cli. create_runner ( cmd) ?;
@@ -478,7 +500,7 @@ pub fn run() -> Result<()> {
478
500
Some ( Subcommand :: Sign ( cmd) ) => cmd. run ( ) ,
479
501
Some ( Subcommand :: Verify ( cmd) ) => cmd. run ( ) ,
480
502
Some ( Subcommand :: Vanity ( cmd) ) => cmd. run ( ) ,
481
- #[ cfg( feature = "frame-benchmarking-cli " ) ]
503
+ #[ cfg( feature = "runtime-benchmarks " ) ]
482
504
Some ( Subcommand :: Benchmark ( cmd) ) => {
483
505
use crate :: benchmarking:: * ;
484
506
use sp_keyring:: Sr25519Keyring ;
@@ -490,18 +512,18 @@ pub fn run() -> Result<()> {
490
512
BenchmarkCmd :: Pallet ( cmd) => {
491
513
if chain_spec. is_astar ( ) {
492
514
runner. sync_run ( |config| {
493
- cmd. run :: < astar_runtime:: Block , astar :: Executor > ( config)
515
+ cmd. run :: < astar_runtime:: Block , parachain :: HostFunctions > ( config)
494
516
} )
495
517
} else if chain_spec. is_shiden ( ) {
496
518
runner. sync_run ( |config| {
497
- cmd. run :: < shiden_runtime:: Block , shiden :: Executor > ( config)
519
+ cmd. run :: < shiden_runtime:: Block , parachain :: HostFunctions > ( config)
498
520
} )
499
521
} else if chain_spec. is_shibuya ( ) {
500
522
runner. sync_run ( |config| {
501
- cmd. run :: < shibuya_runtime:: Block , shibuya :: Executor > ( config)
523
+ cmd. run :: < shibuya_runtime:: Block , parachain :: HostFunctions > ( config)
502
524
} )
503
525
} else {
504
- runner. sync_run ( |config| cmd. run :: < Block , local:: Executor > ( config) )
526
+ runner. sync_run ( |config| cmd. run :: < Block , local:: HostFunctions > ( config) )
505
527
}
506
528
}
507
529
BenchmarkCmd :: Block ( cmd) => {
@@ -763,84 +785,12 @@ pub fn run() -> Result<()> {
763
785
}
764
786
}
765
787
}
766
- #[ cfg( feature = "try-runtime" ) ]
767
- Some ( Subcommand :: TryRuntime ( cmd) ) => {
768
- let runner = cli. create_runner ( cmd) ?;
769
- let chain_spec = & runner. config ( ) . chain_spec ;
770
-
771
- use sc_executor:: { sp_wasm_interface:: ExtendedHostFunctions , NativeExecutionDispatch } ;
772
- type HostFunctionsOf < E > = ExtendedHostFunctions <
773
- sp_io:: SubstrateHostFunctions ,
774
- <E as NativeExecutionDispatch >:: ExtendHostFunctions ,
775
- > ;
776
-
777
- if chain_spec. is_shiden ( ) {
778
- runner. async_run ( |config| {
779
- let registry = config. prometheus_config . as_ref ( ) . map ( |cfg| & cfg. registry ) ;
780
- let info_provider =
781
- try_runtime_cli:: block_building_info:: timestamp_with_aura_info ( 6000 ) ;
782
- let task_manager =
783
- sc_service:: TaskManager :: new ( config. tokio_handle . clone ( ) , registry)
784
- . map_err ( |e| {
785
- sc_cli:: Error :: Service ( sc_service:: Error :: Prometheus ( e) )
786
- } ) ?;
787
- Ok ( (
788
- cmd. run :: < shiden_runtime:: Block , HostFunctionsOf < shiden:: Executor > , _ > (
789
- Some ( info_provider) ,
790
- ) ,
791
- task_manager,
792
- ) )
793
- } )
794
- } else if chain_spec. is_shibuya ( ) {
795
- runner. async_run ( |config| {
796
- let registry = config. prometheus_config . as_ref ( ) . map ( |cfg| & cfg. registry ) ;
797
- let info_provider =
798
- try_runtime_cli:: block_building_info:: timestamp_with_aura_info ( 6000 ) ;
799
- let task_manager =
800
- sc_service:: TaskManager :: new ( config. tokio_handle . clone ( ) , registry)
801
- . map_err ( |e| {
802
- sc_cli:: Error :: Service ( sc_service:: Error :: Prometheus ( e) )
803
- } ) ?;
804
- Ok ( (
805
- cmd. run :: < shibuya_runtime:: Block , HostFunctionsOf < shibuya:: Executor > , _ > (
806
- Some ( info_provider) ,
807
- ) ,
808
- task_manager,
809
- ) )
810
- } )
811
- } else if chain_spec. is_astar ( ) {
812
- runner. async_run ( |config| {
813
- let registry = config. prometheus_config . as_ref ( ) . map ( |cfg| & cfg. registry ) ;
814
- let info_provider =
815
- try_runtime_cli:: block_building_info:: timestamp_with_aura_info ( 6000 ) ;
816
- let task_manager =
817
- sc_service:: TaskManager :: new ( config. tokio_handle . clone ( ) , registry)
818
- . map_err ( |e| {
819
- sc_cli:: Error :: Service ( sc_service:: Error :: Prometheus ( e) )
820
- } ) ?;
821
- Ok ( (
822
- cmd. run :: < astar_runtime:: Block , HostFunctionsOf < astar:: Executor > , _ > ( Some (
823
- info_provider,
824
- ) ) ,
825
- task_manager,
826
- ) )
827
- } )
828
- } else {
829
- runner. async_run ( |config| {
830
- let registry = config. prometheus_config . as_ref ( ) . map ( |cfg| & cfg. registry ) ;
831
- let info_provider =
832
- try_runtime_cli:: block_building_info:: timestamp_with_aura_info ( 6000 ) ;
833
- let task_manager =
834
- sc_service:: TaskManager :: new ( config. tokio_handle . clone ( ) , registry)
835
- . map_err ( |e| {
836
- sc_cli:: Error :: Service ( sc_service:: Error :: Prometheus ( e) )
837
- } ) ?;
838
- Ok ( (
839
- cmd. run :: < Block , HostFunctionsOf < local:: Executor > , _ > ( Some ( info_provider) ) ,
840
- task_manager,
841
- ) )
842
- } )
843
- }
788
+ Some ( Subcommand :: TryRuntime ( _) ) => {
789
+ Err ( "The `try-runtime` subcommand has been migrated to a \
790
+ standalone CLI (https://github.com/paritytech/try-runtime-cli). It is no longer \
791
+ being maintained here and will be removed entirely some time after January 2024. \
792
+ Please remove this subcommand from your runtime and use the standalone CLI."
793
+ . into ( ) )
844
794
}
845
795
None => {
846
796
let runner = cli. create_runner ( & cli. run . normalize ( ) ) ?;
@@ -885,7 +835,7 @@ pub fn run() -> Result<()> {
885
835
let parachain_account =
886
836
AccountIdConversion :: < polkadot_primitives:: AccountId > :: into_account_truncating ( & para_id) ;
887
837
888
- let state_version = Cli :: native_runtime_version ( & config. chain_spec ) . state_version ( ) ;
838
+ let state_version = Cli :: runtime_version ( & config. chain_spec ) . state_version ( ) ;
889
839
let block: Block = generate_genesis_block ( & * config. chain_spec , state_version)
890
840
. map_err ( |e| format ! ( "{:?}" , e) ) ?;
891
841
let genesis_state = format ! ( "0x{:?}" , HexDisplay :: from( & block. header( ) . encode( ) ) ) ;
0 commit comments