mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-28 14:27:57 +00:00
CLI improvements & fixes (#4812)
These are a few changes I missed during the refactoring.
1. Initialization issue and boilerplate
Most importantly: part of the `Configuration` initialization was done in `sc_cli::init`. This means the user can not benefit from this initialization boilerplate if they have multiple `Configuration` since `sc_cli::init` can only be called once.
2. Boilerplate for `VersionInfo` and `Configuration`
I'm also answering to the critic of @bkchr on the initialization using version: https://github.com/paritytech/substrate/pull/4692/files/bea809d4c14a2ede953227ac885e3b3f9771c548#r372047238 This will allow initializing a `Configuration` and provide the version by default.
3. Loading the `chain_spec` explicitly
In the past it was done automatically but in some cases we want to delay this. I moved the code to `Configuration.load_spec()` so it can be called later on. `chain_spec` can also be written directly to the `Configuration` without using this `load_spec` helper.
4. [deleted]
5. Fixing issue that prevents the user to override the port
In the refactoring I introduced a bug by mistake that could potentially prevent the CLI user to override the ports if defaults where provided for these ports (only on cumulus).
6. Change task_executor from Box to Arc
This is useful for cumulus where we have 2 nodes with 2 separate Configuration that need to spawn tasks to the same runtime.
7. Renamed TasksExecutorRequired to TaskExecutor
For consistency.
This is related to https://github.com/paritytech/cumulus/issues/24
This is the continuation (and hopefully the end of) #4692
This commit is contained in:
@@ -936,6 +936,7 @@ impl RunCmd {
|
||||
crate::update_config_for_running_node(
|
||||
&mut config,
|
||||
self,
|
||||
&version,
|
||||
)?;
|
||||
|
||||
crate::run_node(config, new_light, new_full, &version)
|
||||
@@ -1003,7 +1004,7 @@ impl ExportBlocksCmd {
|
||||
|
||||
crate::fill_config_keystore_in_memory(&mut config)?;
|
||||
|
||||
if let DatabaseConfig::Path { ref path, .. } = &config.database {
|
||||
if let DatabaseConfig::Path { ref path, .. } = config.expect_database() {
|
||||
info!("DB path: {}", path.display());
|
||||
}
|
||||
let from = self.from.as_ref().and_then(|f| f.parse().ok()).unwrap_or(1);
|
||||
@@ -1124,7 +1125,7 @@ impl PurgeChainCmd {
|
||||
|
||||
crate::fill_config_keystore_in_memory(&mut config)?;
|
||||
|
||||
let db_path = match config.database {
|
||||
let db_path = match config.expect_database() {
|
||||
DatabaseConfig::Path { path, .. } => path,
|
||||
_ => {
|
||||
eprintln!("Cannot purge custom database implementation");
|
||||
|
||||
Reference in New Issue
Block a user