Skip to content

Commit

Permalink
Set clap color to Auto
Browse files Browse the repository at this point in the history
  • Loading branch information
chevdor committed Feb 7, 2023
1 parent f3cfa4b commit b0b8303
Show file tree
Hide file tree
Showing 10 changed files with 88 additions and 155 deletions.
1 change: 1 addition & 0 deletions cli/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
mod opts;

use clap::{crate_name, crate_version, Parser};
// use color_eyre::owo_colors::OwoColorize;
use env_logger::Env;
use log::info;
use opts::*;
Expand Down
10 changes: 5 additions & 5 deletions cli/src/opts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use wasm_loader::{OnchainBlock, Source};

/// `subwasm` allows fetching, parsing and calling some methods on WASM runtimes of Substrate based chains.
#[derive(Parser)]
#[clap(version = crate_version!(), author = crate_authors!(), color=ColorChoice::Always)]
#[clap(version = crate_version!(), author = crate_authors!(), color=ColorChoice::Auto)]
pub struct Opts {
/// Output as json
#[clap(short, long, global = true)]
Expand Down Expand Up @@ -138,23 +138,23 @@ pub struct MetaOpts {
#[derive(Parser)]
pub struct DiffOpts {
/// The first source
#[clap(index = 1, alias = "src-a", default_value = "runtime_000.wasm", required_unless_present = "chain-a")]
#[clap(index = 1, alias = "src-a", default_value = "runtime_000.wasm", required_unless_present = "chain_a")]
pub src_a: Source,

/// Provide the name of a chain and a random url amongst a list of known nodes will be used.
/// If you pass a valid --chain, --url will be ignored
/// --chain local = http://localhost:9933
#[clap(long, short('a'), conflicts_with = "src-a")]
#[clap(long, short('a'), conflicts_with = "src_a")]
pub chain_a: Option<ChainInfo>,

/// The second source
#[clap(index = 2, alias = "src-b", default_value = "runtime_001.wasm", required_unless_present = "chain-b")]
#[clap(index = 2, alias = "src-b", default_value = "runtime_001.wasm", required_unless_present = "chain_b")]
pub src_b: Source,

/// Provide the name of a chain and a random url amongst a list of known nodes will be used.
/// If you pass a valid --chain, --url will be ignored
/// --chain local = http://localhost:9933
#[clap(long, short('b'), conflicts_with = "src-b")]
#[clap(long, short('b'), conflicts_with = "src_b")]
pub chain_b: Option<ChainInfo>,
}

Expand Down
41 changes: 16 additions & 25 deletions doc/usage.adoc
Original file line number Diff line number Diff line change
@@ -1,28 +1,19 @@
subwasm 0.18.0
chevdor <chevdor@gmail.com>:Wilfried Kopp <wilfried@parity.io
`subwasm` allows fetching, parsing and calling some methods on WASM runtimes of Substrate based
chains
`subwasm` allows fetching, parsing and calling some methods on WASM runtimes of Substrate based chains

USAGE:
subwasm [OPTIONS] <SUBCOMMAND>
Usage: subwasm [OPTIONS] <COMMAND>

OPTIONS:
-h, --help Print help information
-j, --json Output as json
-q, --quiet Less output
-V, --version Print version information
Commands:
get Get/Download the runtime wasm from a running node through rpc
info The `info` command returns summarized information about a runtime
version The `version` command returns summarized information about the versions of a runtime
metadata Returns the metadata as a json object. You may also use the "meta" alias
diff Compare 2 runtimes
compress Compress a given runtime wasm file. You will get an error if you try compressing a runtime that is already compressed
decompress Decompress a given runtime wasm file. You may pass a runtime that is uncompressed already. In that case, you will get the same content as output. This is useful if you want to decompress "no matter what" and don't really know whether the input will be compressed or not
help Print this message or the help of the given subcommand(s)

SUBCOMMANDS:
compress Compress a given runtime wasm file. You will get an error if you try
compressing a runtime that is already compressed
decompress Decompress a given runtime wasm file. You may pass a runtime that is
uncompressed already. In that case, you will get the same content as output.
This is useful if you want to decompress "no matter what" and don't really
know whether the input will be compressed or not
diff Compare 2 runtimes
get Get/Download the runtime wasm from a running node through rpc
help Print this message or the help of the given subcommand(s)
info The `info` command returns summarized information about a runtime
metadata Returns the metadata as a json object. You may also use the "meta" alias
version The `version` command returns summarized information about the versions of a
runtime
Options:
-j, --json Output as json
-q, --quiet Less output
-h, --help Print help information
-V, --version Print version information
22 changes: 9 additions & 13 deletions doc/usage_compress.adoc
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
subwasm-compress 0.18.0
chevdor <chevdor@gmail.com>:Wilfried Kopp <wilfried@parity.io
Compress a given runtime wasm file. You will get an error if you try compressing a runtime that is
already compressed
Compress a given runtime wasm file. You will get an error if you try compressing a runtime that is already compressed

USAGE:
subwasm compress [OPTIONS] <INPUT> <OUTPUT>
Usage: subwasm compress [OPTIONS] <INPUT> <OUTPUT>

ARGS:
<INPUT> The path of uncompressed wasm file to load
<OUTPUT> The path of the file where the compressed runtime will be stored
Arguments:
<INPUT> The path of uncompressed wasm file to load
<OUTPUT> The path of the file where the compressed runtime will be stored

OPTIONS:
-h, --help Print help information
-j, --json Output as json
-V, --version Print version information
Options:
-j, --json Output as json
-h, --help Print help information
-V, --version Print version information
23 changes: 9 additions & 14 deletions doc/usage_decompress.adoc
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
subwasm-decompress 0.18.0
chevdor <chevdor@gmail.com>:Wilfried Kopp <wilfried@parity.io
Decompress a given runtime wasm file. You may pass a runtime that is uncompressed already. In that
case, you will get the same content as output. This is useful if you want to decompress "no matter
what" and don't really know whether the input will be compressed or not
Decompress a given runtime wasm file. You may pass a runtime that is uncompressed already. In that case, you will get the same content as output. This is useful if you want to decompress "no matter what" and don't really know whether the input will be compressed or not

USAGE:
subwasm decompress [OPTIONS] <INPUT> <OUTPUT>
Usage: subwasm decompress [OPTIONS] <INPUT> <OUTPUT>

ARGS:
<INPUT> The path of the compressed or uncompressed wasm file to load
<OUTPUT> The path of the file where the uncompressed runtime will be stored
Arguments:
<INPUT> The path of the compressed or uncompressed wasm file to load
<OUTPUT> The path of the file where the uncompressed runtime will be stored

OPTIONS:
-h, --help Print help information
-j, --json Output as json
-V, --version Print version information
Options:
-j, --json Output as json
-h, --help Print help information
-V, --version Print version information
27 changes: 10 additions & 17 deletions doc/usage_diff.adoc
Original file line number Diff line number Diff line change
@@ -1,21 +1,14 @@
subwasm-diff 0.18.0
chevdor <chevdor@gmail.com>:Wilfried Kopp <wilfried@parity.io
Compare 2 runtimes

USAGE:
subwasm diff [OPTIONS] [ARGS]
Usage: subwasm diff [OPTIONS] [SRC_A] [SRC_B]

ARGS:
<SRC_A> The first source [default: runtime_000.wasm]
<SRC_B> The second source [default: runtime_001.wasm]
Arguments:
[SRC_A] The first source [default: runtime_000.wasm]
[SRC_B] The second source [default: runtime_001.wasm]

OPTIONS:
-a, --chain-a <CHAIN_A> Provide the name of a chain and a random url amongst a list of known
nodes will be used. If you pass a valid --chain, --url will be
ignored --chain local = http://localhost:9933
-b, --chain-b <CHAIN_B> Provide the name of a chain and a random url amongst a list of known
nodes will be used. If you pass a valid --chain, --url will be
ignored --chain local = http://localhost:9933
-h, --help Print help information
-j, --json Output as json
-V, --version Print version information
Options:
-a, --chain-a <CHAIN_A> Provide the name of a chain and a random url amongst a list of known nodes will be used. If you pass a valid --chain, --url will be ignored --chain local = http://localhost:9933
-j, --json Output as json
-b, --chain-b <CHAIN_B> Provide the name of a chain and a random url amongst a list of known nodes will be used. If you pass a valid --chain, --url will be ignored --chain local = http://localhost:9933
-h, --help Print help information
-V, --version Print version information
33 changes: 10 additions & 23 deletions doc/usage_get.adoc
Original file line number Diff line number Diff line change
@@ -1,27 +1,14 @@
subwasm-get 0.18.0
chevdor <chevdor@gmail.com>:Wilfried Kopp <wilfried@parity.io
Get/Download the runtime wasm from a running node through rpc

USAGE:
subwasm get [OPTIONS] [URL]
Usage: subwasm get [OPTIONS] [URL]

ARGS:
<URL> The node url including (mandatory) the port number. Example: ws://localhost:9944 or
http://localhost:9933 [default: http://localhost:9933]
Arguments:
[URL] The node url including (mandatory) the port number. Example: ws://localhost:9944 or http://localhost:9933 [default: http://localhost:9933]

OPTIONS:
-b, --block <BLOCK> The optional block where to fetch the runtime. That allows fetching
older runtimes but you will need to connect to archive nodes.
Currently, you must pass a block hash. Passing the block numbers is not
supported
--chain <CHAIN> Provide the name of a chain and a random url amongst a list of known
nodes will be used. If you pass a valid --chain, --url will be ignored
--chain local = http://localhost:9933
-h, --help Print help information
-j, --json Output as json
-o, --output <OUTPUT> You may specifiy the output filename where the runtime will be saved.
If not provided, we will figure out an appropriate default name based
on a counter: runtime_NNN.wasm where NNN is incrementing to make sure
you do not override previous runtime. If you specify an existing file
as output, it will be overwritten
-V, --version Print version information
Options:
--chain <CHAIN> Provide the name of a chain and a random url amongst a list of known nodes will be used. If you pass a valid --chain, --url will be ignored --chain local = http://localhost:9933
-j, --json Output as json
-b, --block <BLOCK> The optional block where to fetch the runtime. That allows fetching older runtimes but you will need to connect to archive nodes. Currently, you must pass a block hash. Passing the block numbers is not supported
-o, --output <OUTPUT> You may specifiy the output filename where the runtime will be saved. If not provided, we will figure out an appropriate default name based on a counter: runtime_NNN.wasm where NNN is incrementing to make sure you do not override previous runtime. If you specify an existing file as output, it will be overwritten
-h, --help Print help information
-V, --version Print version information
27 changes: 9 additions & 18 deletions doc/usage_info.adoc
Original file line number Diff line number Diff line change
@@ -1,22 +1,13 @@
subwasm-info 0.18.0
chevdor <chevdor@gmail.com>:Wilfried Kopp <wilfried@parity.io
The `info` command returns summarized information about a runtime

USAGE:
subwasm info [OPTIONS] [SOURCE]
Usage: subwasm info [OPTIONS] [SOURCE]

ARGS:
<SOURCE> The wasm file to load. It can be a path on your local filesystem such as
/tmp/runtime.wasm or a node url such as http://localhost:9933 or
ws://localhost:9944 [default: runtime_000.wasm]
Arguments:
[SOURCE] The wasm file to load. It can be a path on your local filesystem such as /tmp/runtime.wasm or a node url such as http://localhost:9933 or ws://localhost:9944 [default: runtime_000.wasm]

OPTIONS:
-b, --block <BLOCK> The optional block where to fetch the runtime. That allows fetching older
runtimes but you will need to connect to archive nodes. Currently, you
must pass a block hash. Passing the block numbers is not supported
--chain <CHAIN> Provide the name of a chain and a random url amongst a list of known
nodes will be used. If you pass a valid --chain, --url will be ignored
--chain local = http://localhost:9933
-h, --help Print help information
-j, --json Output as json
-V, --version Print version information
Options:
--chain <CHAIN> Provide the name of a chain and a random url amongst a list of known nodes will be used. If you pass a valid --chain, --url will be ignored --chain local = http://localhost:9933
-j, --json Output as json
-b, --block <BLOCK> The optional block where to fetch the runtime. That allows fetching older runtimes but you will need to connect to archive nodes. Currently, you must pass a block hash. Passing the block numbers is not supported
-h, --help Print help information
-V, --version Print version information
32 changes: 10 additions & 22 deletions doc/usage_meta.adoc
Original file line number Diff line number Diff line change
@@ -1,26 +1,14 @@
subwasm-metadata 0.18.0
chevdor <chevdor@gmail.com>:Wilfried Kopp <wilfried@parity.io
Returns the metadata as a json object. You may also use the "meta" alias

USAGE:
subwasm metadata [OPTIONS] [SOURCE]
Usage: subwasm metadata [OPTIONS] [SOURCE]

ARGS:
<SOURCE> The wasm file to load. It can be a path on your local filesystem such as
/tmp/runtime.wasm or a node url such as http://localhost:9933 or
ws://localhost:9944 [default: runtime_000.wasm]
Arguments:
[SOURCE] The wasm file to load. It can be a path on your local filesystem such as /tmp/runtime.wasm or a node url such as http://localhost:9933 or ws://localhost:9944 [default: runtime_000.wasm]

OPTIONS:
-b, --block <BLOCK> The optional block where to fetch the runtime. That allows fetching
older runtimes but you will need to connect to archive nodes.
Currently, you must pass a block hash. Passing the block numbers is not
supported
--chain <CHAIN> Provide the name of a chain and a random url amongst a list of known
nodes will be used. If you pass a valid --chain, --url will be ignored
--chain local = http://localhost:9933
-h, --help Print help information
-j, --json Output as json
-m, --module <MODULE> Without this flag, the metadata command display the list of all
modules. Using this flag, you will only see the module of your choice
and a few details about it
-V, --version Print version information
Options:
--chain <CHAIN> Provide the name of a chain and a random url amongst a list of known nodes will be used. If you pass a valid --chain, --url will be ignored --chain local = http://localhost:9933
-j, --json Output as json
-m, --module <MODULE> Without this flag, the metadata command display the list of all modules. Using this flag, you will only see the module of your choice and a few details about it
-b, --block <BLOCK> The optional block where to fetch the runtime. That allows fetching older runtimes but you will need to connect to archive nodes. Currently, you must pass a block hash. Passing the block numbers is not supported
-h, --help Print help information
-V, --version Print version information
27 changes: 9 additions & 18 deletions doc/usage_version.adoc
Original file line number Diff line number Diff line change
@@ -1,22 +1,13 @@
subwasm-version 0.18.0
chevdor <chevdor@gmail.com>:Wilfried Kopp <wilfried@parity.io
The `version` command returns summarized information about the versions of a runtime

USAGE:
subwasm version [OPTIONS] [SOURCE]
Usage: subwasm version [OPTIONS] [SOURCE]

ARGS:
<SOURCE> The wasm file to load. It can be a path on your local filesystem such as
/tmp/runtime.wasm or a node url such as http://localhost:9933 or
ws://localhost:9944 [default: runtime_000.wasm]
Arguments:
[SOURCE] The wasm file to load. It can be a path on your local filesystem such as /tmp/runtime.wasm or a node url such as http://localhost:9933 or ws://localhost:9944 [default: runtime_000.wasm]

OPTIONS:
-b, --block <BLOCK> The optional block where to fetch the runtime. That allows fetching older
runtimes but you will need to connect to archive nodes. Currently, you
must pass a block hash. Passing the block numbers is not supported
--chain <CHAIN> Provide the name of a chain and a random url amongst a list of known
nodes will be used. If you pass a valid --chain, --url will be ignored
--chain local = http://localhost:9933
-h, --help Print help information
-j, --json Output as json
-V, --version Print version information
Options:
--chain <CHAIN> Provide the name of a chain and a random url amongst a list of known nodes will be used. If you pass a valid --chain, --url will be ignored --chain local = http://localhost:9933
-j, --json Output as json
-b, --block <BLOCK> The optional block where to fetch the runtime. That allows fetching older runtimes but you will need to connect to archive nodes. Currently, you must pass a block hash. Passing the block numbers is not supported
-h, --help Print help information
-V, --version Print version information

0 comments on commit b0b8303

Please sign in to comment.