1. Nov 30, 2022
    • Marcin S.'s avatar
      Use CPU clock timeout for PVF jobs (#6282) · 28a4e909
      Marcin S. authored
      * Put in skeleton logic for CPU-time-preparation
      
      Still needed:
      - Flesh out logic
      - Refactor some spots
      - Tests
      
      * Continue filling in logic for prepare worker CPU time changes
      
      * Fix compiler errors
      
      * Update lenience factor
      
      * Fix some clippy lints for PVF module
      
      * Fix compilation errors
      
      * Address some review comments
      
      * Add logging
      
      * Add another log
      
      * Address some review comments; change Mutex to AtomicBool
      
      * Refactor handling response bytes
      
      * Add CPU clock timeout logic for execute jobs
      
      * Properly handle AtomicBool flag
      
      * Use `Ordering::Relaxed`
      
      * Refactor thread coordination logic
      
      * Fix bug
      
      * Add some timing information to execute tests
      
      * Add section about the mitigation to the IG
      
      * minor: Change more `Ordering`s to `Relaxed`
      
      * candidate-validation: Fix build errors
      28a4e909
    • alexgparity's avatar
      Clippyfy (#6341) · 9ea14e66
      alexgparity authored
      
      
      * Add clippy config and remove .cargo from gitignore
      
      * first fixes
      
      * Clippyfied
      
      * Add clippy CI job
      
      * comment out rusty-cachier
      
      * minor
      
      * fix ci
      
      * remove DAG from check-dependent-project
      
      * add DAG to clippy
      
      Co-authored-by: default avataralvicsam <[email protected]>
      9ea14e66
    • Mara Broda's avatar
      sync versions with current release (0.9.33) (#6363) · b76086c6
      Mara Broda authored
      * westend: update transaction version
      
      * polkadot: update transaction version
      
      * kusama: update transaction version
      
      * Bump spec_version to 9330
      
      * bump versions to 0.9.33
      b76086c6
  2. Nov 29, 2022
  3. Nov 28, 2022
  4. Nov 26, 2022
  5. Nov 24, 2022
  6. Nov 23, 2022
    • eskimor's avatar
      Rate limit improvements (#6315) · 7ba08473
      eskimor authored
      
      
      * We actually don't need to rate limit redundant requests.
      
      Those redundant requests should not actually happen, but still.
      
      * Add some logging.
      
      * Also log message when the receiving side hit the rate limit.
      
      * Update node/network/dispute-distribution/src/sender/mod.rs
      
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      
      Co-authored-by: default avatareskimor <[email protected]>
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      7ba08473
    • Marcin S.'s avatar
      Add PVF module documentation (#6293) · 1dec2433
      Marcin S. authored
      
      
      * Add PVF module documentation
      
      TODO (once the PRs land):
      
      - [ ] Document executor parametrization.
      
      - [ ] Document CPU time measurement of timeouts.
      
      * Update node/core/pvf/src/lib.rs
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      
      * Clarify meaning of PVF acronym
      
      * Move PVF doc to implementer's guide
      
      * Clean up implementer's guide a bit
      
      * Add page for PVF types
      
      * pvf: Better separation between crate docs and implementer's guide
      
      * ci: Add "prevalidating" to the dictionary
      
      * ig: Remove types/chain.md
      
      The types contained therein did not exist and the file was not referenced
      anywhere.
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      1dec2433
  7. Nov 18, 2022
  8. Nov 17, 2022
    • Tsvetomir Dimitrov's avatar
      Change best effort queue behaviour in `dispute-coordinator` (#6275) · ccad411e
      Tsvetomir Dimitrov authored
      * Change best effort queue behaviour in `dispute-coordinator`
      
      Use the same type of queue (`BTreeMap<CandidateComparator,
      ParticipationRequest>`) for best effort and priority in
      `dispute-coordinator`.
      
      Rework `CandidateComparator` to handle unavailable parent
      block numbers.
      
      Best effort queue will order disputes the same way as priority does - by
      parent's block height. Disputes on candidates for which the parent's
      block number can't be obtained will be treated with the lowest priority.
      
      * Fix tests: Handle `ChainApiMessage::BlockNumber` in `handle_sync_queries`
      
      * Some tests are deadlocking on sending messages via overseer so change `SingleItemSink`to `mpsc::Sender` with a buffer of 1
      
      * Fix a race in test after adding a buffered queue for overseer messages
      
      * Fix the rest of the tests
      
      * Guide update - best-effort queue
      
      * Guide update: clarification about spam votes
      
      * Fix tests in `availability-distribution`
      
      * Update comments
      
      * Add `make_buffered_subsystem_context` in `subsystem-test-helpers`
      
      * Code review feedback
      
      * Code review feedback
      
      * Code review feedback
      
      * Don't add best effort candidate if it is already in priority queue
      
      * Remove an old comment
      
      * Fix insert in best_effort
      ccad411e
    • Andrei Sandu's avatar
      Dedup subsystem name (#6305) · ad41e56e
      Andrei Sandu authored
      
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      ad41e56e
    • Kutsal Kaan Bilgin's avatar
  9. Nov 16, 2022
    • Tsvetomir Dimitrov's avatar
      Provisioner should ignore unconfirmed disputes (#6294) · a0f4287d
      Tsvetomir Dimitrov authored
      * Fix typos
      
      * Filter unconfirmed disputes in provisioner -  random_selection
      
      * Rework dispute coordinator to return `DisputeStatus` with
      `ActiveDisputes` message.
      * Rework the random_selection implementation of `select_disptues` in
        `provisioner` to return only confirmed disputes.
      
      * Filter unconfirmed disputes in provisioner - prioritized_selection
      
      * Add test for unconfirmed disputes handling
      
      * Fix `dispute-distribution` tests
      a0f4287d
  10. Nov 15, 2022
    • Marcin S.'s avatar
      Fixes "for loop over an `Option`" warnings (#6291) · d53513ff
      Marcin S. authored
      Was seeing these warnings when running `cargo check --all`:
      
      ```
      warning: for loop over an `Option`. This is more readably written as an `if let` statement
          --> node/core/approval-voting/src/lib.rs:1147:21
           |
      1147 |             for activated in update.activated {
           |                              ^^^^^^^^^^^^^^^^
           |
           = note: `#[warn(for_loops_over_fallibles)]` on by default
      help: to check pattern in a loop use `while let`
           |
      1147 |             while let Some(activated) = update.activated {
           |             ~~~~~~~~~~~~~~~         ~~~
      help: consider using `if let` to clear intent
           |
      1147 |             if let Some(activated) = update.activated {
           |             ~~~~~~~~~~~~         ~~~
      ```
      
      My guess is that `activated` used to be a SmallVec or similar, as is
      `deactivated`. It was changed to an `Option`, the `for` still compiled (it's
      technically correct, just weird), and the compiler didn't catch it until now.
      d53513ff
    • eskimor's avatar
      c606deb3
  11. Nov 14, 2022
  12. Nov 12, 2022
  13. Nov 11, 2022
    • Tsvetomir Dimitrov's avatar
      Update disputes prioritisation in `dispute-coordinator` (#6130) · ff09b18d
      Tsvetomir Dimitrov authored
      
      
      * Scraper processes CandidateBacked events
      
      * Change definition of best-effort
      
      * Fix `dispute-coordinator` tests
      
      * Unit test for dispute filtering
      
      * Clarification comment
      
      * Add tests
      
      * Fix logic
      
      If a dispute is not backed, not included and not confirmed we
      don't participate but we do import votes.
      
      * Add metrics for refrained participations
      
      * Revert "Add tests"
      
      This reverts commit 7b8391a087922ced942cde9cd2b50ff3f633efc0.
      
      * Revert "Unit test for dispute filtering"
      
      This reverts commit 92ba5fe678214ab360306313a33c781338e600a0.
      
      * fix dispute-coordinator tests
      
      * Fix scraping
      
      * new tests
      
      * Small fixes in guide
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      
      * Fix some comments and remove a pointless test
      
      * Code review feedback
      
      * Clarification comment in tests
      
      * Some tests
      
      * Reference counted `CandidateHash` in scraper
      
      * Proper handling for Backed and Included candidates in scraper
      
      Backed candidates which are not included should be kept for a
      predetermined window of finalized blocks. E.g. if a candidate is backed
      but not included in block 2, and the window size is 2, the same
      candidate should be cleaned after block 4 is finalized.
      
      Add reference counting for candidates in scraper. A candidate can be
      added on multiple block heights so we have to make sure we don't clean
      it prematurely from the scraper.
      
      Add tests.
      
      * Update comments in tests
      
      * Guide update
      
      * Fix cleanup logic for `backed_candidates_by_block_number`
      
      * Simplify cleanup
      
      * Make spellcheck happy
      
      * Update tests
      
      * Extract candidate backing logic in separate struct
      
      * Code review feedback
      
      * Treat  backed and included candidates in the same fashion
      
      * Update some comments
      
      * Small improvements in test
      
      * spell check
      
      * Fix some more comments
      
      * clean -> prune
      
      * Code review feedback
      
      * Reword comment
      
      * spelling
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      ff09b18d
  14. Nov 08, 2022
  15. Nov 07, 2022
  16. Nov 04, 2022
  17. Nov 03, 2022
    • Michal Kucharczyk's avatar
      BlockId removal: refactor: Backend::block_indexed_body (#6233) · a87b2e52
      Michal Kucharczyk authored
      * BlockId removal: refactor: Backend::block_indexed_body
      
      It changes the arguments of `Backend::block_indexed_body` method from: `BlockId<Block>` to: `&Block::Hash`
      
      This PR is part of BlockId::Number refactoring analysis (paritytech/substrate#11292)
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: parity-processbot <>
      a87b2e52
  18. Nov 02, 2022
    • Michal Kucharczyk's avatar
      BlockId removal: refactor: Backend::justifications (#6229) · a4a5fa85
      Michal Kucharczyk authored
      * BlockId removal: refactor: Backend::justifications
      
      It changes the arguments of `Backend::justifications` method from: `BlockId<Block>` to: `&Block::Hash`
      
      This PR is part of BlockId::Number refactoring analysis (paritytech/substrate#11292)
      
      * formatting
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: parity-processbot <>
      a4a5fa85
  19. Nov 01, 2022
    • alexgparity's avatar
      Replace parachain/parathread boolean by enum (#6198) · 6d83525b
      alexgparity authored
      
      
      * Replace parachain/parathread boolean by enum
      
      * Address PR comments
      
      * Update dependencies
      
      * ParaType -> ParaKind
      
      * Swap enum field order to avoid migration
      
      * Rename paratype field to parakind
      
      * Manual en-/decocing of Parakind
      
      * Manual TypeInfo for ParaKind
      
      * rename field back to parachain
      
      * minor
      
      * Update runtime/parachains/src/paras/mod.rs
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      
      * Manual serde Serialize and Deserialize for ParaKind
      
      * cargo fmt
      
      * Update runtime/parachains/src/paras/mod.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Add test for serde_json encoding/decoding
      
      * Move serde_json dep to dev-deps
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      Co-authored-by: default avatarAndronik <[email protected]>
      6d83525b
    • Michal Kucharczyk's avatar
      BlockId removal: refactor: BlockBackend::block_body (#6223) · be70e445
      Michal Kucharczyk authored
      * BlockId removal: refactor: BlockBackend::block_body
      
      It changes the arguments of `BlockBackend::block_body` method from: `BlockId<Block>` to: `&Block::Hash`
      
      This PR is part of BlockId::Number refactoring analysis (paritytech/substrate#11292)
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: parity-processbot <>
      be70e445
    • Marcin S.'s avatar
      PVF timeouts follow-up (#6151) · 1f821976
      Marcin S. authored
      * Rename timeout consts and timeout parameter; bump leniency
      
      * Update implementor's guide with info about PVFs
      
      * Make glossary a bit easier to read
      
      * Add a note to LENIENT_PREPARATION_TIMEOUT
      
      * Remove PVF-specific section from glossary
      
      * Fix some typos
      1f821976
  20. Oct 31, 2022
  21. Oct 26, 2022
    • Marcin S.'s avatar
      Make some fixes to logging in PVF subsystem (#6180) · d4e3501e
      Marcin S. authored
      * Log exit status code for workers
      
      * Make log for execute job conclusion match prepare job conclusion
      
      Trace log for conclusion of prepare job:
      
      ```rs
      gum::debug!(
      	target: LOG_TARGET,
      	validation_code_hash = ?artifact_id.code_hash,
      	?worker,
      	?rip,
      	"prepare worker concluded",
      );
      ```
      
      Co-authored-by: parity-processbot <>
      d4e3501e
  22. Oct 22, 2022
    • Boluwatife Bakre's avatar
      Use a more typesafe approach for managing indexed data (#6150) · 8eb1f461
      Boluwatife Bakre authored
      
      
      * Fix for issue #2403
      
      * Nightly fmt
      
      * Quick documentation fixes
      
      * Default Implementation
      
      * iter() function integrated
      
      * Implemented iter functionalities
      
      * Fmt
      
      * small change
      
      * updates node-network
      
      * updates in dispute-coordinator
      
      * Updates
      
      * benchmarking fix
      
      * minor fix
      
      * test fixes in runtime api
      
      * Update primitives/src/v2/mod.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update primitives/src/v2/mod.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update primitives/src/v2/mod.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update primitives/src/v2/mod.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update primitives/src/v2/mod.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Removal of [index], shorting of FromIterator, Renaming of GroupValidators to ValidatorGroups
      
      * Removal of ops import
      
      * documentation fixes for spell check
      
      * implementation of generic type
      
      * Refactoring
      
      * Test and documentation fixes
      
      * minor test fix
      
      * minor test fix
      
      * minor test fix
      
      * Update node/network/statement-distribution/src/lib.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update primitives/src/v2/mod.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update primitives/src/v2/mod.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * removed IterMut
      
      * Update node/core/dispute-coordinator/src/import.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update node/core/dispute-coordinator/src/initialized.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update primitives/src/v2/mod.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * fmt
      
      * IterMut
      
      * documentation update
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * minor adjustments and new TypeIndex trait
      
      * spelling fix
      
      * TypeIndex fix
      
      Co-authored-by: default avatarAndronik <[email protected]>
      8eb1f461
    • Mara Broda's avatar
      sync versions with current release (0.9.31) (#6176) · f8cc39a7
      Mara Broda authored
      * Bump spec_version to 9310
      
      * bump transaction_version (0.9.31) (#6171)
      
      * Bump transaction_version for polkadot
      
      * Bump transaction_version for kusama
      
      * Bump transaction_version for rococo
      
      * Bump transaction_version for westend
      
      * Bump transaction_version for polkadot
      
      * Bump transaction_version for kusama
      
      * Bump transaction_version for rococo
      
      * Bump transaction_version for westend
      
      * Bump crate versions (0.9.31)
      f8cc39a7
  23. Oct 18, 2022