Candidate Validation Subsystem (#1432)

* skeleton for candidate-validation

* add to workspace

* implement candidate validation logic

* guide: note occupied-core assumption for candidate validation

* adjust message doc

* wire together `run` asynchronously

* add a Subsystem implementation

* clean up a couple warnings

* fix compilation errors due to merge

* improve candidate-validation.md

* remove old reference to subsystem-test helpers crate

* update Cargo.lock

* add a couple new Runtime API methods

* add a candidate validation message

* fetch validation data from the chain state

* some tests for assumption checking

* make spawn_validate_exhaustive mockable

* more tests on the error handling side

* fix all other grumbles except for wasm validation API change

* wrap a SpawnNamed in candidate-validation

* warn

* amend guide

* squanch warning

* remove duplicate after merge
This commit is contained in:
Robert Habermeier
2020-07-30 17:50:11 -04:00
committed by GitHub
parent 64bf3a1e6e
commit 5253a05555
7 changed files with 1001 additions and 10 deletions
+3 -1
View File
@@ -105,7 +105,9 @@ pub enum CandidateValidationMessage {
/// This will implicitly attempt to gather the `OmittedValidationData` and `ValidationCode`
/// from the runtime API of the chain, based on the `relay_parent`
/// of the `CandidateDescriptor`.
/// If there is no state available which can provide this data, an error is returned.
///
/// If there is no state available which can provide this data or the core for
/// the para is not free at the relay-parent, an error is returned.
ValidateFromChainState(
CandidateDescriptor,
Arc<PoV>,