1. 11 Nov, 2021 1 commit
  2. 04 Oct, 2021 1 commit
    • asynchronous rob's avatar
      Make candidate validation timeouts configurable (#4001) · 8962e040
      asynchronous rob authored
      * pvf: make execution timeout configurable
      
      * guide: add timeouts to candidate validation params
      
      * add timeouts to candidate validation messages
      
      * fmt
      
      * port backing to use the backing pvf timeout
      
      * port approval-voting to use the execution timeout
      
      * port dispute participation to use the correct timeout
      
      * fmt
      
      * address grumbles & test failure
      8962e040
  3. 01 Oct, 2021 1 commit
  4. 25 Aug, 2021 1 commit
  5. 20 Aug, 2021 1 commit
  6. 02 Aug, 2021 1 commit
  7. 14 Jul, 2021 1 commit
    • Denis_P's avatar
      WIP: CI: add spellcheck (#3421) · 8a6af441
      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: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * Update xcm/xcm-executor/src/assets.rs
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * Apply suggestions from code review
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * Suggestions from the code review
      
      * CI: scan only changed files
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      8a6af441
  8. 09 Jul, 2021 1 commit
    • asynchronous rob's avatar
      Wire up candidate backing, approval-voting to disputes (#3348) · 567cfb99
      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)
      567cfb99
  9. 08 Jul, 2021 1 commit
  10. 28 Jun, 2021 1 commit
  11. 17 Jun, 2021 1 commit
  12. 09 Jun, 2021 1 commit
  13. 08 Jun, 2021 1 commit
    • Lldenaurois's avatar
      Remove candidate selection (#3148) · a4dfdf16
      Lldenaurois authored
      * Create validator_side module
      
      * Subsume Candidate Selection
      
      * Add test to ensure candidate backing logic is correct
      
      * Ensure secondings are adequately cleaned up and address test flakyness
      
      * Address Feedback
      a4dfdf16
  14. 31 May, 2021 1 commit
    • asynchronous rob's avatar
      Reversion Safety tools for overseer and subsystems (#3104) · d8d8e926
      asynchronous rob authored
      * guide: reversion safety
      
      * guide: manage reversion safety in subsystems
      
      * add leaf status to ActivatedLeaf
      
      * add an LRU-cache to overseer for staleness detection
      
      * update ActivatedLeaf usages in tests to contain status field
      
      * add variant where missed accidentally
      
      * add some helpers to LeafStatus
      
      * address grumbles
      d8d8e926
  15. 22 May, 2021 1 commit
  16. 03 May, 2021 1 commit
    • Robert Klotzner's avatar
      More secure `Signed` implementation (#2963) · e9a29ecc
      Robert Klotzner authored
      * Remove signature verification in backing.
      
      `SignedFullStatement` now signals that the signature has already been
      checked.
      
      * Remove unused check_payload function.
      
      * Introduced unchecked signed variants.
      
      * Fix inclusion to use unchecked variant.
      
      * More unchecked variants.
      
      * Use unchecked variants in protocols.
      
      * Start fixing statement-distribution.
      
      * Fixup statement distribution.
      
      * Fix inclusion.
      
      * Fix warning.
      
      * Fix backing properly.
      
      * Fix bitfield distribution.
      
      * Make crypto store optional for `RuntimeInfo`.
      
      * Factor out utility functions.
      
      * get_group_rotation_info
      
      * WIP: Collator cleanup + check signatures.
      
      * Convenience signature checking functions.
      
      * Check signature on collator-side.
      
      * Fix warnings.
      
      * Fix collator side tests.
      
      * Get rid of warnings.
      
      * Better Signed/UncheckedSigned implementation.
      
      Also get rid of Encode/Decode for Signed! *party*
      
      * Get rid of dead code.
      
      * Move Signed in its own module.
      
      * into_checked -> try_into_checked
      
      * Fix merge.
      e9a29ecc
  17. 09 Apr, 2021 1 commit
  18. 08 Apr, 2021 1 commit
  19. 05 Apr, 2021 2 commits
  20. 29 Mar, 2021 1 commit
  21. 28 Mar, 2021 2 commits
    • asynchronous rob's avatar
      Split NetworkBridge and break cycles with Unbounded (#2736) · d23a6d5a
      asynchronous rob authored
      
      
      * overseer: pass messages directly between subsystems
      
      * test that message is held on to
      
      * Update node/overseer/src/lib.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      
      * give every subsystem an unbounded sender too
      
      * remove metered_channel::name
      
      1. we don't provide good names
      2. these names are never used anywhere
      
      * unused mut
      
      * remove unnecessary &mut
      
      * subsystem unbounded_send
      
      * remove unused MaybeTimer
      
      We have channel size metrics that serve the same purpose better now and the implementation of message timing was pretty ugly.
      
      * remove comment
      
      * split up senders and receivers
      
      * update metrics
      
      * fix tests
      
      * fix test subsystem context
      
      * use SubsystemSender in jobs system now
      
      * refactor of awful jobs code
      
      * expose public `run` on JobSubsystem
      
      * update candidate backing to new jobs & use unbounded
      
      * bitfield signing
      
      * candidate-selection
      
      * provisioner
      
      * approval voting: send unbounded for assignment/approvals
      
      * async not needed
      
      * begin bridge split
      
      * split up network tasks into background worker
      
      * port over network bridge
      
      * Update node/network/bridge/src/lib.rs
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * rename ValidationWorkerNotifications
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      d23a6d5a
    • Robert Klotzner's avatar
      Request based PoV distribution (#2640) · 39124b0a
      Robert Klotzner authored
      * Indentation fix.
      
      * Prepare request-response for PoV fetching.
      
      * Drop old PoV distribution.
      
      * WIP: Fetch PoV directly from backing.
      
      * Backing compiles.
      
      * Runtime access and connection management for PoV distribution.
      
      * Get rid of seemingly dead code.
      
      * Implement PoV fetching.
      
      Backing does not yet use it.
      
      * Don't send `ConnectToValidators` for empty list.
      
      * Even better - no need to check over and over again.
      
      * PoV fetching implemented.
      
      + Typechecks
      + Should work
      
      Missing:
      
      - Guide
      - Tests
      - Do fallback fetching in case fetching from seconding validator fails.
      
      * Check PoV hash upon reception.
      
      * Implement retry of PoV fetching in backing.
      
      * Avoid pointless validation spawning.
      
      * Add jaeger span to pov requesting.
      
      * Add back tracing.
      
      * Review remarks.
      
      * Whitespace.
      
      * Whitespace again.
      
      * Cleanup + fix tests.
      
      * Log to log target in overseer.
      
      * Fix more tests.
      
      * Don't fail if group cannot be found.
      
      * Simple test for PoV fetcher.
      
      * Handle missing group membership better.
      
      * Add test for retry functionality.
      
      * Fix flaky test.
      
      * Spaces again.
      
      * Guide updates.
      
      * Spaces.
      39124b0a
  22. 26 Mar, 2021 1 commit
  23. 19 Mar, 2021 1 commit
  24. 18 Mar, 2021 1 commit
  25. 14 Mar, 2021 1 commit
  26. 10 Mar, 2021 2 commits
  27. 09 Mar, 2021 2 commits
  28. 26 Feb, 2021 1 commit
    • Robert Klotzner's avatar
      Request based availability distribution (#2423) · 950447e1
      Robert Klotzner authored
      * WIP
      
      * availability distribution, still very wip.
      
      Work on the requesting side of things.
      
      * Some docs on what I intend to do.
      
      * Checkpoint of session cache implementation
      
      as I will likely replace it with something smarter.
      
      * More work, mostly on cache
      
      and getting things to type check.
      
      * Only derive MallocSizeOf and Debug for std.
      
      * availability-distribution: Cache feature complete.
      
      * Sketch out logic in `FetchTask` for actual fetching.
      
      - Compile fixes.
      - Cleanup.
      
      * Format cleanup.
      
      * More format fixes.
      
      * Almost feature complete `fetch_task`.
      
      Missing:
      
      - Check for cancel
      - Actual querying of peer ids.
      
      * Finish FetchTask so far.
      
      * Directly use AuthorityDiscoveryId in protocol and cache.
      
      * Resolve `AuthorityDiscoveryId` on sending requests.
      
      * Rework fetch_task
      
      - also make it impossible to check the wrong chunk index.
      - Export needed function in validator_discovery.
      
      * From<u32> implementation for `ValidatorIndex`.
      
      * Fixes and more integration work.
      
      * Make session cache proper lru cache.
      
      * Use proper lru cache.
      
      * Requester finished.
      
      * ProtocolState -> Requester
      
      Also make sure to not fetch our own chunk.
      
      * Cleanup + fixes.
      
      * Remove unused functions
      
      - FetchTask::is_finished
      - SessionCache::fetch_session_info
      
      * availability-distribution responding side.
      
      * Cleanup + Fixes.
      
      * More fixes.
      
      * More fixes.
      
      adder-collator is running!
      
      * Some docs.
      
      * Docs.
      
      * Fix reporting of bad guys.
      
      * Fix tests
      
      * Make all tests compile.
      
      * Fix test.
      
      * Cleanup + get rid of some warnings.
      
      * state -> requester
      
      * Mostly doc fixes.
      
      * Fix test suite.
      
      * Get rid of now redundant message types.
      
      * WIP
      
      * Rob's review remarks.
      
      * Fix test suite.
      
      * core.relay_parent -> leaf for session request.
      
      * Style fix.
      
      * Decrease request timeout.
      
      * Cleanup obsolete errors.
      
      * Metrics + don't fail on non fatal errors.
      
      * requester.rs -> requester/mod.rs
      
      * Panic on invalid BadValidator report.
      
      * Fix indentation.
      
      * Use typed default timeout constant.
      
      * Make channel size 0, as each sender gets one slot anyways.
      
      * Fix incorrect metrics initialization.
      
      * Fix build after merge.
      
      * More fixes.
      
      * Hopefully valid metrics names.
      
      * Better metrics names.
      
      * Some tests that already work.
      
      * Slightly better docs.
      
      * Some more tests.
      
      * Fix network bridge test.
      950447e1
  29. 22 Feb, 2021 1 commit
  30. 19 Feb, 2021 1 commit
    • Bernhard Schuster's avatar
      feat/jaeger: more spans, more stages (#2477) · f9186eb2
      Bernhard Schuster authored
      * feat/jaeger: more spans, more stages
      
      Stage numbers are still arbitrarily picked.
      
      * feat/jaeger: additional spans
      
      * chore/spellcheck: improve the dictionary
      
      * fix/jaeger JaegerSpan -> jaeger::Span
      f9186eb2
  31. 18 Feb, 2021 1 commit
  32. 14 Feb, 2021 1 commit
    • Bastian Köcher's avatar
      Notify collators about seconded collation (#2430) · ac5ef00e
      Bastian Köcher authored
      * Notify collators about seconded collation
      
      This pr adds functionality to inform a collator that its collation was
      seconded by a parachain validator. Before this signed statement was only
      gossiped over the validation substream. Now, we explicitly send the
      seconded statement to the collator after it was validated successfully.
      
      Besides that it changes the `CollatorFn` to return an optional result
      sender that is informed when the build collation was seconded by a
      parachain validator.
      
      * Add test
      
      * Make sure we only send `Seconded` statements
      
      * Make sure we only receive valid statements
      
      * Review feedback
      ac5ef00e
  33. 02 Feb, 2021 1 commit
    • Sergey Pepyakin's avatar
      Clean up PersistedValidationData (#2353) · aba42e4a
      Sergey Pepyakin authored
      * PVD: `block_number`->`relay_parent_number`
      
      * ValidationParams: `relay_chain_height`->`relay_parent_number`
      
      * Expose DMQ MQC hash as a well-known-key
      
      This way the relay storage merkle proofs will be able to obtain the DMQ
      MQC hash and we will be able to remove the it from the
      PersistedValidationData struct.
      
      * PersistedValidationData: Remove HRMP MQC heads
      
      * PersistedValidationData: Remove `dmq_mqc_head`
      
      * Expose the HRMP ingress channel index as a well-known-key
      
      This way a parachain (PVF and collator) can find all the parachains that
      have an outbound channel to the given one. That allows in turn to find
      all the inbound channels for the given para.
      
      Having access to that allows the parachain to get the same information
      as the hrmp_mqc_heads now provide.
      
      * Rename `relay_storage_root` to `relay_parent_storage_root`
      aba42e4a
  34. 29 Jan, 2021 1 commit
  35. 28 Jan, 2021 1 commit
    • Peter Goodspeed-Niklaus's avatar
      misbehavior: report multiple offenses per validator as necessary (#2222) · 25694f6f
      Peter Goodspeed-Niklaus authored
      * use proper descriptive generic type names
      
      * cleanup
      
      * Table stores a list of detected misbehavior per authority
      
      * add Table::drain_misbehaviors_for
      
      * WIP: unify misbehavior types; report multiple misbehaviors per validator
      
      Code checks, but tests don't yet pass.
      
      * update drain_misbehaviors: return authority id as well as specific misbehavior
      
      * enable unchecked construction of Signed structs in tests
      
      * remove test-features feature & unnecessary generic
      
      * fix backing tests
      
      This took a while to figure out, because where we'd previously been
      passing around `SignedFullStatement`s, we now needed to construct
      those on the fly within the test, to take advantage of the signature-
      checking in the constructor. That, in turn, necessitated changing the
      iterable type of `drain_misbehaviors` to return the validator index,
      and passing that validator index along within the misbehavior report.
      
      Once that was sorted, however, it became relatively straightforward:
      just needed to add appropriate methods to deconstruct the misbehavior
      reports, and then we could construct the signed statements directly.
      
      * fix bad merge
      25694f6f
  36. 18 Jan, 2021 1 commit
    • Sergey Pepyakin's avatar
      Remove TransientValidationData (#2272) · 44f01a39
      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
      44f01a39