mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 18:07:58 +00:00
* Companion PR * Implement traits for Client * "Update Substrate" Co-authored-by: parity-processbot <>
This commit is contained in:
+75
-51
@@ -96,24 +96,24 @@ impl SubstrateCli for Cli {
|
||||
}
|
||||
}
|
||||
|
||||
fn set_default_ss58_version(spec: &Box<dyn service::ChainSpec>) {
|
||||
use sp_core::crypto::Ss58AddressFormat;
|
||||
|
||||
let ss58_version = if spec.is_kusama() {
|
||||
Ss58AddressFormat::KusamaAccount
|
||||
} else if spec.is_westend() {
|
||||
Ss58AddressFormat::SubstrateAccount
|
||||
} else {
|
||||
Ss58AddressFormat::PolkadotAccount
|
||||
};
|
||||
|
||||
sp_core::crypto::set_default_ss58_version(ss58_version);
|
||||
}
|
||||
|
||||
/// Parses polkadot specific CLI arguments and run the service.
|
||||
pub fn run() -> Result<()> {
|
||||
let cli = Cli::from_args();
|
||||
|
||||
fn set_default_ss58_version(spec: &Box<dyn service::ChainSpec>) {
|
||||
use sp_core::crypto::Ss58AddressFormat;
|
||||
|
||||
let ss58_version = if spec.is_kusama() {
|
||||
Ss58AddressFormat::KusamaAccount
|
||||
} else if spec.is_westend() {
|
||||
Ss58AddressFormat::SubstrateAccount
|
||||
} else {
|
||||
Ss58AddressFormat::PolkadotAccount
|
||||
};
|
||||
|
||||
sp_core::crypto::set_default_ss58_version(ss58_version);
|
||||
};
|
||||
|
||||
match &cli.subcommand {
|
||||
None => {
|
||||
let runner = cli.create_runner(&cli.run.base)?;
|
||||
@@ -150,34 +150,68 @@ pub fn run() -> Result<()> {
|
||||
}
|
||||
})
|
||||
},
|
||||
Some(Subcommand::Base(subcommand)) => {
|
||||
let runner = cli.create_runner(subcommand)?;
|
||||
Some(Subcommand::BuildSpec(cmd)) => {
|
||||
let runner = cli.create_runner(cmd)?;
|
||||
runner.sync_run(|config| cmd.run(config.chain_spec, config.network))
|
||||
},
|
||||
Some(Subcommand::CheckBlock(cmd)) => {
|
||||
let runner = cli.create_runner(cmd)?;
|
||||
let chain_spec = &runner.config().chain_spec;
|
||||
|
||||
set_default_ss58_version(chain_spec);
|
||||
|
||||
if chain_spec.is_kusama() {
|
||||
runner.run_subcommand(subcommand, |config|
|
||||
service::new_chain_ops::<
|
||||
service::kusama_runtime::RuntimeApi,
|
||||
service::KusamaExecutor,
|
||||
>(config)
|
||||
)
|
||||
} else if chain_spec.is_westend() {
|
||||
runner.run_subcommand(subcommand, |config|
|
||||
service::new_chain_ops::<
|
||||
service::westend_runtime::RuntimeApi,
|
||||
service::WestendExecutor,
|
||||
>(config)
|
||||
)
|
||||
} else {
|
||||
runner.run_subcommand(subcommand, |config|
|
||||
service::new_chain_ops::<
|
||||
service::polkadot_runtime::RuntimeApi,
|
||||
service::PolkadotExecutor,
|
||||
>(config)
|
||||
)
|
||||
}
|
||||
runner.async_run(|mut config| {
|
||||
let (client, _, import_queue, task_manager) = service::new_chain_ops(&mut config)?;
|
||||
Ok((cmd.run(client, import_queue), task_manager))
|
||||
})
|
||||
},
|
||||
Some(Subcommand::ExportBlocks(cmd)) => {
|
||||
let runner = cli.create_runner(cmd)?;
|
||||
let chain_spec = &runner.config().chain_spec;
|
||||
|
||||
set_default_ss58_version(chain_spec);
|
||||
|
||||
runner.async_run(|mut config| {
|
||||
let (client, _, _, task_manager) = service::new_chain_ops(&mut config)?;
|
||||
Ok((cmd.run(client, config.database), task_manager))
|
||||
})
|
||||
},
|
||||
Some(Subcommand::ExportState(cmd)) => {
|
||||
let runner = cli.create_runner(cmd)?;
|
||||
let chain_spec = &runner.config().chain_spec;
|
||||
|
||||
set_default_ss58_version(chain_spec);
|
||||
|
||||
runner.async_run(|mut config| {
|
||||
let (client, _, _, task_manager) = service::new_chain_ops(&mut config)?;
|
||||
Ok((cmd.run(client, config.chain_spec), task_manager))
|
||||
})
|
||||
},
|
||||
Some(Subcommand::ImportBlocks(cmd)) => {
|
||||
let runner = cli.create_runner(cmd)?;
|
||||
let chain_spec = &runner.config().chain_spec;
|
||||
|
||||
set_default_ss58_version(chain_spec);
|
||||
|
||||
runner.async_run(|mut config| {
|
||||
let (client, _, import_queue, task_manager) = service::new_chain_ops(&mut config)?;
|
||||
Ok((cmd.run(client, import_queue), task_manager))
|
||||
})
|
||||
},
|
||||
Some(Subcommand::PurgeChain(cmd)) => {
|
||||
let runner = cli.create_runner(cmd)?;
|
||||
runner.sync_run(|config| cmd.run(config.database))
|
||||
},
|
||||
Some(Subcommand::Revert(cmd)) => {
|
||||
let runner = cli.create_runner(cmd)?;
|
||||
let chain_spec = &runner.config().chain_spec;
|
||||
|
||||
set_default_ss58_version(chain_spec);
|
||||
|
||||
runner.async_run(|mut config| {
|
||||
let (client, backend, _, task_manager) = service::new_chain_ops(&mut config)?;
|
||||
Ok((cmd.run(client, backend), task_manager))
|
||||
})
|
||||
},
|
||||
Some(Subcommand::ValidationWorker(cmd)) => {
|
||||
sc_cli::init_logger("");
|
||||
@@ -196,19 +230,9 @@ pub fn run() -> Result<()> {
|
||||
|
||||
set_default_ss58_version(chain_spec);
|
||||
|
||||
if chain_spec.is_kusama() {
|
||||
runner.sync_run(|config| {
|
||||
cmd.run::<service::kusama_runtime::Block, service::KusamaExecutor>(config)
|
||||
})
|
||||
} else if chain_spec.is_westend() {
|
||||
runner.sync_run(|config| {
|
||||
cmd.run::<service::westend_runtime::Block, service::WestendExecutor>(config)
|
||||
})
|
||||
} else {
|
||||
runner.sync_run(|config| {
|
||||
cmd.run::<service::polkadot_runtime::Block, service::PolkadotExecutor>(config)
|
||||
})
|
||||
}
|
||||
runner.sync_run(|config| {
|
||||
cmd.run::<service::kusama_runtime::Block, service::KusamaExecutor>(config)
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user