* Accept only `--in-peers` many inbound full nodes in `SyncingEngine`
Due to full and light nodes being stored in the same set, it's possible
that `SyncingEngine` accepts more than `--in-peers` many inbound full
nodes which leaves some of its outbound slots unoccupied.
`ProtocolController` still tries to occupy these slots by opening
outbound substreams. As these substreams are accepted by the remote peer,
the connection is relayed to `SyncingEngine` which rejects the node
because it's already full. This in turn results in the substream being
inactive and the peer getting evicted.
Fixing this properly would require relocating the light peer slot
allocation away from `ProtocolController` or alternatively moving entire
the substream validation there, both of which are epic refactorings and
not necessarily in line with other goals. As a temporary measure, verify
in `SyncingEngine` that it doesn't accept more than the specified amount
of inbound full peers.
* Fix tests
* Apply review comments
* chainHead/events: Add storage params and events
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chainHead/tests: Check storage events serialization / deserialization
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chainHead/error: Add error for invalid WaitForContinue storage call
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chainHead/storage: Use new items params
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chainHead/tests: Adjust storage tests to the new API
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chainHead/events: Generalize StorageQuery by provided key
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chain_head: Add dedicated ChainHeadStorage client for queries
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chainHead/storage: Implement queries for hashes of values
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chainHead/tests: Check storage queries for hashes of values
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chainHead: Improve API documentation wrt multiple entries
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chainHead/event: Rename StorageQueue ty to queue_ty
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chianHead: Add helper to encode chainHead results as hex str
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update client/rpc-spec-v2/src/chain_head/error.rs
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
* chainHead: Change the `queryResult` to a plain `Result`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chainHead: Stop producing events after the first error
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* chainHead: Change child_key to child_trie API param
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
* 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>
* Staking e2e test - case when ledger active balance falls below ED
* Update frame/election-provider-multi-phase/test-staking-e2e/src/lib.rs
Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com>
* Simplifies test assertions; tests events
---------
Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com>
Co-authored-by: parity-processbot <>
* Adds onchainify to e2e tests; Adds try-runtime checks at the end of the tests
* Refactors OCW to be more realistic and to submit solutions during unsigned phase
* Uses config palllet Default impl in mock
* Improves OCW progression vode
* simplified OCW tests
* Handle the AllowMultiAssetPools=false case in benchmarks
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_asset_conversion
---------
Co-authored-by: command-bot <>
* client: fix invalid name pattern regex
* Update client/cli/src/commands/run_cmd.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* client: test node name is non-empty
* client: add more tests to is_node_name_valid
---------
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* grandpa: avoid importing unnecessary justifications
* grandpa: make justification_import_period configurable
* grandpa: keep the first justification
* grandpa: add test for justification import period
* grandpa: fix test
* improve pallet hooks docs
* Update frame/support/src/traits/hooks.rs
Co-authored-by: Sam Johnson <sam@durosoft.com>
* Update frame/support/src/traits/hooks.rs
Co-authored-by: Sam Johnson <sam@durosoft.com>
* Update frame/support/src/traits/hooks.rs
Co-authored-by: Sam Johnson <sam@durosoft.com>
* fix mastekn removal
* Apply suggestions from code review
Co-authored-by: Juan <juangirini@gmail.com>
* add diagram
* fix all links
* fix diagram
* improve diagram with some notes
* update
---------
Co-authored-by: Sam Johnson <sam@durosoft.com>
Co-authored-by: parity-processbot <>
Co-authored-by: Juan <juangirini@gmail.com>
* replace Index by Nonce
* replace Index by Nonce
* replace Index by Nonce
* replace Index by Nonce
* replace Index by Nonce
* wip
* remove index in lieu of nonce
* wip
* remove accountnonce in lieu of nonce
* add minor improvement
* rebase and merge conflicts
Original link in the source code pointed to a dead URL since the original documentation has moved. This pull request updates the URL with the current version.
* Updated set_members extrinsic to enforce prime is valid member of collective
* Added additional tests for set_members extrinsic
* applied the code review suggestions
* Update `subkey` README.md
getsubstrate.io is not maintained.
Perhaps other things should be updated here in this PR too - open to suggestions!
* Update README.md
* Start
* More work!
* Moar
* More changes
* More fixes
* More worrk
* More fixes
* More fixes to make it compile
* Adds `NoOffchainStorage`
* Pass the extensions
* Small basti making small progress
* Fix merge errors and remove `ExecutionContext`
* Move registration of `ReadRuntimeVersionExt` to `ExecutionExtension`
Instead of registering `ReadRuntimeVersionExt` in `sp-state-machine` it is moved to
`ExecutionExtension` which provides the default extensions.
* Fix compilation
* Register the global extensions inside runtime api instance
* Fixes
* Fix `generate_initial_session_keys` by passing the keystore extension
* Fix the grandpa tests
* Fix more tests
* Fix more tests
* Don't set any heap pages if there isn't an override
* Fix small fallout
* FMT
* Fix tests
* More tests
* Offchain worker custom extensions
* More fixes
* Make offchain tx pool creation reusable
Introduces an `OffchainTransactionPoolFactory` for creating offchain transactions pools that can be
registered in the runtime externalities context. This factory will be required for a later pr to
make the creation of offchain transaction pools easier.
* Fixes
* Fixes
* Set offchain transaction pool in BABE before using it in the runtime
* Add the `offchain_tx_pool` to Grandpa as well
* Fix the nodes
* Print some error when using the old warnings
* Fix merge issues
* Fix compilation
* Rename `babe_link`
* Rename to `offchain_tx_pool_factory`
* Cleanup
* FMT
* Fix benchmark name
* Fix `try-runtime`
* Remove `--execution` CLI args
* Make clippy happy
* Forward bls functions
* Fix docs
* Update UI tests
* Update client/api/src/execution_extensions.rs
Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Koute <koute@users.noreply.github.com>
* Update client/cli/src/params/import_params.rs
Co-authored-by: Koute <koute@users.noreply.github.com>
* Update client/api/src/execution_extensions.rs
Co-authored-by: Koute <koute@users.noreply.github.com>
* Pass the offchain storage to the MMR RPC
* Update client/api/src/execution_extensions.rs
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
* Review comments
* Fixes
---------
Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
Co-authored-by: Koute <koute@users.noreply.github.com>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>