* Make block sync service customizable
This change allows user to have their own network block logic, for example, we'd like to disable
the builtin block sync service when using another syncing approach.
* Remove unnecessary Box
* Revert network_block
* Expose build_system_rpc_future() and TransactionPoolAdaptor
* fmt
* Set genesis block data using the built genesis block
* Make resolve_state_version_from_wasm a separate function and some small refactorings
Useful for the commit following.
* Introduce trait BuildGenesisBlock
Substrate users can use this trait to implement their custom genesis block when constructing the
client.
* Make call_executor test compile
* cargo +nightly fmt --all
* Fix test
* Remove unnecessary clone
* FMT
* Apply review suggestions
* Revert changes to new_full_client() and new_full_parts() signature
* Remove needless `Block` type in `resolve_state_version_from_wasm`
The logging before is confusing as it says Propagating but it's not in fact when gossip_enabled is
false. Now it's also consistent with `propagate_transactions` below.
* Add a test case for the determinism of recorded proof
* Replace HashMap with BTreeMap for the actual proof records
* cargo +nightly fmt --all
* Store the trie nodes in BTreeSet for StorageProof
* Nit
* Revert the BTreeMap changes and sort when converting to storage proof
* Remove PartialEq from StorageProof
* Remove unnecessary change
* Add `compare` method to StorageProof
* FMT
* Dummy change to trigger CI
* Use `BTreeSet` for StorageProof and keep using `Vec` for CompactProof
* Update comment on `iter_nodes`
* Revert `PartialEq` removal
This PR is mainly to fix the error `[E0670]: async fn is not permitted in the 2015 edition` when
using Vim along with rust-analyzer, it also removes an unused dependency from parachain-template.
Ref: https://github.com/rust-analyzer/rust-analyzer/issues/1959
* Clean up sc-network
- Avoid using clone() for the Copy type `PeerId`.
- Use `find_map` for `filter_map` and `next`.
- Use `Self`.
* More on Copy types
* Cargo +nightly fmt --all
* More ..
* fmt
* Revert vec![default_notif_handshake_message]
* Use the precise number of approvals when constructing RawOrgin::Members
Close#9604
* Split out tests.rs
* Add a test for dispatching with yes votes instead of voting threshold
* Simplify tests
- Also add copyright header.
* Remove unused hex_literal::hex in collective tests
* Extract the helper function record()
* Try fixing ci
* Add a test case with only two votes
* Nit
* Fix typo
* Impl InherentDataProviderExt for more tuples
Currently the inherent data provider only supports up to 4 entries due to the limit of
InherentDataProviderExt, which is not enough for a chain with more than 4 inherent data providers.
This patch simply impls InherentDataProviderExt for more tuples.
* Nit
* Apply suggestions from code review
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Conpanion for Substrate#7127
* Use sp_session::OneSessionHandler
* .
* Fix pallet_session::OneSessionHandler
* OneSessionHandler is in frame_support now
* "Update Substrate"
Co-authored-by: parity-processbot <>
* Decouple the session validators from im-online
* .
* Add SessionInterface trait in im-online
Add ValidatorId in im-online Trait
Make im-online compile
Make substrate binary compile
* Fix merging issue
* Make all compile
* Fix tests
* Avoid using frame dep in primitives via pallet-session-common
* Merge ValidatorSet into SessionInterface trait
Wrap a few too long lines
Add some docs
* Move pallet-sesion-common into pallet-session
* Move SessionInterface to sp-session and impl it in session pallet
Ref https://github.com/paritytech/substrate/pull/7127#discussion_r494892472
* Split put historical::FullValidatorIdentification trait
* Fix line width
* Fix staking mock
* Fix session doc test
* Simplify <T as ValidatorIdentification<AccountId>>::ValidatorId as ValidatorId<T>
* Nits
* Clean up.
* Make it compile by commenting out report_offence_im_online bench
* Tests
* Nits
* Move OneSessionHandler to sp-session
* Fix tests
* Add some docs
* .
* Fix typo
* Rename to ValidatorSet::session_index()
* Add some more docs
* .
* Remove extra empty line
* Fix line width check
.
* Apply suggestions from code review
* Cleaup Cargo.toml
* Aura has migrated to Pallet now
Co-authored-by: Tomasz Drwięga <tomasz@parity.io>