This pr ensures that the table router stays alive for the lifetime of
the validation instance. This is required to ensure that the node
responds onto gossip messages for the particular relay chain round.
Before, the table router was only kept alive for relay chain nodes that
were assigned to a Parachain, however the lifetime was also relative
short. This lead to bugs where a relay chain node did not include
PoVBlock's, because it did not receive them (rejected them on receive,
because it was not listening on the particular round).
* Introduce mandatory statement signing into claims
* Introduce SignedExtension
* Tests passing
* Bump runtime version
* Bump version, fix test
* Test for validate
* Another couple of tests
* Enable PrevalidateAttests on Polkadot
* Enable PrevalidateAttests on Polkadot
* Fix build
* Fixes
* More fixes
* Fix bench tests
* Fix & test Preclaim clobbering.
* Fix for errant claim logic
* Add test
* Update tests, always use Vec as input
* mint_claim can add signature, some_benchmarks
* Add claim with statement test
* finish benchmarks
* put the correct number of claims with benchmarks
* fix compiler warning
* Update weights
* Weight comments for validation
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Collators need to join the validation network to tell its connected
relay chain peers the leaf they listen on. This is required to make the
Parachain validator send the signed statement to the collators as well.
* Companion PR to splitting Roles
* Fix network tests
* Fix service build
* Even more fixing
* Oops, quick fix
* use is_network_authority in grandpa service config
Co-authored-by: André Silva <andre.beat@gmail.com>
Up to now consensus instances used the main channel to communicate with
the background network worker. This lead to a race condition when
sending a local collation and dropping the router before driving the
send local collation future until it is finished. This pr changes the
communication between worker and the instances to use their own
channels. This has the advantage that we don't need an extra
`DropConsensusNetworking` message as the network is dropped
automatically when the last sender is dropped.
* add pov-block gossip message to network
* tests for pov-block gossip
* integrate pov-block gossip into main protocol
* message validation fetches pov blocks
* remove stray dbg! invocation
* test that pov-block is fetched from relay-parent topic
* Adds a SigningContext type
* Bump spec versions
* Fixes requested changes
* Bump ParachainHost api_version and guard signing_context call
* Improve error message
* If there is no signing_context api use default value
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Updates for the new democracy
* Introduce progressive democracy
Also move to "master" branch of Substrate ready for continuous
sync with Substrate master.
* move protocol.rs into subfolder
* add trait for mocking network behavior
* add a mock version of network ops
* remove some redundant parameters from service messages
* ensure fetching erasure chunks automatically cancels
* introduce dummy ProvideRuntimeApi
* abstract over gossip somewhat
* add mock gossip handler
* skeleton test
* remove dependence of shared table on router
* remove worker dependence on its own sender
* test shutdown
* add tests
* test that gossip streams are cleaned up correctly
* refactor worker out into its own struct and reduce bound on executor
* remove reliance of tests on global thread pool