* Extract CLI to separate module in node/cli
* Make node/cli compile for WASM
* More work on node/cli browser
* More work on browser node
* More work
* More work
* Purge a bit the CI script
* More clean up
* Remove substrate-finality-grandpa from the CI
Its tests use tokio, which fails to compile.
* Address review
* Add rocksdb feature to the service
* Fix substrate-service WASM CI
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Don't WASM-compile substrate-service altogether
* grandpa: Write Grandpa authorities to well known key.
Instead of requiring execution proofs for Grandpa authorities, this
enables much simpler storage proofs.
* grandpa: Introduce named AuthorityList type.
* grandpa: Storage migration for srml-grandpa module.
* Remove no-longer-used GrandpaApi runtime API.
* grandpa: Write AuthorityList to storage with encoding version.
We expect the AuthorityList type may change (eg. key changes). To make
upgrades smoother, include a version in the stored value.
* Bump node runtime spec version.
* Update srml/grandpa/src/lib.rs
Co-Authored-By: André Silva <andre.beat@gmail.com>
* Put the DB configuration in an enum
* Allow passing a custom database to client-db
* Clean-ups in client-db
* Fix client tests
* Fix service tests
* Hopefully fix tests for good this time 😩
* Address review
As with the native runtime, we now catch all native panics when we
execute the wasm runtime. The panics inside the wasm runtime were
already catched before by the wasm executor automatically, but any panic
in the host functions could bring down the node. The recent switch to
execute the native counterpart of the host function in `sr-io`, makes
this change required. The native `sr-io` functions just `panic` when
something is not provided or any other error occured.
* node: add sentry mode flag
* cli: extend docs on validator and sentry modes
* service: add missing field in test Configuration
* node: Display instead of Debug when printing node role
* Introduce new option "always force new era".
* Take appropriate action, even for small offences.
- Deselect the offender in all circumstances
- Ensure that deselection forces a new era
- Ensure that forcing a new era works with the always-forcing.
* Bump runtime
* Remove footgun around session keys/handlers
- `OpaqueKeys` now has an associated type `KeyTypeIdProviders`. This can
be used in the runtime as input for `SessionHandler` from the session
trait.
- `impl_opaque_keys` now works with modules and extracts the `KeyTypeId`
from the module directly.
- Added some checks to the `session` storage initialization that checks
that the `SessionHandler` and `Keys` use the same number of keys and
that the order is equal.
* Update core/sr-primitives/src/traits.rs
* initial version for testing
* New version that compiles
* optional at block parameter
* Fix some more view grumbles.
* Update srml/transaction-payment/src/lib.rs
The authority discovery module enables authorities to be discoverable
and discover other authorities to improve interconnection among them. In
order to achieve this the module needs to know when the authority set
changes, thus when a session changes.
One has to register a module as a *session handler* in order for it to
be notified of changing sessions. The order and number of these *session
handlers* **MUST** correspond to the order and number of the *session
keys*.
Commit 027d887 added the authority discovery to the `SessionHandlers`.
Given that the authority discovery module piggybacks on the Babe session
keys the commit violated the above constraint.
This commit reverts most of 027d887, leaving `core/authority-discovery`
and `srml/authority-discovery` untouched.
* Transaction pool watch intristics.
* Track extrinsic rpc methods.
* Test for pool watcher.
* Track extrinsic rpc test.
* Fix rpc naming.
* review fixes
* Update jsonrpc and use une subcription.
* Naming and dependencies.
* fix node-template
Use MultiSignature to maintain compatibility with substrate-node
Reset version to 1
Remove unused const
* fix chain_spec
* line width
* grandpa: always try to import justifications in blocks
* grandpa: export useful types
* grandpa: add test for justification import on regular blocks
* grandpa: expand comment in test
* Adds function `to_substrate_wasm_fn_return_value`
Instead of replicating this piece of code over and over again, just move
it to a function that does it.
* Feedback
* Comment