- Nov 10, 2020
-
-
Sergey Pepyakin authored
* Don't just swallow error in dummy-subsystem, but log * Add target to log.
-
- Nov 06, 2020
-
-
Sergey Pepyakin authored
* HRMP: Update the impl guide * HRMP: Incorporate the channel notifications into the guide * HRMP: Renaming in the impl guide * HRMP: Constrain the maximum number of HRMP messages per candidate This commit addresses the HRMP part of https://github.com/paritytech/polkadot/issues/1869 * XCM: Introduce HRMP related message types * HRMP: Data structures and plumbing * HRMP: Configuration * HRMP: Data layout * HRMP: Acceptance & Enactment * HRMP: Test base logic * Update adder collator * HRMP: Runtime API for accessing inbound messages Also, removing some redundant fully-qualified names. * HRMP: Add diagnostic logging in acceptance criteria * HRMP: Additional tests * Self-review fixes * save test refactorings for the next time * Missed a return statement. * a formatting blip * Add missing logic for appending HRMP digests * Remove the channel contents vectors which became empty * Tighten HRMP channel digests invariants. * Apply suggestions from code review Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Remove a note about sorting for channel id * Add missing rustdocs to the configuration * Clarify and update the invariant for HrmpChannelDigests * Make the onboarding invariant less sloppy Namely, introduce `Paras::is_valid_para` (in fact, it already is present in the implementation) and hook up the invariant to that. Note that this says "within a session" because I don't want to make it super strict on the session boundary. The logic on the session boundary should be extremely careful. * Make `CandidateCheckContext` use T::BlockNumber for hrmp_watermark Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
-
- Nov 05, 2020
-
-
Bastian Köcher authored
* Make `CandidateHash` a real type This pr adds a new type `CandidateHash` that is used instead of the opaque `Hash` type. This helps to ensure on the type system level that we are passing the correct types. This pr also fixes wrong usage of `relay_parent` as `candidate_hash` when communicating with the av storage. * Update core-primitives/src/lib.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Wrap the lines Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
-
- Nov 03, 2020
-
-
Bastian Köcher authored
* Moare fixes for parachains - Sending data to a job should always contain a relay parent. Done this for the provisioner - Fixed the `select_availability_bitfields` function. It was assuming we have one core per validator, while we only have one core per parachain. - Drive by async "rewrite" in proposer * Make tests compile * Update primitives/src/v1.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
-
- Nov 02, 2020
-
-
asynchronous rob authored
* fix: ensure candidate validation gets code based on occupied core assumption * guide: runtime API for historical validation code * add historical runtime API * integrate into runtime API subsystem * remove blocked TODO * fix service build: enable notifications protocol only under real overseer * Update node/subsystem/src/messages.rs Co-authored-by: Sergei Shulepov <[email protected]> * fix compilation Co-authored-by: Robert Habermeier <[email protected]> Co-authored-by: Sergei Shulepov <[email protected]>
-
- Oct 28, 2020
-
-
Fedor Sakharov authored
* Change SpawnedSubsystem type to log subsystem errors * Remove clone
-
Sergey Pepyakin authored
* DMP: data structures and plumbing * DMP: Implement DMP logic in the router module DMP: Integrate DMP parts into the inclusion module * DMP: Introduce the max size limit for the size of a downward message * DMP: Runtime API for accessing inbound messages * OCD Small clean ups * DMP: fix the naming of the error * DMP: add caution about a non-existent recipient
-
Peter Goodspeed-Niklaus authored
* start working on building the real overseer Unfortunately, this fails to compile right now due to an upstream failure to compile which is probably brought on by a recent upgrade to rustc v1.47. * fill in AllSubsystems internal constructors * replace fn make_metrics with Metrics::attempt_to_register * update to account for #1740 * remove Metrics::register, rename Metrics::attempt_to_register * add 'static bounds to real_overseer type params * pass authority_discovery and network_service to real_overseer It's not straightforwardly obvious that this is the best way to handle the case when there is no authority discovery service, but it seems to be the best option available at the moment. * select a proper database configuration for the availability store db * use subdirectory for av-store database path * apply Basti's patch which avoids needing to parameterize everything on Block * simplify path extraction * get all tests to compile * Fix Prometheus double-registry error for debugging purposes, added this to node/subsystem-util/src/lib.rs:472-476: ```rust Some(registry) => Self::try_register(registry).map_err(|err| { eprintln!("PrometheusError calling {}::register: {:?}", std::any::type_name::<Self>(), err); err }), ``` That pointed out where the registration was failing, which led to this fix. The test still doesn't pass, but it now fails in a new and different way! * authorities must have authority discovery, but not necessarily overseer handlers * fix broken SpawnedSubsystem impls detailed logging determined that using the `Box::new` style of future generation, the `self.run` method was never being called, leading to dropped receivers / closed senders for those subsystems, causing the overseer to shut down immediately. This is not the final fix needed to get things working properly, but it's a good start. * use prometheus properly Prometheus lets us register simple counters, which aren't very interesting. It also allows us to register CounterVecs, which are. With a CounterVec, you can provide a set of labels, which can later be used to filter the counts. We were using them wrong, though. This pattern was repeated in a variety of places in the code: ```rust // panics with an cardinality mismatch let my_counter = register(CounterVec::new(opts, &["succeeded", "failed"])?, registry)?; my_counter.with_label_values(&["succeeded"]).inc() ``` The problem is that the labels provided in the constructor are not the set of legal values which can be annotated, but a set of individual label names which can have individual, arbitrary values. This commit fixes that. * get av-store subsystem to actually run properly and not die on first signal * typo fix: incomming -> incoming * don't disable authority discovery in test nodes * Fix rococo-v1 missing session keys * Update node/core/av-store/Cargo.toml * try dummying out av-store on non-full-nodes * overseer and subsystems are required only for full nodes * Reduce the amount of warnings on browser target * Fix two more warnings * InclusionInherent should actually have an Inherent module on rococo * Ancestry: don't return genesis' parent hash * Update Cargo.lock * fix broken test * update test script: specify chainspec as script argument * Apply suggestions from code review Co-authored-by: Bastian Köcher <[email protected]> * Update node/service/src/lib.rs Co-authored-by: Bastian Köcher <[email protected]> * node/service/src/lib: Return error via ? operator * post-merge blues * add is_collator flag * prevent occasional av-store test panic * simplify fix; expand application * run authority_discovery in Role::Discover when collating * distinguish between proposer closed channel errors * add IsCollator enum, remove is_collator CLI flag * improve formatting * remove nop loop * Fix some stuff Co-authored-by: Andronik Ordian <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Fedor Sakharov <[email protected]> Co-authored-by: Robert Habermeier <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Max Inden <[email protected]>
-
- Oct 27, 2020
-
-
Bernhard Schuster authored
-
- Oct 24, 2020
-
-
Sergey Pepyakin authored
* annoying whitespaces * update guide Add `CheckValidationOutputs` runtime api and also change the candidate-validation stuff * promote ValidationOutputs to global primitives i.e. move it from node specific primitives to global v1 primitives. This will be needed when we share it later in the runtime inclusion module * refactor acceptance checks in the inclusion module factor out the common code to share it during the block inclusion and for the forthcoming CheckValidationOutputs runtime api. Also note that the acceptance criteria was updated to incorporate checks that exist now in candidate-validation * plumb the runtime api outside * extract validation_data from ValidationOutputs * use runtime-api to check validation outputs apart from that refactor, update docs and tidy a bit * Update the maxium code size This is to fix a test that performs an upgrade.
-
Fedor Sakharov authored
* Initial commit * Move tests to separate module * Move timestamps to the newtype * Change idx name * Use Duration for consts and update chunk records * Ordering::Equal * Update node/core/av-store/src/lib.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * put_ methods do the array sorting * Fix get_block_number * Change StoreChunk message type and relay parent method * Add chunk tests * Fix block number computation for StoreChunk * Duration instead of u64 everywhere * Add a clarifying comment Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
-
- Oct 08, 2020
-
-
Bastian Köcher authored
* Make `AllSubsystems` usage easier in tests This makes the usage of `AllSubsystems` easier in tests by introducing new methods. - `dummy` initializes `AllSubsystems` with all systems set to dummy - `replace_*` to replace any subsystem Besides that this pr adds a `ForwardSubsystem` that is also useful for tests. This subsystem will forward all incoming messages to the given channel. * Update node/overseer/src/lib.rs Co-authored-by: Andronik Ordian <[email protected]> * Update node/subsystem/src/lib.rs Co-authored-by: Andronik Ordian <[email protected]> * Update node/subsystem/src/lib.rs Co-authored-by: Andronik Ordian <[email protected]> * Move ForwardSubsystem and add a test * Break some lines Co-authored-by: Andronik Ordian <[email protected]>
-
- Oct 06, 2020
-
-
ordian authored
* chain-api subsystem: implement BlockHeader messsage * update the guide
-
ordian authored
* stupid, but it compiles * redo * cleanup * add ValidatorDiscovery to msgs * sketch network bridge code * ConnectToAuthorities instead of validators * more stuff * cleanup * more stuff * complete ConnectToAuthoritiesState * Update node/network/bridge/src/lib.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Collator protocol subsystem (#1659) * WIP * The initial implementation of the collator side. * Improve comments * Multiple collation requests * Add more tests and comments to validator side * Add comments, remove dead code * Apply suggestions from code review Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Fix build after suggested changes * Also connect to the next validator group * Remove a Future impl and move TimeoutExt to util * Minor nits * Fix build * Change FetchCollations back to FetchCollation * Try this * Final fixes * Fix build Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * handle multiple in-flight connection requests * handle cancelled requests * Update node/core/runtime-api/src/lib.rs Co-authored-by: Bernhard Schuster <[email protected]> * redo it again * more stuff * redo it again * update comments * workaround Future is not Send * fix trailing spaces * clarify comments * bridge: fix compilation in tests * update more comments * small fixes * port collator protocol to new validator discovery api * collator tests compile * collator tests pass * do not revoke a request when the stream receiver is closed * make revoking opt-in * fix is_fulfilled * handle request revokation in collator * tests * wait for validator connections asyncronously * fix compilation * relabel my todos * apply Fedor's patch * resolve reconnection TODO * resolve revoking TODO * resolve channel capacity TODO * resolve peer cloning TODO * resolve peer disconnected TODO * resolve PeerSet TODO * wip tests * more tests * resolve Arc TODO * rename pending to non_revoked * one more test * extract utility function into util crate * fix compilation in tests * Apply suggestions from code review Co-authored-by: Fedor Sakharov <[email protected]> * revert pin_project removal * fix while let loop * Revert "revert pin_project removal" This reverts commit ae7f529d . * fix compilation * Update node/subsystem/src/messages.rs * docs on pub items * guide updates * remove a TODO * small guide update * fix a typo * link to the issue * validator discovery: on_request docs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Fedor Sakharov <[email protected]> Co-authored-by: Bernhard Schuster <[email protected]>
-
- Oct 01, 2020
-
-
Bastian Köcher authored
-
- Sep 29, 2020
-
-
ordian authored
-
- Sep 28, 2020
-
-
Fedor Sakharov authored
* Register listeners in statement distribution * Review fixes
-
- Sep 10, 2020
-
-
Fedor Sakharov authored
* WIP * The initial implementation of the collator side. * Improve comments * Multiple collation requests * Add more tests and comments to validator side * Add comments, remove dead code * Apply suggestions from code review Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Fix build after suggested changes * Also connect to the next validator group * Remove a Future impl and move TimeoutExt to util * Minor nits * Fix build * Change FetchCollations back to FetchCollation * Try this * Final fixes * Fix build Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
-
- Sep 08, 2020
-
-
Peter Goodspeed-Niklaus authored
* choose the straightforward candidate selection algorithm for now * add draft implementation of candidate selection * fix typo in summary * more properly report misbehaving collators * describe how CandidateSelection subsystem becomes aware of candidates * revise candidate selection / collator protocol interaction pattern * implement rest of candidate selection per the guide * review: resolve nits * start writing test suite, harness * implement first test * add second test * implement third test Co-authored-by: Bernhard Schuster <[email protected]>
-
- Aug 18, 2020
-
-
asynchronous rob authored
* update primitives * correct parent_head field * make hrmp field pub * refactor validation data: runtime * refactor validation data: messages * add arguments to full_validation_data runtime API * port runtime API * mostly port over candidate validation * remove some parameters from ValidationParams * guide: update candidate validation * update candidate outputs * update ValidationOutputs in primitives * port over candidate validation * add a new test for no-transient behavior * update util runtime API wrappers * candidate backing * fix missing imports * change some fields of validation data around * runtime API impl * update candidate validation * fix backing tests * grumbles from review * fix av-store tests * fix some more crates * fix provisioner tests * fix availability distribution tests * port collation-generation to new validation data * fix overseer tests * Update roadmap/implementers-guide/src/node/utility/candidate-validation.md Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
-
ordian authored
* service-new: cosmetic changes * overseer: draft of prometheus metrics * metrics: update active_leaves metrics * metrics: extract into functions * metrics: resolve XXX * metrics: it's ugly, but it works * Bump Substrate * metrics: move a bunch of code around * Bumb substrate again * metrics: fix a warning * fix a warning in runtime * metrics: statements signed * metrics: statements impl RegisterMetrics * metrics: refactor Metrics trait * metrics: add Metrics assoc type to JobTrait * metrics: move Metrics trait to util * metrics: fix overseer * metrics: fix backing * metrics: fix candidate validation * metrics: derive Default * metrics: docs * metrics: add stubs for other subsystems * metrics: add more stubs and fix compilation * metrics: fix doctest * metrics: move to subsystem * metrics: fix candidate validation * metrics: bitfield signing * metrics: av store * metrics: chain API * metrics: runtime API * metrics: stub for avad * metrics: candidates seconded * metrics: ok I gave up * metrics: provisioner * metrics: remove a clone by requiring Metrics: Sync * metrics: YAGNI * metrics: remove another TODO * metrics: for later * metrics: add parachain_ prefix * metrics: s/signed_statement/signed_statements * utils: add a comment for job metrics * metrics: address review comments * metrics: oops * metrics: make sure to save files before commit
😅 * use _total suffix for requests metrics Co-authored-by: Max Inden <[email protected]> * metrics: add tests for overseer * update Cargo.lock * overseer: add a test for CollationGeneration * collation-generation: impl metrics * collation-generation: use kebab-case for name * collation-generation: add a constructor Co-authored-by: Gav Wood <[email protected]> Co-authored-by: Ashley Ruglys <[email protected]> Co-authored-by: Max Inden <[email protected]>
-
- Aug 17, 2020
-
-
ordian authored
-
Peter Goodspeed-Niklaus authored
* start sketching out a collation generation subsystem * invent a basic strategy for double initialization * clean up warnings * impl util requests from runtime assuming a context instead of a FromJob sender * implement collation generation algorithm from guide * update AllMessages in tests * fix trivial review comments * remove another redundant declaration from merge * filter availability cores by para_id * handle new activations each in their own async task * update guide according to the actual current implementation * add initialization to guide * add general-purpose subsystem_test_harness helper * write first handle_new_activations test * add test that handle_new_activations filters local_validation_data requests * add (failing) test of collation distribution message sending * rustfmt * broken: work on fixing sender test Unfortunately, for reasons that are not yet clear, despite the public key and checked data being identical, the signer is not producing an identical signature. This commit produces this output (among more): signing with Public(c4733ab0bbe3ba4c096685d1737a7f498cdbdd167a767d04a21dc7df12b8c858 (5GWHUNm5...)) checking with Public(c4733ab0bbe3ba4c096685d1737a7f498cdbdd167a767d04a21dc7df12b8c858 (5GWHUNm5...)) signed payload: [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 10, 0, 0, 0, c7, e5, c0, 64, 7a, db, fe, 44, 81, e5, 51, 11, 79, 9f, a5, 63, 93, 94, 3c, c4, 36, c6, 30, 36, c2, c5, 44, a2, 1b, db, b7, 82, 3, 17, a, 2e, 75, 97, b7, b7, e3, d8, 4c, 5, 39, 1d, 13, 9a, 62, b1, 57, e7, 87, 86, d8, c0, 82, f2, 9d, cf, 4c, 11, 13, 14] checked payload: [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 10, 0, 0, 0, c7, e5, c0, 64, 7a, db, fe, 44, 81, e5, 51, 11, 79, 9f, a5, 63, 93, 94, 3c, c4, 36, c6, 30, 36, c2, c5, 44, a2, 1b, db, b7, 82, 3, 17, a, 2e, 75, 97, b7, b7, e3, d8, 4c, 5, 39, 1d, 13, 9a, 62, b1, 57, e7, 87, 86, d8, c0, 82, f2, 9d, cf, 4c, 11, 13, 14] * fix broken test * collation function returns commitments hash It doesn't look like we use the actual commitments data anywhere, and it's not obvious if there are any fields of `CandidateCommitments` not available to the collator, so this commit just assigns them the entire responsibility of generating the hash. * add missing overseer impls * calculating erasure coding is polkadot's responsibility, not cumulus * concurrentize per-relay_parent requests
-
ordian authored
* subsystem: add spawn_blocking to SubsystemContext * candidate-validation: use spawn_blocking for exhaustive tasks
-
- Aug 12, 2020
-
-
asynchronous rob authored
* update networking types * port over overseer-protocol message types * Add the collation protocol to network bridge * message sending * stub for ConnectToValidators * add some helper traits and methods to protocol types * add collator protocol message * leaves-updating * peer connection and disconnection * add utilities for dispatching multiple events * implement message handling * add an observedrole enum with equality and no sentry nodes * derive partial-eq on network bridge event * add PartialEq impls for network message types * add Into implementation for observedrole * port over existing network bridge tests * add some more tests * port bitfield distribution * port over bitfield distribution tests * add codec indices * port PoV distribution * port over PoV distribution tests * port over statement distribution * port over statement distribution tests * update overseer and service-new * address review comments * port availability distribution * port over availability distribution tests
-
- Aug 10, 2020
-
-
Bernhard Schuster authored
Closes #1237
-
- Aug 07, 2020
-
-
Peter Goodspeed-Niklaus authored
* break out subsystem-util and subsystem-test-helpers into individual crates * cause all packages to check successfully
-
- Aug 06, 2020
-
-
Peter Goodspeed-Niklaus authored
* sketch out provisioner basics * handle provisionable data * stub out select_inherent_data * split runtime APIs into sub-chapters to improve linkability * explain SignedAvailabilityBitfield semantics * add internal link to further documentation * some more work figuring out how the provisioner can do its thing * fix broken link * don't import enum variants where it's one layer deep * make request_availability_cores a free fn in util * document more precisely what should happen on block production * finish first-draft implementation of provisioner * start working on the full and proper backed candidate selection rule * Pass number of block under construction via RequestInherentData * Revert "Pass number of block under construction via RequestInherentData" This reverts commit 850fe62c. That initially looked like the better approach--it spent the time budget for fetching the block number in the proposer, instead of the provisioner, and that felt more appropriate--but it turns out not to be obvious how to get the block number of the block under construction from within the proposer. The Chain API may be less ideal, but it should be easier to implement. * wip: get the block under production from the Chain API * add ChainApiMessage to AllMessages * don't break the run loop if a provisionable data channel closes * clone only those backed candidates which are coherent * propagate chain_api subsystem through various locations * add delegated_subsystem! macro to ease delegating subsystems Unfortunately, it doesn't work right: ``` error[E0446]: private type `CandidateBackingJob` in public interface --> node/core/backing/src/lib.rs:775:1 | 86 | struct CandidateBackingJob { | - `CandidateBackingJob` declared as private ... 775 | delegated_subsystem!(CandidateBackingJob as CandidateBackingSubsystem); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type ``` I'm not sure precisely what's going wrong, here; I suspect the problem is the use of `$job as JobTrait>::RunArgs` and `::ToJob`; the failure would be that it's not reifying the types to verify that the actual types are public, but instead referring to them via `CandidateBackingJob`, which is in fact private; that privacy is the point. Going to see if I can generic my way out of this, but we may be headed for a quick revert here. * fix delegated_subsystem The invocation is a bit more verbose than I'd prefer, but it's also more explicit about what types need to be public. I'll take it as a win. * add provisioning subsystem; reduce public interface of provisioner * deny missing docs in provisioner * refactor core selection per code review suggestion This is twice as much code when measured by line, but IMO it is in fact somewhat clearer to read, so overall a win. Also adds an improved rule for selecting availability bitfields, which (unlike the previous implementation) guarantees that the appropriate postconditions hold there. * fix bad merge double-declaration * update guide with (hopefully) complete provisioner candidate selection procedure * clarify candidate selection algorithm * Revert "clarify candidate selection algorithm" This reverts commit c68a02ac. * clarify candidate selection algorithm * update provisioner to implement candidate selection per the guide * add test that no more than one bitfield is selected per validator * add test that each selected bitfield corresponds to an occupied core * add test that more set bits win conflicts * add macro for specializing runtime requests; specailize all runtime requests * add tests harness for select_candidates tests * add first real select_candidates test, fix test_harness * add mock overseer and test that success is possible * add test that the candidate selection algorithm picks the right ones * make candidate selection test somewhat more stringent
-
- Aug 04, 2020
-
-
ordian authored
* propagate chain_api subsystem through various locations * add ChainApi to AllMessages Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
-
- Aug 03, 2020
-
-
Arkadiy Paronyan authored
* Sort out validation errors * Typo * Fixed wasm/android build * Fixed bad merge
-
- Jul 31, 2020
-
-
ordian authored
* chain-api subsystem skeleton * chain-api subsystem: draft impl * chain-api subsystem: mock testclient * chain-api subsystem: impl HeaderBacked for TestClient * chain-api subsystem: impl basic tests * chain-api subsystem: tiny guide * chain-api subsystem: rename ChainApiRequestMessage to ChainApiMessage * chain-api subsystem: add the page to the ToC * chain-api subsystem: proper error type * chain-api subsystem: impl ancestors request * chain-api subsystem: tests for ancestors request * guide: fix ancestor return type * runtime-api subsystem: remove unused dep * fix fmt * fix outdated comment * chain-api subsystem: s/format/to_string * lower-case subsystem names * chain-api subsystem: resolve Finalized todo * chain-api subsystem: remove TODO * extract request errors into a module * remove caching TODO * fix imports
-
- Jul 30, 2020
-
-
asynchronous rob authored
* 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
-
asynchronous rob authored
* 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
-
- Jul 29, 2020
-
-
Peter Goodspeed-Niklaus authored
* 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
-
- Jul 28, 2020
-
-
Peter Goodspeed-Niklaus authored
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.
-
asynchronous rob authored
* 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
-
- Jul 27, 2020
-
-
Fedor Sakharov authored
* 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
-
Peter Goodspeed-Niklaus authored
* 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
-
- Jul 26, 2020
-
-
Bastian Köcher authored
* Companion for #6726 * Spaces * 'Update substrate' Co-authored-by: parity-processbot <>
-
- Jul 23, 2020
-
-
Peter Goodspeed-Niklaus authored
* 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 <[email protected]> * Revert "resolve type inference failure caused by multiple From impls" This reverts commit 7fc77805. * Revert "fix more multi-From inference issues" This reverts commit f14ffe58 . * impl From<i32> for ParaId * handle another instance of AllSubsystems * improve consistency when returning existing options Co-authored-by: Andronik Ordian <[email protected]>
-