12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- // This file is part of Substrate.
- // Copyright (C) 2018-2020 Parity Technologies (UK) Ltd.
- // SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
- // This program is free software: you can redistribute it and/or modify
- // it under the terms of the GNU General Public License as published by
- // the Free Software Foundation, either version 3 of the License, or
- // (at your option) any later version.
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU General Public License for more details.
- // You should have received a copy of the GNU General Public License
- // along with this program. If not, see <https://www.gnu.org/licenses/>.
- use sc_cli::{KeySubcommand, RunCmd, SignCmd, VanityCmd, VerifyCmd};
- use structopt::StructOpt;
- /// An overarching CLI command definition.
- #[derive(Debug, StructOpt)]
- pub struct Cli {
- /// Possible subcommand with parameters.
- #[structopt(subcommand)]
- pub subcommand: Option<Subcommand>,
- #[allow(missing_docs)]
- #[structopt(flatten)]
- pub run: RunCmd,
- }
- /// Possible subcommands of the main binary.
- #[derive(Debug, StructOpt)]
- pub enum Subcommand {
- /// Key management cli utilities
- Key(KeySubcommand),
- /// The custom inspect subcommmand for decoding blocks and extrinsics.
- #[structopt(
- name = "inspect",
- about = "Decode given block or extrinsic using current native runtime."
- )]
- Inspect(node_inspect::cli::InspectCmd),
- /// The custom benchmark subcommmand benchmarking runtime pallets.
- #[structopt(name = "benchmark", about = "Benchmark runtime pallets.")]
- Benchmark(frame_benchmarking_cli::BenchmarkCmd),
- /// Verify a signature for a message, provided on STDIN, with a given (public or secret) key.
- Verify(VerifyCmd),
- /// Generate a seed that provides a vanity address.
- Vanity(VanityCmd),
- /// Sign a message, with a given (secret) key.
- Sign(SignCmd),
- /// Build a chain specification.
- BuildSpec(sc_cli::BuildSpecCmd),
- /// Build a chain specification with a light client sync state.
- BuildSyncSpec(sc_cli::BuildSyncSpecCmd),
- /// Validate blocks.
- CheckBlock(sc_cli::CheckBlockCmd),
- /// Export blocks.
- ExportBlocks(sc_cli::ExportBlocksCmd),
- /// Export the state of a given block into a chain spec.
- ExportState(sc_cli::ExportStateCmd),
- /// Import blocks.
- ImportBlocks(sc_cli::ImportBlocksCmd),
- /// Remove the whole chain.
- PurgeChain(sc_cli::PurgeChainCmd),
- /// Revert the chain to a previous state.
- Revert(sc_cli::RevertCmd),
- }
|