1. 26 Jan, 2021 3 commits
  2. 25 Jan, 2021 1 commit
    • Andronik Ordian's avatar
      impl approval distribution (#2160) · ab606e14
      Andronik Ordian authored
      * initial impl approval distribution
      
      * initial tests and fixes
      
      * batching seems difficult: different peers have different needs
      
      * bridge: fix test after merge
      
      * some guide updates
      
      * only send assignments to peers who know about the block
      
      * fix a test, add approvals test
      
      * simplify
      
      * do not send assignment to peers for finalized blocks
      
      * guide: protocol input and output
      
      * one more test
      
      * more comments, logs, initial metrics
      
      * fix a typo
      
      * one more thing: early return when reimporting a thing locally
      ab606e14
  3. 22 Jan, 2021 1 commit
  4. 21 Jan, 2021 3 commits
  5. 20 Jan, 2021 3 commits
  6. 19 Jan, 2021 1 commit
  7. 18 Jan, 2021 3 commits
  8. 17 Jan, 2021 1 commit
  9. 16 Jan, 2021 1 commit
  10. 15 Jan, 2021 2 commits
  11. 14 Jan, 2021 5 commits
  12. 13 Jan, 2021 3 commits
    • Bernhard Schuster's avatar
      display errors with their sources (#2264) · 2fd345b8
      Bernhard Schuster authored
      * update futures to 0.3.9
      
      * companion changes for generic error types
      
      * improve errors, keep error sources
      
      * command compile fix
      
      * use the correct Error type, add annotation
      
      * avoid async { fut.await.map_err(E::Variant) } with TryFuture
      
      * fix cargo lock, bump futures to 0.3.10
      
      futures 0.3.9 got yanked
      
      * chore cargo update -p sp-io
      
      * minor quirk
      
      * make rustc 1.48 happy by bouning the error more tightly
      
      * be more explicit
      
      * cargo lock futures
      2fd345b8
    • Andronik Ordian's avatar
      Companion for substrate#7892 (#2262) · e5ee5748
      Andronik Ordian authored
      * session_info: use correct authorities set
      
      * bump rococo spec_version to 19
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      e5ee5748
    • Bernhard Schuster's avatar
      metered mpsc channels (#2235) · e3676fdc
      Bernhard Schuster authored
      e3676fdc
  13. 12 Jan, 2021 3 commits
  14. 11 Jan, 2021 4 commits
  15. 08 Jan, 2021 1 commit
  16. 07 Jan, 2021 3 commits
  17. 06 Jan, 2021 2 commits
    • Andronik Ordian's avatar
      upgrade a few dependencies (companion for 7831) (#2205) · e9866d55
      Andronik Ordian authored
      * upgrade a few dependencies
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      e9866d55
    • Peter Goodspeed-Niklaus's avatar
      Add metrics timing message passing from OverseerSubsystemContext to Overseer::route_message (#2201) · 004dc50d
      Peter Goodspeed-Niklaus authored
      * add timing setup to OverseerSubsystemContext
      
      * figure out how to initialize the rng
      
      * attach a timer to a portion of the messages traveling to the Overseer
      
      This timer only exists / logs a fraction of the time (configurable
      by `MESSAGE_TIMER_METRIC_CAPTURE_RATE`). When it exists, it tracks
      the span between the `OverSubsystemContext` receiving the message
      and its receipt in `Overseer::run`.
      
      * propagate message timing to the start of route_message
      
      This should be more accurate; it ensures that the timer runs
      at least as long as that function. As `route_message` is async,
      it may not actually run for some time after it is called (or ever).
      
      * fix failing test
      
      * rand_chacha apparently implicitly has getrandom feature
      
      * change rng initialization
      
      The previous impl using `from_entropy` depends on the `getrandom`
      crate, which uses the system entropy source, and which does not
      work on `wasm32-unknown-unknown` because it wants to fall back to
      a JS implementation which we can't assume exists.
      
      This impl depends only on `rand::thread_rng`, which has no documentation
      stating that it's similarly limited.
      
      * remove randomness in favor of a simpler 1 of N procedure
      
      This deserves a bit of explanation, as the motivating issue explicitly
      requested randomness. In short, it's hard to get randomness to compile
      for `wasm32-unknown-unknown` because that is explicitly intended to be
      as deterministic as practical. Additionally, even though it would never
      be used for consensus purposes, it still felt offputting to intentionally
      introduce randomness into a node's operations. Except, it wasn't really
      random, either: it was a deterministic PRNG varying only in its state,
      and getting the state to work right for that target would have required
      initializing from a constant.
      
      Given that it was a deterministic sequence anyway, it seemed much simpler
      and more explicit to simply select one of each N messages instead of
      attempting any kind of realistic randomness.
      
      * reinstate randomness for better statistical properties
      
      This partially reverts commit 0ab8594c.
      
      `oorandom` is much lighter than the previous `rand`-based implementation,
      which makes this easier to work with.
      
      This implementation gives each subsystem and each child RNG a distinct
      increment, which should ensure they produce distinct streams of values.
      004dc50d