Skip to content
  1. Jul 14, 2021
    • Denis_P's avatar
      WIP: CI: add spellcheck (#3421) · fc253e6e
      Denis_P authored
      
      
      * CI: add spellcheck
      
      * revert me
      
      * CI: explicit command for spellchecker
      
      * spellcheck: edit misspells
      
      * CI: run spellcheck on diff
      
      * spellcheck: edits
      
      * spellcheck: edit misspells
      
      * spellcheck: add rules
      
      * spellcheck: mv configs
      
      * spellcheck: more edits
      
      * spellcheck: chore
      
      * spellcheck: one more thing
      
      * spellcheck: and another one
      
      * spellcheck: seems like it doesn't get to an end
      
      * spellcheck: new words after rebase
      
      * spellcheck: new words appearing out of nowhere
      
      * chore
      
      * review edits
      
      * more review edits
      
      * more edits
      
      * wonky behavior
      
      * wonky behavior 2
      
      * wonky behavior 3
      
      * change git behavior
      
      * spellcheck: another bunch of new edits
      
      * spellcheck: new words are koming out of nowhere
      
      * CI: finding the master
      
      * CI: fetching master implicitly
      
      * CI: undebug
      
      * new errors
      
      * a bunch of new edits
      
      * and some more
      
      * Update node/core/approval-voting/src/approval_db/v1/mod.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Update xcm/xcm-executor/src/assets.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Suggestions from the code review
      
      * CI: scan only changed files
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      fc253e6e
  2. Jul 13, 2021
    • Seun Lanlege's avatar
      Introduce test runner biolerplate (#2609) · ab9c86d5
      Seun Lanlege authored
      
      
      * adds test-runner boilerplate
      
      * revert to master
      
      * Update node/test/runtime/Cargo.toml
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * fix warning
      
      * use polkadot_development_config
      
      * remove vestigial code
      
      * ...
      
      * remove unused dependencies
      
      * adds simnet binary
      
      * adds simnet binary
      
      * merged with remote
      
      * dummy to check pipeline
      
      * add 2 docker files and a build cmd
      
      * adds logging
      
      * atempt to use binary from build host
      
      * fix simnet-binary
      
      * fix docker commands
      
      * switch branches
      
      * ...
      
      * update docker file
      
      * update the dockerfile 2
      
      * add some message in the cheatsheet
      
      * add repo to chaches stage also
      
      * update paths
      
      * do only 1 stage build
      
      * add time when build cmd started
      
      * remove debugg commands
      
      * polkadot-simnet-substrate-working-version-v1
      
      * reduce size of polkadot-simnet image
      
      * update test runner api
      
      * update test-runner
      
      * ...
      
      * revert to master
      
      * Merge branch 'master' of github.com:paritytech/polkadot into substrate-test-runner
      
      * bump impl version
      
      * remove unused imports, fix test
      
      * was_binary.to_vec()
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * ...
      
      * remove unused import
      
      * remove unused import
      
      * adds post upgrade test
      
      * dry code
      
      * revert spec_version
      
      * update Cargo.lock
      
      * tested and it works
      
      * compare runtime spec version
      
      * fix spaces, remove docker files
      
      * replace spaces with tabs
      
      * Update runtime/polkadot/src/lib.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * ...
      
      * revert Cargo.lock
      
      * bump cargo.lock
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avatarradupopa2010 <[email protected]>
      Co-authored-by: CI system <>
      ab9c86d5
    • Lldenaurois's avatar
      Dispute coordinator overlay (#3462) · dc092778
      Lldenaurois authored
      * node/dispute-coordinator: Modify db to return SubsystemResult.
      
      In preparation of moving to the overlayed backend pattern, this commit
      moves the db to return SubsystemResult values.
      
      * node/dispute-coordinator: Add the Backend and OverlayedBackend.
      
      This commit adds the backend and overlayed backend structs to the
      dispute-coordinator subsystem.
      
      * node/dispute-coordinator: Implement backend and overlayed-backend.
      
      This commit finalizes the move from the previous transactional model
      to the common overlay pattern in subsystem persistency. This can be
      observed in the ApprovalVoting and ChainSelection subsystems.
      
      * Add module docs + license
      
      * Touchup merge
      dc092778
    • Lldenaurois's avatar
      Dispute Coordinator: Batch queries (#3459) · 2d66b8f2
      Lldenaurois authored
      * disputes: Allow batch queries in dispute-coordinator
      
      This commit moves to batch queries when responding to QueryCandidateVotes
      messages. This simplifies the code in the provisioner and dispute-coordinator
      by no longer requiring to make use of a FuturesOrdered when awaiting multiple
      quries. Instead, the provisioner need only request the batch itself.
      
      * node/approval-voting: Address Feedback to fail on query element missing.
      
      * Address feedback
      
      * Fix implementer's guide
      2d66b8f2
  3. Jul 12, 2021
    • ordian's avatar
      more fine grained runtime api caching + a fix for av-store (#3457) · 73ed24f7
      ordian authored
      * finer grained runtime-api caching
      
      * fix av-store
      
      * simplify a request
      
      * remove unused imports
      
      * fix tests
      73ed24f7
    • Robert Klotzner's avatar
      DoS protection on the collator protocol (#3446) · 6994682a
      Robert Klotzner authored
      
      
      * Move on to next validator after timeout.
      
      * Better naming.
      
      * Wrong implementation of validator fetch timeouts.
      
      * Validator side: Move on to next collator
      
      if download takes too long.
      
      * Drop multiple requests from same validator.
      
      * Add test that next response is sent after timeout.
      
      * Multiple requests by same validator should get dropped.
      
      * Test that another collator is tried
      
      after exclusive download time.
      
      * Add dep.
      
      * Cleanup.
      
      * Merge fix.
      
      * Review remarks.
      
      * Fixes.
      
      * Add log targets to trace logs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      6994682a
  4. Jul 09, 2021
    • asynchronous rob's avatar
      Wire up candidate backing, approval-voting to disputes (#3348) · e5122227
      asynchronous rob authored
      * add a from_backing_statement to SignedDisputeStatement
      
      * inform dispute coordinator of all backing statements
      
      * add dispute coordinator message to backing tests
      
      * send positive dispute statement with every approval
      
      * issue disputes when encountering invalid candidates.
      
      * try to fix flaky test for CI (passed locally)
      
      * guide: keep track of concluded-positive disputes until pruned
      
      * guide: block implications
      
      * guide: new dispute inherent flow
      
      * mostly implement recency changes for dispute coordinator
      
      * add a clock to dispute coordinator
      
      * adjust DB tests
      
      * fix and add new dispute coordinator tests
      
      * provisioner: select disputes
      
      * import all validators' approvals
      
      * address nit: refactor backing statement submission
      
      * gracefully handle disconnected dispute coordinator
      
      * remove `review` comment
      
      * fix up old_tests
      
      * fix approval-voting compilation
      
      * fix backing compilation
      
      * use known-leaves in WaitForActivation
      
      * follow-up test fixing
      
      * add back allow(dead_code)
      e5122227
    • Kian Paimani's avatar
      Companion for `substrate/pull/9286` (#3443) · d53ec86b
      Kian Paimani authored
      
      
      * Fix weights
      
      * try something to unbreak companion
      
      * update Substrate
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: parity-processbot <>
      d53ec86b
    • Bernhard Schuster's avatar
      thiserror annotations + spelling (#3452) · d76560fe
      Bernhard Schuster authored
      * remove duplicate thiserror annotations
      
      * chore: cargo spellcheck
      d76560fe
    • Robert Klotzner's avatar
      Dispute distribution implementation (#3282) · b5257b24
      Robert Klotzner authored
      * Dispute protocol.
      
      * Dispute distribution protocol.
      
      * Get network requests routed.
      
      * WIP: Basic dispute sender logic.
      
      * Basic validator determination logic.
      
      * WIP: Getting things to typecheck.
      
      * Slightly larger timeout.
      
      * More typechecking stuff.
      
      * Cleanup.
      
      * Finished most of the sending logic.
      
      * Handle active leaves updates
      
      - Cleanup dead disputes
      - Update sends for new sessions
      - Retry on errors
      
      * Pass sessions in already.
      
      * Startup dispute sending.
      
      * Provide incoming decoding facilities
      
      and use them in statement-distribution.
      
      * Relaxed runtime util requirements.
      
      We only need a `SubsystemSender` not a full `SubsystemContext`.
      
      * Better usability of incoming requests.
      
      Make it possible to consume stuff without clones.
      
      * Add basic receiver functionality.
      
      * Cleanup + fixes for sender.
      
      * One more sender fix.
      
      * Start receiver.
      
      * Make sure to send responses back.
      
      * WIP: Exposed authority discovery
      
      * Make tests pass.
      
      * Fully featured receiver.
      
      * Decrease cost of `NotAValidator`.
      
      * Make `RuntimeInfo` LRU cache size configurable.
      
      * Cache more sessions.
      
      * Fix collator protocol.
      
      * Disable metrics for now.
      
      * Make dispute-distribution a proper subsystem.
      
      * Fix naming.
      
      * Code style fixes.
      
      * Factored out 4x copied mock function.
      
      * WIP: Tests.
      
      * Whitespace cleanup.
      
      * Accessor functions.
      
      * More testing.
      
      * More Debug instances.
      
      * Fix busy loop.
      
      * Working tests.
      
      * More tests.
      
      * Cleanup.
      
      * Fix build.
      
      * Basic receiving test.
      
      * Non validator message gets dropped.
      
      * More receiving tests.
      
      * Test nested and subsequent imports.
      
      * Fix spaces.
      
      * Better formatted imports.
      
      * Import cleanup.
      
      * Metrics.
      
      * Message -> MuxedMessage
      
      * Message -> MuxedMessage
      
      * More review remarks.
      
      * Add missing metrics.rs.
      
      * Fix flaky test.
      
      * Dispute coordinator - deliver confirmations.
      
      * Send out `DisputeMessage` on issue local statement.
      
      * Unwire dispute distribution.
      
      * Review remarks.
      
      * Review remarks.
      
      * Better docs.
      b5257b24
  5. Jul 08, 2021
    • Bernhard Schuster's avatar
    • Lldenaurois's avatar
      Approval voting full subsystem tests (#3391) · 2510bfc5
      Lldenaurois authored
      * node/approval-voting: Introduce Backend trait and Overlaybackend
      
      This commit introduces a Backend trait and attempts to move away
      from the Action model via an OverlayBackend as in the ChainSelection
      subsystem.
      
      * node/approval-voting: Add WriteOps for StoredBlockRange and BlocksAtHeight
      
      * node/approval-voting: Add load_all_blocks to overlay
      
      * node/approval-voting: Get all module tests to pass.
      
      This commit modifies all tests to ensure tests are passing.
      
      * node/approval-voting: Address oversights in the previous commit
      
      This commit addresses some oversights in the prior commit.
      
      1. Inner errors in backend.write were swallowed
      2. One-off write functions removed to avoid useless abstraction
      3. Touch-ups in general
      
      * node/approval-voting: Move from TestDB to dyn KeyValueDB
      
      This commit removes the TestDB from tests.rs and replaces it with
      an in-memory kvdb.
      
      * node/approval-voting: Address feedback
      
      * node/approval-voting: Add license to ops.rs
      
      * node/approval-voting: Address second-pass feedback
      
      * Add TODO
      
      * node/approval-voting: Bump spec_version
      
      * node/approval-voting: Address final comments.
      
      * node/approval-voting: Introduce framework for full subsystem tests
      
      * node/approval-voting: Introduce basic tests to attempt to provide
      coverage via full subsystem tests
      
      * node/approval-voting: Introduce Chainbuilder
      2510bfc5
    • Lldenaurois's avatar
      Approval voting overlay db (#3366) · 7313e485
      Lldenaurois authored
      * node/approval-voting: Introduce Backend trait and Overlaybackend
      
      This commit introduces a Backend trait and attempts to move away
      from the Action model via an OverlayBackend as in the ChainSelection
      subsystem.
      
      * node/approval-voting: Add WriteOps for StoredBlockRange and BlocksAtHeight
      
      * node/approval-voting: Add load_all_blocks to overlay
      
      * node/approval-voting: Get all module tests to pass.
      
      This commit modifies all tests to ensure tests are passing.
      
      * node/approval-voting: Address oversights in the previous commit
      
      This commit addresses some oversights in the prior commit.
      
      1. Inner errors in backend.write were swallowed
      2. One-off write functions removed to avoid useless abstraction
      3. Touch-ups in general
      
      * node/approval-voting: Move from TestDB to dyn KeyValueDB
      
      This commit removes the TestDB from tests.rs and replaces it with
      an in-memory kvdb.
      
      * node/approval-voting: Address feedback
      
      * node/approval-voting: Add license to ops.rs
      
      * node/approval-voting: Address second-pass feedback
      
      * Add TODO
      
      * node/approval-voting: Bump spec_version
      
      * node/approval-voting: Address final comments.
      7313e485
  6. Jul 07, 2021
  7. Jul 06, 2021
  8. Jul 05, 2021
  9. Jul 02, 2021
  10. Jul 01, 2021
  11. Jun 30, 2021
  12. Jun 28, 2021
  13. Jun 25, 2021
  14. Jun 23, 2021
  15. Jun 22, 2021
    • asynchronous rob's avatar
      SelectChain implementation for relay chains (#3341) · b57b9cf7
      asynchronous rob authored
      * stubbed SelectRelayChain
      
      * disconnected overseer handlers
      
      * add is_disconnected
      
      * add fallback in case overseer is disconnected
      
      * fall back on fallback
      
      * fetch leaves by calling into chain-selection subsystem
      
      * implement best_chain
      
      * mostly implement finality_target
      
      * chain constrain
      
      * metrics and maximum safeguard
      
      * remove review comment after review
      b57b9cf7
    • Lldenaurois's avatar
      Approval Checking: Avoid redundant checks (#3306) · 777499dc
      Lldenaurois authored
      * node/approval-voting: Introduce LruCache for pending Approval work
      
      This commit adds an LruCache that is intended to track the approval work
      submitted as background tasks in order to ensure that the validator needn't
      launch duplicate approval work for the same candidate across multiple blocks.
      A simple state machine is also introduced in order to differentiate pending
      and completed tasks. In addition, this LruCache will retain ValidationResults
      from the completed approval work once the task has completed. As per LruCache
      implementation, the oldest tasks will get evicted as new approval work is
      submitted to this cache.
      
      * node/approval-voting: Revert changes to master
      
      This commit reverts changes from the previous commit in order
      to simplify addressing the architecture discussion raised in the PR.
      
      * node/approval-voting: remove background task mpsc construct
      
      This diff removes the mpsc construct for background tasks in preparation
      for a move to leveraging RemoteHandles to launch approvals, rather than
      passing ApprovalRequests to a mpsc channel and handling the ApprovalRequests
      in the main subsystem task.
      
      * node/approval-voting: Introduce LRU Cache
      
      This commit introduces an LRU Cache but does not yet make use of it.
      
      * node/approval-voting: Remove BackgroundTasksMap and memoize currently_checking
      
      This commit removes the BackgroundTasksMap in the main subsystem task
      and introduces a method to keep track of RemoteHandles in such a way that
      we can ensure that a task is spawned once for a CandidateHash and
      relay parent tuple.
      
      * node/approval-voting: Remove BackgroundTasksMap and memoize currently_checking
      
      This commit removes the BackgroundTasksMap in the main subsystem task
      and introduces a map of FuturesUnordered per BlockNumber. In addition,
      a FusedFuture is generated by iterating across all FuturesUnordered for
      the BlockNumbers for which at least one candidate has approvals work
      running in the subsystem.
      
      * node/approval-voting: Address Rob's comments
      
      This diff removes the prior HashMap<BlockNumber, FuturesUnordered>
      construction and instead moves to a simple FuturesUnordered where
      all the work is await with Timeout.
      
      * node/approval-voting: Update Cargo.lock
      
      Due to a mismatch in rustc versions
      
      * node/approval-voting: Make use of actions when issuing_approval
      
      This commit fixes a small oversight in the logic of the prior commit.
      
      * node/approval-voting: Address Rob's feedback
      
      * node/approval-voting: Introduce lazy launch_approval evaluation
      
      * node/approval-voting: Send DistibruteApproval message on every LaunchApproval
      
      In addition to fixed the DistributeApproval bug, this commit also
      increases the size of the approvals cache and ensures the StaleGuard
      is removed when the advantageous approval state is reached.
      
      * node/approval-voting: Address final comments
      
      This commit removes the CandidateIndex from the ApprovalVoteRequest.
      Instead, the launch_approval function will compute the candidate_index
      from the block entry.
      
      In addition, a comment has been added explaining the difficulty of
      issuing approvals in the handle_actions function.
      
      * node/approval-voting: Set timeout to be 120s rather than 2s
      
      * Update Cargo.lock
      777499dc
    • Robert Klotzner's avatar
      Dispute distribution guide (#3158) · e3340e44
      Robert Klotzner authored
      * Dispute distribution initial design.
      
      * WIP.
      
      * Dispute distribution guide update.
      
      * Make invalid statement include `InvalidStatementKind`.
      
      * Clarify the scope of disputes.
      
      * A few fixes + introduced back pressure oneshot.
      
      * Fixes and spam protection WIP.
      
      * More spam considerations.
      
      * More fixes.
      
      * Fixes + add note about not dispute participating nodes.
      e3340e44
    • dependabot[bot]'s avatar
      Bump rand_chacha from 0.3.0 to 0.3.1 (#3225) · 23f1b8ee
      dependabot[bot] authored
      
      
      Bumps [rand_chacha](https://github.com/rust-random/rand) from 0.3.0 to 0.3.1.
      - [Release notes](https://github.com/rust-random/rand/releases)
      - [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/rust-random/rand/compare/rand_chacha-0.3.0...rand_chacha-0.3.1)
      
      ---
      updated-dependencies:
      - dependency-name: rand_chacha
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      23f1b8ee