Skip to content
  1. Jan 21, 2021
  2. Jan 20, 2021
  3. Jan 18, 2021
  4. Jan 15, 2021
    • Fedor Sakharov's avatar
      Availability recovery subsystem (#2122) · 90a68626
      Fedor Sakharov authored
      * Adds message types
      
      * Add code skeleton
      
      * Adds subsystem code.
      
      * Adds a first test
      
      * Adds interaction result to availability_lru
      
      * Use LruCache instead of a HashMap
      
      * Whitespaces to tabs
      
      * Do not ignore errors
      
      * Change error type
      
      * Add a timeout to chunk requests
      
      * Add custom errors and log them
      
      * Adds replace_availability_recovery method
      
      * recovery_threshold computed by erasure crate
      
      * change core to std
      
      * adds docs to error type
      
      * Adds a test for invalid reconstruction
      
      * refactors interaction run into multiple methods
      
      * Cleanup AwaitedChunks
      
      * Even more fixes
      
      * Test that recovery with wrong root is an error
      
      * Break to launch another requests
      
      * Styling fixes
      
      * Add SessionIndex to API
      
      * Proper relay parents for MakeRequest
      
      * Remove validator_discovery and use message
      
      * Remove a stream on exhaustion
      
      * On cleanup free the request streams
      
      * Fix merge and refactor
      90a68626
  5. Jan 14, 2021
    • Robert Klotzner's avatar
      Some refactoring in network-bridge in the course of dealing with #2177 (#2263) · 32d4670b
      Robert Klotzner authored
      * More doc fixes.
      
      * Minor refactorings in the process of #2177
      
      By having everything peer set related depend directly on the enum the
      code becomes more clear and it is also straight forward to add more
      peersets/protocols as the compiler will complain if you forget to
      implement parts of it.
      
      * Add peer set infos on startup properly
      
      For feature real_overseer.
      
      + Fixes from review. Thanks @coriolinus and @ordian
      
      !
      
      * More structure in network-bridge
      
      Some changes, which would have helped me in groking the code faster.
      
      Entry points/public types more to the top. Factored out implementation
      in their own files, to clear up the top-level view.
      
      * Get rid of local ProtocolName type definition.
      
      Does not add much at this level.
      
      * Fix tests + import cleanup.
      
      * Make spaces tabs.
      
      * Clarify what correct parameters to send_message are
      
      * Be more less vague in docs of send_message.
      
      * Apply suggestions from code review
      
      Extend copyright on new files to 2021 as well.
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      32d4670b
  6. Jan 13, 2021
  7. Jan 12, 2021
  8. Jan 07, 2021
    • Pierre Krieger's avatar
      Companion PR for refactoring priority groups (#2095) · 5ce24c49
      Pierre Krieger authored
      * Companion PR for refactoring priority groups
      
      * Fix non reserved node
      
      * Try fix tests
      
      * Missing import
      
      * Fix warning
      
      * Change protocols order
      
      * Fix test
      
      * Renames
      
      * Update syn dependency to make it compile again after merging master
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      5ce24c49
  9. Dec 24, 2020
    • Bastian Köcher's avatar
      Support variable session length for Rococo chains at genesis (#2167) · bb856698
      Bastian Köcher authored
      This pr adds support to change the session length of a Rococo chain at
      genesis. This is rather useful because Rococo has a session length of
      1 hour, while on rococo-local you will now get 1 minute. This improves
      the dev experience, because a parachain is only going live at the
      start of a new session.
      bb856698
  10. Dec 16, 2020
    • RK's avatar
      Companion for #7536 (Pallet Treasury Refactor) (#2025) · 1ecc2e03
      RK authored
      
      
      * wk2048 | D6 | issue-7143-treasury-refactor | integration
      
      * wk2048 | D6 | issue-7143-treasury-refactor | integration | p2
      
      * trait -> config
      
      * fix weight files and import
      
      * missed some
      
      * fix import
      
      * fix imports
      
      * alphabetize
      
      * fix config traits
      
      * fix trait
      
      * update traits
      
      * update weights
      
      * "Update Substrate"
      
      * fix features
      
      * Update runtime/kusama/src/lib.rs
      
      * Update runtime/polkadot/src/lib.rs
      
      * add bounties and tips in proxy filters
      
      * remove unused
      
      * remove unused
      
      * remove unused
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarthiolliere <[email protected]>
      1ecc2e03
  11. Dec 11, 2020
  12. Dec 10, 2020
    • Bernhard Schuster's avatar
      addition error definitions (#2107) · 35c71bf3
      Bernhard Schuster authored
      * remove low information density error doc comments
      
      * another round of error dancing
      
      * fix compilation
      
      * remove stale `None` argument
      
      * adjust test, minor slip in command
      
      * only add AvailabilityError for full node features
      
      * another None where none shuld be
      35c71bf3
  13. Dec 08, 2020
  14. Dec 02, 2020
  15. Dec 01, 2020
  16. Nov 30, 2020
    • Bastian Köcher's avatar
      Process runtime api requests in the background (#2035) · 9ce18622
      Bastian Köcher authored
      This pr changes how the runtime api subsystem processes runtime api
      requests. Instead of answering all of them in the subsystem task and
      thus, making all requests sequential, we now answer them in a background
      task. This enables us to serve multiple requests at once.
      9ce18622
  17. Nov 23, 2020
    • Max Inden's avatar
      *: Update authority discovery and remove WorkerConfig (#1953) · 63bf63e4
      Max Inden authored
      * *: Update authority discovery and remove WorkerConfig
      
      With https://github.com/paritytech/substrate/pull/7545 the authority
      discovery module queries and publishes addresses on an exponentially
      increasing interval. Doing so should make custom configurations
      obsolete, as operations are retried in a timely fashion in the first
      minutes.
      
      * */Cargo.{lock,toml}: Point to mxinden substrate auth-disc-timing
      
      * Revert "*/Cargo.{lock,toml}: Point to mxinden substrate auth-disc-timing"
      
      This reverts commit 0785943a1e377454f088814ef20f4432de09da7a.
      
      * "Update Substrate"
      
      * Revert ""Update Substrate""
      
      This reverts commit 377b221e1853b2c383f0c416d686535b545796cb.
      
      * Cargo.lock: Manual Substrate update
      
      * node/test/service/src/lib: Remove unused import
      
      * parachain/test-parachains/adder: Remove unused import
      
      Co-authored-by: parity-processbot <>
      63bf63e4
    • André Silva's avatar
      companion for substrate#7546 (#1954) · ec292823
      André Silva authored
      * companion for substrate#7546
      
      * update to substrate master
      ec292823
  18. Nov 20, 2020
    • Sergey Pepyakin's avatar
      sane messaging defaults (#1994) · 56c07e8c
      Sergey Pepyakin authored
      56c07e8c
    • Peter Goodspeed-Niklaus's avatar
      Add tracing support to node (#1940) · e4998997
      Peter Goodspeed-Niklaus authored
      * drop in tracing to replace log
      
      * add structured logging to trace messages
      
      * add structured logging to debug messages
      
      * add structured logging to info messages
      
      * add structured logging to warn messages
      
      * add structured logging to error messages
      
      * normalize spacing and Display vs Debug
      
      * add instrumentation to the various 'fn run'
      
      * use explicit tracing module throughout
      
      * fix availability distribution test
      
      * don't double-print errors
      
      * remove further redundancy from logs
      
      * fix test errors
      
      * fix more test errors
      
      * remove unused kv_log_macro
      
      * fix unused variable
      
      * add tracing spans to collation generation
      
      * add tracing spans to av-store
      
      * add tracing spans to backing
      
      * add tracing spans to bitfield-signing
      
      * add tracing spans to candidate-selection
      
      * add tracing spans to candidate-validation
      
      * add tracing spans to chain-api
      
      * add tracing spans to provisioner
      
      * add tracing spans to runtime-api
      
      * add tracing spans to availability-distribution
      
      * add tracing spans to bitfield-distribution
      
      * add tracing spans to network-bridge
      
      * add tracing spans to collator-protocol
      
      * add tracing spans to pov-distribution
      
      * add tracing spans to statement-distribution
      
      * add tracing spans to overseer
      
      * cleanup
      e4998997
  19. Nov 19, 2020
  20. Nov 11, 2020
    • Jon Häggblad's avatar
      Companion PR for Substrate #7186 (#1816) · 4b082997
      Jon Häggblad authored
      * babe: backoff authoring blocks when finality lags
      
      * service: use default constructor for backoff authoring strat
      
      * slots: update to use renamed backoff strategy name
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      4b082997
  21. Nov 09, 2020
  22. Nov 03, 2020
  23. Nov 02, 2020
    • Bastian Köcher's avatar
      Adder collator improvements (#1896) · cfa078ae
      Bastian Köcher authored
      * Fixes bug that collator wasn't sending `Declare` message
      
      * Set authority discovery config
      
      * Fixes bug that collator wasn't sending `Declare` message
      
      * Adds real overseer feature and makes the wasm_validation fail with a
      proper error
      
      * Adds README
      
      * Remove debug stuff
      
      * Add feature
      
      * Make adder collator use the correct parent when building a new block
      cfa078ae
  24. Oct 31, 2020
    • asynchronous rob's avatar
    • Bastian Köcher's avatar
      Adds test parachain adder collator (#1864) · f82de7b9
      Bastian Köcher authored
      
      
      * start working on building the real overseer
      
      Unfortunately, this fails to compile right now due to an upstream
      failure to compile which is probably brought on by a recent upgrade
      to rustc v1.47.
      
      * fill in AllSubsystems internal constructors
      
      * replace fn make_metrics with Metrics::attempt_to_register
      
      * update to account for #1740
      
      * remove Metrics::register, rename Metrics::attempt_to_register
      
      * add 'static bounds to real_overseer type params
      
      * pass authority_discovery and network_service to real_overseer
      
      It's not straightforwardly obvious that this is the best way to handle
      the case when there is no authority discovery service, but it seems
      to be the best option available at the moment.
      
      * select a proper database configuration for the availability store db
      
      * use subdirectory for av-store database path
      
      * apply Basti's patch which avoids needing to parameterize everything on Block
      
      * simplify path extraction
      
      * get all tests to compile
      
      * Fix Prometheus double-registry error
      
      for debugging purposes, added this to node/subsystem-util/src/lib.rs:472-476:
      
      ```rust
      Some(registry) => Self::try_register(registry).map_err(|err| {
      	eprintln!("PrometheusError calling {}::register: {:?}", std::any::type_name::<Self>(), err);
      	err
      }),
      ```
      
      That pointed out where the registration was failing, which led to
      this fix. The test still doesn't pass, but it now fails in a new
      and different way!
      
      * authorities must have authority discovery, but not necessarily overseer handlers
      
      * fix broken SpawnedSubsystem impls
      
      detailed logging determined that using the `Box::new` style of
      future generation, the `self.run` method was never being called,
      leading to dropped receivers / closed senders for those subsystems,
      causing the overseer to shut down immediately.
      
      This is not the final fix needed to get things working properly,
      but it's a good start.
      
      * use prometheus properly
      
      Prometheus lets us register simple counters, which aren't very
      interesting. It also allows us to register CounterVecs, which are.
      With a CounterVec, you can provide a set of labels, which can
      later be used to filter the counts.
      
      We were using them wrong, though. This pattern was repeated in a
      variety of places in the code:
      
      ```rust
      // panics with an cardinality mismatch
      let my_counter = register(CounterVec::new(opts, &["succeeded", "failed"])?, registry)?;
      my_counter.with_label_values(&["succeeded"]).inc()
      ```
      
      The problem is that the labels provided in the constructor are not
      the set of legal values which can be annotated, but a set of individual
      label names which can have individual, arbitrary values.
      
      This commit fixes that.
      
      * get av-store subsystem to actually run properly and not die on first signal
      
      * typo fix: incomming -> incoming
      
      * don't disable authority discovery in test nodes
      
      * Fix rococo-v1 missing session keys
      
      * Update node/core/av-store/Cargo.toml
      
      * try dummying out av-store on non-full-nodes
      
      * overseer and subsystems are required only for full nodes
      
      * Reduce the amount of warnings on browser target
      
      * Fix two more warnings
      
      * InclusionInherent should actually have an Inherent module on rococo
      
      * Ancestry: don't return genesis' parent hash
      
      * Update Cargo.lock
      
      * fix broken test
      
      * update test script: specify chainspec as script argument
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update node/service/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * node/service/src/lib: Return error via ? operator
      
      * post-merge blues
      
      * add is_collator flag
      
      * prevent occasional av-store test panic
      
      * simplify fix; expand application
      
      * run authority_discovery in Role::Discover when collating
      
      * distinguish between proposer closed channel errors
      
      * add IsCollator enum, remove is_collator CLI flag
      
      * improve formatting
      
      * remove nop loop
      
      * Fix some stuff
      
      * Adds test parachain adder collator
      
      * Add sudo to Rococo, change session length to 30 seconds and some renaming
      
      * Update to the latest changes on master
      
      * Some fixes
      
      * Fix compilation
      
      * Update parachain/test-parachains/adder/collator/src/lib.rs
      
      Co-authored-by: default avatarSergei Shulepov <[email protected]>
      
      * Review comments
      
      * Downgrade transaction version
      
      * Fixes
      
      * MOARE
      
      * Register notification protocols
      
      * utils: remove unused error
      
      * av-store: more resilient to some errors
      
      * address review nits
      
      * address more review nits
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avatarFedor Sakharov <[email protected]>
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarMax Inden <[email protected]>
      Co-authored-by: default avatarSergey Shulepov <[email protected]>
      Co-authored-by: default avatarSergei Shulepov <[email protected]>
      f82de7b9
    • Fedor Sakharov's avatar
      A real overseer feature (#1892) · 16f8da1d
      Fedor Sakharov authored
      
      
      * A real overseer feature
      
      * Fix build without feature
      
      * Update node/service/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      16f8da1d
  25. Oct 29, 2020
  26. Oct 28, 2020
    • Fedor Sakharov's avatar
      Collator protocol should choose side (#1872) · 19286563
      Fedor Sakharov authored
      
      
      * Collator protocol should choose side
      
      * Update node/service/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      19286563
    • Peter Goodspeed-Niklaus's avatar
    • Peter Goodspeed-Niklaus's avatar
      start working on building the real overseer (#1795) · 1a25c412
      Peter Goodspeed-Niklaus authored
      
      
      * start working on building the real overseer
      
      Unfortunately, this fails to compile right now due to an upstream
      failure to compile which is probably brought on by a recent upgrade
      to rustc v1.47.
      
      * fill in AllSubsystems internal constructors
      
      * replace fn make_metrics with Metrics::attempt_to_register
      
      * update to account for #1740
      
      * remove Metrics::register, rename Metrics::attempt_to_register
      
      * add 'static bounds to real_overseer type params
      
      * pass authority_discovery and network_service to real_overseer
      
      It's not straightforwardly obvious that this is the best way to handle
      the case when there is no authority discovery service, but it seems
      to be the best option available at the moment.
      
      * select a proper database configuration for the availability store db
      
      * use subdirectory for av-store database path
      
      * apply Basti's patch which avoids needing to parameterize everything on Block
      
      * simplify path extraction
      
      * get all tests to compile
      
      * Fix Prometheus double-registry error
      
      for debugging purposes, added this to node/subsystem-util/src/lib.rs:472-476:
      
      ```rust
      Some(registry) => Self::try_register(registry).map_err(|err| {
      	eprintln!("PrometheusError calling {}::register: {:?}", std::any::type_name::<Self>(), err);
      	err
      }),
      ```
      
      That pointed out where the registration was failing, which led to
      this fix. The test still doesn't pass, but it now fails in a new
      and different way!
      
      * authorities must have authority discovery, but not necessarily overseer handlers
      
      * fix broken SpawnedSubsystem impls
      
      detailed logging determined that using the `Box::new` style of
      future generation, the `self.run` method was never being called,
      leading to dropped receivers / closed senders for those subsystems,
      causing the overseer to shut down immediately.
      
      This is not the final fix needed to get things working properly,
      but it's a good start.
      
      * use prometheus properly
      
      Prometheus lets us register simple counters, which aren't very
      interesting. It also allows us to register CounterVecs, which are.
      With a CounterVec, you can provide a set of labels, which can
      later be used to filter the counts.
      
      We were using them wrong, though. This pattern was repeated in a
      variety of places in the code:
      
      ```rust
      // panics with an cardinality mismatch
      let my_counter = register(CounterVec::new(opts, &["succeeded", "failed"])?, registry)?;
      my_counter.with_label_values(&["succeeded"]).inc()
      ```
      
      The problem is that the labels provided in the constructor are not
      the set of legal values which can be annotated, but a set of individual
      label names which can have individual, arbitrary values.
      
      This commit fixes that.
      
      * get av-store subsystem to actually run properly and not die on first signal
      
      * typo fix: incomming -> incoming
      
      * don't disable authority discovery in test nodes
      
      * Fix rococo-v1 missing session keys
      
      * Update node/core/av-store/Cargo.toml
      
      * try dummying out av-store on non-full-nodes
      
      * overseer and subsystems are required only for full nodes
      
      * Reduce the amount of warnings on browser target
      
      * Fix two more warnings
      
      * InclusionInherent should actually have an Inherent module on rococo
      
      * Ancestry: don't return genesis' parent hash
      
      * Update Cargo.lock
      
      * fix broken test
      
      * update test script: specify chainspec as script argument
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update node/service/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * node/service/src/lib: Return error via ? operator
      
      * post-merge blues
      
      * add is_collator flag
      
      * prevent occasional av-store test panic
      
      * simplify fix; expand application
      
      * run authority_discovery in Role::Discover when collating
      
      * distinguish between proposer closed channel errors
      
      * add IsCollator enum, remove is_collator CLI flag
      
      * improve formatting
      
      * remove nop loop
      
      * Fix some stuff
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarFedor Sakharov <[email protected]>
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarMax Inden <[email protected]>
      1a25c412
  27. Oct 27, 2020
  28. Oct 26, 2020
  29. Oct 25, 2020