Skip to content
Snippets Groups Projects
  1. Jul 24, 2024
    • Davide Galassi's avatar
      Fix after ring-proof api change (#5126) · f4fccd60
      Davide Galassi authored
      Ring-proof backend API changed to take some params by ref.
      Bandersnatch-VRF was not updated
      
      (Fixed by: https://github.com/w3f/ring-vrf/pull/92 and
      https://github.com/w3f/ring-vrf/pull/93)
    • dependabot[bot]'s avatar
      Bump clap from 4.5.9 to 4.5.10 in the known_good_semver group (#5120) · 7f332cd3
      dependabot[bot] authored
      
      Bumps the known_good_semver group with 1 update:
      [clap](https://github.com/clap-rs/clap).
      
      Updates `clap` from 4.5.9 to 4.5.10
      <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.5.10</h2>
      <h2>[4.5.10] - 2024-07-23</h2>
      </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.5.10] - 2024-07-23</h2>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/6243d6546301855c6fc71680e2bf6976f064aee1"><code>6243d65</code></a>
      fix: Only generate stubs if has subcommands</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/f5965e586292d31b2a2cbd83f19d145180471012"><code>f5965e5</code></a>
      chore: Update dependencies</li>
      <li>See full diff in <a
      href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.9...v4.5.10">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.5.9&new-version=4.5.10)](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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • tmpolaczyk's avatar
      Use jobserver in wasm-builder to limit concurrency of spawned cargo processes (#4946) · fee481f9
      tmpolaczyk authored
      
      When building multiple runtimes in parallel, each of them will try to
      use the concurrency set by the parent cargo process. For example, in a
      system with 8 cpu cores, building 3 runtimes in parallel creates 8 * 3
      tasks. This results in the system hanging because of the high cpu and
      memory usage.
      
      This PR allows the substrate_wasm_builder to use the same [jobserver][1]
      as the parent cargo process, making all invocations of cargo share the
      same concurrency pool. So in a system with 8 cores, there will never be
      more than 8 tasks running at the same time.
      
      Implementation roughly based on [cargo][2] but with less unsafe.
      
      This can be tested by telling cargo to use half the cpu cores, like
      `cargo build -j4` in an 8 core machine. Before this PR it will use 100%
      cpu when building 2 runtimes in parallel, after this PR it will always
      use 50%.
      
      [1]:
      https://doc.rust-lang.org/cargo/reference/build-scripts.html#jobserver
      [2]:
      https://github.com/rust-lang/cargo/blob/d1b5f0759eedf5f1126c781c64232856956069ad/src/cargo/util/context/mod.rs#L271
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
  2. Jul 23, 2024
    • dependabot[bot]'s avatar
      Bump backtrace from 0.3.69 to 0.3.71 (#5110) · 11dd10b4
      dependabot[bot] authored
      
      Bumps [backtrace](https://github.com/rust-lang/backtrace-rs) from 0.3.69
      to 0.3.71.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-lang/backtrace-rs/releases">backtrace's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.3.71</h2>
      <p>This is mostly CI changes, with a very mild bump to our effective cc
      crate version recorded, and a small modification to a previous changeset
      to allow backtrace to run at its current checked-in MSRV on Windows.
      Sorry about that! We will be getting 0.3.70 yanked shortly.</p>
      <h2>What's Changed</h2>
      <ul>
      <li>Make sgx functions exist with cfg(miri) by <a
      href="https://github.com/saethlin"><code>@​saethlin</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/591">rust-lang/backtrace-rs#591</a></li>
      <li>Update version of cc crate by <a
      href="https://github.com/jfgoog"><code>@​jfgoog</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/592">rust-lang/backtrace-rs#592</a></li>
      <li>Pull back MSRV on Windows by <a
      href="https://github.com/workingjubilee"><code>@​workingjubilee</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/598">rust-lang/backtrace-rs#598</a></li>
      <li>Force frame pointers on all i686 tests by <a
      href="https://github.com/workingjubilee"><code>@​workingjubilee</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/601">rust-lang/backtrace-rs#601</a></li>
      <li>Use rustc from stage0 instead of stage0-sysroot by <a
      href="https://github.com/Nilstrieb"><code>@​Nilstrieb</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/602">rust-lang/backtrace-rs#602</a></li>
      <li>Cut backtrace 0.3.71 by <a
      href="https://github.com/workingjubilee"><code>@​workingjubilee</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/599">rust-lang/backtrace-rs#599</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a href="https://github.com/jfgoog"><code>@​jfgoog</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/592">rust-lang/backtrace-rs#592</a></li>
      <li><a href="https://github.com/Nilstrieb"><code>@​Nilstrieb</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/602">rust-lang/backtrace-rs#602</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71">https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71</a></p>
      <h2>0.3.70</h2>
      <h2>New API</h2>
      <ul>
      <li>A <code>BacktraceFrame</code> can now have <code>resolve(&amp;mut
      self)</code> called on it thanks to <a
      href="https://github.com/fraillt"><code>@​fraillt</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/526">rust-lang/backtrace-rs#526</a></li>
      </ul>
      <h2>Platform Support</h2>
      <p>We added support for new platforms in this release!</p>
      <ul>
      <li>Thanks to <a href="https://github.com/bzEq"><code>@​bzEq</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/508">rust-lang/backtrace-rs#508</a>
      we now have AIX support!</li>
      <li>Thanks to <a
      href="https://github.com/sthibaul"><code>@​sthibaul</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/567">rust-lang/backtrace-rs#567</a>
      we now have GNU/Hurd support!</li>
      <li>Thanks to <a
      href="https://github.com/dpaoliello"><code>@​dpaoliello</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/587">rust-lang/backtrace-rs#587</a>
      we now support &quot;emulation-compatible&quot; AArch64 Windows (aka
      arm64ec)</li>
      </ul>
      <h3>Windows</h3>
      <ul>
      <li>Rewrite msvc backtrace support to be much faster on 64-bit platforms
      by <a
      href="https://github.com/wesleywiser"><code>@​wesleywiser</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/569">rust-lang/backtrace-rs#569</a></li>
      <li>Fix i686-pc-windows-gnu missing dbghelp module by <a
      href="https://github.com/wesleywiser"><code>@​wesleywiser</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/571">rust-lang/backtrace-rs#571</a></li>
      <li>Fix build errors on <code>thumbv7a-*-windows-msvc</code> targets by
      <a href="https://github.com/kleisauke"><code>@​kleisauke</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/573">rust-lang/backtrace-rs#573</a></li>
      <li>Fix panic in backtrace symbolication on win7 by <a
      href="https://github.com/roblabla"><code>@​roblabla</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/578">rust-lang/backtrace-rs#578</a></li>
      <li>remove few unused windows ffi fn by <a
      href="https://github.com/klensy"><code>@​klensy</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/576">rust-lang/backtrace-rs#576</a></li>
      <li>Make dbghelp look for PDBs next to their exe/dll. by <a
      href="https://github.com/michaelwoerister"><code>@​michaelwoerister</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/584">rust-lang/backtrace-rs#584</a></li>
      <li>Revert 32-bit dbghelp to a version WINE (presumably) likes by <a
      href="https://github.com/ChrisDenton"><code>@​ChrisDenton</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/588">rust-lang/backtrace-rs#588</a></li>
      <li>Update for Win10+ by <a
      href="https://github.com/ChrisDenton"><code>@​ChrisDenton</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/589">rust-lang/backtrace-rs#589</a></li>
      </ul>
      <h3>SGX</h3>
      <p>Thanks to</p>
      <ul>
      <li>Adjust frame IP in SGX relative to image base by <a
      href="https://github.com/mzohreva"><code>@​mzohreva</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/566">rust-lang/backtrace-rs#566</a></li>
      </ul>
      <h2>Internals</h2>
      <p>We did a bunch more work on our CI and internal cleanups</p>
      <ul>
      <li>Modularise CI workflow and validate outputs for binary size checks.
      by <a href="https://github.com/detly"><code>@​detly</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/549">rust-lang/backtrace-rs#549</a></li>
      <li>Commit Cargo.lock by <a
      href="https://github.com/bjorn3"><code>@​bjorn3</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/562">rust-lang/backtrace-rs#562</a></li>
      <li>Enable calling build.rs externally v2 by <a
      href="https://github.com/pitaj"><code>@​pitaj</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/568">rust-lang/backtrace-rs#568</a></li>
      <li>Upgrade to 2021 ed and inline panics by <a
      href="https://github.com/nyurik"><code>@​nyurik</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/538">rust-lang/backtrace-rs#538</a></li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/7be8953188582ea83f1e88622ccdfcab1a49461c"><code>7be8953</code></a><code>rust-lang/backtrace-rs#599</code></li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/c31ea5ba7ac52f5c15c65cfec7d7b5d0bcf00eed"><code>c31ea5b</code></a><code>rust-lang/backtrace-rs#602</code></li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/193125abc094b433859c4fdb2e672d391a6bdf8d"><code>193125a</code></a><code>rust-lang/backtrace-rs#601</code></li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/bdc8b8241b16bb20124a3cec86e1b339e4c008a1"><code>bdc8b82</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/issues/598">#598</a>
      from workingjubilee/pull-back-msrv</li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/edc9f5cae874bf008e52558e4b2c6c86847c9575"><code>edc9f5c</code></a>
      hack out binary size checks</li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/4c8fe973eb39f4cd31c3d6dfd74c6b670de6911a"><code>4c8fe97</code></a>
      add Windows to MSRV tests</li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/84dfe2472456a000d7cced566b06f3bada898f8e"><code>84dfe24</code></a>
      hack CI</li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/3f08ec085fb5bb4edfb084cf9e3170e953a44107"><code>3f08ec0</code></a>
      Pull back MSRV-breaking ptr::from_ref</li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/6fa4b85b9962c3e1be8c2e5cc605cd078134152b"><code>6fa4b85</code></a><code>rust-lang/backtrace-rs#592</code></li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/ea7dc8e964d0046d92382e40308876130e5301ba"><code>ea7dc8e</code></a><code>rust-lang/backtrace-rs#591</code></li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.71">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=backtrace&package-manager=cargo&previous-version=0.3.69&new-version=0.3.71)](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>
    • Jun Jiang's avatar
      Replace all ansi_term crates (#2923) · bbb86686
      Jun Jiang authored
      
      Now Polkadot-SDK is ansi_term free
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
  3. Jul 22, 2024
    • dependabot[bot]'s avatar
      Bump slotmap from 1.0.6 to 1.0.7 (#5096) · ac98bc3f
      dependabot[bot] authored
      
      Bumps [slotmap](https://github.com/orlp/slotmap) from 1.0.6 to 1.0.7.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/orlp/slotmap/blob/master/RELEASES.md">slotmap's
      changelog</a>.</em></p>
      <blockquote>
      <h1>Version 1.0.7</h1>
      <ul>
      <li>Added <code>clone_from</code> implementations for all slot
      maps.</li>
      <li>Added <code>try_insert_with_key</code> methods that accept a
      fallible closure.</li>
      <li>Improved performance of insertion and key hashing.</li>
      <li>Made <code>new_key_type</code> resistant to shadowing.</li>
      <li>Made iterators clonable regardless of item type clonability.</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/orlp/slotmap/commit/c905b6ced490551476cb7c37778eb8128bdea7ba"><code>c905b6c</code></a>
      Release 1.0.7.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/cdee6974d5d57fef62f862ffad9ffe668652d26f"><code>cdee697</code></a>
      Merge pull request <a
      href="https://redirect.github.com/orlp/slotmap/issues/107">#107</a> from
      waywardmonkeys/minor-doc-tweaks</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/4456784a9bce360ec38005c9f4cbf4b4a6f92162"><code>4456784</code></a>
      Fix a typo and add some backticks.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/a7287a2caa80bb4a6d7a380a92a49d48535357a5"><code>a7287a2</code></a>
      Merge pull request <a
      href="https://redirect.github.com/orlp/slotmap/issues/99">#99</a> from
      chloekek/hash-u64</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/eeaf92e5b3627ac5a2035742c6e2818999ac3d0c"><code>eeaf92e</code></a>
      Provide explicit impl Hash for KeyData</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/ce6e1e02bb2c2074d8d581e87ad9c2f72ce495c3"><code>ce6e1e0</code></a>
      Lint invalid_html_tags has been renamed, but not really necessary.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/941c39301211a03385e8d7915d0d31b6f6f5ecd5"><code>941c393</code></a>
      Fixed remaining references to global namespace in new_key_type
      macro.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/cf7e44c05d777440687cfa0d439a31fdec50cc3a"><code>cf7e44c</code></a>
      Added utility module.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/5575afe1a31c634d5ab15d273ad8793f6711f8b1"><code>5575afe</code></a>
      Ensure insert always has fast path.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/7220adc6fa9defb356699f3d96af736e9ef477b5"><code>7220adc</code></a>
      Cargo fmt and added test case for cloneable iterators.</li>
      <li>Additional commits viewable in <a
      href="https://github.com/orlp/slotmap/compare/v1.0.6...v1.0.7">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=slotmap&package-manager=cargo&previous-version=1.0.6&new-version=1.0.7)](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>
    • Marcus Pang Yu Yang's avatar
      feat: introduce pallet-parameters to Westend to parameterize inflation (#4938) · 6e520eb4
      Marcus Pang Yu Yang authored
      
      Fixes #4907
      
      ## Changes
      - Add `pallet-parameters` to Westend runtime
      - Add `relay_era_payout` function to Polkadot runtime common + deprecate
      previous `era_payout` function
      - Add unit tests for `relay_era_payout`, matching previous unit tests
      for `era_payout`
      - Remove `pallet_staking_reward_curve` in Westend runtime
      - Add `dynamic_params` to replace constants used for
      `pallet_staking_reward_curve`
      
      Polkadot address: 5DybbVdLvVWd7MiA1YwkzLUNL1ThMDicozbuLc8v9pQEScPQ
      
      ---------
      
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
      Co-authored-by: default avatarkianenigma <kian@parity.io>
      Co-authored-by: command-bot <>
    • dependabot[bot]'s avatar
      Bump openssl from 0.10.64 to 0.10.66 (#5107) · 20956894
      dependabot[bot] authored
      
      Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.64
      to 0.10.66.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/sfackler/rust-openssl/releases">openssl's
      releases</a>.</em></p>
      <blockquote>
      <h2>openssl-v0.10.66</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Fixed invariant violation in <code>MemBio::get_buf</code> with empty
      results by <a href="https://github.com/alex"><code>@​alex</code></a> in
      <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2266">sfackler/rust-openssl#2266</a></li>
      <li>Release openssl v0.10.66 by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2267">sfackler/rust-openssl#2267</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.65...openssl-v0.10.66">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.65...openssl-v0.10.66</a></p>
      <h2>openssl-v0.10.65</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>don't emit rerun-if-changed when vendoring by <a
      href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2177">sfackler/rust-openssl#2177</a></li>
      <li>Prepare for openssl-sys 0.9.101 release by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2182">sfackler/rust-openssl#2182</a></li>
      <li>don't emit rerun-if-changed unless the path exists and is readable
      by <a href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a>
      in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2187">sfackler/rust-openssl#2187</a></li>
      <li>Added support for LibreSSL 3.9.0 by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2202">sfackler/rust-openssl#2202</a></li>
      <li>Support stable LibreSSL 3.9.x by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2209">sfackler/rust-openssl#2209</a></li>
      <li>openssl-sys 0.9.102 release by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2210">sfackler/rust-openssl#2210</a></li>
      <li>Add repository field to openssl-macros crate by <a
      href="https://github.com/paolobarbolini"><code>@​paolobarbolini</code></a>
      in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2211">sfackler/rust-openssl#2211</a></li>
      <li>Add missing openssl-sys dependency by <a
      href="https://github.com/pieterdd"><code>@​pieterdd</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2212">sfackler/rust-openssl#2212</a></li>
      <li>Test OpenSSL 3.3.0-beta1 by <a
      href="https://github.com/sfackler"><code>@​sfackler</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2216">sfackler/rust-openssl#2216</a></li>
      <li>test against 3.3.0 final by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2218">sfackler/rust-openssl#2218</a></li>
      <li>fix min-versions in CI by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2228">sfackler/rust-openssl#2228</a></li>
      <li>Make X509_VAL opaque for LibreSSL 4.0.0 by <a
      href="https://github.com/botovq"><code>@​botovq</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2227">sfackler/rust-openssl#2227</a></li>
      <li>Use the newer names for STACK_OF(T) functions with BoringSSL by <a
      href="https://github.com/davidben"><code>@​davidben</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2231">sfackler/rust-openssl#2231</a></li>
      <li>Only declare OpensslCallbacks in bindgen builds by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2234">sfackler/rust-openssl#2234</a></li>
      <li>Fix building with latest BoringSSL by <a
      href="https://github.com/davidben"><code>@​davidben</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2230">sfackler/rust-openssl#2230</a></li>
      <li>Emit rustc-check-cfg for nightly by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2235">sfackler/rust-openssl#2235</a></li>
      <li>Configure OpenSSL data dir on vendored builds. by <a
      href="https://github.com/DanielSidhion"><code>@​DanielSidhion</code></a>
      in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2122">sfackler/rust-openssl#2122</a></li>
      <li>Add boringssl keylog callback support by <a
      href="https://github.com/mspublic"><code>@​mspublic</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2237">sfackler/rust-openssl#2237</a></li>
      <li>Correct the name of the <code>pkgconf</code> package on some distros
      by <a
      href="https://github.com/JonathanBrouwer"><code>@​JonathanBrouwer</code></a>
      in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2253">sfackler/rust-openssl#2253</a></li>
      <li>Add some OpenSSL 3 QUIC raw bindings by <a
      href="https://github.com/bdbai"><code>@​bdbai</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2257">sfackler/rust-openssl#2257</a></li>
      <li>Initialize OpenSSL in MD constructors by <a
      href="https://github.com/sfackler"><code>@​sfackler</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2258">sfackler/rust-openssl#2258</a></li>
      <li>Switch Pkey::from_ to use set1 functions by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2262">sfackler/rust-openssl#2262</a></li>
      <li>Release openssl v0.10.65 and openssl-sys v0.9.103 by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2265">sfackler/rust-openssl#2265</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/paolobarbolini"><code>@​paolobarbolini</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2211">sfackler/rust-openssl#2211</a></li>
      <li><a href="https://github.com/pieterdd"><code>@​pieterdd</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2212">sfackler/rust-openssl#2212</a></li>
      <li><a
      href="https://github.com/DanielSidhion"><code>@​DanielSidhion</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2122">sfackler/rust-openssl#2122</a></li>
      <li><a href="https://github.com/mspublic"><code>@​mspublic</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2237">sfackler/rust-openssl#2237</a></li>
      <li><a
      href="https://github.com/JonathanBrouwer"><code>@​JonathanBrouwer</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2253">sfackler/rust-openssl#2253</a></li>
      <li><a href="https://github.com/bdbai"><code>@​bdbai</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2257">sfackler/rust-openssl#2257</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.65">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.65</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/ad70a0bea581e53fc5086afffa5bdfe6eb1b5f49"><code>ad70a0b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/sfackler/rust-openssl/issues/2267">#2267</a>
      from alex/bump-for-release</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/5ce473b4e56e8c68e11428d2e9fdb0abf984aa59"><code>5ce473b</code></a>
      Release openssl v0.10.66</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/aef36e0f3950653148d6644309ee41ccf16e02bb"><code>aef36e0</code></a>
      Merge pull request <a
      href="https://redirect.github.com/sfackler/rust-openssl/issues/2266">#2266</a>
      from alex/mem-bio-invariant</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/142deef717bad843fc04c5afb925bfd9e7dc4305"><code>142deef</code></a>
      Fixed invariant violation in <code>MemBio::get_buf</code> with empty
      results</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/32f150b05a8996a14561741bceab66a95043cd57"><code>32f150b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/sfackler/rust-openssl/issues/2265">#2265</a>
      from alex/bump-for-release</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/98addd271ec1edf3cd598ed093c1c82a081b91eb"><code>98addd2</code></a>
      Release openssl v0.10.65 and openssl-sys v0.9.103</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/7c7958d436cec622c5af39063db8541b4641e73e"><code>7c7958d</code></a>
      Merge pull request <a
      href="https://redirect.github.com/sfackler/rust-openssl/issues/2262">#2262</a>
      from alex/pkey-api</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/d7b12ccf1f6864f99ba24080567b38bbd82f39ab"><code>d7b12cc</code></a>
      Switch Pkey::from_ to use set1 functions</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/22ffa9add64d962782d993fae0cd9b348d3b43cd"><code>22ffa9a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/sfackler/rust-openssl/issues/2258">#2258</a>
      from sfackler/init-md</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/9de3794474d8440e80d362531f82d0d9ce07c22a"><code>9de3794</code></a>
      Initialize OpenSSL in MD constructors</li>
      <li>Additional commits viewable in <a
      href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.66">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openssl&package-manager=cargo&previous-version=0.10.64&new-version=0.10.66)](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)
      You can disable automated security fix PRs for this repo from the
      [Security Alerts
      page](https://github.com/paritytech/polkadot-sdk/network/alerts).
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • Andrei Eres's avatar
      Prepare PVFs if node is a validator in the next session (#4791) · 612c1bd3
      Andrei Eres authored
      Closes https://github.com/paritytech/polkadot-sdk/issues/4324
      - On every active leaf candidate-validation subsystem checks if the node
      is the next session authority.
      - If it is, it fetches backed candidates and prepares unknown PVFs.
      - We limit number of PVFs per block to not overload subsystem.
    • s0me0ne-unkn0wn's avatar
      Rename `assigner_on_demand` to `on_demand` (#4706) · f923443a
      s0me0ne-unkn0wn authored
      
      Closes #3425
      
      ---------
      
      Co-authored-by: default avatarantonva <anton.asgeirsson@parity.io>
      Co-authored-by: command-bot <>
    • gupnik's avatar
      Fixes doc links for `procedural` crate (#5023) · d0d8e291
      gupnik authored
      
      This PR fixes the documentation for FRAME Macros when pointed from
      `polkadot_sdk_docs` crate. This is achieved by referring to the examples
      in the `procedural` crate, embedded via `docify`.
      
      ---------
      
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
  4. Jul 20, 2024
    • dependabot[bot]'s avatar
      Bump assert_cmd from 2.0.12 to 2.0.14 (#5070) · d1979d4b
      dependabot[bot] authored
      
      Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.12
      to 2.0.14.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md">assert_cmd's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[2.0.14] - 2024-02-19</h2>
      <h3>Compatibility</h3>
      <ul>
      <li>MSRV is now 1.73.0</li>
      </ul>
      <h3>Features</h3>
      <ul>
      <li>Run using the cargo target runner</li>
      </ul>
      <h2>[2.0.13] - 2024-01-12</h2>
      <h3>Internal</h3>
      <ul>
      <li>Dependency update</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/9ebfc0b140847e926374a8cd0ad235ba93f119f9"><code>9ebfc0b</code></a>
      chore: Release assert_cmd version 2.0.14</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/025c5f6dcb1ca3b0dfc24983e48aab123d093895"><code>025c5f6</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/82b99c139882bdbc3d613094fb0eea944b05419c"><code>82b99c1</code></a>
      Merge pull request <a
      href="https://redirect.github.com/assert-rs/assert_cmd/issues/193">#193</a>
      from glehmann/cross</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/b3a290ce81873bb266457c6ea7f6d94124ba8ed5"><code>b3a290c</code></a>
      feat: add cargo runner support in order to work with cross</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/132db496f6e89454e33b13269b4bb9d42324ce7d"><code>132db49</code></a>
      Merge pull request <a
      href="https://redirect.github.com/assert-rs/assert_cmd/issues/194">#194</a>
      from assert-rs/renovate/rust-1.x</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/f1308abaf458e22511548bc7f3ddecc2bde579ed"><code>f1308ab</code></a>
      chore(deps): update msrv to v1.73</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/9b0f20acd4868a00544b5e28a0fcbcad6689afdf"><code>9b0f20a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/assert-rs/assert_cmd/issues/192">#192</a>
      from assert-rs/renovate/rust-1.x</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/07f4cdee717ea3b6f96ac7eb1eaeb4ed2253d6af"><code>07f4cde</code></a>
      chore(deps): update msrv to v1.72</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/19da72b81c789f9c06817b99c1ecebfe7083dbfb"><code>19da72b</code></a>
      chore: Release assert_cmd version 2.0.13</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/db5ee325aafffb5b8e042cda1cc946e36079302a"><code>db5ee32</code></a>
      docs: Update changelog</li>
      <li>Additional commits viewable in <a
      href="https://github.com/assert-rs/assert_cmd/compare/v2.0.12...v2.0.14">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=assert_cmd&package-manager=cargo&previous-version=2.0.12&new-version=2.0.14)](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>
    • dependabot[bot]'s avatar
      Bump libc from 0.2.153 to 0.2.155 (#5069) · 7a318d61
      dependabot[bot] authored
      
      Bumps [libc](https://github.com/rust-lang/libc) from 0.2.153 to 0.2.155.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-lang/libc/releases">libc's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.2.155</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Add <code>SYS_lseek</code> and <code>SYS_mmap</code> for aarch64
      Android by <a
      href="https://github.com/lberrymage"><code>@​lberrymage</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3632">rust-lang/libc#3632</a></li>
      <li>Correct the value of FAN_MARK_IGNORE by <a
      href="https://github.com/severen"><code>@​severen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3622">rust-lang/libc#3622</a></li>
      <li>Update FreeBSD 13 CI image by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3671">rust-lang/libc#3671</a></li>
      <li>android: add FUTEX_LOCK_PI2 by <a
      href="https://github.com/rtzoeller"><code>@​rtzoeller</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3635">rust-lang/libc#3635</a></li>
      <li>Fix out-of-bounds pointer arithmetic in CMSG_NXTHDR by <a
      href="https://github.com/purplesyringa"><code>@​purplesyringa</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3676">rust-lang/libc#3676</a></li>
      <li>Revert &quot;Support posix_spawn on Android&quot; by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3678">rust-lang/libc#3678</a></li>
      <li>Unlock ci: fix wrong cfg emscripten by <a
      href="https://github.com/tesuji"><code>@​tesuji</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3684">rust-lang/libc#3684</a></li>
      <li>redox: correct EPOLL constants by <a
      href="https://github.com/jackpot51"><code>@​jackpot51</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3686">rust-lang/libc#3686</a></li>
      <li>[0.2] Revert &quot;Upgrade Docker images to Ubuntu 23.10&quot; on
      sparc64 by <a
      href="https://github.com/cuviper"><code>@​cuviper</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3708">rust-lang/libc#3708</a></li>
      <li>Re-add <code>posix_spawn{_file_actions_t,attr_t}</code> on Android
      by <a href="https://github.com/tesuji"><code>@​tesuji</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3690">rust-lang/libc#3690</a></li>
      <li>Update version to <code>0.2.155</code> by <a
      href="https://github.com/madsmtm"><code>@​madsmtm</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3682">rust-lang/libc#3682</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/lberrymage"><code>@​lberrymage</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3632">rust-lang/libc#3632</a></li>
      <li><a
      href="https://github.com/purplesyringa"><code>@​purplesyringa</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3676">rust-lang/libc#3676</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/rust-lang/libc/compare/0.2.154...0.2.155">https://github.com/rust-lang/libc/compare/0.2.154...0.2.155</a></p>
      <h2>0.2.154</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Fix CI on v0.2 by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3589">rust-lang/libc#3589</a></li>
      <li>[Backport <a
      href="https://redirect.github.com/rust-lang/libc/issues/3547">#3547</a>]
      Add ioctl FS_IOC_{G,S}{ETVERSION,ETFLAGS} for CSKY by <a
      href="https://github.com/Dirreke"><code>@​Dirreke</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3572">rust-lang/libc#3572</a></li>
      <li>Add Linux riscv64 HWCAP defines (libc-0.2) by <a
      href="https://github.com/Xeonacid"><code>@​Xeonacid</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3580">rust-lang/libc#3580</a></li>
      <li>Add missing MIPS R6 FS_IOC_* definitions by <a
      href="https://github.com/chenx97"><code>@​chenx97</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3591">rust-lang/libc#3591</a></li>
      <li>Support posix_spawn on Android by <a
      href="https://github.com/pcc"><code>@​pcc</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3602">rust-lang/libc#3602</a></li>
      <li>[0.2] Fix libc-tests for loongarch64 by <a
      href="https://github.com/heiher"><code>@​heiher</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3607">rust-lang/libc#3607</a></li>
      <li>visionOS Support by <a
      href="https://github.com/agg23"><code>@​agg23</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3568">rust-lang/libc#3568</a></li>
      <li>[0.2] linux/musl: Add support for LoongArch64 by <a
      href="https://github.com/heiher"><code>@​heiher</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3606">rust-lang/libc#3606</a></li>
      <li>v0.2: Fix c_char on AIX by <a
      href="https://github.com/taiki-e"><code>@​taiki-e</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3662">rust-lang/libc#3662</a></li>
      <li>solarish adding SO_EXCLBIND constant. by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3651">rust-lang/libc#3651</a></li>
      <li>[0.2] Add SIG constants to espidf by <a
      href="https://github.com/Tevz-Beskovnik"><code>@​Tevz-Beskovnik</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3658">rust-lang/libc#3658</a></li>
      <li>add all android sysconf constants by <a
      href="https://github.com/fkm3"><code>@​fkm3</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3656">rust-lang/libc#3656</a></li>
      <li>feat: more _PC_XXX constants for apple targets by <a
      href="https://github.com/SteveLauC"><code>@​SteveLauC</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3649">rust-lang/libc#3649</a></li>
      <li>feat: O_EXEC/O_SEARCH for apple platforms by <a
      href="https://github.com/SteveLauC"><code>@​SteveLauC</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3668">rust-lang/libc#3668</a></li>
      <li>[0.2] Add constant AT_MINSIGSTKSZ by <a
      href="https://github.com/ur4t"><code>@​ur4t</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3637">rust-lang/libc#3637</a></li>
      <li>Haiku: synchronize with post R1-beta 4 changes in libc by <a
      href="https://github.com/nielx"><code>@​nielx</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3638">rust-lang/libc#3638</a></li>
      <li>adding getentropy/getrandom to dragonflybsd. by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3618">rust-lang/libc#3618</a></li>
      <li>Move strftime, strftime_l, strptime to linux_like by <a
      href="https://github.com/pcc"><code>@​pcc</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3600">rust-lang/libc#3600</a></li>
      <li>update crate version to 0.2.154 by <a
      href="https://github.com/Dirreke"><code>@​Dirreke</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3573">rust-lang/libc#3573</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a href="https://github.com/pcc"><code>@​pcc</code></a> made their
      first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3602">rust-lang/libc#3602</a></li>
      <li><a href="https://github.com/agg23"><code>@​agg23</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3568">rust-lang/libc#3568</a></li>
      <li><a
      href="https://github.com/Tevz-Beskovnik"><code>@​Tevz-Beskovnik</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3658">rust-lang/libc#3658</a></li>
      <li><a href="https://github.com/ur4t"><code>@​ur4t</code></a> made their
      first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3637">rust-lang/libc#3637</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/rust-lang/libc/compare/0.2.153...0.2.154">https://github.com/rust-lang/libc/compare/0.2.153...0.2.154</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-lang/libc/commit/7df63bd7f61bf3408344673cf0ba08e7ff0df134"><code>7df63bd</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/libc/issues/3682">#3682</a>
      from madsmtm/new-version</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/0bbb5cda65be451d6ca9bf9a425a4edc3d580772"><code>0bbb5cd</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/libc/issues/3690">#3690</a>
      from tesuji/android-posix-spawn</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/15c74a4faba398a579a3a551f77cf790d5abf1f8"><code>15c74a4</code></a>
      Update version to 0.2.155</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/664947bdb087711c6e42596d081eacf5ba30dadd"><code>664947b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/libc/issues/3708">#3708</a>
      from cuviper/ci-sparc64-0.2</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/61331df06f425934fa43a506e25217f49a039a7c"><code>61331df</code></a>
      Also skip <code>MFD_EXEC</code> and <code>MFD_NOEXEC_SEAL</code> on
      sparc64</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/73d2004d3e8ed9c15d46fd4e69b5f3f7dbbe86c7"><code>73d2004</code></a>
      Skip <code>SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV</code> on sparc64</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/80535f34aafbf089f201dfb217d659e36a18671a"><code>80535f3</code></a>
      Revert &quot;Upgrade Docker images to Ubuntu 23.10&quot; on sparc64</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/b2b2fd71f4cb866c2d3e4579a50a70aa460aab8e"><code>b2b2fd7</code></a>
      Readd posix_spawn{_file_actions_t,attr_t} on Android</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/76462771b6f8a6889ba6becadb53418df5515370"><code>7646277</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/libc/issues/3686">#3686</a>
      from redox-os/redox-epoll-0.2</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/5eff703b923d3e1b042e91bc67409cca961f3976"><code>5eff703</code></a>
      redox: correct EPOLL constants</li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-lang/libc/compare/0.2.153...0.2.155">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libc&package-manager=cargo&previous-version=0.2.153&new-version=0.2.155)](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>
  5. Jul 19, 2024
    • Parth Mittal's avatar
      Balances Pallet: Emit events when TI is updated in currency impl (#4936) · 59e3315f
      Parth Mittal authored
      
      # Description
      
      Previously, in the `Currency` impl, the implementation of
      `pallet_balances` was not emitting any instances of `Issued` and
      `Rescinded` events, even though the `Fungible` equivalent was.
      
      This PR adds the `Issued` and `Rescinded` events in appropriate places
      in `impl_currency` along with tests.
      
      Closes #4028 
      
      polkadot address: 5GsLutpKjbzsbTphebs9Uy4YK6gTN47MAaz6njPktidjR5cp
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarBastian Köcher <info@kchr.de>
    • Bastian Köcher's avatar
      Implements `PoV` export and local validation (#4640) · d649746e
      Bastian Köcher authored
      This pull requests adds a new CLI flag to `polkadot-parachains`
      `--export-pov-to-path`. This CLI flag will instruct the node to export
      any `PoV` that it build locally to export to the given folder. Then
      these `PoV` files can be validated using the introduced
      `cumulus-pov-validator`. The combination of export and validation can be
      used for debugging parachain validation issues that may happen on the
      relay chain.
    • ordian's avatar
      beefy: put not only lease parachain heads into mmr (#4751) · 7f2a99fc
      ordian authored
      Short-term addresses
      https://github.com/paritytech/polkadot-sdk/issues/4737.
      
      - [x] Resolve benchmarking
      I've digged into benchmarking mentioned
      https://github.com/paritytech/polkadot-sdk/issues/4737#issuecomment-2155084660,
      but it seemed to me that this code is different proof/path. @acatangiu
      could you confirm? (btw, in this
      [bench](https://github.com/paritytech/polkadot-sdk/blob/b65313e8
      
      /bridges/modules/parachains/src/benchmarking.rs#L57),
      where do you actually set the `fn parachains()` to a reasonable number?
      i've only seen 1)
      - [ ] Communicate to Snowfork team:
      This seems to be the relevant code:
      https://github.com/Snowfork/snowbridge/blob/1e18e010331777042aa7e8fff3c118094af856ba/relayer/cmd/parachain_head_proof.go#L95-L120
      - [x] Is it preferred to iter() in some random order as suggested in
      https://github.com/paritytech/polkadot-sdk/issues/4737#issuecomment-2155084660
      or take lowest para ids instead as implemented here currently?
      - [x] PRDoc
      
      ## Updating Polkadot and Kusama runtimes:
      
      New weights need to be generated (`pallet_mmr`) and configs updated
      similar to Rococo/Westend:
      ```patch
      diff --git a/polkadot/runtime/rococo/src/lib.rs b/polkadot/runtime/rococo/src/lib.rs
      index 5adffbd7422..c7da339b981 100644
      --- a/polkadot/runtime/rococo/src/lib.rs
      +++ b/polkadot/runtime/rococo/src/lib.rs
      @@ -1307,9 +1307,11 @@ impl pallet_mmr::Config for Runtime {
              const INDEXING_PREFIX: &'static [u8] = mmr::INDEXING_PREFIX;
              type Hashing = Keccak256;
              type OnNewRoot = pallet_beefy_mmr::DepositBeefyDigest<Runtime>;
      -       type WeightInfo = ();
              type LeafData = pallet_beefy_mmr::Pallet<Runtime>;
              type BlockHashProvider = pallet_mmr::DefaultBlockHashProvider<Runtime>;
      +       type WeightInfo = weights::pallet_mmr::WeightInfo<Runtime>;
      +       #[cfg(feature = "runtime-benchmarks")]
      +       type BenchmarkHelper = parachains_paras::benchmarking::mmr_setup::MmrSetup<Runtime>;
       }
      
       parameter_types! {
      @@ -1319,13 +1321,8 @@ parameter_types! {
       pub struct ParaHeadsRootProvider;
       impl BeefyDataProvider<H256> for ParaHeadsRootProvider {
              fn extra_data() -> H256 {
      -               let mut para_heads: Vec<(u32, Vec<u8>)> = parachains_paras::Parachains::<Runtime>::get()
      -                       .into_iter()
      -                       .filter_map(|id| {
      -                               parachains_paras::Heads::<Runtime>::get(&id).map(|head| (id.into(), head.0))
      -                       })
      -                       .collect();
      -               para_heads.sort();
      +               let para_heads: Vec<(u32, Vec<u8>)> =
      +                       parachains_paras::Pallet::<Runtime>::sorted_para_heads();
                      binary_merkle_tree::merkle_root::<mmr::Hashing, _>(
                              para_heads.into_iter().map(|pair| pair.encode()),
                      )
      @@ -1746,6 +1743,7 @@ mod benches {
                      [pallet_identity, Identity]
                      [pallet_indices, Indices]
                      [pallet_message_queue, MessageQueue]
      +               [pallet_mmr, Mmr]
                      [pallet_multisig, Multisig]
                      [pallet_parameters, Parameters]
                      [pallet_preimage, Preimage]
      ```
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
    • Joseph Zhao's avatar
      Backport claim assets tests from polkadot-fellows repo (#4930) · d16af0b8
      Joseph Zhao authored
      
      # Issue
      [Backport integration tests for claim assets to the polkadot-sdk from
      polkadot-fellows repo
      #4892](https://github.com/paritytech/polkadot-sdk/issues/4892)
      # Description
      For the first time to contribute this project, I just finished part and
      make sure everything is ok.
      - [x] backport [claim_assets test
      case](https://github.com/polkadot-fellows/runtimes/blob/main/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/claim_assets.rs)
      to the polkadot-sdk testnet integration tests
      - [x] backport macro
      [test_chain_can_claim_assets](https://github.com/polkadot-fellows/runtimes/blob/main/integration-tests/emulated/helpers/src/lib.rs#L218)
      from fellows repo
      - [ ] when merged to polkadot-sdk and released, make sure that it is
      propagated to the fellows repo:
      https://github.com/polkadot-fellows/runtimes/issues/363
      - [x] backport and align other macros/test-cases from
      https://github.com/polkadot-fellows/runtimes/blob/8ec28f96eeb30fbba30d29006d75e1a3fa1cea1c/integration-tests/emulated/helpers/src/lib.rs#L31-L33
      
      ---------
      
      Co-authored-by: default avatarZihan Zhao <josephzhao@Zihans-MacBook-Pro-3.local>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      Co-authored-by: default avatarFrancisco Aguirre <franciscoaguirreperez@gmail.com>
    • Özgün Özerk's avatar
      relax `XcmFeeToAccount` trait bound on `AccountId` (#4959) · f8f70b37
      Özgün Özerk authored
      Fixes #4960 
      
      Configuring `FeeManager` enforces the boundary `Into<[u8; 32]>` for the
      `AccountId` type.
      
      Here is how it works currently: 
      
      Configuration:
      ```rust
          type FeeManager = XcmFeeManagerFromComponents<
              IsChildSystemParachain<primitives::Id>,
              XcmFeeToAccount<Self::AssetTransactor, AccountId, TreasuryAccount>,
          >;
      ```
      
      `XcmToFeeAccount` struct:
      ```rust
      /// A `HandleFee` implementation that simply deposits the fees into a specific on-chain
      /// `ReceiverAccount`.
      ///
      /// It reuses the `AssetTransactor` configured on the XCM executor to deposit fee assets. If
      /// the `AssetTransactor` returns an error while calling `deposit_asset`, then a warning will be
      /// logged and the fee burned.
      pub struct XcmFeeToAccount<AssetTransactor, AccountId, ReceiverAccount>(
      	PhantomData<(AssetTransactor, AccountId, ReceiverAccount)>,
      );
      
      impl<
      		AssetTransactor: TransactAsset,
      		AccountId: Clone + Into<[u8; 32]>,
      		ReceiverAccount: Get<Acco...
  6. Jul 18, 2024
    • dependabot[bot]'s avatar
      Bump enumn from 0.1.12 to 0.1.13 (#5061) · d05cd9a5
      dependabot[bot] authored
      
      Bumps [enumn](https://github.com/dtolnay/enumn) from 0.1.12 to 0.1.13.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/enumn/releases">enumn's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.1.13</h2>
      <ul>
      <li>Update proc-macro2 to fix caching issue when using a rustc-wrapper
      such as sccache</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/enumn/commit/de964e3ce0463f01dabb94c168d507254facfb86"><code>de964e3</code></a>
      Release 0.1.13</li>
      <li><a
      href="https://github.com/dtolnay/enumn/commit/52dcafcb2ee193be8839dc0f96bfa0e151888645"><code>52dcafc</code></a>
      Pull in proc-macro2 sccache fix</li>
      <li><a
      href="https://github.com/dtolnay/enumn/commit/ba2e288a83c5e62d1e29b993523ccf0528043ab0"><code>ba2e288</code></a>
      Test docs.rs documentation build in CI</li>
      <li><a
      href="https://github.com/dtolnay/enumn/commit/6f5a37e5a9dcdb75987552b44d7ebdbd7f0a2a93"><code>6f5a37e</code></a>
      Update actions/checkout@v3 -&gt; v4</li>
      <li>See full diff in <a
      href="https://github.com/dtolnay/enumn/compare/0.1.12...0.1.13">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=enumn&package-manager=cargo&previous-version=0.1.12&new-version=0.1.13)](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>
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 8 updates (#5060) · e2d3b8b1
      dependabot[bot] authored
      
      Bumps the known_good_semver group with 8 updates:
      
      | Package | From | To |
      | --- | --- | --- |
      | [clap](https://github.com/clap-rs/clap) | `4.5.3` | `4.5.9` |
      | [log](https://github.com/rust-lang/log) | `0.4.21` | `0.4.22` |
      | [paste](https://github.com/dtolnay/paste) | `1.0.14` | `1.0.15` |
      | [quote](https://github.com/dtolnay/quote) | `1.0.35` | `1.0.36` |
      | [serde](https://github.com/serde-rs/serde) | `1.0.197` | `1.0.204` |
      | [serde_derive](https://github.com/serde-rs/serde) | `1.0.197` |
      `1.0.204` |
      | [serde_json](https://github.com/serde-rs/json) | `1.0.114` | `1.0.120`
      |
      | [serde_yaml](https://github.com/dtolnay/serde-yaml) | `0.9.33` |
      `0.9.34+deprecated` |
      
      Updates `clap` from 4.5.3 to 4.5.9
      <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.5.9</h2>
      <h2>[4.5.9] - 2024-07-09</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(error)</em> When defining a custom help flag, be sure to
      suggest it like we do the built-in one</li>
      </ul>
      <h2>v4.5.8</h2>
      <h2>[4.5.8] - 2024-06-28</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Reduce extra flushes</li>
      </ul>
      <h2>v4.5.7</h2>
      <h2>[4.5.7] - 2024-06-10</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Clean up error message when too few arguments for
      <code>num_args</code></li>
      </ul>
      <h2>v4.5.6</h2>
      <h2>[4.5.6] - 2024-06-06</h2>
      <h2>v4.5.4</h2>
      <h2>[4.5.4] - 2024-03-25</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(derive)</em> Allow non-literal <code>#[arg(id)]</code>
      attributes again</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.5.9] - 2024-07-09</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(error)</em> When defining a custom help flag, be sure to
      suggest it like we do the built-in one</li>
      </ul>
      <h2>[4.5.8] - 2024-06-28</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Reduce extra flushes</li>
      </ul>
      <h2>[4.5.7] - 2024-06-10</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Clean up error message when too few arguments for
      <code>num_args</code></li>
      </ul>
      <h2>[4.5.6] - 2024-06-06</h2>
      <h2>[4.5.5] - 2024-06-06</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Allow <code>exclusive</code> to override
      <code>required_unless_present</code>,
      <code>required_unless_present_any</code>,
      <code>required_unless_present_all</code></li>
      </ul>
      <h2>[4.5.4] - 2024-03-25</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(derive)</em> Allow non-literal <code>#[arg(id)]</code>
      attributes again</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/43e73682835653ac48f32cc786514553d697c693"><code>43e7368</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/f00dafa690479e562ef22c3ed82f17726213ee32"><code>f00dafa</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/da1093a4f4cd1abba7de0b86f39319ab86913420"><code>da1093a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5574">#5574</a>
      from zanieb/zb/try-help-custom</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2eb842cc3bc1fb5f04156efa816003ef803d5254"><code>2eb842c</code></a>
      feat: Show user defined help flags in hints</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/b24deb101f7e12660b8b19d6b3979df87ffe065d"><code>b24deb1</code></a>
      test: Add coverage for help flag hints</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/866d7d14d33a3ef1f010222f004815b5cd8c15ef"><code>866d7d1</code></a>
      chore(deps): Update compatible (dev) (<a
      href="https://redirect.github.com/clap-rs/clap/issues/5560">#5560</a>)</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/d14bbc95317eb87a115f56c455bdab6ba19342ff"><code>d14bbc9</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5567">#5567</a>
      from epage/c</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/5448020b188899601d641a2684833073aba0a669"><code>5448020</code></a>
      fix: Install shells for CI</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/1c5a625ad0303e2407c8ab83ea7d37795e69a3a5"><code>1c5a625</code></a>
      fix: Fix wrong <code>cfg(linux)</code></li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2d2d1f498731d2ab70e8f15fed3765a856d52732"><code>2d2d1f4</code></a>
      chore: Bump completest</li>
      <li>Additional commits viewable in <a
      href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.3...v4.5.9">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `log` from 0.4.21 to 0.4.22
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-lang/log/blob/master/CHANGELOG.md">log's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[0.4.22] - 2024-06-27</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Add some clarifications to the library docs by <a
      href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/620">rust-lang/log#620</a></li>
      <li>Add links to <code>colog</code> crate by <a
      href="https://github.com/chrivers"><code>@​chrivers</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/621">rust-lang/log#621</a></li>
      <li>adding line_number test + updating some testing infrastructure by <a
      href="https://github.com/DIvkov575"><code>@​DIvkov575</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/619">rust-lang/log#619</a></li>
      <li>Clarify the actual set of functions that can race in _racy variants
      by <a href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/623">rust-lang/log#623</a></li>
      <li>Replace deprecated std::sync::atomic::spin_loop_hint() by <a
      href="https://github.com/Catamantaloedis"><code>@​Catamantaloedis</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/log/pull/625">rust-lang/log#625</a></li>
      <li>Check usage of max_level features by <a
      href="https://github.com/Thomasdezeeuw"><code>@​Thomasdezeeuw</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/log/pull/627">rust-lang/log#627</a></li>
      <li>Remove unneeded import by <a
      href="https://github.com/Thomasdezeeuw"><code>@​Thomasdezeeuw</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/log/pull/628">rust-lang/log#628</a></li>
      <li>Loosen orderings for logger initialization in <a
      href="https://redirect.github.com/rust-lang/log/pull/632">rust-lang/log#632</a>.
      Originally by <a
      href="https://github.com/pwoolcoc"><code>@​pwoolcoc</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/599">rust-lang/log#599</a></li>
      <li>Use Location::caller() for file and line info in <a
      href="https://redirect.github.com/rust-lang/log/pull/633">rust-lang/log#633</a>.
      Originally by <a
      href="https://github.com/Cassy343"><code>@​Cassy343</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/520">rust-lang/log#520</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a href="https://github.com/chrivers"><code>@​chrivers</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/log/pull/621">rust-lang/log#621</a></li>
      <li><a href="https://github.com/DIvkov575"><code>@​DIvkov575</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/log/pull/619">rust-lang/log#619</a></li>
      <li><a
      href="https://github.com/Catamantaloedis"><code>@​Catamantaloedis</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/log/pull/625">rust-lang/log#625</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/rust-lang/log/compare/0.4.21...0.4.22">https://github.com/rust-lang/log/compare/0.4.21...0.4.22</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-lang/log/commit/d5ba2cfee9b3b4ca1fcad911b7f59dc79eeee022"><code>d5ba2cf</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/log/issues/634">#634</a>
      from rust-lang/cargo/0.4.22</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/d1a8306aadb88d56b74c73cdce4ef0153fb549cb"><code>d1a8306</code></a>
      prepare for 0.4.22 release</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/46894ef229483bbabd30a806c474417fc034559c"><code>46894ef</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/log/issues/633">#633</a>
      from rust-lang/feat/panic-info</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/e0d389c9cadd91363f2fec52bd30f9585168a89f"><code>e0d389c</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/log/issues/632">#632</a>
      from rust-lang/feat/loosen-atomics</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/c9e5e13e9b02ec80e784c6fe4deacdc8f3194fca"><code>c9e5e13</code></a>
      use Location::caller() for file and line info</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/507b672660288f0223edb6353d34f8733fa0a2f4"><code>507b672</code></a>
      loosen orderings for logger initialization</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/c879b011a8ac662545adf9484d9a668ebcf9b814"><code>c879b01</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/log/issues/628">#628</a>
      from Thomasdezeeuw/fix-warnings</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/405fdb4d9f847c93c0133469ea808f09320714ba"><code>405fdb4</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/log/issues/627">#627</a>
      from Thomasdezeeuw/check-features</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/1307ade1122549badf2b8fdd10c11e519eaa029a"><code>1307ade</code></a>
      Remove unneeded import</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/710560ecb7035a6baf1fd9d97d7f09d0cc075006"><code>710560e</code></a>
      Don't use --all-features in CI</li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-lang/log/compare/0.4.21...0.4.22">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `paste` from 1.0.14 to 1.0.15
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/paste/releases">paste's
      releases</a>.</em></p>
      <blockquote>
      <h2>1.0.15</h2>
      <ul>
      <li>Resolve unexpected_cfgs warning (<a
      href="https://redirect.github.com/dtolnay/paste/issues/102">#102</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/paste/commit/a2c7e27875277450ed28147623ba5218dd23e732"><code>a2c7e27</code></a>
      Release 1.0.15</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/1d23098227a01de542ea52db13dc1314eca13f00"><code>1d23098</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/paste/issues/102">#102</a>
      from dtolnay/checkcfg</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/1edfaae644d0b27e96c26cdc4d51e9fe3f51c12d"><code>1edfaae</code></a>
      Resolve unexpected_cfgs warning</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/cc6803dd049b9943c1e49b2220ff37a94711577c"><code>cc6803d</code></a>
      Explicitly install a Rust toolchain for cargo-outdated job</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/d39fb86d2d588bf63572886db340bc16c6cc6904"><code>d39fb86</code></a>
      Ignore dead code lint in tests</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/14872adf2b72140902ed6425a90517333ccc1a44"><code>14872ad</code></a>
      Work around empty_docs clippy lint in test</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/ed844dc6fe755bcee881bd93cdff5a77038aa49b"><code>ed844dc</code></a>
      Work around dead_code warning in test</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/0a4161b1318e01845cb32790b3bdadd618608361"><code>0a4161b</code></a>
      Add cargo.toml metadata to link to crate documentation</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/5a2bce19a1f100bf62824c9e3ff03879c916cdce"><code>5a2bce1</code></a>
      Test docs.rs documentation build in CI</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/d7e0be15a74c99b303e9993365f41f3440551b8f"><code>d7e0be1</code></a>
      Update actions/checkout@v3 -&gt; v4</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/paste/compare/1.0.14...1.0.15">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `quote` from 1.0.35 to 1.0.36
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/quote/releases">quote's
      releases</a>.</em></p>
      <blockquote>
      <h2>1.0.36</h2>
      <ul>
      <li>Documentation improvements</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/quote/commit/5d4880c4255b5c7f5ea0a9ac3cf9f985c418a1e7"><code>5d4880c</code></a>
      Release 1.0.36</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/1dd7ce794ff69a922f6b0e1b5d3a4929e1218258"><code>1dd7ce7</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/quote/issues/273">#273</a>
      from dtolnay/doc</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/0bc5d12f9be1bd39314b925aa786663e18f9a489"><code>0bc5d12</code></a>
      Apply doc comment to cfg(not(doc)) macros too</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/c295f5cca24108693724d8fb6f35da1faa81b78b"><code>c295f5c</code></a>
      Revert &quot;Temporarily disable miri on doctests&quot;</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/435bd1b917e98413310c5260787fbcee3c3d01ca"><code>435bd1b</code></a>
      Update ui test suite to nightly-2024-03-31</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/cc3847d3469a8e82a587fbf1608adc04b56c581a"><code>cc3847d</code></a>
      Explicitly install a Rust toolchain for cargo-outdated job</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/6259d49d0d35030c3dea792e85f23af52bb7994d"><code>6259d49</code></a>
      Temporarily disable miri on doctests</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/bdb4b594076d78127b99a3da768e369499e324de"><code>bdb4b59</code></a>
      Update ui test suite to nightly-2024-02-08</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/c2aeca9c00b12b6f87e2e7cb545c160e6b4aa18f"><code>c2aeca9</code></a>
      Update ui test suite to nightly-2024-01-31</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/376a0611f3acf91a424aae58104b587530361900"><code>376a061</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/quote/issues/270">#270</a>
      from dtolnay/bench</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/quote/compare/1.0.35...1.0.36">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde` from 1.0.197 to 1.0.204
      <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.204</h2>
      <ul>
      <li>Apply #[diagnostic::on_unimplemented] attribute on Rust 1.78+ to
      suggest adding serde derive or enabling a &quot;serde&quot; feature flag
      in dependencies (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>,
      thanks <a
      href="https://github.com/weiznich"><code>@​weiznich</code></a>)</li>
      </ul>
      <h2>v1.0.203</h2>
      <ul>
      <li>Documentation improvements (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2747">#2747</a>)</li>
      </ul>
      <h2>v1.0.202</h2>
      <ul>
      <li>Provide public access to RenameAllRules in serde_derive_internals
      (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2743">#2743</a>)</li>
      </ul>
      <h2>v1.0.201</h2>
      <ul>
      <li>Resolve unexpected_cfgs warning (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2737">#2737</a>)</li>
      </ul>
      <h2>v1.0.200</h2>
      <ul>
      <li>Fix formatting of &quot;invalid type&quot; and &quot;invalid
      value&quot; deserialization error messages containing NaN or infinite
      floats (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2733">#2733</a>,
      thanks <a
      href="https://github.com/jamessan"><code>@​jamessan</code></a>)</li>
      </ul>
      <h2>v1.0.199</h2>
      <ul>
      <li>Fix ambiguous associated item when
      <code>forward_to_deserialize_any!</code> is used on an enum with
      <code>Error</code> variant (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2732">#2732</a>,
      thanks <a
      href="https://github.com/aatifsyed"><code>@​aatifsyed</code></a>)</li>
      </ul>
      <h2>v1.0.198</h2>
      <ul>
      <li>Support serializing and deserializing
      <code>Saturating&lt;T&gt;</code> (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2709">#2709</a>,
      thanks <a
      href="https://github.com/jbethune"><code>@​jbethune</code></a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/18dcae0a77632fb4767a420c550cb41991f750b8"><code>18dcae0</code></a>
      Release 1.0.204</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/58c307f9cc28a19d73a0e2869f6addf9a8a329f9"><code>58c307f</code></a>
      Alphabetize list of rustc-check-cfg</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/8cc4809414a83de0d41eac38ecfa1040e088b61e"><code>8cc4809</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2769">#2769</a>
      from dtolnay/onunimpl</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/1179158defc5351467cbd2c340b7e1498391bce4"><code>1179158</code></a>
      Update ui test with diagnostic::on_unimplemented from PR 2767</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/91aa40e749620f31bf7db01c772e672f023136b5"><code>91aa40e</code></a>
      Add ui test of unsatisfied serde trait bound</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/595019e979ebed5452b550bf901abcab2cf4e945"><code>595019e</code></a>
      Cut test_suite from workspace members in old toolchain CI jobs</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b0d7917f88978eda264f8fbac13b46ece35f5348"><code>b0d7917</code></a>
      Pull in trybuild 'following types implement trait' fix</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/8e6637a1e44c30dffd37322a7107d434cd751722"><code>8e6637a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>
      from weiznich/feature/diagnostic_on_unimplemented</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/694fe0595358aa0857120a99041d99975b1a8a70"><code>694fe05</code></a>
      Use the <code>#[diagnostic::on_unimplemented]</code> attribute when
      possible</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/f3dfd2a2375d9caf15a18ec657dde51a32caf6ed"><code>f3dfd2a</code></a>
      Suppress dead code warning in test of unit struct remote derive</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.197...v1.0.204">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_derive` from 1.0.197 to 1.0.204
      <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.204</h2>
      <ul>
      <li>Apply #[diagnostic::on_unimplemented] attribute on Rust 1.78+ to
      suggest adding serde derive or enabling a &quot;serde&quot; feature flag
      in dependencies (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>,
      thanks <a
      href="https://github.com/weiznich"><code>@​weiznich</code></a>)</li>
      </ul>
      <h2>v1.0.203</h2>
      <ul>
      <li>Documentation improvements (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2747">#2747</a>)</li>
      </ul>
      <h2>v1.0.202</h2>
      <ul>
      <li>Provide public access to RenameAllRules in serde_derive_internals
      (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2743">#2743</a>)</li>
      </ul>
      <h2>v1.0.201</h2>
      <ul>
      <li>Resolve unexpected_cfgs warning (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2737">#2737</a>)</li>
      </ul>
      <h2>v1.0.200</h2>
      <ul>
      <li>Fix formatting of &quot;invalid type&quot; and &quot;invalid
      value&quot; deserialization error messages containing NaN or infinite
      floats (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2733">#2733</a>,
      thanks <a
      href="https://github.com/jamessan"><code>@​jamessan</code></a>)</li>
      </ul>
      <h2>v1.0.199</h2>
      <ul>
      <li>Fix ambiguous associated item when
      <code>forward_to_deserialize_any!</code> is used on an enum with
      <code>Error</code> variant (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2732">#2732</a>,
      thanks <a
      href="https://github.com/aatifsyed"><code>@​aatifsyed</code></a>)</li>
      </ul>
      <h2>v1.0.198</h2>
      <ul>
      <li>Support serializing and deserializing
      <code>Saturating&lt;T&gt;</code> (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2709">#2709</a>,
      thanks <a
      href="https://github.com/jbethune"><code>@​jbethune</code></a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/18dcae0a77632fb4767a420c550cb41991f750b8"><code>18dcae0</code></a>
      Release 1.0.204</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/58c307f9cc28a19d73a0e2869f6addf9a8a329f9"><code>58c307f</code></a>
      Alphabetize list of rustc-check-cfg</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/8cc4809414a83de0d41eac38ecfa1040e088b61e"><code>8cc4809</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2769">#2769</a>
      from dtolnay/onunimpl</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/1179158defc5351467cbd2c340b7e1498391bce4"><code>1179158</code></a>
      Update ui test with diagnostic::on_unimplemented from PR 2767</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/91aa40e749620f31bf7db01c772e672f023136b5"><code>91aa40e</code></a>
      Add ui test of unsatisfied serde trait bound</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/595019e979ebed5452b550bf901abcab2cf4e945"><code>595019e</code></a>
      Cut test_suite from workspace members in old toolchain CI jobs</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b0d7917f88978eda264f8fbac13b46ece35f5348"><code>b0d7917</code></a>
      Pull in trybuild 'following types implement trait' fix</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/8e6637a1e44c30dffd37322a7107d434cd751722"><code>8e6637a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>
      from weiznich/feature/diagnostic_on_unimplemented</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/694fe0595358aa0857120a99041d99975b1a8a70"><code>694fe05</code></a>
      Use the <code>#[diagnostic::on_unimplemented]</code> attribute when
      possible</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/f3dfd2a2375d9caf15a18ec657dde51a32caf6ed"><code>f3dfd2a</code></a>
      Suppress dead code warning in test of unit struct remote derive</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.197...v1.0.204">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_json` from 1.0.114 to 1.0.120
      <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.120</h2>
      <ul>
      <li>Correctly specify required version of <code>indexmap</code>
      dependency (<a
      href="https://redirect.github.com/serde-rs/json/issues/1152">#1152</a>,
      thanks <a
      href="https://github.com/cforycki"><code>@​cforycki</code></a>)</li>
      </ul>
      <h2>v1.0.119</h2>
      <ul>
      <li>Add <code>serde_json::Map::shift_insert</code> (<a
      href="https://redirect.github.com/serde-rs/json/issues/1149">#1149</a>,
      thanks <a
      href="https://github.com/joshka"><code>@​joshka</code></a>)</li>
      </ul>
      <h2>v1.0.118</h2>
      <ul>
      <li>Implement Hash for serde_json::Value (<a
      href="https://redirect.github.com/serde-rs/json/issues/1127">#1127</a>,
      thanks <a
      href="https://github.com/edwardycl"><code>@​edwardycl</code></a>)</li>
      </ul>
      <h2>v1.0.117</h2>
      <ul>
      <li>Resolve unexpected_cfgs warning (<a
      href="https://redirect.github.com/serde-rs/json/issues/1130">#1130</a>)</li>
      </ul>
      <h2>v1.0.116</h2>
      <ul>
      <li>Make module structure comprehensible to static analysis (<a
      href="https://redirect.github.com/serde-rs/json/issues/1124">#1124</a>,
      thanks <a
      href="https://github.com/mleonhard"><code>@​mleonhard</code></a>)</li>
      </ul>
      <h2>v1.0.115</h2>
      <ul>
      <li>Documentation improvements</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/json/commit/bcedc3d96bcc33184f16d63eab397295e2193350"><code>bcedc3d</code></a>
      Release 1.0.120</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/962c0fbbecc7dc8559cfeb019c2611737512f937"><code>962c0fb</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1152">#1152</a>
      from cforycki/fix/index-map-minimal-version</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/3480feda7b572d33992544061a8e0fbf8610a803"><code>3480fed</code></a>
      fix: indexmap minimal version with Map::shift_insert()</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/b48b9a3a0c09952579e98c8940fe0d1ee4aae588"><code>b48b9a3</code></a>
      Release 1.0.119</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/8878cd7c042a5f94ae4ee9889cbcbd12cc5ce334"><code>8878cd7</code></a>
      Make shift_insert available for inlining like other Map methods</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/352b7abf007cf3b9b063b01e0b1e8f6af62a4e39"><code>352b7ab</code></a>
      Document the cfg required for Map::shift_insert to exist</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/c17e63f6eff6cb40594beb1bddd4562c4cc81442"><code>c17e63f</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1149">#1149</a>
      from joshka/master</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/309ef6b8870e47622a283061cbda3f5514bfaf0d"><code>309ef6b</code></a>
      Add Map::shift_insert()</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/a9e089a2ce245bc223b56fbb6c525e2fe7b1f0ef"><code>a9e089a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1146">#1146</a>
      from haouvw/master</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/a83fe96ae2a202925f1caa7abc51991f321d7c22"><code>a83fe96</code></a>
      chore: remove repeat words</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/json/compare/v1.0.114...v1.0.120">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_yaml` from 0.9.33 to 0.9.34+deprecated
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/serde-yaml/releases">serde_yaml's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.9.34</h2>
      <p>As of this release, I am not planning to publish further versions of
      <code>serde_yaml</code> as none of my projects have been using YAML for
      a long time, so I have archived the GitHub repo and marked the crate
      deprecated in the version number. An official replacement isn't
      designated for those who still need to work with YAML, but <a
      href="https://crates.io/search?q=yaml&amp;sort=relevance">https://crates.io/search?q=yaml&amp;sort=relevance</a>
      and <a
      href="https://crates.io/keywords/yaml">https://crates.io/keywords/yaml</a>
      has a number of reasonable-looking options available.</p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/serde-yaml/commit/2009506d33767dfc88e979d6bc0d53d09f941c94"><code>2009506</code></a>
      Release 0.9.34</li>
      <li><a
      href="https://github.com/dtolnay/serde-yaml/commit/3ba8462f7d3b603d832e0daeb6cfc7168a673d7a"><code>3ba8462</code></a>
      Add unmaintained note</li>
      <li><a
      href="https://github.com/dtolnay/serde-yaml/commit/77236b0d50f6fb670fefe8146aba02f1eab211f3"><code>77236b0</code></a>
      Ignore dead code lint in tests</li>
      <li>See full diff in <a
      href="https://github.com/dtolnay/serde-yaml/compare/0.9.33...0.9.34">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>
    • Jun Jiang's avatar
      upgrade `wasm-bindgen` to 0.2.92 (#5056) · 25d9b59e
      Jun Jiang authored
      The rustc warns
      
      ```
      The package `wasm-bindgen v0.2.87` currently triggers the following future incompatibility lints:
      > warning: older versions of the `wasm-bindgen` crate will be incompatible with future versions of Rust; please update to `wasm-bindgen` v0.2.88
      >   |
      >   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
      >   = note: for more information, see issue #71871 <https://github.com/rust-lang/rust/issues/71871>
      >
      ```
  7. Jul 17, 2024
    • Alexandru Vasile's avatar
      fix: Update libp2p-websocket to v0.42.2 to fix panics (#5040) · b862b181
      Alexandru Vasile authored
      
      This release includes: https://github.com/libp2p/rust-libp2p/pull/5482
      
      Which fixes substrate node crashing with libp2p trace:
      
      ```
       0: sp_panic_handler::set::{{closure}}
         1: std::panicking::rust_panic_with_hook
         2: std::panicking::begin_panic::{{closure}}
         3: std::sys_common::backtrace::__rust_end_short_backtrace
         4: std::panicking::begin_panic
         5: <quicksink::SinkImpl<S,F,T,A,E> as futures_sink::Sink<A>>::poll_ready
         6: <rw_stream_sink::RwStreamSink<S> as futures_io::if_std::AsyncWrite>::poll_write
         7: <libp2p_noise::io::framed::NoiseFramed<T,S> as futures_sink::Sink<&alloc::vec::Vec<u8>>>::poll_ready
         8: <libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write
         9: <yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready
        10: yamux::connection::Connection<T>::poll_next_inbound
        11: <libp2p_yamux::Muxer<C> as libp2p_core::muxing::StreamMuxer>::poll
        12: <libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll
        13: <libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll
        14: libp2p_swarm::connection::pool::task::new_for_established_connection::{{closure}}
        15: <sc_service::task_manager::prometheus_future::PrometheusFuture<T> as core::future::future::Future>::poll
        16: <futures_util::future::select::Select<A,B> as core::future::future::Future>::poll
        17: <tracing_futures::Instrumented<T> as core::future::future::Future>::poll
        18: std::panicking::try
        19: tokio::runtime::task::harness::Harness<T,S>::poll
        20: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
        21: tokio::runtime::scheduler::multi_thread::worker::Context::run
        22: tokio::runtime::context::set_scheduler
        23: tokio::runtime::context::runtime::enter_runtime
        24: tokio::runtime::scheduler::multi_thread::worker::run
        25: tokio::runtime::task::core::Core<T,S>::poll
        26: tokio::runtime::task::harness::Harness<T,S>::poll
        27: std::sys_common::backtrace::__rust_begin_short_backtrace
        28: core::ops::function::FnOnce::call_once{{vtable.shim}}
        29: std::sys::pal::unix::thread::Thread::new::thread_start
        30: <unknown>
        31: <unknown>
      
      
      Thread 'tokio-runtime-worker' panicked at 'SinkImpl::poll_ready called after error.', /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/quicksink-0.1.2/src/lib.rs:158
      ```
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/4934
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
    • Sebastian Kunert's avatar
      Do not crash on block gap in `displaced_leaves_after_finalizing` (#4997) · 1b6292bf
      Sebastian Kunert authored
      
      After the merge of #4922 we saw failing zombienet tests with the
      following error:
      ```
      2024-07-09 10:30:09 Error applying finality to block (0xb9e1d3d9cb2047fe61667e28a0963e0634a7b29781895bc9ca40c898027b4c09, 56685): UnknownBlock: Header was not found in the database: 0x0000000000000000000000000000000000000000000000000000000000000000    
      2024-07-09 10:30:09 GRANDPA voter error: could not complete a round on disk: UnknownBlock: Header was not found in the database: 0x0000000000000000000000000000000000000000000000000000000000000000    
      ```
      
      [Example](https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6662262)
      
      The crashing situation is warp-sync related. After warp syncing, it can
      happen that there are gaps in block ancestry where we don't have the
      header. At the same time, the genesis hash is in the set of leaves. In
      `displaced_leaves_after_finalizing` we then iterate from the finalized
      block backwards until we hit an unknown block, crashing the node.
      
      This PR makes the detection of displaced branches resilient against
      unknown block in the finalized block chain.
      
      cc @nazar-pc (github won't let me request a review from you)
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: command-bot <>
    • Alin Dima's avatar
      add elastic scaling MVP guide (#4663) · 0db50926
      Alin Dima authored
      Resolves https://github.com/paritytech/polkadot-sdk/issues/4468
      
      Gives instructions on how to enable elastic scaling MVP to parachain
      teams.
      
      Still a draft because it depends on further changes we make to the
      slot-based collator:
      https://github.com/paritytech/polkadot-sdk/pull/4097
      
      Parachains cannot use this yet because the collator was not released and
      no relay chain network has been configured for elastic scaling yet
  8. Jul 16, 2024
    • Andrei Eres's avatar
      Send PeerViewChange with high priority (#4755) · 975e04bb
      Andrei Eres authored
      Closes https://github.com/paritytech/polkadot-sdk/issues/577
      
      ### Changed
      - `orchestra` updated to 0.4.0
      - `PeerViewChange` sent with high priority and should be processed first
      in a queue.
      - To count them in tests added tracker to TestSender and TestOverseer.
      It acts more like a smoke test though.
      
      ### Testing on Versi
      
      The changes were tested on Versi with two objectives:
      1. Make sure the node functionality does not change.
      2. See how the changes affect performance.
      
      Test setup:
      - 2.5 hours for each case
      - 100 validators
      - 50 parachains
      - validatorsPerCore = 2
      - neededApprovals = 100
      - nDelayTranches = 89
      - relayVrfModuloSamples = 50
      
      During the test period, all nodes ran without any crashes, which
      satisfies the first objective.
      
      To estimate the change in performance we used ToF charts. The graphs
      show that there are no spikes in the top as before. This proves that our
      hypothesis is correct.
      
      ### Normalized charts with ToF
      
      ![image](https://github.com/user-attachments/assets/0d49d0db-8302-4a8c-a557-501856805ff5)
      [Before](https://grafana.teleport.parity.io/goto/ZoR53ClSg?orgId=1)
      
      
      ![image](https://github.com/user-attachments/assets/9cc73784-7e45-49d9-8212-152373c05880)
      [After](https://grafana.teleport.parity.io/goto/6ux5qC_IR?orgId=1)
      
      ### Conclusion
      
      The prioritization of subsystem messages reduces the ToF of the
      networking subsystem, which helps faster propagation of gossip messages.
  9. Jul 15, 2024
    • Jun Jiang's avatar
      Remove most all usage of `sp-std` (#5010) · 7ecf3f75
      Jun Jiang authored
      
      This should remove nearly all usage of `sp-std` except:
      - bridge and bridge-hubs
      - a few of frames re-export `sp-std`, keep them for now
      - there is a usage of `sp_std::Writer`, I don't have an idea how to move
      it
      
      Please review proc-macro carefully. I'm not sure I'm doing it the right
      way.
      
      Note: need `/bot fmt`
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: command-bot <>
  10. Jul 12, 2024
    • Branislav Kontur's avatar
      Bridges V2 refactoring backport and `pallet_bridge_messages` simplifications (#4935) · 1f8e4483
      Branislav Kontur authored
      ## Summary
      
      This PR contains migrated code from the Bridges V2
      [branch](https://github.com/paritytech/polkadot-sdk/pull/4427) from the
      old `parity-bridges-common`
      [repo](https://github.com/paritytech/parity-bridges-common/tree/bridges-v2).
      Even though the PR looks large, it does not (or should not) contain any
      significant changes (also not relevant for audit).
      This PR is a requirement for permissionless lanes, as they were
      implemented on top of these changes.
      
      ## TODO
      
      - [x] generate fresh weights for BridgeHubs
      - [x] run `polkadot-fellows` bridges zombienet tests with actual runtime
      1.2.5. or 1.2.6 to check compatibility
      - :ballot_box_with_check: working, checked with 1.2.8 fellows BridgeHubs
      - [x] run `polkadot-sdk` bridges zombienet tests
        - :ballot_box_with_check:
      
       with old relayer in CI (1.6.5) 
      - [x] run `polkadot-sdk` bridges zombienet tests (locally) - with the
      relayer based on this branch -
      https://github.com/paritytech/parity-bridges-common/pull/3022
      - [x] check/fix relayer companion in bridges repo -
      https://github.com/paritytech/parity-bridges-common/pull/3022
      - [x] extract pruning stuff to separate PR
      https://github.com/paritytech/polkadot-sdk/pull/4944
      
      Relates to:
      https://github.com/paritytech/parity-bridges-common/issues/2976
      Relates to:
      https://github.com/paritytech/parity-bridges-common/issues/2451
      
      ---------
      
      Signed-off-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: default avatarSerban Iorga <serban@parity.io>
      Co-authored-by: default avatarSvyatoslav Nikolsky <svyatonik@gmail.com>
      Co-authored-by: command-bot <>
    • Bastian Köcher's avatar
      xcm-executor: Improve logging (#4996) · 2a555c33
      Bastian Köcher authored
      This improves logging in the xcm-executor to have better debugability
      when executing a XCM message.
  11. Jul 11, 2024
  12. Jul 10, 2024
  13. Jul 08, 2024
  14. Jul 06, 2024
    • Sam Johnson's avatar
      upgrade to macro_magic 0.5.1 (#4945) · 706d2f3e
      Sam Johnson authored
      Release notes here:
      https://github.com/sam0x17/macro_magic/releases/tag/v0.5.1
      
      Some performance improvements + upgrades to `derive-syn-parse` 2.0 which
      means polkadot-sdk now fully upgrades this crate within the workspace
  15. Jul 05, 2024
    • Nazar Mokrynskyi's avatar
      Optimize finalization performance (#4922) · 221eddc9
      Nazar Mokrynskyi authored
      This PR largely fixes
      https://github.com/paritytech/polkadot-sdk/issues/4903 by addressing it
      from a few different directions.
      
      The high-level observation is that complexity of finalization was
      unfortunately roughly `O(n^3)`. Not only
      `displaced_leaves_after_finalizing` was extremely inefficient on its
      own, especially when large ranges of blocks were involved, it was called
      once upfront and then on every single block that was finalized over and
      over again.
      
      The first commit refactores code adjacent to
      `displaced_leaves_after_finalizing` to optimize memory allocations. For
      example things like `BTreeMap<_, Vec<_>>` were very bad in terms of
      number of allocations and after analyzing code paths was completely
      unnecessary and replaced with `Vec<(_, _)>`. In other places allocations
      of known size were not done upfront and some APIs required unnecessary
      cloning of vectors.
      
      I checked invariants and didn't find anything that was violated after
      refactoring.
      
      Second commit completely replaces `displaced_leaves_after_finalizing`
      implementation with a much more efficient one. In my case with ~82k
      blocks and ~13k leaves it takes ~5.4s to finish
      `client.apply_finality()` now.
      
      The idea is to avoid querying the same blocks over and over again as
      well as introducing temporary local cache for blocks related to leaves
      above block that is being finalized as well as local cache of the
      finalized branch of the chain. I left some comments in the code and
      wrote tests that I belive should check all code invariants for
      correctness. `lowest_common_ancestor_multiblock` was removed as
      unnecessary and not great in terms of performance API, domain-specific
      code should be written instead like done in
      `displaced_leaves_after_finalizing`.
      
      After these changes I noticed finalization is still horribly slow,
      turned out that even though `displaced_leaves_after_finalizing` was way
      faster that before (probably order of magnitude), it was called for
      every single of those 82k blocks :face_palm:
      
      
      
      The quick hack I came up with in the third commit to handle this edge
      case was to not call it when finalizing multiple blocks at once until
      the very last moment. It works and allows to finish the whole
      finalization in just 14 seconds (5.4+5.4 of which are two calls to
      `displaced_leaves_after_finalizing`). I'm really not happy with the fact
      that `displaced_leaves_after_finalizing` is called twice, but much
      heavier refactoring would be necessary to get rid of second call.
      
      ---
      
      Next steps:
      * assuming the changes are acceptable I'll write prdoc
      * https://github.com/paritytech/polkadot-sdk/pull/4920 or something
      similar in spirit should be implemented to unleash efficient parallelsm
      with rayon in `displaced_leaves_after_finalizing`, which will allow to
      further (and significant!) scale its performance rather that being
      CPU-bound on a single core, also reading database sequentially should
      ideally be avoided
      * someone should look into removal of the second
      `displaced_leaves_after_finalizing` call
      * further cleanups are possible if `undo_finalization` can be removed
      
      ---
      
      Polkadot Address: 1vSxzbyz2cJREAuVWjhXUT1ds8vBzoxn2w4asNpusQKwjJd
      
      ---------
      
      Co-authored-by: default avatarSebastian Kunert <skunert49@gmail.com>
    • Sebastian Kunert's avatar
      Introduce basic slot-based collator (#4097) · e44f61af
      Sebastian Kunert authored
      
      Part of #3168 
      On top of #3568
      
      ### Changes Overview
      - Introduces a new collator variant in
      `cumulus/client/consensus/aura/src/collators/slot_based/mod.rs`
      - Two tasks are part of that module, one for block building and one for
      collation building and submission.
      - Introduces a new variant of `cumulus-test-runtime` which has 2s slot
      duration, used for zombienet testing
      - Zombienet tests for the new collator
      
      **Note:** This collator is considered experimental and should only be
      used for testing and exploration for now.
      
      ### Comparison with `lookahead` collator
      - The new variant is slot based, meaning it waits for the next slot of
      the parachain, then starts authoring
      - The search for potential parents remains mostly unchanged from
      lookahead
      - As anchor, we use the current best relay parent
      - In general, the new collator tends to be anchored to one relay parent
      earlier. `lookahead` generally waits for a new relay block to arrive
      before it attempts to build a block. This means the actual timing of
      parachain blocks depends on when the relay block has been authored and
      imported. With the slot-triggered approach we are authoring directly on
      the slot boundary, were a new relay chain block has probably not yet
      arrived.
      
      ### Limitations
      - Overall, the current implementation focuses on the "happy path"
      - We assume that we want to collate close to the tip of the relay chain.
      It would be useful however to have some kind of configurable drift, so
      that we could lag behind a bit.
      https://github.com/paritytech/polkadot-sdk/issues/3965
      - The collation task is pretty dumb currently. It checks if we have
      cores scheduled and if yes, submits all the messages we have received
      from the block builder until we have something submitted for every core.
      Ideally we should do some extra checks, i.e. we do not need to submit if
      the built block is already too old (build on a out of range relay
      parent) or was authored with a relay parent that is not an ancestor of
      the relay block we are submitting at.
      https://github.com/paritytech/polkadot-sdk/issues/3966
      - There is no throttling, we assume that we can submit _velocity_ blocks
      every relay chain block. There should be communication between the
      collator task and block-builder task.
      - The parent search and ConsensusHook are not yet properly adjusted. The
      parent search makes assumptions about the pending candidate which no
      longer hold. https://github.com/paritytech/polkadot-sdk/issues/3967
      - Custom triggers for block building not implemented.
      
      ---------
      
      Co-authored-by: default avatarDavide Galassi <davxy@datawok.net>
      Co-authored-by: default avatarAndrei Sandu <54316454+sandreim@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarJavier Viola <363911+pepoviola@users.noreply.github.com>
      Co-authored-by: command-bot <>
  16. Jul 03, 2024
  17. Jun 28, 2024
  18. Jun 27, 2024