* rpc/chainhead: Test unpin for noncanonical prunned blocks
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/tests: Ensure fork is not reported by the Finalized event
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chainhead: Detect pruned forks to ignore from events
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/tests: Check unpin can be called on pruned hashes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Handle race with memory blocks and notifications
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Add data config for the `follow` future
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Address feedback
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Move best block cache on the data config
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Send new events from the finalized stream
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chian_head: Report all pruned blocks
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Move `chainHead_follow` logic on dedicated file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Delegate follow logic to `chain_head_follow`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Remove subscriptions on drop
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/tests: Ignore pruned blocks for a longer fork
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/tests: Check all pruned blocks are reported, not just stale heads
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/tests: Remove println debug and fix indentation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Remove unnecessary trait bounds
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Add debug log for pruned forks
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "rpc/chain_head: Add debug log for pruned forks"
This reverts commit 425d6e7a8b60421bcece12add1941fe58524cf52.
* Adjust blockID for testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update client/rpc-spec-v2/src/chain_head/chain_head_follow.rs
Co-authored-by: Davide Galassi <davxy@datawok.net>
* rpc/chain_head: Rename `ChainHeadFollow` to `ChainHeadFollower`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Remove subscriptions manually
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Improve log messages by adding subID and errors
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Ensure `follow` stops sending events on first error
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Use default constructor
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Add `StartupPoint` structure
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Rename `in_memory_blocks`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Fix comment typo
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Keep unique blocks and remove itertools
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Make sure `bestBlocks` events are generated in order
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Maintain order of reported blocks
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Parent of finalized block could be unpinned
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc/chain_head: Fix warning
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Davide Galassi <davxy@datawok.net>
* Switch to the `blake2b_simd` crate in `sp-core-hashing`
* ".git/.scripts/commands/bench/bench.sh" pallet dev frame_benchmarking
---------
Co-authored-by: command-bot <>
* update changelog template for new label behavior (E3/E4)
This distinguishes E3 and E4 labels in the changelog output
* Separate E3/E4 notices in changelog
* fixup
* Move import queue out of `sc-network`
Add supplementary asynchronous API for the import queue which means
it can be run as an independent task and communicated with through
the `ImportQueueService`.
This commit removes removes block and justification imports from
`sc-network` and provides `ChainSync` with a handle to import queue so
it can import blocks and justifications. Polling of the import queue is
moved complete out of `sc-network` and `sc_consensus::Link` is
implemented for `ChainSyncInterfaceHandled` so the import queue
can still influence the syncing process.
* Move stuff to SyncingEngine
* Move `ChainSync` instanation to `SyncingEngine`
Some of the tests have to be rewritten
* Move peer hashmap to `SyncingEngine`
* Let `SyncingEngine` to implement `ChainSyncInterface`
* Introduce `SyncStatusProvider`
* Move `sync_peer_(connected|disconnected)` to `SyncingEngine`
* Implement `SyncEventStream`
Remove `SyncConnected`/`SyncDisconnected` events from
`NetworkEvenStream` and provide those events through
`ChainSyncInterface` instead.
Modify BEEFY/GRANDPA/transactions protocol and `NetworkGossip` to take
`SyncEventStream` object which they listen to for incoming sync peer
events.
* Introduce `ChainSyncInterface`
This interface provides a set of miscellaneous functions that other
subsystems can use to query, for example, the syncing status.
* Move event stream polling to `SyncingEngine`
Subscribe to `NetworkStreamEvent` and poll the incoming notifications
and substream events from `SyncingEngine`.
The code needs refactoring.
* Make `SyncingEngine` into an asynchronous runner
This commits removes the last hard dependency of syncing from
`sc-network` meaning the protocol now lives completely outside of
`sc-network`, ignoring the hardcoded peerset entry which will be
addressed in the future.
Code needs a lot of refactoring.
* Fix warnings
* Code refactoring
* Use `SyncingService` for BEEFY
* Use `SyncingService` for GRANDPA
* Remove call delegation from `NetworkService`
* Remove `ChainSyncService`
* Remove `ChainSync` service tests
They were written for the sole purpose of verifying that `NetworWorker`
continues to function while the calls are being dispatched to
`ChainSync`.
* Refactor code
* Refactor code
* Update client/finality-grandpa/src/communication/tests.rs
Co-authored-by: Anton <anton.kalyaev@gmail.com>
* Fix warnings
* Apply review comments
* Fix docs
* Fix test
* cargo-fmt
* Update client/network/sync/src/engine.rs
Co-authored-by: Anton <anton.kalyaev@gmail.com>
* Update client/network/sync/src/engine.rs
Co-authored-by: Anton <anton.kalyaev@gmail.com>
* Add missing docs
* Refactor code
---------
Co-authored-by: Anton <anton.kalyaev@gmail.com>
* Don't pass `leaves()` to `Overseer::builder()`
This is a companion for https://github.com/paritytech/polkadot/pull/6727
* update lockfile for {"substrate", "polkadot"}
---------
Co-authored-by: parity-processbot <>
* Don't send `ActiveLeaves` from leaves in db on startup in Overseer. Wait for fresh leaves instead.
* Don't pass initial set of leaves to Overseer
* Fix compilation error in subsystem-test-helpers
* chore: reduce copy bytes for core-hashing
* improve by suggestions and remove unused `xx_into`
* chore: replace sha2 crate by `sp_core::hashing` for pallet-alliance
* fix features
* use sp-core-hashing directly
* add to dev-dep
* Decrease expected peer count in zombinenet tests
Recent change in the in/out peer ratio caused some of the zombienet
tests to fail. Adjust the number of expected peers to reflect the new
ratio to make tests pass again.
* Increase `--out-peers` to 15 for paritydb test
* Don't check the number of connected peers
* Additional tracing in `provisioner`, `vote_selection`
* Add `fetched_onchain_disputes` metric to provisioner
* Some tracelines in dispute-coordinator
TODO: cherry pick this in the initial branch!!!
* Remove spammy logs
* Remove some trace lines
* bump zombienet version to v1.3.35
* remove checks, since now is checked by zn
* Update .gitlab-ci.yml
---------
Co-authored-by: Anton <anton.kalyaev@gmail.com>
* Update polkadot with one commit: from 54bcee1d5615f53781d5172fcce6700dbf35dad2 -> 3dd8331414c92f5d01d6a470eae43049099d7aa9
* Fix test
* Fix test better
* typo
* Change ParaId->Sibling for `SiblingParachainConvertsVia`
* [XCM] Multiple `FungiblesAdapter`s support + `WeightTrader::buy_weight` more accurate error
* Added test for `ConvertedConcreteId` with `AsPrefixedGeneralIndex`
* Solution 3. - new MatchedConvertedConcreteId with matching capabilities
* Review fixes
* Renamed `AssetNotFound` -> `AssetNotHandled`
---------
Co-authored-by: parity-processbot <>