* add doc-only substrate entry point crate
* document a few more things
* add more
* fix width
* Update primitives/io/src/lib.rs
Co-authored-by: Gonçalo Pestana <g6pestana@gmail.com>
* add link
* update cargo toml file
* fix sp-io docs
* improve
* small update
* add license
* satisfy license job
* add a line about FRAME
* CI happy now
* make CI more happy
* Let the check run for the whole workspace
* Forward the substrate node again as default run
* update binary names
* upate verison test
* Fix fix fix
* Fix
* rename to substrate-node in more places
* Revert "rename to substrate-node in more places"
This reverts commit 66960f84a1b6f1f7c638b4040e28e9fbabb8adf5.
* fix
* Fix build pipeline
* Fix properly plus add some docs
---------
Co-authored-by: Gonçalo Pestana <g6pestana@gmail.com>
Co-authored-by: Bastian Köcher <info@kchr.de>
* Change copyright year to 2023 from 2022
* Fix incorrect update of copyright year
* Remove years from copy right header
* Fix remaining files
* Fix typo in a header and remove update-copyright.sh
* Run cargo fmt on the whole code base
* Second run
* Add CI check
* Fix compilation
* More unnecessary braces
* Handle weights
* Use --all
* Use correct attributes...
* Fix UI tests
* AHHHHHHHHH
* 🤦
* Docs
* Fix compilation
* 🤷
* Please stop
* 🤦 x 2
* More
* make rustfmt.toml consistent with polkadot
Co-authored-by: André Silva <andrerfosilva@gmail.com>
This fixes the handling of base-path when using `key insert`. Before
the base-path wasn't setup correctly, as done when starting a node. This
resulted in putting the keys into the wrong directory. This pr fixes
this by creating the correct base-path/config dir for the keystore.
Besides that it also removes the insert command from `subkey` as it
doesn't make that much sense. If requested, we could bring it back later.
* Adds support for inspecting a hex encoded public key
This adds support for inspecting hex encoded public keys to subkey. The
command looks like:
`subkey inspect --public 0xPUBLICHEX`
* Update client/cli/src/commands/utils.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Initial draft
* Add an iterator that helps us get most items
* Revert changes to grandpa
* Change fields to just be the grandpa authority set and babe epoch changes
* Only use the fields we need from the shared authority set
* Switch to RPC call
* Revert "Only use the fields we need from the shared authority set"
This reverts commit 6ede87b0c5fe53f251d7cb45951006a7dc8f9b83.
* Add babe_finalized_block_weight from `ashley-improve-sync-state-WIP-loading`
* Fix rpc test
* Move sync state rpc stuff into sc-sync-state-rpc
* Remove as_json_value and remove unwraps from sc-sync-state-rpc
* Add clone_inner to SharedAuthoritySet
* Fix printing of subkey when using the `--network` override
This fixes a bug where `--network` did not printed the account ss58 address for the
requested network. Basically we now always print all account ss58 addresses using the
requested network.
* Review comments
* Fixes test
* Update client/cli/src/commands/inspect.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Update client/cli/src/commands/utils.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Fix more tests
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* 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: Benjamin Kampmann <ben@gnunicorn.org>
* 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: Benjamin Kampmann <ben@gnunicorn.org>
* move some code around
* removes unneccesary generic params
* moves module_id back to frame_utilities_cli
* Apply suggestions from code review
Co-authored-by: Benjamin Kampmann <ben@gnunicorn.org>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* 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: Benjamin Kampmann <ben@gnunicorn.org>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Benjamin Kampmann <ben@parity.io>
This moves default values used in the Substrate code base when
initializing a service into a common trait. Currently this trait only
contains listen ports, but this could be extended in the future.
Essentially this will make overriding these values much easier for
Cumulus, where we have 2 nodes running in one binary.
* client: use appropriate ExecutionContext for sync/import
* client: remove dead code
* client: ExecutionContext: distinguish between own and foreign imports
* client: fix cli parameter doc
* Revert "client: ExecutionContext: distinguish between own and foreign imports"
This reverts commit 0fac11520704c364a82432c5b927e987ba043cdb.
* primitives: add docs for ExecutionContext
* cli: execution strategy docs
* cli: use different execution context for importing block on validator
* cli: remove defaults from execution context flags
* client: Replace `unsafe_rpc_expose` with an `RpcMethods` enum
which can be either Default, Safe or Unsafe. The idea is to have the
following:
| | --rpc-external=false | --rpc-external=true |
|--------------------- |------------------- |----------------- |
| --rpc-methods=Default | | unsafe calls denied |
| --rpc-methods=Safe | unsafe calls denied | unsafe calls denied |
| --rpc-methods=Unsafe | | |
Since the previous `unsafe-rpc-expose` option was confusing.
* client: Only warn against exposing externally unsafe RPC method set
* Apply suggestions from code review
Co-Authored-By: Cecile Tonglet <cecile.tonglet@cecton.com>
* cli: Rephrase doc comment for rpc_methods config
* Improve debuggability of build_spec_works
...by printing to stderr the stderr of the command. This is normally
suppressed for succesful tests but not for failing ones - if that's the
case then it's useful to see the test failure reason inline rather than
having to execute the command separately ourselves.
* Rename RpcMethods::{Default => Auto} variant
* Update bin/node/cli/tests/build_spec_works.rs
Co-authored-by: Benjamin Kampmann <ben.kampmann@googlemail.com>
Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Drop client from sc-network and sc-client-db, move LongestChain to sc-client-api
* move leaves, cht, in_mem to sc-client-api, drop client from sc-finality-grandpa
* drop sc-service from sc-rpc
* drop sc-service from sc-consensus-aura
* drop sc-client from manual-seal and babe
* drop sc-client from utils/frame/rpc/system and utils/frame/benchmarking-cli
* drop sc-client from bin/node and bin/node-template
* drop sc-client
* fix tests
* remove check -p sc-client from gitlab.yml
* fix warnings
* fixes ui test
* fix light client tests
* adds associated Client type to AbstractService
* adds UsageProvider to Client
* fixed ui test, again
* tried and failed to get node-cli to compile for wasm
* thanks to tomaka for helping me get node-cli to compile for wasmm
* ui test pls pas 🙏🏾
* all tests passing 🪄
* no_run documentation code
* rm -f documentation code
* ClientProvider
* fix mega trait
* move LongestChain to sc-consensus, use adds minimal bounds to AbstractService::Client
* adds license to sc-consensus
Co-authored-by: Benjamin Kampmann <ben@parity.io>
* Make network_config_path an Option
* Fix network tests
* Use None as the network config path
* Fix cli
* Don't make PathBuf an Option in a cli context
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.