Skip to content
  1. Jan 16, 2024
    • Andrei Eres's avatar
      subsystem-bench: cache misses profiling (#2893) · ec7bfae0
      Andrei Eres authored
      ## Why we need it
      To provide another level of understanding to why polkadot's subsystems
      may perform slower than expected. Cache misses occur when processing
      large amounts of data, such as during availability recovery.
      
      ## Why Cachegrind
      Cachegrind has many drawbacks: it is slow, it uses its own cache
      simulation, which is very basic. But unlike `perf`, which is a great
      tool, Cachegrind can run in a virtual machine. This means we can easily
      run it in remote installations and even use it in CI/CD to catch
      possible regressions.
      
      Why Cachegrind and not Callgrind, another part of Valgrind? It is simply
      empirically proven that profiling runs faster with Cachegrind.
      
      ## First results
      First results have been obtained while testing of the approach. Here is
      an example.
      
      ```
      $ target/testnet/subsystem-bench --n-cores 10 --cache-misses data-availability-read
      $ cat cachegrind_report.txt
      I refs:        64,622,081,485
      I1  misses:         3,018,168
      LLi misses:           437,654
      I1  miss rate:           0.00%
      LLi miss rate:           0.00%
      
      D refs:        12,161,833,115  (9,868,356,364 rd   + 2,293,476,751 wr)
      D1  misses:       167,940,701  (   71,060,073 rd   +    96,880,628 wr)
      LLd misses:        33,550,018  (   16,685,853 rd   +    16,864,165 wr)
      D1  miss rate:            1.4% (          0.7%     +           4.2%  )
      LLd miss rate:            0.3% (          0.2%     +           0.7%  )
      
      LL refs:          170,958,869  (   74,078,241 rd   +    96,880,628 wr)
      LL misses:         33,987,672  (   17,123,507 rd   +    16,864,165 wr)
      LL miss rate:             0.0% (          0.0%     +           0.7%  )
      ```
      
      The CLI output shows that 1.4% of the L1 data cache missed, which is not
      so bad, given that the last-level cache had that data most of the time
      missing only 0.3%. Instruction data of the L1 has 0.00% misses of the
      time. Looking at an output file with `cg_annotate` shows that most of
      the misses occur during reed-solomon, which is expected.
      ec7bfae0
    • dependabot[bot]'s avatar
      Bump walkdir from 2.3.3 to 2.4.0 (#2910) · 82c057ee
      dependabot[bot] authored
      
      
      Bumps [walkdir](https://github.com/BurntSushi/walkdir) from 2.3.3 to
      2.4.0.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/037c5e16ec4d8b3eacb51f077cfdab7a356e8412"><code>037c5e1</code></a>
      2.4.0</li>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/dcc527d8326fae4272b66bb55f433a302a8cad6f"><code>dcc527d</code></a>
      api: add follow_root_links() option to WalkDir</li>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/61a185fe49df24966acdec732f5a4b44a0475031"><code>61a185f</code></a>
      ci: use latest OS versions</li>
      <li>See full diff in <a
      href="https://github.com/BurntSushi/walkdir/compare/2.3.3...2.4.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=walkdir&package-manager=cargo&previous-version=2.3.3&new-version=2.4.0)](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 <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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      82c057ee
    • Xavier Lau's avatar
      CI check features (#1708) · 05cfb02b
      Xavier Lau authored
      To resolve issue #1136.
      
      This is a cross verification against zepter.
      
      - [cargo-featalign](https://github.com/hack-ink/cargo-featalign):
      Verifies the proper propagation of all features.
      - [zepter](https://github.com/ggwpez/zepter): Checks for accidentally
      enabled features.
      
      cc @ggwpez
      
       
      
      ---
      Switch to a new branch. Original PR #1537.
      
      ---------
      
      Signed-off-by: default avatarXavier Lau <[email protected]>
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarChevdor <[email protected]>
      05cfb02b
    • Dónal Murray's avatar
      Bump rococo relay and coretime-rococo to 1.6 (#2913) · a42a47f8
      Dónal Murray authored
      Co-authored-by: command-bot <>
      a42a47f8
    • Muharem Ismailov's avatar
      XCM WeightTrader: Swap Fee Asset for Native Asset (#1845) · 2cb39f8d
      Muharem Ismailov authored
      
      
      Implements an XCM executor `WeightTrader`, facilitating fee payments in
      any asset that can be exchanged for a native asset.
      
      A few constraints need to be observed:
      - `buy_weight` and `refund` operations must be atomic, as another weight
      trader implementation might be attempted in case of failure.
      - swap credit must be utilized since there isn’t an account to which an
      asset of some class can be deposited with a guarantee to meet the
      existential deposit requirement. Also, operating with credits enhances
      the efficiency of the weight trader -
      https://github.com/paritytech/polkadot-sdk/pull/1677
      
      related PRs:
      - (depends) https://github.com/paritytech/polkadot-sdk/pull/2031
      - (depends) https://github.com/paritytech/polkadot-sdk/pull/1677
      - (caused) https://github.com/paritytech/polkadot-sdk/pull/1847
      - (caused) https://github.com/paritytech/polkadot-sdk/pull/1876
      
      // DONE: impl `OnUnbalanced` for a `fungible/s` credit
      // DONE: make the trader free from a concept of a native currency and
      drop few fallible conversions. related issue -
      https://github.com/paritytech/polkadot-sdk/issues/1842
      // DONE: tests
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      2cb39f8d
    • dependabot[bot]'s avatar
      Bump Swatinem/rust-cache from 2.7.2 to 2.7.3 (#2925) · 4c4963a1
      dependabot[bot] authored
      
      
      Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from
      2.7.2 to 2.7.3.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/swatinem/rust-cache/releases">Swatinem/rust-cache's
      releases</a>.</em></p>
      <blockquote>
      <h2>v2.7.3</h2>
      <ul>
      <li>Work around upstream problem that causes cache saving to hang for
      minutes.</li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/Swatinem/rust-cache/compare/v2.7.2...v2.7.3">https://github.com/Swatinem/rust-cache/compare/v2.7.2...v2.7.3</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's
      changelog</a>.</em></p>
      <blockquote>
      <h1>Changelog</h1>
      <h2>2.7.3</h2>
      <ul>
      <li>Work around upstream problem that causes cache saving to hang for
      minutes.</li>
      </ul>
      <h2>2.7.2</h2>
      <ul>
      <li>Only key by <code>Cargo.toml</code> and <code>Cargo.lock</code>
      files of workspace members.</li>
      </ul>
      <h2>2.7.1</h2>
      <ul>
      <li>Update toml parser to fix parsing errors.</li>
      </ul>
      <h2>2.7.0</h2>
      <ul>
      <li>Properly cache <code>trybuild</code> tests.</li>
      </ul>
      <h2>2.6.2</h2>
      <ul>
      <li>Fix <code>toml</code> parsing.</li>
      </ul>
      <h2>2.6.1</h2>
      <ul>
      <li>Fix hash contributions of
      <code>Cargo.lock</code>/<code>Cargo.toml</code> files.</li>
      </ul>
      <h2>2.6.0</h2>
      <ul>
      <li>Add &quot;buildjet&quot; as a second <code>cache-provider</code>
      backend.</li>
      <li>Clean up sparse registry index.</li>
      <li>Do not clean up src of <code>-sys</code> crates.</li>
      <li>Remove <code>.cargo/credentials.toml</code> before saving.</li>
      </ul>
      <h2>2.5.1</h2>
      <ul>
      <li>Fix hash contribution of <code>Cargo.lock</code>.</li>
      </ul>
      <h2>2.5.0</h2>
      <ul>
      <li>feat: Rm workspace crates version before caching.</li>
      <li>feat: Add hash of <code>.cargo/config.toml</code> to key.</li>
      </ul>
      <h2>2.4.0</h2>
      <ul>
      <li>Fix cache key stability.</li>
      <li>Use 8 character hash components to reduce the key length, making it
      more readable.</li>
      </ul>
      <h2>2.3.0</h2>
      <ul>
      <li>Add <code>cache-all-crates</code> option, which enables caching of
      crates installed by workflows.</li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/Swatinem/rust-cache/commit/23bce251a8cd2ffc3c1075eaa2367cf899916d84"><code>23bce25</code></a>
      2.7.3</li>
      <li><a
      href="https://github.com/Swatinem/rust-cache/commit/378c8285a4eaf12899d11bea686a763e906956af"><code>378c828</code></a>
      Work around upstream GitHub issue and update dependencies</li>
      <li>See full diff in <a
      href="https://github.com/swatinem/rust-cache/compare/a22603398250b864f7190077025cf752307154dc...23bce251a8cd2ffc3c1075eaa2367cf899916d84">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.7.2&new-version=2.7.3)](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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      4c4963a1
    • Bastian Köcher's avatar
      Some random fixes (#2936) · 1c2db174
      Bastian Köcher authored
      - Do not disable `std` feature in the integration tests
      - `contracts-fixtures` test should only check for `riscv` build when the
      feature is enabled
      1c2db174
  2. Jan 15, 2024
    • dependabot[bot]'s avatar
      Bump lycheeverse/lychee-action (#2900) · 0c166ae0
      dependabot[bot] authored
      
      
      Bumps
      [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action)
      from fdea7032675810093199f485fe075f057cc37b3e to
      c3089c702fbb949e3f7a8122be0c33c017904f9b.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/c3089c702fbb949e3f7a8122be0c33c017904f9b"><code>c3089c7</code></a>
      Bump to lychee 0.14.1</li>
      <li>See full diff in <a
      href="https://github.com/lycheeverse/lychee-action/compare/fdea7032675810093199f485fe075f057cc37b3e...c3089c702fbb949e3f7a8122be0c33c017904f9b">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 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] <[email protected]>
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarSergejs Kostjucenko <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      0c166ae0
    • PG Herveou's avatar
      Contracts: stabilize sr25519 (#2920) · f2fbba3b
      PG Herveou authored
      Integration tests in ink!:
      https://github.com/paritytech/ink/tree/master/integration-tests/sr25519-verification
      f2fbba3b
    • Oliver Tale-Yazdi's avatar
      Add missing crates to the workspace (#2932) · 36a83186
      Oliver Tale-Yazdi authored
      
      
      Changes:
      - add missing member to the workspace
      - add CI script after the last attempt to merge it upstream failed
      https://github.com/paritytech/pipeline-scripts/pull/105
      
      Two crates are excluded from the check since they are templates
      `substrate/frame/contracts/fixtures/build` and
       `substrate/frame/contracts/fixtures/contracts/common`.
      
      Hopefully this is the last time that some crates need to be added
      manually.
      
      ![meme](https://github.com/paritytech/polkadot-sdk/assets/10380170/984843ee-1c76-4126-a4fc-ff2ba1d47377)
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      36a83186
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 1 update (#2926) · ac303406
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 1 update:
      [clap](https://github.com/clap-rs/clap).
      
      Updates `clap` from 4.4.14 to 4.4.16
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/releases">clap's
      releases</a>.</em></p>
      <blockquote>
      <h2>v4.4.16</h2>
      <h2>[4.4.16] - 2024-01-12</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Ensure invalid escape sequences in user-defined strings are
      correctly stripped when terminal doesn't support color</li>
      </ul>
      <h2>v4.4.15</h2>
      <h2>[4.4.15] - 2024-01-11</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Improve error for <code>args_conflicts_with_subcommands</code></li>
      <li>Ensure we error for <code>args_conflicts_with_subcommands</code>
      when using subcommand short and long flags</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[4.4.16] - 2024-01-12</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Ensure invalid escape sequences in user-defined strings are
      correctly stripped when terminal doesn't support color</li>
      </ul>
      <h2>[4.4.15] - 2024-01-11</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Improve error for <code>args_conflicts_with_subcommands</code></li>
      <li>Ensure we error for <code>args_conflicts_with_subcommands</code>
      when using subcommand short and long flags</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/cbc9c9dd44fc4be25c196213d508b9d2a9c282f3"><code>cbc9c9d</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/4718b89486c7c4236a18411b8449afc2d93f8e3d"><code>4718b89</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/38f805cea0cf50a0f26ed01e4fdf550ca8a555fa"><code>38f805c</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5299">#5299</a>
      from epage/ansi</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2a3356a53543531726e851e97639810f3828a89b"><code>2a3356a</code></a>
      fix: Update anstream</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/12b5c39d467ea147c21f5eb3063fc0bc2538e9b7"><code>12b5c39</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/1c5b63390babdb4f3a8994436da4e7f9239b7d43"><code>1c5b633</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/a5d46410e072b9821f76b21839849c4434a2f8da"><code>a5d4641</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5298">#5298</a>
      from epage/conflict</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/f529ec398c4262296d5e6eb063b1b52d875d7f03"><code>f529ec3</code></a>
      fix(parser): Ensure subcommand flags can conflict</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/a7e04a53e4a9e310663a0cdb5bfb0753d84b82bd"><code>a7e04a5</code></a>
      fix(parser): Improve subcommand conflict error</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/ea00ef3051fd5a993b766062a4e9defc777bf233"><code>ea00ef3</code></a>
      refactor(error): Allow more conflict sources</li>
      <li>Additional commits viewable in <a
      href="https://github.com/clap-rs/clap/compare/v4.4.14...v4.4.16">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.4.14&new-version=4.4.16)](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 <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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      ac303406
    • Alexandru Vasile's avatar
      archive: Implement archive_unstable_storage (#1846) · 53bcbb15
      Alexandru Vasile authored
      
      
      This PR implements the `archive_unstable_storage` method that offers
      support for:
      - fetching values
      - fetching hashes
      - iterating over keys and values
      - iterating over keys and hashes
      - fetching merkle values from the trie-db
      
      A common component dedicated to RPC-V2 storage queries is created to
      bridge the gap between `chainHead/storage` and `archive/storage`.
      Query pagination is supported by `paginationStartKey`, similar to the
      old APIs.
      Similarly to the `chainHead/storage`, the `archive/storage` method
      accepts a maximum number of queried items.
      
      The design builds upon:
      https://github.com/paritytech/json-rpc-interface-spec/pull/94.
      Closes https://github.com/paritytech/polkadot-sdk/issues/1512.
      
      cc @paritytech/subxt-team
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      53bcbb15
    • Liam Aharon's avatar
      Unbalanced and Balanced fungible conformance tests, and fungible fixes (#1296) · 46090ff1
      Liam Aharon authored
      Original PR https://github.com/paritytech/substrate/pull/14655
      
      ---
      
      Partial https://github.com/paritytech/polkadot-sdk/issues/225
      
      - [x] Adds conformance tests for Unbalanced
      - [x] Adds conformance tests for Balanced
      - Several minor fixes to fungible default implementations and the
      Balances pallet
      - [x] `Unbalanced::decrease_balance` can reap account when
      `Preservation` is `Preserve`
      - [x] `Balanced::pair` can return pairs of imbalances which do not
      cancel each other out
         - [x] Balances pallet `active_issuance` 'underflow'
      - [x] Refactors the conformance test file structure to match the
      fungible file structure: tests for traits in regular.rs go into a test
      file named regular.rs, tests for traits in freezes.rs go into a test
      file named freezes.rs, etc.
       - [x] Improve doc comments
       - [x] Simplify macros
      
      ## Fixes
      
      ### `Unbalanced::decrease_balance` can reap account when called with
      `Preservation::Preserve`
      There is a potential issue in the default implementation of
      `Unbalanced::decrease_balance`. The implementation can delete an account
      even when it is called with `preservation: Preservation::Preserve`. This
      seems to contradict the documentation of `Preservation::Preserve`:
      
      ```rust
      	/// The account may not be killed and our provider reference must remain (in the context of
      	/// tokens, this means that the account may not be dusted).
      	Preserve,
      ```
      
      I updated `Unbalanced::decrease_balance` to return
      `Err(TokenError::BelowMinimum)` when a withdrawal would cause the
      account to be reaped and `preservation: Preservation::Preserve`.
      
      - [ ] TODO Confirm with @gavofyork that this is correct behavior
      
      Test for this behavior:
      
      
      https://github.com/paritytech/polkadot-sdk/blob/e5c876dd/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular.rs#L912-L937
      
      ### `Balanced::pair` returning non-canceling pairs
      
      `Balanced::pair` is supposed to create a pair of imbalances that cancel
      each other out. However this is not the case when the method is called
      with an amount greater than the total supply.
      
      In the existing default implementation, `Balanced::pair` creates a pair
      by first rescinding the balance, creating `Debt`, and then issuing the
      balance, creating `Credit`.
      
      When creating `Debt`, if the amount to create exceeds the
      `total_supply`, `total_supply` units of `Debt` are created *instead* of
      `amount` units of `Debt`. This can lead to non-canceling amount of
      `Credit` and `Debt` being created.
      
      To address this, I create the credit and debt directly in the method
      instead of calling `issue` and `rescind`.
      
      Test for this behavior:
      
      
      https://github.com/paritytech/polkadot-sdk/blob/e5c876dd/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular.rs#L1323-L1346
      
      ### `Balances` pallet `active_issuance` 'underflow'
      
      This PR resolves an issue in the `Balances` pallet that can lead to odd
      behavior of `active_issuance`.
      
      Currently, the Balances pallet doesn't check if `InactiveIssuance`
      remains less than or equal to `TotalIssuance` when supply is
      deactivated. This allows `InactiveIssuance` to be greater than
      `TotalIssuance`, which can result in unexpected behavior from the
      perspective of the fungible API.
      
      `active_issuance` is derived from
      `TotalIssuance.saturating_sub(InactiveIssuance)`.
      
      If an `amount` is deactivated that causes `InactiveIssuance` to become
      greater TotalIssuance, `active_issuance` will return 0. However once in
      that state, reactivating an amount will not increase `active_issuance`
      by the reactivated `amount` as expected.
      
      Consider this test where the last assertion would fail due to this
      issue:
      
      
      https://github.com/paritytech/polkadot-sdk/blob/e5c876dd
      
      /substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular.rs#L1036-L1071
      
      To address this, I've modified the `deactivate` function to ensure
      `InactiveIssuance` never surpasses `TotalIssuance`.
      
      ---------
      
      Co-authored-by: default avatarMuharem <[email protected]>
      46090ff1
    • Serban Iorga's avatar
      Warp sync zombienet tests: update DB snapshot (#2928) · e879c484
      Serban Iorga authored
      Closes https://github.com/paritytech/polkadot-sdk/issues/2787
      
      Regenerating the DB snapshot after fixing:
      https://github.com/paritytech/polkadot-sdk/pull/2919
      
      Now we can add some BEEFY checks to `0002-validators-warp-sync`
      e879c484
  3. Jan 13, 2024
    • maksimryndin's avatar
      wasm-builder: bump toml from 0.8.2 to 0.8.8; replace ansi_term (#2914) · 127b9bec
      maksimryndin authored
      
      
      Hi folks!
      
      Thank for the well organized codebase and an outstanding engineering!
      
      I am trying to compile a substrate node template from source
      (https://github.com/paritytech/polkadot-sdk) and encountered a
      dependency conflict
      ![Screenshot 2024-01-11 at 12 22
      16](https://github.com/paritytech/polkadot-sdk/assets/16288656/b630773f-9d58-4abc-a15c-45f0e6b96b48)
      and a deprecation warning from advisory db for `ansi_term` (I see you
      replace it with some alternatives in other crates).
      
      While for `ansi_term` there is an adopted fork
      (https://github.com/rustadopt/ansiterm-rs) and it was my first commit in
      the PR, I've decided to use https://github.com/console-rs/console as you
      already use it to reduce dependencies (as I believe other substrate
      crates will remove ansi_term eventually)
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      127b9bec
    • Jun Jiang's avatar
      Upgrade aquamarine to v0.5.0, v0.4.0 has yanked (#2921) · 38a0ac00
      Jun Jiang authored
      aquamarine v0.4.0 has yanked, see
      https://crates.io/crates/aquamarine/0.4.0
      38a0ac00
  4. Jan 12, 2024
    • PG Herveou's avatar
      Contracts: Translate .wat fixtures to rust (#2654) · bd80dcf6
      PG Herveou authored
      
      
      - Translate all pallet-contracts fixtures from `wat` to Rust files.
      - Fix read_sandbox_memory_as to not use MaxEncodedLen as this could
      break if used with types with a non-fixed encoded len.
      
      ---------
      
      Co-authored-by: default avataralvicsam <[email protected]>
      Co-authored-by: default avatarAlexander Samusev <[email protected]>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: command-bot <>
      bd80dcf6
    • Javier Viola's avatar
      Bump zombienet version `v1.3.91` (#2912) · c421b879
      Javier Viola authored
      This version includes
      - Performance improvements.
      - Minor fixes.
      c421b879
    • Dmitry Markin's avatar
      Extract warp sync strategy from `ChainSync` (#2467) · 5208bed7
      Dmitry Markin authored
      
      
      Extract `WarpSync` (and `StateSync` as part of warp sync) from
      `ChainSync` as independent syncing strategy called by `SyncingEngine`.
      Introduce `SyncingStrategy` enum as a proxy between `SyncingEngine` and
      specific syncing strategies.
      
      ## Limitations
      Gap sync is kept in `ChainSync` for now because it shares the same set
      of peers as block syncing implementation in `ChainSync`. Extraction of a
      common context responsible for peer management in syncing strategies
      able to run in parallel is planned for a follow-up PR.
      
      ## Further improvements
      A possibility of conversion of `SyncingStartegy` into a trait should be
      evaluated. The main stopper for this is that different strategies need
      to communicate different actions to `SyncingEngine` and respond to
      different events / provide different APIs (e.g., requesting
      justifications is only possible via `ChainSync` and not through
      `WarpSync`; `SendWarpProofRequest` action is only relevant to
      `WarpSync`, etc.)
      
      ---------
      
      Co-authored-by: default avatarAaro Altonen <[email protected]>
      5208bed7
    • Svyatoslav Nikolsky's avatar
      Run bridges zombienet tests on CI (#2439) · 5ed0a75f
      Svyatoslav Nikolsky authored
      Brridges zombienet tests are non-standard - zombienet currently missing
      multiple relay chains support (see e.g.
      https://github.com/paritytech/zombienet/pull/796), so we need to go live
      with two relay networks, their parachains + custom test runner (which
      e.g. doesn't shutdown net when its tests are finished and instead waits
      for both networks tests to complete). So we are stuck with native
      zombienet provider => this PR is an attempt to gather everything in a
      single docker container and run tests there ~Draft, because it is far
      from finishing - what I want now is to see how it works on CI~
      5ed0a75f
    • dependabot[bot]'s avatar
      Bump actions/cache from 3.3.2 to 3.3.3 (#2918) · 6579d6cc
      dependabot[bot] authored
      
      
      Bumps [actions/cache](https://github.com/actions/cache) from 3.3.2 to
      3.3.3.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/actions/cache/releases">actions/cache's
      releases</a>.</em></p>
      <blockquote>
      <h2>v3.3.3</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Cache v3.3.3 by <a
      href="https://github.com/robherley"><code>@​robherley</code></a> in <a
      href="https://redirect.github.com/actions/cache/pull/1302">actions/cache#1302</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a href="https://github.com/robherley"><code>@​robherley</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/actions/cache/pull/1302">actions/cache#1302</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/actions/cache/compare/v3...v3.3.3">https://github.com/actions/cache/compare/v3...v3.3.3</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache's
      changelog</a>.</em></p>
      <blockquote>
      <h1>Releases</h1>
      <h3>3.0.0</h3>
      <ul>
      <li>Updated minimum runner version support from node 12 -&gt; node
      16</li>
      </ul>
      <h3>3.0.1</h3>
      <ul>
      <li>Added support for caching from GHES 3.5.</li>
      <li>Fixed download issue for files &gt; 2GB during restore.</li>
      </ul>
      <h3>3.0.2</h3>
      <ul>
      <li>Added support for dynamic cache size cap on GHES.</li>
      </ul>
      <h3>3.0.3</h3>
      <ul>
      <li>Fixed avoiding empty cache save when no files are available for
      caching. (<a
      href="https://redirect.github.com/actions/cache/issues/624">issue</a>)</li>
      </ul>
      <h3>3.0.4</h3>
      <ul>
      <li>Fixed tar creation error while trying to create tar with path as
      <code>~/</code> home folder on <code>ubuntu-latest</code>. (<a
      href="https://redirect.github.com/actions/cache/issues/689">issue</a>)</li>
      </ul>
      <h3>3.0.5</h3>
      <ul>
      <li>Removed error handling by consuming actions/cache 3.0 toolkit, Now
      cache server error handling will be done by toolkit. (<a
      href="https://redirect.github.com/actions/cache/pull/834">PR</a>)</li>
      </ul>
      <h3>3.0.6</h3>
      <ul>
      <li>Fixed <a
      href="https://redirect.github.com/actions/cache/issues/809">#809</a> -
      zstd -d: no such file or directory error</li>
      <li>Fixed <a
      href="https://redirect.github.com/actions/cache/issues/833">#833</a> -
      cache doesn't work with github workspace directory</li>
      </ul>
      <h3>3.0.7</h3>
      <ul>
      <li>Fixed <a
      href="https://redirect.github.com/actions/cache/issues/810">#810</a> -
      download stuck issue. A new timeout is introduced in the download
      process to abort the download if it gets stuck and doesn't finish within
      an hour.</li>
      </ul>
      <h3>3.0.8</h3>
      <ul>
      <li>Fix zstd not working for windows on gnu tar in issues <a
      href="https://redirect.github.com/actions/cache/issues/888">#888</a> and
      <a
      href="https://redirect.github.com/actions/cache/issues/891">#891</a>.</li>
      <li>Allowing users to provide a custom timeout as input for aborting
      download of a cache segment using an environment variable
      <code>SEGMENT_DOWNLOAD_TIMEOUT_MINS</code>. Default is 60 minutes.</li>
      </ul>
      <h3>3.0.9</h3>
      <ul>
      <li>Enhanced the warning message for cache unavailablity in case of
      GHES.</li>
      </ul>
      <h3>3.0.10</h3>
      <ul>
      <li>Fix a bug with sorting inputs.</li>
      <li>Update definition for restore-keys in README.md</li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/actions/cache/commit/e12d46a63a90f2fae62d114769bbf2a179198b5c"><code>e12d46a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/actions/cache/issues/1302">#1302</a>
      from actions/robherley/v3.3.3</li>
      <li><a
      href="https://github.com/actions/cache/commit/1baebfc3bafe03311c1239b7d001ecdf5da64951"><code>1baebfc</code></a>
      licensed</li>
      <li><a
      href="https://github.com/actions/cache/commit/eb94f1a6bf968b0555b89297bc603690b68beccd"><code>eb94f1a</code></a>
      cache v3.3.3</li>
      <li>See full diff in <a
      href="https://github.com/actions/cache/compare/704facf57e6136b1bc63b828d79edcd491f0ee84...e12d46a63a90f2fae62d114769bbf2a179198b5c">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/cache&package-manager=github_actions&previous-version=3.3.2&new-version=3.3.3)](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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      6579d6cc
    • Serban Iorga's avatar
      Kitchensink: Fix pallet_mmr config (#2919) · 868788a5
      Serban Iorga authored
      Related to https://github.com/paritytech/polkadot-sdk/issues/2787
      
      Fixes `pallet_mmr::Config` for the kitchensink runtime
      868788a5
    • joe petrowski's avatar
      Add More HRMP Channel Opening Tests (#2915) · f7306d32
      joe petrowski authored
      A recent referendum failed because the parachain's sovereign account had
      enough funds for the deposit (the runtime at the time required a
      deposit) but not enough left over for the existential deposit, which
      must remain free.
      
      The current logic does not require a deposit for channels with system
      chains, and the current tests check that none is taken. This new test
      simply ensures that even without any balance in a parachain's sovereign
      account, opening a channel with a system chain will be successful.
      f7306d32
    • dependabot[bot]'s avatar
      Bump indexmap from 1.9.3 to 2.0.0 (#2911) · c4380d6e
      dependabot[bot] authored
      
      
      Bumps [indexmap](https://github.com/bluss/indexmap) from 1.9.3 to 2.0.0.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/bluss/indexmap/blob/master/RELEASES.md">indexmap's
      changelog</a>.</em></p>
      <blockquote>
      <ul>
      <li>
      <p>2.0.0</p>
      <ul>
      <li>
      <p><strong>MSRV</strong>: Rust 1.64.0 or later is now required.</p>
      </li>
      <li>
      <p>The <code>&quot;std&quot;</code> feature is no longer auto-detected.
      It is included in the
      default feature set, or else can be enabled like any other Cargo
      feature.</p>
      </li>
      <li>
      <p>The <code>&quot;serde-1&quot;</code> feature has been removed,
      leaving just the optional
      <code>&quot;serde&quot;</code> dependency to be enabled like a feature
      itself.</p>
      </li>
      <li>
      <p><code>IndexMap::get_index_mut</code> now returns
      <code>Option&lt;(&amp;K, &amp;mut V)&gt;</code>, changing
      the key part from <code>&amp;mut K</code> to <code>&amp;K</code>. There
      is also a new alternative
      <code>MutableKeys::get_index_mut2</code> to access the former
      behavior.</p>
      </li>
      <li>
      <p>The new <code>map::Slice&lt;K, V&gt;</code> and
      <code>set::Slice&lt;T&gt;</code> offer a linear view of maps
      and sets, behaving a lot like normal <code>[(K, V)]</code> and
      <code>[T]</code> slices. Notably,
      comparison traits like <code>Eq</code> only consider items in order,
      rather than hash
      lookups, and slices even implement <code>Hash</code>.</p>
      </li>
      <li>
      <p><code>IndexMap</code> and <code>IndexSet</code> now have
      <code>sort_by_cached_key</code> and
      <code>par_sort_by_cached_key</code> methods which perform stable sorts
      in place
      using a key extraction function.</p>
      </li>
      <li>
      <p><code>IndexMap</code> and <code>IndexSet</code> now have
      <code>reserve_exact</code>, <code>try_reserve</code>, and
      <code>try_reserve_exact</code> methods that correspond to the same
      methods on <code>Vec</code>.
      However, exactness only applies to the direct capacity for items, while
      the
      raw hash table still follows its own rules for capacity and load
      factor.</p>
      </li>
      <li>
      <p>The <code>Equivalent</code> trait is now re-exported from the
      <code>equivalent</code> crate,
      intended as a common base to allow types to work with multiple map
      types.</p>
      </li>
      <li>
      <p>The <code>hashbrown</code> dependency has been updated to version
      0.14.</p>
      </li>
      <li>
      <p>The <code>serde_seq</code> module has been moved from the crate root
      to below the
      <code>map</code> module.</p>
      </li>
      </ul>
      </li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/bluss/indexmap/commit/8e47be81a10bcb4b203955d6f6eb05bf85630c20"><code>8e47be8</code></a>
      Merge pull request <a
      href="https://redirect.github.com/bluss/indexmap/issues/267">#267</a>
      from cuviper/release-2.0.0</li>
      <li><a
      href="https://github.com/bluss/indexmap/commit/ad694fbb8c73f92e4316e436422dc80763a7ed03"><code>ad694fb</code></a>
      Release 2.0.0</li>
      <li><a
      href="https://github.com/bluss/indexmap/commit/b5b2814999255f82559f172d00d1382ae66d23c1"><code>b5b2814</code></a>
      Merge pull request <a
      href="https://redirect.github.com/bluss/indexmap/issues/266">#266</a>
      from cuviper/doc-capacity</li>
      <li><a
      href="https://github.com/bluss/indexmap/commit/d3ea28992194484dea671a19b808b62ed8efd5d1"><code>d3ea289</code></a>
      Document the lower-bound semantics of capacity</li>
      <li><a
      href="https://github.com/bluss/indexmap/commit/74e14dac622eac69fa292b100a51c5a385a81d61"><code>74e14da</code></a>
      Merge pull request <a
      href="https://redirect.github.com/bluss/indexmap/issues/264">#264</a>
      from cuviper/equivalent</li>
      <li><a
      href="https://github.com/bluss/indexmap/commit/677c60522815f53e83ab173c199772567e9c9007"><code>677c605</code></a>
      Add a relnote for Equivalent</li>
      <li><a
      href="https://github.com/bluss/indexmap/commit/6d83bc1902b95758d98ea973778d8fc4b4a599a2"><code>6d83bc1</code></a>
      pub use equivalent::Equivalent;</li>
      <li><a
      href="https://github.com/bluss/indexmap/commit/bb48357fee6494a335963072ea8c51ed30903a19"><code>bb48357</code></a>
      Merge pull request <a
      href="https://redirect.github.com/bluss/indexmap/issues/263">#263</a>
      from cuviper/insert_in_slot</li>
      <li><a
      href="https://github.com/bluss/indexmap/commit/c37dae6bcb2fc2c1f45b1e6fd924f92685acd8b3"><code>c37dae6</code></a>
      Use hashbrown's new single-lookup insertion</li>
      <li><a
      href="https://github.com/bluss/indexmap/commit/ee71507aaacf25b43f99350af44c137e6af65a7c"><code>ee71507</code></a>
      Merge pull request <a
      href="https://redirect.github.com/bluss/indexmap/issues/262">#262</a>
      from daxpedda/hashbrown-v0.14</li>
      <li>Additional commits viewable in <a
      href="https://github.com/bluss/indexmap/compare/1.9.3...2.0.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=indexmap&package-manager=cargo&previous-version=1.9.3&new-version=2.0.0)](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 <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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      c4380d6e
  5. Jan 11, 2024
    • dependabot[bot]'s avatar
      Bump Swatinem/rust-cache from 2.7.1 to 2.7.2 (#2909) · c45732d1
      dependabot[bot] authored
      
      
      Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from
      2.7.1 to 2.7.2.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/swatinem/rust-cache/releases">Swatinem/rust-cache's
      releases</a>.</em></p>
      <blockquote>
      <h2>v2.7.2</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Update action runtime to <code>node20</code> by <a
      href="https://github.com/rhysd"><code>@​rhysd</code></a> in <a
      href="https://redirect.github.com/Swatinem/rust-cache/pull/175">Swatinem/rust-cache#175</a></li>
      <li>Only key by <code>Cargo.toml</code> and <code>Cargo.lock</code>
      files of workspace members by <a
      href="https://github.com/max-heller"><code>@​max-heller</code></a> in <a
      href="https://redirect.github.com/Swatinem/rust-cache/pull/180">Swatinem/rust-cache#180</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a href="https://github.com/rhysd"><code>@​rhysd</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/Swatinem/rust-cache/pull/175">Swatinem/rust-cache#175</a></li>
      <li><a
      href="https://github.com/max-heller"><code>@​max-heller</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/Swatinem/rust-cache/pull/180">Swatinem/rust-cache#180</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/Swatinem/rust-cache/compare/v2.7.1...v2.7.2">https://github.com/Swatinem/rust-cache/compare/v2.7.1...v2.7.2</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's
      changelog</a>.</em></p>
      <blockquote>
      <h1>Changelog</h1>
      <h2>2.7.2</h2>
      <ul>
      <li>Only key by <code>Cargo.toml</code> and <code>Cargo.lock</code>
      files of workspace members.</li>
      </ul>
      <h2>2.7.1</h2>
      <ul>
      <li>Update toml parser to fix parsing errors.</li>
      </ul>
      <h2>2.7.0</h2>
      <ul>
      <li>Properly cache <code>trybuild</code> tests.</li>
      </ul>
      <h2>2.6.2</h2>
      <ul>
      <li>Fix <code>toml</code> parsing.</li>
      </ul>
      <h2>2.6.1</h2>
      <ul>
      <li>Fix hash contributions of
      <code>Cargo.lock</code>/<code>Cargo.toml</code> files.</li>
      </ul>
      <h2>2.6.0</h2>
      <ul>
      <li>Add &quot;buildjet&quot; as a second <code>cache-provider</code>
      backend.</li>
      <li>Clean up sparse registry index.</li>
      <li>Do not clean up src of <code>-sys</code> crates.</li>
      <li>Remove <code>.cargo/credentials.toml</code> before saving.</li>
      </ul>
      <h2>2.5.1</h2>
      <ul>
      <li>Fix hash contribution of <code>Cargo.lock</code>.</li>
      </ul>
      <h2>2.5.0</h2>
      <ul>
      <li>feat: Rm workspace crates version before caching.</li>
      <li>feat: Add hash of <code>.cargo/config.toml</code> to key.</li>
      </ul>
      <h2>2.4.0</h2>
      <ul>
      <li>Fix cache key stability.</li>
      <li>Use 8 character hash components to reduce the key length, making it
      more readable.</li>
      </ul>
      <h2>2.3.0</h2>
      <ul>
      <li>Add <code>cache-all-crates</code> option, which enables caching of
      crates installed by workflows.</li>
      <li>Add installed packages to cache key, so changes to workflows that
      install rust tools are detected and cached properly.</li>
      <li>Fix cache restore failures due to upstream bug.</li>
      <li>Fix <code>EISDIR</code> error due to globed directories.</li>
      <li>Update runtime <code>@actions/cache</code>, <code>@actions/io</code>
      and dev <code>typescript</code> dependencies.</li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/Swatinem/rust-cache/commit/a22603398250b864f7190077025cf752307154dc"><code>a226033</code></a>
      2.7.2</li>
      <li><a
      href="https://github.com/Swatinem/rust-cache/commit/d30f1144e884b1fe579845ed7a339c640dff522e"><code>d30f114</code></a>
      Only key by <code>Cargo.toml</code> and <code>Cargo.lock</code> files of
      workspace members (<a
      href="https://redirect.github.com/swatinem/rust-cache/issues/180">#180</a>)</li>
      <li><a
      href="https://github.com/Swatinem/rust-cache/commit/b1db5f9d5f9ed685de3a2774c3d3b838d2dde462"><code>b1db5f9</code></a>
      Update action runtime to <code>node20</code> (<a
      href="https://redirect.github.com/swatinem/rust-cache/issues/175">#175</a>)</li>
      <li>See full diff in <a
      href="https://github.com/swatinem/rust-cache/compare/3cf7f8cc28d1b4e7d01e3783be10a97d55d483c8...a22603398250b864f7190077025cf752307154dc">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.7.1&new-version=2.7.2)](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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      c45732d1
    • Sebastian Kunert's avatar
      Cumulus test service cleanup (#2887) · c93f5aba
      Sebastian Kunert authored
      closes #2567 
      
      Followup for https://github.com/paritytech/polkadot-sdk/pull/2331
      
      This PR contains multiple internal cleanups:
      
      1. This gets rid of the functionality in `generate_genesis_block` which
      was only used in one benchmark
      2. Fixed `transaction_pool` and `transaction_throughput` benchmarks
      failing since they require a tokio runtime now.
      3. Removed `parachain_id` CLI option from the test parachain
      4. Removed `expect` call from `RuntimeResolver`
      c93f5aba
    • Nazar Mokrynskyi's avatar
      Move Cors data structure into reachable place (#2898) · f270b08a
      Nazar Mokrynskyi authored
      Trivial refactoring, fixes
      https://github.com/paritytech/polkadot-sdk/issues/2885
      f270b08a
    • Alexander Samusev's avatar
      [ci] Remove unused jobs (#2502) · 2bdf5dca
      Alexander Samusev authored
      <del>PR custom review is deprecated. Now `review-bot` performs these
      functions.</del>
      PR removes unused ci jobs and adjusts zombienet jobs for merge queues
      
      cc @Bullrich
      2bdf5dca
    • Anton Vilhelm Ásgeirsson's avatar
      Fix coretime migration (#2905) · fc749fa7
      Anton Vilhelm Ásgeirsson authored
      
      
      The XCM instruction limit of 100 was being hit by the 1 large message
      before. The weight ref time also needed to be bumped for these
      extrinsics.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      fc749fa7
    • Serban Iorga's avatar
      Warp sync zombienet tests: add basic BEEFY checks (#2854) · 578960f3
      Serban Iorga authored
      Part of https://github.com/paritytech/polkadot-sdk/issues/2787
      
      This is an initial PR that adds some basic BEEFY checks to the warp sync
      zombienet tests. To be more specific, it does the following:
      - Changes the snapshot used by the warp sync zombienet tests to one
      built from an updated version of the kitchensink runtime, that supports
      BEEFY
      - Adds some basic BEEFY checks to the warp sync zombienet tests
      - Deduplicates some params of the warp sync zombienet tests, making them
      easier to extend
      578960f3
    • Michal Kucharczyk's avatar
      frame-support: sp-runtime dependency updated (serde) (#2907) · c8112e2c
      Michal Kucharczyk authored
      `frame-support` crate compilation fails (reported by @koute):
      
      ```
      $ cargo check --no-default-features --target=wasm32-unknown-unknown
      
      error[E0277]: the trait bound `GC: Serialize` is not satisfied
          --> substrate/frame/support/src/genesis_builder_helper.rs:32:24
           |
      32   |     serde_json::to_string(&GC::default())
           |     --------------------- ^^^^^^^^^^^^^^ the trait `Serialize` is not implemented for `GC`
           |     |
           |     required by a bound introduced by this call
           |
      note: required by a bound in `serde_json::to_string`
          --> /home/kou/.cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.111/src/ser.rs:2209:17
           |
      2207 | pub fn to_string<T>(value: &T) -> Result<String>
           |        --------- required by a bound in this function
      2208 | where
      2209 |     T: ?Sized + Serialize,
           |                 ^^^^^^^^^ required by this bound in `to_string`
      help: consider further restricting this bound
           |
      30   |     GC: BuildGenesisConfig + Default + serde::Serialize,
           |                                      ++++++++++++++++++
      ```
      
      This PR should fix this.
      
      For all runtimes `sp-runtime/serde` feature was likely enabled by this
      (and few other pallets):
      
      https://github.com/paritytech/polkadot-sdk/blob/f2a750ee/substrate/frame/system/Cargo.toml#L27
      c8112e2c
  6. Jan 10, 2024
    • Clara van Staden's avatar
      Update Snowbridge versions and prep for publishing (#2894) · bab03483
      Clara van Staden authored
      
      
      - updates snowbridge crates to `0.9.0`
      - updates Cargo.toml files in preparation for publishing to crates.io
      - adds Kusama and Polkadot Snowbridge runtime config crates
      - moves runtime tests from the Snowbridge subtree into the bridge hub
      tests dir
      
      ---------
      
      Co-authored-by: claravanstaden <Cats 4 life!>
      Co-authored-by: default avatarRon <[email protected]>
      bab03483
    • Marcin S.'s avatar
      PVF: Remove artifact persistence across restarts (#2895) · 6a80c10a
      Marcin S. authored
      Considering the complexity of
      https://github.com/paritytech/polkadot-sdk/pull/2871 and the discussion
      therein, as well as the further complexity introduced by the hardening
      in https://github.com/paritytech/polkadot-sdk/pull/2742, as well as the
      eventual replacement of wasmtime by PolkaVM, it seems best to remove
      this persistence as it is creating more problems than it solves.
      
      ## Related
      
      Closes https://github.com/paritytech/polkadot-sdk/issues/2863
      6a80c10a
    • Alin Dima's avatar
      add fallback request for req-response protocols (#2771) · f2a750ee
      Alin Dima authored
      Previously, it was only possible to retry the same request on a
      different protocol name that had the exact same binary payloads.
      
      Introduce a way of trying a different request on a different protocol if
      the first one fails with Unsupported protocol.
      
      This helps with adding new req-response versions in polkadot while
      preserving compatibility with unupgraded nodes.
      
      The way req-response protocols were bumped previously was that they were
      bundled with some other notifications protocol upgrade, like for async
      backing (but that is more complicated, especially if the feature does
      not require any changes to a notifications protocol). Will be needed for
      implementing https://github.com/polkadot-fellows/RFCs/pull/47
      
      TODO:
      - [x]  add tests
      - [x] add guidance docs in polkadot about req-response protocol
      versioning
      f2a750ee
    • Nazar Mokrynskyi's avatar
      Improve storage monitor API (#2899) · af2e30e3
      Nazar Mokrynskyi authored
      This removes the need to unnecessarily provide a very specific data
      structure `DatabaseSource` and removes huge `sc-client-db` dependency
      from storage monitor. It is now possible to use storage monitor with any
      path.
      
      P.S. I still strongly dislike that it pulls `clap` dependency for such a
      small feature, but many other crates do as well, so nothing special
      here.
      af2e30e3
    • dependabot[bot]'s avatar
      Bump trybuild from 1.0.83 to 1.0.88 (#2902) · a56ad80a
      dependabot[bot] authored
      
      
      Bumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.83 to
      1.0.88.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/trybuild/releases">trybuild's
      releases</a>.</em></p>
      <blockquote>
      <h2>1.0.88</h2>
      <ul>
      <li>Work around <code>dead_code</code> warning false positive (<a
      href="https://redirect.github.com/dtolnay/trybuild/issues/253">#253</a>)</li>
      </ul>
      <h2>1.0.87</h2>
      <ul>
      <li>Update proc-macro2 to fix caching issue when using a rustc-wrapper
      such as sccache</li>
      </ul>
      <h2>1.0.86</h2>
      <ul>
      <li>Support edition 2024 (<a
      href="https://redirect.github.com/dtolnay/trybuild/issues/250">#250</a>,
      <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/252">#252</a>,
      thanks <a
      href="https://github.com/mohe2015"><code>@​mohe2015</code></a>)</li>
      </ul>
      <h2>1.0.85</h2>
      <ul>
      <li>Set thread name to produce better message on panic (<a
      href="https://redirect.github.com/dtolnay/trybuild/issues/243">#243</a>,
      <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/244">#244</a>)</li>
      </ul>
      <h2>1.0.84</h2>
      <ul>
      <li>Stabilize usage of Cargo's <code>--keep-going</code> build mode,
      which parallelizes test compilation for a significant speedup (<a
      href="https://redirect.github.com/rust-lang/cargo/pull/12568">rust-lang/cargo#12568</a>,
      <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/240">#240</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/52caff6811ac288418209c7c7e2da28583bb1f4d"><code>52caff6</code></a>
      Release 1.0.88</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/0321a01898a69905a74c3aab2519219939f133fa"><code>0321a01</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/253">#253</a>
      from dtolnay/deadflock</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/b720ee6e5cd44ab7d8ab140a020006e0db6270a4"><code>b720ee6</code></a>
      Work around dead_code warning in flock implementation</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/0081291b6bb5d19b92d19f1fc9c1d32ed539a129"><code>0081291</code></a>
      Release 1.0.87</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/e0c4c0d7c8581d46366668eee28dbf6ec790178b"><code>e0c4c0d</code></a>
      Pull in proc-macro2 sccache fix</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/a6cbfe8b08978660b92259d1f6642c2812e9ffe7"><code>a6cbfe8</code></a>
      Release 1.0.86</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/7c5a8fef4e4f4e85bec2dd888434c310ec479f21"><code>7c5a8fe</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/252">#252</a>
      from dtolnay/cargofeatures</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/d3cd15bf3081ddbd4720984001e3f2a09f53d621"><code>d3cd15b</code></a>
      Propagate cargo features from source manifest</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/c28428dcb57a735c16b25745298f045ffb5782bb"><code>c28428d</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/251">#251</a>
      from dtolnay/skipcargofeatures</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/3e4029ede75d98b9164136852689a7ca5602108e"><code>3e4029e</code></a>
      Omit cargo-features from generated Cargo.toml if empty</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/trybuild/compare/1.0.83...1.0.88">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=trybuild&package-manager=cargo&previous-version=1.0.83&new-version=1.0.88)](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 <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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      a56ad80a
    • dependabot[bot]'s avatar
      Bump parking_lot from 0.11.2 to 0.12.1 (#2901) · ccd55552
      dependabot[bot] authored
      
      
      Bumps [parking_lot](https://github.com/Amanieu/parking_lot) from 0.11.2
      to 0.12.1.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md">parking_lot's
      changelog</a>.</em></p>
      <blockquote>
      <h2>parking_lot 0.12.1 (2022-05-31)</h2>
      <ul>
      <li>Fixed incorrect memory ordering in <code>RwLock</code>. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/344">#344</a>)</li>
      <li>Added <code>Condvar::wait_while</code> convenience methods (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/343">#343</a>)</li>
      </ul>
      <h2>parking_lot_core 0.9.3 (2022-04-30)</h2>
      <ul>
      <li>Bump windows-sys dependency to 0.36. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/339">#339</a>)</li>
      </ul>
      <h2>parking_lot_core 0.9.2, lock_api 0.4.7 (2022-03-25)</h2>
      <ul>
      <li>Enable const new() on lock types on stable. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/325">#325</a>)</li>
      <li>Added <code>MutexGuard::leak</code> function. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/333">#333</a>)</li>
      <li>Bump windows-sys dependency to 0.34. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/331">#331</a>)</li>
      <li>Bump petgraph dependency to 0.6. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/326">#326</a>)</li>
      <li>Don't use pthread attributes on the espidf platform. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/319">#319</a>)</li>
      </ul>
      <h2>parking_lot_core 0.9.1 (2022-02-06)</h2>
      <ul>
      <li>Bump windows-sys dependency to 0.32. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/316">#316</a>)</li>
      </ul>
      <h2>parking_lot 0.12.0, parking_lot_core 0.9.0, lock_api 0.4.6
      (2022-01-28)</h2>
      <ul>
      <li>The MSRV is bumped to 1.49.0.</li>
      <li>Disabled eventual fairness on wasm32-unknown-unknown. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/302">#302</a>)</li>
      <li>Added a rwlock method to report if lock is held exclusively. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/303">#303</a>)</li>
      <li>Use new <code>asm!</code> macro. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/304">#304</a>)</li>
      <li>Use windows-rs instead of winapi for faster builds. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/311">#311</a>)</li>
      <li>Moved hardware lock elision support to a separate Cargo feature. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/313">#313</a>)</li>
      <li>Removed used of deprecated <code>spin_loop_hint</code>. (<a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/314">#314</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/Amanieu/parking_lot/commit/336a9b31ff385728d00eb7ef173e4d054584b787"><code>336a9b3</code></a>
      Release parking_lot 0.12.1</li>
      <li><a
      href="https://github.com/Amanieu/parking_lot/commit/b69a0547ce6c92b164528c65daafa48e8f1c08bb"><code>b69a054</code></a>
      Merge pull request <a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/343">#343</a>
      from bryanhitc/master</li>
      <li><a
      href="https://github.com/Amanieu/parking_lot/commit/3fe7233ee05fbae9bc94a831d4e66df0257880a2"><code>3fe7233</code></a>
      Merge pull request <a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/344">#344</a>
      from Amanieu/fix_rwlock_ordering</li>
      <li><a
      href="https://github.com/Amanieu/parking_lot/commit/ef12b00daf0dbc6dd025098ec2cd0517bb9f737c"><code>ef12b00</code></a>
      small test update</li>
      <li><a
      href="https://github.com/Amanieu/parking_lot/commit/fdb063cd4e33d9c44cc08aea0c341ffec7e7b282"><code>fdb063c</code></a>
      wait_while can't timeout fix</li>
      <li><a
      href="https://github.com/Amanieu/parking_lot/commit/26e19dced4ae01000abc0dfca251f56695b1b8aa"><code>26e19dc</code></a>
      Remove WaitWhileResult</li>
      <li><a
      href="https://github.com/Amanieu/parking_lot/commit/d26c284fe8413bdeeed3ef4f70e23b5919a9ffeb"><code>d26c284</code></a>
      Fix incorrect memory ordering in RwLock</li>
      <li><a
      href="https://github.com/Amanieu/parking_lot/commit/045828381a5facff71b1aad3c01af15801959458"><code>0458283</code></a>
      Use saturating_add for WaitWhileResult</li>
      <li><a
      href="https://github.com/Amanieu/parking_lot/commit/686db4755913947219f83a04b21885032685d246"><code>686db47</code></a>
      Add Condvar::wait_while convenience methods</li>
      <li><a
      href="https://github.com/Amanieu/parking_lot/commit/6f6e021ced6f67fef8002442aa97c4a08ed5c3e4"><code>6f6e021</code></a>
      Merge pull request <a
      href="https://redirect.github.com/Amanieu/parking_lot/issues/342">#342</a>
      from MarijnS95/patch-1</li>
      <li>Additional commits viewable in <a
      href="https://github.com/Amanieu/parking_lot/compare/0.11.2...0.12.1">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=parking_lot&package-manager=cargo&previous-version=0.11.2&new-version=0.12.1)](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 <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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      ccd55552
    • joe petrowski's avatar
      Unique Usernames in Identity Pallet (#2651) · d1f678c0
      joe petrowski authored
      
      
      This PR allows _username authorities_ to issue unique usernames that
      correspond with an account. It also provides two-way lookup, that is
      from `AccountId` to a single, "primary" `Username` (alongside
      `Registration`) and multiple unique `Username`s to an `AccountId`.
      
      Key features:
      
      - Username Authorities added (and removed) via privileged origin.
      - Authorities have a `suffix` and an `allocation`. They can grant up to
      `allocation` usernames. Their `suffix` will be appended to the usernames
      that they issue. A suffix may be up to 7 characters long.
      - Users can ask an authority to grant them a username. This will take
      the form `myusername.suffix`. The entire name (including suffix) must be
      less than or equal to 32 alphanumeric characters.
      - Users can approve a username for themselves in one of two ways (that
      is, authorities cannot grant them arbitrarily):
      - Pre-sign the entire username (including suffix) with a secret key that
      corresponds to their `AccountId` (for keyed accounts, obviously); or
      - Accept the username after it has been granted by an authority (it will
      be queued until accepted) (for non-keyed accounts like pure proxies or
      multisigs).
      - The system does not require any funds or deposits. Users without an
      identity will be given a default one (presumably all fields set to
      `None`). If they update this info, they will need to place the normal
      storage deposit.
      - If a user does not have any username, their first one will be set as
      `Primary`, and their `AccountId` will map to that one. If they get
      subsequent usernames, they can choose which one to be their primary via
      `set_primary_username`.
      - There are some state cleanup functions to remove expired usernames
      that have not been accepted and dangling usernames whose owners have
      called `clear_identity`.
      
      TODO:
      
      - [x] Add migration to runtimes
      - [x] Probably do off-chain migration into People Chain genesis
      - [x] Address a few TODO questions in code (please review)
      
      ---------
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      d1f678c0
    • ordian's avatar
      statement-distribution: validator disabling (#1841) · a4195326
      ordian authored
      
      
      Closes #1591.
      
      The purpose of this PR is filter out backing statements from the network
      signed by disabled validators. This is just an optimization, since we
      will do filtering in the runtime in #1863 to avoid nodes to filter
      garbage out at block production time.
      
      - [x] Ensure it's ok to fiddle with the mask of manifests
      - [x] Write more unit tests
      - [x] Test locally
      - [x] simple zombienet test
      - [x] PRDoc
      
      ---------
      
      Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
      a4195326
    • Nuke's avatar
      Fix deps for local docs build for Rust `1.75.0` (#2896) · 01ea45c3
      Nuke authored
      - Fix docs deps build issue
      (https://github.com/servo/rust-smallvec/issues/327) (Please forgive me
      and LMK if there are processes I need to follow for the bump a dep here
      I am not aware of).
      - Fix links for `meta_contributing` docs, internal and external.
      - `cargo +nightly fmt` for `/docs/...` files
      01ea45c3