Commit Graph

14 Commits

Author SHA1 Message Date
Bastian Köcher c04c88d71e Keep the table router for the lifetime of the validation instance alive (#1175)
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).
2020-06-01 09:07:29 -04:00
Bastian Köcher fb2e0c0ca9 Make sure collators join the validation network (#1010)
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.
2020-04-20 15:58:36 -04:00
Pierre Krieger 17c2882ae7 Companion PR to channel names (#995)
* Companion PR to channel names

* Err... fix missing event stream name

* Update Substrate
2020-04-14 16:00:25 +02:00
Bastian Köcher 70a30a9783 Make sure we send collators its role on connect (#991) 2020-04-14 15:01:46 +02:00
Robert Habermeier a5034dbe98 Use strong types in runtime for parachain heads and validation code (#964)
* use stronger types for HeadData and ValidationCode in runtime

* fix weird debug compile error

* fix runtime build

* update invocations invalidation.rs

* fix tests
2020-04-13 10:24:25 +02:00
Robert Habermeier 15a83079ba refactor out validation hosts to pool struct (#972)
* refactor out validation hosts to pool struct

* make web-wasm compatible

* typo

* remove now-unused static hosts
2020-04-04 15:15:54 -04:00
André Silva b3d326acca Update substrate (#970)
* update substrate

* Hopefully fix compilation

* network: rename roles to role

* runtime: fix runtime-benchmarks compilation

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
2020-04-03 20:50:34 +02:00
Pierre Krieger 8ce7154111 Companion PR to splitting Roles (#960)
* 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>
2020-04-03 19:08:46 +02:00
Bastian Köcher a26d919d8b Make sure we send the validator key to collators on status (#968)
Before the validator only send the keys if it was updated and thus the
collators would "never" be informed about the key of the validator.
2020-04-03 12:59:25 -04:00
Bastian Köcher 1e6f37076d Rework consensus instance communication with the network worker (#958)
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.
2020-04-01 17:01:59 +02:00
Robert Habermeier cb5defc91d PoV-block gossip (#930)
* 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
2020-03-31 23:05:42 +02:00
Bastian Köcher 4c3ca7bbb9 Companion pr for substrate#5448 (#957)
* Companion pr for substrate#5448

* Update Substrate reference
2020-03-31 14:09:36 +02:00
Fedor Sakharov dbb4e987fa Remove Parent Hash to Session mapping (#928)
* 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>
2020-03-25 17:04:05 -04:00
Robert Habermeier 260b2fa336 Tests for new network code (#897)
* 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
2020-03-16 11:17:08 +01:00