1. 28 Sep, 2021 1 commit
    • Bernhard Schuster's avatar
      remove connected disconnected state, 3rd attempt (#3898) · e80340c0
      Bernhard Schuster authored
      
      
      * overseer: remove mut in connector
      
      * rename SelectRelayChainWFallback -> SelectRelayChain
      
      * split Basics
      
      * introduce the OverseerConnector, use it
      
      * introduce is_relay_chain to RelayChainSelection
      
      * chore: rename var
      
      * avoid dummy import in subsystem
      
      * actually remove Disconnecte/Connected enum
      
      * extract DummySubsystem into mod dummy.
      
      * Handle::Connected -> Handle::new
      
      * chore: fmt
      
      * fix test
      
      * select relay chain takes no arg, simplification
      
      * fmt
      
      * Update node/service/src/lib.rs
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * chore: improve malus tests
      
      * avoid the deferred setting of `is_relay_chain` in `RelayChainSelection`
      
      * positive assertion is not mandated, only the negative one, to avoid a stall
      
      * chore: fmt
      
      * assure the `RelayChainSelection` is not used before the overseer is up and running
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      e80340c0
  2. 27 Sep, 2021 2 commits
  3. 25 Sep, 2021 1 commit
  4. 24 Sep, 2021 1 commit
  5. 23 Sep, 2021 1 commit
  6. 20 Sep, 2021 2 commits
  7. 17 Sep, 2021 1 commit
    • Bernhard Schuster's avatar
      remove connected disconnected state only (#3868) · 7bc35262
      Bernhard Schuster authored
      * remove connected disconnected state from overseer
      
      * foo
      
      * split new partial
      
      * fix
      
      * refactor init code to not require a `OverseerHandle` when we don't have an overseer
      
      * intermediate
      
      * fixins
      
      * X
      
      * fixup
      
      * foo
      
      * fixup
      
      * docs
      
      * conditional
      
      * Update node/service/src/lib.rs
      
      * review by ladi
      7bc35262
  8. 16 Sep, 2021 1 commit
  9. 14 Sep, 2021 1 commit
  10. 07 Sep, 2021 1 commit
  11. 04 Sep, 2021 2 commits
  12. 02 Sep, 2021 1 commit
  13. 30 Aug, 2021 1 commit
  14. 26 Aug, 2021 1 commit
  15. 25 Aug, 2021 1 commit
  16. 13 Aug, 2021 1 commit
    • Bernhard Schuster's avatar
      collect better memory stats (#3612) · ed50a911
      Bernhard Schuster authored
      * add jemalloc memory statistics tracking
      
      * chore: move Metronome in a separate file
      
      * add meta flag spellcheck
      
      * adjust metrics names
      
      * account for new metrics in test
      ed50a911
  17. 12 Aug, 2021 1 commit
    • Robert Klotzner's avatar
      Remove request multiplexer (#3624) · 117466aa
      Robert Klotzner authored
      * WIP: Get rid of request multiplexer.
      
      * WIP
      
      * Receiver for handling of incoming requests.
      
      * Get rid of useless `Fault` abstraction.
      
      The things the type system let us do are not worth getting abstracted in
      its own type. Instead error handling is going to be merely a pattern.
      
      * Make most things compile again.
      
      * Port availability distribution away from request multiplexer.
      
      * Formatting.
      
      * Port dispute distribution over.
      
      * Fixup statement distribution.
      
      * Handle request directly in collator protocol.
      
      + Only allow fatal errors at top level.
      
      * Use direct request channel for availability recovery.
      
      * Finally get rid of request multiplexer
      
      Fixes #2842 and paves the way for more back pressure possibilities.
      
      * Fix overseer and statement distribution tests.
      
      * Fix collator protocol and network bridge tests.
      
      * Fix tests in availability recovery.
      
      * Fix availability distribution tests.
      
      * Fix dispute distribution tests.
      
      * Add missing dependency
      
      * Typos.
      
      * Review remarks.
      
      * More remarks.
      117466aa
  18. 06 Aug, 2021 1 commit
  19. 02 Aug, 2021 1 commit
  20. 27 Jul, 2021 1 commit
  21. 26 Jul, 2021 1 commit
    • Andronik Ordian's avatar
      enable disputes (#3478) · 2d197804
      Andronik Ordian authored
      
      
      * initial integration and migration code
      
      * fix tests
      
      * fix counting test
      
      * assume the current version on missing file
      
      * use SelectRelayChain
      
      * remove duplicate metric
      
      * Update node/service/src/lib.rs
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      
      * remove ApprovalCheckingVotingRule
      
      * address my concern
      
      * never mode for StagnantCheckInterval
      
      * REVERTME: some logs
      
      * w00t
      
      * it's ugly but it works
      
      * Revert "REVERTME: some logs"
      
      This reverts commit e210505a
      
      .
      
      * it's handle, not handler
      
      * fix a few typos
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      2d197804
  22. 15 Jul, 2021 1 commit
  23. 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
  24. 09 Jul, 2021 3 commits
    • 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
    • Kian Paimani's avatar
      Companion for `substrate/pull/9286` (#3443) · 416876b1
      Kian Paimani authored
      
      
      * Fix weights
      
      * try something to unbreak companion
      
      * update Substrate
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      Co-authored-by: parity-processbot <>
      416876b1
    • Robert Klotzner's avatar
      Dispute distribution implementation (#3282) · f9d71f8c
      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.
      f9d71f8c
  25. 08 Jul, 2021 1 commit
  26. 02 Jul, 2021 2 commits
  27. 22 Jun, 2021 2 commits
    • asynchronous rob's avatar
      SelectChain implementation for relay chains (#3341) · 6331c25e
      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
      6331c25e
    • Andronik Ordian's avatar
      make `ctx.spawn` blocking (#3337) · 8230fef8
      Andronik Ordian authored
      * make spawn sync
      
      * improve error type
      8230fef8
  28. 21 Jun, 2021 1 commit
    • asynchronous rob's avatar
      Chain Selection Subsystem Logic (#3277) · 70a4469d
      asynchronous rob authored
      
      
      * crate skeleton and type definitions
      
      * add ChainSelectionMessage
      
      * add error type
      
      * run loop
      
      * fix overseer
      
      * simplify determine_new_blocks API
      
      * write an overlay struct and fetch new blocks
      
      * add new function to overlay
      
      * more flow
      
      * add leaves to overlay and add a strong type around leaves-set
      
      * add is_parent_viable
      
      * implement block import, ignoring reversions
      
      * add stagnant-at to overlay
      
      * add stagnant
      
      * add revert consensus log
      
      * flow for reversions
      
      * extract and import block reversions
      
      * recursively update viability
      
      * remove redundant parameter from WriteBlockEntry
      
      * do some removal of viable leaves
      
      * address grumbles
      
      * refactor
      
      * address grumbles
      
      * add comment about non-monotonicity
      
      * extract backend to submodule
      
      * begin the hunt for viable leaves
      
      * viability pivots for updating the active leaves
      
      * remove LeafSearchFrontier
      
      * partially -> explicitly viable and untwist some booleans
      
      * extract tree to submodule
      
      * implement block finality update
      
      * Implement block approval routine
      
      * implement stagnant detection
      
      * ensure blocks pruned on finality are removed from the active leaves set
      
      * write down some planned test cases
      
      * floww
      
      * leaf loading
      
      * implement best_leaf_containing
      
      * write down a few more tests to do
      
      * remove dependence of tree on header
      
      * guide: ChainApiMessage::BlockWeight
      
      * node: BlockWeight ChainAPI
      
      * fix compile issue
      
      * note a few TODOs for the future
      
      * fetch block weight using new BlockWeight ChainAPI
      
      * implement unimplemented
      
      * sort leaves by block number after weight
      
      * remove warnings and add more TODOs
      
      * create test module
      
      * storage for test backend
      
      * wrap inner in mutex
      
      * add write waker query to test backend
      
      * Add OverseerSignal -> FromOverseer conversion
      
      * add test harnes
      
      * add no-op test
      
      * add some more test helpers
      
      * the first test
      
      * more progress on tests
      
      * test two subtrees
      
      * determine-new-blocks: cleaner genesis avoidance and tighter ancestry requests
      
      * don't make ancestry requests when asking for one block
      
      * add a couple more tests
      
      * add to AllMessages in guide
      
      * remove bad spaces from bridge
      
      * compact iterator
      
      * test import with gaps
      
      * more reversion tests
      
      * test finalization pruning subtrees
      
      * fixups
      
      * test clobbering and fix bug in overlay
      
      * exhaustive backend state after finalizaiton tested
      
      * more finality tests
      
      * leaf tests
      
      * test approval
      
      * test ChainSelectionMessage::Leaves thoroughly
      
      * remove TODO
      
      * avoid Ordering::is_ne so CI can build
      
      * comment algorithmic complexity
      
      * Update node/core/chain-selection/src/lib.rs
      
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      70a4469d
  29. 14 Jun, 2021 1 commit
  30. 13 Jun, 2021 1 commit
    • asynchronous rob's avatar
      Dispute Coordinator Subsystem (#3150) · 19c1d29d
      asynchronous rob authored
      
      
      * skeleton for dispute-coordinator
      
      * add coordinator and participation message types
      
      * begin dispute-coordinator DB
      
      * functions for loading
      
      * implement strongly-typed DB transaction
      
      * add some tests for DB transaction
      
      * core logic for pruning
      
      * guide: update candidate-votes key for coordinator
      
      * update candidate-votes key
      
      * use big-endian encoding for session, and implement upper bound generator
      
      * finish implementing pruning
      
      * add a test for note_current_session
      
      * define state of the subsystem itself
      
      * barebones subsystem definition
      
      * control flow
      
      * more control flow
      
      * implement session-updating logic
      
      * trace
      
      * control flow for message handling
      
      * Update node/core/dispute-coordinator/src/lib.rs
      
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      
      * Update node/subsystem/src/messages.rs
      
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      
      * some more control flow
      
      * guide: remove overlay
      
      * more control flow
      
      * implement some DB getters
      
      * make progress on importing statements
      
      * add SignedDisputeStatement struct
      
      * move ApprovalVote to shared primitives
      
      * add a signing-payload API to explicit dispute statements
      
      * add signing-payload to CompactStatement
      
      * add relay-parent hash to seconded/valid dispute variatns
      
      * correct import
      
      * type-safe wrapper around dispute statements
      
      * use checked dispute statement in message type
      
      * extract rolling session window cache to subsystem-util
      
      * extract session window tests
      
      * approval-voting: use rolling session info cache
      
      * reduce dispute window to match runtime in practice
      
      * add byzantine_threshold and supermajority_threshold utilities to primitives
      
      * integrate rolling session window
      
      * Add PartialOrd to CandidateHash
      
      * add Ord to CandidateHash
      
      * implement active dispute update
      
      * add dispute messages to AllMessages
      
      * add dispute stubs to overseer
      
      * inform dispute participation to participate
      
      * implement issue_local_statement
      
      * implement `determine_undisputed_chain`
      
      * fix warnings
      
      * test harness for dispute coordinator tests
      
      * add more helpers to test harness
      
      * add some more helpers
      
      * some tests for dispute coordinator
      
      * ignore wrong validator indices
      
      * test finality voting rule constraint
      
      * add more tests
      
      * add variants to network bridge
      
      * fix test compilation
      
      * remove most dispute coordinator functionality
      
      as of #3222 we can do most of the work within the approval voting subsystem
      
      * Revert "remove most dispute coordinator functionality"
      
      This reverts commit 9cd615e8
      
      .
      
      * Use thiserror
      
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      
      * Update node/core/dispute-coordinator/src/lib.rs
      
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      
      * extract tests to separate module
      
      * address nit
      
      * adjust run_iteration API
      
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      19c1d29d
  31. 12 Jun, 2021 1 commit
  32. 11 Jun, 2021 2 commits