- Nov 16, 2020
-
-
Sergey Pepyakin authored
* Guide: Split router module in guide. Now we have: DMP, UMP and Router module. * Add a glossary entry for what used to be called Router * Extract DMP * Extract UMP * Extract HRMP * Switch over to new modules * Router: goodbye sweet prince * Link to messaging overview for details. * Update missed rococo and test runtimes. * Commit destroyed by rebase changes * Don't deprecate Router but rather make it a meta-project Co-authored-by: Bernhard Schuster <[email protected]> * Fix typos suggestion Co-authored-by: Bernhard Schuster <[email protected]> * Fix repetition in the impl guide * Clarify that processed_downward_messages has the u32 type * Remove the router subdir. * Deabbreviate DMP,UMP,HRMP Co-authored-by: Bernhard Schuster <[email protected]>
-
- Nov 09, 2020
-
-
Sergey Pepyakin authored
* Introduce CollatorFn type alias * Make test-runtime imports consistent with rococo-runtime * Update node/primitives/src/lib.rs Co-authored-by: Bastian Köcher <[email protected]> * fix warnings Co-authored-by: Bastian Köcher <[email protected]>
-
- 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]>
-
Bastian Köcher authored
We need to distribute the PoV after we have seconded it. Other nodes that will receive our `Secondded` statement and want to validate the candidate another time will request this PoV from us.
-
- 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]>
-
Bastian Köcher authored
* Do not validate a candidate in candidate selection The candidate selection subsystem should not validate a candidate, as this is done by the backing subsystem on a `Second` request. Otherwise we validate one candidate twice. * Update candidate-selection.md
-
- 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]>
-
Sergey Pepyakin authored
* UMP: Update the impl guide * UMP: Incorporate XCM related changes into the guide * UMP: Data structures and configuration * UMP: Initial plumbing * UMP: Data layout * UMP: Acceptance criteria & enactment * UMP: Fix dispatcher bug and add the test for it * UMP: Constrain the maximum size of an UMP message This commit addresses the UMP part of https://github.com/paritytech/polkadot/issues/1869 * Fix failing test due to misconfiguration * Make the type of RelayDispatchQueueSize be more apparent in the guide * Revert renaming `max_upward_queue_capacity` to `max_upward_queue_count` * convert spaces to tabs Co-authored-by: Bernhard Schuster <[email protected]> * Update runtime/parachains/src/router/ump.rs Co-authored-by: Bernhard Schuster <[email protected]> Co-authored-by: Bernhard Schuster <[email protected]>
-
- Oct 31, 2020
-
-
asynchronous rob authored
* add storage for approvals module * basics of approval logic * fix links * Session info module * create an approvals_inherent module * integrate approvals module with inclusion * Remove approvals runtime * tweak mentions of on-chain logic * add note on finality-grandpa voting rule * elaborate on node-side components * stub for availability recovery * add another note on voting rule * Beginnings of approval subsystems * flesh out approval voting now * logic for checking assignment certs * initial scheduler logic * scheduler logic * adjst tranche taking logic * approval voting import * approval work (voting side) * amend some TODOs * mark some TODOs * describe `ApprovedAncestor` * reference protocol-approval.md * clarity on bitfield * remove approvals_inherent * tweak session_info module according to review * formatting & nits Co-authored-by: Robert Habermeier <[email protected]>
-
- Oct 29, 2020
-
-
Sergey Pepyakin authored
* remove pending TODO after the DMP impl merge * DMP: Update the impl guide * DMP: Incorporate XCM related changes into the guide This is the DMP related part of https://github.com/paritytech/polkadot/issues/1702
-
- Oct 28, 2020
-
-
Sergey Pepyakin 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.
-
- Oct 07, 2020
-
-
Bastian Köcher authored
-
- Oct 06, 2020
-
-
Bastian Köcher authored
This pr changes the collation function to also pass the current relay parent the parachain block should be build on.
-
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]>
-
Bastian Köcher authored
This pr changes the collator interface function to return an optional collation instead of a collation. This is required as the parachain itself can fail to generate a valid collation for various reason. Now if the collation fails it will return `None`. Besides that the pr adds some `RuntimeDebug` derive for `ValidationData` and removes some whitespaces.
-
- Sep 28, 2020
-
-
Fedor Sakharov authored
* Register listeners in statement distribution * Review fixes
-
- Sep 25, 2020
-
-
Sergey Pepyakin authored
* Guide: Change for {Global,Local}ValidationData to ValidationData Seems like that was missed during the transition from notions of global and local validation data to persistent and transient * collation-generation: a small drive-by fix of line length * collation-generation: extract an error module this allows us to avoid piling Error and Result types from different contexts, specifically std vs. module-local * collation-generation: extract LOG_TARGET from log statements
-
- Sep 16, 2020
-
-
Sergey Pepyakin authored
* Guide: Reindent the router module with 4 spaces The guide used to use 2 spaces for indentation. The problem with that is `mdbook` doesn't recognize them as a proper indentation and thus doesn't render indent properly. A couple of things are not indented here because they will be changed in the following commits * Guide: a bunch of fixes
-
- Sep 10, 2020
-
-
Sergey Pepyakin authored
-
Sergey Pepyakin authored
-
- 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]>
-
- Sep 04, 2020
-
-
Ximin Luo authored
-
- Sep 02, 2020
-
-
Sergey Pepyakin authored
-
Sergey Pepyakin authored
-
Sergey Pepyakin authored
Limit the number of channels a para can have. Split HrmpTransientValidationData and add stuff.
-
Sergey Pepyakin authored
-
- Aug 31, 2020
-
-
Sergey Pepyakin authored
* Multiple fix ups * Remove missed HrmpOpenChannelRequestCount * Fix the invariant string for HrmpOpenChannelRequestCount * Update roadmap/implementers-guide/src/types/candidate.md Co-authored-by: Bernhard Schuster <[email protected]> * Add small clarification * Fix another small typo * Add a clarification to InboundHrmpMessage.sent_at Co-authored-by: Bernhard Schuster <[email protected]>
-
Sergey Pepyakin authored
* Add a note about time of collection of TransientValidationData * Add HRMP digest and dmq length to TransientValidationData * Add a note that the vector in hrmp digest is never empty * Add hrmp watermark to TransientValidationData * Add HRMP egress limits * Incorporate the latest dispatchable upward messages changes. * Update candidate.md * Update candidate.md docs * Fix wording * Delete assignmets.md * Update roadmap/implementers-guide/src/types/candidate.md Co-authored-by: Bastian Köcher <[email protected]> * Extract HrmpTransientValidationData and add additional data. * Some clarifications. * Introduce HrmpAbridgedOpenChannelRequest * Update roadmap/implementers-guide/src/types/candidate.md Co-authored-by: Bernhard Schuster <[email protected]> * Fix typo: egress->ingress * A note about sorting Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Bernhard Schuster <[email protected]>
-
asynchronous rob authored
* move validity module to disputes module * prepare a section on approvals * extract approval/assignments text to an overview section * Apply suggestions from code review Spelling Co-authored-by: Fedor Sakharov <[email protected]>
-
- Aug 18, 2020
-
-
Ximin Luo authored
-
Jeff Burdges authored
* Initial guide modifications for approvals * Split approval assignments keys and approval votes keys This should avoid the political problems with validator operators wnting everything to be a remote signer. * Update roadmap/implementers-guide/src/runtime/validity.md Co-authored-by: Robert Habermeier <[email protected]> * Update roadmap/implementers-guide/src/node/validity/assignments.md Co-authored-by: Robert Habermeier <[email protected]> * Update roadmap/implementers-guide/src/node/validity/assignments.md Co-authored-by: Robert Habermeier <[email protected]> * Update roadmap/implementers-guide/src/node/validity/assignments.md Co-authored-by: Robert Habermeier <[email protected]> * Update roadmap/implementers-guide/src/node/validity/assignments.md Co-authored-by: Robert Habermeier <[email protected]> * Update roadmap/implementers-guide/src/node/validity/assignments.md Co-authored-by: Robert Habermeier <[email protected]> * Update roadmap/implementers-guide/src/node/validity/assignments.md Co-authored-by: Robert Habermeier <[email protected]> * Update roadmap/implementers-guide/src/node/validity/assignments.md Co-authored-by: Robert Habermeier <[email protected]> * Update roadmap/implementers-guide/src/node/validity/approvals.md Co-authored-by: hndnklnc <[email protected]> * Update roadmap/implementers-guide/src/node/validity/approvals.md Co-authored-by: hndnklnc <[email protected]> * Update roadmap/implementers-guide/src/runtime/validity.md Co-authored-by: Robert Habermeier <[email protected]> * Not sure where these go.. * Update roadmap/implementers-guide/src/node/validity/approvals.md Co-authored-by: Robert Habermeier <[email protected]> * Local clock leniency * Explain HSM blabla * double word * Clarify okasing things on-chain * Assignments integration with relative time * minor tweaks * Clarify structure and work savings * Use included more * Cleanup and paramaters See https://github.com/w3f/research-internal/issues/515 * More on GRANDPA * Explain relay equivocation relevance * Address postponement and on-chain verification somewhat * small bit more explination * just use ed25519 here: could -> should * spelling Co-authored-by: Robert Habermeier <[email protected]> Co-authored-by: hndnklnc <[email protected]>
-
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]>
-
Sergey Pepyakin authored
* Draft HRMP related message types * Make HRMP use upward message kinds * Incorporate changes into messaging.md * Make docs a bit more clear * Clarify remove "D" * Update roadmap/implementers-guide/src/messaging.md Co-authored-by: Bernhard Schuster <[email protected]> * Update roadmap/implementers-guide/src/runtime/router.md Co-authored-by: Bernhard Schuster <[email protected]> * Update router.md * Update roadmap/implementers-guide/src/runtime/router.md Co-authored-by: Robert Habermeier <[email protected]> Co-authored-by: Bernhard Schuster <[email protected]> Co-authored-by: Robert Habermeier <[email protected]>
-
- Aug 17, 2020
-
-
Sergey Pepyakin 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
-
- Aug 14, 2020
-
-
Sergey Pepyakin authored
* Take 2 at the upward messages * Trying to restore stuff from unsuccesful rebase * Fix whitespace * Clean up * Change rustdoc to comment * Pivot to a less stricter, w.r.t. to acceptance, model * Rename `max_upward_message_num_per_candidate` * Update docs for DownwardMessage * Apply suggestions from code review Co-authored-by: Robert Habermeier <[email protected]> * Rephrase "Dispatchable objects ready to ..." * Finish the sentence * Add a note about imprecision of the current weight formula * Elaborate on potential use-cases for the upward message kinds. * s/later/below Co-authored-by: Robert Habermeier <[email protected]>
-
- Aug 13, 2020
-
-
asynchronous rob authored
* guide: validation data refactoring * address grumbles from review * Update roadmap/implementers-guide/src/types/candidate.md Co-authored-by: Bernhard Schuster <[email protected]> * last comments from review Co-authored-by: Sergei Shulepov <[email protected]> Co-authored-by: Bernhard Schuster <[email protected]>
-
- Aug 12, 2020
-
-
Dan Forbes authored
* Augment Implementer's Guide XCMP docs * Remove the note about the third category * Make Cross-Chain Message Passing a h3 Co-authored-by: Sergei Shulepov <[email protected]>
-