* Rewrite client handling
We are supporting muliple polkadot-like chains and all have different
client types. This pr reworks the client handling by having all of them
in one enum combined. Besides that, there is added a special trait
`ExecuteWithClient` to use the internal client.
* Apply suggestions from code review
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Up the versions
* Fix Cargo.lock
* Fix merge conflict
* ......................
* ....v2
* yep
* I'm dumb...
* Browser lol
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* 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