1. Mar 07, 2023
  2. Mar 06, 2023
    • Liu-Cheng Xu's avatar
    • Aaro Altonen's avatar
      Extract syncing protocol from `sc-network` (#12828) · 1a7f5be0
      Aaro Altonen authored
      
      
      * Move import queue out of `sc-network`
      
      Add supplementary asynchronous API for the import queue which means
      it can be run as an independent task and communicated with through
      the `ImportQueueService`.
      
      This commit removes removes block and justification imports from
      `sc-network` and provides `ChainSync` with a handle to import queue so
      it can import blocks and justifications. Polling of the import queue is
      moved complete out of `sc-network` and `sc_consensus::Link` is
      implemented for `ChainSyncInterfaceHandled` so the import queue
      can still influence the syncing process.
      
      * Move stuff to SyncingEngine
      
      * Move `ChainSync` instanation to `SyncingEngine`
      
      Some of the tests have to be rewritten
      
      * Move peer hashmap to `SyncingEngine`
      
      * Let `SyncingEngine` to implement `ChainSyncInterface`
      
      * Introduce `SyncStatusProvider`
      
      * Move `sync_peer_(connected|disconnected)` to `SyncingEngine`
      
      * Implement `SyncEventStream`
      
      Remove `SyncConnected`/`SyncDisconnected` events from
      `NetworkEvenStream` and provide those events through
      `ChainSyncInterface` instead.
      
      Modify BEEFY/GRANDPA/transactions protocol and `NetworkGossip` to take
      `SyncEventStream` object which they listen to for incoming sync peer
      events.
      
      * Introduce `ChainSyncInterface`
      
      This interface provides a set of miscellaneous functions that other
      subsystems can use to query, for example, the syncing status.
      
      * Move event stream polling to `SyncingEngine`
      
      Subscribe to `NetworkStreamEvent` and poll the incoming notifications
      and substream events from `SyncingEngine`.
      
      The code needs refactoring.
      
      * Make `SyncingEngine` into an asynchronous runner
      
      This commits removes the last hard dependency of syncing from
      `sc-network` meaning the protocol now lives completely outside of
      `sc-network`, ignoring the hardcoded peerset entry which will be
      addressed in the future.
      
      Code needs a lot of refactoring.
      
      * Fix warnings
      
      * Code refactoring
      
      * Use `SyncingService` for BEEFY
      
      * Use `SyncingService` for GRANDPA
      
      * Remove call delegation from `NetworkService`
      
      * Remove `ChainSyncService`
      
      * Remove `ChainSync` service tests
      
      They were written for the sole purpose of verifying that `NetworWorker`
      continues to function while the calls are being dispatched to
      `ChainSync`.
      
      * Refactor code
      
      * Refactor code
      
      * Update client/finality-grandpa/src/communication/tests.rs
      
      Co-authored-by: default avatarAnton <[email protected]>
      
      * Fix warnings
      
      * Apply review comments
      
      * Fix docs
      
      * Fix test
      
      * cargo-fmt
      
      * Update client/network/sync/src/engine.rs
      
      Co-authored-by: default avatarAnton <[email protected]>
      
      * Update client/network/sync/src/engine.rs
      
      Co-authored-by: default avatarAnton <[email protected]>
      
      * Add missing docs
      
      * Refactor code
      
      ---------
      
      Co-authored-by: default avatarAnton <[email protected]>
      1a7f5be0
    • Martin Pugh's avatar
      [CI] Remove redundant trigger-review-pipeline job (#13547) · 8adde843
      Martin Pugh authored
      This job is now redundant since pipelines are run for each commit, so it can be safely removed. Cheers
      8adde843
    • yjh's avatar
      chore: reduce copy times for bytes in core-hashing (#13519) · 9b996439
      yjh authored
      * chore: reduce copy bytes for core-hashing
      
      * improve by suggestions and remove unused `xx_into`
      
      * chore: replace sha2 crate by `sp_core::hashing` for pallet-alliance
      
      * fix features
      
      * use sp-core-hashing directly
      
      * add to dev-dep
      9b996439
    • Sasha Gryaznov's avatar
      [contracts] Forbid calling back to contracts after switching to runtime (#13443) · f85d6dc6
      Sasha Gryaznov authored
      
      
      * save: compiles and tests pass
      
      * save: added global
      
      * done + test
      
      * cleanup
      
      * changelog update
      
      * cleanup
      
      * address feedback, step 1
      
      * address feedback, step 2
      
      * address feedback, step 3
      
      * returned updated gas_estimation_call_runtime test
      
      * clippy fix
      
      * address feedback, step 4
      
      * address feedback, step 5
      
      * move data from context to inputs
      
      * docs fix
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      
      * address feedback, step 6
      
      ---------
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      f85d6dc6
  3. Mar 05, 2023
  4. Mar 04, 2023
  5. Mar 03, 2023
  6. Mar 02, 2023
  7. Mar 01, 2023
  8. Feb 28, 2023
  9. Feb 27, 2023
    • Michal Kucharczyk's avatar
      b5e7fbfb
    • Arsenii Lyashenko's avatar
      Add Windows support for storage monitor (#13466) · a1c546e9
      Arsenii Lyashenko authored
      * Add Windows support for storage monitor
      
      * Apply suggested changes
      a1c546e9
    • Bastian Köcher's avatar
      `pallet-treasury`: Ensure we respect `max_amount` for spend across batch calls (#13468) · 6aa4127a
      Bastian Köcher authored
      * `pallet-treasury`: Ensure we respect `max_amount` for spend across batch calls
      
      When calling `spend` the origin defines the `max_amount` of tokens it is allowed to spend. The
      problem is that someone can send a `batch(spend, spend)` to circumvent this restriction as we don't
      check across different calls that the `max_amount` is respected. This pull request fixes this
      behavior by introducing a so-called dispatch context. This dispatch context is created once per
      outer most `dispatch` call. For more information see the docs in this pr. The treasury then uses
      this dispatch context to attach information about already spent funds per `max_amount` (we assume
      that each origin has a different `max_amount` configured). So, a `batch(spend, spend)` is now
      checked to stay inside the allowed spending bounds.
      
      Fixes: https://github.com/paritytech/substrate/issues/13167
      
      * Import `Box` for wasm
      
      * FMT
      6aa4127a
    • Muharem Ismailov's avatar
      constructor for MemberRecord (#13473) · 85a5a5db
      Muharem Ismailov authored
      85a5a5db
    • Davide Galassi's avatar
      Move grandpa crates to consensus folder (#13458) · 40c36c0c
      Davide Galassi authored
      * Move grandpa under consensus dir
      * Rename grandpa folder
      * Finish grandpa renaming
      * Minor tweaks
      * Cargo fmt
      * Adjust path to chain spec
      40c36c0c
    • Koute's avatar
      Further storage iterator refactoring (#13445) · 91c595bc
      Koute authored
      * Remove `Backend::apply_to_key_values_while`
      
      * Add `IterArgs::start_at_exclusive`
      
      * Use `start_at_exclusive` in functions which used `Backend::apply_to_key_values_while`
      
      * Remove `Backend::apply_to_keys_while`
      
      * Remove `for_keys_with_prefix`, `for_key_values_with_prefix` and `for_child_keys_with_prefix`
      
      * Remove unnecessary `to_vec` calls
      
      * Fix unused method warning in no_std
      
      * Remove unnecessary import
      
      * Also check proof sizes in the test
      
      * Iterate over both keys and values in `prove_range_read_with_size` and add a test
      91c595bc