1. Sep 01, 2020
  2. Aug 20, 2020
    • Web3 Philosopher's avatar
      Merge Subkey into sc-cli (#4954) · 6e098a10
      Web3 Philosopher authored
      * draft
      
      * revert
      
      * WIP
      
      * all that remains is tests
      
      * update Cargo.lock
      
      * tests WIP
      
      * WIP refactor node-template-runtime and node-runtime
      
      * implments sc_cli::RuntimeAdapter for node_template_runtime::Runtime
      
      * final draft
      
      * fix update_config for subcommands
      
      * proper AccountId decoding
      
      * test-runtime tests
      
      * revert
      
      * move RuntimeAdapter to cli-utils
      
      * use &'static str for TryFrom::<&'a str>::Error for Ss58AddressFormat
      
      * tests
      
      * add frame-system to sc-cli dev-dependencies
      
      * add frame-system to sc-cli dev-dependencies
      
      * fix ui test
      
      * wip
      
      * fixed inspect test
      
      * bump impl version
      
      * bump impl version, fixx spaces remove todos
      
      * pallet-balances-cli, rustc for some reason cannot resolve pallet_balances_cli in node-cli 😩
      
      * wip
      
      * Subcommand::run takes &self
      
      * can't believe i missed that 🤦🏾‍♂️
      
      * bump wasm-bindgen for some reason
      
      * adds key subcommand, rename generate-node-key to generate-node-id
      
      * cargo update and crossed fingers 🤞🏽
      
      
      
      * update ui test
      
      * update more ui tests
      
      * should be all good now
      
      * revert subkey change
      
      * revert subkey change
      
      * adds frame-utilities-cli
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      
      * removes frame from sc-cli, fix license
      
      * my editor and ci disagrees on line width
      
      * bump spec version
      
      * turn off default features for parity-scale-codec
      
      * enable full_crypto feature for sp-core in cli-utils
      
      * merge frame-utilities-cli with pallet-balances-cli
      
      * remove full_crypto feature from sp_core in cli-utils
      
      * bump Cargo.lock
      
      * cli-utils -> frame-utils
      
      * rename BlockNumber to GenericNumber, fix spaces
      
      * fix spaces
      
      * construct additional_signed manually
      
      * sign test
      
      * remove unused vars
      
      * implement subkey with frame-utilities-cli and sc_cli
      
      * fix moduleid test
      
      * CI and clion disagree on line widths
      
      * adds associated Params type to SignedExtensionProvider
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      
      * move some code around
      
      * removes unneccesary generic params
      
      * moves module_id back to frame_utilities_cli
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * remove print_ext
      
      * remove MaybeDisplay from pallet_balances::Trait::Balance
      
      * a lot of stuff tbh
      
      * adds ExtrasParamsBuilder
      
      * remove tests for ModuleIdCmd
      
      * address comments from PR
      
      * bump Cargo.lock
      
      * manually insert key into keystore
      
      * remove unnecessary SharedParams
      
      * add validation to vanity pattern, remove unused arg
      
      * remove SharedParams from Sign, Vanity, Verify
      
      * remove SharedParams from ModuleIdCmd, remove expect from Verify, new line to Cargo.toml
      
      * remove SharedParams from InsertCmd
      
      * 🤦🏾
      
      ‍♂️
      
      * deleted prometheus.yml
      
      * move a few things around
      
      * fix vanity test
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      6e098a10
  3. Jul 28, 2020
  4. Jul 22, 2020
    • Ashley's avatar
      Remove the service builder (#6557) · 08c3d65c
      Ashley authored
      
      
      * :)
      
      * Slight tidy
      
      * Remove ServiceBuilderCommand
      
      * Remove whitespace
      
      * Keep task manager alive for check_block/import_blocks
      
      * Pass task_manager to run_until_exit
      
      * WIP
      
      * WIP
      
      * Get rid of the macros
      
      * Simplify a few chain components creation APIs related to the service
      
      * Fix basic-authorship doc tests
      
      * Remove DefaultQueue
      
      * Update client/service/src/builder.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Move ExecutionExtensions comment around
      
      * Remove unused BlakeTwo256
      
      * Add sc-prelude
      
      * Rename sc-prelude to sc-service-prelude
      
      * Rename to sc-service-types
      
      * Improve service types
      
      * Fix line widths
      
      * Remove sc-service-types and move type definitions to crates
      
      * Update bin/node-template/node/src/service.rs
      
      Co-authored-by: default avatarSeun Lanlege <[email protected]>
      
      * Add TLightClientWithHash
      
      * Rework types
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarSeun Lanlege <[email protected]>
      08c3d65c
  5. Jul 02, 2020
  6. Jun 30, 2020
    • Ashley's avatar
      Remove the service, replacing it with a struct of individual chain components (#6352) · ec2ab797
      Ashley authored
      * WIP
      
      * Making progress
      
      * Almost ready
      
      * Get service tests compiling
      
      * Fix node screenshot
      
      * Line widths
      
      * Fix node cli tests
      
      * Fix node cli warning
      
      * ChainComponents -> ServiceComponents, fix tests
      
      * make spawn_handle public
      
      * Remove spawnnamed impl for taskmanager
      
      * Move the keep alive stuff to the task manager
      
      * Move the telemetry, base path, rpc keep_alive to the service builder
      
      * Make the task manager keep alive an internal detail
      
      * Rewrite the browser start_client future
      
      * Remove run_node etc
      
      * Revert my personal changes to browser-demo/build.sh
      
      * use |config|
      
      * Add a runtime_version function to SubstrateCli
      
      * Reexport role and runtime version from sc cli
      
      * Update Cargo.lock
      
      * runtime_version -> native_runtime_version
      
      * Pass chain spec to native_runtime_version for polkadot
      
      * Fix line widths
      
      * Traitify ServiceComponents Client
      ec2ab797
  7. May 18, 2020
  8. May 15, 2020
  9. May 13, 2020
    • Bastian Köcher's avatar
      Handle clap errors manually and don't reset `SIGPIPE` (#6012) · 525dc61d
      Bastian Köcher authored
      Instead of resetting `SIGPIPE` to the system default handler, we now
      handle a clap error manually and ignore any error when writing to
      `stdout`/`stderr`. In this way, the node does not silently stops when it
      encounters a `SIGPIPE` in normal mode and we still support piping of the
      cli output.
      525dc61d
  10. May 05, 2020
  11. Apr 13, 2020
  12. Apr 09, 2020
  13. Apr 07, 2020
    • Cecile Tonglet's avatar
      CLI: refactoring: remove Options from sc_service::Configuration's fields (#5271) · b0efaa2c
      Cecile Tonglet authored
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Rename IntoConfiguration to CliConfiguration
      
      * Renamed into_configuration to create_configuration
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Move keystore params to its own module
      
      * Use in-memory keystore even for build-spec
      
      * Enforce proper value for node name
      
      * dev_key_seed
      
      * Telemetry endpoints
      
      * rustfmt
      
      * Converted all RunCmd
      
      * rustfmt
      
      * Added export-blocks
      
      * Missed something
      
      * Removed config_path in NetworkConfiguration (not used)
      
      * Fixed warnings
      
      * public_addresses is used but never set, keeping it
      
      * Merge Configuration.node and NetworkConfiguration.node_name
      
      ...because they are the same thing
      
      * Added: import-blocks
      
      * Adding a proc_macro to help impl SubstrateCli
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Re-export spec_factory from sc_cli
      
      * Re-added all the commands
      
      * Refactored node_key_params
      
      * Fixed previous refucktoring
      
      * Clean-up and removed full_version()
      
      * Renamed get_is_dev to not confuse with Configuration field
      
      * Fixed sc-cli-derive example
      
      * Fixing tests
      
      * Fixing tests and removing some (will re-add later)
      
      * Fixing more tests
      
      * Removes the need of type parameter
      
      * Converting bin/node and simplifying API
      
      * Converting more
      
      * Converting last command
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Fixing tests and added default for WasmExecutionMethod
      
      * Fixing stuff
      
      * Fixed something I broke oops
      
      * Update Cargo.lock
      
      * Moving things around
      
      * Convert everything to Result
      
      * Added new macros to simplify the impl of CliConfiguration
      
      * Added a macro to generate CliConfiguration automatically for subcommands
      
      * Revert... too many macros (this one is not really useful)
      
      This reverts commit 9c516dd3
      
      .
      
      * Renamed is_dev to get_is_dev
      
      Good enough for now
      
      * Fixed name roles (this is plural, not singular)
      
      * Clean-up
      
      * Re-export NodeKeyConfig and TelemetryEndpoints from sc_service
      
      * Improve styling/formatting
      
      * Added copyrights
      
      * Added doc and fixed warnings
      
      * Added myself to code owners
      
      * Yes it is needed according to the history
      
      * Revert formatting
      
      * Fixing conflict
      
      * Updated build.rs
      
      * Cargo.lock
      
      * Clean-up
      
      * Update client/cli-derive/Cargo.toml
      
      Co-Authored-By: default avatarSeun Lanlege <[email protected]>
      
      * Fail if using proc_macro and build.rs is not set properly
      
      * Dropped all get_ in front of methods
      
      * Clean-up
      
      * Fixing proc macro missing env var
      
      * Get the configuration inside the Runtime (needed for polkadot)
      
      * Clean-up
      
      * Get is_dev from argument like the others
      
      * Get chain ID instead of chain spec from shared params
      
      * &self is passed to spec_factory/load_spec
      
      * Wrong text
      
      * Fix example
      
      * Officialize macro and made a cool doc
      
      * Renamed spec_factory to load_spec (substrate_cli_configuration)
      
      * Removed not so useful ChainSpec
      
      * Renamed SubstrateCLI to SubstrateCli
      
      * Added changelog for impl_version being full now
      
      * Renamed Runtime to Runner
      
      * Update changelog to show example
      
      * Removed option on database cache size
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Fix on removal of option
      
      * typo
      
      * Clean-up imports
      
      * Added info in Cargo.toml
      
      * typo
      
      * remarks
      
      * Moved function for build.rs to substrate-build-script-utils
      
      * Fixed example & test of cli-derive
      
      * Moved function for build.rs to substrate-build-script-utils
      
      * Renamed substrate_cli_configuration to substrate_cli oops
      
      It implements SubstrateCli not CliConfiguration!
      
      * Added documentation and wrapper macro
      
      * Removed option on database cache size
      
      * Removed option on database cache size
      
      * Clean-up
      
      * Reduce risk of errors due to typos
      
      * Removed option on database cache size
      
      * Added NOTE as suggested
      
      * Added doc as suggested
      
      * Fixed test
      
      * typo
      
      * renamed runtime to runner
      
      * Fixed weird argument
      
      * More commas
      
      * Moved client/cli-derive to client/cli/derive
      
      * Added 7 tests for the macros
      
      * Improve error message
      
      * Upgrade assert_cmd
      
      * Fixing missing stuff
      
      * Fixed unused import
      
      * Improve SubstrateCli doc
      
      * Applied suggestions
      
      * Fix and clean-up imports
      
      * Started replacing macros WIP
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Started removing substrate_cli
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      
      
      Parent branch: origin/master
      
      * fixed bug introduced while refactoring
      
      * Renamed NetworkConfigurationParams to NetworkParams for consistency sake
      
      * Fixed test
      
      * Update client/cli/src/commands/runcmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/runcmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/export_blocks_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/check_block_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update bin/node/cli/src/command.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update bin/node/cli/src/command.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/export_blocks_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Revert "Update client/cli/src/commands/export_blocks_cmd.rs"
      
      This reverts commit 59067769.
      
      * Revert "Update client/cli/src/commands/check_block_cmd.rs"
      
      This reverts commit f705f42b.
      
      * Revert "Update client/cli/src/commands/export_blocks_cmd.rs"
      
      This reverts commit 8d57c055.
      
      * Revert "Update client/cli/src/commands/runcmd.rs"
      
      This reverts commit 93e74cf5.
      
      * Revert "Update client/cli/src/commands/runcmd.rs"
      
      This reverts commit 11d527ba
      
      .
      
      * Update client/cli/src/commands/export_blocks_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/import_blocks_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/purge_chain_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Changed ::sc_cli to $crate in the macro
      
      * fixed tests
      
      * fixed conflicts
      
      * Fixing test
      
      * Update client/cli/src/commands/purge_chain_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/params/pruning_params.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Remove comment as suggested
      
      * Apply suggestion
      
      * Update client/cli/src/commands/purge_chain_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/purge_chain_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/purge_chain_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update utils/frame/benchmarking-cli/src/command.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/runner.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/runner.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/runner.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/params/pruning_params.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/params/node_key_params.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/params/network_params.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/config.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Added doc
      
      * Fixed error introduced after applying suggestion
      
      * Revert "Update client/cli/src/params/pruning_params.rs"
      
      This reverts commit 0574d06a
      
      .
      
      * Print error
      
      * Apply suggestions from code review
      
      * Remove useless Results
      
      * Fixed CI failing on polkadot approval
      
      Co-authored-by: default avatarSeun Lanlege <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      b0efaa2c
  14. Apr 03, 2020
    • Pierre Krieger's avatar
      Split the Roles in three types (#5520) · 525cb7a1
      Pierre Krieger authored
      
      
      * Split the Roles bitfield in three
      
      * Forgot to include some changes
      
      * Fix cli test
      
      * More test fixes
      
      * Oh God, merging master broke other tests
      
      * Didn't run the doctests
      
      * Address review
      
      * I'm trying to fix the build blindly because it's taking a good hour to compile on my machine
      
      * Address some review
      
      * Also update the peerset's API to make sense
      
      * Fix peerset tests
      
      * Fix browser node
      
      * client: distinguish between local and network authority
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      525cb7a1
  15. Mar 29, 2020
  16. Mar 12, 2020
  17. Mar 11, 2020
  18. Feb 21, 2020
    • Cecile Tonglet's avatar
      Add tests & Service's Configuration has optional fields that shouldn't be optional (#4842) · 97ad8026
      Cecile Tonglet authored
      Related to #4776 
      Related to https://github.com/paritytech/polkadot/pull/832
      
      To summarize the changes:
      1. I did not manage to validate with types the service's Configuration. But I did reduce the possibility of errors by moving all the "fill" functions to their respective structopts
      2. I split params.rs to multiple modules: one module params for just CLI parameters and one module commands for CLI subcommands (and RunCmd). Every command and params are in their own file so things are grouped better together and easier to remove
      3. I removed the run and run_subcommand helpers as they are not helping much anymore. Running a command is always a set of 3 commands: 1. init 2. update config 3. run. This still allow the user to change the config before arguments get parsed or right after.
      4. I added tests for all subcommands.
      5. [deleted]
      
      Overall the aim is to improve the situation with the Configuration and the optional parameters, add tests, make the API more consistent and simpler.
      97ad8026
  19. Feb 19, 2020
    • Bastian Köcher's avatar
      Consolidate frame benchmarking into a frame crate (#4977) · c077a2b5
      Bastian Köcher authored
      This prs cleans up some of the frame benchmarking stuff:
      - Move CLI into `frame-benchmarking-cli`. No frame related CLI should
      exists in the default Substrate CLI.
      - Move all traits and types related to frame benchmarking into the
      `frame-benchmarking` trait. Frame types should be isolated in Frame.
      c077a2b5
  20. Feb 18, 2020
    • Tomasz Drwięga's avatar
      Inspection extension to node CLI (#4697) · d9952dd5
      Tomasz Drwięga authored
      * Initial inspect.
      
      * WiP
      
      * Add parsing tests.
      
      * Finalize CLI.
      
      * Update to latest substrate.
      
      * Remove unused imports.
      
      * Support ImportParams as well, to get the right pruning setting.
      
      * Mention in docs that hash is no 0x.
      
      * Move bytes above extrinsics.
      
      * Switch to fill helper from sc_cli.
      
      * Remove overwrite.
      
      * Fix error.
      
      * Fix error message.
      
      * Remove extra allow.
      
      * init_config
      d9952dd5
  21. Feb 11, 2020
  22. Feb 07, 2020
  23. Feb 06, 2020
    • Cecile Tonglet's avatar
      CLI improvements & fixes (#4812) · 099cd0f2
      Cecile Tonglet authored
      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 
      099cd0f2
    • Marcio Diaz's avatar
      faf608ee
  24. Jan 31, 2020
  25. Jan 30, 2020
    • Cecile Tonglet's avatar
      CLI API refactoring and improvement (#4692) · 26e37ff6
      Cecile Tonglet authored
      It changes the way we extended the CLI functionalities of substrate to allow more flexibility. (If this was not clear, here is another version: it changes the `sc_cli` API to allow more flexibility).
      
      This touches a few important things:
       - the startup of the async task with tokei:
          This was in node and node-template and I moved it to substrate. The idea is to have 1 time the code that handles unix signals (SIGTERM and SIGINT) properly. It is however possible to make this more generic to wait for a future instead and provide only a helper for the basic handling of SIGTERM and SIGINT.
       - increased the version of structopt and tokei
       - no more use of structopt internal's API
       - less use of generics
      
      Related to #4643 and https://github.com/paritytech/cumulus/pull/42: the implementation of "into_configuration" and "get_config" are similar but with better flexibility so it is now possible in cumulus to have the command-line arguments only of the run command for polkadot if we want
      
      Related to https://github.com/paritytech/cumulus/issues/24 and https://github.com/paritytech/cumulus/issues/34 : it will now be possible to make a configuration struct for polkadot with some overrides of the default parameters much more easily.
      26e37ff6