Skip to content
Unverified Commit fe0b4dbd authored by Facundo Farall's avatar Facundo Farall Committed by GitHub
Browse files

feat: 🔀 Merge upstream into wasmtime-precompile PR (#14)



* Bump prost-build from 0.12.4 to 0.13.2 (#6144)

Bumps [prost-build](https://github.com/tokio-rs/prost) from 0.12.4 to
0.13.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md">prost-build's
changelog</a>.</em></p>
<blockquote>
<h1>Prost version 0.13.2</h1>
<p><em>PROST!</em> is a <a
href="https://developers.google.com/protocol-buffers/">Protocol
Buffers</a> implementation for the <a
href="https://www.rust-lang.org/">Rust Language</a>. <code>prost</code>
generates simple, idiomatic Rust code from <code>proto2</code> and
<code>proto3</code> files.</p>
<h2>Features</h2>
<ul>
<li>prost-build: Add protoc executable path to Config (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1126">#1126</a>)</li>
<li>prost-build: Extract file descriptor loading from compile_protos()
(<a
href="https://redirect.github.com/tokio-rs/prost/issues/1067">#1067</a>)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>prost-types: Fix date-time parsing (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1096">#1096</a>)</li>
<li>prost-types: '+' is not a numeric digit (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1104">#1104</a>)</li>
<li>prost-types: Converting DateTime to Timestamp is fallible (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1095">#1095</a>)</li>
<li>prost-types: Parse timestamp with long second fraction (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1106">#1106</a>)</li>
<li>prost-types: Format negative fractional duration (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1110">#1110</a>)</li>
<li>prost-types: Allow unknown local time offset (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1109">#1109</a>)</li>
</ul>
<h2>Styling</h2>
<ul>
<li>Remove use of legacy numeric constants (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1089">#1089</a>)</li>
<li>Move encoding functions into separate modules (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1111">#1111</a>)</li>
<li>Remove needless borrow (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1122">#1122</a>)</li>
</ul>
<h2>Testing</h2>
<ul>
<li>Add tests for public interface of DecodeError (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1120">#1120</a>)</li>
<li>Add <code>parse_date</code> fuzzing target (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1127">#1127</a>)</li>
<li>Fix build without std (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1134">#1134</a>)</li>
<li>Change some proptest to kani proofs (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1133">#1133</a>)</li>
<li>Add <code>parse_duration</code> fuzzing target (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1129">#1129</a>)</li>
<li>fuzz: Fix building of fuzzing targets (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1107">#1107</a>)</li>
<li>fuzz: Add fuzz targets to workspace (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1117">#1117</a>)</li>
</ul>
<h2>Miscellaneous Tasks</h2>
<ul>
<li>Move old protobuf benchmark into prost (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1100">#1100</a>)</li>
<li>Remove allow clippy::derive_partial_eq_without_eq (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1115">#1115</a>)</li>
<li>Run <code>cargo test</code> without <code>all-targets</code> (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1118">#1118</a>)</li>
<li>dependabot: Add github actions (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1121">#1121</a>)</li>
<li>Update to cargo clippy version 1.80 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1128">#1128</a>)</li>
</ul>
<h2>Build</h2>
<ul>
<li>Use <code>proc-macro</code> in Cargo.toml (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1102">#1102</a>)</li>
<li>Ignore missing features in <code>tests</code> crates (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1101">#1101</a>)</li>
<li>Use separated build directory for protobuf (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1103">#1103</a>)</li>
<li>protobuf: Don't install unused test proto (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1116">#1116</a>)</li>
<li>protobuf: Use crate <code>cmake</code> (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1137">#1137</a>)</li>
<li>deps: Update devcontainer to Debian Bookworm release (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1114">#1114</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tokio-rs/prost/commit/57e794203106db483e5115e7e67502ef6f2c7ad8"><code>57e7942</code></a>
chore: Release version 0.13.2 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1139">#1139</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/8424775d78b13239df3cf3fe888236770a0cd839"><code>8424775</code></a>
build(protobuf): Use crate <code>cmake</code> (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1137">#1137</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/21208abf667313866f79d3d1438310c4dc20bdff"><code>21208ab</code></a>
build(deps): bump model-checking/kani-github-action from 0.32 to 1.1 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1125">#1125</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/0c79864443621f20d92f9acc78a6ab0e7821dab0"><code>0c79864</code></a>
tests(fuzz): Add <code>parse_duration</code> fuzzing target (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1129">#1129</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/52046b943fdf6f79461725027245f890c7b4f514"><code>52046b9</code></a>
tests: Change some proptest to kani proofs (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1133">#1133</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/ee59dd5a9fe0935ad50e6ddbea5d23e3c6419468"><code>ee59dd5</code></a>
tests: Fix build without std (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1134">#1134</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/e773f5f6d38f74d0efff876011a2fd0d002aed4c"><code>e773f5f</code></a>
feat(prost-build): Add protoc executable path to Config (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1126">#1126</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/753bd92a85a3aa305d9d96b5c6363dc58d6356e6"><code>753bd92</code></a>
ci(clippy): Update to cargo clippy version 1.80 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1128">#1128</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/df3e58e5d113a0dcf8b6735a5d04cde2d74e5df3"><code>df3e58e</code></a>
tests(fuzz): Add <code>parse_date</code> fuzzing target (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1127">#1127</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/409b93214ed8d98fbb364031ccf330ce4e7caa32"><code>409b932</code></a>
style: Remove needless borrow (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1122">#1122</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/prost/compare/v0.12.4...v0.13.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prost-build&package-manager=cargo&previous-version=0.12.4&new-version=0.13.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: default avatardependabot[bot] <[email protected]>
Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* Bump the ci_dependencies group across 1 directory with 5 updates (#6035)

Bumps the ci_dependencies group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
|
[lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action)
| `1.10.0` | `2.0.1` |
| [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) |
`2.7.3` | `2.7.5` |
|
[docker/setup-buildx-action](https://github.com/docker/setup-buildx-action)
| `3.6.1` | `3.7.1` |
|
[docker/build-push-action](https://github.com/docker/build-push-action)
| `6.8.0` | `6.9.0` |
|
[actions-rust-lang/setup-rust-toolchain](https://github.com/actions-rust-lang/setup-rust-toolchain)
| `1.10.0` | `1.10.1` |


Updates `lycheeverse/lychee-action` from 1.10.0 to 2.0.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/lycheeverse/lychee-action/releases">lycheeverse/lychee-action's
releases</a>.</em></p>
<blockquote>
<h2>Version 2.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Don't remove the lychee config file by <a
href="https://github.com/dmathieu"><code>@​dmathieu</code></a> in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/255">lycheeverse/lychee-action#255</a></li>
<li>Bump lycheeverse/lychee-action from 1 to 2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/252">lycheeverse/lychee-action#252</a></li>
<li>Fix variable name in docs by <a
href="https://github.com/kdeldycke"><code>@​kdeldycke</code></a> in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/253">lycheeverse/lychee-action#253</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/dmathieu"><code>@​dmathieu</code></a>
made their first contribution in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/255">lycheeverse/lychee-action#255</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/lycheeverse/lychee-action/compare/v2...v2.0.1">https://github.com/lycheeverse/lychee-action/compare/v2...v2.0.1</a></p>
<h2>Version 2.0.0</h2>
<h2>Breaking Changes</h2>
<p><strong>Note:</strong> This release improves the action's robustness
by changing default behaviors. Changes are only required if you want to
opt out of the new failure conditions. Most users won't need to modify
their existing configurations.</p>
<h3>Fail pipeline on error by default</h3>
<p>We've changed the default behavior: pipelines will now fail on broken
links automatically. This addresses user feedback that not failing on
broken links was unexpected (see [issue <a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/71">#71</a>](<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/71">lycheeverse/lychee-action#71</a>)).</p>
<p><strong>What you need to do:</strong></p>
<ul>
<li>Update to version 2 of this action to apply this change.</li>
<li>Users of the <code>lychee-action@master</code> branch don't need to
make any changes, as <code>fail: true</code> has been the default there
for a while.</li>
<li>If you prefer the old behavior, explicitly set <code>fail</code> to
<code>false</code> when updating:</li>
</ul>
<pre lang="yaml"><code>- name: Link Checker
  id: lychee
  uses: lycheeverse/lychee-action@v2
  with:
    fail: false  # Don't fail action on broken links
</code></pre>
<h3>Fail pipeline if no links were found</h3>
<p>Similar to the above change, we now fail the pipeline if no links are
found during a run. This helps warn users about potential configuration
issues.</p>
<p><strong>What you need to do:</strong></p>
<ul>
<li>If you expect links to be found in your pipeline run, you don't need
to do anything.</li>
<li>If you expect no links in your pipeline run, you can opt out like
this:</li>
</ul>
<pre lang="yaml"><code>- name: Link Checker
  id: lychee
  uses: lycheeverse/lychee-action@v2
  with:
    failIfEmpty: false  # Don't fail action if no links were found
</code></pre>
<p>For a more detailed description of the technical aspects behind these
changes, please see the full changelog below.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/2bb232618be239862e31382c5c0eaeba12e5e966"><code>2bb2326</code></a>
don't remove the lychee config file (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/255">#255</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/731bf1a2affebd80fab6515ba61d2648a76929a4"><code>731bf1a</code></a>
Fix variable name (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/253">#253</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/e360f3c89142a5391e094404ea45e5494f1317dd"><code>e360f3c</code></a>
Bump lycheeverse/lychee-action from 1 to 2 (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/252">#252</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/f87f0a62993c2647717456af92593666acb3a500"><code>f87f0a6</code></a>
Update version to <code>lycheeverse/lychee-action@v2</code> in docs</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/7da8ec1fc4e01b5a12062ac6c589c10a4ce70d67"><code>7da8ec1</code></a>
Test latest lychee version tag (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/236">#236</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/6cba5a96c25bf6571c0dc0d1521a2ddbae78ea59"><code>6cba5a9</code></a>
Bump version to 0.16.x, respect new tag names (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/249">#249</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/e71a9a10faeb8c75aa21760b2f706f7831adadc7"><code>e71a9a1</code></a>
Split up steps in action (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/248">#248</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/897f08a07f689df1a43076f4374af272f66a6dd1"><code>897f08a</code></a>
action.yml: fix failing CI (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/246">#246</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/22c8e46b8f296cda676f8f92c634c4a87b436779"><code>22c8e46</code></a>
Set exit_code correctly as output (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/245">#245</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/5047c2a4052946424ce139fe111135f6d7c0fe0b"><code>5047c2a</code></a>
README: update actions/cache to v4 (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/243">#243</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/lycheeverse/lychee-action/compare/2b973e86fc7b1f6b36a93795fe2c9c6ae1118621...2bb232618be239862e31382c5c0eaeba12e5e966">compare
view</a></li>
</ul>
</details>
<br />

Updates `Swatinem/rust-cache` from 2.7.3 to 2.7.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/swatinem/rust-cache/releases">Swatinem/rust-cache's
releases</a>.</em></p>
<blockquote>
<h2>v2.7.5</h2>
<h2>What's Changed</h2>
<ul>
<li>Upgrade checkout action from version 3 to 4 by <a
href="https://github.com/carsten-wenderdel"><code>@​carsten-wenderdel</code></a>
in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/190">Swatinem/rust-cache#190</a></li>
<li>fix: usage of <code>deprecated</code> version of <code>node</code>
by <a href="https://github.com/hamirmahal"><code>@​hamirmahal</code></a>
in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/197">Swatinem/rust-cache#197</a></li>
<li>Only run macOsWorkaround() on macOS by <a
href="https://github.com/heksesang"><code>@​heksesang</code></a> in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/206">Swatinem/rust-cache#206</a></li>
<li>Support Cargo.lock format cargo-lock v4 by <a
href="https://github.com/NobodyXu"><code>@​NobodyXu</code></a> in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/211">Swatinem/rust-cache#211</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/carsten-wenderdel"><code>@​carsten-wenderdel</code></a>
made their first contribution in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/190">Swatinem/rust-cache#190</a></li>
<li><a
href="https://github.com/hamirmahal"><code>@​hamirmahal</code></a> made
their first contribution in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/197">Swatinem/rust-cache#197</a></li>
<li><a href="https://github.com/heksesang"><code>@​heksesang</code></a>
made their first contribution in <a
href="https://redirect.github.com/Swatinem/rust-cache/pull/206">Swatinem/rust-cache#206</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Swatinem/rust-cache/compare/v2.7.3...v2.7.5">https://github.com/Swatinem/rust-cache/compare/v2.7.3...v2.7.5</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Swatinem/rust-cache/commit/82a92a6e8fbeee089604da2575dc567ae9ddeaab"><code>82a92a6</code></a>
2.7.5</li>
<li><a
href="https://github.com/Swatinem/rust-cache/commit/598fe25fa107b2fd526fc6471f6e48de7cd12083"><code>598fe25</code></a>
update dependencies, rebuild</li>
<li><a
href="https://github.com/Swatinem/rust-cache/commit/8f842c2d455cfe3d0d5a4b28f53f5389b51b71bf"><code>8f842c2</code></a>
Support Cargo.lock format cargo-lock v4 (<a
href="https://redirect.github.com/swatinem/rust-cache/issues/211">#211</a>)</li>
<li><a
href="https://github.com/Swatinem/rust-cache/commit/96a8d65dbafbc7d145a9b2b6c3b12ee335738cd2"><code>96a8d65</code></a>
Only run macOsWorkaround() on macOS (<a
href="https://redirect.github.com/swatinem/rust-cache/issues/206">#206</a>)</li>
<li><a
href="https://github.com/Swatinem/rust-cache/commit/9bdad043e88c75890e36ad3bbc8d27f0090dd609"><code>9bdad04</code></a>
fix: usage of <code>deprecated</code> version of <code>node</code> (<a
href="https://redirect.github.com/swatinem/rust-cache/issues/197">#197</a>)</li>
<li><a
href="https://github.com/Swatinem/rust-cache/commit/f7a52f691454d93c6ce0dff6666a5cb399b8d06e"><code>f7a52f6</code></a>
&quot;add jsonpath test&quot;</li>
<li><a
href="https://github.com/Swatinem/rust-cache/commit/2bceda39122b2cc71e6e26ad729b92b44d101f4b"><code>2bceda3</code></a>
&quot;update dependencies&quot;</li>
<li><a
href="https://github.com/Swatinem/rust-cache/commit/640a22190e7a783d4c409684cea558f081f92012"><code>640a221</code></a>
Upgrade checkout action from version 3 to 4 (<a
href="https://redirect.github.com/swatinem/rust-cache/issues/190">#190</a>)</li>
<li><a
href="https://github.com/Swatinem/rust-cache/commit/158274163087d4d4d49dfcc6a39806493e413240"><code>1582741</code></a>
update dependencies</li>
<li>See full diff in <a
href="https://github.com/swatinem/rust-cache/compare/23bce251a8cd2ffc3c1075eaa2367cf899916d84...82a92a6e8fbeee089604da2575dc567ae9ddeaab">compare
view</a></li>
</ul>
</details>
<br />

Updates `docker/setup-buildx-action` from 3.6.1 to 3.7.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/setup-buildx-action/releases">docker/setup-buildx-action's
releases</a>.</em></p>
<blockquote>
<h2>v3.7.1</h2>
<ul>
<li>Switch back to <code>uuid</code> package by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/setup-buildx-action/pull/369">docker/setup-buildx-action#369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/setup-buildx-action/compare/v3.7.0...v3.7.1">https://github.com/docker/setup-buildx-action/compare/v3.7.0...v3.7.1</a></p>
<h2>v3.7.0</h2>
<ul>
<li>Always set <code>buildkitd-flags</code> if opt-in by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/setup-buildx-action/pull/363">docker/setup-buildx-action#363</a></li>
<li>Remove <code>uuid</code> package and switch to <code>crypto</code>
by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a>
in <a
href="https://redirect.github.com/docker/setup-buildx-action/pull/366">docker/setup-buildx-action#366</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.35.0 to 0.39.0 in
<a
href="https://redirect.github.com/docker/setup-buildx-action/pull/362">docker/setup-buildx-action#362</a></li>
<li>Bump path-to-regexp from 6.2.2 to 6.3.0 in <a
href="https://redirect.github.com/docker/setup-buildx-action/pull/354">docker/setup-buildx-action#354</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/setup-buildx-action/compare/v3.6.1...v3.7.0">https://github.com/docker/setup-buildx-action/compare/v3.6.1...v3.7.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/docker/setup-buildx-action/commit/c47758b77c9736f4b2ef4073d4d51994fabfe349"><code>c47758b</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-buildx-action/issues/369">#369</a>
from crazy-max/revert-crypto</li>
<li><a
href="https://github.com/docker/setup-buildx-action/commit/8fea3825134d99989287350b6429e3e86fa5d320"><code>8fea382</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/setup-buildx-action/commit/2874e980e877332a8fe575054d8c083109b8fede"><code>2874e98</code></a>
switch back to uuid package</li>
<li><a
href="https://github.com/docker/setup-buildx-action/commit/8026d2bc3645ea78b0d2544766a1225eb5691f89"><code>8026d2b</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-buildx-action/issues/362">#362</a>
from docker/dependabot/npm_and_yarn/docker/actions-to...</li>
<li><a
href="https://github.com/docker/setup-buildx-action/commit/e51aab53e9e6264bc11f62da6fbc352686b2147f"><code>e51aab5</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/setup-buildx-action/commit/fd7390e14dc77aa9df3fbc8a021cf91ac9fe7aa5"><code>fd7390e</code></a>
build(deps): bump <code>@​docker/actions-toolkit</code> from 0.35.0 to
0.39.0</li>
<li><a
href="https://github.com/docker/setup-buildx-action/commit/910a3040053b5bd9636a487f0054cfe150829ae7"><code>910a304</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-buildx-action/issues/366">#366</a>
from crazy-max/remove-uuid</li>
<li><a
href="https://github.com/docker/setup-buildx-action/commit/3623ee443e01d4daf9e9107d28e162a058c52ca8"><code>3623ee4</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/setup-buildx-action/commit/e0e5ecf670bf33d756abc55962778de1286f70e1"><code>e0e5ecf</code></a>
remove uuid package and switch to crypto</li>
<li><a
href="https://github.com/docker/setup-buildx-action/commit/5334dd0cdd27e0ac92d6c98d35f3398fcc13195f"><code>5334dd0</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-buildx-action/issues/363">#363</a>
from crazy-max/set-buildkitd-flags-optin</li>
<li>Additional commits viewable in <a
href="https://github.com/docker/setup-buildx-action/compare/988b5a0280414f521da01fcc63a27aeeb4b104db...c47758b77c9736f4b2ef4073d4d51994fabfe349">compare
view</a></li>
</ul>
</details>
<br />

Updates `docker/build-push-action` from 6.8.0 to 6.9.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/build-push-action/releases">docker/build-push-action's
releases</a>.</em></p>
<blockquote>
<h2>v6.9.0</h2>
<ul>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.38.0 to 0.39.0 in
<a
href="https://redirect.github.com/docker/build-push-action/pull/1234">docker/build-push-action#1234</a></li>
<li>Bump path-to-regexp from 6.2.2 to 6.3.0 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1232">docker/build-push-action#1232</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v6.8.0...v6.9.0">https://github.com/docker/build-push-action/compare/v6.8.0...v6.9.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/docker/build-push-action/commit/4f58ea79222b3b9dc2c8bbdd6debcef730109a75"><code>4f58ea7</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1234">#1234</a>
from docker/dependabot/npm_and_yarn/docker/actions-t...</li>
<li><a
href="https://github.com/docker/build-push-action/commit/49b5ea61c60477d214908bb6e23ce05c074ef04e"><code>49b5ea6</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/build-push-action/commit/13c9fddd72db0ce3cd9d87eb53e0480d2a32a77b"><code>13c9fdd</code></a>
chore(deps): Bump <code>@​docker/actions-toolkit</code> from 0.38.0 to
0.39.0</li>
<li><a
href="https://github.com/docker/build-push-action/commit/e44afff3590e1d4f93b6adc72376512edb012a7c"><code>e44afff</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1232">#1232</a>
from docker/dependabot/npm_and_yarn/path-to-regexp-6...</li>
<li><a
href="https://github.com/docker/build-push-action/commit/67ebad331f4ca45e39184b280dbacb11eb3beae0"><code>67ebad3</code></a>
chore(deps): Bump path-to-regexp from 6.2.2 to 6.3.0</li>
<li>See full diff in <a
href="https://github.com/docker/build-push-action/compare/32945a339266b759abcbdc89316275140b0fc960...4f58ea79222b3b9dc2c8bbdd6debcef730109a75">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions-rust-lang/setup-rust-toolchain` from 1.10.0 to 1.10.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions-rust-lang/setup-rust-toolchain/releases">actions-rust-lang/setup-rust-toolchain's
releases</a>.</em></p>
<blockquote>
<h2>v1.10.1</h2>
<ul>
<li>Fix problem matcher for rustfmt output.
The format has changed since <a
href="https://redirect.github.com/rust-lang/rustfmt/pull/5971">rust-lang/rustfmt#5971</a>
and now follows the form &quot;filename:line&quot;.
Thanks to <a
href="https://github.com/0xcypher02"><code>@​0xcypher02</code></a> for
pointing out the problem.</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions-rust-lang/setup-rust-toolchain/compare/v1...v1.10.1">https://github.com/actions-rust-lang/setup-rust-toolchain/compare/v1...v1.10.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions-rust-lang/setup-rust-toolchain/blob/main/CHANGELOG.md">actions-rust-lang/setup-rust-toolchain's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>The format is based on <a
href="https://keepachangelog.com/en/1.0.0/">Keep a Changelog</a>,
and this project adheres to <a
href="https://semver.org/spec/v2.0.0.html">Semantic Versioning</a>.</p>
<h2>[Unreleased]</h2>
<h2>[1.10.1] - 2024-10-01</h2>
<ul>
<li>Fix problem matcher for rustfmt output.
The format has changed since <a
href="https://redirect.github.com/rust-lang/rustfmt/pull/5971">rust-lang/rustfmt#5971</a>
and now follows the form &quot;filename:line&quot;.
Thanks to <a
href="https://github.com/0xcypher02"><code>@​0xcypher02</code></a> for
pointing out the problem.</li>
</ul>
<h2>[1.10.0] - 2024-09-23</h2>
<ul>
<li>Add new parameter <code>cache-directories</code> that is propagated
to <code>Swatinem/rust-cache</code> (<a
href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/44">#44</a>
by <a
href="https://github.com/pranc1ngpegasus"><code>@​pranc1ngpegasus</code></a>)</li>
<li>Add new parameter <code>cache-key</code> that is propagated to
<code>Swatinem/rust-cache</code> as <code>key</code> (<a
href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/41">#41</a>
by <a
href="https://github.com/iainlane"><code>@​iainlane</code></a>)</li>
<li>Make rustup toolchain installation more robust in light of planned
changes <a
href="https://redirect.github.com/rust-lang/rustup/issues/3635">rust-lang/rustup#3635</a>
and <a
href="https://redirect.github.com/rust-lang/rustup/pull/3985">rust-lang/rustup#3985</a></li>
<li>Allow installing multiple Rust toolchains by specifying multiple
versions in the <code>toolchain</code> input parameter.</li>
<li>Configure the <code>rustup override</code> behavior via the new
<code>override</code> input. (<a
href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/38">#38</a>)</li>
</ul>
<h2>[1.9.0] - 2024-06-08</h2>
<ul>
<li>Add extra argument <code>cache-on-failure</code> and forward it to
<code>Swatinem/rust-cache</code>. (<a
href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/39">#39</a>
by <a
href="https://github.com/samuelhnrq"><code>@​samuelhnrq</code></a>)<br
/>
Set the default the value to true.
This will result in more caching than previously.
This helps when large dependencies are compiled only for testing to
fail.</li>
</ul>
<h2>[1.8.0] - 2024-01-13</h2>
<ul>
<li>Allow specifying subdirectories for cache.</li>
<li>Fix toolchain file overriding.</li>
</ul>
<h2>[1.7.0] - 2024-01-11</h2>
<ul>
<li>Allow overriding the toolchain file with explicit
<code>toolchain</code> input. (<a
href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/26">#26</a>)</li>
</ul>
<h2>[1.6.0] - 2023-12-04</h2>
<h3>Added</h3>
<ul>
<li>Allow disabling problem matchers (<a
href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/27">#27</a>)
This can be useful when having a matrix of jobs, that produce the same
errors.</li>
</ul>
<h2>[1.5.0] - 2023-05-29</h2>
<h3>Added</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/11df97af8e8102fd60b60a77dfbf58d40cd843b8"><code>11df97a</code></a>
Update the rustfmt problem matcher</li>
<li>See full diff in <a
href="https://github.com/actions-rust-lang/setup-rust-toolchain/compare/4d1965c9142484e48d40c19de54b5cba84953a06...11df97af8e8102fd60b60a77dfbf58d40cd843b8">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] <[email protected]>
Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>

* runtime: remove ttl (#5461)

Resolves https://github.com/paritytech/polkadot-sdk/issues/4776

This will enable proper core-sharing between paras, even if one of them
is not producing blocks.

TODO:
- [x] duplicate first entry in the claim queue if the queue used to be
empty
- [x] don't back anything if at the end of the block there'll be a
session change
- [x] write migration for removing the availability core storage
- [x] update and write unit tests
- [x] prdoc
- [x] add zombienet test for synchronous backing
- [x] add zombienet test for core-sharing paras where one of them is not
producing any blocks

_Important note:_
The `ttl` and `max_availability_timeouts` fields of the
HostConfiguration are not removed in this PR, due to #64.
Adding the workaround with the storage version check for every use of
the active HostConfiguration in all runtime APIs would be insane, as
it's used in almost all runtime APIs.

So even though the ttl and max_availability_timeouts fields will now be
unused, they will remain part of the host configuration.

These will be removed in a separate PR once #64 is fixed. Tracked by
https://github.com/paritytech/polkadot-sdk/issues/6067

---------

Signed-off-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: command-bot <>

* [pallet-nfts, pallet_uniques] - Expose private structs (#6087)

# Description

This PR exposes pallet_nfts and pallet_uniques structs, so other pallets
can access storage to use it for extending nft functionalities.

In pallet uniques it also exposes collection and asset metadata storage
as they are private.
 
## Integration

This integration allows nfts and uniques extension pallets to use then
private - now public structs to retrieve and parse storage from
pallet_nfts. We are building cross-chain NFT pallet and in order to
transfer collection that houses multiple NFT owners we need to manually
remove NFTs and Collections from storage without signers. We would also
like to refund deposits on origin chain and we were unable to as struct
data was private.

We have built cross-chain pallet that allows to send nfts or collections
between two pallets in abstract way without having to look which pallet
parachain (If nfts or uniques) implements.

## Review Notes

Code exposes private structs to public structs. No breaking change.

Build runs fine, tests are also ok.
<img width="468" alt="screen1"
src="https://github.com/user-attachments/assets/f31f60b5-390c-4497-b46b-59dd561204ae">
<img width="664" alt="screen2"
src="https://github.com/user-attachments/assets/7e2aa71c-3bc4-49a9-8afc-47d4f45f4359">
<img width="598" alt="screen3"
src="https://github.com/user-attachments/assets/10f4e427-858f-460d-8644-f5750494edb0">



PR is tied with following issue:
Closes #5959 

# Checklist

* [x] My PR includes a detailed description as outlined in the
"Description" and its two subsections above.
* [x] My PR follows the [labeling requirements](

https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process
) of this project (at minimum one label for `T` required)
* External contributors: ask maintainers to put the right label on your
PR.
* [ ] I have made corresponding changes to the documentation (if
applicable)
* [ ] I have added tests that prove my fix is effective or that my
feature works (if applicable)

---------

Co-authored-by: default avatarBranislav Kontur <[email protected]>
Co-authored-by: command-bot <>

* [Backport] Version bumps from stable2409-1 (#6153)

This PR backports regular version bumps and prdocs reordering from the
current stable release back to master

* Fix TrustedQueryApi Error (#6170)

Related to https://github.com/paritytech/polkadot-sdk/issues/6161

This seems to fix the `JavaScript heap out of memory` error encountered
in the bridge zombienet tests lately.

This is just a partial fix, since we also need to address
https://github.com/paritytech/polkadot-sdk/issues/6133 in order to fully
fix the bridge zombienet tests

* [pallet-revive] Eth RPC integration (#5866)

This PR introduces the necessary changes to pallet-revive for
integrating with our Ethereum JSON-RPC.
The RPC proxy itself will be added in a follow up.

## Changes

- A new pallet::call `Call::eth_transact`. This is used as a wrapper to
accept unsigned Ethereum transaction, valid call will be routed to
`Call::call` or `Call::instantiate_with_code`

- A custom UncheckedExtrinsic struct, that wraps the generic one usually
and add the ability to check eth_transact calls sent from an Ethereum
JSON-RPC proxy.
- Generated types and traits to support implementing a JSON-RPC Ethereum
proxy.

## Flow Overview:
- A user submits a transaction via MetaMask or another
Ethereum-compatible wallet.
- The proxy dry run the transaction and add metadata to the call (gas
limit in Weight, storage deposit limit, and length of bytecode and
constructor input for contract instantiation)
- The raw transaction, along with the additional metadata, is submitted
to the node as an unsigned extrinsic.
- On the runtime, our custom UncheckedExtrinsic define a custom
Checkable implementation that converts the unsigned extrinsics into
checked one
 - It recovers the signer
- validates the payload, and injects signed extensions, allowing the
system to increment the nonce and charge the appropriate fees.
- re-route the call to pallet-revive::Call::call or
pallet-revive::Call::instantiateWithCode

## Dependencies

- https://github.com/koute/polkavm/pull/188

## Follow up PRs
- #5926  
- #6147 (previously #5953)
- #5502

---------

Co-authored-by: default avatarAlexander Theißen <[email protected]>
Co-authored-by: default avatarCyrill Leutwiler <[email protected]>

* [pallet-revive] fix fixture build path (#6174)

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarCyrill Leutwiler <[email protected]>

* `fatxpool`: `LocalTransactionPool` implemented (#6104)

[`LocalTransactionPool`
trait](https://github.com/paritytech/polkadot-sdk/blob/d5b96e9e

/substrate/client/transaction-pool/api/src/lib.rs#L408-L426)
is now implemented for `ForkAwareTransactionPool`.

Closes #5493

* Use bool::then instead of then_some with function calls (#6156)

I noticed that hardware benchmarks are being run even though we pass the
--no-hardware-benchmarks cli flag. After some debugging, the cause is an
incorrect usage of the `then_some` method.

From [std
docs](https://doc.rust-lang.org/std/primitive.bool.html#method.then_some):

> Arguments passed to then_some are eagerly evaluated; if you are
passing the result of a function call, it is recommended to use
[then](https://doc.rust-lang.org/std/primitive.bool.html#method.then),
which is lazily evaluated.

```rust
let mut a = 0;
let mut function_with_side_effects = || { a += 1; };

true.then_some(function_with_side_effects());
false.then_some(function_with_side_effects());

// `a` is incremented twice because the value passed to `then_some` is
// evaluated eagerly.
assert_eq!(a, 2);
```

This PR fixes all the similar usages of the `then_some` method across
the codebase.

polkadot address: 138eUqXvUYT3o4GdbnWQfGRzM8yDWh5Q2eFrFULL7RAXzdWD

---------

Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>

* Assets in pool with native can be used in `query_weight_to_asset_fee` (#6080)

A follow-up to https://github.com/paritytech/polkadot-sdk/pull/5599.
Assets in a pool with the native one are returned from
`query_acceptable_payment_assets`. Now those assets can be used in
`query_weight_to_asset_fee` to get the correct amount that needs to be
paid.

---------

Co-authored-by: command-bot <>

* [pallet-revive] Add pallet to AH westend (#5502)

Add pallet-revive to Westend runtime, and configure the runtime to
accept Ethereum signed transaction

* Polkadot OmniNode Docs (#6094)

provides low-level documentation on how the omni-node is meant to work.
This is meant to act as reusable material for other teams (e.g.
Papermoon and W3F) to use and integrate into the high level Polkadot
documentation.

Broadly speaking, for omni-node to have great rust-docs, we need to
focus on the following crates, all of which got a bit of love in this
PR:

1. `sp-genesis-builder`
2. `polkadot-omni-node`
3. `polkadot-omni-node-lib`
4. `frame-omni-bencher`

On top of this, we have now: 

* `polkadot_sdk_docs::guides` contains two new steps demonstrating the
most basic version of composing your pallet, putting it into a runtime,
and putting that runtime into omni-node
* `polkadot_sdk_docs::reference_docs::omni_node` to explain in more
detail how omni-node differs from the old-school node.
* `polkadot_sdk_docs::reference_docs::frame_weight_benchmarking` to
finally have a minimal reference about weights and benchmarking.
* It provides tests for some of the steps in
https://github.com/paritytech/polkadot-sdk/issues/5568


closes https://github.com/paritytech/polkadot-sdk/issues/5568
closes https://github.com/paritytech/polkadot-sdk/issues/4781

Next steps

- [x] Ensure the README of the parachain template is up-to-date.
@iulianbarbu


- [ ] Readme for `polkadot-omni-node` and similar is updated. For now,
use `cargo-readme` and copy over the rust-docs.

To build the branch locally and run this:
https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/meta_contributing/index.html#how-to-develop-locally

---------

Co-authored-by: default avatarIulian Barbu <[email protected]>
Co-authored-by: default avatarSebastian Kunert <[email protected]>
Co-authored-by: default avatarMichal Kucharczyk <[email protected]>

* Fix `zombienet-bridges-0001-asset-transfer-works` (#6175)

Closes https://github.com/paritytech/polkadot-sdk/issues/6161

Westend BridgeHub freezes for a while at block 3 and if we try to init
the bridge and fund the accounts during that time, it fails. So we wait
untill all the parachains produced at least 10 blocks, in order to make
sure that they work reliably.

* [pallet-revive] fix hardcoded gas in tests (#6192)

Fix hardcoded gas limits in tests

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Added Trusted Query API implementation for Westend and Rococo relay chains (#6212)

Added missing API methods to Rococo and Westend parachains.
Preparatory work for making chopstick tests run smoothly.
Follow-up of
[PR#6039](https://github.com/paritytech/polkadot-sdk/pull/6039)

* Snowbridge: PNA Audit Better Documentation and minor Refactorings (#6216)

# Description

Snowbridge PNA has been audited. A number of issues where raised due to
not understanding the fee model for Polkadot Native Assets(PNA)
implementation. This PR addresses this by adding more comments and
better naming of private functions.

## Integration

None, documentation and private method name changes.

* Enable approval-voting-parallel by default on kusama (#6218)

The approval-voting-parallel introduced with
https://github.com/paritytech/polkadot-sdk/pull/4849 has been tested on
`versi` and approximately 3 weeks on parity's existing kusama nodes
https://github.com/paritytech/devops/issues/3583, things worked as
expected, so enable it by default on all kusama nodes in the next
release.

The next step will be enabling by default on polkadot if no issue
arrises while running on kusama.

---------

Signed-off-by: default avatarAlexandru Gheorghe <[email protected]>

* pallet macro: Support instantiable pallets in tasks (#5194)

Fix https://github.com/paritytech/polkadot-sdk/issues/5185

also implement handling of attr in expansion in construct-runtime

---------

Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* Disable tests reported in #6062  (#6064)

Flaky tests reported in

#6062
#6063 (already fixed)

Thx!

* Fix a tiny typo (#6229)

Just fix a tiny typo

* pallet-message-queue: Fix max message size calculation (#6205)

The max size of a message should not depend on the weight left in a
given execution context. Instead the max message size depends on the
service weights configured for the pallet. A message that may does not
fit into `on_idle` is not automatically overweight, because it may can
be executed successfully in `on_initialize` or in another block in
`on_idle` when there is more weight left.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* `RuntimeGenesiConfig`: json macro added (#5813)

This PR adds `build_struct_json_patch` which helps to generate a JSON
used for preset.

Here is doc and example:

https://github.com/paritytech/polkadot-sdk/blob/d868b858/substrate/frame/support/src/generate_genesis_config.rs#L168-L266

And real-world usage:

https://github.com/paritytech/polkadot-sdk/blob/d868b858

/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/genesis_config_presets.rs#L37-L61

Closes #5700

---------

Co-authored-by: default avatarSebastian Kunert <[email protected]>

* substrate-offchain: upgrade hyper to v1 (#5919)

Closes #4896

* pallet-revive: Add stateful address mapping (#6096)

Fixes #5576

This allows contracts to be used with an AccountId32 through normal
extrinsics and not only through the eth compat layer. It works by adding
a new extrinsic `map_account` that lets people register their
AccountId32.

---------

Co-authored-by: command-bot <>
Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarCyrill Leutwiler <[email protected]>

* Fix migrations for pallet-xcm (#6148)

Relates to: https://github.com/paritytech/polkadot-sdk/pull/4826
Relates to: https://github.com/paritytech/polkadot-sdk/issues/3214

## Description

`pallet-xcm` stores some operational data that uses `Versioned*` XCM
types. When we add a new XCM version (XV), we deprecate XV-2 and remove
XV-3. Without proper migration, this can lead to issues with
[undecodable
storage](https://github.com/paritytech/polkadot-sdk/actions/runs/11381324568/job/31662577532?pr=6092),
as was identified on the XCMv5 branch where XCMv2 was removed.

This PR extends the existing `MigrateToLatestXcmVersion` to include
migration for the `Queries`, `LockedFungibles`, and
`RemoteLockedFungibles` storage types. Additionally, more checks were
added to `try_state` for these types.

## TODO
- [x] create tracking issue for `polkadot-fellows`
https://github.com/polkadot-fellows/runtimes/issues/492
- [x] Add missing `MigrateToLatestXcmVersion` for westend
- [x] fix pallet-xcm `Queries`
- fails for Westend
https://github.com/paritytech/polkadot-sdk/actions/runs/11381324568/job/31662577532?pr=6092
- `V2` was removed from `Versioned*` stuff, but we have a live data with
V2 e.g. Queries - e.g. Kusama or Polkadot relay chains
```
VersionNotifier: {
        origin: {
          V2: {
            parents: 0
            interior: {
              X1: {
                Parachain: 2,124
              }
            }
          }
        }
        isActive: true
      } 
```

![image](https://github.com/user-attachments/assets/f59f761b-46a7-4def-8aea-45c4e41c0a00)
- [x] fix also for `RemoteLockedFungibles` 
- [x] fix also for `LockedFungibles`

## Follow-ups

- [ ] deploy on Westend chains before XCMv5
- [ ] https://github.com/paritytech/polkadot-sdk/issues/6188

---------

Co-authored-by: command-bot <>
Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarFrancisco Aguirre <[email protected]>

* asset-hubs: simplify xcm-config (#6222)

`ForeignCreatorsSovereignAccountOf` is used by `ForeignCreators` filter
to convert location to `AccountId`, _after_ `ForeignCreators::IsForeign`
filter passes for an (asset, location) pair.

The `IsForeign` filter is the actual differentiator, so if a location
passes it, we should support converting it to an `AccountId`.

As such, this commit replaces `ForeignCreatorsSovereignAccountOf`
converter with the more general `LocationToAccountId` converter.

Signed-off-by: default avatarAdrian Catangiu <[email protected]>

* Switch node side to v2 candidate receipts (#5679)

on top of https://github.com/paritytech/polkadot-sdk/pull/5423

This PR implements the plumbing work required for
https://github.com/paritytech/polkadot-sdk/issues/5047 . I also added
additional helper methods gated by feature "test" in primitives.

TODO:
- [x] PRDoc

---------

Signed-off-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* Fix a flaky zombienet test - 0004-coretime-smoke-test (#6236)

In the test log I noticed that the batch transaction which configures
the coretime chain fails. However when rerunning the transaction
manually - it worked. Then I noticed that the coretime chain is
initially registered via zombienet and then re-registered via
`0004-configure-relay.js`. Because of this there is a period of time
when it's not producing blocks and `0004-configure-broker.js` fails to
setup the coretime chain. My theory is that the transaction has failed
because the coretime chain is stalled during the re-registration.

Fixes https://github.com/paritytech/polkadot-sdk/issues/6226

* fix experimental-ump-signals tests (#6214)

Resolves https://github.com/paritytech/polkadot-sdk/issues/6200

Also sets the feature on the rococo-parachain. Will be useful for
zombienet testing

* remove parachains_assigner code (#6171)

Resolves https://github.com/paritytech/polkadot-sdk/issues/5970

Removes the code of the legacy parachains assigner, which was used prior
to coretime. Now that all networks are upgraded to use the coretime
assigner, we can remove it.

* [pallet-revive] Add Ethereum JSON-RPC server (#6147)

Redo of https://github.com/paritytech/polkadot-sdk/pull/5953

---------

Co-authored-by: default avatarAlexander Theißen <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* [pallet-revive] Update typeInfo (#6263)

Update typeinfo impl to make it transparent for subxt

see https://github.com/paritytech/subxt/pull/1845

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* pallet-revive: Trade code size for call stack depth (#6264)

This will reduce the call stack depth in order to raise the allowed code
size. Should allow around 100KB of instructions. This is necessary to
stay within the memory envelope. More code size is more appropriate for
testing right now. We will re-evaluate parameters once we have 64bit
support.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* [pallet-revive] implement tx origin API (#6105)

Implement a syscall to retreive the transaction origin.

---------

Signed-off-by: default avatarCyrill Leutwiler <[email protected]>
Signed-off-by: default avatarxermicus <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: default avatarAlexander Theißen <[email protected]>

* Use frame umbrella crate in `pallet-proxy` and `pallet-multisig` (#5995)

A step towards https://github.com/paritytech/polkadot-sdk/issues/4782

In order to nail down the right preludes in `polkadot-sdk-frame`, we
need to migrate a number of pallets to be written with it. Moreover,
migrating our pallets to this simpler patter will encourage the
ecosystem to also follow along.

If this PR is approved and has no unwanted negative consequences, I will
make a tracking issue to migrate all pallets to this umbrella crate.

TODO: 

- [x] fix frame benchmarking template. Can we detect the umbrella crate
in there and have an `if else`? cc @ggwpez


- [x] Migrate benchmarking to v2 @re-gius a good candidate for you, you
can open a PR against my branch.
- [x] tracking issue with follow-ups

---------

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>
Co-authored-by: default avatarDónal Murray <[email protected]>
Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>

* Migrate pallet-vesting benchmark to v2 (#6254)

Part of:

- #6202.

* Migrate pallet-timestamp benchmark to v2 (#6258)

Part of:

- #6202

---------

Co-authored-by: default avatarDónal Murray <[email protected]>

* [Identity] Decouple usernames from identities (#5554)

This PR refactors `pallet-identity` to decouple usernames from
identities.

Main changes in this PR:
- Separate usernames from identities in storage, allowing for correct
deposit accounting
- Introduce the option for username authorities to put up a deposit to
issue a username
- Allow authorities to remove usernames by declaring the intent to do
so, then removing the username after the grace period expires
- Refactor the authority storage to be keyed by suffix rather than owner
account.
- Introduce the concept of a system provider for a username, different
from a governance allocation, allowing for usernames set by the system
and not a specific authority
- Implement multi-block migration to enable all of the changes described
above

---------

Signed-off-by: default avatargeorgepisaltu <[email protected]>
Co-authored-by: default avatarAnkan <[email protected]>

* pallet-revive: Use custom target to build test fixtures (#6266)

This removes the need to use a custom toolchain to build the contract
test fixtures. Instead, we supply a custom target and use the currently
in use upstream toolchain.

---------

Co-authored-by: default avatarJan Bujak <[email protected]>
Co-authored-by: default avatarCyrill Leutwiler <[email protected]>
Co-authored-by: command-bot <>

* Fix review in #6258 (#6275)

Co-authored-by: default avatarShawn Tabrizi <[email protected]>

* Refactor `pallet-grandpa` to use `v2` benchmarks (#6073)

# Description

This PR moves the `pallet-grandpa` to the `v2` of `frame_benchmarking`.
I submitted PR #6025 as an external contributor from my own fork, so I
made this one from within this repo to see how the process would change.

## Integration

N/A

## Review Notes

Same as #6025, straightforward.

---------

Co-authored-by: default avatarShawn Tabrizi <[email protected]>

* [pallet-revive] rpc server add docker file (#6278)

Add a docker for pallet-revive eth-rpc

 Tested with 
```
sudo docker build . -t eth-rpc -f substrate/frame/revive/rpc/Dockerfile
sudo docker run --network="host" -e RUST_LOG="info,eth-rpc=debug" eth-rpc
```

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarAlexander Theißen <[email protected]>

* Bump a timeout in zombienet coretime smoke test (#6268)

polkadot/zombienet_tests/smoke/0004-coretime-smoke-test.zndsl still
timeouts on CI from time to time. Bumping the timeout a bit more.

Related to https://github.com/paritytech/polkadot-sdk/issues/6226

---------

Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>

* Migrate pallet-utility to benchmark v2 (#6276)

Part of:

- #6202.

---------

Co-authored-by: default avatarDónal Murray <[email protected]>

* [ci] Add publish docker for eth-rpc (#6286)

close https://github.com/paritytech/ci_cd/issues/1073

* Add overhead benchmark to frame-omni-bencher (#5891)

# Benchmark Overhead Command for Parachains

This implements the `benchmark overhead` command for parachains. Full
context is available at:
https://github.com/paritytech/polkadot-sdk/issues/5303. Previous attempt
was this https://github.com/paritytech/polkadot-sdk/pull/5283, but here
we have integration into frame-omni-bencher and improved tooling.

## Changes Overview

Users are now able to use `frame-omni-bencher` to generate
`extrinsic_weight.rs` and `block_weight.rs` files for their runtime. The
core logic for generating these remains untouched; this PR provides
mostly machinery to make it work for parachains at all.

Similar to the pallet benchmarks, we gain the option to benchmark based
on just a runtime:

```
frame-omni-bencher v1 benchmark overhead --runtime {{runtime}}
```

or with a spec:

```
frame-omni-bencher v1 benchmark overhead --chain {{spec}} --genesis-builder spec
```

In this case, the genesis state is generated from the runtime presets.
However, it is also possible to use `--chain` and genesis builder `spec`
to generate the genesis state from the chain spec.

Additionally, we use metadata to perform some checks based on the
pallets the runtime exposes:

- If we see the `ParaInherent` pallet, we assume that we are dealing
with a relay chain. This means that we don't need proof recording during
import (since there is no storage weight).
- If we detect the `ParachainSystem` pallet, we assume that we are
dealing with a parachain and take corresponding actions like patching a
para id into the genesis state.

On the inherent side, I am currently supplying the standard inherents
every parachain needs.

In the current state, `frame-omni-bencher` supports all system chains.
In follow-up PRs, we could add additional inherents to increase
compatibility.

Since we are building a block during the benchmark, we also need to
build an extrinsic. By default, I am leveraging subxt to build the xt
dynamically. If a chain is not compatible with the `SubstrateConfig`
that comes with `subxt`, it can provide a custom extrinsic builder to
benchmarking-cli. This requires either a custom bencher implementation
or an integration into the parachains node.

Also cumulus-test-runtime has been migrated to provide genesis configs.

## Chain Compatibility
The current version here is compatible with the system chains and common
substrate chains. The way to go for others would be to customize the
frame-omni-bencher by providing a custom extrinsicbuilder. I did an
example implementation that works for mythical:
https://github.com/skunert/mythical-bencher

## Follow-Ups
- After #6040 is finished, we should integrate this here to make the
tooling truly useful. In the current form, the state is fairly small and
not representative.

## How to Review
I recommend starting from
[here](https://github.com/paritytech/polkadot-sdk/pull/5891/files#diff-50830ff756b3ac3403b7739d66c9e3a5185dbea550669ca71b28d19c7a2a54ecR264),
this method is the main entry point for omni-bencher and `polkadot`
binary.

TBD:
- [x] PRDoc

---------

Co-authored-by: default avatarMichal Kucharczyk <[email protected]>

* [pallet-revive] code size API (#6260)

This PR implements the contract API to query the code size of a given
address.

---------

Signed-off-by: default avatarCyrill Leutwiler <[email protected]>
Signed-off-by: default avatarxermicus <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: default avatarPG Herveou <[email protected]>

* Publish `polkadot-omni-node` binary (#6057)

Closes https://github.com/paritytech/polkadot-sdk/issues/5566

Publish the `polkadot-omni-node` binary

This is a best effort. I'm not very familiar with the release /
publishing process and also not sure how to test this.
@paritytech/release-engineering can you take a look on this PR please ?

---------

Co-authored-by: default avatarEgorPopelyaev <[email protected]>

* [pallet-revive] implement the block hash API (#6246)

- Bound T::Hash to H256
- Implement the block hash API

---------

Signed-off-by: default avatarxermicus <[email protected]>
Signed-off-by: default avatarCyrill Leutwiler <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: default avatarGitHub Action <[email protected]>

* [pallet-revive] Add metrics to eth-rpc (#6288)

Add metrics for eth-rpc

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarAlexander Theißen <[email protected]>

* Remove `riscv` feature flag (#6305)

Since https://github.com/paritytech/polkadot-sdk/pull/6266 we no longer
require a custom toolchain to build the `pallet-revive-fixtures`. Hence
we no longer have to guard the build behind a feature flag.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* `candidate-validation`: RFC103 implementation (#5847)

Part of https://github.com/paritytech/polkadot-sdk/issues/5047
On top of https://github.com/paritytech/polkadot-sdk/pull/5679

---------

Signed-off-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* Update Treasury to Support Relay Chain Block Number Provider (#3970)

The goal of this PR is to have the treasury pallet work on a parachain
which does not produce blocks on a regular schedule, thus can use the
relay chain as a block provider.

Because blocks are not produced regularly, we cannot make the assumption
that block number increases monotonically, and thus have new logic to
handle multiple spend periods passing between blocks.

---------

Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarMuharem <[email protected]>

* collation-generation: use v2 receipts (#5908)

Part of https://github.com/paritytech/polkadot-sdk/issues/5047

Plus some cleanups

---------

Signed-off-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* [eth-rpc] Fixes (#6317)

Various fixes for the release of eth-rpc & ah-westend-runtime

- Bump asset-hub westend spec version
- Fix the status of the Receipt to properly report failed transactions
- Fix value conversion between native and eth decimal representation

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Refactor pallet `claims` (#6318)

- [x] Removing `without_storage_info` and adding bounds on the stored
types for pallet `claims` - issue
https://github.com/paritytech/polkadot-sdk/issues/6289
- [x] Migrating to benchmarking V2 -
https://github.com/paritytech/polkadot-sdk/issues/6202

---------

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>

* templates: make node compilation optional (#5954)

# Description

Closes #5940  

## Integration

Node devs that rely on templates' nodes binaries for minimal or
parachain would need to follow the updated templates' README.mds again
to find how to build the nodes' binaries.

## Review Notes

Conditional compilation of virtual workspaces would compile the
`members` list as if we passed `--workspace` flag to `cargo build` ,
except when adding a `default-members` list which will be used for any
cargo command executed in the virtual workspace root. To build the full
members list needs passing `--workspace` flag.

Other options investigated:
- feature guard the `node` crate by defining a feature in the `node`
crate, but it feels too complex since all code needs to be feature
guarded. I haven't tried it but technically speaking it might work. I
think though it looks awkward and my opinion is that the alternative is
better.
- defining features in the virtual workspace's Cargo.toml doesn't work
(thought that I might create a feature that will have a dependency on
the `node` crate and then not passing the feature to cargo build results
in ignoring the `node` crate)
- skipping compilation by using an environment variable, read in the
build script, that will exit compilation abruptly if not set, but I
couldn't make it work.
- exclude the crate from the members list and build it specifically by
passing `--package minimal-template-node` flag to the `cargo build`
command. This has the disadvantage of not allowing IDEs based on rust
analyzer to index/compile the node crate.

My conclusion is that any option would require two commands to build the
template, one with the node and one without, and both must be included
in the README or templates usage documentation. If it comes which ones
to pick I am in favor of the `default-members` option, which requires
minimal intervention and expresses how cargo commands are executed on
top of the workspace members, and what's left out from regular usage.

### Testing

Testing was conducted as described bellow:

- [x] zombienet with `minimal-template-node` , `parachain-template-node`
and `polkadot-omni-node`. Things work as expected.
- [x] no chopsticks testing was conducted - feels a bit out of scope for
OmniNode related docs and overall testing when promoting it over the
templates' nodes.
- [x] testing the changes for the sync templates workflow (ignore the
added comment from the Cargo.tomls, it was removed here on this branch:
[99bff3e2](https://github.com/paritytech/polkadot-sdk/pull/5954/commits/99bff3e2

)):
[minimal](https://github.com/paritytech-stg/polkadot-sdk-minimal-template/pull/22/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9),
[parachain](https://github.com/paritytech-stg/polkadot-sdk-parachain-template/pull/19/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9),
[solochain](https://github.com/paritytech-stg/polkadot-sdk-solochain-template/pull/17/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9).
The links correspond to PRs opened by a bot after manually starting the
sync-templates workflow on `paritytech-stg` org to test the end result
of the `Cargo.toml` changes.

---------

Signed-off-by: default avatarIulian Barbu <[email protected]>
Co-authored-by: default avatarKian Paimani <[email protected]>

* Migrate pallet-glutton benchmark to v2 (#6296)

Part of:

- #6202.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
Co-authored-by: default avatarDónal Murray <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>
Co-authored-by: default avatarDónal Murray <[email protected]>

* Migrate pallet-election-provider-multi-phase benchmark to v2 and improve doc (#6316)

Part of:

- #6202.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>

* fix claim queue size (#6257)

Reported in
https://github.com/paritytech/polkadot-sdk/issues/6161#issuecomment-2432097120

Fixes a bug introduced in
https://github.com/paritytech/polkadot-sdk/pull/5461, where the claim
queue would contain entries even if the validator groups storage is
empty (which happens during the first session).

This PR sets the claim queue core count to be the minimum between the
num_cores param and the number of validator groups

TODO:
- [x] prdoc
- [x] unit test

* Bump the ci_dependencies group across 1 directory with 3 updates (#6340)

Bumps the ci_dependencies group with 3 updates in the / directory:
[docker/build-push-action](https://github.com/docker/build-push-action),
[actions/setup-node](https://github.com/actions/setup-node) and
[lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action).

Updates `docker/build-push-action` from 5 to 6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/build-push-action/releases">docker/build-push-action's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<ul>
<li>Export build record and generate <a
href="https://docs.docker.com/build/ci/github-actions/build-summary/">build
summary</a> by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1120">docker/build-push-action#1120</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.24.0 to 0.26.0 in
<a
href="https://redirect.github.com/docker/build-push-action/pull/1132">docker/build-push-action#1132</a>
<a
href="https://redirect.github.com/docker/build-push-action/pull/1136">docker/build-push-action#1136</a>
<a
href="https://redirect.github.com/docker/build-push-action/pull/1138">docker/build-push-action#1138</a></li>
<li>Bump braces from 3.0.2 to 3.0.3 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1137">docker/build-push-action#1137</a></li>
</ul>
<blockquote>
<p>[!NOTE]
This major release adds support for generating <a
href="https://docs.docker.com/build/ci/github-actions/build-summary/">Build
summary</a> and exporting build record for your build. You can disable
this feature by setting <a
href="https://docs.docker.com/build/ci/github-actions/build-summary/#disable-job-summary">
<code>DOCKER_BUILD_NO_SUMMARY: true</code> environment variable in your
workflow</a>.</p>
</blockquote>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v5.4.0...v6.0.0">https://github.com/docker/build-push-action/compare/v5.4.0...v6.0.0</a></p>
<h2>v5.4.0</h2>
<ul>
<li>Show builder information before building by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1128">docker/build-push-action#1128</a></li>
<li>Handle attestations correctly with provenance and sbom inputs by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1086">docker/build-push-action#1086</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.19.0 to 0.24.0 in
<a
href="https://redirect.github.com/docker/build-push-action/pull/1088">docker/build-push-action#1088</a>
<a
href="https://redirect.github.com/docker/build-push-action/pull/1105">docker/build-push-action#1105</a>
<a
href="https://redirect.github.com/docker/build-push-action/pull/1121">docker/build-push-action#1121</a>
<a
href="https://redirect.github.com/docker/build-push-action/pull/1127">docker/build-push-action#1127</a></li>
<li>Bump undici from 5.28.3 to 5.28.4 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1090">docker/build-push-action#1090</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v5.3.0...v5.4.0">https://github.com/docker/build-push-action/compare/v5.3.0...v5.4.0</a></p>
<h2>v5.3.0</h2>
<ul>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.18.0 to 0.19.0 in
<a
href="https://redirect.github.com/docker/build-push-action/pull/1080">docker/build-push-action#1080</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v5.2.0...v5.3.0">https://github.com/docker/build-push-action/compare/v5.2.0...v5.3.0</a></p>
<h2>v5.2.0</h2>
<ul>
<li>Disable quotes detection for <code>outputs</code> input by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1074">docker/build-push-action#1074</a></li>
<li>Warn about ignored inputs by <a
href="https://github.com/favonia"><code>@​favonia</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1019">docker/build-push-action#1019</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.14.0 to 0.18.0 in
<a
href="https://redirect.github.com/docker/build-push-action/pull/1070">docker/build-push-action#1070</a></li>
<li>Bump undici from 5.26.3 to 5.28.3 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1057">docker/build-push-action#1057</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v5.1.0...v5.2.0">https://github.com/docker/build-push-action/compare/v5.1.0...v5.2.0</a></p>
<h2>v5.1.0</h2>
<ul>
<li>Add <code>annotations</code> input by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/992">docker/build-push-action#992</a></li>
<li>Add <code>secret-envs</code> input by <a
href="https://github.com/elias-lundgren"><code>@​elias-lundgren</code></a>
in <a
href="https://redirect.github.com/docker/build-push-action/pull/980">docker/build-push-action#980</a></li>
<li>Bump <code>@​babel/traverse</code> from 7.17.3 to 7.23.2 in <a
href="https://redirect.github.com/docker/build-push-action/pull/991">docker/build-push-action#991</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.13.0-rc.1 to
0.14.0 in <a
href="https://redirect.github.com/docker/build-push-action/pull/990">docker/build-push-action#990</a>
<a
href="https://redirect.github.com/docker/build-push-action/pull/1006">docker/build-push-action#1006</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v5.0.0...v5.1.0">https://github.com/docker/build-push-action/compare/v5.0.0...v5.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/docker/build-push-action/commit/4f58ea79222b3b9dc2c8bbdd6debcef730109a75"><code>4f58ea7</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1234">#1234</a>
from docker/dependabot/npm_and_yarn/docker/actions-t...</li>
<li><a
href="https://github.com/docker/build-push-action/commit/49b5ea61c60477d214908bb6e23ce05c074ef04e"><code>49b5ea6</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/build-push-action/commit/13c9fddd72db0ce3cd9d87eb53e0480d2a32a77b"><code>13c9fdd</code></a>
chore(deps): Bump <code>@​docker/actions-toolkit</code> from 0.38.0 to
0.39.0</li>
<li><a
href="https://github.com/docker/build-push-action/commit/e44afff3590e1d4f93b6adc72376512edb012a7c"><code>e44afff</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1232">#1232</a>
from docker/dependabot/npm_and_yarn/path-to-regexp-6...</li>
<li><a
href="https://github.com/docker/build-push-action/commit/67ebad331f4ca45e39184b280dbacb11eb3beae0"><code>67ebad3</code></a>
chore(deps): Bump path-to-regexp from 6.2.2 to 6.3.0</li>
<li><a
href="https://github.com/docker/build-push-action/commit/32945a339266b759abcbdc89316275140b0fc960"><code>32945a3</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1230">#1230</a>
from docker/dependabot/npm_and_yarn/docker/actions-t...</li>
<li><a
href="https://github.com/docker/build-push-action/commit/e0fe9cf0f26132beab7b62929bd647eef9e7df31"><code>e0fe9cf</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/build-push-action/commit/8f1ff6bf9a836299c21b10f942be49efb52a832c"><code>8f1ff6b</code></a>
chore(deps): Bump <code>@​docker/actions-toolkit</code> from 0.37.1 to
0.38.0</li>
<li><a
href="https://github.com/docker/build-push-action/commit/5cd11c3a4ced054e52742c5fd54dca954e0edd85"><code>5cd11c3</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1211">#1211</a>
from crazy-max/summary-info-message</li>
<li><a
href="https://github.com/docker/build-push-action/commit/0aba704831628413787ada4cf0e8f04d977f1d21"><code>0aba704</code></a>
chore: update generated content</li>
<li>Additional commits viewable in <a
href="https://github.com/docker/build-push-action/compare/v5...v6">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/setup-node` from 4.0.4 to 4.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v4.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Resolve High Security Alerts by upgrading Dependencies by <a
href="https://github.com/aparnajyothi-y"><code>@​aparnajyothi-y</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1132">actions/setup-node#1132</a></li>
<li>Upgrade IA Publish by <a
href="https://github.com/Jcambass"><code>@​Jcambass</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1134">actions/setup-node#1134</a></li>
<li>Revise <code>isGhes</code> logic by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1148">actions/setup-node#1148</a></li>
<li>Add architecture to cache key by <a
href="https://github.com/pengx17"><code>@​pengx17</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/843">actions/setup-node#843</a>
This addresses issues with caching by adding the architecture (arch) to
the cache key, ensuring that cache keys are accurate to prevent
conflicts.
Note: This change may break previous cache keys as they will no longer
be compatible with the new format.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/jww3"><code>@​jww3</code></a> made their
first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1148">actions/setup-node#1148</a></li>
<li><a href="https://github.com/pengx17"><code>@​pengx17</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/843">actions/setup-node#843</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v4...v4.1.0">https://github.com/actions/setup-node/compare/v4...v4.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/39370e3970a6d050c480ffad4ff0ed4d3fdee5af"><code>39370e3</code></a>
fix: add arch to cached path (<a
href="https://redirect.github.com/actions/setup-node/issues/843">#843</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/abb238b1313d8ef4d3e3a96d204e08329cafbf85"><code>abb238b</code></a>
Revise <code>isGhes</code> logic (<a
href="https://redirect.github.com/actions/setup-node/issues/1148">#1148</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/aca7b64a59c0063db8564e0ffdadd3887f1cbae5"><code>aca7b64</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/setup-node/issues/1134">#1134</a>
from actions/Jcambass-patch-1</li>
<li><a
href="https://github.com/actions/setup-node/commit/88de2a3d99c13aa734c49200e8bc673fb0a80ab8"><code>88de2a3</code></a>
Resolve High Security Alerts by upgrading Dependencies (<a
href="https://redirect.github.com/actions/setup-node/issues/1132">#1132</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/d6ebc7b438e9cf1b22a3c440a164b179ed0e37d6"><code>d6ebc7b</code></a>
Upgrade IA Publish</li>
<li>See full diff in <a
href="https://github.com/actions/setup-node/compare/v4.0.4...v4.1.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `lycheeverse/lychee-action` from 2.0.1 to 2.0.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/lycheeverse/lychee-action/releases">lycheeverse/lychee-action's
releases</a>.</em></p>
<blockquote>
<h2>Version 2.0.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix a typos by <a
href="https://github.com/szepeviktor"><code>@​szepeviktor</code></a> in
<a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/257">lycheeverse/lychee-action#257</a></li>
<li>Document and use correct permissions in the GitHub workflows by <a
href="https://github.com/dscho"><code>@​dscho</code></a> in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/258">lycheeverse/lychee-action#258</a></li>
<li>Add security policy by <a
href="https://github.com/mondeja"><code>@​mondeja</code></a> in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/259">lycheeverse/lychee-action#259</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/szepeviktor"><code>@​szepeviktor</code></a>
made their first contribution in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/257">lycheeverse/lychee-action#257</a></li>
<li><a href="https://github.com/mondeja"><code>@​mondeja</code></a> made
their first contribution in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/259">lycheeverse/lychee-action#259</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/lycheeverse/lychee-action/compare/v2...v2.0.2">https://github.com/lycheeverse/lychee-action/compare/v2...v2.0.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/7cd0af4c74a61395d455af97419279d86aafaede"><code>7cd0af4</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/8ad54d3568ac3176a9fb57a0233cf04410b55cde"><code>8ad54d3</code></a>
fix link</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/762333c18963fc10db515e32000e2e4dbcb11f5f"><code>762333c</code></a>
Create SECURITY.md (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/259">#259</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/71a38a3bd757f6306a6c14206219391d4e5807ed"><code>71a38a3</code></a>
Document and use correct permissions in the GitHub workflows (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/258">#258</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/f141760066406690a7f54a23762e3d146ea0d721"><code>f141760</code></a>
Fix a typos (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/257">#257</a>)</li>
<li>See full diff in <a
href="https://github.com/lycheeverse/lychee-action/compare/2bb232618be239862e31382c5c0eaeba12e5e966...7cd0af4c74a61395d455af97419279d86aafaede">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] <[email protected]>
Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* inclusion emulator: correctly handle UMP signals (#6178)

Changes inclusion emulator to not count the UMP signals when checking
ump message constraints.

---------

Signed-off-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* migrate pallet-recovery to benchmark V2 syntax (#6299)

Part of:
* #6202

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>

* Disable flaky tests reported in #6343 / #6345 (#6346)

test: zombienet-polkadot-functional-0018-shared-core-idle-parachain
Disable flaky test reported in
https://github.com/paritytech/polkadot-sdk/issues/6343

test: zombienet-polkadot-functional-0016-approval-voting-parallel
Disable flaky test reported in
https://github.com/paritytech/polkadot-sdk/issues/6345

Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>

* `statement-distribution`: RFC103 implementation (#5883)

Part of https://github.com/paritytech/polkadot-sdk/issues/5047
On top of https://github.com/paritytech/polkadot-sdk/pull/5679

---------

Signed-off-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* [pallet-revive] rework balance transfers (#6187)

This PR removes the `transfer` syscall and changes balance transfers to
make the existential deposit (ED) fully transparent for contracts.

The `transfer` API is removed since there is no corresponding EVM opcode
and transferring via a call introduces barely any overhead.

We make the ED transparent to contracts by transferring the ED from the
call origin to nonexistent accounts. Without this change, transfers to
nonexistant accounts will transfer the supplied value minus the ED from
the contracts viewpoint, and consequentially fail if the supplied value
lies below the ED. Changing this behavior removes the need for contract
code to handle this rather annoying corner case and aligns better with
the EVM. The EVM charges a similar deposit from the gas meter, so
transferring the ED from the call origin is practically the same as the
call origin pays for gas.

---------

Signed-off-by: default avatarxermicus <[email protected]>
Signed-off-by: default avatarCyrill Leutwiler <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarPG Herveou <[email protected]>

* Silent annoying log (#6351)

The logline in question doesn't indeed present any interest for a node
operator (I mean, there is not much he can do about that warning), but
in a heavy transaction load situation, when each of 5000 transactions in
txpool produces a warning, it's really annoying. Still, it's useful for
a developer, so I propose to log it at the `debug` level.

* Bounty Pallet: add `approve_bounty_with_curator` call to `bounties` pallet (#5961)

Resolves issue https://github.com/paritytech/polkadot-sdk/issues/5928

Adds `approve_bounty_with_curator` call to the `bounties` pallet to
combine functions of `approve_bounty` and `propose_curator` into one
call. Also adds a new status `ApprovedWithCurator` required to
distinguish if bounty was approved with curator when skipping through
`Funded` status and moving to `CuratorProposed` status.

If `unassign_curator` is called after `approve_bounty_with_curator` the
process will fall back to the old flow of calling `propose_curator`
separately.

---------

Co-authored-by: default avatarDavidK <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: default avatarAnkan <[email protected]>

* authority-discovery: Populate DHT records with public listen addresses (#6298)

This PR's main goal is to add public listen addresses to the DHT
authorities records. This change improves the discoverability of
validators that did not provide the `--public-addresses` flag.

This PR populates the authority DHT records with public listen addresses
if any.

The change effectively ensures that addresses are added to the DHT
record in following order:
 1. Public addresses provided by CLI `--public-addresses`
 2. Maximum of 4 public (global) listen addresses (if any)
3. Any external addresses discovered from the network (ie from
`/identify` protocol)


While at it, this PR adds the following constraints on the number of
addresses:
- Total number of addresses cached is bounded at 16 (increased from 10).
- A maximum number of 32 addresses are published to DHT records
(previously unbounded).
  - A maximum of 4 global listen addresses are utilized.
      
This PR also removes the following warning:
`WARNING: No public address specified, validator node may not be
reachable.`

### Next Steps
- [ ] deploy and monitor in versi network

Closes: https://github.com/paritytech/polkadot-sdk/issues/6280
Part of: https://github.com/paritytech/polkadot-sdk/issues/5266

cc @paritytech/networking

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarDmitry Markin <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* snowbridge: allow account conversion for Ethereum accounts (#6221)

Replace `GlobalConsensusEthereumConvertsFor` with
`EthereumLocationsConverterFor` that allows `Location` to `AccountId`
conversion for the Ethereum network root as before, but also for
Ethereum contracts and accounts.

The new converter only matches explicit `parents: 2` Ethereum locations,
meaning it should be used only on/by parachains.

* Remove leftover references of Wococo (#6361)

Remove references of now defunct Wococo network.

The XCM `NetworkId::Wococo` will also be removed with [XCMv5
PR](https://github.com/paritytech/polkadot-sdk/pull/4826)

* migrate pallet-remarks to v2 bench syntax (#6291)

Part of:
* #6202

---------

Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>

* [pallet-staking] Additional check for virtual stakers (#5985)

closes https://github.com/paritytech/polkadot-sdk/issues/5791.

This is not strictly necessary but serves as a defensive check.

The staking pallet exposes
[apis](https://paritytech.github.io/polkadot-sdk/master/sp_staking/trait.StakingUnchecked.html#tymethod.virtual_bond)
that other runtime pallets (pallet-delegated-staking) can use to create
virtual stakers. However, there’s no way for pallet-staking to ensure
that the staker is truly keyless. If the caller (this is a trusted
caller so this would only happen due to a bug) registers an account with
a private key as a virtual_staker, these accounts could later interact
directly with pallet-staking dispatchables (such as
[bond_extra](https://paritytech.github.io/polkadot-sdk/master/pallet_staking/dispatchables/fn.bond_extra.html))
and bypass any locking mechanism. The check above ensures this scenario
can never occur by performing an integrity check.

---------

Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: command-bot <>

* litep2p: Update litep2p to v0.8.0 (#6353)

This PR updates litep2p to the latest release.

- `KademliaEvent::PutRecordSucess` is renamed to fix word typo
- `KademliaEvent::GetProvidersSuccess` and
`KademliaEvent::IncomingProvider` are needed for bootnodes on DHT work
and will be utilized later


### Added

- kad: Providers part 8: unit, e2e, and `libp2p` conformance tests
([#258](https://github.com/paritytech/litep2p/pull/258))
- kad: Providers part 7: better types and public API, public addresses &
known providers ([#246](https://github.com/paritytech/litep2p/pull/246))
- kad: Providers part 6: stop providing
([#245](https://github.com/paritytech/litep2p/pull/245))
- kad: Providers part 5: `GET_PROVIDERS` query
([#236](https://github.com/paritytech/litep2p/pull/236))
- kad: Providers part 4: refresh local providers
([#235](https://github.com/paritytech/litep2p/pull/235))
- kad: Providers part 3: publish provider records (start providing)
([#234](https://github.com/paritytech/litep2p/pull/234))

### Changed

- transport_service: Improve connection stability by downgrading
connections on substream inactivity
([#260](https://github.com/paritytech/litep2p/pull/260))
- transport: Abort canceled dial attempts for TCP, WebSocket and Quic
([#255](https://github.com/paritytech/litep2p/pull/255))
- kad/executor: Add timeout for writting frames
([#277](https://github.com/paritytech/litep2p/pull/277))
- kad: Avoid cloning the `KademliaMessage` and use reference for
`RoutingTable::closest`
([#233](https://github.com/paritytech/litep2p/pull/233))
- peer_state: Robust state machine transitions
([#251](https://github.com/paritytech/litep2p/pull/251))
- address_store: Improve address tracking and add eviction algorithm
([#250](https://github.com/paritytech/litep2p/pull/250))
- kad: Remove unused serde cfg
([#262](https://github.com/paritytech/litep2p/pull/262))
- req-resp: Refactor to move functionality to dedicated methods
([#244](https://github.com/paritytech/litep2p/pull/244))
- transport_service: Improve logs and move code from tokio::select macro
([#254](https://github.com/paritytech/litep2p/pull/254))

### Fixed

- tcp/websocket/quic: Fix cancel memory leak
([#272](https://github.com/paritytech/litep2p/pull/272))
- transport: Fix pending dials memory leak
([#271](https://github.com/paritytech/litep2p/pull/271))
- ping: Fix memory leak of unremoved `pending_opens`
([#274](https://github.com/paritytech/litep2p/pull/274))
- identify: Fix memory leak of unused `pending_opens`
([#273](https://github.com/paritytech/litep2p/pull/273))
- kad: Fix not retrieving local records
([#221](https://github.com/paritytech/litep2p/pull/221))

See release changelog for more details:
https://github.com/paritytech/litep2p/releases/tag/v0.8.0

cc @paritytech/networking

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarDmitry Markin <[email protected]>

* refactor and harden check_core_index (#6217)

Resolves https://github.com/paritytech/polkadot-sdk/issues/6179

* [Deprecation] deprecate treasury `spend_local` call and related items (#6169)

Resolves https://github.com/paritytech/polkadot-sdk/issues/5930

`spend_local` from `treasury` pallet and associated types are
deprecated. `spend_local` was being used before with native currency in
the treasury.

This PR provides a documentation on how to migrate to the `spend` call
instead.

### Migration

#### For users who were using only `spend_local` before

To replace `spend_local` functionality configure `Paymaster` pallet
configuration to be `PayFromAccount` and configure `AssetKind` to be
`()` and use `spend` call instead.
This way `spend` call will function as deprecated `spend_local`.

Example:
```
impl pallet_treasury::Config for Runtime {
    ..
    type AssetKind = ();
    type Paymaster = PayFromAccount<Self::Currency, TreasuryAccount>;
    // convert balance 1:1 ratio with native currency
    type BalanceConverter = UnityAssetBalanceConversion;
    ..
}
```

#### For users who were already using `spend` with all other assets,
except the native asset

Use `NativeOrWithId` type for `AssetKind` and have a `UnionOf` for
native and non-native assets, then use that with `PayAssetFromAccount`.

Example from `kitchensink-runtime`:
```
// Union of native currency and assets
pub type NativeAndAssets =
    UnionOf<Balances, Assets, NativeFromLeft, NativeOrWithId<u32>, AccountId>;

impl pallet_treasury::Config for Runtime {
    ..
    type AssetKind = NativeOrWithId<u32>;
    type Paymaster = PayAssetFromAccount<NativeAndAssets, TreasuryAccount>;
    type BalanceConverter = AssetRate;
    ..
}

// AssetRate pallet configuration
impl pallet_asset_rate::Config for Runtime {
    ..
    type Currency = Balances;
    type AssetKind = NativeOrWithId<u32>;
    ..
}
```

---------

Co-authored-by: default avatarDavidK <[email protected]>
Co-authored-by: default avatarMuharem <[email protected]>

* Run check semver in MQ (#6287)

For marking `Check SemVer` required

* Bump the known_good_semver group across 1 directory with 3 updates (#6339)

Bumps the known_good_semver group with 2 updates in the / directory:
[serde](https://github.com/serde-rs/serde) and
[syn](https://github.com/dtolnay/syn).

Updates `serde` from 1.0.210 to 1.0.214
<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.214</h2>
<ul>
<li>Implement IntoDeserializer for all Deserializers in serde::de::value
module (<a
href="https://redirect.github.com/serde-rs/serde/issues/2568">#2568</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
</ul>
<h2>v1.0.213</h2>
<ul>
<li>Fix support for macro-generated <code>with</code> attributes inside
a newtype struct (<a
href="https://redirect.github.com/serde-rs/serde/issues/2847">#2847</a>)</li>
</ul>
<h2>v1.0.212</h2>
<ul>
<li>Fix hygiene of macro-generated local variable accesses in
serde(with) wrappers (<a
href="https://redirect.github.com/serde-rs/serde/issues/2845">#2845</a>)</li>
</ul>
<h2>v1.0.211</h2>
<ul>
<li>Improve error reporting about mismatched signature in
<code>with</code> and <code>default</code> attributes (<a
href="https://redirect.github.com/serde-rs/serde/issues/2558">#2558</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
<li>Show variant aliases in error message when variant deserialization
fails (<a
href="https://redirect.github.com/serde-rs/serde/issues/2566">#2566</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
<li>Improve binary size of untagged enum and internally tagged enum
deserialization by about 12% (<a
href="https://redirect.github.com/serde-rs/serde/issues/2821">#2821</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/serde-rs/serde/commit/418062165f9fe395461db9f61569c3142c584854"><code>4180621</code></a>
Release 1.0.214</li>
<li><a
href="https://github.com/serde-rs/serde/commit/210373b3b65a2eaf9754c158b43da0429807359c"><code>210373b</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2568">#2568</a>
from Mingun/into_deserializer-for-deserializers</li>
<li><a
href="https://github.com/serde-rs/serde/commit/9cda0157331ca09dec16cd8a0b57bd8eb24f8442"><code>9cda015</code></a>
Implement IntoDeserializer for all Deserializers in serde::de::value
module</li>
<li><a
href="https://github.com/serde-rs/serde/commit/58a8d229315553c4ae0a8d7eee8e382fbae4b4bf"><code>58a8d22</code></a>
Release 1.0.213</li>
<li><a
href="https://github.com/serde-rs/serde/commit/ef0ed22593a17a5af5ebe48d3b6ef7c3de1b116a"><code>ef0ed22</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2847">#2847</a>
from dtolnay/newtypewith</li>
<li><a
href="https://github.com/serde-rs/serde/commit/79925ac3947483013ba8136e43bc0449b99bd10c"><code>79925ac</code></a>
Ignore dead_code warning in regression test</li>
<li><a
href="https://github.com/serde-rs/serde/commit/b60e4092ec83c70e8c7d39574778349b2c5d9f05"><code>b60e409</code></a>
Hygiene for macro-generated newtype struct deserialization with 'with'
attr</li>
<li><a
href="https://github.com/serde-rs/serde/commit/fdc36e5c06def28b33d3154f0517969d90b744d8"><code>fdc36e5</code></a>
Add regression test for issue 2846</li>
<li><a
href="https://github.com/serde-rs/serde/commit/49e11ce1bae9fbb9128c9144c4e1051daf7a29ed"><code>49e11ce</code></a>
Ignore trivially_copy_pass_by_ref pedantic clippy lint in test</li>
<li><a
href="https://github.com/serde-rs/serde/commit/7ae1b5f8f39d7a80daaddcc04565f995427bfc41"><code>7ae1b5f</code></a>
Release 1.0.212</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.210...v1.0.214">compare
view</a></li>
</ul>
</details>
<br />

Updates `serde_derive` from 1.0.210 to 1.0.214
<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.214</h2>
<ul>
<li>Implement IntoDeserializer for all Deserializers in serde::de::value
module (<a
href="https://redirect.github.com/serde-rs/serde/issues/2568">#2568</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
</ul>
<h2>v1.0.213</h2>
<ul>
<li>Fix support for macro-generated <code>with</code> attributes inside
a newtype struct (<a
href="https://redirect.github.com/serde-rs/serde/issues/2847">#2847</a>)</li>
</ul>
<h2>v1.0.212</h2>
<ul>
<li>Fix hygiene of macro-generated local variable accesses in
serde(with) wrappers (<a
href="https://redirect.github.com/serde-rs/serde/issues/2845">#2845</a>)</li>
</ul>
<h2>v1.0.211</h2>
<ul>
<li>Improve error reporting about mismatched signature in
<code>with</code> and <code>default</code> attributes (<a
href="https://redirect.github.com/serde-rs/serde/issues/2558">#2558</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
<li>Show variant aliases in error message when variant deserialization
fails (<a
href="https://redirect.github.com/serde-rs/serde/issues/2566">#2566</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
<li>Improve binary size of untagged enum and internally tagged enum
deserialization by about 12% (<a
href="https://redirect.github.com/serde-rs/serde/issues/2821">#2821</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/serde-rs/serde/commit/418062165f9fe395461db9f61569c3142c584854"><code>4180621</code></a>
Release 1.0.214</li>
<li><a
href="https://github.com/serde-rs/serde/commit/210373b3b65a2eaf9754c158b43da0429807359c"><code>210373b</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2568">#2568</a>
from Mingun/into_deserializer-for-deserializers</li>
<li><a
href="https://github.com/serde-rs/serde/commit/9cda0157331ca09dec16cd8a0b57bd8eb24f8442"><code>9cda015</code></a>
Implement IntoDeserializer for all Deserializers in serde::de::value
module</li>
<li><a
href="https://github.com/serde-rs/serde/commit/58a8d229315553c4ae0a8d7eee8e382fbae4b4bf"><code>58a8d22</code></a>
Release 1.0.213</li>
<li><a
href="https://github.com/serde-rs/serde/commit/ef0ed22593a17a5af5ebe48d3b6ef7c3de1b116a"><code>ef0ed22</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2847">#2847</a>
from dtolnay/newtypewith</li>
<li><a
href="https://github.com/serde-rs/serde/commit/79925ac3947483013ba8136e43bc0449b99bd10c"><code>79925ac</code></a>
Ignore dead_code warning in regression test</li>
<li><a
href="https://github.com/serde-rs/serde/commit/b60e4092ec83c70e8c7d39574778349b2c5d9f05"><code>b60e409</code></a>
Hygiene for macro-generated newtype struct deserialization with 'with'
attr</li>
<li><a
href="https://github.com/serde-rs/serde/commit/fdc36e5c06def28b33d3154f0517969d90b744d8"><code>fdc36e5</code></a>
Add regression test for issue 2846</li>
<li><a
href="https://github.com/serde-rs/serde/commit/49e11ce1bae9fbb9128c9144c4e1051daf7a29ed"><code>49e11ce</code></a>
Ignore trivially_copy_pass_by_ref pedantic clippy lint in test</li>
<li><a
href="https://github.com/serde-rs/serde/commit/7ae1b5f8f39d7a80daaddcc04565f995427bfc41"><code>7ae1b5f</code></a>
Release 1.0.212</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.210...v1.0.214">compare
view</a></li>
</ul>
</details>
<br />

Updates `syn` from 2.0.82 to 2.0.87
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/syn/releases">syn's
releases</a>.</em></p>
<blockquote>
<h2>2.0.87</h2>
<ul>
<li>Add <a
href="https://docs.rs/syn/2/syn/buffer/struct.Cursor.html#method.any_group"><code>Cursor::any_group</code></a>
(<a
href="https://redirect.github.com/dtolnay/syn/issues/1777">#1777</a>)</li>
<li>Add <a
href="https://docs.rs/syn/2/syn/enum.Expr.html#method.peek"><code>Expr::peek</code></a>
(<a
href="https://redirect.github.com/dtolnay/syn/issues/1778">#1778</a>)</li>
<li>Improve syntax support for enum discriminant expressions in
non-&quot;full&quot; mode (<a
href="https://redirect.github.com/dtolnay/syn/issues/1779">#1779</a>)</li>
</ul>
<h2>2.0.86</h2>
<ul>
<li>Support peeking the end of a parse stream (<a
href="https://redirect.github.com/dtolnay/syn/issues/1689">#1689</a>)</li>
<li>Allow <code>parse_quote!</code> to produce Vec&lt;Attribute&gt; (<a
href="https://redirect.github.com/dtolnay/syn/issues/1775">#1775</a>)</li>
</ul>
<h2>2.0.85</h2>
<ul>
<li>Preserve extern static unsafety in ForeignItem::Verbatim (<a
href="https://redirect.github.com/dtolnay/syn/issues/1773">#1773</a>)</li>
</ul>
<h2>2.0.84</h2>
<ul>
<li>Parse safe and explicitly unsafe extern items (<a
href="https://redirect.github.com/dtolnay/syn/issues/1768">#1768</a>, <a
href="https://redirect.github.com/rust-lang/rust/issues/123743">rust-lang/rust#123743</a>,
<a
href="https://redirect.github.com/rust-lang/rfcs/pull/3484">rust-lang/rfcs#3484</a>)</li>
<li>Parse self captures: <code>impl Sized + use&lt;Self&gt;</code> (<a
href="https://redirect.github.com/dtolnay/syn/issues/1772">#1772</a>)</li>
</ul>
<h2>2.0.83</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/syn/commit/a777cff00528f270b43f40b0a58c5c26fc85a2bd"><code>a777cff</code></a>
Release 2.0.87</li>
<li><a
href="https://github.com/dtolnay/syn/commit/1f103d4c175ab62b27537a6907c4b77b6aed6ae7"><code>1f103d4</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1779">#1779</a>
from dtolnay/scan</li>
<li><a
href="https://github.com/dtolnay/syn/commit/0986a66e1764ed37a4931dde8c509412474636fe"><code>0986a66</code></a>
Ignore enum_glob_use pedantic clippy lint</li>
<li><a
href="https://github.com/dtolnay/syn/commit/ca97c7d82d9837c1b49c085a546a481cf879e619"><code>ca97c7d</code></a>
Translate expr scanner to table driven</li>
<li><a
href="https://github.com/dtolnay/syn/commit/8039cb37a02cbf080f48416651141d4c77c05075"><code>8039cb3</code></a>
Test that every expr can be scanned</li>
<li><a
href="https://github.com/dtolnay/syn/commit/0132c447fe045431906945178bea219816d5e55f"><code>0132c44</code></a>
Make scan_expr compilable from integration test</li>
<li><a
href="https://github.com/dtolnay/syn/commit/7c102c3c8b3dc076c03cbe842266a2b140be6323"><code>7c102c3</code></a>
Extract non-full expr scanner to module</li>
<li><a
href="https://github.com/dtolnay/syn/commit/ceaf4d693b2af783874b9aa4d50bb208b84a2609"><code>ceaf4d6</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1778">#1778</a>
from dtolnay/exprpeek</li>
<li><a
href="https://github.com/dtolnay/syn/commit/a890e9da22b463b05c06696d4cc767c6cb9d3114"><code>a890e9d</code></a>
Expose can_begin_expr as Expr::peek</li>
<li><a
href="https://github.com/dtolnay/syn/commit/12f068ce0889c41e3bd21662e8a0adfaa07d01d9"><code>12f068c</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1777">#1777</a>
from dtolnay/anygroup</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/syn/compare/2.0.82...2.0.87">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] <[email protected]>
Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>

* [Release|CI/CD] adjust release pipelines (#6366)

This PR contains adjustments to the release pipelines. 
- RC Automation and Branchoff pipelines now use the PGPKMS key generated
by the release team to sign related commits directly in the Github flow
- RC Automation does not use old tagging action. Instead, it creates a
tag and pushes it using git
- RC binary is going to be done on the larger github runners setup in
the` paritytech-release` org

Closes: https://github.com/paritytech/release-engineering/issues/233

* [eth-rpc] proxy /health (#6360)

make the eth-rpc proxy /health and /health/readiness from the proxied
substrate chain
see #4802

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* pallet-revive: Use `RUSTUP_TOOLCHAIN` if set (#6365)

We were not passing through the `RUSTUP_TOOLCHAIN` variable to the
`build.rs` script of our fixtures. This means that setting the toolchain
like `cargo +1.81 build` had no effect on the fixture build. It would
always fall back to the default toolchain.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Migrate pallet-im-online benchmark to v2 (#6295)

Part of:

- #6202.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>

* Fix statement distribution benchmark (#6369)

I've broken this test with
https://github.com/paritytech/polkadot-sdk/pull/5883 and this is the
fix.

The benchmark is now updated to use proper core index and session index
for the generated candidates.

TODO:
- [ ] <del> PRDoc </del>

---------

Signed-off-by: default avatarAndrei Sandu <[email protected]>

* Remove `sp_runtime::RuntimeString` and replace with `Cow<'static, str>` or `String` depending on use case (#5693)

# Description

As described in https://github.com/paritytech/polkadot-sdk/issues/4001
`RuntimeVersion` was not encoded consistently using serde. Turned out it
was a remnant of old times and no longer actually needed. As such I
removed it completely in this PR and replaced with `Cow<'static, str>`
for spec/impl names and `String` for error cases.

Fixes https://github.com/paritytech/polkadot-sdk/issues/4001.

## Integration

For downstream projects the upgrade will primarily consist of following
two changes:
```diff
#[sp_version::runtime_version]
pub const VERSION: RuntimeVersion = RuntimeVersion {
-	spec_name: create_runtime_str!("statemine"),
-	impl_name: create_runtime_str!("statemine"),
+	spec_name: alloc::borrow::Cow::Borrowed("statemine"),
+	impl_name: alloc::borrow::Cow::Borrowed("statemine"),
```
```diff
		fn dispatch_benchmark(
			config: frame_benchmarking::BenchmarkConfig
-		) -> Result<Vec<frame_benchmarking::BenchmarkBatch>, sp_runtime::RuntimeString> {
+		) -> Result<Vec<frame_benchmarking::BenchmarkBatch>, alloc::string::String> {
```

SCALE encoding/decoding remains the same as before, but serde encoding
in runtime has changed from bytes to string (it was like this in `std`
environment already), which most projects shouldn't have issues with. I
consider the impact of serde encoding here low due to the type only
being used in runtime version struct and mostly limited to runtime
internals, where serde encoding/decoding of this data structure is quite
unlikely (though we did hit exactly this edge-case ourselves
😅

).

## Review Notes

Most of the changes are trivial and mechanical, the only non-trivial
change is in
`substrate/primitives/version/proc-macro/src/decl_runtime_version.rs`
where macro call expectation in `sp_version::runtime_version`
implementation was replaced with function call expectation.

# Checklist

* [x] My PR includes a detailed description as outlined in the
"Description" and its two subsections above.
* [ ] My PR follows the [labeling requirements](

https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process
) of this project (at minimum one label for `T` required)
* External contributors: ask maintainers to put the right label on your
PR.
* [ ] I have made corresponding changes to the documentation (if
applicable)

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* `chain-spec-builder`: info about patch/full files added (#6373)

There was no good example of what is patch and full genesis config file.
Some explanation and example were added to the `chain-spec-builder` doc.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarIulian Barbu <[email protected]>

* pallet-child-bounties index child bounty by parent bounty (#6255)

Resolves https://github.com/paritytech/polkadot-sdk/issues/5929

Migrates `ChildBountyDescriptions` to be indexed instead of unique child
bounty id unique per all child bounties in the pallet to be unique per
every parent bounty.

Migrates `(ParentBounty, ChildBounty)` keys inside `ChildBounties`
storage item to use new `ChildBounty` ids starting from `0`.

@paritytech/frame-coders

---------

Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
Co-authored-by: default avatarDavidK <[email protected]>
Co-authored-by: default avatarmuharem <[email protected]>
Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>

* litep2p/peerset: Do not disconnect all peers on `SetReservedPeers` command (#6016)

Previously, when receiving the `SetReservedPeers { reserved }` all peers
not in the `reserved` set were removed.

This is incorrect, the intention of `SetReservedPeers` is to change the
active set of reserved peers and disconnect previously reserved peers
not in the new set.

While at it, have added a few other improvements to make the peerset
more robust:
- `SetReservedPeers`: does not disconnect all peers
- `SetReservedPeers`: if a reserved peer is no longer reserved, the
peerset tries to move the peers to the regular set if the slots allow
this move. This ensures the (now regular) peer counts towards slot
allocation.
- every 1 seconds: If we don't have enough connect peers, add the
reserved peers to the list that the peerstore ignores. Reserved peers
are already connected and the peerstore might return otherwise a
reserved peer


### Next Steps

- [x] More testing

cc @paritytech/networking

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarDmitry Markin <[email protected]>
Co-authored-by: default avatarMichal Kucharczyk <[email protected]>

* polkadot-service: Fix flaky tests (#6376)

The tests used the same paths. When run on CI, each test is run in its
own process and thus, this "serial_test" crate wasn't used. The tests
are now using their own thread local tempdir, which ensures that the
tests are working when running in parallel in the same program or when
being run individually.

* Don't expose metadata for Runtime APIs that haven't been implemented (#6337)

# Description

Prior to this PR, the metadata for runtime APIs was entirely based on
that generated by `decl_runtime_apis`. It therefore didn't take into
account that `impl_runtime_apis` might implement older versions of APIs
than what has been declared.

This PR filters the returned runtime API metadata to only include
methods actually implemented, and also avoids including methods labelled
with `changed_in` (which the previous code was atempting to do already
but not successfully, owing to the attr being removed prior to the
check).

We also change all version related things to be `u32`s (rather than
VERSION being `u32` and `api_version`s being `u64`) for consistency /
ease of comparison.

A test is added which works with both the `enable-staging-api` feature
in api/tests enabled or disabled, to check all of this.

---------

Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* [Release|CI/CD] Fix GH_TOKEN owner (#6381)

A quick fix to the step that generates a temporary token used in the
pipeline

* collator protocol: validate descriptor version on the validator side (#6011)

Part of https://github.com/paritytech/polkadot-sdk/issues/5047

TODO:

- [x] prdoc
- [x] fix/add tests

---------

Signed-off-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarAndrei Sandu <[email protected]>

* sp-api: `impl_runtime_apis!` replace the use of `Self` as a type argument (#4012)

closes #1890 

### Overview 

Introduces similar checker struct to `CheckTraitDecls` in
`decl_runtime_apis!` - `CheckTraitImpls`. Overrides
`visit::visit_type_path` to detect usage of `Self` as a type argument
within the scope of `impl_runtime_apis!`.

**Note**: only prevents the usage of `Self` as a type argument in an
angle bracket `<>`, as it is the only use case that fails to compile.
For example, the code
[below](https://github.com/paritytech/polkadot-sdk/blob/master/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/lib.rs#L1002)
compiles fine:

```rs
impl BridgeMessagesConfig<WithBridgeHubRococoMessagesInstance> for Runtime {
  fn is_relayer_rewarded(relayer: &Self::AccountId) -> bool {
	  let bench_lane_id = <Self as BridgeMessagesConfig<WithBridgeHubRococoMessagesInstance>>::bench_lane_id();
	  // ...
```

### Result

Given a block of code like this:

```rs
impl_runtime_apis! {
	impl apis::Core<Block> for Runtime {
		fn initialize_block(header: &HeaderFor<Self>) -> ExtrinsicInclusionMode {
			let _: HeaderFor<Self> = header.clone();
			RuntimeExecutive::initialize_block(header)
		}
		// ...
         }
// ...
```

<details open>

<summary>Output:</summary>

```bash
$ cargo build --release -p minimal-template-node
  error: `Self` can not be used as type argument in the scope of `impl_runtime_apis!`. Use `Runtime` instead.
     --> /polkadot-sdk/templates/minimal/runtime/src/lib.rs:133:11
      |
  133 |             let _: HeaderFor<Self> = header.clone();
      |                    ^^^^^^^^^^^^^^^

  error: `Self` can not be used as type argument in the scope of `impl_runtime_apis!`. Use `Runtime` instead.
     --> /polkadot-sdk/templates/minimal/runtime/src/lib.rs:132:32
      |
  132 |         fn initialize_block(header: &HeaderFor<Self>) -> ExtrinsicInclusionMode {
```

</details>

---------

Co-authored-by: default avatarPavlo Khrystenko <[email protected]>
Co-authored-by: default avatarPavlo Khrystenko <[email protected]>
Co-authored-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* Fix #6102 (#6384)

Relax requirements for `assign_core` so that it accepts updates for the
last scheduled entry.

Fixes #6102

---------

Co-authored-by: default avatareskimor <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* pallet-revive: The fixtures are only required for benchmarking (#6385)

* XCM v5 (#4826)

# Context

This PR aims to introduce XCMv5, for now it's in progress and will be
updated over time.
This branch will serve as a milestone branch for merging in all features
we want to add to XCM, roughly outlined
[here](https://github.com/polkadot-fellows/xcm-format/issues/60).
More features could be added.

## TODO
- [x] Migrate foreign assets from v3 to v4
- [x] Setup v5 skeleton
- [x] Remove XCMv2
- [x] https://github.com/paritytech/polkadot-sdk/pull/5390
- [x] https://github.com/paritytech/polkadot-sdk/pull/5585
- [x] https://github.com/paritytech/polkadot-sdk/pull/5420
- [x] https://github.com/paritytech/polkadot-sdk/pull/5876
- [x] https://github.com/paritytech/polkadot-sdk/pull/5971
- [x] https://github.com/paritytech/polkadot-sdk/pull/6148
- [x] https://github.com/paritytech/polkadot-sdk/pull/6228

Fixes #3434 
Fixes https://github.com/paritytech/polkadot-sdk/issues/4190
Fixes https://github.com/paritytech/polkadot-sdk/issues/5209
Fixes https://github.com/paritytech/polkadot-sdk/issues/5241
Fixes https://github.com/paritytech/polkadot-sdk/issues/4284

---------

Signed-off-by: default avatarAdrian Catangiu <[email protected]>
Co-authored-by: default avatarAdrian Catangiu <[email protected]>
Co-authored-by: default avatarAndrii <[email protected]>
Co-authored-by: default avatarBranislav Kontur <[email protected]>
Co-authored-by: default avatarJoseph Zhao <[email protected]>
Co-authored-by: default avatarNazar Mokrynskyi <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarSerban Iorga <[email protected]>

* [Pools] New runtime api that returns the pot accounts associated with the pool (#6357)

closes https://github.com/paritytech/polkadot-sdk/issues/6358

Adds the following runtime api to pallet-nomination-pools.
`pool_accounts(pool_id)`: Returns `(bonded_account, reward_account)`
associated with the `pool_id`.

cc: @rossbulat



---------

Co-authored-by: command-bot <>
Co-authored-by: default avatarBranislav Kontur <[email protected]>

* Bump futures from 0.3.30 to 0.3.31 (#6252)

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.30 to
0.3.31.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/futures-rs/releases">futures's
releases</a>.</em></p>
<blockquote>
<h2>0.3.31</h2>
<ul>
<li>Fix use after free of task in <code>FuturesUnordered</code> when
dropped future panics (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2886">#2886</a>)</li>
<li>Fix soundness bug in <code>task::waker_ref</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2830">#2830</a>)
This is a breaking change but allowed because it is soundness bug
fix.</li>
<li>Fix bugs in <code>AsyncBufRead::read_line</code> and
<code>AsyncBufReadExt::lines</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2884">#2884</a>)</li>
<li>Fix parsing issue in
<code>select!</code>/<code>select_biased!</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2832">#2832</a>)
This is technically a breaking change as it will now reject a very odd
undocumented syntax that was previously accidentally accepted.</li>
<li>Work around issue due to upstream <code>Waker::will_wake</code>
change (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2865">#2865</a>)</li>
<li>Add <code>stream::Iter::{get_ref,get_mut,into_inner}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2875">#2875</a>)</li>
<li>Add <code>future::AlwaysReady</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2825">#2825</a>)</li>
<li>Relax trait bound on non-constructor methods of
<code>io::{BufReader,BufWriter}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2848">#2848</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures's
changelog</a>.</em></p>
<blockquote>
<h1>0.3.31 - 2024-10-05</h1>
<ul>
<li>Fix use after free of task in <code>FuturesUnordered</code> when
dropped future panics (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2886">#2886</a>)</li>
<li>Fix soundness bug in <code>task::waker_ref</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2830">#2830</a>)
This is a breaking change but allowed because it is soundness bug
fix.</li>
<li>Fix bugs in <code>AsyncBufRead::read_line</code> and
<code>AsyncBufReadExt::lines</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2884">#2884</a>)</li>
<li>Fix parsing issue in
<code>select!</code>/<code>select_biased!</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2832">#2832</a>)
This is technically a breaking change as it will now reject a very odd
undocumented syntax that was previously accidentally accepted.</li>
<li>Work around issue due to upstream <code>Waker::will_wake</code>
change (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2865">#2865</a>)</li>
<li>Add <code>stream::Iter::{get_ref,get_mut,into_inner}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2875">#2875</a>)</li>
<li>Add <code>future::AlwaysReady</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2825">#2825</a>)</li>
<li>Relax trait bound on non-constructor methods of
<code>io::{BufReader,BufWriter}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2848">#2848</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/1e052816b09890925cfdfcbe8d390cdaae5e4c38"><code>1e05281</code></a>
Release 0.3.31</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/8a8b085a8c1a7396173a104c67e0cf2f5b74fc74"><code>8a8b085</code></a>
Fix clippy::uninit_vec warning</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/f3fb74df310d070d91df7995c942f223cba6720a"><code>f3fb74d</code></a>
Document how <code>BoxFuture</code>s / <code>BoxStream</code>s are often
made (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2887">#2887</a>)</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/f00e7afb467e5f9b3c81724cc3cac1f0687fff7c"><code>f00e7af</code></a>
Fix use after free of task in FuturesUnordered when dropped future
panics (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2">#2</a>...</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/33c46b3dc65e151e0e794636ad62872330733557"><code>33c46b3</code></a>
ci: Work around sanitizer issue on latest Linux kernel</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/7bf5a72826c0daed633ec48e8ddaecd8a32f0d11"><code>7bf5a72</code></a>
Fix issues with <code>AsyncBufRead::read_line</code> and
<code>AsyncBufReadExt::lines</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2884">#2884</a>)</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/87afaf3973e8652228f7ccaadd04e7b0e456c63d"><code>87afaf3</code></a>
Use <code>#[inline(always)]</code> on <code>clone_arc_raw</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2865">#2865</a>)</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/549b90b1793a044bcade67b81a3d7eabd95f3971"><code>549b90b</code></a>
Add accessors for the inner of stream::Iter (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2875">#2875</a>)</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/07b004ac7e0d72e09ff652f234d00e4f26a5f558"><code>07b004a</code></a>
Add missing symbols (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2883">#2883</a>)</li>
<li><a
href="https://github.com/rust-lang/futures-rs/commit/86dc069fa278d4197de91eb6e038e0ec64857684"><code>86dc069</code></a>
Various fixes too make the CI green (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2885">#2885</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/futures-rs/compare/0.3.30...0.3.31">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures&package-manager=cargo&previous-version=0.3.30&new-version=0.3.31)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: default avatardependabot[bot] <[email protected]>
Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Migrate pallet-election-provider-support-benchmarking benchmark to v2 (#6315)

Part of:

- #6202.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>

* fix shared-core-idle-parachain flaky test (#6387)

https://github.com/paritytech/polkadot-sdk/issues/6343

* substrate/zombienet: Fix 0002-validators-warp-sync (#6379)

This PR fixes the `0002-validators-warp-sync` zombienet test by matching
for a specific error case.

The following PR introduced a new error for validators that don't have
public addresses available for publishing in the DHT:
- https://github.com/paritytech/polkadot-sdk/pull/6298
The log line was moved from `eprintln!("Warning: ...` in sc-cli to the
authority discovery where it is printed properly as an error.


cc @paritytech/sdk-node

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Syncing strategy refactoring (part 3) (#5737)

# Description

This is a continuation of
https://github.com/paritytech/polkadot-sdk/pull/5666 that finally fixes
https://github.com/paritytech/polkadot-sdk/issues/5333.

This should allow developers to create custom syncing strategies or even
the whole syncing engine if they so desire. It also moved syncing engine
creation and addition of corresponding protocol outside
`build_network_advanced` method, which is something Bastian expressed as
desired in
https://github.com/paritytech/polkadot-sdk/issues/5#issuecomment-1700816458

Here I replaced strategy-specific types and methods in `SyncingStrategy`
trait with generic ones. Specifically `SyncingAction` is now used by all
strategies instead of strategy-specific types with conversions.
`StrategyKey` was an enum with a fixed set of options and now replaced
with an opaque type that strategies create privately and send to upper
layers as an opaque type. Requests and responses are now handled in a
generic way regardless of the strategy, which reduced and simplified
strategy API.

`PolkadotSyncingStrategy` now lives in its dedicated module (had to edit
.gitignore for this) like other strategies.

`build_network_advanced` takes generic `SyncingService` as an argument
alongside with a few other low-level types (that can probably be
extracted in the future as well) without any notion of specifics of the
way syncing is actually done. All the protocol and tasks are created
outside and not a part of the network anymore. It still adds a bunch of
protocols like for light client and some others that should eventually
be restructured making `build_network_advanced` just building generic
network and not application-specific protocols handling.

## Integration

Just like https://github.com/paritytech/polkadot-sdk/pull/5666
introduced `build_polkadot_syncing_strategy`, this PR introduces
`build_default_block_downloader`, but for convenience and to avoid
typical boilerplate a simpler high-level function
`build_default_syncing_engine` is added that will take care of creating
typical block downloader, syncing strategy and syncing engine, which is
what most users will be using going forward. `build_network` towards the
end of the PR was renamed to `build_network_advanced` and
`build_network`'s API was reverted to
pre-https://github.com/paritytech/polkadot-sdk/pull/5666, so most users
will not see much of a difference during upgrade unless they opt-in to
use new API.

## Review Notes

For `StrategyKey` I was thinking about using something like private type
and then storing `TypeId` inside instead of a static string in it, let
me know if that would preferred.

The biggest change happened to requests that different strategies make
and how their responses are handled. The most annoying thing here is
that block response decoding, in contrast to all other responses, is
dependent on request. This meant request had to be sent throughout the
system. While originally `Response` was `Vec<u8>`, I didn't want to
re-encode/decode request and response just to fit into that API, so I
ended up with `Box<dyn Any + Send>`. This allows responses to be truly
generic and each strategy will know how to downcast it back to the
concrete type when handling the response.

Import queue refactoring was needed to move `SyncingEngine` construction
out of `build_network` that awkwardly implemented for `SyncingService`,
but due to `&mut self` wasn't usable on `Arc<SyncingService>` for no
good reason. `Arc<SyncingService>` itself is of course useless, but
refactoring to replace it with just `SyncingService` was unfortunately
rejected in https://github.com/paritytech/polkadot-sdk/pull/5454

As usual I recommend to review this PR as a series of commits instead of
as the final diff, it'll make more sense that way.

# Checklist

* [x] My PR includes a detailed description as outlined in the
"Description" and its two subsections above.
* [x] My PR follows the [labeling requirements](

https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process
) of this project (at minimum one label for `T` required)
* External contributors: ask maintainers to put the right label on your
PR.
* [x] I have made corresponding changes to the documentation (if
applicable)

* [pallet-staking] Add page info to `PayoutStarted` event (#5984)

fixes https://github.com/paritytech/polkadot-sdk/issues/5966

---------

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>

* net/discovery: Do not propagate external addr with different peerIDs (#6380)

This PR ensures that external addresses with different PeerIDs are not
propagated to the higher layer of the network code.

While at it, this ensures that libp2p only adds the `/p2p/peerid` part
to the discovered address if it does not contain it already.

This is a followup from:
- https://github.com/paritytech/polkadot-sdk/pull/6298

cc @paritytech/networking

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarDmitry Markin <[email protected]>

* PVF: drop backing jobs if it is too late (#5616)

Fixes https://github.com/paritytech/polkadot-sdk/issues/5530

This PR introduces the removal of backing jobs that have been back
pressured for longer than `allowedAncestryLen`, as these candidates are
no longer viable.

It is reasonable to expect a result for a backing job execution within
`allowedAncestryLen` blocks. Therefore, we set the job TTL as a relay
block number and synchronize the validation host by sending activated
leaves.

---------

Co-authored-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarBranislav Kontur <[email protected]>

* [Release|CI/CD] Add node version to deb package version (#6399)

This PR has small addition to the db package version. As `cargodeb`
takes the version from the `*.toml` file, this PR adds an extra flag to
the `cargodeb` command so that the version of the deb package matches
the `polkadot` node version.

* gensis-config: patching default `RuntimeGenesisConfig` fixed (#6382)

This PR changes the behavior of `json_patch::merge` function which no
longer removes any keys from the base JSON object.

fixes: #6306

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Add missing events to identity pallet (#6261)

# Description

E2E tests to Polkadot/Kusama's people chains (in
https://github.com/open-web3-stack/polkadot-ecosystem-tests/pull/63)
revealed that 2 of the identity pallet's extrinsics did not emit events
in case of success:
* `pallet_identity::rename_sub`, and
* `pallet_identity::set_subs`

This PR fixes that.

## Integration

Other than 2 extrinsics emiting an event when previously they did not,
no other behavior in pallets/extrinsics was modified, so no integration
is needed.

## Review Notes

N/A

* Add networking benchmarks for libp2p (#6077)

# Description

Implemented benchmarks for Notifications and RequestResponse protocols
with libp2p implementation. These benchmarks allow us to monitor
regressions and implement fixes before they are observed in real chain.
In the future, they can be used for targeted optimizations of litep2p
compared to libp2p.

Part of https://github.com/paritytech/polkadot-sdk/issues/5220

Next steps:
- Add benchmarks for litep2p implementation
- Optimize load to get better results
- Add benchmarks to CI to catch regressions



## Integration

Benchmarks don't affect downstream projects.

---------

Co-authored-by: default avataralvicsam <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* make prospective-parachains debug logs less spammy (#6406)

Fixes https://github.com/paritytech/polkadot-sdk/issues/6172

* Migrate pallet-elections-phragmen benchmark to v2 and improve doc (#6314)

Part of:

- #6202.

---------

Co-authored-by: default avatarGiuseppe Re <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* Expose more syncing types to enable custom syncing strategy (#6163)

This PR exposes additional syncing types to facilitate the development
of a custom syncing strategy based on the existing Polkadot syncing
strategy. Specifically, my goal is to isolate the state sync and chain
sync components, allowing the state to be downloaded from the P2P
network without running a full regular Substrate node. I also need to
intercept the state responses during the state sync process.

The newly exposed types are necessary to implement this custom syncing
strategy.

* runtimes: presets are provided as config patches (#6349)

This PR introduces usage of `build_struct_json_patch` macro in all
runtimes (also guides) within the code base.

It also fixes macro to support _field init shorthand_, and _Struct
Update_ syntax which were missing in original implementation.

Follow up of #5700 and #5813

* Migrate pallet-transaction-storage and pallet-indices to benchmark v2 (#6290)

Part of:
#6202

---------

Co-authored-by: default avatarGiuseppe Re <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* fix prospective-parachains best backable chain reversion bug (#6417)

Kudos to @EclesioMeloJunior for noticing it 

Also added a regression test for it. The existing unit test was
exercising only the case where the full chain is reverted

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* Remove network starter that is no longer needed (#6400)

# Description

This seems to be an old artifact of the long closed
https://github.com/paritytech/substrate/issues/6827 that I noticed when
working on related code earlier.

## Integration

`NetworkStarter` was removed, simply remove its usage:
```diff
-let (network, system_rpc_tx, tx_handler_controller, start_network, sync_service) =
+let (network, system_rpc_tx, tx_handler_controller, sync_service) =
    build_network(BuildNetworkParams {
...
-start_network.start_network();
```

## Review Notes

Changes are trivial, the only reason for this to not be accepted is if
it is desired to not start network automatically for whatever reason, in
which case the description of network starter needs to change.

# Checklist

* [x] My PR includes a detailed description as outlined in the
"Description" and its two subsections above.
* [ ] My PR follows the [labeling requirements](

https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process
) of this project (at minimum one label for `T` required)
* External contributors: ask maintainers to put the right label on your
PR.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* `fatxpool`: size limits implemented (#6262)

This PR adds size-limits to the fork-aware transaction pool.

**Review Notes**
- Existing
[`TrackedMap`](https://github.com/paritytech/polkadot-sdk/blob/58fd5ae4/substrate/client/transaction-pool/src/graph/tracked_map.rs#L33-L41)
is used in internal mempool to track the size of extrinsics:

https://github.com/paritytech/polkadot-sdk/blob/58fd5ae4

/substrate/client/transaction-pool/src/graph/tracked_map.rs#L33-L41

- In this PR, I also removed the logic that kept transactions in the
`tx_mem_pool` if they were immediately dropped by the views. Initially,
I implemented this as an improvement: if there was available space in
the _mempool_ and all views dropped the transaction upon submission, the
transaction would still be retained in the _mempool_.

However, upon further consideration, I decided to remove this
functionality to reduce unnecessary complexity. Now, when all views drop
a transaction during submission, it is automatically rejected, with the
`submit/submit_and_watch` call returning `ImmediatelyDropped`.


Closes: #5476

---------

Co-authored-by: default avatarSebastian Kunert <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* pallet-membership: Do not verify the `MembershipChanged` in bechmarks (#6439)

There is no need to verify in the `pallet-membership` benchmark that the
`MemembershipChanged` implementation works as the pallet thinks it
should work. If you for example set it to `()`, `get_prime()` will
always return `None`.

TLDR: Remove the checks of `MembershipChanged` in the benchmarks to
support any kind of implementation.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarAdrian Catangiu <[email protected]>

* add FeeManager to pallet xcm (#5363)

Closes #2082

change send xcm to use `xcm::executor::FeeManager` to determine if the
sender should be charged.

I had to change the `FeeManager` of the penpal config to ensure the same
test behaviour as before. For the other tests, I'm using the
`FeeManager` from the `xcm::executor::FeeManager` as this one is used to
check if the fee can be waived on the charge fees method.

---------

Co-authored-by: default avatarAdrian Catangiu <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* Use relay chain block number in the broker pallet instead of block number (#5656)

Based on https://github.com/paritytech/polkadot-sdk/pull/3331
Related to https://github.com/paritytech/polkadot-sdk/issues/3268

Implements migrations with customizable block number to relay height
number translation function.

Adds block to relay height migration code for rococo and westend.

---------

Co-authored-by: default avatarDavidK <[email protected]>
Co-authored-by: default avatarKian Paimani <[email protected]>

* migrate pallet-nft-fractionalization to benchmarking v2 syntax (#6301)

Migrates pallet-nft-fractionalization to benchmarking v2 syntax.

Part of:
* #6202

---------

Co-authored-by: default avatarGiuseppe Re <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>

* [pallet-revive] adjust fee dry-run calculation (#6393)

- Fix bare_eth_transact so that it estimate more precisely the
transaction fee
- Add some context to the build.rs to make it easier to troubleshoot
errors
- Add TransactionBuilder for the RPC tests.
- Improve error message, proxy rpc error from the node and handle
reverted error message
- Add logs in ReceiptInfo

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* NoOp Impl Polling Trait (#5311)

Adds NoOp implementation for the `Polling` trait and updates benchmarks
in `pallet-ranked-collective`.

---------

Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>

* Migrate pallet-child-bounties benchmark to v2 (#6310)

Part of:

- #6202.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>

* Introduce `ConstUint` to make dependent types in `DefaultConfig` more adaptable (#6425)

# Description

Resolves #6193

This PR introduces `ConstUint` as a replacement for existing constant
getter types like `ConstU8`, `ConstU16`, etc., providing a more flexible
and unified approach.

## Integration

This update is backward compatible, so developers can choose to adopt
`ConstUint` in new implementations or continue using the existing types
as needed.

## Review Notes

`ConstUint` is a convenient alternative to `ConstU8`, `ConstU16`, and
similar types, particularly useful for configuring `DefaultConfig` in
pallets. It enables configuring the underlying integer for a specific
type without the need to update all dependent types, offering enhanced
flexibility in type management.

# Checklist

* [x] My PR includes a detailed description as outlined in the
"Description" and its two subsections above.
* [ ] My PR follows the [labeling requirements](

https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process
) of this project (at minimum one label for `T` required)
* External contributors: ask maintainers to put the right label on your
PR.
* [ ] I have made corresponding changes to the documentation (if
applicable)
* [ ] I have added tests that prove my fix is effective or that my
feature works (if applicable)

* Use type alias for transactions (#6431)

Very tiny change that helps with debugging of transactions propagation
by referring to the same type alias not only at receiving side, but also
on the sending size for symmetry

* [Release|CI/CD] Fix audiences changelog template (#6444)

This PR addresses an issue mentioned
[here](https://github.com/paritytech/polkadot-sdk/issues/6424#issuecomment-2467042441).
The problem was that when the prdoc file has two audiences, but only one
description like in
[prdoc_5660](https://github.com/paritytech/polkadot-sdk/blob/master/prdoc/1.16.0/pr_5660.prdoc)
it was ignored by the template.

* XCMv5: add ExecuteWithOrigin instruction (#6304)

Added `ExecuteWithOrigin` instruction according to the old XCM RFC 38:
https://github.com/polkadot-fellows/xcm-format/pull/38.

This instruction allows you to descend or clear while going back again.

## TODO
- [x] Implementation
- [x] Unit tests
- [x] Integration tests
- [x] Benchmarks
- [x] PRDoc

## Future work

Modify `WithComputedOrigin` barrier to allow, for example, fees to be
paid with a descendant origin using this instruction.

---------

Signed-off-by: default avatarAdrian Catangiu <[email protected]>
Co-authored-by: default avatarAdrian Catangiu <[email protected]>
Co-authored-by: default avatarAndrii <[email protected]>
Co-authored-by: default avatarBranislav Kontur <[email protected]>
Co-authored-by: default avatarJoseph Zhao <[email protected]>
Co-authored-by: default avatarNazar Mokrynskyi <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: command-bot <>

* rpc server: fix host filter for localhost on ipv6 (#6454)

This PR fixes an issue that I discovered using connecting to the RPC via
localhost using cURL, where cURL tries to connect to via ipv6 before
ipv4 when querying `localhost` which messed up the http host filter
whereas it would connect to the address `[::1]::9944 host_header:
localhost:9944` but the ipv6 interface only whitelisted `[::1]:9944`
which this fixes.

So let's whitelist all localhost interfaces to avoid such weird
edge-cases.

### Behavior before this PR

```bash
$ polkadot --chain westend-dev &
$ curl -v \
     -H 'Content-Type: application/json' \
     -d '{"jsonrpc":"2.0","id":"id","method":"system_name"}' \
     http://localhost:9944
* Host localhost:9944 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:9944...
* Connected to localhost (::1) port 9944
> POST / HTTP/1.1
> Host: localhost:9944
> User-Agent: curl/8.5.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 50
>
< HTTP/1.1 403 Forbidden
< content-type: text/plain
< content-length: 41
< date: Tue, 12 Nov 2024 13:03:49 GMT
<
Provided Host header is not whitelisted.
* Connection #0 to host localhost left intact
```

### Behavior after this PR
```bash
$ polkadot --chain westend-dev &
➜ wasm-tests (update-artifacts-1731284930) ✗ curl -v \
     -H 'Content-Type: application/json' \
     -d '{"jsonrpc":"2.0","id":"id","method":"system_name"}' \
     http://localhost:9944
* Host localhost:9944 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:9944...
* Connected to localhost (::1) port 9944
> POST / HTTP/1.1
> Host: localhost:9944
> User-Agent: curl/8.5.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 50
>
< HTTP/1.1 200 OK
< content-type: application/json; charset=utf-8
< vary: origin, access-control-request-method, access-control-request-headers
< content-length: 54
< date: Tue, 12 Nov 2024 13:02:57 GMT
<
* Connection #0 to host localhost left intact
{"jsonrpc":"2.0","id":"id","result":"Parity Polkadot"}%
```

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: command-bot <>

* [pallet-revive] eth-rpc fixes (#6453)

- Breaking down the integration-test into multiple tests
- Fix tx hash to use expected keccak-256
- Add option to ethers.js example to connect to westend and use a
private key

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Remove debug message about pruning active leaves (#6440)

# Description

The debug message was added to identify a potential memory leak.
However, recent observations show that pruning works as expected.
Therefore, it is best to remove this line, as it generates quite
annoying logs.


## Integration

Doesn't affect downstream projects.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* [Tx ext stage 2: 1/4] Add `TransactionSource` as argument in `TransactionExtension::validate` (#6323)

## Meta 

This PR is part of 4 PR:
* https://github.com/paritytech/polkadot-sdk/pull/6323
* https://github.com/paritytech/polkadot-sdk/pull/6324
* https://github.com/paritytech/polkadot-sdk/pull/6325
* https://github.com/paritytech/polkadot-sdk/pull/6326

## Description

One goal of transaction extension is to get rid or unsigned
transactions.
But unsigned transaction validation has access to the
`TransactionSource`.

The source is used for unsigned transactions that the node trust and
don't want to pay upfront.
Instead of using transaction source we could do: the transaction is
valid if it is signed by the block author, conceptually it should work,
but it doesn't look so easy.

This PR add `TransactionSource` to the validate function for transaction
extensions

* remove pallet::getter from pallet-staking (#6184)

# Description

Part of https://github.com/paritytech/polkadot-sdk/issues/3326
Removes all pallet::getter occurrences from pallet-staking and replaces
them with explicit implementations.
Adds tests to verify that retrieval of affected entities works as
expected so via storage::getter.

## Review Notes

1. Traits added to the `derive` attribute are used in tests (either
directly or indirectly).
2. The getters had to be placed in a separate impl block since the other
one is annotated with `#[pallet::call]` and that requires
`#[pallet::call_index(0)]` annotation on each function in that block. So
I thought it's better to separate them.

---------

Co-authored-by: default avatarDónal Murray <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>

* Refactor pallet `society` (#6367)

- [x] Removing `without_storage_info` and adding bounds on the stored
types for pallet `society` - issue
https://github.com/paritytech/polkadot-sdk/issues/6289
- [x] Migrating to benchmarking V2 -
https://github.com/paritytech/polkadot-sdk/issues/6202

---------

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarMuharem <[email protected]>

* frame-benchmarking: Use correct components for pallet instances (#6435)

When using multiple instances of the same pallet, each instance was
executed with the components of all instances. While actually each
instance should only be executed with the components generated for the
particular instance. The problem here was that in the runtime only the
pallet-name was used to determine if a certain pallet should be
benchmarked. When using instances, the pallet name is the same for both
of these instances. The solution is to also take the instance name into
account.

The fix requires to change the `Benchmark` runtime api to also take the
`instance`. The node side is written in a backwards compatible way to
also support runtimes which do not yet support the `instance` parameter.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarclangenb <[email protected]>
Co-authored-by: default avatarAdrian Catangiu <[email protected]>

* Get rid of `libp2p` dependency in `sc-authority-discovery` (#5842)

## Issue
#4859 
## Description
This PR removes `libp2p` types in authority-discovery, and replace them
with network backend agnostic types from `sc-network-types`.
 The `sc-network` interface is therefore updated accordingly.

---------

Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: default avatarDmitry Markin <[email protected]>
Co-authored-by: default avatarAlexandru Vasile <[email protected]>

* backing: improve session buffering for runtime information (#6284)

## Issue
[[#3421] backing: improve session buffering for runtime
information](https://github.com/paritytech/polkadot-sdk/issues/3421)

## Description
In the current implementation of the backing module, certain pieces of
information, which remain unchanged throughout a session, are fetched
multiple times via runtime API calls. The goal of this task was to
introduce a local cache to store such session-stable information and
perform the runtime API call only once per session.

This PR implements caching specifically for the validators list, node
features, executor parameters, minimum backing votes threshold, and
validator-to-group mapping, which were previously fetched from the
runtime or computed each time `PerRelayParentState` was built. Now, this
information is cached and reused within the session.

## TODO
* [X] Create a separate struct for per-session caches;
* [X] Cache validators list;
* [X] Cache node features;
* [X] Cache executor parameters;
* [X] Cache minimum backing votes threshold;
* [X] Cache validator-to-group mapping;
* [X] Update tests to reflect these changes;
* [X] Add prdoc.

## For the next PR
Cache validator groups and any other session-stable data (if present).

* Add litep2p network protocol benches (#6455)

# Description

Add support to run networking protocol benchmarks with litep2p backend.

Now we can compare the work of both libp2p and litep2p backends for
notifications and request-response protocols.

Next step: extract worker initialization from the benchmark loop.

### Example run on local machine
<img width="916" alt="image"
src="https://github.com/user-attachments/assets/6bb9f90a-76a4-417e-b9d3-db27aa8a356f">


## Integration

Does not affect downstream projects.

## Review Notes


https://github.com/paritytech/polkadot-sdk/blob/d4d95025

/substrate/client/network/src/litep2p/service.rs#L510-L520

This method should be implemented to run request benchmarks.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Fixed bridges zombienet tests because of removed NetworkId::Rococo/Westend from xcm::v5 (#6465)

Closes: https://github.com/paritytech/polkadot-sdk/issues/6449

* Fix staking benchmark (#6463)

Found by @ggwpez

 

Fix staking benchmark, error was introduced when migrating to v2:
https://github.com/paritytech/polkadot-sdk/pull/6025

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Follow up work on `TransactionExtension` - fix weights and clean up `UncheckedExtrinsic` (#6418)

Follow up to https://github.com/paritytech/polkadot-sdk/pull/3685
Partially fixes https://github.com/paritytech/polkadot-sdk/issues/6403

The main PR introduced bare support for the new extension version byte
as well as extension weights and benchmarking.

This PR:
- Removes the redundant extension version byte from the signed v4
extrinsic, previously unused and defaulted to 0.
- Adds the extension version byte to the inherited implication passed to
`General` transactions.
- Whitelists the `pallet_authorship::Author`, `frame_system::Digest` and
`pallet_transaction_payment::NextFeeMultiplier` storage items as they
are read multiple times by extensions for each transaction, but are hot
in memory and currently overestimate the weight.
- Whitelists the benchmark caller for `CheckEra` and `CheckGenesis` as
the reads are performed for every transaction and overestimate the
weight.
- Updates the umbrella frame weight template to work with the system
extension changes.
- Plans on re-running the benchmarks at least for the `frame_system`
extensions.

---------

Signed-off-by: default avatargeorgepisaltu <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: default avatargui <[email protected]>

* feat: add workflow to test readme generation (#6359)

# Description

Created a workflow to search for README.docify.md in the repo, and run
cargo build --features generate-readme in the dir of the file (assuming
it is related to a crate). If the git diff shows some output for the
README.md, then the file update wasn't pushed on the branch, and the
workflow fails.
Closes #6331

## Integration

Downstream projects that want to adopt this README checking workflow
should:

1. Copy the `.github/workflows/readme-check.yml` file to their
repository
2. Ensure any `README.docify.md` files in their project follow the
expected format
3. Implement the `generate-readme` feature flag in their Cargo.toml if
not already present

## Review Notes

This PR adds a GitHub Actions workflow that automatically verifies
README.md files are up-to-date with their corresponding README.docify.md
sources. Key implementation details:

- The workflow runs on both PRs and pushes to main
- It finds all `README.docify.md` files recursively in the repository
- For each file found:
- Builds the project with `--features generate-readme` in that directory
  - Checks if the README.md has any uncommitted changes
  - Fails if any README.md is out of sync

---------

Co-authored-by: default avatarAlexander Samusev <[email protected]>
Co-authored-by: default avatarIulian Barbu <[email protected]>

* [pallet-revive] set logs_bloom (#6460)

Set the logs_bloom in the transaction receipt

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarCyrill Leutwiler <[email protected]>

* Support more types in TypeWithDefault (#6411)

# Description

When using `TypeWithDefault<u32, ..>` as the default nonce provider to
overcome the [replay
attack](https://wiki.polkadot.network/docs/transaction-attacks#replay-attack)
issue, it fails to compile due to `TypeWithDefault<u32, ..>:
TryFrom<u64>` is not satisfied (which is required by trait
`BaseArithmetic`).

This is because the blanket implementation `TryFrom<U> for T where U:
Into<T>` only impl `TryFrom<u16>` and `TryFrom<u8>` for `u32` since
`u32` only impl `Into` for `u16` and `u8` but not `u64`.

This PR fixes the issue by adding `TryFrom<u16/u32/u64/u128>` and
`From<u8/u16/u32/u64/u128>` impl (using macro) for
`TypeWithDefault<u8/u16/u32/u64/u128, ..>` and removing the blanket impl
(otherwise the compiler will complain about conflicting impl), such that
`TypeWithDefault<u8/u16/u32/u64/u128, ..>: AtLeast8/16/32Bit` is
satisfied.

## Integration

This PR adds support to more types to be used with `TypeWithDefault`,
existing code that used `u64` with `TypeWithDefault` should not be
affected, an unit test is added to ensure that.

## Review Notes

This PR simply makes `TypeWithDefault<u8/u16/u32/u64/u128, ..>:
AtLeast8/16/32Bit` satisfied

---------

Signed-off-by: default avatarlinning <[email protected]>

* [pallet-revive] use evm decimals in call host fn (#6466)

This PR update the pallet to use the EVM 18 decimal balance in contracts
call and host functions instead of the native balance.

It also updates the js example to add the piggy-bank solidity contract
that expose the problem

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* network/litep2p: Update litep2p network backend to version 0.8.1 (#6484)

This PR updates the litep2p backend to version 0.8.1 from 0.8.0.
- Check the [litep2p updates forum
post](https://forum.polkadot.network/t/litep2p-network-backend-updates/9973/3)
for performance dashboards.
- Check [litep2p release
notes](https://github.com/paritytech/litep2p/pull/288)

The v0.8.1 release includes key fixes that enhance the stability and
performance of the litep2p library. The focus is on long-running
stability and improvements to polling mechanisms.

### Long Running Stability Improvements

This issue caused long-running nodes to reject all incoming connections,
impacting overall stability.

Addressed a bug in the connection limits functionality that incorrectly
tracked connections due for rejection.

This issue caused an artificial increase in inbound peers, which were
not being properly removed from the connection limit count.

This fix ensures more accurate tracking and management of peer
connections [#286](https://github.com/paritytech/litep2p/pull/286).

### Polling implementation fixes

This release provides multiple fixes to the polling mechanism, improving
how connections and events are processed:
- Resolved an overflow issue in TransportContext’s polling index for
streams, preventing potential crashes
([#283](https://github.com/paritytech/litep2p/pull/283)).
- Fixed a delay in the manager’s poll_next function that prevented
immediate polling of newly added futures
([#287](https://github.com/paritytech/litep2p/pull/287)).
- Corrected an issue where the listener did not return Poll::Ready(None)
when it was closed, ensuring proper signal handling
([#285](https://github.com/paritytech/litep2p/pull/285)).


### Fixed

- manager: Fix connection limits tracking of rejected connections
([#286](https://github.com/paritytech/litep2p/pull/286))
- transport: Fix waking up on filtered events from `poll_next`
([#287](https://github.com/paritytech/litep2p/pull/287))
- transports: Fix missing Poll::Ready(None) event from listener
([#285](https://github.com/paritytech/litep2p/pull/285))
- manager: Avoid overflow on stream implementation for
`TransportContext`
([#283](https://github.com/paritytech/litep2p/pull/283))
- manager: Log when polling returns Ready(None)
([#284](https://github.com/paritytech/litep2p/pull/284))


### Testing Done

Started kusama nodes running side by side with a higher number of
inbound and outbound connections (500).
We previously tested with peers bounded at 50. This testing filtered out
the fixes included in the latest release.

With this high connection testing setup, litep2p outperforms libp2p in
almost every domain, from performance to the warnings / errors
encountered while operating the nodes.

TLDR: this is the version we need to test on kusama validators next

- Litep2p

Repo            | Count      | Level      | Triage report
-|-|-|-
polkadot-sdk | 409 | warn | Report .*: .* to .*. Reason: .*. Banned,
disconnecting. ( Peer disconnected with inflight after backoffs. Banned,
disconnecting. )
litep2p | 128 | warn | Refusing to add known address that corresponds to
a different peer ID
litep2p | 54 | warn | inbound identify substream opened for peer who
doesn't exist
polkadot-sdk | 7 | error | 💔 Called `on_validated_block_announce` with a
bad peer ID .*
polkadot-sdk    | 1          | warn       |  Error while dialing .*: .*
polkadot-sdk | 1 | warn | Report .*: .* to .*. Reason: .*. Banned,
disconnecting. ( Invalid justification. Banned, disconnecting. )

- Libp2p

Repo            | Count      | Level      | Triage report
-|-|-|-
polkadot-sdk | 1023 | warn | 💔 Ignored block \(#.* -- .*\) announcement
from .* because all validation slots are occupied.
polkadot-sdk | 472 | warn | Report .*: .* to .*. Reason: .*. Banned,
disconnecting. ( Unsupported protocol. Banned, disconnecting. )
polkadot-sdk | 379 | error | 💔 Called `on_validated_block_announce` with
a bad peer ID .*
polkadot-sdk | 163 | warn | Report .*: .* to .*. Reason: .*. Banned,
disconnecting. ( Invalid justification. Banned, disconnecting. )
polkadot-sdk | 116 | warn | Report .*: .* to .*. Reason: .*. Banned,
disconnecting. ( Peer disconnected with inflight after backoffs. Banned,
disconnecting. )
polkadot-sdk | 83 | warn | Report .*: .* to .*. Reason: .*. Banned,
disconnecting. ( Same block request multiple times. Banned,
disconnecting. )
polkadot-sdk | 4 | warn | Re-finalized block #.* \(.*\) in the canonical
chain, current best finalized is #.*
polkadot-sdk | 2 | warn | Report .*: .* to .*. Reason: .*. Banned,
disconnecting. ( Genesis mismatch. Banned, disconnecting. )
polkadot-sdk | 2 | warn | Report .*: .* to .*. Reason: .*. Banned,
disconnecting. ( Not requested block data. Banned, disconnecting. )
polkadot-sdk | 2 | warn | Can't listen on .* because: .*
polkadot-sdk    | 1          | warn       | 

 Error while dialing .*: .*

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* sp-trie: minor fix to avoid possible panic during node decoding (#6486)

# Description

This PR is a simple fix consisting of adding a check to the process of
decoding nodes of a storage proof to avoid panicking when receiving
badly-constructed proofs, returning an error instead.

This would close #6485

## Integration

No changes have to be done downstream, and as such the version bump
should be minor.

---------

Co-authored-by: default avatarBastian Köcher <[email protected]>

* migrate pallet-nomination-pool-benchmarking to benchmarking syntax v2 (#6302)

Migrates pallet-nomination-pool-benchmarking to benchmarking syntax v2.

Part of:
* #6202

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>

* Migrate some pallets to benchmark v2 (#6311)

Part of #6202

---------

Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>

* Mention that account might still be required in doc for feeless if. (#6490)

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Pure state sync refactoring (part-1) (#6249)

This pure refactoring of state sync is preparing for
https://github.com/paritytech/polkadot-sdk/issues/4. As the rough plan
in
https://github.com/paritytech/polkadot-sdk/issues/4#issuecomment-2439588876,
there will be two PRs for the state sync refactoring.

This first PR focuses on isolating the function
`process_state_key_values()` as the central point for storing received
state data in memory. This function will later be adapted to forward the
state data directly to the DB layer for persistent sync. A follow-up PR
will handle the encapsulation of `StateSyncMetadata` to support this
persistent storage.

Although there are many commits in this PR, each commit is small and
intentionally incremental to facilitate a smoother review, please review
them commit by commit. Each commit should represent an equivalent
rewrite of the existing logic, with one exception
https://github.com/paritytech/polkadot-sdk/commit/bb447b2d

,
which has a slight deviation from the original but is correct IMHO.
Please give this commit special attention during the review.

* [WIP][ci] Add worfklow stopper (#4551)

PR to implements workflow stopper - a custom solution to stop all
workflows if one of a required jobs failed. Previously we had the same
solution in GitLab and it saved a lot of compute. Because GitHub doesn't
have one united pipeline and instead it has multiple workflows something
like this has to be implemented.

cc https://github.com/paritytech/ci_cd/issues/939

* Remove `ProspectiveParachainsMode` usage in backing subsystem (#6215)

Since async backing parameters runtime api is released on all networks
the code in backing subsystem can be simplified by removing the usages
of `ProspectiveParachainsMode` and keeping only the branches of the code
under `ProspectiveParachainsMode::Enabled`.

The PR does that and reworks the tests in mod.rs to use async backing.
It's a preparation for
https://github.com/paritytech/polkadot-sdk/issues/5079

---------

Co-authored-by: default avatarAlin Dima <[email protected]>
Co-authored-by: command-bot <>

* sp-runtime: Be a little bit more functional :D (#6526)

Co-authored-by: default avatarGitHub Action <[email protected]>

* `TransactionPool` API uses `async_trait` (#6528)

This PR refactors `TransactionPool` API to use `async_trait`, replacing
the` Pin<Box<...>>` pattern. This should improve readability and
maintainability.

The change is not altering any functionality.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* sp-trie: correctly avoid panicking when decoding bad compact proofs (#6502)

# Description

Opening another PR because I added a test to check for my fix pushed in
#6486 and realized that for some reason I completely forgot how to code
and did not fix the underlying issue, since out-of-bounds indexing could
still happen even with the check I added. This one should fix that and,
as an added bonus, has a simple test used as an integrity check to make
sure future changes don't accidently revert this fix.

Now `sp-trie` should definitely not panic when faced with bad
`CompactProof`s. Sorry about that 😅



This, like #6486, is related to issue #6485

## Integration

No changes have to be done downstream, and as such the version bump
should be minor.

---------

Co-authored-by: default avatarBastian Köcher <[email protected]>

* [pallet-revive] Update delegate_call to accept address and weight (#6111)

Enhance the `delegate_call` function to accept an `address` target
parameter instead of a `code_hash`. This allows direct identification of
the target contract using the provided address.
Additionally, introduce parameters for specifying a customizable
`ref_time` limit and `proof_size` limit, thereby improving flexibility
and control during contract interactions.

---------

Co-authored-by: default avatarAlexander Theißen <[email protected]>

* Fix metrics not shutting down if there are open connections (#6220)

Fix prometheus metrics not shutting down if there are open connections.
I fixed the same issue in the past but it broke again after a dependecy
upgrade.

See also:

https://github.com/paritytech/polkadot-sdk/pull/1637

* Validator Re-Enabling (#5724)

Aims to implement Stage 3 of Validator Disbling as outlined here:
https://github.com/paritytech/polkadot-sdk/issues/4359

Features:
- [x] New Disabling Strategy (Staking level)
- [x] Re-enabling logic (Session level)
- [x] More generic disabling decision output
- [x] New Disabling Events

Testing & Security:
- [x] Unit tests
- [x] Mock tests
- [x] Try-runtime checks
- [x] Try-runtime tested on westend snap
- [x] Try-runtime CI tests
- [ ] Re-enabling Zombienet Test (?)
- [ ] SRLabs Audit

Closes #4745 
Closes #2418

---------

Co-authored-by: default avatarordian <[email protected]>
Co-authored-by: default avatarAnkan <[email protected]>
Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>

* Migrate pallet-democracy benchmarks to benchmark v2 syntax (#6509)

# Description

Migrates pallet-democracy benchmarks to benchmark v2 syntax
This is Part of https://github.com/paritytech/polkadot-sdk/issues/6202

---------

Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: default avatarDmitry Markin <[email protected]>
Co-authored-by: default avatarAlexandru Vasile <[email protected]>

* Forward logging directives to Polkadot workers (#6534)

This pull request forward all the logging directives given to the node
via `RUST_LOG` or `-l` to the workers, instead of only forwarding
`RUST_LOG`.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Support block gap created by fast sync (#5703)

This is part 2 of
https://github.com/paritytech/polkadot-sdk/issues/5406#issuecomment-2325064863,
properly handling the block gap generated during fast sync.

Although #5406 remains unresolved due to the known issues in #5663, I
decided to open up this PR earlier than later to speed up the overall
progress. I've tested the fast sync locally with this PR, and it appears
to be functioning well. (I was doing a fast sync from a discontinued
archive node locally, thus the issue highlighted in
https://github.com/paritytech/polkadot-sdk/pull/5663#discussion_r1752124039
was bypassed exactly.)

Once the edge cases in #5663 are addressed, we can move forward by
removing the body attribute from the LightState block request and
complete the work on #5406. The changes in this PR are incremental, so
reviewing commit by commit should provide the best clarity.

cc @dmitry-markin



---------

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Pure state sync refactoring (part-2) (#6521)

This PR is the second part of the pure state sync refactoring,
encapsulating `StateSyncMetadata` as a separate entity. Now it's pretty
straightforward what changes are needed for the persistent state sync as
observed in the struct `StateSync`:

- `state`: redirect directly to the DB layer instead of being
accumulated in the memory.
- `metadata`: handle the state sync metadata on disk whenever the state
is forwarded to the DB, resume an ongoing state sync on a restart, etc.

---------

Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarAlexandru Vasile <[email protected]>

* Add and test events in `pallet-conviction-voting` (#6544)

# Description

https://github.com/paritytech/polkadot-sdk/pull/4613 introduced events
for `pallet_conviction_voting::{vote, remove_vote, remove_other_vote}`.
However:
1. it did not include `unlock`
2. the pallet's unit tests were missing an update

## Integration

N/A

## Review Notes

This is as https://github.com/paritytech/polkadot-sdk/pull/6261 was, so
it is a trivial change.

* Increase default trie cache size to 1GiB (#6546)

The default trie cache size before was set to `64MiB`, which is quite
low to achieve real speed ups. `1GiB` should be a reasonable number as
the requirements for validators/collators/full nodes are much higher
when it comes to minimum memory requirements. Also the cache will not
use `1GiB` from the start and fills over time. The setting can be
changed by setting `--trie-cache-size BYTE_SIZE`.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Bridges testing improvements (#6536)

This PR includes:  
- Refactored integrity tests to support standalone deployment of
`pallet-bridge-messages`.
- Refactored the `open_and_close_bridge_works` test case to support
multiple scenarios, such as:
  1. A local chain opening a bridge.  
  2. Sibling parachains opening a bridge.  
  3. The relay chain opening a bridge.  
- Previously, we added instance support for `pallet-bridge-relayer` but
overlooked updating the `DeliveryConfirmationPaymentsAdapter`.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Migrate pallet-scheduler benchmark to v2 (#6292)

Part of:

- #6202.

---------

Signed-off-by: default avatarXavier Lau <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>

* Removes constraint in `BlockNumberProvider` from treasury (#6522)

https://github.com/paritytech/polkadot-sdk/pull/3970 updated the
treasury pallet to support relay chain block number provider. However,
it added a constraint to the BlockNumberProvider to have the same block
number type as frame_system:

```rust
type BlockNumberProvider: BlockNumberProvider<BlockNumber = BlockNumberFor<Self>>;
```

This PR removes that constraint as suggested by @gui1117

* revive: Bump connect timeout to fix flaky tests (#6567)

The eth RPC tests fail sometimes because they run into a connect timeout
because the node takes a long time to start. This bumps the connect
timeout from 30 to 120 seconds. Locally they take around 40s for me.

As a drive by I also remove a apparently duplicated nextest config.

---------

Co-authored-by: default avatarordian <[email protected]>

* network-gossip: Ensure sync event is processed on unknown peer roles  (#6553)

The `GossipEngine::poll_next` implementation polls both the
`notification_service` and the `sync_event_stream`.

If both polls produce valid data to be processed
(`Poll::Ready(Some(..))`), then the sync event is ignored when we
receive `NotificationEvent::NotificationStreamOpened` and the role
cannot be deduced.

This PR ensures both events are processed gracefully. While at it, I
have added a warning to the sync engine related to
`notification_service` producing `Poll::Ready(None)`.

This effectively ensures that `SyncEvents` propagate to the network
potentially fixing any state mismatch.


For more context: https://github.com/paritytech/polkadot-sdk/issues/6507

cc @paritytech/sdk-node

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* slot-based-collator: Move spawning of the futures (#6561)

Move spawning of the slot-based collator into the `run` function. Also
the tasks are being spawned as blocking task and not just as normal
tasks.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* github/workflows: add ARM macos build binaries job (#6427)

# Description

This PR adds the required changes to release `polkadot`,
`polkadot-parachain` and `polkadot-omni-node` binaries built on Apple
Sillicon macos.

## Integration

This addresses requests from the community for such binaries: #802, and
they should be part of the Github release page.

## Review Notes

Test on paritytech-stg solely focused on macos binaries:
https://github.com/paritytech-stg/polkadot-sdk/actions/runs/11824692766/job/32946793308,
except the steps related to `pgpkms` (which need AWS credentials,
missing from paritytech-stg). The binary names don't have a `darwin-arm`
identifier, and conflict with the existing x86_64-linux binaries. I
haven't tested building everything on `paritytech-stg` because the
x86_64-linux builds run on `unbutu-latest-m` which isn't enabled on
`pairtytech-stg` (and I haven't asked CI team to enable one), so testing
how to go around naming conflicts should be covered next.

### TODO

- [x] Test the workflow start to end (especially the last bits related
to uploading the binaries on S3 and ensuring the previous binaries and
the new ones coexist harmoniously on S3/action artifacts storage without
naming conflicts) @EgorPopelyaev
- [x] Publish the arm binaries on the Github release page - to clarify
what's needed @iulianbarbu

 . Current practice is to manually publish the
binaries built via `release-build-rc.yml` workflow, taken from S3. Would
be great to have the binaries there in the first place before working on
automating this, but I would also do it in a follow up PR.

### Follow ups

- [ ] unify the binaries building under
`release-30_publish_release_draft.yml` maybe?
- [ ] automate binary artifacts upload to S3 in
`release-30_publish_release_draft.yml`

---------

Signed-off-by: default avatarIulian Barbu <[email protected]>
Co-authored-by: default avatarEgorPopelyaev <[email protected]>

* [Fix|NominationPools] Only allow apply slash to be executed if the slash amount is atleast ED (#6540)

This change prevents `pools::apply_slash` from being executed when the
pending slash amount of the member is lower than the ED.

The issue came to light with the failing [benchmark
test](https://github.com/polkadot-fellows/runtimes/actions/runs/11879471717/job/33101445269?pr=490#step:11:765)
in Kusama. The problem arises from the inexact conversion between points
and balance. Specifically, when points are converted to balance and then
back to points, rounding can introduce a small discrepancy between the
input and the resulting value. This issue surfaced in Kusama due to its
ED being different from Westend and Polkadot (1 UNIT/300), making the
rounding issue noticeable.

This fix is also significant because applying a slash is feeless and
permissionless. Allowing super small slash amounts to be applied without
a fee is undesirable. With this change, such small slashes will still be
applied but only when member funds are withdrawn.

---------

Co-authored-by: default avatarDónal Murray <[email protected]>

* parachain-template-node: add properties for dev chain-spec (#6560)

# Description

Reused as before the `properties` variable when defining a development
chain spec for parachain-template-node.

## Integration

N/A

## Review Notes

One line change, pretty self explanatory (it got lost within the history
of changes over the parachain-template-node/chain_spec.rs file). To be
honest, not really sure how useful it is, but I had the choice of
removing the `properties` var or reuse it as before, and I went with the
latter.

Signed-off-by: default avatarIulian Barbu <[email protected]>

* [pallet-revive] Support all eth tx types (#6461)

Add support for all eth tx types
Note that js libs will continue to use the Legacy type since we don't
include base_fee_per_gas yet in the block.
We can think about setting these values after we revisit how we encode
the gas into weight & deposit_limit in a follow up PR

---------

Co-authored-by: default avatarAlexander Theißen <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* Adds `BlockNumberProvider` in multisig, proxy and nft pallets (#5723)

Step in https://github.com/paritytech/polkadot-sdk/issues/3268

This PR adds the ability for these pallets to specify their source of
the block number. This is useful when these pallets are migrated from
the relay chain to a parachain and vice versa.

This change is backwards compatible:
1. If the `BlockNumberProvider` continues to use the system pallet's
block number
2. When a pallet deployed on the relay chain is moved to a parachain,
but still uses the relay chain's block number

However, we would need migrations if the deployed pallets are upgraded
on an existing parachain, and the `BlockNumberProvider` uses the relay
chain block number.

---------

Co-authored-by: default avatarKian Paimani <[email protected]>

* Only mess with coretime if we are registering an actual parachain. (#6554)

Co-authored-by: default avatarRobert <[email protected]>
Co-authored-by: default avatarordian <[email protected]>

* Notify telemetry only every second about the tx pool status (#6605)

Before this was done for every imported transaction. When a lot of
transactions got imported, the import notification channel was filled.
The underlying problem was that the `status` call is read locking the
`validated_pool` which will be write locked by the internal submitting
logic. Thus, the submitting and status reading was interferring which
each other.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Fixes cfg attributes in runtime macro (#6410)

Fixes https://github.com/paritytech/polkadot-sdk/issues/6209

This PR adds the support for cfg attributes in the runtime macro.

---------

Co-authored-by: default avatarBastian Köcher <[email protected]>

* ci: fix node-bench-regression-guard for master (#6589)

Closes https://github.com/paritytech/ci_cd/issues/1067

* Error logging for send xcm to pallet-xcm (#6579)

* ci: improve workflow-stopper ux (#6632)

PR addresses
https://github.com/paritytech/polkadot-sdk/pull/6265#issuecomment-2497506857

cc https://github.com/paritytech/ci_cd/issues/1084

* remove ReportCollator message (#6628)

Closes #6415 

# Description

Remove unused message `ReportCollator` and test related to this message
on the collator protocol validator side.

cc: @tdimitrov



---------

Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
Co-authored-by: command-bot <>

* rpc server: fix subscription id_provider being reset to default one. (#6588)

# Description

The PR ensures that the id_provider variable is cloned instead of taken,
which can help prevent issues related id provider being reset to the
default.

In [a test in
moonbeam](https://github.com/moonbeam-foundation/moonbeam/blob/c6d07d703dfcdd94cc311fa83b553071b7d433ff/test/suites/dev/moonbase/test-subscription/test-subscription.ts#L20-L31)
we found that the id_provider is being reset somehow and changed to the
default one. Changing .take() to .clone() would fix the issue.


# Checklist

* [x] My PR includes a detailed description as outlined in the
"Description" and its two subsections above.
* [ ] My PR follows the [labeling requirements](

https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process
) of this project (at minimum one label for `T` required)
* External contributors: ask maintainers to put the right label on your
PR.
* [ ] I have made corresponding changes to the documentation (if
applicable)
* [ ] I have added tests that prove my fix is effective or that my
feature works (if applicable)

---------

Co-authored-by: default avatarNiklas Adolfsson <[email protected]>

* bump zombienet-sdk version `v0.2.16` (#6633)

Fix #6575.

cc: @iulianbarbu



Co-authored-by: default avatarIulian Barbu <[email protected]>

* Bump rustls from 0.23.14 to 0.23.18 (#6641)

Bumps [rustls](https://github.com/rustls/rustls) from 0.23.14 to
0.23.18.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rustls/rustls/commit/33af2c38b0f1e4abf44d59d5b74ccf12f5cf5e56"><code>33af2c3</code></a>
Prepare 0.23.18</li>
<li><a
href="https://github.com/rustls/rustls/commit/ffe646d1ff07d3e1d9f009daadd94228d462425d"><code>ffe646d</code></a>
Add reproducer for bug 2227</li>
<li><a
href="https://github.com/rustls/rustls/commit/69b6f7473a7ae096a9cf9e2d6eb3cd8b22743597"><code>69b6f74</code></a>
Record and restore the processed cursor in first_handshake_message</li>
<li><a
href="https://github.com/rustls/rustls/commit/4ef3532cf2fceda9fdd19947f871adf7020d0b49"><code>4ef3532</code></a>
Upgrade to mio 1</li>
<li><a
href="https://github.com/rustls/rustls/commit/092a16427e81e58ecd6bcfdacc0b49f02bad8db3"><code>092a164</code></a>
Manage dependencies via the workspace</li>
<li><a
href="https://github.com/rustls/rustls/commit/a01bd6bcb536c6cdd490942b0eae2903abcfcab3"><code>a01bd6b</code></a>
rustls-bench: fix warnings with no features</li>
<li><a
href="https://github.com/rustls/rustls/commit/7d74de2c1bdf265531036f50abd3fc04df8c148a"><code>7d74de2</code></a>
tests: linearize new test code helper</li>
<li><a
href="https://github.com/rustls/rustls/commit/499d797b267e0b548fef5225b044b99fc215a8ff"><code>499d797</code></a>
fix: do not send session_ticket(35) extension for TLS 1.3</li>
<li><a
href="https://github.com/rustls/rustls/commit/faca28904efcb3b5a4a5f05be8e03374bf5086df"><code>faca289</code></a>
chore(deps): lock file maintenance</li>
<li><a
href="https://github.com/rustls/rustls/commit/d12f42385c2da74e1ec16826af68d17a13101152"><code>d12f423</code></a>
fix(deps): update rust crate asn1 to 0.20</li>
<li>Additional commits viewable in <a
href="https://github.com/rustls/rustls/compare/v/0.23.14...v/0.23.18">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls&package-manager=cargo&previous-version=0.23.14&new-version=0.23.18)](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] <[email protected]>
Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci/check-semver: Fix semver failed step (#6535)

The semver-check is failing with the following
[error](https://github.com/paritytech/polkadot-sdk/actions/runs/11908981132/job/33185572284):

```bash
error[E0658]: use of unstable library feature 'error_in_core'
  --> /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/frame-decode-0.5.0/src/decoding/extrinsic_decoder.rs:56:6
   |
56 | impl core::error::Error for ExtrinsicDecodeError {}
   |      ^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #103765 <https://github.com/rust-lang/rust/issues/103765> for more information
   = help: add `#![feature(error_in_core)]` to the crate attributes to enable
   = note: this compiler was built on 2024-05-31; consider upgrading it if it is out of date
```

This is related to the toolchain nightly version 1.80. In rust, 1.81 the
`core::error::Error` is stable.

After updating the rust-toolchain, parity-publish crate must be updated
as well.
The `cargo-semver-checks` dependency of `parity-publish` crate is
updated from 0.34 to 0.38.
This update enables rustdoc v36 that fixes the following
[issue](https://github.com/paritytech/polkadot-sdk/actions/runs/11912689841/job/33196936011):


```bash
 validating prdocs...
checking file changes...
checking semver changes...
(1/18) building frame-support-HEAD...
(2/18) building frame-support-28.0.0...
Error: rustdoc format v36 for file /__w/polkadot-sdk/polkadot-sdk/target/doc/frame_support.new is not supported
```

This PR is pending on a release of parity-publish to version 0.9.0
(fixes already on origin/master)

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* [Release|CI/CD] Github pipeline to publish polkadot deb package (#6640)

This pipeline should replace a manual action done on the `cleamroom`
server to publish the `polkadot` deb package to our apt repo with the
pipeline triggered from the new paritytech-release org.
Right now, this is done manually by running the
[add-packages.sh](https://github.com/paritytech/cleanroom/blob/master/ansible/roles/parity-repos/files/add-packages.sh)
script on the `cleanroom` machine.
What is done under the hood:
- Pipeline downloads `polakdot` deb package from S3, that was prebuilt
in the [Build release rc
pipeline](https://github.com/paritytech/polkadot-sdk/blob/master/.github/workflows/release-build-rc.yml)
- Prepares and syncs local apt repository
- Adds and signs deb package to it using `reprepro`
- Uploads new deb package to the distributed repo

Closes: https://github.com/paritytech/release-engineering/issues/239

* xcm: fix local/remote exports when inner routers return `NotApplicable` (#6645)

This PR addresses two small fixes:  

1. Fixed a typo ("as as") found on the way.  
2. Resolved a bug in the `local/remote exporters` used for bridging.
Previously, they consumed `dest` and `msg` without returning them when
inner routers/exporters failed with `NotApplicable`. This PR ensures
compliance with the
[`SendXcm`](https://github.com/paritytech/polkadot-sdk/blob/master/polkadot/xcm/src/v5/traits.rs#L449-L450)
and
[`ExportXcm`](https://github.com/paritytech/polkadot-sdk/blob/master/polkadot/xcm/xcm-executor/src/traits/export.rs#L44-L45)
traits.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Zero refund check for FungibleAdapter (#6506)

`FungibleAdapter` will now check if the _refund amount_ is zero before
calling deposit & emitting an event.

Fixes https://github.com/paritytech/polkadot-sdk/issues/6469.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Hide nonce implementation details in metadata (#6562)

See https://github.com/polkadot-fellows/runtimes/issues/248 : using
`TypeWithDefault` having derived `TypeInfo` for `Nonce` causes a
breaking change in metadata for nonce type because it's no longer `u64`.

Adding a default implementation of `TypeInfo` for `TypeWithDefault` to
restore the original type info in metadata.

---------

Co-authored-by: default avatarKian Paimani <[email protected]>

* Fix `XcmPaymentApi::query_weight_to_asset_fee` version conversion (#6459)

The `query_weight_to_asset_fee` function was trying to convert versions
by using `try_as`, this function [doesn't convert from a versioned to a
concrete
type](https://github.com/paritytech/polkadot-sdk/blob/0156ca8f/polkadot/xcm/src/lib.rs#L131).
This would cause all calls with a lower version to fail.

The correct function to use is the good old
[try_into](https://github.com/paritytech/polkadot-sdk/blob/0156ca8f

/polkadot/xcm/src/lib.rs#L184).
Now those calls work :)

---------

Co-authored-by: command-bot <>
Co-authored-by: default avatarBranislav Kontur <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* Add stable2412 to target_branches for command-backport.yml (#6666)

The backport bot opens PR for `A4-needs-backport` only for stable2407
stable2409, but we have already stable2412.

The question is, when should we append a new `stable*` branch here?
Should it be done when a new `stable*` branch is created? Can we
automate this process somehow?

* litep2p/req-resp: Always provide main protocol name in responses (#6603)

Request responses are initialized with a main protocol name, and
optional protocol names as a fallback.

Running litep2p in kusama as a validator has surfaced a `debug_asserts`
coming from the sync component:

https://github.com/paritytech/polkadot-sdk/blob/3906c578

/substrate/client/network/sync/src/strategy/chain_sync.rs#L640-L646

The issue is that we initiate a request-response over the main protocol
name `/genesis/sync/2` but receive a response over the legacy procotol
`ksm/sync/2`. This behavior is correct because litep2p propagates to the
higher levels the protocol that responded.

In contrast, libp2p provides the main protocol name regardless of
negotiating a legacy protocol.

Because of this, higher level components assume that only the main
protocol name will respond.
To not break this assumption, this PR alings litep2p shim layer with the
libp2p behavior.


Closes: https://github.com/paritytech/polkadot-sdk/issues/6581

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarDmitry Markin <[email protected]>

* v16: Expose the unstable metadata v16 (#5732)

This PR exposes the *unstable* metadata V16. The metadata is exposed
under the unstable u32::MAX number.

Developers can start experimenting with the new features of the metadata
v16. *Please note that this metadata is under development and expect
breaking changes until stabilization.*

The `ExtrinsicMetadata` trait receives a breaking change. Its associated
type `VERSION` is rename to `VERSIONS` and now supports a constant
static list of metadata versions.
The versions implemented for `UncheckedExtrinsic` are v4 (legacy
version) and v5 (new version).

For metadata collection, it is assumed that all `TransactionExtensions`
are under version 0.

Builds on top of: https://github.com/paritytech/polkadot-sdk/pull/5274

Closes: https://github.com/paritytech/polkadot-sdk/issues/5980
Closes: https://github.com/paritytech/polkadot-sdk/issues/5347
Closes: https://github.com/paritytech/polkadot-sdk/issues/5285

cc @paritytech/subxt-team

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarJames Wilson <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* rpc-v2: Implement `archive_unstable_storageDiff` (#5997)

This PR implements the `archive_unstable_storageDiff`.

The implementation follows the rpc-v2 spec from:
-  https://github.com/paritytech/json-rpc-interface-spec/pull/159.
- builds on top of
https://github.com/paritytech/json-rpc-interface-spec/pull/161

cc @paritytech/subxt-team

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarJames Wilson <[email protected]>

* chain-spec-guide-runtime: path to wasm blob fixed (#6673)

In `chain-spec-guide-runtime` crate's tests, there was assumption that
release version of wasm blob exists. This PR uses
`chain_spec_guide_runtime::runtime::WASM_BINARY_PATH` const to use
correct path to runtime blob.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* chore: Update litep2p to v0.8.2 (#6677)

This includes a critical fix for debug release versions of litep2p
(which are running in Kusama as validators).

While at it, have stopped the oncall pain of alerts around
`incoming_connections_total`. We can rethink the metric expose of
litep2p in Q1.





## [0.8.2] - 2024-11-27

This release ensures that the provided peer identity is verified at the
crypto/noise protocol level, enhancing security and preventing potential
misuses.
The release also includes a fix that caused `TransportService` component
to panic on debug builds.

### Fixed

- req-resp: Fix panic on connection closed for substream open failure
([#291](https://github.com/paritytech/litep2p/pull/291))
- crypto/noise: Verify crypto/noise signature payload
([#278](https://github.com/paritytech/litep2p/pull/278))

### Changed

- transport_service/logs: Provide less details for trace logs
([#292](https://github.com/paritytech/litep2p/pull/292))


## Testing Done

This has been extensively tested in Kusama on all validators, that are
now running litep2p.

Deployed PR: https://github.com/paritytech/polkadot-sdk/pull/6638

### Litep2p Dashboards
![Screenshot 2024-11-26 at 19 19
41](https://github.com/user-attachments/assets/e00b2b2b-7e64-4d96-ab26-165e2b8d0dc9)


### Libp2p vs Litep2p CPU usage

After deploying litep2p we have reduced CPU usage from around 300-400%
to 200%, this is a significant boost in performance, freeing resources
for other subcomponents to function more optimally.


![image(1)](https://github.com/user-attachments/assets/fa793df5-4d58-4601-963d-246e56dd2a26)



cc @paritytech/sdk-node

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>

* Multiple instances for pallet-bridge-relayers fix (#6684)

Previously, we added multi-instance pallet support for
`pallet-bridge-relayers`, but missed fixing it in this one place.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarAdrian Catangiu <[email protected]>

* Migrating pallet-xcm-benchmarks to V2 (#6618)

# Description
Migrated pallet-xcm-benchmarks to benchmaking syntax V2
This is part of #6202

---------

Co-authored-by: default avatarGiuseppe Re <[email protected]>

* Migrating pallet-state-trie-migration to benchmarking V2 (#6617)

# Description
Migrated pallet-state-trie-migration benchmarking to the new
benchmarking syntax v2.
This is part of #6202

Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>

* [pallet-revive] bugfix decoding 64bit args in the decoder (#6695)

The argument index of the next argument is dictated by the size of the
current one.

---------

Signed-off-by: default avatarxermicus <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarAlexander Theißen <[email protected]>

* Expose types from `sc-service` (#5855)

# Description

At moonbeam we have worked on a `lazy-loading` feature which is a client
mode that forks a live parachain and fetches its state on-demand, we
have been able to do this by duplicating some code from
`sc_service::client`. The objective of this PR is to simplify the
implementation by making public some types in polkadot-sdk.

- Modules:
- `sc_service::client` **I do not see a point to only expose this type
when `test-helpers` feature is enabled**

## Integration

Not applicable, the PR just makes some types public.

## Review Notes

The changes included in this PR give more flexibility for client
developers by exposing important types.

* ci: update nightly in ci-unified to 2024-11-19 (#6691)

cc https://github.com/paritytech/ci_cd/issues/1088

* Migrate pallet-preimage to benchmark v2 (#6277)

Part of:

- #6202.

---------

Co-authored-by: default avatarGiuseppe Re <[email protected]>
Co-authored-by: command-bot <>

* pallet_revive: Switch to 64bit RISC-V (#6565)

This PR updates pallet_revive to the newest PolkaVM version and adapts
the test fixtures and syscall interface to work under 64bit.

Please note that after this PR no 32bit contracts can be deployed (they
will be rejected at deploy time). Pre-deployed 32bit contracts are now
considered defunct since we changes how parameters are passed for
functions with more than 6 arguments.

## Fixtures

The fixtures are now built for the 64bit target. I also removed the
temporary directory mechanism that triggered a full rebuild every time.
It also makes it easier to find the compiled fixtures since they are now
always in `target/pallet-revive-fixtures`.

## Syscall interface

### Passing pointer

Registers and pointers are now 64bit wide. This allows us to pass u64
arguments in a single register. Before we needed two registers to pass
them. This means that just as before we need one register per pointer we
pass. We keep pointers as `u32` argument by truncating the register.
This is done since the memory space of PolkaVM is 32bit.

### Functions with more than 6 arguments

We only have 6 registers to pass arguments. This is why we pass a
pointer to a struct when we need more than 6. Before this PR we expected
a packed struct and interpreted it as SCALE encoded tuple. However, this
was buggy because the `MaxEncodedLen` returned something that was larger
than the packed size of the structure. This wasn't a problem before. But
now the memory space changed in a way that things were placed at the
edges of the memory space and those extra bytes lead to an out of bound
access.

This is why this PR drops SCALE and expects the arguments to be passed
as a pointer to a `C` aligned struct. This avoids unaligned accesses.
However, revive needs to adapt its codegen to properly align the
structure fields.

## TODO
- [ ] Add multi block migration that wipes all existing contracts as we
made breaking changes to the syscall interface

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Fix runtime api impl detection by construct runtime (#6665)

Construct runtime uses autoref-based specialization to fetch the
metadata about the implemented runtime apis. This is done to not fail to
compile when there are no runtime apis implemented. However, there was
an issue with detecting runtime apis when they were implemented in a
different file. The problem is solved by moving the trait implemented by
`impl_runtime_apis!` to the metadata ir crate.


Closes: https://github.com/paritytech/polkadot-sdk/issues/6659

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* archive: Refactor `archive_storage` method into subscription (#6483)

This PR adapts the `archive_storage` implementation from a method to a
subscription.

This keeps the archive APIs uniform and consistent.

Builds on: https://github.com/paritytech/polkadot-sdk/pull/5997

cc @paritytech/subxt-team

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarJames Wilson <[email protected]>

* Update scale-info to 2.11.6 (#6681)

# Description

Updates scale-info to from 2.11.5 2.11.6, so that generated code is
annotated with `allow(deprecated)`
Pre-requisite for https://github.com/paritytech/polkadot-sdk/pull/6312

* People chain integration tests (#6377)

# Description

Made as a follow-up of
https://github.com/polkadot-fellows/runtimes/pull/499

## Integration

N/A

## Review Notes

N/A

---------

Co-authored-by: default avatarDónal Murray <[email protected]>

* network/libp2p-backend: Suppress warning adding already reserved node as reserved (#6703)

Fixes https://github.com/paritytech/polkadot-sdk/issues/6598.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Let's be a bit less strict here. (#6662)

This might actually happen in non malicious cases.

Co-authored-by: default avatareskimor <[email protected]>

* [pallet-revive] eth-prc fix geth diff (#6608)

* Add a bunch of differential tests to ensure that responses from
eth-rpc matches the one from `geth`
- These
[tests](https://github.com/paritytech/polkadot-sdk/blob/pg/fix-geth-diff/substrate/frame/revive/rpc/examples/js/src/geth-diff.test.ts)
are not run in CI for now but can be run locally with
```bash
cd revive/rpc/examples/js
bun test
```

* EVM RPC server will not fail gas_estimation if no gas is specified, I
updated pallet-revive to add an extra `skip_transfer` boolean check to
replicate this behavior in our pallet

* `eth_transact` and `bare_eth_transact` api have been updated to use
`GenericTransaction` directly as this is what is used by
`eth_estimateGas` and `eth_call`

## TODO

- [ ]  Add tests the new `skip_transfer` flag

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarAlexander Theißen <[email protected]>

* Bump the ci_dependencies group across 1 directory with 3 updates (#6516)

Bumps the ci_dependencies group with 3 updates in the / directory:
[lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action),
[actions/attest-build-provenance](https://github.com/actions/attest-build-provenance)
and [codecov/codecov-action](https://github.com/codecov/codecov-action).

Updates `lycheeverse/lychee-action` from 2.0.2 to 2.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/lycheeverse/lychee-action/releases">lycheeverse/lychee-action's
releases</a>.</em></p>
<blockquote>
<h2>Version 2.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Add missing argument <code>failIfEmpty</code> by <a
href="https://github.com/LitoMore"><code>@​LitoMore</code></a> in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/261">lycheeverse/lychee-action#261</a></li>
<li>Fix bugs about the exit code by <a
href="https://github.com/YDX-2147483647"><code>@​YDX-2147483647</code></a>
in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/262">lycheeverse/lychee-action#262</a></li>
<li>Bump lychee version to 0.17.0 by <a
href="https://github.com/mre"><code>@​mre</code></a> in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/263">lycheeverse/lychee-action#263</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/LitoMore"><code>@​LitoMore</code></a>
made their first contribution in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/261">lycheeverse/lychee-action#261</a></li>
<li><a
href="https://github.com/YDX-2147483647"><code>@​YDX-2147483647</code></a>
made their first contribution in <a
href="https://redirect.github.com/lycheeverse/lychee-action/pull/262">lycheeverse/lychee-action#262</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/lycheeverse/lychee-action/compare/v2...v2.1.0">https://github.com/lycheeverse/lychee-action/compare/v2...v2.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/f81112d0d2814ded911bd23e3beaa9dda9093915"><code>f81112d</code></a>
Bump version to 0.17.0 (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/263">#263</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/988c4c129a79e6d2aa7e28cc1ec14997c3b4e831"><code>988c4c1</code></a>
Fix bugs about the exit code (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/262">#262</a>)</li>
<li><a
href="https://github.com/lycheeverse/lychee-action/commit/ae4699150ab670dcfb64cc74e8680e776d9caae2"><code>ae46991</code></a>
Add missing argument <code>failIfEmpty</code> (<a
href="https://redirect.github.com/lycheeverse/lychee-action/issues/261">#261</a>)</li>
<li>See full diff in <a
href="https://github.com/lycheeverse/lychee-action/compare/7cd0af4c74a61395d455af97419279d86aafaede...f81112d0d2814ded911bd23e3beaa9dda9093915">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/attest-build-provenance` from 1.4.3 to 1.4.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/attest-build-provenance/releases">actions/attest-build-provenance's
releases</a>.</em></p>
<blockquote>
<h2>v1.4.4</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump predicate action from 1.1.3 to 1.1.4 by <a
href="https://github.com/bdehamer"><code>@​bdehamer</code></a> in <a
href="https://redirect.github.com/actions/attest-build-provenance/pull/310">actions/attest-build-provenance#310</a>
<ul>
<li>Bump <code>@​actions/core</code> from 1.10.1 to 1.11.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/attest-build-provenance/pull/275">actions/attest-build-provenance#275</a></li>
<li>Bump <code>@​actions/attest</code> from 1.4.2 to 1.5.0 by <a
href="https://github.com/bdehamer"><code>@​bdehamer</code></a> in <a
href="https://redirect.github.com/actions/attest-build-provenance/pull/309">actions/attest-build-provenance#309</a>
<ul>
<li>Fix SLSA provenance bug related to <code>workflow_ref</code> OIDC
token claims containing the &quot;@&quot; symbol in the tag name (<a
href="https://redirect.github.com/actions/toolkit/pull/1863">actions/toolkit#1863</a>)</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/attest-build-provenance/compare/v1.4.3...v1.4.4">https://github.com/actions/attest-build-provenance/compare/v1.4.3...v1.4.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/ef244123eb79f2f7a7e75d99086184180e6d0018"><code>ef24412</code></a>
bump predicate from 1.1.3 to 1.1.4 (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/310">#310</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/36fa7d009e22618ca7cd599486979b8150596c74"><code>36fa7d0</code></a>
bump <code>@​actions/attest</code> from 1.4.2 to 1.5.0 (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/309">#309</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/390c0bb1a35248f1131918ae2ff5fbebb9c49da4"><code>390c0bb</code></a>
Bump <code>@​types/node</code> from 22.8.1 to 22.8.7 in the
npm-development group (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/305">#305</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/21da615079f466933bace548cfb08958dd87adbb"><code>21da615</code></a>
Bump the npm-development group with 3 updates (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/299">#299</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/0704961b8bd76c74543032539a4b87550ca97441"><code>0704961</code></a>
Bump actions/publish-immutable-action in the actions-minor group (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/298">#298</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/d01b0709fadd560939726341a0459eef1833df34"><code>d01b070</code></a>
Bump the npm-development group with 3 updates (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/278">#278</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/b1d65e4607685bd199bc1fa97811cbac797bd0ab"><code>b1d65e4</code></a>
Add workflow file for publishing releases to immutable action package
(<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/277">#277</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/3a2769405e23849cccd820e7eab22ac9e0f57754"><code>3a27694</code></a>
Bump <code>@​actions/core</code> from 1.10.1 to 1.11.1 (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/275">#275</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/dff1ae69a71254b807bee9e2f72c7ab0eed66e60"><code>dff1ae6</code></a>
prevent e2e workflows on forks (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/272">#272</a>)</li>
<li><a
href="https://github.com/actions/attest-build-provenance/commit/e5892d032c30c69d4973a976c8bf77e9e470abdf"><code>e5892d0</code></a>
Bump the npm-development group with 3 updates (<a
href="https://redirect.github.com/actions/attest-build-provenance/issues/263">#263</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/attest-build-provenance/compare/1c608d11d69870c2092266b3f9a6f3abbf17002c...ef244123eb79f2f7a7e75d99086184180e6d0018">compare
view</a></li>
</ul>
</details>
<br />

Updates `codecov/codecov-action` from 4 to 5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/codecov/codecov-action/releases">codecov/codecov-action's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.0</h2>
<h2>v5 Release</h2>
<p><code>v5</code> of the Codecov GitHub Action will use the <a
href="https://github.com/codecov/wrapper">Codecov Wrapper</a> to
encapsulate the <a
href="https://github.com/codecov/codecov-cli">CLI</a>. This will help
ensure that the Action gets updates quicker.</p>
<h3>Migration Guide</h3>
<p>The <code>v5</code> release also coincides with the opt-out feature
for tokens for public repositories. In the <code>Global Upload
Token</code> section of the settings page of an organization in
codecov.io, you can set the ability for Codecov to receive a coverage
reports from any source. This will allow contributors or other members
of a repository to upload without needing access to the Codecov token.
For more details see <a
href="https://docs.codecov.com/docs/codecov-tokens#uploading-without-a-token">how
to upload without a token</a>.</p>
<blockquote>
<p>[!WARNING]<br />
<strong>The following arguments have been changed</strong></p>
<ul>
<li><code>file</code> (this has been deprecated in favor of
<code>files</code>)</li>
<li><code>plugin</code> (this has been deprecated in favor of
<code>plugins</code>)</li>
</ul>
</blockquote>
<p>The following arguments have been added:</p>
<ul>
<li><code>binary</code></li>
<li><code>gcov_args</code></li>
<li><code>gcov_executable</code></li>
<li><code>gcov_ignore</code></li>
<li><code>gcov_include</code></li>
<li><code>report_type</code></li>
<li><code>skip_validation</code></li>
<li><code>swift_project</code></li>
</ul>
<p>You can see their usage in the <code>action.yml</code> <a
href="https://github.com/codecov/codecov-action/blob/main/action.yml">file</a>.</p>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): bump to eslint9+ and remove eslint-config-google by <a
href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1591">codecov/codecov-action#1591</a></li>
<li>build(deps-dev): bump <code>@​octokit/webhooks-types</code> from
7.5.1 to 7.6.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1595">codecov/codecov-action#1595</a></li>
<li>build(deps-dev): bump typescript from 5.6.2 to 5.6.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1604">codecov/codecov-action#1604</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
8.8.0 to 8.8.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1601">codecov/codecov-action#1601</a></li>
<li>build(deps): bump <code>@​actions/core</code> from 1.11.0 to 1.11.1
by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1597">codecov/codecov-action#1597</a></li>
<li>build(deps): bump github/codeql-action from 3.26.9 to 3.26.11 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1596">codecov/codecov-action#1596</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.8.0 to 8.8.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1600">codecov/codecov-action#1600</a></li>
<li>build(deps-dev): bump eslint from 9.11.1 to 9.12.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1598">codecov/codecov-action#1598</a></li>
<li>build(deps): bump github/codeql-action from 3.26.11 to 3.26.12 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1609">codecov/codecov-action#1609</a></li>
<li>build(deps): bump actions/checkout from 4.2.0 to 4.2.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1608">codecov/codecov-action#1608</a></li>
<li>build(deps): bump actions/upload-artifact from 4.4.0 to 4.4.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1607">codecov/codecov-action#1607</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
8.8.1 to 8.9.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1612">codecov/codecov-action#1612</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.8.1 to 8.9.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1611">codecov/codecov-action#1611</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.9.0 to 8.10.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1615">codecov/codecov-action#1615</a></li>
<li>build(deps-dev): bump eslint from 9.12.0 to 9.13.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1618">codecov/codecov-action#1618</a></li>
<li>build(deps): bump github/codeql-action from 3.26.12 to 3.26.13 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1617">codecov/codecov-action#1617</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
8.9.0 to 8.10.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1614">codecov/codecov-action#1614</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.10.0 to 8.11.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1620">codecov/codecov-action#1620</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
8.10.0 to 8.11.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1619">codecov/codecov-action#1619</a></li>
<li>build(deps-dev): bump <code>@​types/jest</code> from 29.5.13 to
29.5.14 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1622">codecov/codecov-action#1622</a></li>
<li>build(deps): bump actions/checkout from 4.2.1 to 4.2.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1625">codecov/codecov-action#1625</a></li>
<li>build(deps): bump github/codeql-action from 3.26.13 to 3.27.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1624">codecov/codecov-action#1624</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.11.0 to 8.12.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1626">codecov/codecov-action#1626</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.12.1 to 8.12.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1629">codecov/codecov-action#1629</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md">codecov/codecov-action's
changelog</a>.</em></p>
<blockquote>
<h2>4.0.0-beta.2</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/1085">#1085</a>
not adding -n if empty to do-upload command</li>
</ul>
<h2>4.0.0-beta.1</h2>
<p><code>v4</code> represents a move from the <a
href="https://github.com/codecov/uploader">universal uploader</a> to the
<a href="https://github.com/codecov/codecov-cli">Codecov CLI</a>.
Although this will unlock new features for our users, the CLI is not yet
at feature parity with the universal uploader.</p>
<h3>Breaking Changes</h3>
<ul>
<li>No current support for <code>aarch64</code> and <code>alpine</code>
architectures.</li>
<li>Tokenless uploading is unsuported</li>
<li>Various arguments to the Action have been removed</li>
</ul>
<h2>3.1.4</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/967">#967</a>
Fix typo in README.md</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/971">#971</a>
fix: add back in working dir</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/969">#969</a>
fix: CLI option names for uploader</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/970">#970</a>
build(deps-dev): bump <code>@​types/node</code> from 18.15.12 to
18.16.3</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/979">#979</a>
build(deps-dev): bump <code>@​types/node</code> from 20.1.0 to
20.1.2</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/981">#981</a>
build(deps-dev): bump <code>@​types/node</code> from 20.1.2 to
20.1.4</li>
</ul>
<h2>3.1.3</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/960">#960</a>
fix: allow for aarch64 build</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/957">#957</a>
build(deps-dev): bump jest-junit from 15.0.0 to 16.0.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/958">#958</a>
build(deps): bump openpgp from 5.7.0 to 5.8.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/959">#959</a>
build(deps-dev): bump <code>@​types/node</code> from 18.15.10 to
18.15.12</li>
</ul>
<h2>3.1.2</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/718">#718</a>
Update README.md</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/851">#851</a>
Remove unsupported path_to_write_report argument</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/898">#898</a>
codeql-analysis.yml</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/901">#901</a>
Update README to contain correct information - inputs and negate
feature</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/955">#955</a>
fix: add in all the extra arguments for uploader</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/819">#819</a>
build(deps): bump openpgp from 5.4.0 to 5.5.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/835">#835</a>
build(deps): bump node-fetch from 3.2.4 to 3.2.10</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/840">#840</a>
build(deps): bump ossf/scorecard-action from 1.1.1 to 2.0.4</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/841">#841</a>
build(deps): bump <code>@​actions/core</code> from 1.9.1 to 1.10.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/843">#843</a>
build(deps): bump <code>@​actions/github</code> from 5.0.3 to 5.1.1</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/869">#869</a>
build(deps): bump node-fetch from 3.2.10 to 3.3.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/872">#872</a>
build(deps-dev): bump jest-junit from 13.2.0 to 15.0.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/879">#879</a>
build(deps): bump decode-uri-component from 0.2.0 to 0.2.2</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/codecov/codecov-action/commit/5c47607acb93fed5485fdbf7232e8a31425f672a"><code>5c47607</code></a>
fix: override commit and pr values for PR cases (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1657">#1657</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/3b1354a6c45db9f1008891f4eafc1a7e94ce1d18"><code>3b1354a</code></a>
chore(release): 5.0.1 (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1656">#1656</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/2e2a9c6d5862d22e0f8cfb59d46bc47bf8eb1fe0"><code>2e2a9c6</code></a>
fix: update tokenless branch logic (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1650">#1650</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/cfc521b7a1dcdbcf0ecf149c162c19ff9bd9568c"><code>cfc521b</code></a>
Update README.md</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/06425412c8015bc1ab2385b41c7ea204f77b91bf"><code>0642541</code></a>
fix: use marketplace v5 badge (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1646">#1646</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/968872560f81e7bdde9272853e65f2507c0eca7c"><code>9688725</code></a>
Update README.md</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/2112eaec1bedbdabc7e93d5312449d0d62b07c60"><code>2112eae</code></a>
chore(deps): bump wrapper to 0.0.23 (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1644">#1644</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/193421c5b3d1aca4209c9754f224ca0d85729414"><code>193421c</code></a>
fixL use the correct source (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1642">#1642</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/6018df70b05b191502ce08196e76e30ea3578615"><code>6018df7</code></a>
fix: update container builds (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1640">#1640</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/eff1a643d6887ee5935d4ca343e9076dc377d416"><code>eff1a64</code></a>
fix: add missing vars (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1638">#1638</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/codecov/codecov-action/compare/v4...v5">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] <[email protected]>
Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* migrate pallet-session-benchmarking to bench V2 syntax (#6294)

Migrates pallet-session-benchmarking to bench V2 syntax.

Part of:
* #6202

---------

Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>

* migrate pallet-offences-benchmarking to benchmark v2 syntax (#6300)

Migrates pallet-offences-benchmarking to benchmark v2 syntax.

Part of:
* #6202

---------

Co-authored-by: default avatarGiuseppe Re <[email protected]>

* Rococo People <> Bulletin bridge fixes (#6708)

* [Release/CICD] Re-worked Create Release Draft flow (#6734)

This PR contains following changes in release pipelines:
- re-built Create Release Draft workflow
- binaries builds are moved completely to the `Release - Build node
release candidate` flow
- added upload of all the release artefacts to the S3
- adjusted `Release - Publish Docker Image` workflow, so that it will
match now the new release flow.

* Update parity-publish (#6549)

* pallet-revive-fixtures: Try not to re-create fixture dir (#6735)

On some systems trying to re-create the output directory will lead to an
error.

Fixes https://github.com/paritytech/subxt/issues/1876

---------

Co-authored-by: default avatarBastian Köcher <[email protected]>

* Bump Westend AH (#6583)

Bump Asset-Hub westend spec version

---------

Co-authored-by: default avatarGitHub Action <[email protected]>

* Add publish-check-compile workflow (#6556)

Add publish-check-compile workflow

This Applies staged prdocs then configures crate deps to pull from
crates.io for our already published crates and local paths for
things to be published. Then runs cargo check on the result.

This results in a build state consitent with that of publish time and
should catch compile errors that we would of otherwise ran into mid
pubish.

This acts as a supplement to the check-semver job. check-semver works on
a high level and judges what changes are incorrect and why. This job
just runs the change, sees if it compiles, and if not spits out
a compile error.

* fix:  Remove use of `log` in favour of `tracing` in `sc-executor`

* fix: 🚨 Fix `node-cli` build for missing parameter added to `cmd.run()`

* fix: :adhesive_bandage: Fix doc for `wasmtime-precompiled` argument

* `fatxpool`: handling limits and priorities improvements (#6405)

This PR provides a number of improvements around handling limits and
priorities in the fork-aware transaction pool.


#### Notes to reviewers.
#### Following are the notable changes:
1. #### [Better
support](https://github.com/paritytech/polkadot-sdk/pull/6405/commits/414ec3cc)
for `Usurped` transactions

When any view reports an `Usurped` transaction (replaced by other with
higher priority) it is removed from all the views (also inactive).
Removal is implemented by simply submitting usurper transaction to all
the views. It is also ensured that usurped tx will not sneak into the
`view_store` in newly created view (this is why
`ViewStore::pending_txs_replacements` was added).

1. ####
[`TimedTransactionSource`](https://github.com/paritytech/polkadot-sdk/pull/6405/commits/f10590f3)
introduced:

Every view now has an information when the transaction entered the pool.
Enforce limits (now only for future txs) uses this timestamp to find
worst transactions. Having common timestamp ensures coherent assessment
of the transaction's importance across different views. This also could
later be used to select which ready transaction shall be dropped.

1. #### `DroppedWatcher`: [improved
logic](https://github.com/paritytech/polkadot-sdk/pull/6405/commits/560db28c)
for future transactions
For future transaction - if the last referencing view is removed, the
transaction will be dropped from the pool. This prevents future
unincluded and un-promoted transactions from staying in the pool for
long time.

#### And some minor changes:

1.
[simplified](https://github.com/paritytech/polkadot-sdk/pull/6405/commits/2d0bbf83)
the flow in `update_view_with_mempool` (code duplication + minor bug
fix).
2. `graph::BasePool`: [handling
priorities](https://github.com/paritytech/polkadot-sdk/pull/6405/commits/c9f2d393)
for future transaction improved (previously transaction with lower prio
was reported as failed),
3. `graph::listener`: dedicated `limit_enforced`/`usurped`/`dropped`
[calls
added](https://github.com/paritytech/polkadot-sdk/pull/6405/commits/7b58a68c),
4. flaky test
[fixed](https://github.com/paritytech/polkadot-sdk/pull/6405/commits/e0a7bc6c

)
5. new tests added,

related to: #5809

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarIulian Barbu <[email protected]>

* fix: :adhesive_bandage: Avoid looping through precompiles directory and search directly for filename

* docs: 💡 Comment fixes and clarifying which WASM code is precompiled

* fix: :adhesive_bandage: Use configured hasher instead of blake2 always

* fix: :adhesive_bandage: Error out if chainspec does not contain `:code` storage element

* feat:  Add parser to CLI path arguments to check that they are existing directories

* fix: :adhesive_bandage: Change `with_wasmtime_precompiled_path` to `with_optional_wasmtime_precompiled_path` to handle optional inside

* fix: 💡 Improve doc comments

* fix: :adhesive_bandage: Write directly to file instead of creating it and then writing

* style: 🎨

 Apply `cargo fmt`

* umbrella: Remove `pallet-revive-fixtures` (#6743)

No need to have them in the umbrella crate also by having them in the
umbrella crate they are bleeding into the normal build.

---------

Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarAlexander Theißen <[email protected]>

* [Release|CI/CD] Add pipeline to promote release candidate from rcX to final in S3 (#6748)

This PR adds the pipeline, that moves release candidate artefacts from
`polkadot-stableYYMM-rcX` bucket to the one that is going to be the
final `polkadot-stableYYMM` (bucket name matches the tag name). So that
it could be used for publishing later without a need to re-build it
again.

* Disable flaky tests reported in #6574/#6644 (#6749)

Reference issues
#6574 
#6644

* chore: Update litep2p to v0.8.3 (#6742)

## [0.8.3] - 2024-12-03

This release includes two fixes for small memory leaks on edge-cases in
the notification and request-response protocols.

### Fixed

- req-resp: Fix memory leak of pending substreams
([#297](https://github.com/paritytech/litep2p/pull/297))
- notification: Fix memory leak of pending substreams
([#296](https://github.com/paritytech/litep2p/pull/296))

cc @paritytech/networking

---------

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* fix: 🚨 Post merge compile error fixes

* [CI/CD] Fix permissions issue in the backport to stable flow (#6754)

This PR has changes to the `command-backport.yml`:
- swapped action that creates backports PRs from master to the stable
branches and added another app with more permissions

* fix: 🚨 Compiler error fixes after merge

* style: 🎨 Apply `cargo fmt`

* feat:  Add `precompile-wasm` subcommand to parachain and minimal template nodes

* fix: 🚨 Update Cargo.lock after merge

* fix: 🚨 Fix Cargo.lock after merge

* fix: 🚨

 Fix unused import

---------

Signed-off-by: default avatardependabot[bot] <[email protected]>
Signed-off-by: default avatarAndrei Sandu <[email protected]>
Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
Signed-off-by: default avatarAlexandru Gheorghe <[email protected]>
Signed-off-by: default avatarAdrian Catangiu <[email protected]>
Signed-off-by: default avatarCyrill Leutwiler <[email protected]>
Signed-off-by: default avatarxermicus <[email protected]>
Signed-off-by: default avatargeorgepisaltu <[email protected]>
Signed-off-by: default avatarIulian Barbu <[email protected]>
Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Signed-off-by: default avatarlinning <[email protected]>
Signed-off-by: default avatarXavier Lau <[email protected]>
Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
Co-authored-by: default avatarAlin Dima <[email protected]>
Co-authored-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarAndrei Sandu <[email protected]>
Co-authored-by: default avatarDusan Morhac <[email protected]>
Co-authored-by: default avatarBranislav Kontur <[email protected]>
Co-authored-by: default avatarEgor_P <[email protected]>
Co-authored-by: default avatarSerban Iorga <[email protected]>
Co-authored-by: default avatarPG Herveou <[email protected]>
Co-authored-by: default avatarAlexander Theißen <[email protected]>
Co-authored-by: default avatarCyrill Leutwiler <[email protected]>
Co-authored-by: default avatarGitHub Action <[email protected]>
Co-authored-by: default avatarMichal Kucharczyk <[email protected]>
Co-authored-by: default avatartmpolaczyk <[email protected]>
Co-authored-by: default avatarShawn Tabrizi <[email protected]>
Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
Co-authored-by: default avatarKian Paimani <[email protected]>
Co-authored-by: default avatarIulian Barbu <[email protected]>
Co-authored-by: default avatarSebastian Kunert <[email protected]>
Co-authored-by: default avatarAndrii <[email protected]>
Co-authored-by: default avatarAlistair Singh <[email protected]>
Co-authored-by: default avatarAlexandru Gheorghe <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarJavier Viola <[email protected]>
Co-authored-by: default avatarJun Jiang <[email protected]>
Co-authored-by: default avatarShoyu Vanilla (Flint) <[email protected]>
Co-authored-by: default avatarAdrian Catangiu <[email protected]>
Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
Co-authored-by: default avatarGiuseppe Re <[email protected]>
Co-authored-by: default avatarDónal Murray <[email protected]>
Co-authored-by: default avatarXavier Lau <[email protected]>
Co-authored-by: default avatarXavier Lau <[email protected]>
Co-authored-by: default avatarDónal Murray <[email protected]>
Co-authored-by: default avatargeorgepisaltu <[email protected]>
Co-authored-by: default avatarAnkan <[email protected]>
Co-authored-by: default avatarJan Bujak <[email protected]>
Co-authored-by: default avatarAlexandre R. Baldé <[email protected]>
Co-authored-by: default avatarAlexander Samusev <[email protected]>
Co-authored-by: default avatarMuharem <[email protected]>
Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
Co-authored-by: default avatarclangenb <[email protected]>
Co-authored-by: default avatars0me0ne-unkn0wn <[email protected]>
Co-authored-by: default avatardavidk-pt <[email protected]>
Co-authored-by: default avatarDavidK <[email protected]>
Co-authored-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarDmitry Markin <[email protected]>
Co-authored-by: default avatarBastian Köcher <[email protected]>
Co-authored-by: default avatarNazar Mokrynskyi <[email protected]>
Co-authored-by: default avatarJames Wilson <[email protected]>
Co-authored-by: default avatarDastan <[email protected]>
Co-authored-by: default avatarPavlo Khrystenko <[email protected]>
Co-authored-by: default avatarPavlo Khrystenko <[email protected]>
Co-authored-by: default avatareskimor <[email protected]>
Co-authored-by: default avatareskimor <[email protected]>
Co-authored-by: default avatarJoseph Zhao <[email protected]>
Co-authored-by: default avatarAndrei Eres <[email protected]>
Co-authored-by: default avatarAlexandre R. Baldé <[email protected]>
Co-authored-by: default avataralvicsam <[email protected]>
Co-authored-by: default avatarLiu-Cheng Xu <[email protected]>
Co-authored-by: default avatarjpserrat <[email protected]>
Co-authored-by: default avatarDoordashcon <[email protected]>
Co-authored-by: default avatarJeeyong Um <[email protected]>
Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
Co-authored-by: default avatarMichał Gil <[email protected]>
Co-authored-by: default avatarKazunobu Ndong <[email protected]>
Co-authored-by: default avatarStephane Gurgenidze <[email protected]>
Co-authored-by: default avatarViraj Bhartiya <[email protected]>
Co-authored-by: default avatarNingLin-P <[email protected]>
Co-authored-by: default avatarTobi Demeco <[email protected]>
Co-authored-by: default avatarErmal Kaleci <[email protected]>
Co-authored-by: default avatarMaciej <[email protected]>
Co-authored-by: default avatarordian <[email protected]>
Co-authored-by: default avatargupnik <[email protected]>
Co-authored-by: default avatarRobert <[email protected]>
Co-authored-by: default avatarTarek Mohamed Abdalla <[email protected]>
Co-authored-by: default avatarDino Pačandi <[email protected]>
Co-authored-by: default avatarLudovic_Domingues <[email protected]>
Co-authored-by: default avatarRodrigo Quelhas <[email protected]>
Co-authored-by: default avatarLulu <[email protected]>
parent 8061c870
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment