- Jan 19, 2021
-
-
Sergey Pepyakin authored
-
Sergey Pepyakin authored
We are using DMQ quite often including in rustdoc, however, it may be hard to know what is that. Adding it to the glossary.
-
- Jan 18, 2021
-
-
Sergey Pepyakin authored
* collation-generation: use persisted validation data * node: remote FullValidationData API * runtime: remove FullValidationData API * backing tests: use persisted validation data * FullCandidateReceipt: use persisted validation data This is not a big change since this type is not used anywhere * Remove ValidationData and TransientValidationData Also update the guide
-
asynchronous rob authored
* skeleton * skeleton aux-schema module * start approval types * start aux schema with aux store * doc * finish basic types * start approval types * doc * finish basic types * write out schema types * add debug and codec impls to approval types * add debug and codec impls to approval types also add some key computation * add debug and codec impls to approval types * getters for block and candidate entries * grumbles * remove unused AssignmentId * load_decode utility * implement DB clearing * function for adding new block entry to aux store * start `canonicalize` implementation * more skeleton * finish implementing canonicalize * tag TODO * implement a test AuxStore * add allow(unused) * basic loading and deleting test * block_entry test function * add a test for `add_block_entry` * ensure range is exclusive at end * test clear() * test that add_block sets children * add a test for canonicalize * Update node/core/approval-voting/src/aux_schema/mod.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Update node/core/approval-voting/src/aux_schema/tests.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Update node/core/approval-voting/src/aux_schema/mod.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
-
- Jan 14, 2021
-
-
Robert Klotzner authored
* More doc fixes. * Minor refactorings in the process of #2177 By having everything peer set related depend directly on the enum the code becomes more clear and it is also straight forward to add more peersets/protocols as the compiler will complain if you forget to implement parts of it. * Add peer set infos on startup properly For feature real_overseer. + Fixes from review. Thanks @coriolinus and @ordian ! * More structure in network-bridge Some changes, which would have helped me in groking the code faster. Entry points/public types more to the top. Factored out implementation in their own files, to clear up the top-level view. * Get rid of local ProtocolName type definition. Does not add much at this level. * Fix tests + import cleanup. * Make spaces tabs. * Clarify what correct parameters to send_message are * Be more less vague in docs of send_message. * Apply suggestions from code review Extend copyright on new files to 2021 as well. Co-authored-by: Andronik Ordian <[email protected]> Co-authored-by: Andronik Ordian <[email protected]>
-
- Jan 13, 2021
-
-
asynchronous rob authored
* scheduler: handle re-scheduling around finalization correctly * also make sure parathreads get cleaned * run scheduling in finalization * Remove stray println! * Update the schedule call site in inclusion inherent * Clarify subtlety around SessionStartBlock * Remove double semi-colon * reschedule prior to `availability_cores` and in on-initialize * improve docs * fix line * more doc reformat * remove unneeded call * avoid unnecessary scheduling on initialize * split `clear` and `schedule * Update runtime/parachains/src/scheduler.rs Co-authored-by: Sergei Shulepov <[email protected]> Co-authored-by: Sergei Shulepov <[email protected]>
-
- Jan 11, 2021
-
-
asynchronous rob authored
* alternate availability store schema * improvements * tweaks * new DB schema and skeleton * expand skeleton and tweaks * handle backing and inclusion * let finality be handled later * handle finalized blocks * implement query methods * implement chunk storing * StoreAvailableData * fix an off-by-one * implement pruning * reinstate subsystem trait impl * reinstate metrics * fix warnings * remove chunks_cache * oops * actually store the available data * mockable pruning interval * fix tests * spacing * fix code grumbles * guide improvements * make time mockable * implement a mocked clock for testing * return DB errors * Update node/core/av-store/Cargo.toml Co-authored-by: Bastian Köcher <[email protected]> * Update roadmap/implementers-guide/src/node/utility/availability-store.md Co-authored-by: Bastian Köcher <[email protected]> * Update roadmap/implementers-guide/src/node/utility/availability-store.md Co-authored-by: Bastian Köcher <[email protected]> * review grumbles & clarity * fix review grumbles * Add docs Co-authored-by: Andronik Ordian <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Andronik Ordian <[email protected]>
-
- Jan 07, 2021
-
-
asynchronous rob authored
Batch messages to network bridge and introduce a timeout to `SubsystemContext::send_message` (#2197) * guide: batch network messages * bridge: batch * av-dist: batch outgoing messages * time-out message sends in subsystem context * Update node/subsystem/src/messages.rs Co-authored-by: Bastian Köcher <[email protected]> * Revert "time-out message sends in subsystem context" This reverts commit d49be625 . * Update node/network/availability-distribution/src/lib.rs Co-authored-by: Bastian Köcher <[email protected]>
-
Fedor Sakharov authored
* Store all chunks and in a single transaction * Adds chunks LRU to store * Add pruning records metrics * Use honest cache instead of LRU * Remove unnecessary optional cache * Fix review nits that are fixable
-
- Jan 04, 2021
-
-
Sergey Pepyakin authored
* Cont.: Implement the state root obtaining during inclusion During inclusion now we obtain the storage root by passing it through the inclusion_inherent. * Fix tests * Bump rococo spec version * Reorder the parent header into the end of the inclusion inherent. When the parent header is in the beginning, it shifts the other two fields, so that a previous version won't be able to decode that. If we put the parent header in the end, the other two fields will stay at their positions, thus make it possible to decode with the previous version. That allows us to perform upgrade of rococo runtime without needing of simultanuous upgrade of nodes and runtime, or restart of the network. * Squash a stray tab
-
- Dec 24, 2020
-
-
asynchronous rob authored
* guide: ensure max-per-core leads to creation of extra, semi-useless cores * alter behavior of max_validators_per_core * guide fixes
-
- Dec 21, 2020
-
-
Sergey Pepyakin authored
* Don't initialize block when calling runtime APIs * Adapt check_validation_outputs We split the code path for the inclusion and for the commitments checking. * Slap #[skip_initialize_block] on safe runtime APIs That is, those that should not be affected by this attribute * Make `Scheduled` not ephemeral So that it is persisted in the storage and ready to be inspected by the runtime APIs. This is in contrast to what was before, where we would remove the storage entry and then rely on the scheduling performed by `on_initialize` again. * Add a big fat comment * Typos Co-authored-by: Robert Habermeier <[email protected]> * Move session change to the end of the current block Previously, it was the beginning of the next block. This allows us to put #[skip_initialize_block] * Update tests * Fix a test in paras registrar Also refactor it a bit so the next time there are more chances this kind of issue is diagnosed quicker. * Add for_runtime_api to inclusion's check_validation_outputs Co-authored-by: Robert Habermeier <[email protected]>
-
- Dec 20, 2020
-
-
asynchronous rob authored
* add candidate hash statement circulation span * add relay-parent to hash-span * Some typos and misspellings in docs I found, during my studies. (#2144) * Fix stale link to overseer docs * Some typos and mispellings in docs/comments I found during studying how Polkadot works. * Rococo V1 (#2141) * Update to latest master and use 30 minutes sessions * add bootnodes to chainspec * Update Substrate * Update chain-spec * Update Cargo.lock * GENESIS * Change session length to one hour * Bump spec_version to not fuck anything up ;) Co-authored-by: Erin Grasmick <[email protected]> * avoid creating duplicate unbacked spans when we see extra statements (#2145) * improve jaeger spans for statement distribution * tweak and add failing test for repropagation * make a change that gets the test passing * guide: clarify * remove semicolon Co-authored-by: Robert Klotzner <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Erin Grasmick <[email protected]>
-
- Dec 18, 2020
-
-
Robert Klotzner authored
* Fix stale link to overseer docs * Some typos and mispellings in docs/comments I found during studying how Polkadot works.
-
asynchronous rob authored
* guide: add candidate information to OccupiedCore * add descriptor and hash to occupied core type * guide: add candidate hash to inclusion * runtime: return candidate info in core state * bitfield signing: stop querying runtime as much * minimize going to runtime in availability distribution * fix availability distribution tests * guide: remove para ID from Occupied core * get all crates compiling
-
- Dec 17, 2020
-
-
Bastian Köcher authored
* Fix bug and further optimizations in availability distribution - There was a bug that resulted in only getting one candidate per block as the candidates were put into the hashmap with the relay block hash as key. The solution for this is to use the candidate hash and the relay block hash as key. - We stored received/sent messages with the candidate hash and chunk index as key. The candidate hash wasn't required in this case, as the messages are already stored per candidate. * Update node/core/bitfield-signing/src/lib.rs Co-authored-by: Robert Habermeier <[email protected]> * Remove the reverse map * major refactor of receipts & query_live * finish refactoring remove ancestory mapping, improve relay-parent cleanup & receipts-cache cleanup, add descriptor to `PerCandidate` * rename and rewrite query_pending_availability * add a bunch of consistency tests * Add some last changes * xy * fz * Make it compile again * Fix one test * Fix logging * Remove some buggy code * Make tests work again * Move stuff around * Remove dbg * Remove state from test_harness * More refactor and new test * New test and fixes * Move metric * Remove "duplicated code" * Fix tests * New test * Change break to continue * Update node/core/av-store/src/lib.rs * Update node/core/av-store/src/lib.rs * Update node/core/bitfield-signing/src/lib.rs Co-authored-by: Fedor Sakharov <[email protected]> * update guide to match live_candidates changes * add comment * fix bitfield signing Co-authored-by: Robert Habermeier <[email protected]> Co-authored-by: Bernhard Schuster <[email protected]> Co-authored-by: Fedor Sakharov <[email protected]>
-
ordian authored
* refactor View to include finalized_number * guide: update the NetworkBridge on BlockFinalized * av-store: fix the tests * actually fix tests * grumbles * ignore macro doctest * use Hash::repeat_bytes more consistently * broadcast empty leaves updates as well * fix issuing view updates on empty leaves updates
-
ordian authored
* guide: add missing ApprovalDistributionMessage variant * guide: deduplicate sensence
-
- Dec 16, 2020
-
-
asynchronous rob authored
* plumbing for rewarding backers * give validators reward points for participating * fix tests * add bitfield rewarding * add mocks for backing rewards * add testing for backing & availability rewards * implement RewardValidators on top of staking * add to test-runtime and rococo * add to test-runtime & rococo * point to source on rewards values * fix common tests * do not reward availability anymore
-
- Dec 15, 2020
-
-
asynchronous rob authored
* start approval types * doc * finish basic types * add debug and codec impls to approval types * grumbles * remove unused AssignmentId * remove aux-schema file
-
- Dec 11, 2020
-
-
asynchronous rob authored
* guide: merge backing and approval keys * bump substrate master & update primitives * use new SessionInfo struct in session_info * session keys upgrade for Polkadot * kusama & westend runtimes * bump westend, kusama, and polkadot versions * add session key to rococo & test-runtime * update prepare-test-net to latest subkey * update chain specs to support new para_assignment session key * get cargo.lock from master * formatting * update kill_storage based on substrate master * fix test-service * assgn -> asgn * use session info module for assignment session key
-
- Dec 08, 2020
-
-
Bastian Köcher authored
* Adds consistency checks for the `HostConfiguration` Besides that it fixes the chain specs to make the consistency checks happy. * Update runtime/parachains/src/configuration.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Review feedback and test fixes etc * Update * More * I'm an idiot * Fix tests... Co-authored-by: Shawn Tabrizi <[email protected]>
-
- Dec 07, 2020
-
-
asynchronous rob authored
-
- Dec 04, 2020
-
-
Peter Goodspeed-Niklaus authored
* guide: non-semantic changes * guide: update per the issue description * GetBackedCandidates operates on multiple hashes now * GetBackedCandidates still needs a relay parent * implement changes specified in guide * distinguish between various occasions for canceled oneshots * add tracing info to getbackedcandidates * REVERT ME: add tracing messages for GetBackedCandidates Note that these messages are only sometimes actually passed on to the candidate backing subsystem, with the consequence that it is unexpectedly frequent that the provisioner fails to create its provisionable data. * REVERT ME: more tracing logging * REVERT ME: log when CandidateBackingJob receives any message at all * REVERT ME: log when send_msg sends a message to a job * fix candidate-backing tests * streamline GetBackedCandidates This uses table.attested_candidate instead of table.get_candidate, because it's not obvious how to get a BackedCandidate from just a CommittedCandidateReceipt. * REVERT ME: more logging tracing job lifespans * promote warning about job premature demise * don't terminate CandiateBackingJob::run_loop in event of failure to process message * Revert "REVERT ME: more logging tracing job lifespans" This reverts commit 7365f2fb. * Revert "REVERT ME: log when send_msg sends a message to a job" This reverts commit 58e46aad. * Revert "REVERT ME: log when CandidateBackingJob receives any message at all" This reverts commit 0d6f3841. * Revert "REVERT ME: more tracing logging" This reverts commit 675fd262. * Revert "REVERT ME: add tracing messages for GetBackedCandidates" This reverts commit e09e1564. * formatting * add logging message to CandidateBackingJob::run_loop start * REVERT ME: add tracing to candidate-backing job creation * run candidatebacking loop even if no assignment * use unique error variants for each canceled oneshot * Revert "REVERT ME: add tracing to candidate-backing job creation" This reverts commit 8ce5f4f0. * try_runtime_api more to reduce silent exits * add sanity check that returned backed candidates preserve ordering * remove redundant err attribute
-
- Dec 01, 2020
-
-
asynchronous rob authored
* expand description * basics of availability recovery * finish availability recovery * fill out missing text * Update roadmap/implementers-guide/src/node/availability/availability-recovery.md Co-authored-by: Fedor Sakharov <[email protected]> * fix signal handling Co-authored-by: Fedor Sakharov <[email protected]>
-
- Nov 30, 2020
-
-
asynchronous rob authored
* parachains runtime: configurable maximum validators per core * update guide and add test
-
- Nov 28, 2020
-
-
asynchronous rob authored
* change approval voting counting procedure * language * Update roadmap/implementers-guide/src/node/approval/approval-voting.md Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * improve language * time-shifting * tweak time-shifting * expand * typo * tweaks to ensure we always get woken up * move timing check into `tranches_to_approve` Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
-
- Nov 27, 2020
-
-
asynchronous rob authored
* guide: move erasure-root to candidate descriptor * primitives: move erasure root to descriptor * guide: unify candidate commitments and validation outputs * primitives: unify validation outputs and candidate commitments * parachains-runtime: fix fallout * runtimes: fix fallout * collation generation: fix fallout * fix stray reference in primitives * fix fallout in node-primitives * fix remaining fallout in collation generation * fix fallout in candidate validation * fix fallout in runtime API subsystem * fix fallout in subsystem messages * fix fallout in candidate backing * fix fallout in availability distribution * don't clone * clone Co-authored-by: Sergei Shulepov <[email protected]>
-
- Nov 26, 2020
-
-
ordian authored
* guide: fix formatting for SessionInfo module * primitives: SessionInfo type * punt on approval keys * ah, revert the type alias * session info runtime module skeleton * update the guide * runtime/configuration: sync with the guide * runtime/configuration: setters for newly added fields * runtime/configuration: set codec indexes * runtime/configuration: update test * primitives: fix SessionInfo definition * runtime/session_info: initial impl * runtime/session_info: use initializer for session handling (wip) * runtime/session_info: mock authority discovery trait * guide: update the initializer's order * runtime/session_info: tests skeleton * runtime/session_info: store n_delay_tranches in Configuration * runtime/session_info: punt on approval keys * runtime/session_info: add some basic tests * Update primitives/src/v1.rs * small fixes * remove codec index annotation on structs * fix off-by-one error * validator_discovery: accept a session index * runtime: replace validator_discovery api with session_info * Update runtime/parachains/src/session_info.rs Co-authored-by: Sergei Shulepov <[email protected]> * runtime/session_info: add a comment about missing entries * runtime/session_info: define the keys * util: expose connect_to_past_session_validators * util: allow session_info requests for jobs * runtime-api: add mock test for session_info * collator-protocol: add session_index to test state * util: fix error message for runtime error * fix compilation * fix tests after merge with master Co-authored-by: Sergei Shulepov <[email protected]>
-
- Nov 25, 2020
-
-
asynchronous rob authored
* skeleton flow control * tweaks & rename to approvals distribution * Update roadmap/implementers-guide/src/node/approval/approval-distribution.md Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Update roadmap/implementers-guide/src/node/approval/approval-distribution.md Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * add a `NewBlocks` message and dispatch * new data format for approval distribution * guide: update view to include finalized block number * approvals: document view updating * pruning when peers disconnect * add remaining message types * fix link * network message type * handle incoming assignments * import_and_circulate_approval * handle new blocks * address review comments * address review comments and use nifty VRFProof Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
-
- Nov 24, 2020
-
-
asynchronous rob authored
* elaborate on runtime API * clarify what to do if the runtime API calls fail * Update roadmap/implementers-guide/src/node/approval/approval-voting.md Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Update roadmap/implementers-guide/src/node/approval/approval-voting.md Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Bastian Köcher <[email protected]>
-
- Nov 20, 2020
-
-
ordian authored
* use snake_case for log targets * remove unused continue * validator_discovery: when disconnecting, use all addresses * validator_discovery: simplify request revokation * fix a typo
-
- Nov 19, 2020
-
-
asynchronous rob authored
-
- 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]>
-