* 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
* support: BuildStorage methods to take self reference.
There is no reason to consume the GenesisConfig when using it to
initialize a new storage backend. Instead, build_storage and
assimilate_storage now operator on self references.
* Bump node runtime impl_version.
* Now construct_runtime must include treasury config so account is created at genesis.
* if it doesn't though it is ok, account will be created when the amount put is more than existential deposit.
* core/finality-grandpa: Pass Grandpa msg sender up to UntilImported
* core/finality-grandpa: Track senders to maybe later request blocks
* core/finality-grandpa: Make BlockStatus pub only within crate
* core/finality-grandpa: Abstract NetworkBridge with BlockSyncRequester
* core/finality-grandpa: Pass BlockSyncRequester to UntilImported
* core/finality-grandpa: Track block number of pending within UntilImported
* core/finality-grandpa: Request block sync on long wait
* core/finality-grandpa: Adjust unit tests to previous changes
* core/finality-grandpa: Fix line length
* core/finality-grandpa: Add comment explaining in & out vote combination
* core/finality-grandpa: Log after, not before, timeout expired
The UntilImported component should log whenever waiting for a specific
block to be imported surpassed a defined constant timeout. Without this
patch the code would log whenever the current time was below the
timeout.
* core/finality-grandpa: Collect senders as HashSet for deduplication
* Revert "core/finality-grandpa: Track senders to maybe later request blocks"
This reverts commit 61ac9dd715612d5fdbf7b8f00b84e450f282ade0.
* Revert "core/finality-grandpa: Pass Grandpa msg sender up to UntilImported"
This reverts commit afdc9646a6c314f99a9d19242f1878f85980e70d.
* core/network/sync: Ask for block from all peers if none provided
When requesting an explicit fork sync, try to sync from all known peers,
when no specific peers were provided.
* core/network/sync: Request specific fork sync from peers ahead or on par
When making an explicit fork sync request without specifying any peers,
make sure to only request it from the locally known peers that are
either ahead or on a par compared to the block number we are looking
for.
* grandpa: fix tests
* grandpa: fix warnings
* grandpa: add test for block sync request on until_imported
* grandpa: rename Environment field inner to client
* grandpa: fix minor nits
* grandpa: minor nits in until_imported
* grandpa: copy docs for set_sync_fork_request
* grandpa: remove stale TODO on UntilImported