* expand subsystems descriptions independent of subsystems overview
The subsystems overview in https://github.com/paritytech/polkadot/pull/1161
is a very useful reference for what subsystems need to talk to each other,
when, and why; it helps us design the actual messages.
However, administratively, it belongs in a different PR. This commit
brings in all the changes made there so far as a base for an independent
PR.
* Reorder subsystem descriptions, add some messages
Update ordering of subsystem descriptions to rough order of use,
mirroring the order in the overview document.
Added some message types. Added OverseerSignal variants to several
types, such that each subsystem only needs to listen for a single
type.
* add some more message types, Statement Distribution overview
* add more detail on Statement Distribution, Misbehavior Arbitration
* intentionally punt MA details for a future PR
* reduce duplication from overseer signal handling
* reword for clarity
* clarify: other modules and subsystems also get to talk to the network
* finish current work on candidate selection
* update candidate backing subsystem description according to current thought
* update mechanism for candidate backing to report collator misbehavior to candidate selection
* sketch out the peer receipt state machine
* Fix typo in roadmap/implementors-guide/guide.md
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Don't specify 'peer validators', as messages from non-validator peers are ignored regardless
* clarify instancing of peer receipt state machine
* add section on peer knowledge tracking
* fix typo in roadmap/implementors-guide/guide.md
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Max Inden <mail@max-inden.de>
* fix (ci): hotfix Docker release
* change (ci): moving to the tested CI image with a proper name
* change (ci): rename substrate-ci-linux
* Reduce the lots_of_incoming_peers_works test load (#6314)
* change (ci): moving to the tested CI image with a proper name
* change (ci): rename substrate-ci-linux
* Reduce the lots_of_incoming_peers_works test load (#6314)
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
* Use sign_with and stop using `Pair`
* PR feedback
* Remove clone
* Transfer ownership of public to sign_message
* Use Option
* Simplify code
* Fix error message
* Pass keystore as ref
* Pass keystore properly
* Fix tests
* Bump jsonrpc pubsub, core, http, and ws
Right now these are the packages which _need_ to be updated
so I can just the latest `jsonrpc-pubsub` code. Once a release
it cut upstream the rest of the dependencies should be updated
as well.
* Use jsonrpc-pubsub's SubscriptionManager
This places sc-rpc-api::Subscriptions
* Bump jsonrpc-core outside of sc-rpc-*
* Update client/rpc tests
Right now one of the `author` tests is failing, I
need to think a bit about how best to fix it.
* Remove Subscriptions manager
There's no need for this implementation since we're
using the one from `jsonrpc-pubsub` now
* Fix author RPC test
This test used to check for a numerial subscription ID,
whereas now it uses a string based ID which is the default
provided by `jsonrpc-pubsub`'s subscription manager.
* Remove unused NumericIdProvider
* Add missing bracket
Removed one too many with that last one, lol
* Bump `jsonrpc` to v14.2
There's an exception though. `jsonrpc-derive` cannot be bumped
past v14.0.5 just yet since it has a dependency on `quote` pinned
to v1.0.1. This means that at the moment it won't build on Substrate
since it's using v1.0.3.
* Track `jsonrpc-derive` master branch
* Bump `quote` version to v1.0.6
* Bump `jsonrpc-derive` to v14.2.1
This includes support for `quote` v1.0.6
* Use exact version for jsonrpc crates
Doing this to make sure any updates in jsonrpc don't
accidently trickle down to Polkadot.
Co-authored-by: André Silva <andre.beat@gmail.com>
* make all features explicit
* Change to -feature suffix to with- prefix
* Add newline at the end of the Cargo.toml file
* Remove rhd feature
* Remove some features from Cargo.toml
* Remove test-helpers feature in tx pool
* Return db_open_error("with-"..
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Rename subdb feature to with-subdb
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Remove 'strict' feature and cfg_attr
* Check for with-subdb feature instead of subdb
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
The `tree_route` generated by the import notification is only from the
old best block to the new best parent. This means, it does not contain
the new best block in `enacted()`. We need to prune the transactions of
the new best block "manually" to fix this bug.
Besides that, this pr also changed the `id` parameter of the `NewBlock`
chain event to `hash`. The hash of a block is unique in contrast to the
block number. (Block id can either be number or hash)
* Make tx pool aware of retracted fork blocks
* Make it compile
* Update client/transaction-pool/src/lib.rs
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
* Fix doc test
* Simplify the implementation
* Send tree route as arc to prevent heavy clones
* Switch to use `ExtrinsicHash` to make it more clear
* Fix benchmark
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
* clarify exception to communication rule for responses
* add note about outside world
* write up my understanding of local and remote disputes
* clean up secondary checker language
* amend to match Jeff's notes