Skip to content
Snippets Groups Projects
  1. Sep 30, 2024
  2. Sep 29, 2024
    • Shawn Tabrizi's avatar
      Improve APIs for Tries in Runtime (#5756) · 05b5fb2b
      Shawn Tabrizi authored
      
      This is a refactor and improvement from:
      https://github.com/paritytech/polkadot-sdk/pull/3881
      
      - `sp_runtime::proving_trie` now exposes a `BasicProvingTrie` for both
      `base2` and `base16`.
      - APIs for `base16` are more focused on single value proofs, also
      aligning their APIs with the `base2` trie
      - A `ProvingTrie` trait is included which wraps both the `base2` and
      `base16` trie, and exposes all APIs needed for an end to end scenario.
      - A `ProofToHashes` trait is exposed which can allow us to write proper
      benchmarks for the merkle trie.
      
      ---------
      
      Co-authored-by: default avatarAnkan <10196091+Ank4n@users.noreply.github.com>
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
  3. Sep 28, 2024
    • Facundo Farall's avatar
      Clarify firing of `import_notification_stream` in doc comment (#5811) · df12fd34
      Facundo Farall authored
      
      # Description
      
      Updates the doc comment on the `import_notification_stream` to make its
      behaviour clearer.
      
      Closes [Unexpected behaviour of block
      `import_notification_stream`](https://github.com/paritytech/polkadot-sdk/issues/5596).
      
      ## Integration
      
      Doesn't apply.
      
      ## Review Notes
      
      The old comment docs caused some confusion to myself and some members of
      my team, on when this notification stream is triggered. This is
      reflected in the linked
      [issue](https://github.com/paritytech/polkadot-sdk/issues/5596), and as
      discussed there, this PR aims to prevent this confusion in future devs
      looking to make use of this functionality.
      
      # Checklist
      
      * [x] My PR includes a detailed description as outlined in the
      "Description" and its two subsections above.
      * [ ] My PR follows the [labeling requirements](
      
      https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process
      ) of this project (at minimum one label for `T` required)
      * External contributors: ask maintainers to put the right label on your
      PR.
      * [x] I have made corresponding changes to the documentation (if
      applicable)
      * [x] I have added tests that prove my fix is effective or that my
      feature works (if applicable)
      
      You can remove the "Checklist" section once all have been checked. Thank
      you for your contribution!
      
      ---------
      
      Co-authored-by: default avatarMichal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Maksym H's avatar
      Update runtimes-matrix.json (#5829) · 0a569963
      Maksym H authored
      
      Just a tiny config fix
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Iulian Barbu's avatar
      substrate/utils: enable wasm builder diagnostics propagation (#5838) · 58ade7a6
      Iulian Barbu authored
      
      # Description
      
      `substrate-wasm-builder` can be a build dependency for crates which
      develop FRAME runtimes. I had a tough time seeing errors happening in
      such crates (e.g. runtimes from the `templates` directory) in my IDE. I
      use a combination of rust-analyzer + nvim-lsp + nvim-lspconfig +
      rustacean.vim and all of this stack is not able to correctly parse
      errors emitted during the `build` phase.
      
      As a matter of fact there is also a cargo issue tracking specifically
      this issue where cargo doesn't propagate the `--message-format` type to
      the build phase: [here](https://github.com/rust-lang/cargo/issues/14246)
      initially and then
      [here](https://github.com/rust-lang/cargo/issues/8283). It feels like a
      solution for this use case isn't very close, so if it comes to runtimes
      development (both as an SDK user and developer), enabling wasm builder
      to emit diagnostics messages friendly to IDEs would be useful for
      regular workflows where IDEs are used for finding errors instead of
      manually running `cargo` commands.
      
      ## Integration
      
      It can be an issue if Substrate/FRAME SDKs users and developers rely on
      the runtimes' crates build phase output in certain ways. Emitting
      compilation messages as json will pollute the regular compilation output
      so people that would manually run `cargo build` or `cargo check` on
      their crates will have a tougher time extracting the non JSON output.
      
      ## Review Notes
      
      Rust IDEs based on rust-analyzer rely on cargo check/clippy to extract
      diagnostic information. The information is generated by passing flags
      like `--messages-format=json` to the `cargo` commands. The messages are
      extracted by rust-analyzer and published to LSP clients that will
      populate UIs accordingly.
      
      We need to build against the wasm target by using `message-format=json`
      too so that IDEs can show the errors for crates that have a build
      dependency on `substrate-wasm-builder`.
      
      ---------
      
      Signed-off-by: default avatarIulian Barbu <iulian.barbu@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
  4. Sep 27, 2024
  5. Sep 26, 2024
    • Alexander Samusev's avatar
      [ci] Update CI image with rust 1.81.0 and 2024-09-11 (#5676) · 6c3219eb
      Alexander Samusev authored
      
      cc https://github.com/paritytech/ci_cd/issues/1035
      
      cc https://github.com/paritytech/ci_cd/issues/1023
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarMaksym H <1177472+mordamax@users.noreply.github.com>
      Co-authored-by: default avatargui <gui.thiolliere@gmail.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarggwpez <ggwpez@users.noreply.github.com>
    • Javier Viola's avatar
      bump zombienet version `v1.3.110` (#5834) · 17243e03
      Javier Viola authored
      Bump `zombienet` version to prevent report fails at teardown phase.
    • Alexander Samusev's avatar
      [ci] Disable cargo-hfuzz, disable cargo-doc (#5843) · 7626a9d6
      Alexander Samusev authored
      Changes in PR:
      - disabled cargo-hfuzz until [the
      issue](https://github.com/paritytech/polkadot-sdk/issues/5812) is fixed.
      - enabled condition to skip jobs when no rust files are changed
    • Alexandru Gheorghe's avatar
      [5 / 5] Introduce approval-voting-parallel (#4849) · b16237ad
      Alexandru Gheorghe authored
      This is the implementation of the approach described here:
      https://github.com/paritytech/polkadot-sdk/issues/1617#issuecomment-2150321612
      &
      https://github.com/paritytech/polkadot-sdk/issues/1617#issuecomment-2154357547
      &
      https://github.com/paritytech/polkadot-sdk/issues/1617#issuecomment-2154721395.
      
      ## Description of changes
      
      The end goal is to have an architecture where we have single
      subsystem(`approval-voting-parallel`) and multiple worker types that
      would full-fill the work that currently is fulfilled by the
      `approval-distribution` and `approval-voting` subsystems. The main loop
      of the new subsystem would do just the distribution of work to the
      workers.
      
      The new subsystem will have:
      - N approval-distribution workers: This would do the work that is
      currently being done by the approval-distribution subsystem and in
      addition to that will also perform the crypto-checks that an assignment
      is valid and that a vote is correctly signed. Work is assigned via the
      following formula: `worker_index = msg.validator % WORKER_COUNT`, this
      guarantees that all assignments and approvals from the same validator
      reach the same worker.
      - 1 approval-voting worker: This would receive an already valid message
      and do everything the approval-voting currently does, except the
      crypto-checking that has been moved already to the approval-distribution
      worker.
      
      On the hot path of processing messages **no** synchronisation and
      waiting is needed between approval-distribution and approval-voting
      workers.
      
      <img width="1431" alt="Screenshot 2024-06-07 at 11 28 08"
      src="https://github.com/paritytech/polkadot-sdk/assets/49718502/a196199b-b705-4140-87d4-c6900ba8595e">
      
      
      
      ## Guidelines for reading
      
      The full implementation is broken in 5 PRs and all of them are
      self-contained and improve things incrementally even without the
      parallelisation being implemented/enabled, the reason this approach was
      taken instead of a big-bang PR, is to make things easier to review and
      reduced the risk of breaking this critical subsystems.
      
      After reading the full description of this PR, the changes should be
      read in the following order:
      1. https://github.com/paritytech/polkadot-sdk/pull/4848, some other
      micro-optimizations for networks with a high number of validators. This
      change gives us a speed up by itself without any other changes.
      2. https://github.com/paritytech/polkadot-sdk/pull/4845 , this contains
      only interface changes to decouple the subsystem from the `Context` and
      be able to run multiple instances of the subsystem on different threads.
      **No functional changes**
      3. https://github.com/paritytech/polkadot-sdk/pull/4928, moving of the
      crypto checks from approval-voting in approval-distribution, so that the
      approval-distribution has no reason to wait after approval-voting
      anymore. This change gives us a speed up by itself without any other
      changes.
      4. https://github.com/paritytech/polkadot-sdk/pull/4846, interface
      changes to make approval-voting runnable on a separate thread. **No
      functional changes**
      5. This PR, where we instantiate an `approval-voting-parallel` subsystem
      that runs on different workers the logic currently in
      `approval-distribution` and `approval-voting`.
      6. The next step after this changes get merged and deploy would be to
      bring all the files from approval-distribution, approval-voting,
      approval-voting-parallel into a single rust crate, to make it easier to
      maintain and understand the structure.
      
      ## Results
      Running subsystem-benchmarks with 1000 validators 100 fully ocuppied
      cores and triggering all assignments and approvals for all tranches
      
      #### Approval does not lags behind. 
       Master
      ```
      Chain selection approved  after 72500 ms hash=0x0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a
      ```
      With this PoC
      ```
      Chain selection approved  after 3500 ms hash=0x0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a
      ```
      
      #### Gathering enough assignments
       
      Enough assignments are gathered in less than 500ms, so that gives un a
      guarantee that un-necessary work does not get triggered, on master on
      the same benchmark because the subsystems fall behind on work, that
      number goes above 32 seconds on master.
       
      <img width="2240" alt="Screenshot 2024-06-20 at 15 48 22"
      src="https://github.com/paritytech/polkadot-sdk/assets/49718502/d2f2b29c-5ff6-44b4-a245-5b37ab8e58bc">
      
      
      #### Cpu usage:
      Master
      ```
      CPU usage, seconds                     total   per block
      approval-distribution                96.9436      9.6944
      approval-voting                     117.4676     11.7468
      test-environment                     44.0092      4.4009
      ```
      With this PoC
      ```
      CPU usage, seconds                     total   per block
      approval-distribution                 0.0014      0.0001 --- unused
      approval-voting                       0.0437      0.0044.  --- unused
      approval-voting-parallel              5.9560      0.5956
      approval-voting-parallel-0           22.9073      2.2907
      approval-voting-parallel-1           23.0417      2.3042
      approval-voting-parallel-2           22.0445      2.2045
      approval-voting-parallel-3           22.7234      2.2723
      approval-voting-parallel-4           21.9788      2.1979
      approval-voting-parallel-5           23.0601      2.3060
      approval-voting-parallel-6           22.4805      2.2481
      approval-voting-parallel-7           21.8330      2.1833
      approval-voting-parallel-db          37.1954      3.7195.  --- the approval-voting thread.
      ```
      
      # Enablement strategy
      
      Because just some trivial plumbing is needed in approval-distribution
      and approval-voting to be able to run things in parallel and because
      this subsystems plays a critical part in the system this PR proposes
      that we keep both ways of running the approval work, as separated
      subsystems and just a single subsystem(`approval-voting-parallel`) which
      has multiple workers for the distribution work and one worker for the
      approval-voting work and switch between them with a comandline flag.
      
      The benefits for this is twofold.
      1. With the same polkadot binary we can easily switch just a few
      validators to use the parallel approach and gradually make this the
      default way of running, if now issues arise.
      2. In the worst case scenario were it becomes the default way of running
      things, but we discover there are critical issues with it we have the
      path to quickly disable it by asking validators to adjust their command
      line flags.
      
      
      # Next steps
      - [x] Make sure through various testing we are not missing anything 
      - [x] Polish the implementations to make them production ready
      - [x] Add Unittest Tests for approval-voting-parallel.
      - [x] Define and implement the strategy for rolling this change, so that
      the blast radius is minimal(single validator) in case there are problems
      with the implementation.
      - [x]  Versi long running tests.
      - [x] Add relevant metrics.
      
      @ordian @eskimor @sandreim @AndreiEres
      
      , let me know what you think.
      
      ---------
      
      Signed-off-by: default avatarAlexandru Gheorghe <alexandru.gheorghe@parity.io>
    • Maksym H's avatar
      add riscv feature to /cmd bench by default (#5828) · f6d08e63
      Maksym H authored
      Closes #5714
    • Andrei Sandu's avatar
      chore: bump runtime api version to v11 (#5824) · 1f3e3978
      Andrei Sandu authored
      
      A change that I missed to add in
      https://github.com/paritytech/polkadot-sdk/pull/5525 .
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <andrei-mihail@parity.io>
  6. Sep 25, 2024
    • Cyrill Leutwiler's avatar
      [pallet-revive] last call return data API (#5779) · c77095f5
      Cyrill Leutwiler authored
      
      This PR introduces 2 new syscalls: `return_data_size` and
      `return_data_copy`, resembling the semantics of the EVM `RETURNDATASIZE`
      and `RETURNDATACOPY` opcodes.
      
      The ownership of `ExecReturnValue` (the return data) has moved to the
      `Frame`. This allows implementing the new contract API functionality in
      ext with no additional copies. Returned data is passed via contract
      memory, memory is (will be) metered, hence the amount of returned data
      can not be statically known, so we should avoid storing copies of the
      returned data if we can. By moving the ownership of the exectuables
      return value into the `Frame` struct we achieve this.
      
      A zero-copy implementation of those APIs would be technically possible
      without that internal change by making the callsite in the runtime
      responsible for moving the returned data into the frame after any call.
      However, resetting the stored output needs to be handled in ext, since
      plain transfers will _not_ affect the stored return data (and we don't
      want to handle this special call case inside the `runtime` API). This
      has drawbacks:
      - It can not be tested easily in the mock.
      - It introduces an inconsistency where resetting the stored output is
      handled in ext, but the runtime API is responsible to store it back
      correctly after any calls made. Instead, with ownership of the data in
      `Frame`, both can be handled in a single place. Handling both in `fn
      run()` is more natural and leaves less room for runtime API bugs.
      
      The returned output is reset each time _before_ running any executable
      in a nested stack. This change should not incur any overhead to the
      overall memory usage as _only_ the returned data from the last executed
      frame will be kept around at any time.
      
      ---------
      
      Signed-off-by: default avatarCyrill Leutwiler <bigcyrill@hotmail.com>
      Signed-off-by: default avatarxermicus <cyrill@parity.io>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarPG Herveou <pgherveou@gmail.com>
    • Adrian Catangiu's avatar
      xcm-executor: validate destinations for ReserveWithdraw and Teleport transfers (#5660) · b5ac7a9d
      Adrian Catangiu authored
      
      This change adds the required validation for stronger UX guarantees when
      using `InitiateReserveWithdraw` or `InitiateTeleport` XCM instructions.
      Execution of the instructions will fail if the local chain is not
      configured to trust the "destination" or "reserve" chain as a
      reserve/trusted-teleporter for the provided "assets".
      
      With this change, misuse of `InitiateReserveWithdraw`/`InitiateTeleport`
      fails on origin with no overall side-effects, rather than failing on
      destination (with side-effects to origin's assets issuance).
      
      The commit also makes the same validations for pallet-xcm transfers, and
      adds regression tests.
      
      ---------
      
      Signed-off-by: default avatarAdrian Catangiu <adrian@parity.io>
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
    • Liam Aharon's avatar
      MBM `try-runtime` support (#4251) · cc6a5130
      Liam Aharon authored
      
      # MBM try-runtime support
      
      This MR adds support to the try-runtime trait such that the
      try-runtime-CLI will be able to support MBM testing
      [here](https://github.com/paritytech/try-runtime-cli/pull/90). It mainly
      adds two feature-gated hooks to the `SteppedMigration` hook to
      facilitate testing. These hooks are named `pre_upgrade` and
      `post_upgrade` and have the same signature and implications as for
      single-block migrations.
      
      ## Integration
      
      To make use of this in your Multi-Block-Migration, just implement the
      two new hooks and test pre- and post-conditions in them:
      
      ```rust
      #[cfg(feature = "try-runtime")]
      fn pre_upgrade() -> Result<Vec<u8>, frame_support::sp_runtime::TryRuntimeError> {
      	// ...
      }
      
      #[cfg(feature = "try-runtime")]
      fn post_upgrade(prev: Vec<u8>) -> Result<(), frame_support::sp_runtime::TryRuntimeError> {
          // ...
      }
      ```
      
      You may return an error or panic in these functions to indicate failure.
      This will then show up in the try-runtime-CLI and can be used in CI for
      testing.
      
      Changes:
      - Adds `try-runtime` gated methods `pre_upgrade` and `post_upgrade` on
      `SteppedMigration`
      - Adds `try-runtime` gated methods `nth_pre_upgrade` and
      `nth_post_upgrade` on `SteppedMigrations`
      - Modifies `pallet_migrations` implementation to run pre_upgrade and
      post_upgrade steps at the appropriate times, and panic in the event of
      migration failure.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Signed-off-by: default avatargeorgepisaltu <george.pisaltu@parity.io>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarclaravanstaden <claravanstaden64@gmail.com>
      Co-authored-by: default avatarggwpez <ggwpez@users.noreply.github.com>
      Co-authored-by: default avatargeorgepisaltu <george.pisaltu@parity.io>
    • Andrei Sandu's avatar
      approval-voting: remove dead test code (#5815) · 286af23b
      Andrei Sandu authored
      
      Minor cleanup.
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <andrei-mihail@parity.io>
  7. Sep 24, 2024
    • Branislav Kontur's avatar
      Bridges lane id agnostic for backwards compatibility (#5649) · 710e74dd
      Branislav Kontur authored
      This PR primarily fixes the issue with
      `zombienet-bridges-0001-asset-transfer-works` (see:
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/7404903).
      
      The PR looks large, but most of the changes involve splitting `LaneId`
      into `LegacyLaneId` and `HashedLaneId`. All pallets now use `LaneId` as
      a generic parameter.
      
      The actual bridging pallets are now backward compatible and work with
      actual **substrate-relay v1.6.10**, which does not even known anything
      about permissionless lanes or the new pallet changes.
      
      
      
      ## Important
      
      - [x] added migration for `pallet_bridge_relayers` and
      `RewardsAccountParams` change order of params, which generates different
      accounts
      
      ## Deployment follow ups
      - [ ] fix monitoring for
      `at_{}_relay_{}_reward_for_msgs_from_{}_on_lane_{}`
      - [ ] check sovereign reward accounts - because of changed
      `RewardsAccountParams`
      - [ ] deploy another messages instances for permissionless lanes - on
      BHs or AHs?
      - [ ] return bac...
    • Javier Viola's avatar
      Fix parachain-template-test (#5821) · 9294572a
      Javier Viola authored
      Fix `parachain-template-test` (bump `zombienet` version).
      Thx!
    • Eugen Snitko's avatar
      Preflight workflow update (#5771) · c987da33
      Eugen Snitko authored
      
      - New and updated vars
      - New runner vars
      - Runners rename (see https://github.com/paritytech/ci_cd/issues/1039)
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • Clara van Staden's avatar
      Fix border condition in Snowbridge free consensus Updates (#5671) · 1790e427
      Clara van Staden authored
      
      # Description
      
      A fix for a border condition introduced with new feature
      https://github.com/paritytech/polkadot-sdk/pull/5201. A malicious
      relayer could spam the Ethereum client with sync committee updates that
      have already been imported for the period. This PR adds a storage item
      to track the last imported sync committee period, so that subsequent
      irrelevant updates are not free.
      
      Original PR: https://github.com/Snowfork/polkadot-sdk/pull/172
      
      ## Integration
      
      Downstream projects are not affected. Relayers will not be able to spam
      the Ethereum client with irrelevant sync committee updates for free.
      
      ## Review Notes
      
      Adds a storage item to track the last free sync committee update period,
      so that duplicate imports are not free.
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
    • Adrian Catangiu's avatar
      snowbridge: improve destination fee handling to avoid trapping fees dust (#5563) · 62534e53
      Adrian Catangiu authored
      On messages Ethereum -> Polkadot Asset Hub: whether they are a token
      transfer or a `Transact` for registering new token, make sure to handle
      unspent fees, rather than trapping them.
      
      This PR deposits them to Snowbridge's sovereign account on Asset Hub.
      
      ---------
      
      Co-authored-by: command-bot <>
  8. Sep 23, 2024
    • Jan-Jan's avatar
      update solochain to use #[runtime] (#5772) · 08498f54
      Jan-Jan authored
      
      # Description
      
      * This is part of [issue
      5242](https://github.com/paritytech/polkadot-sdk/issues/5242),
      specifically getting solochain to use `#[frame::runtime]`
      * Furthermore, reinforced the convention of `Template` instead of
      `TemplateModule`
      
      
      ## Integration
      
      * Should be integrated into the `solochain` template and documentation
      
      ## Review Notes
      
      * Refactored `solochain` template from
      [construct_runtime!](https://paritytech.github.io/polkadot-sdk/master/frame_support/macro.construct_runtime.html)
      to
      [#[runtime]](https://paritytech.github.io/polkadot-sdk/master/frame_support/attr.runtime.html).
      * AFAIU `Template` is our new convention, and preferred over
      `TemplateModule`.
      
      # Out of scope
      
      * The
      [#[runtime]](https://paritytech.github.io/polkadot-sdk/master/frame_support/attr.runtime.html)
      documentation is still very rudimentary, and should ideally be expanded
      to explain the macro, both what it does and the input options.
      * Furthermore, suggest update
      [#[runtime]](https://paritytech.github.io/polkadot-sdk/master/frame_support/attr.runtime.html)
      documentation to replace `#[crate::runtime]` with
      `#[frame_support::runtime]`
      
      ---------
      
      Co-authored-by: default avatarJan-Jan <111935+Jan-Jan@users.noreply.github.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      Co-authored-by: command-bot <>
    • dependabot[bot]'s avatar
      Bump the ci_dependencies group across 1 directory with 3 updates (#5803) · fbcda7e1
      dependabot[bot] authored
      Bumps the ci_dependencies group with 3 updates in the / directory:
      [actions/setup-node](https://github.com/actions/setup-node),
      [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request)
      and
      [actions-rust-lang/setup-rust-toolchain](https://github.com/actions-rust-lang/setup-rust-toolchain).
      
      Updates `actions/setup-node` from 4.0.3 to 4.0.4
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/actions/setup-node/releases">actions/setup-node's
      releases</a>.</em></p>
      <blockquote>
      <h2>v4.0.4</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Add workflow file for publishing releases to immutable action
      package by <a
      href="https://github.com/Jcambass"><code>@​Jcambass</code></a> in <a
      href="https://redirect.github.com/actions/setup-node/pull/1125">actions/setup-node#1125</a></li>
      <li>Enhance Windows ARM64 Setup and Update micromatch Dependency by <a
      href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
      in <a
      href="https://redirect.github.com/actions/setup-node/pull/1126">actions/setup-node#1126</a></li>
      </ul>
      <h3>Documentation changes:</h3>
      <ul>
      <li>Documentation update in the README file by <a
      href="https://github.com/suyashgaonkar"><code>@​suyashgaonkar</code></a>
      in <a
      href="https://redirect.github.com/actions/setup-node/pull/1106">actions/setup-node#1106</a></li>
      <li>Correct invalid 'lts' version string reference by <a
      href="https://github.com/fulldecent"><code>@​fulldecent</code></a> in <a
      href="https://redirect.github.com/actions/setup-node/pull/1124">actions/setup-node#1124</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/suyashgaonkar"><code>@​suyashgaonkar</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/actions/setup-node/pull/1106">actions/setup-node#1106</a></li>
      <li><a
      href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/actions/setup-node/pull/1126">actions/setup-node#1126</a></li>
      <li><a href="https://github.com/Jcambass"><code>@​Jcambass</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/actions/setup-node/pull/1125">actions/setup-node#1125</a></li>
      <li><a
      href="https://github.com/fulldecent"><code>@​fulldecent</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/actions/setup-node/pull/1124">actions/setup-node#1124</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/actions/setup-node/compare/v4...v4.0.4">https://github.com/actions/setup-node/compare/v4...v4.0.4</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/actions/setup-node/commit/0a44ba7841725637a19e28fa30b79a866c81b0a6"><code>0a44ba7</code></a>
      Correct version string (<a
      href="https://redirect.github.com/actions/setup-node/issues/1124">#1124</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/97ca147735c170fb35096b39ef17a0fc5d9270ac"><code>97ca147</code></a>
      Merge pull request <a
      href="https://redirect.github.com/actions/setup-node/issues/1125">#1125</a>
      from actions/add-is-release-workflow</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/aa363ded8fefb1e43b7a6cb669a222a98c09eb57"><code>aa363de</code></a>
      Create publish-immutable-action.yml</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/1c7b2db92075f828bee89d7e19d33a911d15e7b3"><code>1c7b2db</code></a>
      Fix: windows arm64 setup (<a
      href="https://redirect.github.com/actions/setup-node/issues/1126">#1126</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/26961cf329f22f6837d5f54c3efd76b480300ace"><code>26961cf</code></a>
      Documentation update in the README file (<a
      href="https://redirect.github.com/actions/setup-node/issues/1106">#1106</a>)</li>
      <li>See full diff in <a
      href="https://github.com/actions/setup-node/compare/v4.0.3...v4.0.4">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `peter-evans/create-pull-request` from 7.0.1 to 7.0.5
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/peter-evans/create-pull-request/releases">peter-evans/create-pull-request's
      releases</a>.</em></p>
      <blockquote>
      <h2>Create Pull Request v7.0.5</h2>
      <p>:gear:️ Fixes an issue with commit signing to allow it to support
      symlinks</p>
      <h2>What's Changed</h2>
      <ul>
      <li>fix: support symlinks when commit signing by <a
      href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
      <a
      href="https://redirect.github.com/peter-evans/create-pull-request/pull/3359">peter-evans/create-pull-request#3359</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/peter-evans/create-pull-request/compare/v7.0.4...v7.0.5">https://github.com/peter-evans/create-pull-request/compare/v7.0.4...v7.0.5</a></p>
      <h2>Create Pull Request v7.0.4</h2>
      <p>:gear:️ Fixes an issue with commit signing to allow it to support
      submodules</p>
      <h2>What's Changed</h2>
      <ul>
      <li>docs: correct suggestion for bot setup by <a
      href="https://github.com/henryiii"><code>@​henryiii</code></a> in <a
      href="https://redirect.github.com/peter-evans/create-pull-request/pull/3342">peter-evans/create-pull-request#3342</a></li>
      <li>build(deps-dev): bump <code>@​types/jest</code> from 29.5.12 to
      29.5.13 by <a
      href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
      href="https://redirect.github.com/peter-evans/create-pull-request/pull/3343">peter-evans/create-pull-request#3343</a></li>
      <li>build(deps-dev): bump eslint from 8.57.0 to 8.57.1 by <a
      href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
      href="https://redirect.github.com/peter-evans/create-pull-request/pull/3344">peter-evans/create-pull-request#3344</a></li>
      <li>fix: support submodules when commit signing by <a
      href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
      <a
      href="https://redirect.github.com/peter-evans/create-pull-request/pull/3354">peter-evans/create-pull-request#3354</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a href="https://github.com/henryiii"><code>@​henryiii</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/peter-evans/create-pull-request/pull/3342">peter-evans/create-pull-request#3342</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/peter-evans/create-pull-request/compare/v7.0.3...v7.0.4">https://github.com/peter-evans/create-pull-request/compare/v7.0.3...v7.0.4</a></p>
      <h2>Create Pull Request v7.0.3</h2>
      <p>:gear:️ Fixes an issue with commit signing where commit SHAs have variable
      lengths when abbreviated.</p>
      <h2>What's Changed</h2>
      <ul>
      <li>fix: disable abbreviated commit shas in diff by <a
      href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
      <a
      href="https://redirect.github.com/peter-evans/create-pull-request/pull/3337">peter-evans/create-pull-request#3337</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/peter-evans/create-pull-request/compare/v7.0.2...v7.0.3">https://github.com/peter-evans/create-pull-request/compare/v7.0.2...v7.0.3</a></p>
      <h2>Create Pull Request v7.0.2</h2>
      <p>:gear:
      
      ️ Fixes an issue with commit signing when a change was detected as
      being a rename or copy.</p>
      <h2>What's Changed</h2>
      <ul>
      <li>build(deps-dev): bump <code>@​types/node</code> from 18.19.48 to
      18.19.50 by <a
      href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
      href="https://redirect.github.com/peter-evans/create-pull-request/pull/3320">peter-evans/create-pull-request#3320</a></li>
      <li>build(deps-dev): bump typescript from 5.5.4 to 5.6.2 by <a
      href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
      href="https://redirect.github.com/peter-evans/create-pull-request/pull/3319">peter-evans/create-pull-request#3319</a></li>
      <li>fix: disable diff detection for renames and copies by <a
      href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
      <a
      href="https://redirect.github.com/peter-evans/create-pull-request/pull/3330">peter-evans/create-pull-request#3330</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/peter-evans/create-pull-request/compare/v7.0.1...v7.0.2">https://github.com/peter-evans/create-pull-request/compare/v7.0.1...v7.0.2</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/peter-evans/create-pull-request/commit/5e914681df9dc83aa4e4905692ca88beb2f9e91f"><code>5e91468</code></a>
      fix: support symlinks when commit signing (<a
      href="https://redirect.github.com/peter-evans/create-pull-request/issues/3359">#3359</a>)</li>
      <li><a
      href="https://github.com/peter-evans/create-pull-request/commit/2f38cd26bfebe301a5ee90bdd6550a69dc3ef23f"><code>2f38cd2</code></a>
      fix: support submodules when commit signing (<a
      href="https://redirect.github.com/peter-evans/create-pull-request/issues/3354">#3354</a>)</li>
      <li><a
      href="https://github.com/peter-evans/create-pull-request/commit/7a8aeac749996aed943101d8e7dfb0cecc06197e"><code>7a8aeac</code></a>
      build(deps-dev): bump eslint from 8.57.0 to 8.57.1 (<a
      href="https://redirect.github.com/peter-evans/create-pull-request/issues/3344">#3344</a>)</li>
      <li><a
      href="https://github.com/peter-evans/create-pull-request/commit/d39d596a7720fc2c61c9aa5503097fb553431b5e"><code>d39d596</code></a>
      build(deps-dev): bump <code>@​types/jest</code> from 29.5.12 to 29.5.13
      (<a
      href="https://redirect.github.com/peter-evans/create-pull-request/issues/3343">#3343</a>)</li>
      <li><a
      href="https://github.com/peter-evans/create-pull-request/commit/f6f978fd3dc86c443f758f603d22dc554762c832"><code>f6f978f</code></a>
      docs: correct suggestion for bot setup (<a
      href="https://redirect.github.com/peter-evans/create-pull-request/issues/3342">#3342</a>)</li>
      <li><a
      href="https://github.com/peter-evans/create-pull-request/commit/6cd32fd93684475c31847837f87bb135d40a2b79"><code>6cd32fd</code></a>
      fix: disable abbreviated commit shas in diff (<a
      href="https://redirect.github.com/peter-evans/create-pull-request/issues/3337">#3337</a>)</li>
      <li><a
      href="https://github.com/peter-evans/create-pull-request/commit/d121e62763d8cc35b5fb1710e887d6e69a52d3a4"><code>d121e62</code></a>
      fix: disable diff detection for renames and copies (<a
      href="https://redirect.github.com/peter-evans/create-pull-request/issues/3330">#3330</a>)</li>
      <li><a
      href="https://github.com/peter-evans/create-pull-request/commit/f4d66f4d5a5a7e65a185463192800c32d296ac6d"><code>f4d66f4</code></a>
      build(deps-dev): bump typescript from 5.5.4 to 5.6.2 (<a
      href="https://redirect.github.com/peter-evans/create-pull-request/issues/3319">#3319</a>)</li>
      <li><a
      href="https://github.com/peter-evans/create-pull-request/commit/488c869d17c8a5cb8a2f0a09471ed82c1d2a084f"><code>488c869</code></a>
      build(deps-dev): bump <code>@​types/node</code> from 18.19.48 to
      18.19.50 (<a
      href="https://redirect.github.com/peter-evans/create-pull-request/issues/3320">#3320</a>)</li>
      <li><a
      href="https://github.com/peter-evans/create-pull-request/commit/5354f85616108575685a73a0ddd2f67c26a441c3"><code>5354f85</code></a>
      docs: update readme</li>
      <li>See full diff in <a
      href="https://github.com/peter-evans/create-pull-request/compare/8867c4aba1b742c39f8d0ba35429c2dfa4b6cb20...5e914681df9dc83aa4e4905692ca88beb2f9e91f">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `actions-rust-lang/setup-rust-toolchain` from 1.9.0 to 1.10.0
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/releases">actions-rust-lang/setup-rust-toolchain's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.10.0</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Add new parameter cache-directories that is propagated to
      Swatinem/rust-cache (<a
      href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/44">#44</a>
      by <a
      href="https://github.com/pranc1ngpegasus"><code>@​pranc1ngpegasus</code></a>)</li>
      <li>Add new parameter cache-key that is propagated to
      Swatinem/rust-cache as key (<a
      href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/41">#41</a>
      by <a
      href="https://github.com/iainlane"><code>@​iainlane</code></a>)</li>
      <li>Make rustup toolchain installation more robust in light of planned
      changes <a
      href="https://redirect.github.com/rust-lang/rustup/issues/3635">rust-lang/rustup#3635</a>
      and <a
      href="https://redirect.github.com/rust-lang/rustup/pull/3985">rust-lang/rustup#3985</a></li>
      <li>Allow installing multiple Rust toolchains by specifying multiple
      versions in the toolchain input parameter.</li>
      <li>Configure the rustup override behavior via the new override input.
      (<a
      href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/38">#38</a>)</li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/pranc1ngpegasus"><code>@​pranc1ngpegasus</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/pull/44">actions-rust-lang/setup-rust-toolchain#44</a></li>
      <li><a href="https://github.com/iainlane"><code>@​iainlane</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/pull/41">actions-rust-lang/setup-rust-toolchain#41</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/compare/v1...v1.10.0">https://github.com/actions-rust-lang/setup-rust-toolchain/compare/v1...v1.10.0</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/4d1965c9142484e48d40c19de54b5cba84953a06"><code>4d1965c</code></a>
      Add override input parameter that controls the <code>rustup
      override</code> behavior</li>
      <li><a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/b31b1317f290cc8743fce262ee98435b8c2a3c5a"><code>b31b131</code></a>
      Allow installing multiple Rust toolchains at once.</li>
      <li><a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/9f99923fade1f569928b687ccc2858a192effa02"><code>9f99923</code></a>
      Add pre-commit for basic checks</li>
      <li><a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/86a2ce66737229469494d3779ce1c99c3b5b351d"><code>86a2ce6</code></a>
      Make toolchain install more robust</li>
      <li><a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/eb4a655afde124c3ebbd7ddebd7ef287d56ac4d6"><code>eb4a655</code></a>
      Document new keys and add changelog</li>
      <li><a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/a90048dfddd1feb871e378c4535c05d7525117d4"><code>a90048d</code></a>
      Merge pull request <a
      href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/41">#41</a>
      from iainlane/iainlane/propagate-cache-key</li>
      <li><a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/597574aacb4ee305cfa0c6a3ba38e8be6f9a2eb6"><code>597574a</code></a>
      Update key name in README</li>
      <li><a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/634cedf365286cb557a12970c1484ea71a309524"><code>634cedf</code></a>
      Merge pull request <a
      href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/44">#44</a>
      from pranc1ngpegasus/feat/able-to-cache-additional-dir...</li>
      <li><a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/5d6934e965a5457a045bd6a3327b3ce9dd0c6cbf"><code>5d6934e</code></a>
      Able to cache additional directories</li>
      <li><a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/b01657d9bb1c81c4e7a46604980d19112a4034f0"><code>b01657d</code></a>
      Add support for adding to cache key</li>
      <li>See full diff in <a
      href="https://github.com/actions-rust-lang/setup-rust-toolchain/compare/1fbea72663f6d4c03efaab13560c8a24cfd2a7cc...4d1965c9142484e48d40c19de54b5cba84953a06">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • CJ13th's avatar
      Implement try_append for StorageNMap (#5745) · e0766bb9
      CJ13th authored
      
      # Description
      
      Closes #5722 
      
      Added an implementation of the `try_append` functionality which is
      present on the other storage map types but currently missing from
      StorageNMap.
      
      ---------
      
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
    • Cyrill Leutwiler's avatar
      [pallet-revive] Add chain ID to config an runtime API (#5807) · 71c768a9
      Cyrill Leutwiler authored
      
      This PR adds the EVM chain ID to Config as well as a corresponding
      runtime API so contracts can query it.
      
      Related issue: https://github.com/paritytech/revive/issues/44
      
      ---------
      
      Signed-off-by: default avatarxermicus <cyrill@parity.io>
      Co-authored-by: command-bot <>
    • yjh's avatar
      chore: export NodeHealthProxyLayer (#5768) · 3962ec08
      yjh authored
      Co-authored-by: command-bot <>
    • dependabot[bot]'s avatar
      Bump k256 from 0.13.3 to 0.13.4 (#5802) · e8dad101
      dependabot[bot] authored
      
      Bumps [k256](https://github.com/RustCrypto/elliptic-curves) from 0.13.3
      to 0.13.4.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/RustCrypto/elliptic-curves/commit/5ac8f5d77f11399ff48d87b0554935f6eddda342"><code>5ac8f5d</code></a>
      k256 v0.13.4</li>
      <li><a
      href="https://github.com/RustCrypto/elliptic-curves/commit/613cbafd63763c579922ad2b79fa041b4a0dde50"><code>613cbaf</code></a>
      k256: add support for non-32-byte BIP340 signatures (<a
      href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/1041">#1041</a>)</li>
      <li><a
      href="https://github.com/RustCrypto/elliptic-curves/commit/3787e4cd5b4223cae8bed05d087d6ff2f1d9430b"><code>3787e4c</code></a>
      k256 v0.13.3</li>
      <li>See full diff in <a
      href="https://github.com/RustCrypto/elliptic-curves/compare/k256/v0.13.3...k256/v0.13.4">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=k256&package-manager=cargo&previous-version=0.13.3&new-version=0.13.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • Alin Dima's avatar
      elastic scaling: add core selector to cumulus (#5372) · b9eb68bc
      Alin Dima authored
      Partially implements
      https://github.com/paritytech/polkadot-sdk/issues/5048
      
      - adds a core selection runtime API to cumulus and a generic way of
      configuring it for a parachain
      - modifies the slot based collator to utilise the claim queue and the
      generic core selection
      
      What's left to be implemented (in a follow-up PR):
      - add the UMP signal for core selection into the parachain-system pallet
      
      View the RFC for more context:
      https://github.com/polkadot-fellows/RFCs/pull/103
      
      ---------
      
      Co-authored-by: command-bot <>
    • Alexandru Gheorghe's avatar
      bitfield_distribution: Move on blocking pool and use custom capacity (#5787) · 86dc1ab3
      Alexandru Gheorghe authored
      
      ## Description
      
      Details and rationale explained here:
      https://github.com/paritytech/polkadot-sdk/issues/5657#issuecomment-2363076080
      
      Fixes: https://github.com/paritytech/polkadot-sdk/issues/5657
      
      ---------
      
      Signed-off-by: default avatarAlexandru Gheorghe <alexandru.gheorghe@parity.io>
  9. Sep 22, 2024
    • Oliver Tale-Yazdi's avatar
      [benchmarking] Reset to genesis storage after each run (#5655) · 2e4e5bf2
      Oliver Tale-Yazdi authored
      
      The genesis state is currently partially provided via
      `OverlayedChanges`, but these changes are reset by the runtime after the
      first repetition, causing the second repitition to use an invalid
      genesis state.
      
      Changes:
      - Provide the genesis state as a `Storage` without any
      `OverlayedChanges` to make it work correctly with repetitions.
      - Add `--genesis-builder-preset` option to use different genesis preset
      names.
      - Improve error messages.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarggwpez <ggwpez@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
    • Bastian Köcher's avatar
      Fix RPC relay chain interface (#5796) · 128f6c79
      Bastian Köcher authored
      Use `sp_core::Bytes` as `payload` to encode the values correctly as
      `hex` string.
    • Branislav Kontur's avatar
      Moved presets to the testnet runtimes (#5327) · 8735c663
      Branislav Kontur authored
      
      It is a first step for switching to the `frame-omni-bencher` for CI.
      
      This PR includes several changes related to generating chain specs plus:
      
      - [x] pallet `assigned_slots` fix missing `#[serde(skip)]` for phantom
      - [x] pallet `paras_inherent` benchmark fix - cherry-picked from
      https://github.com/paritytech/polkadot-sdk/pull/5688
      - [x] migrates `get_preset` to the relevant runtimes
      - [x] fixes Rococo genesis presets - does not work
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/7317249
      - [x] fixes Rococo benchmarks for CI 
      - [x] migrate westend genesis
      - [x] remove wococo stuff
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/5680
      
      ## Follow-ups
      - Fix for frame-omni-bencher
      https://github.com/paritytech/polkadot-sdk/pull/5655
      - Enable new short-benchmarking CI -
      https://github.com/paritytech/polkadot-sdk/pull/5706
      - Remove gitlab pipelines for short benchmarking
      - refactor all Cumulus runtimes to use `get_preset` -
      https://github.com/paritytech/polkadot-sdk/issues/5704
      - https://github.com/paritytech/polkadot-sdk/issues/5705
      - https://github.com/paritytech/polkadot-sdk/issues/5700
      - [ ] Backport to the stable
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarordian <noreply@reusable.software>
  10. Sep 20, 2024