- 01 Apr, 2021 1 commit
-
-
thiolliere authored
* code stored in para + modify CandidateDescriptor. * WIP: digest + some more impl * validation_code_hash in payload + check in inclusion * check in client + refator * tests * fix encoding indices * remove old todos * fix test * fix test * add test * fetch validation code inside collation-generation from the relay-chain * HashMismatch -> PoVHashMismatch + miscompilation * refactor, store hash when needed * storage rename: more specific but slightly too verbose * do not hash on candidate validation, fetch hash instead * better test * fix test * guide updates * don't panic in runtime Co-authored-by:
Robert Habermeier <rphmeier@gmail.com>
-
- 19 Feb, 2021 1 commit
-
-
Shawn Tabrizi authored
* initial implementation of lifecycles and upgrades * clean up a bit * fix doc comment * more rigid lifecycle checks * include paras which are transitioning, and lifecycle query * format guide * update api * update guide * explicit outgoing state, fix genesis * handle outgoing with transitioning paras * do not include transitioning paras in identifier * Update roadmap/implementers-guide/src/runtime/paras.md * Update roadmap/implementers-guide/src/runtime/paras.md * Update roadmap/implementers-guide/src/runtime/paras.md * Apply suggestions from code review * Use matches macro * Correct terms * Apply suggestions from code review * actions queue * Revert "actions queue" This reverts commit b2e9011e . * collapse onboarding state * starting actions queue * consolidate actions queue * schedule para initialize result * more actions queue for upgrade/downgrade * clean up with fully implemented actions queue * fix tests * fix scheduler tests * fix hrmp tests * fix test * doc fixes * fix hrmp test w/ valid para * Update paras.md * fix paras registrar * Update propose_parachain.rs * fix merge * Introduce "shared" module * fix rococo build * fix up and use shared * guide updates * add shared config to common tests * add shared to test-runtime * remove println * fix note Co-authored-by:
Gavin Wood <gavin@parity.io>
-
- 15 Feb, 2021 1 commit
-
-
Shawn Tabrizi authored
* initial hack in * finish up * use notification to pass outgoing paras * move outgoing paras from notifications * missing comma * update guides * clean up
-
- 04 Feb, 2021 1 commit
-
-
Shawn Tabrizi authored
* initial implementation of lifecycles and upgrades * clean up a bit * fix doc comment * more rigid lifecycle checks * include paras which are transitioning, and lifecycle query * format guide * update api * update guide * explicit outgoing state, fix genesis * handle outgoing with transitioning paras * do not include transitioning paras in identifier * Update roadmap/implementers-guide/src/runtime/paras.md * Update roadmap/implementers-guide/src/runtime/paras.md * Update roadmap/implementers-guide/src/runtime/paras.md * Apply suggestions from code review * Use matches macro * Correct terms * Apply suggestions from code review * actions queue * Revert "actions queue" This reverts commit b2e9011e . * collapse onboarding state Co-authored-by:
Gavin Wood <gavin@parity.io>
-
- 06 Nov, 2020 1 commit
-
-
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 <coriolinus@users.noreply.github.com> * 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 <coriolinus@users.noreply.github.com>
-
- 13 Aug, 2020 1 commit
-
-
asynchronous rob authored
* guide: validation data refactoring * address grumbles from review * Update roadmap/implementers-guide/src/types/candidate.md Co-authored-by:
Bernhard Schuster <bernhard@ahoi.io> * last comments from review Co-authored-by:
Sergei Shulepov <sergei@parity.io> Co-authored-by:
Bernhard Schuster <bernhard@ahoi.io>
-
- 06 Aug, 2020 1 commit
-
-
Sergey Pepyakin authored
* First stab at downward messages. That also includes a notion of horizontal messages. * Add some structure to the router. * Update `ValidationOutputs` * Add `processed_downward_messages` to `ValidationOutputs`. Forgot to check that in. * s/AccountId/ParaId * DownwardMessage::ParachainSpecfic * s/ensure_horizontal_messages_fits/ensure_horizontal_messages_fit * Clarify that Router called for each candidate * Update the preamble for Router. * Rewrite the relay-chain extrinsic routines * Update gloassary * Add DMP to the glossary * If the queue is empty, `processed_downward_messages` can be 0 * WIP * Add condemned list * Pivot to message-storing channel based HRMP * Finished draft * Tidy up * Remove a duplicate glossary entry * Fix typo * Fix wording to emphasize that the channel is unidirectional * Proper decrement `HrmpOpenChannelRequestCount` * Add a comment for `HrmpOpenChannelRequestCount`. * Remove old configuration values. * Be more specific about the para{chain,thread} hrmp chan limits. * Fix indentation so the lists are rendendered properly * "to answer **the**" question instead of "a" * Add a missing call to `check_processed_downward_messages` * Clean more stuff during offboarding * Fix typo * Fix typo for the config * Add a call to `prune_dmq` * Add explicit invariants for ingress/egress indexes * Add comments for the sender/reciever deposit config fields * Document various fields and structs in Router module * More docs * Missing docs in Candidate.md * Tabs to spaces in router.md * Apply Rob's suggestion * Add the hrmp_ prefix to the router messages * Those are entry points * Use SessionIndex type for the `age` field * Use a struct to represent `HrmpChannelId` * Put only MQCs into the LocalValidationData * Close request can be initiated by the runtime directly * Close request can be initiated by the runtime directly * tabs/spaces * Maintain the list of the outgoing paras in Router * Update roadmap/implementers-guide/src/runtime/inclusion.md Co-authored-by:
Robert Habermeier <rphmeier@gmail.com> * fix typo * Remove an unnecessary pair of code quotes Co-authored-by:
Robert Habermeier <rphmeier@gmail.com>
-
- 23 Jul, 2020 1 commit
-
-
asynchronous rob authored
* 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
-
- 07 Jul, 2020 1 commit
-
-
asynchronous rob authored
* rename implementor's guide to implementer's guide * fix typos in more places
-
- 18 Jun, 2020 1 commit
-
-
asynchronous rob authored
* add availability bitfield types to primitives * begin inclusion module * use GitHub issue link for limitation * fix some compiler errors * integrate validators into initializer * add generic signing context * make signing-context more generic * fix issues with inclusion module * add TODO * guide: add validators and session index to inclusion * guide: add session index to change notification * implement session change logic * add BackedCandidate type * guide: refine inclusion pipeline * guide: rename group_on to group_validators * guide: add check about collator for parathread * guide: add last_code_upgrade to paras and use in inclusion * implement Paras::last_code_upgrade * implement most checks in process_candidates * make candidate receipt structs more generic * make BackedCandidate struct more generic * use hash param, not block number * check that candidate is in context of the parent block * include inclusion module in initializer * implement enact-candidate * check that only occupied cores have bits set * finish implementing bitfield processing * restructure consistency checks on candidates * make some more primitives generic * signature checking logic for backed candidates * finish implementing process_candidates * implement collect_pending * add some trait implementations to primitives * implement InclusionInherent and squash warnings * test bitfield signing checks * rename parachain head to para_head * fix note_new_head bug in paras * test bitfield enactment in inclusion * helpers for candidate checks * add test for most candidate checks * add test for backing setting storage * test session change logic * remove extraneous type parameter * remove some allow(unused)s * extract threshold computation to const fn * remove some more allow(unused)s * improve doc * add debug assertion * fix primitive test compilation * tag unanimous variant as unused
-
- 11 Jun, 2020 2 commits
-
-
asynchronous rob authored
* scheduler module skeleton * update scheduler skeleton to match latest version of guide * better session change notification * add mock randomness and fix test compilation * shuffle validators into groups * finish implementing session change logic for scheduler * tweak core assignment type to track retries of parathread * reframe queued parathread core as offset * implement initialzation and finalization routines * implement parathread claim queuing * implement core_para * implement the group_validators routine and fix errors * add a reason for freeing cores * implement `schedule` function * add some docs to the scheduled function * implement `occupied` helper * implement availability predicate * fix some warnings * integrate scheduler into initializer * integrate scheduler into mock module * avoid conflict with Substrate's scheduler storage * add parathreads index to paras module * implement parathreads map in paras module * add is_parathread to paras * test adding parathread claim * test that you cannot add claims when no parathread cores exist * check session change parathread queue pruning * test validator shuffling * add allow_unused to scheduler items * add test for scheduling * add some more tests for scheduling logic * test core rotation * check parathread claim pruning after retries * add bound notes * Apply suggestions from code review Co-authored-by:
Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com> Co-authored-by:
Bernhard Schuster <bernhard@ahoi.io> * more suggestions from review * test availability predicate, add box to please compiler * add changes to guide Co-authored-by:
Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com> Co-authored-by:
Bernhard Schuster <bernhard@ahoi.io>
-
Peter Goodspeed-Niklaus authored
* move old implementers' guide, add skeleton of new * Split the old implementers' guide into the new one's sections This is mostly a straightforward copying operation, moving the appropriate sections from the old guide to the new. However, there are certain differences between the old text and the new: - removed horizontal rules between the sections - promoted headers appropriately within each section - deleted certain sections which were in the old guide's ToC but which were not actually present in the old guide. - added Peer Set Manager to the new ToC * remove description headers It is redundant and unnecessary. Descriptions fall directly under the top-level header for any given section. * add stub description of the backing module * add stub description for the availability module * add stub description for collators * add stub description for validity * add stub description for utility * highlight TODO and REVIEW comments * add guide readme describing how to use mdbook * fix markdownlint lints * re-title parachains overview * internal linking for types * module and subsystem internal links * .gitignore should have a trailing newline * node does not have modules, just subsystems
-