Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NPoS] Remove better solution threshold for unsigned submissions #2694

Merged
merged 9 commits into from
Dec 15, 2023

Conversation

Ank4n
Copy link
Contributor

@Ank4n Ank4n commented Dec 12, 2023

closes https://github.com/paritytech-secops/srlabs_findings/issues/78.

Removes BetterUnsignedThreshold from pallet EPM. This will essentially mean any solution submitted by the validator that is strictly better than the current queued solution would be accepted.

The reason for having these thresholds is to limit number of solutions submitted on-chain. However for unsigned submissions, the number of solutions that could be submitted on average is limited even without thresholding (calculation shown in the corresponding issue).

@Ank4n Ank4n requested review from a team December 12, 2023 13:51
@Ank4n Ank4n added T1-FRAME This PR/Issue is related to core FRAME, the framework. D0-easy Can be fixed primarily by duplicating and adapting code by an intermediate coder. labels Dec 12, 2023
@paritytech-cicd-pr
Copy link

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable 2/3
Logs: https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4693832

prdoc/pr_2694.prdoc Outdated Show resolved Hide resolved
@Ank4n Ank4n requested review from rossbulat and a team December 14, 2023 14:23
Copy link
Contributor

@georgepisaltu georgepisaltu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one nit but otherwise LGTM

@Ank4n Ank4n merged commit ffb2125 into master Dec 15, 2023
115 of 117 checks passed
@Ank4n Ank4n deleted the ankan/epm/remove-unsigned-threshold branch December 15, 2023 19:59
claravanstaden added a commit to Snowfork/polkadot-sdk that referenced this pull request Dec 16, 2023
* parachain-system: Do not take `self` for `last_relay_block_number` (paritytech#2720)

FRAME DSL is working in a static context.

* fix zombienet test (paritytech#2719)

Remove old version for `cli_args`, since this was fixed in the latest
version of zombienet and the `latest` version of polkadot introduce the
new flag `--insecure-validator-i-know-what-i-do`.

Fix jobs like
https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4726174
Thx!

* [NPoS] Remove better solution threshold for unsigned submissions (paritytech#2694)

closes https://github.com/paritytech-secops/srlabs_findings/issues/78.

Removes `BetterUnsignedThreshold` from pallet EPM. This will essentially
mean any solution submitted by the validator that is strictly better
than the current queued solution would be accepted.

The reason for having these thresholds is to limit number of solutions
submitted on-chain. However for unsigned submissions, the number of
solutions that could be submitted on average is limited even without
thresholding (calculation shown in the corresponding issue).

* `chain-spec-builder`: Improve output path example (paritytech#2693)

Example currently broken. 

It writes something to the given path, but not the full chain spec.

---------

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

* update lock file

---------

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Javier Viola <[email protected]>
Co-authored-by: Ankan <[email protected]>
Co-authored-by: Liam Aharon <[email protected]>
Co-authored-by: Michal Kucharczyk <[email protected]>
Co-authored-by: claravanstaden <Cats 4 life!>
bkontur added a commit that referenced this pull request Dec 18, 2023
68d8650 Bump thiserror from 1.0.50 to 1.0.51
009c989 remove no longer valid check from the ensure_weights_are_correct (#2740)
94c44a7 Added Rococo BH <> Rococo Bulletin bridge (#2724)
5fe0f2f Bump tokio from 1.34.0 to 1.35.0
25f8251 Grafana update stuff (#2733)
06fbe8b Improved `ExportXcm::validate` implementation for BridgeHubs - step 1 (#2727)
390e836 Select header that will be fully refunded in on-demand batch finality relay (#2729)
ce701dd separate constants for average and worst case relay headers (#2728)
09215c5 Backport from `polkadot-sdk` + bump (#2725)
6327261 Bump serde from 1.0.192 to 1.0.193
fff9ddd Bump sysinfo from 0.29.10 to 0.29.11
4be99fe Monitoring and alerts for Rococo/Westend (#2710)
67a683a Bump ed25519-dalek from 2.0.0 to 2.1.0
8e0e794 quick and dirty fix for the `wait -p` and older distros (#2712)
3ab6562 Add withdraw reserve assets to zombienet tests (#2711)
c2c409b increase init timeouts in zombienet tests (#2706)
a8c60b4 fix lane id and bridged chain id (#2705)
9ac0f26 removed bp-asset-hub-kusama and bp-asset-hub-polkadot (#2703)
4916475 Some fixes for zombienet tests (polkadot-staging) (#2704)
6f9a147 zombienet from Wococo to Westend (#2699)
3ba7910 Porting changes from polkadot-sdk to polkadot-staging - before update subtree with removed wococo stuff (#2696)
653448f Remove Woococo related stuff (#2692)
03aaab2 Gitspiegel polkadot staging (#2695)
702a4c1 Drop Rialto <> Millau bridges (#2663) (#2694)
6a63b5f Start version guards for the ED loop (#2678)
896b9a9 typo (#2690)
671d27c Bump serde from 1.0.190 to 1.0.192
991b229 Bump clap from 4.4.7 to 4.4.8
ec267ec Bump env_logger from 0.10.0 to 0.10.1
592e407 Bump tokio from 1.33.0 to 1.34.0
c49ce3d Bump serde_json from 1.0.107 to 1.0.108
04b3319 Update subxt-codegen version (#2674)
03f9804 backport #2139 (#2673)
49245dd removed unused PARACHAINS_FINALITY_PALLET_NAME constant (#2670)
658a3f5 BHR/BHWE spec_version according to the `polkadot-sdk` (#2668)
7666b94 Nit from `polkadot-sdk` (#2665)
b5c43bb Adjusted constant because for measuring we used mistakenly rococo constants (#2664)
062449d Add Rococo<>Westend bridge support/relay (#2647)
55eb44e Add basic zombienet test to be used in the future (#2649) (#2660)
93b6b3f Bump clap from 4.4.6 to 4.4.7
4c01ab0 Bump futures from 0.3.28 to 0.3.29
a31a6c0 Bump tempfile from 3.8.0 to 3.8.1
bcdfe83 Bump serde from 1.0.189 to 1.0.190
f7433b0 Port #2648 to polkadot-staging (#2651)
3896738 Bump scale-info from 2.9.0 to 2.10.0
12d62c5 Bump thiserror from 1.0.49 to 1.0.50
1d78aa1 Backport from `polkadot-sdk` with actual master (#2633)
ab4de94 Grandpa justifications: Avoid duplicate vote ancestries (#2634) (#2635)
465562a add missing crate descriptions (#2629)
28d3680 Bump fixed-hash
67528c4 Bump serde from 1.0.188 to 1.0.189
d450c47 Bump time from 0.3.29 to 0.3.30
6a19f83 Bump async-trait from 0.1.73 to 0.1.74
a92d213 Millau, Rialto: accept equivocation reports (#2614) (#2617)
a61f777 Bump tokio from 1.32.0 to 1.33.0
0052f64 Bump subxt from 0.32.0 to 0.32.1
ccc849d Bump num-traits from 0.2.16 to 0.2.17
22f2752 apply late suggestions for #2600 (#2603)
0320172 actualize check_obsolete_call comment (#2601)
5cbbd25 Reject transactions if bridge pallets are halted (#2600)
ca4dfe3 Bump subxt from 0.31.0 to 0.32.0
8bf7b58 Bump clap from 4.4.4 to 4.4.6
88b0b99 Bump thiserror from 1.0.48 to 1.0.49
263833b https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/3833103 (#2589)
4f44968 Backport changes from polkadot-sdk (#2588)
7200ed1 fiox overflow when computing priority boost (#2587)
e02cbd3 Bump time from 0.3.28 to 0.3.29
a097dd2 Bump clap from 4.4.3 to 4.4.4
801ce88 Merge bulletin chain changes into polkadot staging (#2574)
a3803ce Add unit tests for the equivocation detection loop (#2571)
26dfc31 Bump clap from 4.4.2 to 4.4.3
66a8beb Bump serde_json from 1.0.106 to 1.0.107
18c50da Bump trie-db from 0.27.1 to 0.28.0
4c4fa92 Equivocation detection loop: Reorganize block checking logic as state machine (#2555) (#2557)
6bd317a Bump serde_json from 1.0.105 to 1.0.106
a7e6bfd Backport for polkadot-sdk#1446 (#2546)
d9f8050 Bump sysinfo from 0.29.9 to 0.29.10
901f44c Bump thiserror from 1.0.47 to 1.0.48
82eeb50 Bump sysinfo from 0.29.8 to 0.29.9
a0c934b Bump strum from 0.24.1 to 0.25.0
1064fbf Bump subxt from 0.28.0 to 0.31.0
e50398d bridges subtree fixes (#2528)
99af075 Markdown linter (#1309) (#2526)
733ff0f `polkadot-staging` branch: Use polkadot-sdk dependencies (#2524)
e8a59f1 Fix benchmark with new XCM::V3 `MAX_INSTRUCTIONS_TO_DECODE` (#2514)
62b185d Backport `polkadot-sdk` changes to `polkadot-staging` (#2518)
d9658f4 Fix equivocation detection containers startup (#2516) (#2517)
d65db28 Backport: building images from locally built binaries (#2513)
5fdbaf4 Start the equivocation detection loop from the complex relayer (#2507) (#2512)
7fbb67d Backport: Implement basic equivocations detection loop (#2375)
cb7efe2 Manually update deps in polkadot staging (#2371)
d17981f #2351 to polkadot-staging (#2359)

git-subtree-dir: bridges
git-subtree-split: 68d8650
claravanstaden added a commit to Snowfork/polkadot-sdk that referenced this pull request Dec 21, 2023
* parachain-system: Do not take `self` for `last_relay_block_number` (paritytech#2720)

FRAME DSL is working in a static context.

* fix zombienet test (paritytech#2719)

Remove old version for `cli_args`, since this was fixed in the latest
version of zombienet and the `latest` version of polkadot introduce the
new flag `--insecure-validator-i-know-what-i-do`.

Fix jobs like
https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4726174
Thx!

* [NPoS] Remove better solution threshold for unsigned submissions (paritytech#2694)

closes https://github.com/paritytech-secops/srlabs_findings/issues/78.

Removes `BetterUnsignedThreshold` from pallet EPM. This will essentially
mean any solution submitted by the validator that is strictly better
than the current queued solution would be accepted.

The reason for having these thresholds is to limit number of solutions
submitted on-chain. However for unsigned submissions, the number of
solutions that could be submitted on average is limited even without
thresholding (calculation shown in the corresponding issue).

* `chain-spec-builder`: Improve output path example (paritytech#2693)

Example currently broken. 

It writes something to the given path, but not the full chain spec.

---------

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

* Publicly expose inaccessible `pallet_uniques` state (paritytech#2727)

A small PR to publicly expose the `pallet_uniques` state that is not
accessible through the nonfungibles implementation.

Currently, this state is unreachable from chain extensions.

* Bump async-trait from 0.1.73 to 0.1.74 (paritytech#2730)

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.73
to 0.1.74.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/async-trait/releases">async-trait's
releases</a>.</em></p>
<blockquote>
<h2>0.1.74</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/async-trait/commit/265979b07a9af573e1edd3b2a9b179533cfa7a6c"><code>265979b</code></a>
Release 0.1.74</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/5e677097d2e67f7a5c5e3023e2f3b99b36a9e132"><code>5e67709</code></a>
Fix doc test when async fn in trait is natively supported</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/ef144aed28b636eb65759505b2323afc4c753fbe"><code>ef144ae</code></a>
Update ui test suite to nightly-2023-10-15</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/9398a28d6fc977ccf8c286bd85b4b87a883f92ac"><code>9398a28</code></a>
Test docs.rs documentation build in CI</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/8737173dafa371e5e9e491d736513be1baf697f4"><code>8737173</code></a>
Update ui test suite to nightly-2023-09-24</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/5ba643c001a55f70c4a44690e040cdfab873ba56"><code>5ba643c</code></a>
Test dyn Trait containing async fn</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/247c8e7b0b3ff69c9518ebf93e69fe74d47f17b6"><code>247c8e7</code></a>
Add ui test testing the recommendation to use async-trait</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/799db66a84834c403860df4a8c0227d8fb7f9d9d"><code>799db66</code></a>
Update ui test suite to nightly-2023-09-23</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/0e60248011f751d8ccf58219d0a79aacfe9619f1"><code>0e60248</code></a>
Update actions/checkout@v3 -&gt; v4</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/7fcbc83993d5ef483d048c271a7f6c4ac8c98388"><code>7fcbc83</code></a>
Update ui test suite to nightly-2023-08-29</li>
<li>See full diff in <a
href="https://github.com/dtolnay/async-trait/compare/0.1.73...0.1.74">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

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

* Relaxed clippy fixes/nits (paritytech#2661)

This PR contains just a few clippy fixes and nits, which are, however,
relaxed by workspace clippy settings here:
https://github.com/paritytech/polkadot-sdk/blob/master/Cargo.toml#L483-L506

---------

Co-authored-by: Dmitry Sinyavin <[email protected]>
Co-authored-by: ordian <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: Bastian Köcher <[email protected]>

* Bridges subtree update (paritytech#2736)

* BEEFY: expect_validator_set() small fix (paritytech#2737)

Follow-up on paritytech#2716

Sorry, small miss

* [ci] Fix node-bench-regression-guard job (paritytech#2732)

After GitLab update it started to remove artifacts from master if PR has
more than 20 commits. PR fixes this for `node-bench-regression-guard`
job

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

* subsystem benchmarks: add cpu profiling (paritytech#2734)

Ready-to-merge version of
paritytech#2601

- Added optional CPU profiling
- Updated instructions how to set up Prometheus, Pyroscope and Graphana
- Added a flamegraph dashboard
<img width="1470" alt="image"
src="https://github.com/paritytech/polkadot-sdk/assets/27277055/c8f3b33d-3c01-4ec0-ac34-72d52325b6e6">

---------

Co-authored-by: ordian <[email protected]>

* Bump dyn-clone from 1.0.13 to 1.0.16 (paritytech#2748)

Bumps [dyn-clone](https://github.com/dtolnay/dyn-clone) from 1.0.13 to
1.0.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/dyn-clone/releases">dyn-clone's
releases</a>.</em></p>
<blockquote>
<h2>1.0.16</h2>
<ul>
<li>Documentation improvements</li>
</ul>
<h2>1.0.15</h2>
<ul>
<li>Documentation improvements</li>
</ul>
<h2>1.0.14</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/f2f0a02f1f7190048153e5ea8f554db7377a50a9"><code>f2f0a02</code></a>
Release 1.0.16</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/7e5037b8242739a52e36bff94d405caede2cace8"><code>7e5037b</code></a>
Fix crate name in html_root_url</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/e84a6e10e7185e4d050ccf466098486983b60539"><code>e84a6e1</code></a>
Release 1.0.15</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/453e078f525aaf1afbfa17a101d166ca0061bcbe"><code>453e078</code></a>
Fix documentation on no-std targets</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/4bcfc07bec99e002de32285bc09bc73c6a679b66"><code>4bcfc07</code></a>
Let rustdoc see std crate</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/8bd3355c1e7607e8aa9424b39acfc080e671b32d"><code>8bd3355</code></a>
Allow rustdoc to take care of intra-doc links</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/638fa8b1b9ca3ffd10a84cee3ca0310f10b85c5b"><code>638fa8b</code></a>
Remove 'remember to update' reminder from Cargo.toml</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/2e6b761113dba45bcf765e6753a8a55279220750"><code>2e6b761</code></a>
Test docs.rs documentation build in CI</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/cee99471c46f9f512640aa03c680a547ac72c22c"><code>cee9947</code></a>
Release 1.0.14</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/7b6a70759714b5cb55ac4b763636527acb6ab2c3"><code>7b6a707</code></a>
Delete dyn-clonable link</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/dyn-clone/compare/1.0.13...1.0.16">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

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

* Bump actions/setup-node from 4.0.0 to 4.0.1 (paritytech#2746)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from
4.0.0 to 4.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Ignore engines in Yarn 1 e2e-cache tests by <a
href="https://github.com/trivikr"><code>@​trivikr</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/882">actions/setup-node#882</a></li>
<li>Update setup-node references in the README.md file to setup-node@v4
by <a href="https://github.com/jwetzell"><code>@​jwetzell</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/884">actions/setup-node#884</a></li>
<li>Update reusable workflows to use Node.js v20 by <a
href="https://github.com/MaksimZhukov"><code>@​MaksimZhukov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/889">actions/setup-node#889</a></li>
<li>Add fix for cache to resolve slow post action step by <a
href="https://github.com/aparnajyothi-y"><code>@​aparnajyothi-y</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/917">actions/setup-node#917</a></li>
<li>Fix README.md by <a
href="https://github.com/takayamaki"><code>@​takayamaki</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/898">actions/setup-node#898</a></li>
<li>Add <code>package.json</code> to <code>node-version-file</code> list
of examples. by <a
href="https://github.com/TWiStErRob"><code>@​TWiStErRob</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/879">actions/setup-node#879</a></li>
<li>Fix node-version-file interprets entire package.json as a version by
<a
href="https://github.com/NullVoxPopuli"><code>@​NullVoxPopuli</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/865">actions/setup-node#865</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/trivikr"><code>@​trivikr</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/882">actions/setup-node#882</a></li>
<li><a href="https://github.com/jwetzell"><code>@​jwetzell</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/884">actions/setup-node#884</a></li>
<li><a
href="https://github.com/aparnajyothi-y"><code>@​aparnajyothi-y</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/917">actions/setup-node#917</a></li>
<li><a
href="https://github.com/takayamaki"><code>@​takayamaki</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/898">actions/setup-node#898</a></li>
<li><a
href="https://github.com/TWiStErRob"><code>@​TWiStErRob</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/879">actions/setup-node#879</a></li>
<li><a
href="https://github.com/NullVoxPopuli"><code>@​NullVoxPopuli</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/865">actions/setup-node#865</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v4...v4.0.1">https://github.com/actions/setup-node/compare/v4...v4.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8"><code>b39b52d</code></a>
Fix node-version-file interprets entire package.json as a version (<a
href="https://redirect.github.com/actions/setup-node/issues/865">#865</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/72476173717e9fa92b08abe87e9c9dc3a42dc0c8"><code>7247617</code></a>
Add <code>package.json</code> to <code>node-version-file</code> list of
examples. (<a
href="https://redirect.github.com/actions/setup-node/issues/879">#879</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/f3ec4ca66feedca88150c6d39d92449ce4ca063b"><code>f3ec4ca</code></a>
Fix README.md (<a
href="https://redirect.github.com/actions/setup-node/issues/898">#898</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/ec97f37504b0cca1fbc763cc0575585d10020c22"><code>ec97f37</code></a>
Add fix for cache (<a
href="https://redirect.github.com/actions/setup-node/issues/917">#917</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/5ef044f9d09786428e6e895be6be17937becee3a"><code>5ef044f</code></a>
Update reusable workflows to use Node.js v20 (<a
href="https://redirect.github.com/actions/setup-node/issues/889">#889</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/c45882a6eaaa69d42dbf1b6c7e3ae5dbb81e1f29"><code>c45882a</code></a>
update to setup-node@v4 in docs (<a
href="https://redirect.github.com/actions/setup-node/issues/884">#884</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/ee36e8b5c0fdd6014a0398aed18ce9876360bd63"><code>ee36e8b</code></a>
Ignore engines check in Yarn 1 e2e-cache tests (<a
href="https://redirect.github.com/actions/setup-node/issues/882">#882</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-node/compare/v4.0.0...v4.0.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=4.0.0&new-version=4.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore 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: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* `UnionOf` types for merged `fungible` and `fungibles` implementations (paritytech#2033)

Introduces `UnionOf` types, crafted to merge `fungible` and `fungibles`
implementations or two `fungibles` implementations into a single type
implementing `fungibles`.

This also addresses an issue where `ItemOf` initiates a double drop for
an imbalance type, leading to inaccurate total issuance accounting.

Find the application of these types in this PR -
[link](paritytech#2031), places in
code -
[1](https://github.com/paritytech/polkadot-sdk/blob/4ec7496fa2632385b08fae860fcf28a523a7b5de/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs#L327),
[2](https://github.com/paritytech/polkadot-sdk/blob/4ec7496fa2632385b08fae860fcf28a523a7b5de/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs#L343).

---------

Co-authored-by: Liam Aharon <[email protected]>
Co-authored-by: joe petrowski <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: joepetrowski <[email protected]>

* [NFTs] Fix consumers issue (paritytech#2653)

When we call the `set_accept_ownership` method, we increase the number
of account consumers, but then we don't decrease it on collection
transfer, which leads to the wrong consumers number an account has.

* Rococo/Westend Coretime Runtime

New runtimes for the Coretime Chain (a.k.a. "Broker Chain") described in
RFC-1.

Replaces paritytech/cumulus#2889


- [x] Add Agile Coretime pallet
paritytech/substrate#14568
- [x] Generate chain specs for local and testnets
- [x] Deploy parachain on Rococo - Done:
[rococo-coretime-rpc.polkadot.io](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-coretime-rpc.polkadot.io#/explorer)

DevOps issue for Aura keygen:
https://github.com/paritytech/devops/issues/2725

Edit (Dónal): This PR is mainly for Rococo, the Westend runtime is a
shell with no `Broker` pallet. The Rococo runtime has the broker calls
filtered for initial deployment.

---------

Co-authored-by: Dónal Murray <[email protected]>
Co-authored-by: 0xmovses <[email protected]>
Co-authored-by: Liam Aharon <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Marcin S. <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: Branislav Kontur <[email protected]>

* Ref docs: runtime vs contracts (paritytech#2609)

closes paritytech/polkadot-sdk-docs#41

* SDK docs ref cli (paritytech#2741)

Closes paritytech/polkadot-sdk-docs#53

* pallet-uniques/nfts: Small optimizations (paritytech#2754)

Use `contains_key` to not require decoding the actual value.

* pallet-asset-conversion: Swap Credit (paritytech#1677)

Introduces a swap implementation that allows the exchange of a credit
(aka Negative Imbalance) of one asset for a credit of another asset.

This is particularly useful when a credit swap is required but may not
have sufficient value to meet the ED constraint, hence cannot be
deposited to temp account before. An example use case is when XCM fees
are paid using an asset held in the XCM executor registry and has to be
swapped for native currency.

Additional Updates:
- encapsulates the existing `Swap` trait impl within a transactional
context, since partial storage mutation is possible when an error
occurs;
- supplied `Currency` and `Assets` impls must be implemented over the
same `Balance` type, the `AssetBalance` generic type is dropped. This
helps to avoid numerous type conversion and overflow cases. If those
types are different it should be handled outside of the pallet;
- `Box` asset kind on a pallet level, unbox on a runtime level - here
[why](https://substrate.stackexchange.com/questions/10039/boxed-argument-of-a-dispatchable/10103#10103);
- `path` uses `Vec` now, instead of `BoundedVec` since it is never used
in PoV;
- removes the `Transfer` event due to it's redundancy with the events
emitted by `fungible/s` implementations;
- modifies the `SwapExecuted` event type;

related issue: 
- paritytech#105

related PRs:
- (required for) paritytech#1845
- (caused) paritytech#1717

// DONE make the pallet work only with `fungibles` trait and make it
free from the concept of a `native` asset -
paritytech#1842

---------

Co-authored-by: joe petrowski <[email protected]>

* Add srtool GHA (paritytech#2755)

This PR introduces the `srtool` GHA which was used in the old `cumulus`
repo to build and check runtimes on the weekly basis schedule. The job
is triggered:
- every Monday at 2AM, automatically
- on each tag push or push to the release branch
- can be triggered manually as well

Addresses paritytech#1271

* Update schnorrkel to 0.11.4 (paritytech#2524)

* Fix bridges scripts to test Rococo <> Westend bridge locally (paritytech#2752)

I think I broke it in
paritytech#2139 - fees has
increased and amounts that we send are no longer enough to cover fees.
Also changed a consts (test + 33%) using latest weights.

---------

Co-authored-by: Branislav Kontur <[email protected]>

* Bump chrono from 0.4.27 to 0.4.31 (paritytech#2761)

Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.27 to
0.4.31.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chronotope/chrono/releases">chrono's
releases</a>.</em></p>
<blockquote>
<h2>0.4.31</h2>
<p>Another maintenance release.
It was not a planned effort to improve our support for UNIX timestamps,
yet most PRs seem related to this.</p>
<h3>Deprecations</h3>
<ul>
<li>Deprecate <code>timestamp_nanos</code> in favor of the non-panicking
<code>timestamp_nanos_opt</code> (<a
href="https://redirect.github.com/chronotope/chrono/issues/1275">#1275</a>)</li>
</ul>
<h3>Additions</h3>
<ul>
<li>Add <code>DateTime::&lt;Utc&gt;::from_timestamp</code> (<a
href="https://redirect.github.com/chronotope/chrono/issues/1279">#1279</a>,
thanks <a
href="https://github.com/demurgos"><code>@​demurgos</code></a>)</li>
<li>Add <code>TimeZone::timestamp_micros</code> (<a
href="https://redirect.github.com/chronotope/chrono/issues/1285">#1285</a>,
thanks <a
href="https://github.com/emikitas"><code>@​emikitas</code></a>)</li>
<li>Add <code>DateTime&lt;Tz&gt;::timestamp_nanos_opt</code> and
<code>NaiveDateTime::timestamp_nanos_opt</code> (<a
href="https://redirect.github.com/chronotope/chrono/issues/1275">#1275</a>)</li>
<li>Add <code>UNIX_EPOCH</code> constants (<a
href="https://redirect.github.com/chronotope/chrono/issues/1291">#1291</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Format day of month in RFC 2822 without padding (<a
href="https://redirect.github.com/chronotope/chrono/issues/1272">#1272</a>)</li>
<li>Don't allow strange leap seconds which are not on a minute boundary
initialization methods (<a
href="https://redirect.github.com/chronotope/chrono/issues/1283">#1283</a>)
This makes many methods a little more strict:
<ul>
<li><code>NaiveTime::from_hms_milli</code></li>
<li><code>NaiveTime::from_hms_milli_opt</code></li>
<li><code>NaiveTime::from_hms_micro</code></li>
<li><code>NaiveTime::from_hms_micro_opt</code></li>
<li><code>NaiveTime::from_hms_nano</code></li>
<li><code>NaiveTime::from_hms_nano_opt</code></li>
<li><code>NaiveTime::from_num_seconds_from_midnight</code></li>
<li><code>NaiveTime::from_num_seconds_from_midnight_opt</code></li>
<li><code>NaiveDate::and_hms_milli</code></li>
<li><code>NaiveDate::and_hms_milli_opt</code></li>
<li><code>NaiveDate::and_hms_micro</code></li>
<li><code>NaiveDate::and_hms_micro_opt</code></li>
<li><code>NaiveDate::and_hms_nano</code></li>
<li><code>NaiveDate::and_hms_nano_opt</code></li>
<li><code>NaiveDateTime::from_timestamp</code></li>
<li><code>NaiveDateTime::from_timestamp_opt</code></li>
<li><code>TimeZone::timestamp</code></li>
<li><code>TimeZone::timestamp_opt</code></li>
</ul>
</li>
<li>Fix underflow in <code>NaiveDateTime::timestamp_nanos_opt</code> (<a
href="https://redirect.github.com/chronotope/chrono/issues/1294">#1294</a>,
thanks <a
href="https://github.com/crepererum"><code>@​crepererum</code></a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add more documentation about the RFC 2822 obsolete date format (<a
href="https://redirect.github.com/chronotope/chrono/issues/1267">#1267</a>)</li>
</ul>
<h3>Internal</h3>
<ul>
<li>Remove internal <code>__doctest</code> feature and
<code>doc_comment</code> dependency (<a
href="https://redirect.github.com/chronotope/chrono/issues/1276">#1276</a>)</li>
<li>CI: Bump <code>actions/checkout</code> from 3 to 4 (<a
href="https://redirect.github.com/chronotope/chrono/issues/1280">#1280</a>)</li>
<li>Optimize <code>NaiveDate::add_days</code> for small values (<a
href="https://redirect.github.com/chronotope/chrono/issues/1214">#1214</a>)</li>
<li>Upgrade <code>pure-rust-locales</code> to 0.7.0 (<a
href="https://redirect.github.com/chronotope/chrono/issues/1288">#1288</a>,
thanks <a href="https://github.com/jeremija"><code>@​jeremija</code></a>
wo did good improvements on <code>pure-rust-locales</code>)</li>
</ul>
<p>Thanks to all contributors on behalf of the chrono team, <a
href="https://github.com/djc"><code>@​djc</code></a> and <a
href="https://github.com/pitdicker"><code>@​pitdicker</code></a>!</p>
<h2>0.4.30</h2>
<p>In this release, we have decided to swap out the
<code>chrono::Duration</code> type (which has been a re-export of time
0.1 <code>Duration</code> type) with our own definition, which exposes a
strict superset of the <code>time::Duration</code> API. This helps avoid
warnings about the [CVE-2020-26235] and [RUSTSEC-2020-0071] advisories
for downstream users and allows us to improve the <code>Duration</code>
API going forward.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/chronotope/chrono/commit/e730c6ac45649a6a636abf30b796304bc46ecd15"><code>e730c6a</code></a>
Bump version to 0.4.31</li>
<li><a
href="https://github.com/chronotope/chrono/commit/2afdde8f7f23f087b5027662e2882dba0663fef7"><code>2afdde8</code></a>
fix: underflow during datetime-&gt;nanos conversion</li>
<li><a
href="https://github.com/chronotope/chrono/commit/46ad2c2b2c901eb20e43a7fca025aac02605bda4"><code>46ad2c2</code></a>
Add <code>UNIX_EPOCH</code> constants</li>
<li><a
href="https://github.com/chronotope/chrono/commit/1df8db3a547bf50929d3d1774306f996b63e9e7c"><code>1df8db3</code></a>
Add TimeZone::timestamp_micros</li>
<li><a
href="https://github.com/chronotope/chrono/commit/861d4e12487181e71744478a320db20f56bd61af"><code>861d4e1</code></a>
Make TimeZone::timestamp_millis_opt use</li>
<li><a
href="https://github.com/chronotope/chrono/commit/3c4846a88235a38105a047b0acd34ce239a1cfb5"><code>3c4846a</code></a>
Upgrade pure-rust-locales to 0.7.0</li>
<li><a
href="https://github.com/chronotope/chrono/commit/6665804676e55e9e2375eed7c10cc9e0910abf11"><code>6665804</code></a>
Deny leap second if secs != 59 in
<code>from_num_seconds_from_midnight_opt</code></li>
<li><a
href="https://github.com/chronotope/chrono/commit/61b7ffbb7a95df577c308eb0f2ab5c68e1566cf1"><code>61b7ffb</code></a>
Deny leap second if secs != 59 in <code>from_hms_nano_opt</code></li>
<li><a
href="https://github.com/chronotope/chrono/commit/202af6cfda9bfdb195dc96377fcdeee7ed024b65"><code>202af6c</code></a>
Don't generate leap seconds that are not 60 in NaiveTime's Arbitrary
impl</li>
<li><a
href="https://github.com/chronotope/chrono/commit/60283ab55cbc9ea6caa86e19bf5da2c086cdf4bc"><code>60283ab</code></a>
Don't create strange leap seconds in tests</li>
<li>Additional commits viewable in <a
href="https://github.com/chronotope/chrono/compare/v0.4.27...v0.4.31">compare
view</a></li>
</ul>
</details>
<br />


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

* pallet-asset-conversion: Decoupling Native Currency Dependancy (paritytech#2031)

closes paritytech#1842

Decoupling Pallet from the Concept of Native Currency

Currently, the pallet is intrinsically linked with the concept of native
currency, requiring users to provide implementations of the
`fungible::*` and `fungibles::*` traits to interact with native and non
native assets. This incapsulates some non-related to the pallet
complexity and makes it less adaptable in contexts where the native
currency concept is absent.

With this PR, the dependence on `fungible::*` for liquidity-supplying
assets has been removed. Instead, the native and non-native currencies'
handling is now overseen by a single type that implements the
`fungibles::*` traits. To simplify this integration, types have been
introduced to facilitate the creation of a union between `fungible::*`
and `fungibles::*` implementations, producing a unified `fungibles::*`
type.

One of the reasons driving these changes is the ambition to create a
more user-friendly API for the `SwapCredit` implementation. Given that
it interacts with two distinct credit types from `fungible` and
`fungibles`, a unified type was introduced. Clients now manage potential
conversion failures for those credit types. In certain contexts, it's
vital to guarantee that operations are fail-safe, like in this impl -
[PR](paritytech#1845), place in
[code](https://github.com/paritytech/polkadot-sdk/blob/20b85a5fada8f55c98ba831964f5866ffeadf4da/cumulus/primitives/utility/src/lib.rs#L429).

Additional Updates:
- abstracted the pool ID and its account derivation logic via trait
bounds, along with common implementation offerings;
- removed `inc_providers` on a pool creation for the pool account;
- benchmarks:
-- swap complexity is N, not const;
-- removed `From<u128> + Into<u128>` bound from `T::Balance`;
-- removed swap/liquidity/.. amount constants, resolve them dynamically
based on pallet configuration;
-- migrated to v2 API;
- `OnUnbalanced` handler for the pool creation fee, replacing direct
transfers to a specified account ID;
- renamed `MultiAssetId` to `AssetKind` aligning with naming across
frame crates;

related PRs:
- (depends) paritytech#1677
- (caused) paritytech#2033
- (caused) paritytech#1876

---------

Co-authored-by: joe petrowski <[email protected]>
Co-authored-by: Liam Aharon <[email protected]>

* use a single source for simple-mermaid dependency (paritytech#2760)

this breaks cargo vendor which is necessary for building polkadot with
nix

* Add Authorize Upgrade Pattern to Frame System (paritytech#2682)

Adds the `authorize_upgrade` -> `enact_authorized_upgrade` pattern to
`frame-system`. This will be useful for upgrading bridged chains that
are under the governance of Polkadot without passing entire runtime Wasm
blobs over a bridge.

Notes:

- Changed `enact_authorized_upgrade` to `apply_authorized_upgrade`.
Personal opinion, "apply" more accurately expresses what it's doing. Can
change back if outvoted.
- Remove `check_version` in favor of two extrinsics, so as to make
_checked_ the default.
- Left calls in `parachain-system` and marked as deprecated to prevent
breaking the API. They just call into the `frame-system` functions.
- Updated `frame-system` benchmarks to v2 syntax.

---------

Co-authored-by: command-bot <>

* Fix clippy lints behind feature gates and add new CI step all features (paritytech#2569)

Many clippy lints usually enforced by `-Dcomplexity` and `-Dcorrectness`
are not caught by CI as they are gated by `features`, like
`runtime-benchmarks`, while the clippy CI job runs with only the default
features for all targets.

This PR also adds a CI step to run clippy with `--all-features` to
ensure the code quality is maintained behind feature gates from now on.

To improve local development, clippy lints are downgraded to warnings,
but they still will result in an error at CI due to the `-Dwarnings`
rustflag.

---------

Co-authored-by: Liam Aharon <[email protected]>

* Fix Coretime Master (paritytech#2765)

Should have merged master into paritytech#2682 before merging.

* update from master

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Javier Viola <[email protected]>
Co-authored-by: Ankan <[email protected]>
Co-authored-by: Liam Aharon <[email protected]>
Co-authored-by: Michal Kucharczyk <[email protected]>
Co-authored-by: Sergej Sakac <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Branislav Kontur <[email protected]>
Co-authored-by: Dmitry Sinyavin <[email protected]>
Co-authored-by: ordian <[email protected]>
Co-authored-by: Serban Iorga <[email protected]>
Co-authored-by: Alexander Samusev <[email protected]>
Co-authored-by: Andrei Eres <[email protected]>
Co-authored-by: Muharem <[email protected]>
Co-authored-by: joe petrowski <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: joepetrowski <[email protected]>
Co-authored-by: Jegor Sidorenko <[email protected]>
Co-authored-by: Dónal Murray <[email protected]>
Co-authored-by: 0xmovses <[email protected]>
Co-authored-by: Marcin S. <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Juan Girini <[email protected]>
Co-authored-by: Egor_P <[email protected]>
Co-authored-by: André Silva <[email protected]>
Co-authored-by: Svyatoslav Nikolsky <[email protected]>
Co-authored-by: claravanstaden <Cats 4 life!>
claravanstaden added a commit to Snowfork/polkadot-sdk that referenced this pull request Jan 23, 2024
* parachain-system: Do not take `self` for `last_relay_block_number` (#2720)

FRAME DSL is working in a static context.

* fix zombienet test (#2719)

Remove old version for `cli_args`, since this was fixed in the latest
version of zombienet and the `latest` version of polkadot introduce the
new flag `--insecure-validator-i-know-what-i-do`.

Fix jobs like
https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4726174
Thx!

* [NPoS] Remove better solution threshold for unsigned submissions (#2694)

closes https://github.com/paritytech-secops/srlabs_findings/issues/78.

Removes `BetterUnsignedThreshold` from pallet EPM. This will essentially
mean any solution submitted by the validator that is strictly better
than the current queued solution would be accepted.

The reason for having these thresholds is to limit number of solutions
submitted on-chain. However for unsigned submissions, the number of
solutions that could be submitted on average is limited even without
thresholding (calculation shown in the corresponding issue).

* `chain-spec-builder`: Improve output path example (#2693)

Example currently broken. 

It writes something to the given path, but not the full chain spec.

---------

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

* Publicly expose inaccessible `pallet_uniques` state (#2727)

A small PR to publicly expose the `pallet_uniques` state that is not
accessible through the nonfungibles implementation.

Currently, this state is unreachable from chain extensions.

* Bump async-trait from 0.1.73 to 0.1.74 (#2730)

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.73
to 0.1.74.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/async-trait/releases">async-trait's
releases</a>.</em></p>
<blockquote>
<h2>0.1.74</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/async-trait/commit/265979b07a9af573e1edd3b2a9b179533cfa7a6c"><code>265979b</code></a>
Release 0.1.74</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/5e677097d2e67f7a5c5e3023e2f3b99b36a9e132"><code>5e67709</code></a>
Fix doc test when async fn in trait is natively supported</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/ef144aed28b636eb65759505b2323afc4c753fbe"><code>ef144ae</code></a>
Update ui test suite to nightly-2023-10-15</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/9398a28d6fc977ccf8c286bd85b4b87a883f92ac"><code>9398a28</code></a>
Test docs.rs documentation build in CI</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/8737173dafa371e5e9e491d736513be1baf697f4"><code>8737173</code></a>
Update ui test suite to nightly-2023-09-24</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/5ba643c001a55f70c4a44690e040cdfab873ba56"><code>5ba643c</code></a>
Test dyn Trait containing async fn</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/247c8e7b0b3ff69c9518ebf93e69fe74d47f17b6"><code>247c8e7</code></a>
Add ui test testing the recommendation to use async-trait</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/799db66a84834c403860df4a8c0227d8fb7f9d9d"><code>799db66</code></a>
Update ui test suite to nightly-2023-09-23</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/0e60248011f751d8ccf58219d0a79aacfe9619f1"><code>0e60248</code></a>
Update actions/checkout@v3 -&gt; v4</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/7fcbc83993d5ef483d048c271a7f6c4ac8c98388"><code>7fcbc83</code></a>
Update ui test suite to nightly-2023-08-29</li>
<li>See full diff in <a
href="https://github.com/dtolnay/async-trait/compare/0.1.73...0.1.74">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

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

* Relaxed clippy fixes/nits (#2661)

This PR contains just a few clippy fixes and nits, which are, however,
relaxed by workspace clippy settings here:
https://github.com/paritytech/polkadot-sdk/blob/master/Cargo.toml#L483-L506

---------

Co-authored-by: Dmitry Sinyavin <[email protected]>
Co-authored-by: ordian <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: Bastian Köcher <[email protected]>

* Bridges subtree update (#2736)

* BEEFY: expect_validator_set() small fix (#2737)

Follow-up on https://github.com/paritytech/polkadot-sdk/pull/2716

Sorry, small miss

* [ci] Fix node-bench-regression-guard job (#2732)

After GitLab update it started to remove artifacts from master if PR has
more than 20 commits. PR fixes this for `node-bench-regression-guard`
job

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

* subsystem benchmarks: add cpu profiling (#2734)

Ready-to-merge version of
https://github.com/paritytech/polkadot-sdk/pull/2601

- Added optional CPU profiling
- Updated instructions how to set up Prometheus, Pyroscope and Graphana
- Added a flamegraph dashboard
<img width="1470" alt="image"
src="https://github.com/paritytech/polkadot-sdk/assets/27277055/c8f3b33d-3c01-4ec0-ac34-72d52325b6e6">

---------

Co-authored-by: ordian <[email protected]>

* Bump dyn-clone from 1.0.13 to 1.0.16 (#2748)

Bumps [dyn-clone](https://github.com/dtolnay/dyn-clone) from 1.0.13 to
1.0.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/dyn-clone/releases">dyn-clone's
releases</a>.</em></p>
<blockquote>
<h2>1.0.16</h2>
<ul>
<li>Documentation improvements</li>
</ul>
<h2>1.0.15</h2>
<ul>
<li>Documentation improvements</li>
</ul>
<h2>1.0.14</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/f2f0a02f1f7190048153e5ea8f554db7377a50a9"><code>f2f0a02</code></a>
Release 1.0.16</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/7e5037b8242739a52e36bff94d405caede2cace8"><code>7e5037b</code></a>
Fix crate name in html_root_url</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/e84a6e10e7185e4d050ccf466098486983b60539"><code>e84a6e1</code></a>
Release 1.0.15</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/453e078f525aaf1afbfa17a101d166ca0061bcbe"><code>453e078</code></a>
Fix documentation on no-std targets</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/4bcfc07bec99e002de32285bc09bc73c6a679b66"><code>4bcfc07</code></a>
Let rustdoc see std crate</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/8bd3355c1e7607e8aa9424b39acfc080e671b32d"><code>8bd3355</code></a>
Allow rustdoc to take care of intra-doc links</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/638fa8b1b9ca3ffd10a84cee3ca0310f10b85c5b"><code>638fa8b</code></a>
Remove 'remember to update' reminder from Cargo.toml</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/2e6b761113dba45bcf765e6753a8a55279220750"><code>2e6b761</code></a>
Test docs.rs documentation build in CI</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/cee99471c46f9f512640aa03c680a547ac72c22c"><code>cee9947</code></a>
Release 1.0.14</li>
<li><a
href="https://github.com/dtolnay/dyn-clone/commit/7b6a70759714b5cb55ac4b763636527acb6ab2c3"><code>7b6a707</code></a>
Delete dyn-clonable link</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/dyn-clone/compare/1.0.13...1.0.16">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

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

* Bump actions/setup-node from 4.0.0 to 4.0.1 (#2746)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from
4.0.0 to 4.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Ignore engines in Yarn 1 e2e-cache tests by <a
href="https://github.com/trivikr"><code>@​trivikr</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/882">actions/setup-node#882</a></li>
<li>Update setup-node references in the README.md file to setup-node@v4
by <a href="https://github.com/jwetzell"><code>@​jwetzell</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/884">actions/setup-node#884</a></li>
<li>Update reusable workflows to use Node.js v20 by <a
href="https://github.com/MaksimZhukov"><code>@​MaksimZhukov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/889">actions/setup-node#889</a></li>
<li>Add fix for cache to resolve slow post action step by <a
href="https://github.com/aparnajyothi-y"><code>@​aparnajyothi-y</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/917">actions/setup-node#917</a></li>
<li>Fix README.md by <a
href="https://github.com/takayamaki"><code>@​takayamaki</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/898">actions/setup-node#898</a></li>
<li>Add <code>package.json</code> to <code>node-version-file</code> list
of examples. by <a
href="https://github.com/TWiStErRob"><code>@​TWiStErRob</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/879">actions/setup-node#879</a></li>
<li>Fix node-version-file interprets entire package.json as a version by
<a
href="https://github.com/NullVoxPopuli"><code>@​NullVoxPopuli</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/865">actions/setup-node#865</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/trivikr"><code>@​trivikr</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/882">actions/setup-node#882</a></li>
<li><a href="https://github.com/jwetzell"><code>@​jwetzell</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/884">actions/setup-node#884</a></li>
<li><a
href="https://github.com/aparnajyothi-y"><code>@​aparnajyothi-y</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/917">actions/setup-node#917</a></li>
<li><a
href="https://github.com/takayamaki"><code>@​takayamaki</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/898">actions/setup-node#898</a></li>
<li><a
href="https://github.com/TWiStErRob"><code>@​TWiStErRob</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/879">actions/setup-node#879</a></li>
<li><a
href="https://github.com/NullVoxPopuli"><code>@​NullVoxPopuli</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/865">actions/setup-node#865</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v4...v4.0.1">https://github.com/actions/setup-node/compare/v4...v4.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8"><code>b39b52d</code></a>
Fix node-version-file interprets entire package.json as a version (<a
href="https://redirect.github.com/actions/setup-node/issues/865">#865</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/72476173717e9fa92b08abe87e9c9dc3a42dc0c8"><code>7247617</code></a>
Add <code>package.json</code> to <code>node-version-file</code> list of
examples. (<a
href="https://redirect.github.com/actions/setup-node/issues/879">#879</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/f3ec4ca66feedca88150c6d39d92449ce4ca063b"><code>f3ec4ca</code></a>
Fix README.md (<a
href="https://redirect.github.com/actions/setup-node/issues/898">#898</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/ec97f37504b0cca1fbc763cc0575585d10020c22"><code>ec97f37</code></a>
Add fix for cache (<a
href="https://redirect.github.com/actions/setup-node/issues/917">#917</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/5ef044f9d09786428e6e895be6be17937becee3a"><code>5ef044f</code></a>
Update reusable workflows to use Node.js v20 (<a
href="https://redirect.github.com/actions/setup-node/issues/889">#889</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/c45882a6eaaa69d42dbf1b6c7e3ae5dbb81e1f29"><code>c45882a</code></a>
update to setup-node@v4 in docs (<a
href="https://redirect.github.com/actions/setup-node/issues/884">#884</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/ee36e8b5c0fdd6014a0398aed18ce9876360bd63"><code>ee36e8b</code></a>
Ignore engines check in Yarn 1 e2e-cache tests (<a
href="https://redirect.github.com/actions/setup-node/issues/882">#882</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-node/compare/v4.0.0...v4.0.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=4.0.0&new-version=4.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore 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: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* `UnionOf` types for merged `fungible` and `fungibles` implementations (#2033)

Introduces `UnionOf` types, crafted to merge `fungible` and `fungibles`
implementations or two `fungibles` implementations into a single type
implementing `fungibles`.

This also addresses an issue where `ItemOf` initiates a double drop for
an imbalance type, leading to inaccurate total issuance accounting.

Find the application of these types in this PR -
[link](https://github.com/paritytech/polkadot-sdk/pull/2031), places in
code -
[1](https://github.com/paritytech/polkadot-sdk/blob/4ec7496fa2632385b08fae860fcf28a523a7b5de/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs#L327),
[2](https://github.com/paritytech/polkadot-sdk/blob/4ec7496fa2632385b08fae860fcf28a523a7b5de/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs#L343).

---------

Co-authored-by: Liam Aharon <[email protected]>
Co-authored-by: joe petrowski <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: joepetrowski <[email protected]>

* [NFTs] Fix consumers issue (#2653)

When we call the `set_accept_ownership` method, we increase the number
of account consumers, but then we don't decrease it on collection
transfer, which leads to the wrong consumers number an account has.

* Rococo/Westend Coretime Runtime

New runtimes for the Coretime Chain (a.k.a. "Broker Chain") described in
RFC-1.

Replaces https://github.com/paritytech/cumulus/pull/2889


- [x] Add Agile Coretime pallet
https://github.com/paritytech/substrate/pull/14568
- [x] Generate chain specs for local and testnets
- [x] Deploy parachain on Rococo - Done:
[rococo-coretime-rpc.polkadot.io](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-coretime-rpc.polkadot.io#/explorer)

DevOps issue for Aura keygen:
https://github.com/paritytech/devops/issues/2725

Edit (Dónal): This PR is mainly for Rococo, the Westend runtime is a
shell with no `Broker` pallet. The Rococo runtime has the broker calls
filtered for initial deployment.

---------

Co-authored-by: Dónal Murray <[email protected]>
Co-authored-by: 0xmovses <[email protected]>
Co-authored-by: Liam Aharon <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Marcin S. <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: Branislav Kontur <[email protected]>

* Ref docs: runtime vs contracts (#2609)

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

* SDK docs ref cli (#2741)

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

* pallet-uniques/nfts: Small optimizations (#2754)

Use `contains_key` to not require decoding the actual value.

* pallet-asset-conversion: Swap Credit (#1677)

Introduces a swap implementation that allows the exchange of a credit
(aka Negative Imbalance) of one asset for a credit of another asset.

This is particularly useful when a credit swap is required but may not
have sufficient value to meet the ED constraint, hence cannot be
deposited to temp account before. An example use case is when XCM fees
are paid using an asset held in the XCM executor registry and has to be
swapped for native currency.

Additional Updates:
- encapsulates the existing `Swap` trait impl within a transactional
context, since partial storage mutation is possible when an error
occurs;
- supplied `Currency` and `Assets` impls must be implemented over the
same `Balance` type, the `AssetBalance` generic type is dropped. This
helps to avoid numerous type conversion and overflow cases. If those
types are different it should be handled outside of the pallet;
- `Box` asset kind on a pallet level, unbox on a runtime level - here
[why](https://substrate.stackexchange.com/questions/10039/boxed-argument-of-a-dispatchable/10103#10103);
- `path` uses `Vec` now, instead of `BoundedVec` since it is never used
in PoV;
- removes the `Transfer` event due to it's redundancy with the events
emitted by `fungible/s` implementations;
- modifies the `SwapExecuted` event type;

related issue: 
- https://github.com/paritytech/polkadot-sdk/issues/105

related PRs:
- (required for) https://github.com/paritytech/polkadot-sdk/pull/1845
- (caused) https://github.com/paritytech/polkadot-sdk/pull/1717

// DONE make the pallet work only with `fungibles` trait and make it
free from the concept of a `native` asset -
https://github.com/paritytech/polkadot-sdk/issues/1842

---------

Co-authored-by: joe petrowski <[email protected]>

* Add srtool GHA (#2755)

This PR introduces the `srtool` GHA which was used in the old `cumulus`
repo to build and check runtimes on the weekly basis schedule. The job
is triggered:
- every Monday at 2AM, automatically
- on each tag push or push to the release branch
- can be triggered manually as well

Addresses #1271

* Update schnorrkel to 0.11.4 (#2524)

* Fix bridges scripts to test Rococo <> Westend bridge locally (#2752)

I think I broke it in
https://github.com/paritytech/polkadot-sdk/pull/2139 - fees has
increased and amounts that we send are no longer enough to cover fees.
Also changed a consts (test + 33%) using latest weights.

---------

Co-authored-by: Branislav Kontur <[email protected]>

* Bump chrono from 0.4.27 to 0.4.31 (#2761)

Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.27 to
0.4.31.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chronotope/chrono/releases">chrono's
releases</a>.</em></p>
<blockquote>
<h2>0.4.31</h2>
<p>Another maintenance release.
It was not a planned effort to improve our support for UNIX timestamps,
yet most PRs seem related to this.</p>
<h3>Deprecations</h3>
<ul>
<li>Deprecate <code>timestamp_nanos</code> in favor of the non-panicking
<code>timestamp_nanos_opt</code> (<a
href="https://redirect.github.com/chronotope/chrono/issues/1275">#1275</a>)</li>
</ul>
<h3>Additions</h3>
<ul>
<li>Add <code>DateTime::&lt;Utc&gt;::from_timestamp</code> (<a
href="https://redirect.github.com/chronotope/chrono/issues/1279">#1279</a>,
thanks <a
href="https://github.com/demurgos"><code>@​demurgos</code></a>)</li>
<li>Add <code>TimeZone::timestamp_micros</code> (<a
href="https://redirect.github.com/chronotope/chrono/issues/1285">#1285</a>,
thanks <a
href="https://github.com/emikitas"><code>@​emikitas</code></a>)</li>
<li>Add <code>DateTime&lt;Tz&gt;::timestamp_nanos_opt</code> and
<code>NaiveDateTime::timestamp_nanos_opt</code> (<a
href="https://redirect.github.com/chronotope/chrono/issues/1275">#1275</a>)</li>
<li>Add <code>UNIX_EPOCH</code> constants (<a
href="https://redirect.github.com/chronotope/chrono/issues/1291">#1291</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Format day of month in RFC 2822 without padding (<a
href="https://redirect.github.com/chronotope/chrono/issues/1272">#1272</a>)</li>
<li>Don't allow strange leap seconds which are not on a minute boundary
initialization methods (<a
href="https://redirect.github.com/chronotope/chrono/issues/1283">#1283</a>)
This makes many methods a little more strict:
<ul>
<li><code>NaiveTime::from_hms_milli</code></li>
<li><code>NaiveTime::from_hms_milli_opt</code></li>
<li><code>NaiveTime::from_hms_micro</code></li>
<li><code>NaiveTime::from_hms_micro_opt</code></li>
<li><code>NaiveTime::from_hms_nano</code></li>
<li><code>NaiveTime::from_hms_nano_opt</code></li>
<li><code>NaiveTime::from_num_seconds_from_midnight</code></li>
<li><code>NaiveTime::from_num_seconds_from_midnight_opt</code></li>
<li><code>NaiveDate::and_hms_milli</code></li>
<li><code>NaiveDate::and_hms_milli_opt</code></li>
<li><code>NaiveDate::and_hms_micro</code></li>
<li><code>NaiveDate::and_hms_micro_opt</code></li>
<li><code>NaiveDate::and_hms_nano</code></li>
<li><code>NaiveDate::and_hms_nano_opt</code></li>
<li><code>NaiveDateTime::from_timestamp</code></li>
<li><code>NaiveDateTime::from_timestamp_opt</code></li>
<li><code>TimeZone::timestamp</code></li>
<li><code>TimeZone::timestamp_opt</code></li>
</ul>
</li>
<li>Fix underflow in <code>NaiveDateTime::timestamp_nanos_opt</code> (<a
href="https://redirect.github.com/chronotope/chrono/issues/1294">#1294</a>,
thanks <a
href="https://github.com/crepererum"><code>@​crepererum</code></a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add more documentation about the RFC 2822 obsolete date format (<a
href="https://redirect.github.com/chronotope/chrono/issues/1267">#1267</a>)</li>
</ul>
<h3>Internal</h3>
<ul>
<li>Remove internal <code>__doctest</code> feature and
<code>doc_comment</code> dependency (<a
href="https://redirect.github.com/chronotope/chrono/issues/1276">#1276</a>)</li>
<li>CI: Bump <code>actions/checkout</code> from 3 to 4 (<a
href="https://redirect.github.com/chronotope/chrono/issues/1280">#1280</a>)</li>
<li>Optimize <code>NaiveDate::add_days</code> for small values (<a
href="https://redirect.github.com/chronotope/chrono/issues/1214">#1214</a>)</li>
<li>Upgrade <code>pure-rust-locales</code> to 0.7.0 (<a
href="https://redirect.github.com/chronotope/chrono/issues/1288">#1288</a>,
thanks <a href="https://github.com/jeremija"><code>@​jeremija</code></a>
wo did good improvements on <code>pure-rust-locales</code>)</li>
</ul>
<p>Thanks to all contributors on behalf of the chrono team, <a
href="https://github.com/djc"><code>@​djc</code></a> and <a
href="https://github.com/pitdicker"><code>@​pitdicker</code></a>!</p>
<h2>0.4.30</h2>
<p>In this release, we have decided to swap out the
<code>chrono::Duration</code> type (which has been a re-export of time
0.1 <code>Duration</code> type) with our own definition, which exposes a
strict superset of the <code>time::Duration</code> API. This helps avoid
warnings about the [CVE-2020-26235] and [RUSTSEC-2020-0071] advisories
for downstream users and allows us to improve the <code>Duration</code>
API going forward.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/chronotope/chrono/commit/e730c6ac45649a6a636abf30b796304bc46ecd15"><code>e730c6a</code></a>
Bump version to 0.4.31</li>
<li><a
href="https://github.com/chronotope/chrono/commit/2afdde8f7f23f087b5027662e2882dba0663fef7"><code>2afdde8</code></a>
fix: underflow during datetime-&gt;nanos conversion</li>
<li><a
href="https://github.com/chronotope/chrono/commit/46ad2c2b2c901eb20e43a7fca025aac02605bda4"><code>46ad2c2</code></a>
Add <code>UNIX_EPOCH</code> constants</li>
<li><a
href="https://github.com/chronotope/chrono/commit/1df8db3a547bf50929d3d1774306f996b63e9e7c"><code>1df8db3</code></a>
Add TimeZone::timestamp_micros</li>
<li><a
href="https://github.com/chronotope/chrono/commit/861d4e12487181e71744478a320db20f56bd61af"><code>861d4e1</code></a>
Make TimeZone::timestamp_millis_opt use</li>
<li><a
href="https://github.com/chronotope/chrono/commit/3c4846a88235a38105a047b0acd34ce239a1cfb5"><code>3c4846a</code></a>
Upgrade pure-rust-locales to 0.7.0</li>
<li><a
href="https://github.com/chronotope/chrono/commit/6665804676e55e9e2375eed7c10cc9e0910abf11"><code>6665804</code></a>
Deny leap second if secs != 59 in
<code>from_num_seconds_from_midnight_opt</code></li>
<li><a
href="https://github.com/chronotope/chrono/commit/61b7ffbb7a95df577c308eb0f2ab5c68e1566cf1"><code>61b7ffb</code></a>
Deny leap second if secs != 59 in <code>from_hms_nano_opt</code></li>
<li><a
href="https://github.com/chronotope/chrono/commit/202af6cfda9bfdb195dc96377fcdeee7ed024b65"><code>202af6c</code></a>
Don't generate leap seconds that are not 60 in NaiveTime's Arbitrary
impl</li>
<li><a
href="https://github.com/chronotope/chrono/commit/60283ab55cbc9ea6caa86e19bf5da2c086cdf4bc"><code>60283ab</code></a>
Don't create strange leap seconds in tests</li>
<li>Additional commits viewable in <a
href="https://github.com/chronotope/chrono/compare/v0.4.27...v0.4.31">compare
view</a></li>
</ul>
</details>
<br />


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

* pallet-asset-conversion: Decoupling Native Currency Dependancy (#2031)

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

Decoupling Pallet from the Concept of Native Currency

Currently, the pallet is intrinsically linked with the concept of native
currency, requiring users to provide implementations of the
`fungible::*` and `fungibles::*` traits to interact with native and non
native assets. This incapsulates some non-related to the pallet
complexity and makes it less adaptable in contexts where the native
currency concept is absent.

With this PR, the dependence on `fungible::*` for liquidity-supplying
assets has been removed. Instead, the native and non-native currencies'
handling is now overseen by a single type that implements the
`fungibles::*` traits. To simplify this integration, types have been
introduced to facilitate the creation of a union between `fungible::*`
and `fungibles::*` implementations, producing a unified `fungibles::*`
type.

One of the reasons driving these changes is the ambition to create a
more user-friendly API for the `SwapCredit` implementation. Given that
it interacts with two distinct credit types from `fungible` and
`fungibles`, a unified type was introduced. Clients now manage potential
conversion failures for those credit types. In certain contexts, it's
vital to guarantee that operations are fail-safe, like in this impl -
[PR](https://github.com/paritytech/polkadot-sdk/pull/1845), place in
[code](https://github.com/paritytech/polkadot-sdk/blob/20b85a5fada8f55c98ba831964f5866ffeadf4da/cumulus/primitives/utility/src/lib.rs#L429).

Additional Updates:
- abstracted the pool ID and its account derivation logic via trait
bounds, along with common implementation offerings;
- removed `inc_providers` on a pool creation for the pool account;
- benchmarks:
-- swap complexity is N, not const;
-- removed `From<u128> + Into<u128>` bound from `T::Balance`;
-- removed swap/liquidity/.. amount constants, resolve them dynamically
based on pallet configuration;
-- migrated to v2 API;
- `OnUnbalanced` handler for the pool creation fee, replacing direct
transfers to a specified account ID;
- renamed `MultiAssetId` to `AssetKind` aligning with naming across
frame crates;

related PRs:
- (depends) https://github.com/paritytech/polkadot-sdk/pull/1677
- (caused) https://github.com/paritytech/polkadot-sdk/pull/2033
- (caused) https://github.com/paritytech/polkadot-sdk/pull/1876

---------

Co-authored-by: joe petrowski <[email protected]>
Co-authored-by: Liam Aharon <[email protected]>

* use a single source for simple-mermaid dependency (#2760)

this breaks cargo vendor which is necessary for building polkadot with
nix

* Add Authorize Upgrade Pattern to Frame System (#2682)

Adds the `authorize_upgrade` -> `enact_authorized_upgrade` pattern to
`frame-system`. This will be useful for upgrading bridged chains that
are under the governance of Polkadot without passing entire runtime Wasm
blobs over a bridge.

Notes:

- Changed `enact_authorized_upgrade` to `apply_authorized_upgrade`.
Personal opinion, "apply" more accurately expresses what it's doing. Can
change back if outvoted.
- Remove `check_version` in favor of two extrinsics, so as to make
_checked_ the default.
- Left calls in `parachain-system` and marked as deprecated to prevent
breaking the API. They just call into the `frame-system` functions.
- Updated `frame-system` benchmarks to v2 syntax.

---------

Co-authored-by: command-bot <>

* Fix clippy lints behind feature gates and add new CI step all features (#2569)

Many clippy lints usually enforced by `-Dcomplexity` and `-Dcorrectness`
are not caught by CI as they are gated by `features`, like
`runtime-benchmarks`, while the clippy CI job runs with only the default
features for all targets.

This PR also adds a CI step to run clippy with `--all-features` to
ensure the code quality is maintained behind feature gates from now on.

To improve local development, clippy lints are downgraded to warnings,
but they still will result in an error at CI due to the `-Dwarnings`
rustflag.

---------

Co-authored-by: Liam Aharon <[email protected]>

* Fix Coretime Master (#2765)

Should have merged master into #2682 before merging.

* Cleanup bridges tests: with-grandpa-chain case (#2763)

related to
https://github.com/paritytech/parity-bridges-common/issues/2739

Co-authored-by: Branislav Kontur <[email protected]>

* Adds Snowbridge to Rococo runtime (#2522)

# Description

Adds Snowbridge to the Rococo bridge hub runtime. Includes config
changes required in Rococo asset hub.

---------

Co-authored-by: Alistair Singh <[email protected]>
Co-authored-by: ron <[email protected]>
Co-authored-by: Vincent Geddes <[email protected]>
Co-authored-by: claravanstaden <Cats 4 life!>

* Coretime Feature branch (relay chain) (#1694)

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

- [x] CoreIndex -> AssignmentProvider mapping will be able to change any
time.
- [x] Implement
- [x] Provide Migrations
- [x] Add and fix tests
- [x] Implement bulk assigner logic
- [x] bulk assigner tests
- [x] Port over current assigner to use bulk designer (+ share on-demand
with bulk): top-level assigner has core ranges: legacy, bulk
- [x] Adjust migrations to reflect new assigner structure
- [x] Move migration code to Assignment code directly and make it
recursive (make it possible to skip releases) -> follow up ticket.
- [x] Test migrations
- [x] Add migration PR to runtimes repo -> follow up ticket.
- [x] Wire up with actual UMP messages
- [x] Write PR docs

---------

Co-authored-by: eskimor <[email protected]>
Co-authored-by: Bradley Olson <[email protected]>
Co-authored-by: BradleyOlson64 <[email protected]>
Co-authored-by: Anton Vilhelm Ásgeirsson <[email protected]>
Co-authored-by: antonva <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Marcin S. <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: command-bot <>

* Cleanup bridges tests: with-parachain case (#2772)

related to
https://github.com/paritytech/parity-bridges-common/issues/2739

* Bump AH and BH runtime versions (#2775)

After merging https://github.com/paritytech/polkadot-sdk/pull/2522
asset-hub-rococo and bridge-hub-rococo runtime versions need to be
bumped for their deployment.

---------

Co-authored-by: joe petrowski <[email protected]>

* Try to set `beacon-spec-mainnet` as default on runtime and not binary (#2777)

* frame-support: Print key as hex for corrupted state (#2779)

* pallet-sudo: Accept `Root` origin as valid sudo (#2783)

This changes `pallet-sudo` to also accept `Root` origin for
`ensure_sudo`. This can be useful for parachains who allow the relay
chain to have superuser rights to setup the sudo pallet for example.

* Update Safe Call Filters (#2786)

- Updates all safe call filters to allow `system::authorize_upgrade`.
- Updates Coretime safe call filter to allow `sudo` and
`system_set_storage`.
- Update Coretime teleports to allow teleportation with other system
chains.

---------

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

* Bump unsafe-libyaml from 0.2.9 to 0.2.10 (#2776)

Bumps [unsafe-libyaml](https://github.com/dtolnay/unsafe-libyaml) from
0.2.9 to 0.2.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/unsafe-libyaml/releases">unsafe-libyaml's
releases</a>.</em></p>
<blockquote>
<h2>0.2.10</h2>
<ul>
<li>Fix write to improperly aligned pointer in 32-bit targets (<a
href="https://redirect.github.com/dtolnay/unsafe-libyaml/issues/21">#21</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/unsafe-libyaml/commit/61f3ab82b271ac90d6a04f65520614ca08c58abe"><code>61f3ab8</code></a>
Release 0.2.10</li>
<li><a
href="https://github.com/dtolnay/unsafe-libyaml/commit/d90d7abc4e31d590881a055c6ade175e40cd498f"><code>d90d7ab</code></a>
Clean up some redundant casts</li>
<li><a
href="https://github.com/dtolnay/unsafe-libyaml/commit/7755559145c9cf5573639bfecc557893d4a46b0d"><code>7755559</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/unsafe-libyaml/issues/24">#24</a>
from dtolnay/mallocalign</li>
<li><a
href="https://github.com/dtolnay/unsafe-libyaml/commit/b8a0863c1bb2a0e1b3d226679e4a7bd31d14c2b4"><code>b8a0863</code></a>
Fix insufficient alignment of malloc's return value on 32-bit</li>
<li><a
href="https://github.com/dtolnay/unsafe-libyaml/commit/389373f0d99dd8726eb52199e622056aa1d4ac8f"><code>389373f</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/unsafe-libyaml/issues/23">#23</a>
from dtolnay/malloc</li>
<li><a
href="https://github.com/dtolnay/unsafe-libyaml/commit/fd41ef659dcd9eaa973771985edce227cdcfe084"><code>fd41ef6</code></a>
Check arithmetic in malloc computations</li>
<li><a
href="https://github.com/dtolnay/unsafe-libyaml/commit/9e054fbfee5523f904bd70091170ad7a0e5402a2"><code>9e054fb</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/unsafe-libyaml/issues/22">#22</a>
from dtolnay/force</li>
<li><a
href="https://github.com/dtolnay/unsafe-libyaml/commit/5b40a9e0edc5c5e87585d49f9fd34603c2c4742b"><code>5b40a9e</code></a>
Check more arithmetic operations</li>
<li><a
href="https://github.com/dtolnay/unsafe-libyaml/commit/97a4332d8d5a47478e659cb9b872ed6613eee8a9"><code>97a4332</code></a>
Delete cast to long followed by size_t</li>
<li><a
href="https://github.com/dtolnay/unsafe-libyaml/commit/e5f4bbd0f0ff8c48c8df8e88f810e5d0c4143159"><code>e5f4bbd</code></a>
Clean up duplicated casting to size_t</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/unsafe-libyaml/compare/0.2.9...0.2.10">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore 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: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Final nits for bridge-hub-test-utils (#2788)

closes https://github.com/paritytech/parity-bridges-common/issues/2739

* incrementing sufficient accounts references with saturating_add for safety. (#2768)

Even though it is difficult to overflow the sufficients variable, since
an attacker that is willing to rapidly increase the number must every
time deposit a minimum deposit of a given asset, it is safer to use
saturating_add().

---------

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: joe petrowski <[email protected]>

* fix overflow in `balance_to_point` conversion (#2706)

Closes #416

As I mentioned in the above issue `balance_to_points` conversion
currently overflows the `Balance` types even before computing the actual
points for the given tokens. This fixes that,

* Rococo & Westend People Chain (#2281)

Rococo and Westend runtimes for the "People Chain". This chain contains
the Identity pallet with plans to migrate all related data from the
Relay Chain.

Changes `IdentityInfo` to:

- Remove `additional_fields`.
- Add `github` and `discord` as first class fields. From scraping chain
data, these were the only two additional fields used (for the Fellowship
and Ambassador Program, respectively).
- Rename `riot` to `matrix`.

Note: This will use the script in
https://github.com/paritytech/polkadot-sdk/pull/2025 to generate the
genesis state.

TODO:

- [x] https://github.com/paritytech/polkadot-sdk/pull/1814 and
integration of the Identity Migrator pallet for migration.
- [x] Tests: https://github.com/paritytech/polkadot-sdk/pull/2373

---------

Co-authored-by: Muharem <[email protected]>
Co-authored-by: Michal Kucharczyk <[email protected]>
Co-authored-by: Dónal Murray <[email protected]>
Co-authored-by: Richard Melkonian <[email protected]>
Co-authored-by: Liam Aharon <[email protected]>

* Coretime: Use `Superuser` for sending the transact calls (#2793)

* Improve `TryDecodeEntireState` output (#2724)

Found some areas for improvement while working on
https://github.com/polkadot-fellows/runtimes/pull/122.

## Improvements

- If multiple keys in a storage item (e.g. a map) are undecodable,
return all the undecodable keys rather than only the first one found
- Include the key of the undecodable storage in the INFO log
- Write output as hex string where appropriate
- Write INFO log on successful decoding

* Remove rustdocs allowances (#2797)

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

* Update rust docs link in README.md (#2794)

Co-authored-by: Liam Aharon <[email protected]>

* Fix typo in comments (#2807)

fix typos in the comments of `pallet-broker`

* xcm: Improve debuggability (#2799)

Adds more logging to the XCM execution for better debugging.

* Saner weights + lease calcuation fix. (#2778)

And have proper benchmarks.

---------

Co-authored-by: eskimor <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: joe petrowski <[email protected]>

* BEEFY: Support compatibility with Warp Sync - Allow Warp Sync for Validators (#2689)

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

Initializes voter _after_ headers sync finishes in the background.

This enables the BEEFY gadget to work with `--sync warp` (GRANDPA warp
sync).

Co-authored-by: Adrian Catangiu <[email protected]>

* Fix slot_duration divide by zero panic in rococo-parachain runtime (#2612)

Adds the fix in https://github.com/paritytech/polkadot-sdk/pull/2039 to
the rococo-parachain runtime.

* Bump the known_good_semver group with 2 updates (#2810)

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

Updates `syn` from 2.0.41 to 2.0.43
<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.43</h2>
<ul>
<li>Insert trailing comma if not already present when printing a 1-tuple
in pattern position (<a
href="https://redirect.github.com/dtolnay/syn/issues/1553">#1553</a>)</li>
</ul>
<h2>2.0.42</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/syn/commit/95ee05214030f936b8db3ee295188d5dc2c89621"><code>95ee052</code></a>
Release 2.0.43</li>
<li><a
href="https://github.com/dtolnay/syn/commit/7383e81b1ab6f9983692ebd9d6caa54aeff8fb85"><code>7383e81</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1559">#1559</a>
from dtolnay/pattuple</li>
<li><a
href="https://github.com/dtolnay/syn/commit/712fde5a6fce0e7bee3615ab5c7545ce442bf034"><code>712fde5</code></a>
Fix ToTokens for PatTuple to insert trailing comma</li>
<li><a
href="https://github.com/dtolnay/syn/commit/ed9b94e3395cffb33db4254439e23dbc3a2e9e43"><code>ed9b94e</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1558">#1558</a>
from dtolnay/tupletests</li>
<li><a
href="https://github.com/dtolnay/syn/commit/ec8517b33c137c48c38b74ba5be21815763a50f5"><code>ec8517b</code></a>
Add tuple comma tests</li>
<li><a
href="https://github.com/dtolnay/syn/commit/3cf16c76bdbe4e16261a167592a77edab853c6aa"><code>3cf16c7</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1557">#1557</a>
from dtolnay/snapshotparsequote</li>
<li><a
href="https://github.com/dtolnay/syn/commit/553549ff12358a6ad95baaed2601a9dab541d693"><code>553549f</code></a>
Generalize snapshot parsing to types that do not implement Parse</li>
<li><a
href="https://github.com/dtolnay/syn/commit/f9ad833e4a77c61003861f4e14d16b10b9708f9e"><code>f9ad833</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1556">#1556</a>
from dtolnay/punctuatedsnapshot</li>
<li><a
href="https://github.com/dtolnay/syn/commit/131b40ba2904ec8755bb34466f369072dc34d588"><code>131b40b</code></a>
Debug impl for punctuated::Pairs superseded by Punctuated</li>
<li><a
href="https://github.com/dtolnay/syn/commit/3f12d652a8871955a7e27e0369933288bc387dd5"><code>3f12d65</code></a>
Include punctuation tokens in snapshot tests containing Punctuated</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/syn/compare/2.0.41...2.0.43">compare
view</a></li>
</ul>
</details>
<br />

Updates `serde_yaml` from 0.9.27 to 0.9.29
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/serde-yaml/releases">serde_yaml's
releases</a>.</em></p>
<blockquote>
<h2>0.9.29</h2>
<ul>
<li>Turn on <code>deny(unsafe_op_in_unsafe_fn)</code> lint</li>
</ul>
<h2>0.9.28</h2>
<ul>
<li>Update <code>unsafe-libyaml</code> dependency to pull in unaligned
write fix</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/serde-yaml/commit/b957d2b15d7f3d96279997800fa0610b41b8fe00"><code>b957d2b</code></a>
Release 0.9.29</li>
<li><a
href="https://github.com/dtolnay/serde-yaml/commit/007fc2d5c1987847a0f1ac95885c56f8e6e5f808"><code>007fc2d</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/serde-yaml/issues/401">#401</a>
from dtolnay/unsafeop</li>
<li><a
href="https://github.com/dtolnay/serde-yaml/commit/5bac2475b0017d6a635d641df17165d71b951f0e"><code>5bac247</code></a>
Fill in unsafe blocks inside unsafe functions</li>
<li><a
href="https://github.com/dtolnay/serde-yaml/commit/0f6dba18ab8db598c4963e9242afd490ee0202f0"><code>0f6dba1</code></a>
Turn on deny(unsafe_op_in_unsafe_fn)</li>
<li><a
href="https://github.com/dtolnay/serde-yaml/commit/1b6e44837f0db0a1c15537311fed3579a7e8c6d2"><code>1b6e448</code></a>
Release 0.9.28</li>
<li><a
href="https://github.com/dtolnay/serde-yaml/commit/ec1a3145d7b6b809f7b3aa2d9dcd7db30f0588d4"><code>ec1a314</code></a>
Force unsafe-libyaml version that contains unaligned write fix</li>
<li><a
href="https://github.com/dtolnay/serde-yaml/commit/a6b2dc075a6eb1bed0d927df7b7ac2bb288f3bb4"><code>a6b2dc0</code></a>
Update name of blocks_in_if_conditions clippy lint</li>
<li>See full diff in <a
href="https://github.com/dtolnay/serde-yaml/compare/0.9.27...0.9.29">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: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove unused pallet-contracts-primitives (#2806)

* Broker pallet: fix interlacing (#2811)

With the current code, when a user interlaces their region, the end
result will be three regions in the state:
- the non-interlaced region
- first part of the interlaced region
- second part of the interlaced region

The existing implementation retains the non-interlaced region in the
state, leading to a problematic scenario:

1. User 1 acquires a region from the market.
2. User 1 then interlaces this region.
3. Subsequently, User 1 transfers one part of the interlaced regions to
User 2.
Despite this transfer, User 1 retains the ability to assign the entire
original non-interlaced region, which is inconsistent with the fact that
they no longer own one of the interlaced parts.

This PR resolves the issue by removing the original region, ensuring
that only the two new interlaced regions remain in the state.

* Development Environment Advice Reference Doc (#2759)

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

---------

Co-authored-by: Dónal Murray <[email protected]>
Co-authored-by: PG Herveou <[email protected]>
Co-authored-by: joe petrowski <[email protected]>

* PVF: ensure job processes are cleaned up, add tests (#2643)

Fixes a potential memory leak.

`PR_SET_PDEATHSIG` is used to terminate children when the parent dies.
Note that this is subject to a race. There seems to be a raceless
alternative [here](https://stackoverflow.com/a/42498370/6085242), but
the concern is small enough that a bit more complexity doesn't seem
worth it. Left a bit more info in the code comment.

* core-fellowship: allow infinite demotion period (#2828)

* Extract PartialComponents into a type alias (#2767)

Pulling PartialComponents into a named `Service` type stops clippy
complaining about type complexity and also makes the type signatures a
little less scary to read.

There's two instances where we can't pull it out into a type because a
nightly feature has not yet been stabilised (E.g. the `imp Fn` isn't
stabilised in a type alias context here:
https://github.com/paritytech/polkadot-sdk/blob/d84e135bbfc366a17bb6b72d0fc9d09ee781ab8d/polkadot/node/service/src/lib.rs#L477
).

---------

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

* malus: use spawn_blocking (#2804)

Looks like using `spawn` instead of `spawn_blocking` in malus is leading
to a deadlock somehow. I'm not sure why exactly, but switching to
`spawn_blocking` fixes
https://github.com/paritytech/disabling-e2e-tests/issues/1, at least for
`suggest-garbage-candidate` (didn't check other variants).

Maybe my assumption here was wrong:
https://github.com/paritytech/polkadot-sdk/pull/2184#discussion_r1403587674.

---------

Co-authored-by: Tsvetomir Dimitrov <[email protected]>

* Implement only sending one notification at a time as per RFC 56 (#2813)

cc https://github.com/paritytech/polkadot-sdk/issues/2812
cc https://github.com/polkadot-fellows/RFCs/pull/56

Since this is a one line of code change, and for the sake of this not
taking six months to be done, I've opted to open a PR myself.

---------

Co-authored-by: Aaro Altonen <[email protected]>

* Finish up polkadot doc (#2798)

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

* Bump chevdor/srtool-actions from 0.9.1 to 0.9.2 (#2840)

Bumps
[chevdor/srtool-actions](https://github.com/chevdor/srtool-actions) from
0.9.1 to 0.9.2.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/chevdor/srtool-actions/commit/48e9baed50ca414936dfac59d34d8b9bbe581abd"><code>48e9bae</code></a>
Remove extra quotes</li>
<li>See full diff in <a
href="https://github.com/chevdor/srtool-actions/compare/v0.9.1...v0.9.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chevdor/srtool-actions&package-manager=github_actions&previous-version=0.9.1&new-version=0.9.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: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Upgrade @polkadot/api and @polkadot/util package version to latest (#2821)

Otherwise I'm getting this error:
https://github.com/polkadot-js/api/pull/4952/files#diff-4cab1e3a83a624e52dc0c30047addb28184fdceac6acb930787af9c3aac50706L668
when running `./cumulus/scripts/bridges_rococo_westend.sh
init-bridge-hub-rococo-local` - guess it is related to recent Snowbridge
merge?

* Bump the known_good_semver group with 4 updates (#2845)

Bumps the known_good_semver group with 4 updates:
[serde](https://github.com/serde-rs/serde),
[serde_json](https://github.com/serde-rs/json),
[clap](https://github.com/clap-rs/clap) and
[serde_yaml](https://github.com/dtolnay/serde-yaml).

Updates `serde` from 1.0.193 to 1.0.194
<details>
<summary>Rele…
@Polkadot-Forum
Copy link

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:

https://forum.polkadot.network/t/polkadot-release-analysis-v1-6-0/5855/1

bkontur added a commit to bkontur/runtimes that referenced this pull request Jan 29, 2024
bkontur added a commit to bkontur/runtimes that referenced this pull request Jan 29, 2024
bkontur added a commit to bkontur/runtimes that referenced this pull request Jan 30, 2024
bkontur added a commit to bkontur/runtimes that referenced this pull request Feb 3, 2024
bkontur added a commit to bkontur/runtimes that referenced this pull request Feb 3, 2024
bkontur added a commit to bkontur/runtimes that referenced this pull request Feb 6, 2024
bgallois pushed a commit to duniter/duniter-polkadot-sdk that referenced this pull request Mar 25, 2024
…itytech#2694)

closes paritytech-secops/srlabs_findings#78.

Removes `BetterUnsignedThreshold` from pallet EPM. This will essentially
mean any solution submitted by the validator that is strictly better
than the current queued solution would be accepted.

The reason for having these thresholds is to limit number of solutions
submitted on-chain. However for unsigned submissions, the number of
solutions that could be submitted on average is limited even without
thresholding (calculation shown in the corresponding issue).
bkchr pushed a commit that referenced this pull request Apr 10, 2024
* drop Rialto <> Millau bridges

* clippy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
D0-easy Can be fixed primarily by duplicating and adapting code by an intermediate coder. T1-FRAME This PR/Issue is related to core FRAME, the framework.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants