* propagate chain_api subsystem through various locations
* add ChainApi to AllMessages
Co-authored-by: Peter Goodspeed-Niklaus <peter.r.goodspeedniklaus@gmail.com>
* Add notes about contextual execution
* Clarify that `validation_data_hash` consists of global and local data
* Update roadmap/implementers-guide/src/runtime/inclusion.md
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Incorporate rphmeier's suggestion.
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Do a small write-up on collation-generation
* preamble to collator protocol
* notes on protocol
* collation-generation: point to collator protocol
* fix missing bracket
* expand on collator protocol wire protocol
* add a couple more sentences
* expand on requests some more
* go higher level
* network bridge: note peerset
* note peer-set = validation for protocols
* add `ConnectToValidators` message
* use ConnectToValidators in collator protocol
* typo
* remove references to sentry nodes
* guide: optimize diagrams for readability
* guide: inclusion subsystem diagram
* guide: rename Approval Subsystem for clarity
* guide: correct the approval subsystem
* guide: clarify that validator are selected from the same set
* guide: simplify secondary checkers labels
* initial build-wasms commit
* fix wasm builds
* add caching and artifact upload
* test for git dir
* Revert "test for git dir"
This reverts commit 295e4655484691aed9162f479a87f09c1b1c9317.
* fix git version incompability
* attempt to fix caching
* Revert "fix git version incompability"
This reverts commit 1d22ffd26b7eff635c5abcc9bd04cb3c88629a1d.
* add kusama job
* use a build matrix for building runtimes
* combine build-wasms and publish draft release
* attempt to name runtimes according to version
* Revert "attempt to name runtimes according to version"
This reverts commit 82f7b4dc0aea995f2599293bba9f11b879f459e5.
Failed experiment
* name runtimes according to version #2
* fix asset path and name
* build wasms first, include prop hash
* 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
* type defaults for ParachainHost
* add ValidationCode message
* implement core loop of runtime API subsystem
* subsystem trait implementation for runtime API subsystem
* implement a mock runtime API
* some tests that ensure requests are forwarded to runtime API correctly
* fix dependency grumbles
* improve RuntimeApiError API
* Update README docs related to local build
Closes#1476
* Update command per @ordian
Co-authored-by: Andronik Ordian <write@reusable.software>
* Remove reference to old install script
Co-authored-by: Andronik Ordian <write@reusable.software>
* BabeImportQueue -> DefaultImportQueue
* Use DefaultImportQueue from the top level of consensus_common
* 'Update substrate'
Co-authored-by: parity-processbot <>
* Apply suggestions from #1364 code review
- use CoreState, not CoreOccupied
- query for availability chunks, not the whole PoV
- create a stub `fn availability_cores`
* link to issue documenting unimplemented
* implement get_availability_cores by adding a new runtime api request
* back out an unrelated change properly part of #1404
* av-store: handle QueryChunkAvailability
* simplify QueryDataAvailability
* remove extraneous whitespace
* compact primitive imports
Subsystems are encouraged to either typedef themselves as appropriate
`JobManager` instances for their job type, or wrap a `JobManager`
instance and delegate the `Subsystem` impl. In both cases, we want
to use a sensible, non-repeated subsystem name for appropriate
logging and debugging.
This PR adds a heuristic: if the job name ends in the literal
"Job", then that gets stripped. Otherwise, the job name is used.
This improves on the previous situation, in which subsystems
typedef'd to or wrapping `JobManager` all got the same constant (!)
name.
* polkadot-subsystem: update runtime API message types
* update all networking subsystems to use fallible runtime APIs
* fix bitfield-signing and make it use new runtime APIs
* port candidate-backing to handle runtime API errors and new types
* remove old runtime API messages
* remove unused imports
* fix grumbles
* fix backing tests
* Improve AVStore and Scheduler docs
* Update roadmap/implementers-guide/src/node/utility/availability-store.md
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
* Bug in linking to README.md
* Update against new runtime apis
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
* Initial commit
* WIP
* Make atomic transactions
* Remove pruning code
* Fix build and add a Nop to bridge
* Fixes from review
* Move config struct around for clarity
* Rename constructor and warn on missing docs
* Fix a test and rename a message
* Fix some more reviews
* Obviously failed to rebase cleanly
* add ActiveLeavesUpdate, remove StartWork, StopWork
* replace StartWork, StopWork in subsystem crate tests
* mechanically update OverseerSignal in other modules
* convert overseer to take advantage of new multi-hash update abilities
Note: this does not yet convert the tests; some of the tests now freeze:
test tests::overseer_start_stop_works ... test tests::overseer_start_stop_works has been running for over 60 seconds
test tests::overseer_finalize_works ... test tests::overseer_finalize_works has been running for over 60 seconds
* fix broken overseer tests
* manually impl PartialEq for ActiveLeavesUpdate, rm trait Equivalent
This cleans up the code a bit and makes it easier in the future to
do the right thing when comparing ALUs.
* use target in all network bridge logging
* reduce spamming of and
* rename GlobalValidationSchedule to GlobalValidationData
* guide: update candidate descriptor to contain validation data hash
* guide: add note in inclusion module about checking validation data hash
* primitives: update CandidateDescriptor to contain new hash
* fix payload computation
* add helpers for computing validation data to runtime modules
* guide: note routines
* inclusion: check validation data hash and fix local_validation_data bug
* add a case to candidate_checks and improve that test substantially
* bump versions
* address review comments
* add a test for including code upgrade
* bump kusama version
* bump westend & polkadot versions
* update guide to reduce confusion and TODOs
* work from previous bitfield signing effort
There were large merge issues with the old bitfield signing PR, so
we're just copying all the work from that onto this and restarting.
Much of the existing work will be discarded because we now have better
tools available, but that's fine.
* start rewriting bitfield signing in terms of the util module
* implement construct_availability_bitvec
It's not an ideal implementation--we can make it much more concurrent--
but at least it compiles.
* implement the unimplemented portions of bitfield signing
* get core availability concurrently, not sequentially
* use sp-std instead of std for a parachain item
* resolve type inference failure caused by multiple From impls
* handle bitfield signing subsystem & Allmessages variant in overseer
* fix more multi-From inference issues
* more concisely handle overflow
Co-authored-by: Andronik Ordian <write@reusable.software>
* Revert "resolve type inference failure caused by multiple From impls"
This reverts commit 7fc77805de5e5074a1b01037f8d4e3919e03e0e1.
* Revert "fix more multi-From inference issues"
This reverts commit f14ffe589e20d664d8a900ed62f68b6fb844a514.
* impl From<i32> for ParaId
* handle another instance of AllSubsystems
* improve consistency when returning existing options
Co-authored-by: Andronik Ordian <write@reusable.software>