1. Sep 09, 2022
  2. Aug 29, 2022
    • Mara Broda's avatar
      version bumps (0.9.28) (#5933) · fc97080c
      Mara Broda authored
      * Bump crate versions
      
      * Bump spec_version to 9280 for kusama
      
      * Bump spec_version to 9280 for polkadot
      
      * Bump spec_version to 9280 for rococo
      
      * Bump spec_version to 9280 for westend
      
      * update Cargo.lock
      
      Co-authored-by: parity-processbot <>
      fc97080c
  3. Aug 24, 2022
  4. Aug 16, 2022
    • Robert Klotzner's avatar
      Reduce dispute coordinator load (#5785) · ca6297c8
      Robert Klotzner authored
      * Don't import backing statements directly
      
      into the dispute coordinator. This also gets rid of a redundant
      signature check. Both should have some impact on backing performance.
      In general this PR should make us scale better in the number of parachains.
      
      Reasoning (aka why this is fine):
      
      For the signature check: As mentioned, it is a redundant check. The
      signature has already been checked at this point. This is even made
      obvious by the used types. The smart constructor is not perfect as
      discussed [here](https://github.com/paritytech/polkadot/issues/3455
      
      ),
      but is still a reasonable security.
      
      For not importing to the dispute-coordinator: This should be good as the
      dispute coordinator does scrape backing votes from chain. This suffices
      in practice as a super majority of validators must have seen a backing
      fork in order for a candidate to get included and only included
      candidates pose a threat to our system. The import from chain is
      preferable over direct import of backing votes for two reasons:
      
      1. The import is batched, greatly improving import performance. All
         backing votes for a candidate are imported with a single import.
         And indeed we were able to see in metrics that importing votes
         from chain is fast.
      2. We do less work in general as not every candidate for which
         statements are gossiped might actually make it on a chain. The
         dispute coordinator as with the current implementation would still
         import and keep those votes around for six sessions.
      
      While redundancy is good for reliability in the event of bugs, this also
      comes at a non negligible cost. The dispute-coordinator right now is the
      subsystem with the highest load, despite the fact that it should not be
      doing much during mormal operation and it is only getting worse
      with more parachains as the load is a direct function of the number of statements.
      
      We'll see on Versi how much of a performance improvement this PR
      
      * Get rid of dead code.
      
      * Dont send approval vote
      
      * Make it pass CI
      
      * Bring back tests for fixing them later.
      
      * Explicit signature check.
      
      * Resurrect approval-voting tests (not fixed yet)
      
      * Send out approval votes in dispute-distribution.
      
      Use BTreeMap for ordered dispute votes.
      
      * Bring back an important warning.
      
      * Fix approval voting tests.
      
      * Don't send out dispute message on import + test
      
      + Some cleanup.
      
      * Guide changes.
      
      Note that the introduced complexity is actually redundant.
      
      * WIP: guide changes.
      
      * Finish guide changes about dispute-coordinator
      
      conceputally. Requires more proof read still.
      
      Also removed obsolete implementation details, where the code is better
      suited as the source of truth.
      
      * Finish guide changes for now.
      
      * Remove own approval vote import logic.
      
      * Implement logic for retrieving approval-votes
      
      into approval-voting and approval-distribution subsystems.
      
      * Update roadmap/implementers-guide/src/node/disputes/dispute-coordinator.md
      
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      
      * Review feedback.
      
      In particular: Add note about disputes of non included candidates.
      
      * Incorporate Review Remarks
      
      * Get rid of superfluous space.
      
      * Tidy up import logic a bit.
      
      Logical vote import is now separated, making the code more readable and
      maintainable.
      
      Also: Accept import if there is at least one invalid signer that has not
      exceeded its spam slots, instead of requiring all of them to not exceed
      their limits. This is more correct and a preparation for vote batching.
      
      * We don't need/have empty imports.
      
      * Fix tests and bugs.
      
      * Remove error prone redundancy.
      
      * Import approval votes on dispute initiated/concluded.
      
      * Add test for approval vote import.
      
      * Make guide checker happy (hopefully)
      
      * Another sanity check + better logs.
      
      * Reasoning about boundedness.
      
      * Use `CandidateIndex` as opposed to `CoreIndex`.
      
      * Remove redundant import.
      
      * Review remarks.
      
      * Add metric for calls to request signatures
      
      * More review remarks.
      
      * Add metric on imported approval votes.
      
      * Include candidate hash in logs.
      
      * More trace log
      
      * Break cycle.
      
      * Add some tracing.
      
      * Cleanup allowed messages.
      
      * fmt
      
      * Tracing + timeout for get inherent data.
      
      * Better error.
      
      * Break cycle in all places.
      
      * Clarified comment some more.
      
      * Typo.
      
      * Break cycle approval-distribution - approval-voting.
      
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      ca6297c8
  5. Aug 09, 2022
  6. Jul 28, 2022
  7. Jul 20, 2022
    • Sebastian Kunert's avatar
      Introduce async runtime calling trait for runtime-api subsystem (#5782) · 72bde288
      Sebastian Kunert authored
      
      
      * Implement OverseerRuntimeClient
      
      * blockchainevents
      
      * Update patches
      
      * Finish merging rntime-api subsystem
      
      * First version that is able to produce blocks
      
      * Make OverseerRuntimeClient async
      
      * Move overseer notification stream forwarding to cumulus
      
      * Remove unused imports
      
      * Add more logging to collator-protocol
      
      * Lockfile
      
      * Use hashes in OverseerRuntimeClient
      
      * Move OverseerRuntimeClient into extra module
      
      * Fix old session info call and make HeadSupportsParachain async
      
      * Improve naming of trait
      
      * Cleanup
      
      * Remove unused From trait implementation
      
      * Remove unwanted debug print
      
      * Move trait to polkadot-node-subsystem-types
      
      * Add sections to runtime client
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * Reorder methods
      
      * Fix spelling
      
      * Fix spacing in Cargo.toml
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Remove unused babe methods
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      72bde288
  8. Jul 06, 2022
  9. Jun 27, 2022
  10. Jun 21, 2022
    • Mara Broda's avatar
      bump versions to 0.9.25 (#5684) · 97f9b840
      Mara Broda authored
      * kusama: bump spec_version to 9250
      
      * polkadot: bump spec_version to 9250
      
      * rococo: bump spec_version to 9250
      
      * westend: bump spec_version to 9250
      
      * bump version to 0.9.25
      
      * bump transaction version (polkadot & kusama) (#5690)
      
      * kusama: bump transaction_version to 12
      
      * polkadot: bump transaction_version to 13
      97f9b840
  11. May 27, 2022
  12. May 19, 2022
  13. May 16, 2022
  14. May 12, 2022
  15. May 11, 2022
    • Davide Galassi's avatar
      Revert approval voting (#5438) · 8837dc7e
      Davide Galassi authored
      * Revert approval-voting subsystem
      
      * Approval voting revert encapsulated within 'ops' module
      
      * use 'get_stored_blocks' to get lower block height
      
      * Fix error message
      
      * Optionally shrink/delete stored blocks range
      
      * range end number is last block number plus 1
      
      * Apply code review suggestions
      
      * Use tristate enum for block range in backend overlay
      
      * Add clarification comment
      
      * Add comments to private struct
      8837dc7e
  16. May 04, 2022
  17. Apr 19, 2022
    • asynchronous rob's avatar
      Reduce network bandwidth, improve parablock times: optimize approval-distribution (#5164) · 79ecc538
      asynchronous rob authored
      
      
      * gossip-support: be explicit about dimensions
      
      * some guide updates
      
      * update network-bridge to distinguish x and y dimensions
      
      * get everything to compile
      
      * beginnings
      
      * some TODOs
      
      * polkadot runtime: use relevant_authorities
      
      * make gossip topologies per-session
      
      * better formatting
      
      * gossip support: use current session validators
      
      * expand in comment
      
      * adjust tests and fix index bug
      
      * add past/present/future connection test and clean up code
      
      * fmt
      
      * network bridge: updated types
      
      * update protocols to new gossip topology message
      
      * guide updates
      
      * add session to BlockApprovalMeta
      
      * add session to block info
      
      * refactor knowledge and remove most unify logic
      
      * start replacing gossip_peers with new SessionTopologies
      
      * add routing information to message state
      
      * add some utilities to SessionTopology
      
      * implement new gossip topology logic
      
      * re-implement unify_with_peer
      
      * distribute assignments according to topology
      
      * finish grid topology implementation
      
      * refactor network bridge slightly
      
      * issue connection requests on all past/present/future
      
      * fmt
      
      * address grumbles
      
      * tighten invariants in unify_with_peer
      
      * implement random propagation
      
      * refactor: extract required routing adjustment logic
      
      * some block-age logic
      
      * aggressively propagate messages when finality is slow
      
      * overhaul aggression system to have 3 levels
      
      * add aggression metrics
      
      * remove aggression L3
      
      * reduce random circulation
      
      * remove PeerData
      
      * get approval tests compiling
      
      * use btree_map in known_by to make deterministic
      
      * Revert "use btree_map in known_by to make deterministic"
      
      This reverts commit 330d65343a7bb6fe4dd0f24bd8dbc15c0cbdbd9d.
      
      * test XY grid propagation
      
      * remove stray println
      
      * test unshared dimension propagation
      
      * add random gossip check
      
      * test unify_with_peer better
      
      * test sending after getting gossip topology
      
      * test L1 aggression on originator
      
      * test L1 aggression for non-originators
      
      * test non-originator aggression L2
      
      * fnt
      
      * ~spellcheck
      
      * fix statement-distribution tests
      
      * fix flaky test
      
      * fix metrics typo
      
      * re-send periodically
      
      * test resending
      
      * typo
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * add more metrics about apd messages
      
      * add back unify_with_peer logs
      
      * make Resend an enum
      
      * be more explicit when resending
      
      * fmt
      
      * fix error
      
      * add a TODO for refactoring
      
      * remove debug metrics
      
      * add some guide stuff
      
      * fmt
      
      * update runtime API in test-runtim
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      79ecc538
    • Robert Klotzner's avatar
      dispute-coordinator: Cleanup + Bug fixes (#5323) · f820db49
      Robert Klotzner authored
      * Make import confirmation oneshot optional.
      
      * Cleanup for further improvements.
      
      * Queue adoptions.
      
      * Fix fieldname
      
      * Use correct relay parent
      
      * Fix scraper tests.
      
      * Small optimization.
      
      * Fix all tests.
      
      * Fix other tests.
      
      * fmt
      
      * spelling
      
      * Fix warning.
      f820db49
  18. Apr 13, 2022
  19. Apr 08, 2022
  20. Apr 04, 2022
  21. Mar 31, 2022
  22. Mar 23, 2022
  23. Mar 18, 2022
  24. Mar 15, 2022
  25. Mar 14, 2022
  26. Mar 11, 2022
  27. Mar 10, 2022
  28. Mar 09, 2022
    • asynchronous rob's avatar
      Finish migration to v2 primitives (#5037) · 49f7e5cc
      asynchronous rob authored
      * remove v0 primitives from polkadot-primitives
      
      * first pass: remove v0
      
      * fix fallout in erasure-coding
      
      * remove v1 primitives, consolidate to v2
      
      * the great import update
      
      * update runtime_api_impl_v1 to v2 as well
      
      * guide: add `Version` request for runtime API
      
      * add version query to runtime API
      
      * reintroduce OldV1SessionInfo in a limited way
      49f7e5cc
  29. Mar 03, 2022
    • cheme's avatar
      paritydb support for parachains db. (#4838) · d5ddb1a8
      cheme authored
      * parity db subsystem without cache and no splitted column
      
      * fmt
      
      * fix path (auto from parity-db fail)
      
      * lru cache for db column with cache
      
      * Revert "lru cache for db column with cache"
      
      This reverts commit ae177bc5e107a075eff6a21f651218ada6599b74.
      
      * Write_lock mutex
      
      * theoric code for bridges
      
      * revert changes
      
      * Revert bridge changes
      
      * fix spec_version
      
      * update parity db
      
      * test purge-db
      
      * Use specific ordered collection with paritydb.
      
      * Revert "Use specific ordered collection with paritydb."
      
      This reverts commit 8b66d0a4ae914cba1af0f44050d45dd6d9327c6b.
      
      * fix chain selection tests.
      
      * remove patch
      
      * fix auto.
      
      * Remove useless exists directory method
      
      * purge chain without parity-db removal
      
      * spellcheck
      
      * renamings and filtering.
      
      * fix assertion
      
      * format
      
      * update parity-db and fmt
      
      * Auto keep using rocksdb when it exists.
      
      * Revert "Auto keep using rocksdb when it exists."
      
      This reverts commit cea49b32ae590bdce31fed5c45f3c028ae0c7564.
      
      * Update kvdb version.
      d5ddb1a8
  30. Feb 25, 2022
  31. Feb 24, 2022
  32. Feb 18, 2022