Skip to content
Snippets Groups Projects
  1. Aug 14, 2024
    • Serban Iorga's avatar
      Beefy: add benchmarks for `report_fork_voting()` (#5188) · 81d8f0c0
      Serban Iorga authored
      
      Related to #4523 
      
      This PR adds benchmarks for `report_fork_voting()`.
      
      **Important: Even though the benchmarks are now available, we still use
      `Weight::MAX`. That's because I realized while working on this PR that
      there's still one missing piece. We should also check that the ancestry
      proof is optimal. I plan to do this in a future PR, hopefully the last
      one related to #4523.**
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: command-bot <>
      81d8f0c0
    • Alexandru Gheorghe's avatar
      Fix OurViewChange small race (#5356) · 05a8ba66
      Alexandru Gheorghe authored
      
      Always queue OurViewChange event before we send view changes to our
      peers, because otherwise we risk the peers sending us a message that can
      be processed by our subsystems before OurViewChange.
      
      Normally, this is not really a problem because the latency of the
      ViewChange we send to our peers is way higher that our subsystem
      processing OurViewChange, however on testnets like versi where CPU is
      sometimes overcommitted this race gets triggered occasionally, so let's
      fix it by sending the messages in the right order.
      
      ---------
      
      Signed-off-by: default avatarAlexandru Gheorghe <alexandru.gheorghe@parity.io>
      05a8ba66
    • Muharem Ismailov's avatar
      Make ticket non-optional and add ensure_successful method to Consideration trait (#5359) · 00946b10
      Muharem Ismailov authored
      Make ticket non-optional and add ensure_successful method to
      Consideration trait.
      
      Reverts the optional return ticket type for the new function introduced
      in
      [polkadot-sdk/4596](https://github.com/paritytech/polkadot-sdk/pull/4596)
      and adds a helper `ensure_successful` function for the runtime
      benchmarks.
      Since the existing FRAME pallet represents zero cost with a zero balance
      rather than `None` in an option, maintaining the ticket type as a
      non-optional balance is beneficial for backward compatibility and helps
      avoid unnecessary migrations.
      00946b10
    • Adrian Catangiu's avatar
      [tests] dedup test code, add more tests, improve naming and docs (#5338) · e4f8a6de
      Adrian Catangiu authored
      This is mostly tests cleanup:
      - uses helper macro for generating teleport tests,
      - adds missing treasury tests,
      - improves naming and docs for transfer tests.
      
      - [x] does not need a PRDOC
      
      ---------
      
      Co-authored-by: command-bot <>
      e4f8a6de
    • Przemek Rzad's avatar
      Stop running the wishlist workflow on forks (#5297) · d944ac2f
      Przemek Rzad authored
      Addresses
      https://github.com/paritytech/polkadot-sdk/pull/5085#issuecomment-2277231072
      d944ac2f
    • Francisco Aguirre's avatar
      Migrate foreign assets v3::Location to v4::Location (#4129) · be74fe92
      Francisco Aguirre authored
      
      In the move from XCMv3 to XCMv4, the `AssetId` for `ForeignAssets` in
      `asset-hub-rococo` and `asset-hub-westend` was left as `v3::Location` to
      be later migrated to `v4::Location`.
      
      This is that migration PR.
      
      Because the encoding of `v3::Location` and `v4::Location` is the same,
      we don't need to do any data migration, the keys will still be
      decodable.
      The [original idea by
      Jan](https://github.com/paritytech/polkadot/pull/7236) was to make the
      v4 changes in v3 since the ABI (the encoding/decoding) didn't change.
      Corroborated the ABI is the same iterating over all storage, the code is
      on [another
      branch](https://github.com/paritytech/polkadot-sdk/blob/cisco-assert-v3-v4-encodings-equal/cumulus/parachains/runtimes/assets/migrations/src/foreign_assets_to_v4/mod.rs).
      
      We will need a data migration when we want to update from `v4::Location`
      to `v5::Location` because of [the accepted RFC changing the NetworkId
      enum](https://github.com/polkadot-fellows/RFCs/pull/108).
      I'll configure MBMs (Multi-Block Migrations) then and make the actual
      migration.
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/4128
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: command-bot <>
      be74fe92
  2. Aug 13, 2024
    • Jeeyong Um's avatar
      Minor clean up (#5284) · 0cd577ba
      Jeeyong Um authored
      
      This PR performs minor code cleanup to reduce verbosity. Since the
      compiler has already optimized out indirect calls in the existing code,
      these changes improve readability but do not affect performance.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      0cd577ba
    • Ankan's avatar
      [Pools] Ensure members can always exit the pool gracefully (#4998) · 42eb4ec0
      Ankan authored
      
      Resolves https://github.com/paritytech-secops/srlabs_findings/issues/412
      
      ## Changes
      - Clear any dangling delegation when member is removed.
      - Agents need to be killed explicitly when pools are destroyed.
      - Member withdraw amount is max of their locked funds and the value of
      their points.
      
      ---------
      
      Co-authored-by: default avatarGonçalo Pestana <g6pestana@gmail.com>
      Co-authored-by: command-bot <>
      42eb4ec0
    • Sebastian Kunert's avatar
      StorageWeightReclaim: set to node pov size if higher (#5281) · 055eb537
      Sebastian Kunert authored
      This PR adds an additional defensive check to the reclaim SE. 
      
      Since it can happen that we miss some storage accesses on other SEs
      pre-dispatch, we should double check
      that the bookkeeping of the runtime stays ahead of the node-side
      pov-size.
      
      If we discover a mismatch and the node-side pov-size is indeed higher,
      we should set the runtime bookkeeping to the node-side value. In cases
      such as #5229, we would stop including extrinsics and not run `on_idle`
      at least.
      
      cc @gui1117
      
      ---------
      
      Co-authored-by: command-bot <>
      055eb537
    • Oliver Tale-Yazdi's avatar
      [Bot] Add prdoc generation (#5331) · b78d7955
      Oliver Tale-Yazdi authored
      
      Add a bot to automatically generate prdocs that have all the crates
      populated.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      b78d7955
    • Branislav Kontur's avatar
    • Maksym H's avatar
      Create subsystem-benchmarks.yml (#5325) · ae1b84df
      Maksym H authored
      Closes https://github.com/paritytech/ci_cd/issues/1014
      
      Adds subsystem-benchmarking in GHA (only works with temp label)
      ae1b84df
    • dependabot[bot]'s avatar
      Bump libp2p-identity from 0.2.8 to 0.2.9 (#5232) · c5f6b700
      dependabot[bot] authored
      
      Bumps [libp2p-identity](https://github.com/libp2p/rust-libp2p) from
      0.2.8 to 0.2.9.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/libp2p/rust-libp2p/releases">libp2p-identity's
      releases</a>.</em></p>
      <blockquote>
      <h2>libp2p-v0.53.2</h2>
      <p>See individual <a
      href="https://github.com/libp2p/rust-libp2p/blob/HEAD/CHANGELOG.md">changelogs</a>
      for details.</p>
      <h2>libp2p-v0.53.1</h2>
      <p>See individual <a
      href="https://github.com/libp2p/rust-libp2p/blob/HEAD/CHANGELOG.md">changelogs</a>
      for details.</p>
      <h2>libp2p-v0.53.0</h2>
      <p>The most ergonomic version of rust-libp2p yet!</p>
      <p>We've been busy again, with over <a
      href="https://github.com/libp2p/rust-libp2p/compare/libp2p-v0.52.0...master">250</a>
      PRs being merged into <code>master</code> since <code>v0.52.0</code>
      (excluding dependency updates).</p>
      <h2>Backwards-compatible features</h2>
      <p>Numerous improvements landed as patch releases since the
      <code>v0.52.0</code> release, for example a new, type-safe <a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4120"><code>SwarmBuilder</code></a>
      that also encompasses the most common transport protocols:</p>
      <pre lang="rust"><code>let mut swarm =
      libp2p::SwarmBuilder::with_new_identity()
          .with_tokio()
          .with_tcp(
              tcp::Config::default().port_reuse(true).nodelay(true),
              noise::Config::new,
              yamux::Config::default,
          )?
          .with_quic()
          .with_dns()?
          .with_relay_client(noise::Config::new, yamux::Config::default)?
          .with_behaviour(|keypair, relay_client| Behaviour {
              relay_client,
              ping: ping::Behaviour::default(),
              dcutr: dcutr::Behaviour::new(keypair.public().to_peer_id()),
          })?
          .build();
      </code></pre>
      <p>The new builder makes heavy use of the type-system to guide you
      towards a correct composition of all transports. For example, it is
      important to compose the DNS transport as a wrapper around all other
      transports but before the relay transport. Luckily, you no longer need
      to worry about these details as the builder takes care of that for you!
      Have a look yourself if you dare <a
      href="https://github.com/libp2p/rust-libp2p/tree/master/libp2p/src/builder">here</a>
      but be warned, the internals are a bit wild :)</p>
      <p>Some more features that we were able to ship in <code>v0.52.X</code>
      patch-releases include:</p>
      <ul>
      <li><a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4325">stable
      QUIC implementation</a></li>
      <li>for rust-libp2p compiled to WASM running in the browser
      <ul>
      <li><a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4015">WebTransport
      support</a></li>
      <li><a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4248">WebRTC
      support</a></li>
      </ul>
      </li>
      <li><a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4156">UPnP
      implementation to automatically configure port-forwarding with ones
      gateway</a></li>
      <li><a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4281">option
      to limit connections based on available memory</a></li>
      </ul>
      <p>We always try to ship as many features as possible in a
      backwards-compatible way to get them to you faster. Often times, these
      come with deprecations to give you a heads-up about what will change in
      a future version. We advise updating to each intermediate version rather
      than skipping directly to the most recent one, to avoid missing any
      crucial deprecation warnings. We highly recommend you stay up-to-date
      with the latest version to make upgrades as smooth as possible.</p>
      <p>Some improvments we unfortunately cannot ship in a way that Rust
      considers a non-breaking change but with every release, we attempt to
      smoothen the way for future upgrades.</p>
      <h2><code>#[non_exhaustive]</code> on key enums</h2>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li>See full diff in <a
      href="https://github.com/libp2p/rust-libp2p/commits">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libp2p-identity&package-manager=cargo&previous-version=0.2.8&new-version=0.2.9)](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>
      c5f6b700
  3. Aug 12, 2024
    • eskimor's avatar
      Bump authoring duration for async backing to 2s. (#5195) · 819a5818
      eskimor authored
      
      Should be safe on all production network. 
      
      I noticed that Paseo needs to be updated, it is lacking behind in a
      couple of things.
      
      Execution environment parameters should be updated to those of Polkadot:
      
      ```
      [
            {
              MaxMemoryPages: 8,192
            }
            {
              PvfExecTimeout: [
                Backing
                2,500
              ]
            }
            {
              PvfExecTimeout: [
                Approval
                15,000
              ]
            }
          ]
        ]
        ```
      
      ---------
      
      Co-authored-by: default avatareskimor <eskimor@no-such-url.com>
      819a5818
    • Elias Rad's avatar
      Fix spelling issues (#5206) · bc22f086
      Elias Rad authored
      Hello
      I found several spelling errors.
      Br, Elias.
      bc22f086
    • dependabot[bot]'s avatar
      Bump the known_good_semver group across 1 directory with 3 updates (#5315) · 79e9aa58
      dependabot[bot] authored
      
      Bumps the known_good_semver group with 2 updates in the / directory:
      [serde](https://github.com/serde-rs/serde) and
      [serde_json](https://github.com/serde-rs/json).
      
      Updates `serde` from 1.0.204 to 1.0.206
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/serde/releases">serde's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.206</h2>
      <ul>
      <li>Improve support for <code>flatten</code> attribute inside of enums
      (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2567">#2567</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      </ul>
      <h2>v1.0.205</h2>
      <ul>
      <li>Use serialize_entry instead of serialize_key + serialize_value when
      serialize flattened newtype enum variants (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2785">#2785</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      <li>Avoid triggering a collection_is_never_read lint in the
      deserialization of enums containing flattened fields (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2791">#2791</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/85c73ef8dea8966d88a03876e6f0dc9359e68cc9"><code>85c73ef</code></a>
      Release 1.0.206</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/5ba1796a7e639839d4e18c3ae23b9bb32b0700b5"><code>5ba1796</code></a>
      Resolve doc_markdown pedantic lint on regression test function</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/e52b7b380f88e0112c9f84e6258bdd34ad132352"><code>e52b7b3</code></a>
      Touch up PR 2567</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/84c7419652161bf88f88eb26302b26debfff8a8c"><code>84c7419</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2794">#2794</a>
      from dtolnay/neverread</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/536221b1f93a5dcf97352c7d1e3b93a5a56bf747"><code>536221b</code></a>
      Temporarily ignore collection_is_never_read on
      FlattenSkipDeserializing</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/fc55ac70d34221b38672b1583e496011fbae92aa"><code>fc55ac7</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2567">#2567</a>
      from Mingun/fix-2565</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/2afe5b4ef9d0e89587ec564eadbc7583fd1f0673"><code>2afe5b4</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/2792">#2792</a></li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b4ec2595c9dd8e380227043eba42ff85beb780c2"><code>b4ec259</code></a>
      Correctly process flatten fields in enum variants</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/c3ac7b675a38a73170879992976acb0009834ac0"><code>c3ac7b6</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/1904">#1904</a></li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/24614e44bff5466057e46c55394bac3ae20142c4"><code>24614e4</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/2565">#2565</a></li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.204...v1.0.206">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_derive` from 1.0.204 to 1.0.206
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/serde/releases">serde_derive's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.206</h2>
      <ul>
      <li>Improve support for <code>flatten</code> attribute inside of enums
      (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2567">#2567</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      </ul>
      <h2>v1.0.205</h2>
      <ul>
      <li>Use serialize_entry instead of serialize_key + serialize_value when
      serialize flattened newtype enum variants (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2785">#2785</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      <li>Avoid triggering a collection_is_never_read lint in the
      deserialization of enums containing flattened fields (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2791">#2791</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/85c73ef8dea8966d88a03876e6f0dc9359e68cc9"><code>85c73ef</code></a>
      Release 1.0.206</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/5ba1796a7e639839d4e18c3ae23b9bb32b0700b5"><code>5ba1796</code></a>
      Resolve doc_markdown pedantic lint on regression test function</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/e52b7b380f88e0112c9f84e6258bdd34ad132352"><code>e52b7b3</code></a>
      Touch up PR 2567</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/84c7419652161bf88f88eb26302b26debfff8a8c"><code>84c7419</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2794">#2794</a>
      from dtolnay/neverread</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/536221b1f93a5dcf97352c7d1e3b93a5a56bf747"><code>536221b</code></a>
      Temporarily ignore collection_is_never_read on
      FlattenSkipDeserializing</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/fc55ac70d34221b38672b1583e496011fbae92aa"><code>fc55ac7</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2567">#2567</a>
      from Mingun/fix-2565</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/2afe5b4ef9d0e89587ec564eadbc7583fd1f0673"><code>2afe5b4</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/2792">#2792</a></li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b4ec2595c9dd8e380227043eba42ff85beb780c2"><code>b4ec259</code></a>
      Correctly process flatten fields in enum variants</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/c3ac7b675a38a73170879992976acb0009834ac0"><code>c3ac7b6</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/1904">#1904</a></li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/24614e44bff5466057e46c55394bac3ae20142c4"><code>24614e4</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/2565">#2565</a></li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.204...v1.0.206">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_json` from 1.0.121 to 1.0.124
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/json/releases">serde_json's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.124</h2>
      <ul>
      <li>Fix a bug in processing string escapes in big-endian architectures
      (<a
      href="https://redirect.github.com/serde-rs/json/issues/1173">#1173</a>,
      thanks <a
      href="https://github.com/purplesyringa"><code>@​purplesyringa</code></a>)</li>
      </ul>
      <h2>v1.0.123</h2>
      <ul>
      <li>Optimize string parsing by applying SIMD-within-a-register: 30.3%
      improvement on <a
      href="https://github.com/miloyip/nativejson-benchmark/blob/v1.0.0/data/twitter.json">twitter.json</a>
      from 613 MB/s to 799 MB/s (<a
      href="https://redirect.github.com/serde-rs/json/issues/1161">#1161</a>,
      thanks <a
      href="https://github.com/purplesyringa"><code>@​purplesyringa</code></a>)</li>
      </ul>
      <h2>v1.0.122</h2>
      <ul>
      <li>Support using <code>json!</code> in no-std crates (<a
      href="https://redirect.github.com/serde-rs/json/issues/1166">#1166</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/json/commit/cf771a0471dd797b6fead77e767f2f7943740c98"><code>cf771a0</code></a>
      Release 1.0.124</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/8b314a77bf57ad8d6089536fea1b3c3b303cba92"><code>8b314a7</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1173">#1173</a>
      from iex-rs/fix-big-endian</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/8eba7863b126584f4b9a5b1d3cc4cbc0d0f59976"><code>8eba786</code></a>
      Fix skip_to_escape on BE architectures</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/2cab07e68607ab0e11c3a8b0461a472c37886210"><code>2cab07e</code></a>
      Release 1.0.123</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/346189a524694b98b92ccccb07775868d34b144c"><code>346189a</code></a>
      Fix needless_borrow clippy lint in new control character test</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/859ead8e6d60f4eaed97f7ac2b18f879bec5afe5"><code>859ead8</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1161">#1161</a>
      from iex-rs/vectorized-string-parsing</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/e43da5ee0e64819972f08254e8ce799796238791"><code>e43da5e</code></a>
      Immediately bail-out on empty strings</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/8389d8a11293616ce5a4358651aede271871248d"><code>8389d8a</code></a>
      Don't run the slow algorithm from the beginning</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/1f0dcf791ab1756d7ad07c20889e50bd9a7887fb"><code>1f0dcf7</code></a>
      Allow clippy::items_after_statements</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/a95d6df9d08611c9a11ac6524903d693921b8eae"><code>a95d6df</code></a>
      Big endian support</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/json/compare/v1.0.121...v1.0.124">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>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      79e9aa58
    • Alexander Theißen's avatar
      `polkadot-node-core-pvf-common`: Fix test compilation error (#5310) · 8e8dc618
      Alexander Theißen authored
      This crate only uses `tempfile` on linux but includes it unconditionally
      in its `Cargo.toml`. It also sets `#![deny(unused_crate_dependencies)]`.
      This leads to an hard error to anything that is not Linux.
      
      This PR fixes this error. I am wondering why CI didn't catch that.
      Shouldn't the test at least be compiled (but not run) on macOS?
      8e8dc618
    • Javyer's avatar
      ci: Paused `cmd-action` commenter (#5287) · aca25a00
      Javyer authored
      Paused the action which comments on every command starting with `bot `
      until we can fix all the commands which are not working.
      aca25a00
    • Nazar Mokrynskyi's avatar
      Remove unnecessary mut (#5318) · bcc96733
      Nazar Mokrynskyi authored
      
      Trivial leftover from
      https://github.com/paritytech/polkadot-sdk/pull/4844
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      bcc96733
    • Michal Kucharczyk's avatar
      chain-spec: minor clarification on the genesis config patch (#5324) · b52cfc26
      Michal Kucharczyk authored
      Added minor clarification on the genesis config patch
      ([link](https://substrate.stackexchange.com/questions/11813/in-the-genesis-config-what-does-the-patch-key-do/11825#11825))
      
      ---------
      
      Co-authored-by: command-bot <>
      b52cfc26
    • Alin Dima's avatar
      fix av-distribution Jaeger spans mem leak (#5321) · fc906d5d
      Alin Dima authored
      Fixes https://github.com/paritytech/polkadot-sdk/issues/5258
      fc906d5d
    • Dónal Murray's avatar
      Fix favicon link to fix CI (#5319) · 1f49358d
      Dónal Murray authored
      The polkadot.network website was recently refreshed and the
      `favicon-32x32.png` was removed. It was linked in some docs and so the
      docs have been updated to point to a working favicon on the new website.
      
      Previously the lychee link checker was failing on all PRs.
      1f49358d
    • jserrat's avatar
      xcm-executor: allow deposit of multiple assets if at least one of them satisfies ED (#4460) · ebcbca3f
      jserrat authored
      
      Closes #4242
      
      XCM programs that deposit assets to some new (empty) account will now
      succeed if at least one of the deposited assets satisfies ED. Before
      this change, the requirement was that the _first_ asset had to satisfy
      ED, but assets order can be changed during reanchoring so it is not
      reliable.
      
      With this PR, ordering doesn't matter, any one(s) of them can satisfy ED
      for the whole deposit to work.
      
      Kusama address: FkB6QEo8VnV3oifugNj5NeVG3Mvq1zFbrUu4P5YwRoe5mQN
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      Co-authored-by: default avatarFrancisco Aguirre <franciscoaguirreperez@gmail.com>
      Co-authored-by: command-bot <>
      ebcbca3f
    • Alin Dima's avatar
      prospective-parachains rework: take II (#4937) · 0b52a2c1
      Alin Dima authored
      Resolves https://github.com/paritytech/polkadot-sdk/issues/4800
      
      # Problem
      In https://github.com/paritytech/polkadot-sdk/pull/4035, we removed
      support for parachain forks and cycles and added support for backing
      unconnected candidates (candidates for which we don't yet know the full
      path to the latest included block), which is useful for elastic scaling
      (parachains using multiple cores).
      
      Removing support for backing forks turned out to be a bad idea, as there
      are legitimate cases for a parachain to fork (if they have other
      consensus mechanism for example, like BABE or PoW). This leads to
      validators getting lower backing rewards (depending on whether they back
      the winning fork or not) and a higher pressure on only the half of the
      backing group (during availability-distribution for example). Since we
      don't yet have approval voting rewards, backing rewards are a pretty big
      deal (which may change in the future).
      
      # Description
      
      A backing group is now allowed to back forks. Once a candidate becomes
      backed (has the minimum backing votes), we don't accept new forks unless
      they adhere to the new fork selection rule (have a lower candidate
      hash).
      This helps with keeping the implementation simpler, since forks will
      only be taken into account for candidates which are not backed yet (only
      seconded).
      Having this fork selection rule also helps with reducing the work
      backing validators need to do, since they have a shared way of picking
      the winning fork. Once they see a candidate backed, they can all decide
      to back a fork and not accept new ones.
      But they still accept new ones during the seconding phase (until the
      backing quorum is reached).
      
      Therefore, a block author which is not part of the backing group will
      likely not even see the forks (only the winning one).
      
      Just as before, a parachain producing forks will still not be able to
      leverage elastic scaling but will still work with a single core. Also,
      cycles are still not accepted.
      
      ## Some implementation details
      
      `CandidateStorage` is no longer a subsystem-wide construct. It was
      previously holding candidates from all relay chain forks and complicated
      the code. Each fragment chain now holds their candidate chain and their
      potential candidates. This should not increase the storage consumption
      since the heavy candidate data is already wrapped in an Arc and shared.
      It however allows for great simplifications and increase readability.
      
      `FragmentChain`s are now only creating a chain with backed candidates
      and the fork selection rule. As said before, `FragmentChain`s are now
      also responsible for maintaining their own potential candidate storage.
      
      Since we no longer have the subsytem-wide `CandidateStorage`, when
      getting a new leaf update, we use the storage of our latest ancestor,
      which may contain candidates seconded/backed that are still in scope.
      
      When a candidate is backed, the fragment chains which hold it are
      recreated (due to the fork selection rule, it could trigger a "reorg" of
      the fragment chain).
      
      I generally tried to simplify the subsystem and not introduce
      unneccessary optimisations that would otherwise complicate the code and
      not gain us much (fragment chains wouldn't realistically ever hold many
      candidates)
      
      TODO:
      - [x] update metrics
      - [x] update docs and comments
      - [x] fix and add unit tests
      - [x] tested with fork-producing parachain
      - [x] tested with cycle-producing parachain
      - [x] versi test
      - [x] prdoc
      0b52a2c1
  4. Aug 09, 2024
    • Przemek Rzad's avatar
      Add missing features in templates' node packages (#5294) · 149c7093
      Przemek Rzad authored
      
      Corrects the issue we had
      [here](https://github.com/paritytech/polkadot-sdk-parachain-template/pull/10),
      in which `cargo build --release` worked but `cargo build --package
      parachain-template-node --release` failed with missing features.
      
      The command has been added to CI to make sure it works, but at the same
      we're changing it in the readme to just `cargo build --release` for
      simplification.
      
      Labeling silent because those packages are un-published as part of the
      regular release process.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      149c7093
    • s0me0ne-unkn0wn's avatar
      Move PVF code and PoV decompression to PVF host workers (#5142) · 47c1b4cd
      s0me0ne-unkn0wn authored
      Closes #5071 
      
      This PR aims to
      * Move all the blocking decompression from the candidate validation
      subsystem to the PVF host workers;
      * Run the candidate validation subsystem on the non-blocking pool again.
      
      Upsides: no blocking operations in the subsystem's main loop. PVF
      throughput is not limited by the ability of the subsystem to decompress
      a lot of stuff. Correctness and homogeneity improve, as the artifact
      used to be identified by the hash of decompressed code, and now they are
      identified by the hash of compressed code, which coincides with the
      on-chain `ValidationCodeHash`.
      
      Downsides: the PVF code decompression is now accounted for in the PVF
      preparation timeout (be it pre-checking or actual preparation). Taking
      into account that the decompression duration is on the order of
      milliseconds, and the preparation timeout is on the order of seconds, I
      believe it is negligible.
      47c1b4cd
    • Serban Iorga's avatar
      Fix bridge zombienet tests (#5306) · 380cd218
      Serban Iorga authored
      Fixes https://github.com/paritytech/polkadot-sdk/issues/5296
      380cd218
    • thiolliere's avatar
      StorageWeightReclaim: Fix issue when underestimating refund. (#5273) · 862860ec
      thiolliere authored
      The code do reduce or increase the weight by comparing
      `benchmarked_weight` and `consumed_weight`.
      
      But `benchmarked_weight` is the pre dispatch weight. not the post
      dispatch weight that is actually written into the block weight by
      `CheckWeight`.
      
      So in case the consumed weight was: `pre dispatch weight > consumed
      weight > post dispatch weight` then the reclaim code was reducing the
      block weight instead of increasing it.
      
      Might explain this issue even better
      https://github.com/paritytech/polkadot-sdk/issues/5229
      
      @skunert 
      @s0me0ne-unkn0wn
      862860ec
    • Alexander Samusev's avatar
      [ci] Move checks to GHA (#5289) · b1a9ad4d
      Alexander Samusev authored
      Closes https://github.com/paritytech/ci_cd/issues/1012
      b1a9ad4d
    • Adrian Catangiu's avatar
      [tests] make emulated setup closer to ecosystem reality (#5301) · 32b87605
      Adrian Catangiu authored
      In the real world, not all assets are sufficient. This aligns our
      emulated networks to that reality. Only DOT and USDT are sufficient "by
      default".
      32b87605
    • Serban Iorga's avatar
      Update BHR and BHW runtime versions (#5300) · b49509ba
      Serban Iorga authored
      Updating the BHR and BHW runtime versions as a result of the changes in
      https://github.com/paritytech/polkadot-sdk/pull/5074/
      b49509ba
    • Przemek Rzad's avatar
      Synchronize templates through PRs, instead of pushes (#5291) · 87280eb5
      Przemek Rzad authored
      Despite what we had in the [original
      request](https://github.com/paritytech/polkadot-sdk/issues/3155#issuecomment-1979037109),
      I'm proposing a change to open a PR to the destination template
      repositories instead of pushing the code.
      
      This will give it a chance to run through the destination CI before
      making changes, and to set stricter branch protection in the destination
      repos.
      87280eb5
    • Egor_P's avatar
      Add stable release tag as an input parameter (#5282) · 2993b000
      Egor_P authored
      This PR adds the possibility to set the docker stable release tag as an
      input parameter to the produced docker images, so that it matches with
      the release version
      2993b000
  5. Aug 08, 2024
  6. Aug 07, 2024
    • Maksym H's avatar
      frame-omni-bencher short checks (#5268) · 711d91aa
      Maksym H authored
      
      - Part of https://github.com/paritytech/ci_cd/issues/1006
      - Closes: https://github.com/paritytech/ci_cd/issues/1010
      - Related: https://github.com/paritytech/polkadot-sdk/pull/4405
      
      - Possibly affecting how frame-omni-bencher works on different runtimes:
      https://github.com/paritytech/polkadot-sdk/pull/5083
      
      Currently works in parallel with gitlab short benchmarks. 
      Triggered only by adding `GHA-migration` label to assure smooth
      transition (kind of feature-flag).
      Later when tested on random PRs we'll remove the gitlab and turn on by
      default these tests
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      711d91aa
    • Oliver Tale-Yazdi's avatar
      Umbrella crate: exclude chain-specific crates (#5173) · 0fb6e3c5
      Oliver Tale-Yazdi authored
      
      Uses custom metadata to exclude chain-specific crates.  
      The only concern is that devs who want to use chain-specific crates,
      still need to select matching versions numbers. Could possibly be
      addresses with chain-specific umbrella crates, but currently it should
      be possible to use [psvm](https://github.com/paritytech/psvm).
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      0fb6e3c5
    • Alexandru Gheorghe's avatar
      Bring reference_hardware.json inline with machine used for weights (#5196) · 8af9889f
      Alexandru Gheorghe authored
      Since `May 2023` after
      https://github.com/paritytech/substrate/pull/13548 optimization,
      `Blake2256` is faster with about 30%, that means that there is a
      difference of ~30% between the benchmark values we ask validators to run
      against and the machine we use for generating the weights.So if all
      validators, just barely pass the benchmarks our weights are potentially
      underestimated with about ~20%, so let's bring this two in sync.
      
      Same thing happened when we merged
      https://github.com/paritytech/polkadot-sdk/pull/2524 in `Nov 2023`
      SR25519-Verify became faster with about 10-15%
      
      ## Results
      
      Generated on machine from here:
      https://github.com/paritytech/devops/pull/3210
      ```
      +----------+----------------+--------------+-------------+-------------------+
      | Category | Function       | Score        | Minimum     | Result            |
      +============================================================================+
      | CPU      | BLAKE2-256     | 1.00 GiBs    | 783.27 MiBs | :white_check_mark: Pass (130.7 %) |
      |----------+----------------+--------------+-------------+-------------------|
      | CPU      | SR25519-Verify | 637.62 KiBs  | 560.67 KiBs | :white_check_mark: Pass (113.7 %) |
      |----------+----------------+--------------+-------------+-------------------|
      | Memory   | Copy           | 12.19 GiBs   | 11.49 GiBs  | :white_check_mark:
      
       Pass (106.1 %) |
      ```
      
      Discovered and discussed here:
      https://github.com/paritytech/polkadot-sdk/pull/5127#issuecomment-2258423469
      
      ## Downsides
      
      Machines that barely passed the benchmark will suddenly find themselves
      bellow the benchmark, but since that is just an warning and everything
      else continues as before it shouldn't be too impactful and should give
      the validators the necessary information that they need to become
      compliant, since they actually aren't when compared with the used
      weights.
      
      ---------
      
      Signed-off-by: default avatarAlexandru Gheorghe <alexandru.gheorghe@parity.io>
      8af9889f
    • Ron's avatar
      Snowbridge on Westend (#5074) · efdc1e9b
      Ron authored
      ### Context
      
      Since Rococo is now deprecated, we need another testnet to detect
      bleeding-edge changes to Substrate, Polkadot, & BEEFY consensus
      protocols that could brick the bridge.
      
      It's the mirror PR of https://github.com/Snowfork/polkadot-sdk/pull/157
      which has reviewed by Snowbridge team internally.
      
      Synced with @acatangiu
      
       about that in channel
      https://matrix.to/#/!gxqZwOyvhLstCgPJHO:matrix.parity.io/$N0CvTfDSl3cOQLEJeZBh-wlKJUXx7EDHAuNN5HuYHY4?via=matrix.parity.io&via=parity.io&via=matrix.org
      
      ---------
      
      Co-authored-by: default avatarClara van Staden <claravanstaden64@gmail.com>
      efdc1e9b
    • Lulu's avatar
      a986da2d