Skip to content

Commit fedb21a

Browse files
serban300seadandaliamaharonsvyatonikbkontur
authored
[master] Backport polkadot-sdk updates + bump polkadot-sdk refs (#2801)
* [polkadot-staging] Backport polkadot-sdk changes + update refs (#2798) * 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]> * Cleanup bridges tests: with-grandpa-chain case (#2763) related to #2739 Co-authored-by: Branislav Kontur <[email protected]> * Adds Snowbridge to Rococo runtime (#2522) 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!> * 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>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.194</h2> <ul> <li>Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/serde-rs/serde/commit/d2d977a6c6dcff237ae956336d18b0c900c61aad"><code>d2d977a</code></a> Release 1.0.194</li> <li><a href="https://github.com/serde-rs/serde/commit/a9a6ee9d7f2e3a3306ad7c7a8f21dcf369c6acb7"><code>a9a6ee9</code></a> Pull in proc-macro2 sccache fix</li> <li><a href="https://github.com/serde-rs/serde/commit/28c5d215c11b66368b725f04cb92e49e4350bcdc"><code>28c5d21</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2669">#2669</a> from dtolnay/optionifletelse</li> <li><a href="https://github.com/serde-rs/serde/commit/3d6a789562579fb7ea783e0d7f35530914d8baca"><code>3d6a789</code></a> Remove option_if_let_else clippy suppression</li> <li><a href="https://github.com/serde-rs/serde/commit/a0e68698e33fa928f1d9f208d68b17df9f8bb568"><code>a0e6869</code></a> Work around doc_link_with_quotes pedantic clippy lint</li> <li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.193...v1.0.194">compare view</a></li> </ul> </details> <br /> Updates `serde_json` from 1.0.108 to 1.0.110 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.109</h2> <ul> <li>Documentation improvements</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/serde-rs/json/commit/df5cf215b70fb6341b255e7c0a210c06f64c0669"><code>df5cf21</code></a> Release 1.0.110</li> <li><a href="https://github.com/serde-rs/json/commit/c35856a93c37b48b3d6efc4fec8e05554dd3f9d5"><code>c35856a</code></a> Pull in proc-macro2 sccache fix</li> <li><a href="https://github.com/serde-rs/json/commit/f88bf1fccb05aa4de129675de44eb6aaf3fec0a0"><code>f88bf1f</code></a> Release 1.0.109</li> <li><a href="https://github.com/serde-rs/json/commit/bb62c73ecef901e689b0a7a67ed613a32975520c"><code>bb62c73</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/json/issues/1097">#1097</a> from serde-rs/doccfg</li> <li><a href="https://github.com/serde-rs/json/commit/df36d109fd9f9cdd22a874c0177cafec12237f95"><code>df36d10</code></a> Restore doc cfg on re-exports</li> <li><a href="https://github.com/serde-rs/json/commit/c3670913423329c166add9d85ecdfc3e3da21e7a"><code>c367091</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/json/issues/1095">#1095</a> from dtolnay/hashtest</li> <li><a href="https://github.com/serde-rs/json/commit/b328ee7df4dd772922f084600aa7cea39218b694"><code>b328ee7</code></a> Eliminate hash closure in favor of calling hash_one directly</li> <li><a href="https://github.com/serde-rs/json/commit/b9bcbad3c094042f79f1a45189ec0edbb8f9f322"><code>b9bcbad</code></a> Use BuildHasher::hash_one</li> <li><a href="https://github.com/serde-rs/json/commit/7ff6c9e30c2ecc2cdcf089ed86c7ccfe7a41721c"><code>7ff6c9e</code></a> Use random hasher state for number hashing test</li> <li><a href="https://github.com/serde-rs/json/commit/fe031cd1de4dde5b47e0f18934632b41bd18b48d"><code>fe031cd</code></a> Delete trace_macros! functionality from test</li> <li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.108...v1.0.110">compare view</a></li> </ul> </details> <br /> Updates `clap` from 4.4.11 to 4.4.12 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.4.12</h2> <h2>[4.4.12] - 2023-12-28</h2> <h3>Performance</h3> <ul> <li>Only ask <code>TypedValueParser</code> for possible values if needed</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.4.12] - 2023-12-28</h2> <h3>Performance</h3> <ul> <li>Only ask <code>TypedValueParser</code> for possible values if needed</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/clap-rs/clap/commit/6d601e6f312857d78f47741268f1748840484d4a"><code>6d601e6</code></a> chore: Release</li> <li><a href="https://github.com/clap-rs/clap/commit/048e7f0fbc4f8108894e4307af768c8d332a0576"><code>048e7f0</code></a> docs: Update changelog</li> <li><a href="https://github.com/clap-rs/clap/commit/53f5b820988c1c03f0d2696fc144857ad461edc1"><code>53f5b82</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/5267">#5267</a> from vermiculus/sa/avoid-pv-expansion-in-help</li> <li><a href="https://github.com/clap-rs/clap/commit/05cd057978db743a65fb5fde33213af752d064e7"><code>05cd057</code></a> perf: Avoid retrieving possible_values unless used</li> <li><a href="https://github.com/clap-rs/clap/commit/29208083b0598ba7d1b80e79821c0ba3eb2342ce"><code>2920808</code></a> test: Update snapshots</li> <li><a href="https://github.com/clap-rs/clap/commit/28763ebb6d8714f6ca588bf477729040e0e760b0"><code>28763eb</code></a> chore: Release</li> <li><a href="https://github.com/clap-rs/clap/commit/ace7bb5b4570b030f7c2d0fa91e0afaaac1b0030"><code>ace7bb5</code></a> docs(complete): Update changelog</li> <li><a href="https://github.com/clap-rs/clap/commit/76beca4d4d42a817bbb578f23553c64ded2aea97"><code>76beca4</code></a> docs(complete): Polish API reference for dynamic</li> <li><a href="https://github.com/clap-rs/clap/commit/3630e582d3ec59912b8e9369c38687695ddb1f43"><code>3630e58</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/5273">#5273</a> from epage/docsrs</li> <li><a href="https://github.com/clap-rs/clap/commit/3724b9e2e4c2a2e69337b6d809949b246d3fef39"><code>3724b9e</code></a> docs: Include more content on docs.rs</li> <li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v4.4.11...v4.4.12">compare view</a></li> </ul> </details> <br /> Updates `serde_yaml` from 0.9.29 to 0.9.30 <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.30</h2> <ul> <li>Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dtolnay/serde-yaml/commit/09ee25156f608f95150b27edd120bd5471db3c64"><code>09ee251</code></a> Release 0.9.30</li> <li><a href="https://github.com/dtolnay/serde-yaml/commit/caea939ece85ab54ac41de0672d683905f1e406a"><code>caea939</code></a> Pull in proc-macro2 sccache fix</li> <li><a href="https://github.com/dtolnay/serde-yaml/commit/d255918c141fd72d01f169bb5aa0152234981699"><code>d255918</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/serde-yaml/issues/403">#403</a> from dtolnay/optionifletelse</li> <li><a href="https://github.com/dtolnay/serde-yaml/commit/8cfeedd766f83dab24d03b9fb11b72886a247425"><code>8cfeedd</code></a> Remove option_if_let_else clippy suppression</li> <li>See full diff in <a href="https://github.com/dtolnay/serde-yaml/compare/0.9.29...0.9.30">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> * Fix clippy warnings (#2861) Fix some issues reported by clippy * Bump the known_good_semver group with 4 updates (#2865) 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 [syn](https://github.com/dtolnay/syn). Updates `serde` from 1.0.194 to 1.0.195 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.195</h2> <ul> <li>Prevent remote definitions of tuple struct or tuple variant from triggering dead_code warning (<a href="https://redirect.github.com/serde-rs/serde/issues/2671">#2671</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/serde-rs/serde/commit/03eec42c3313b36da416be1486e9ecac345784d5"><code>03eec42</code></a> Release 1.0.195</li> <li><a href="https://github.com/serde-rs/serde/commit/196f311ae2fd8ad94fe38a57830419859a4d3dbb"><code>196f311</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2671">#2671</a> from dtolnay/deadremote</li> <li><a href="https://github.com/serde-rs/serde/commit/38d9e0b2091e9b6150486c2c37367819b86bcc39"><code>38d9e0b</code></a> Revert &quot;Add FIXME to fix dead_code warning when using serde(remote)&quot;</li> <li><a href="https://github.com/serde-rs/serde/commit/6502b3131697eff6420786ad71f87f29cfff3a13"><code>6502b31</code></a> Fix new dead_code warning in tuple struct and tuple variant remote defs</li> <li><a href="https://github.com/serde-rs/serde/commit/6f1a8c3115c8d2502178c25d610fbaee2e82c46b"><code>6f1a8c3</code></a> Add FIXME to fix dead_code warning when using serde(remote)</li> <li><a href="https://github.com/serde-rs/serde/commit/d883c94cc9fe72d0512dc7f4def7191a401595c9"><code>d883c94</code></a> Work around dead_code warning in tests</li> <li><a href="https://github.com/serde-rs/serde/commit/961fa59a7469c5b5e323b9723323df412048d60d"><code>961fa59</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2670">#2670</a> from serde-rs/exhaustive</li> <li><a href="https://github.com/serde-rs/serde/commit/8bc71def551df190e6817d3311e5c76f751f53e6"><code>8bc71de</code></a> Fill in omitted patterns for GenericArguments match</li> <li><a href="https://github.com/serde-rs/serde/commit/7c65a9dc0eab2d4d829b258a7b3549351bbe8dcd"><code>7c65a9d</code></a> Pick up changes to non_exhaustive_omitted_patterns lint</li> <li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.194...v1.0.195">compare view</a></li> </ul> </details> <br /> Updates `serde_json` from 1.0.110 to 1.0.111 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.111</h2> <ul> <li>Improve floating point parsing performance on loongarch64 (<a href="https://redirect.github.com/serde-rs/json/issues/1100">#1100</a>, thanks <a href="https://github.com/heiher"><code>@​heiher</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/serde-rs/json/commit/0131ac68212e8094bd14ee618587d731b4f9a68b"><code>0131ac6</code></a> Release 1.0.111</li> <li><a href="https://github.com/serde-rs/json/commit/96ecfadd3f7dd6366a2d07a098e228d15df93cb4"><code>96ecfad</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/json/issues/1100">#1100</a> from heiher/limb-64-la64</li> <li><a href="https://github.com/serde-rs/json/commit/c80dbaf8ff5902ca670e0a48bbe495065b9314f5"><code>c80dbaf</code></a> Set limb width to 64 for loongarch64</li> <li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.110...v1.0.111">compare view</a></li> </ul> </details> <br /> Updates `clap` from 4.4.12 to 4.4.13 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.4.13</h2> <h2>[4.4.13] - 2024-01-04</h2> <h3>Documentation</h3> <ul> <li>Fix link to structopt migration guide</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.4.13] - 2024-01-04</h2> <h3>Documentation</h3> <ul> <li>Fix link to structopt migration guide</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/clap-rs/clap/commit/2ab48b295c2463ce8c141a9868095b811ccf3b99"><code>2ab48b2</code></a> chore: Release</li> <li><a href="https://github.com/clap-rs/clap/commit/7a06a8cd619db704c6d826bf752eae3b86ce23a8"><code>7a06a8c</code></a> docs: Update changelog</li> <li><a href="https://github.com/clap-rs/clap/commit/cca190efedf40f48147a3a4a777a9cc17728abdf"><code>cca190e</code></a> docs: Correct link to StructOpt migration guide</li> <li><a href="https://github.com/clap-rs/clap/commit/5c31f453c1a9f46109db8e0a47ed212748c0556c"><code>5c31f45</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/5281">#5281</a> from Manishearth/safety-docs</li> <li><a href="https://github.com/clap-rs/clap/commit/ddae7e6f411c4c87294212152b8d9beea16637e7"><code>ddae7e6</code></a> Correct safety docs</li> <li><a href="https://github.com/clap-rs/clap/commit/48d28aa689bfd0fb44ec025244b30ba261e2515a"><code>48d28aa</code></a> chore: Release</li> <li><a href="https://github.com/clap-rs/clap/commit/748ce18cc2ccc3f7c07fa8b7c5b6f90ed9242b72"><code>748ce18</code></a> docs: Update changelog</li> <li><a href="https://github.com/clap-rs/clap/commit/adbe6ec4cb6a617070c41927a389d0bea7b30936"><code>adbe6ec</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/5278">#5278</a> from henry-hsieh/fix-nosort</li> <li><a href="https://github.com/clap-rs/clap/commit/2b48858ba84c62e9af97bee4734d70530254cd8a"><code>2b48858</code></a> fix: Skip nosort option below bash 4.4</li> <li><a href="https://github.com/clap-rs/clap/commit/777b744102cde324dc75534ef043efc15a9f40be"><code>777b744</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/5277">#5277</a> from clap-rs/renovate/actions-setup-python-5.x</li> <li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v4.4.12...v4.4.13">compare view</a></li> </ul> </details> <br /> Updates `syn` from 2.0.47 to 2.0.48 <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.48</h2> <ul> <li>Improve error message on unexpected token after <code>else</code> (<a href="https://redirect.github.com/dtolnay/syn/issues/1578">#1578</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dtolnay/syn/commit/5e16fc24e68b16a381cb7ef22455dba9db143083"><code>5e16fc2</code></a> Release 2.0.48</li> <li><a href="https://github.com/dtolnay/syn/commit/dc40084b15ab4a443179fc39cbadac6452408838"><code>dc40084</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/syn/issues/1578">#1578</a> from dtolnay/elseblock</li> <li><a href="https://github.com/dtolnay/syn/commit/82fcefce69d36e78301936c5af91f005d6a24357"><code>82fcefc</code></a> Fix error message on unexpected token after 'else'</li> <li><a href="https://github.com/dtolnay/syn/commit/e8a5c68ad45194e575a923f6b1e08f1817196331"><code>e8a5c68</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/syn/issues/1576">#1576</a> from dtolnay/exhaustive</li> <li><a href="https://github.com/dtolnay/syn/commit/97b1df6d935cb4801f4090782304577c8574d024"><code>97b1df6</code></a> Pick up changes to non_exhaustive_omitted_patterns lint</li> <li>See full diff in <a href="https://github.com/dtolnay/syn/compare/2.0.47...2.0.48">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> * Snowbridge Rococo deployment updates (#2792) - Includes the introduction of the `fast-runtime` feature, which cleans up our features - Updates beacon client fork versions config to Sepolia's versions - Cleanup of AgentIdOf --------- Co-authored-by: Ron <[email protected]> Co-authored-by: claravanstaden <Cats 4 life!> * Update Snowbridge versions and prep for publishing (#2894) - updates snowbridge crates to `0.9.0` - updates Cargo.toml files in preparation for publishing to crates.io - adds Kusama and Polkadot Snowbridge runtime config crates - moves runtime tests from the Snowbridge subtree into the bridge hub tests dir --------- Co-authored-by: claravanstaden <Cats 4 life!> Co-authored-by: Ron <[email protected]> * Run bridges zombienet tests on CI (#2439) Brridges zombienet tests are non-standard - zombienet currently missing multiple relay chains support (see e.g. paritytech/zombienet#796), so we need to go live with two relay networks, their parachains + custom test runner (which e.g. doesn't shutdown net when its tests are finished and instead waits for both networks tests to complete). So we are stuck with native zombienet provider => this PR is an attempt to gather everything in a single docker container and run tests there ~Draft, because it is far from finishing - what I want now is to see how it works on CI~ * XCMv4 (#1230) Most changes are just syntax changes necessary for the new version. Most important files should be the ones under the `xcm` folder. Added XCMv4. The following types have been renamed: - MultiLocation -> Location - MultiAsset -> Asset - MultiAssets -> Assets - InteriorMultiLocation -> InteriorLocation - MultiAssetFilter -> AssetFilter - VersionedMultiAsset -> VersionedAsset - WildMultiAsset -> WildAsset - VersionedMultiLocation -> VersionedLocation In order to fix a name conflict, the `Assets` in `xcm-executor` were renamed to `HoldingAssets`, as they represent assets in holding. It was not being used anywhere and this simplifies the code. Now assets are just constructed as follows: ```rust let asset: Asset = (AssetId(Location::new(1, Here)), 100u128).into(); ``` No need for specifying `Concrete` anymore. Instead of ```rust pub enum Outcome { Complete(Weight), Incomplete(Weight, Error), Error(Error), } ``` we now have ```rust pub enum Outcome { Complete { used: Weight }, Incomplete { used: Weight, error: Error }, Error { error: Error }, } ``` Now both locations and assets implement this trait, making it easier to reanchor both. Now junctions are built using the following methods: ```rust let location = Location { parents: 1, interior: [Parachain(1000), PalletInstance(50), GeneralIndex(1984)].into() }; ``` or ```rust let location = Location::new(1, [Parachain(1000), PalletInstance(50), GeneralIndex(1984)]); ``` And they are matched like so: ```rust match location.unpack() { (1, [Parachain(id)]) => ... (0, Here) => ..., (1, [_]) => ..., } ``` This syntax is mandatory in v4, and has been also implemented for v2 and v3 for easier migration. This was needed to make all sizes smaller. - [x] Scaffold v4 - [x] Port github.com/paritytech/polkadot/pull/7236 - [x] Remove `Multi` prefix - [x] Remove `Abstract` asset id --------- Co-authored-by: command-bot <> Co-authored-by: Keith Yeung <[email protected]> * Fix typos (#2983) * Update polkadot-sdk refs * Update deprecated struct * Remove snowbridge folder * Westend/Rococo Asset Hub: pay xcm fees with sufficient assets (#2978) Set up the `TakeFirstAssetTrader` trader for Westend and Rococo Asset Hubs to cover XCM fees with sufficient assets. This PR reintroduces previously [removed](paritytech/polkadot-sdk#1845) trader setups, as it was decided to keep both traders, `TakeFirstAssetTrader` and `SwapFirstAssetTrader`, during the transition period. --------- Co-authored-by: Svyatoslav Nikolsky <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Dónal Murray <[email protected]> Co-authored-by: Liam Aharon <[email protected]> Co-authored-by: Svyatoslav Nikolsky <[email protected]> Co-authored-by: Branislav Kontur <[email protected]> Co-authored-by: Clara van Staden <[email protected]> Co-authored-by: Alistair Singh <[email protected]> Co-authored-by: ron <[email protected]> Co-authored-by: Vincent Geddes <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tsvetomir Dimitrov <[email protected]> Co-authored-by: Francisco Aguirre <[email protected]> Co-authored-by: Keith Yeung <[email protected]> Co-authored-by: cristiantroy <[email protected]> Co-authored-by: Muharem <[email protected]> * Fixes --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Dónal Murray <[email protected]> Co-authored-by: Liam Aharon <[email protected]> Co-authored-by: Svyatoslav Nikolsky <[email protected]> Co-authored-by: Branislav Kontur <[email protected]> Co-authored-by: Clara van Staden <[email protected]> Co-authored-by: Alistair Singh <[email protected]> Co-authored-by: ron <[email protected]> Co-authored-by: Vincent Geddes <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tsvetomir Dimitrov <[email protected]> Co-authored-by: Francisco Aguirre <[email protected]> Co-authored-by: Keith Yeung <[email protected]> Co-authored-by: cristiantroy <[email protected]> Co-authored-by: Muharem <[email protected]>
1 parent 895bc30 commit fedb21a

File tree

15 files changed

+435
-1204
lines changed

15 files changed

+435
-1204
lines changed

Cargo.lock

Lines changed: 196 additions & 997 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bin/runtime-common/src/messages_benchmarking.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ use pallet_bridge_messages::{
3737
};
3838
use sp_runtime::traits::{Header, Zero};
3939
use sp_std::prelude::*;
40-
use xcm::v3::prelude::*;
40+
use xcm::latest::prelude::*;
4141

4242
/// Prepare inbound bridge message according to given message proof parameters.
4343
fn prepare_inbound_message(
@@ -273,19 +273,19 @@ where
273273
/// Returns callback which generates `BridgeMessage` from Polkadot XCM builder based on
274274
/// `expected_message_size` for benchmark.
275275
pub fn generate_xcm_builder_bridge_message_sample(
276-
destination: InteriorMultiLocation,
276+
destination: InteriorLocation,
277277
) -> impl Fn(usize) -> MessagePayload {
278278
move |expected_message_size| -> MessagePayload {
279279
// For XCM bridge hubs, it is the message that
280280
// will be pushed further to some XCM queue (XCMP/UMP)
281-
let location = xcm::VersionedInteriorMultiLocation::V3(destination);
281+
let location = xcm::VersionedInteriorLocation::V4(destination.clone());
282282
let location_encoded_size = location.encoded_size();
283283

284284
// we don't need to be super-precise with `expected_size` here
285285
let xcm_size = expected_message_size.saturating_sub(location_encoded_size);
286286
let xcm_data_size = xcm_size.saturating_sub(
287287
// minus empty instruction size
288-
xcm::v3::Instruction::<()>::ExpectPallet {
288+
Instruction::<()>::ExpectPallet {
289289
index: 0,
290290
name: vec![],
291291
module_name: vec![],
@@ -301,8 +301,8 @@ pub fn generate_xcm_builder_bridge_message_sample(
301301
expected_message_size, location_encoded_size, xcm_size, xcm_data_size,
302302
);
303303

304-
let xcm = xcm::VersionedXcm::<()>::V3(
305-
vec![xcm::v3::Instruction::<()>::ExpectPallet {
304+
let xcm = xcm::VersionedXcm::<()>::V4(
305+
vec![Instruction::<()>::ExpectPallet {
306306
index: 0,
307307
name: vec![42; xcm_data_size],
308308
module_name: vec![],

modules/parachains/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1490,7 +1490,7 @@ pub(crate) mod tests {
14901490
);
14911491

14921492
// then if someone is pretending to provide updated head#10 of parachain#1 at relay
1493-
// block#30, and actualy provides it
1493+
// block#30, and actually provides it
14941494
//
14951495
// => we'll update value
14961496
proceed(30, state_root_10_at_30);

modules/xcm-bridge-hub-router/src/lib.rs

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@ pub mod pallet {
8383
type WeightInfo: WeightInfo;
8484

8585
/// Universal location of this runtime.
86-
type UniversalLocation: Get<InteriorMultiLocation>;
86+
type UniversalLocation: Get<InteriorLocation>;
8787
/// Relative location of the sibling bridge hub.
88-
type SiblingBridgeHubLocation: Get<MultiLocation>;
88+
type SiblingBridgeHubLocation: Get<Location>;
8989
/// The bridged network that this config is for if specified.
9090
/// Also used for filtering `Bridges` by `BridgedNetworkId`.
9191
/// If not specified, allows all networks pass through.
@@ -240,9 +240,9 @@ type ViaBridgeHubExporter<T, I> = SovereignPaidRemoteExporter<
240240
impl<T: Config<I>, I: 'static> ExporterFor for Pallet<T, I> {
241241
fn exporter_for(
242242
network: &NetworkId,
243-
remote_location: &InteriorMultiLocation,
243+
remote_location: &InteriorLocation,
244244
message: &Xcm<()>,
245-
) -> Option<(MultiLocation, Option<MultiAsset>)> {
245+
) -> Option<(Location, Option<Asset>)> {
246246
// ensure that the message is sent to the expected bridged network (if specified).
247247
if *network != T::BridgedNetworkId::get() {
248248
log::trace!(
@@ -285,7 +285,7 @@ impl<T: Config<I>, I: 'static> ExporterFor for Pallet<T, I> {
285285
// take `base_fee` from `T::Brides`, but it has to be the same `T::FeeAsset`
286286
let base_fee = match maybe_payment {
287287
Some(payment) => match payment {
288-
MultiAsset { fun: Fungible(amount), id } if id.eq(&T::FeeAsset::get()) => amount,
288+
Asset { fun: Fungible(amount), id } if id.eq(&T::FeeAsset::get()) => amount,
289289
invalid_asset => {
290290
log::error!(
291291
target: LOG_TARGET,
@@ -333,7 +333,7 @@ impl<T: Config<I>, I: 'static> SendXcm for Pallet<T, I> {
333333
type Ticket = (u32, <T::ToBridgeHubSender as SendXcm>::Ticket);
334334

335335
fn validate(
336-
dest: &mut Option<MultiLocation>,
336+
dest: &mut Option<Location>,
337337
xcm: &mut Option<Xcm<()>>,
338338
) -> SendResult<Self::Ticket> {
339339
// `dest` and `xcm` are required here
@@ -451,7 +451,7 @@ mod tests {
451451
run_test(|| {
452452
assert_eq!(
453453
send_xcm::<XcmBridgeHubRouter>(
454-
MultiLocation::new(2, X2(GlobalConsensus(Rococo), Parachain(1000))),
454+
Location::new(2, [GlobalConsensus(Rococo), Parachain(1000)]),
455455
vec![].into(),
456456
),
457457
Err(SendError::NotApplicable),
@@ -464,7 +464,7 @@ mod tests {
464464
run_test(|| {
465465
assert_eq!(
466466
send_xcm::<XcmBridgeHubRouter>(
467-
MultiLocation::new(2, X2(GlobalConsensus(Rococo), Parachain(1000))),
467+
Location::new(2, [GlobalConsensus(Rococo), Parachain(1000)]),
468468
vec![ClearOrigin; HARD_MESSAGE_SIZE_LIMIT as usize].into(),
469469
),
470470
Err(SendError::ExceedsMaxMessageSize),
@@ -488,14 +488,14 @@ mod tests {
488488
#[test]
489489
fn returns_proper_delivery_price() {
490490
run_test(|| {
491-
let dest = MultiLocation::new(2, X1(GlobalConsensus(BridgedNetworkId::get())));
491+
let dest = Location::new(2, [GlobalConsensus(BridgedNetworkId::get())]);
492492
let xcm: Xcm<()> = vec![ClearOrigin].into();
493493
let msg_size = xcm.encoded_size();
494494

495495
// initially the base fee is used: `BASE_FEE + BYTE_FEE * msg_size + HRMP_FEE`
496496
let expected_fee = BASE_FEE + BYTE_FEE * (msg_size as u128) + HRMP_FEE;
497497
assert_eq!(
498-
XcmBridgeHubRouter::validate(&mut Some(dest), &mut Some(xcm.clone()))
498+
XcmBridgeHubRouter::validate(&mut Some(dest.clone()), &mut Some(xcm.clone()))
499499
.unwrap()
500500
.1
501501
.get(0),
@@ -524,10 +524,7 @@ mod tests {
524524
let old_delivery_fee_factor = XcmBridgeHubRouter::delivery_fee_factor();
525525
assert_eq!(
526526
send_xcm::<XcmBridgeHubRouter>(
527-
MultiLocation::new(
528-
2,
529-
X2(GlobalConsensus(BridgedNetworkId::get()), Parachain(1000))
530-
),
527+
Location::new(2, [GlobalConsensus(BridgedNetworkId::get()), Parachain(1000)]),
531528
vec![ClearOrigin].into(),
532529
)
533530
.map(drop),
@@ -549,10 +546,7 @@ mod tests {
549546
let old_delivery_fee_factor = XcmBridgeHubRouter::delivery_fee_factor();
550547
assert_eq!(
551548
send_xcm::<XcmBridgeHubRouter>(
552-
MultiLocation::new(
553-
2,
554-
X2(GlobalConsensus(BridgedNetworkId::get()), Parachain(1000))
555-
),
549+
Location::new(2, [GlobalConsensus(BridgedNetworkId::get()), Parachain(1000)]),
556550
vec![ClearOrigin].into(),
557551
)
558552
.map(drop),

modules/xcm-bridge-hub-router/src/mock.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ construct_runtime! {
4747
parameter_types! {
4848
pub ThisNetworkId: NetworkId = Polkadot;
4949
pub BridgedNetworkId: NetworkId = Kusama;
50-
pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(ThisNetworkId::get()), Parachain(1000));
51-
pub SiblingBridgeHubLocation: MultiLocation = ParentThen(X1(Parachain(1002))).into();
52-
pub BridgeFeeAsset: AssetId = MultiLocation::parent().into();
50+
pub UniversalLocation: InteriorLocation = [GlobalConsensus(ThisNetworkId::get()), Parachain(1000)].into();
51+
pub SiblingBridgeHubLocation: Location = ParentThen([Parachain(1002)].into()).into();
52+
pub BridgeFeeAsset: AssetId = Location::parent().into();
5353
pub BridgeTable: Vec<NetworkExportTableItem>
5454
= vec![
5555
NetworkExportTableItem::new(
@@ -59,7 +59,7 @@ parameter_types! {
5959
Some((BridgeFeeAsset::get(), BASE_FEE).into())
6060
)
6161
];
62-
pub UnknownXcmVersionLocation: MultiLocation = MultiLocation::new(2, X2(GlobalConsensus(BridgedNetworkId::get()), Parachain(9999)));
62+
pub UnknownXcmVersionLocation: Location = Location::new(2, [GlobalConsensus(BridgedNetworkId::get()), Parachain(9999)]);
6363
}
6464

6565
#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
@@ -93,11 +93,11 @@ impl pallet_xcm_bridge_hub_router::benchmarking::Config<()> for TestRuntime {
9393
}
9494

9595
pub struct LatestOrNoneForLocationVersionChecker<Location>(sp_std::marker::PhantomData<Location>);
96-
impl<Location: Contains<MultiLocation>> GetVersion
97-
for LatestOrNoneForLocationVersionChecker<Location>
96+
impl<LocationValue: Contains<Location>> GetVersion
97+
for LatestOrNoneForLocationVersionChecker<LocationValue>
9898
{
99-
fn get_version_for(dest: &MultiLocation) -> Option<XcmVersion> {
100-
if Location::contains(dest) {
99+
fn get_version_for(dest: &Location) -> Option<XcmVersion> {
100+
if LocationValue::contains(dest) {
101101
return None
102102
}
103103
Some(XCM_VERSION)
@@ -116,7 +116,7 @@ impl SendXcm for TestToBridgeHubSender {
116116
type Ticket = ();
117117

118118
fn validate(
119-
_destination: &mut Option<MultiLocation>,
119+
_destination: &mut Option<Location>,
120120
_message: &mut Option<Xcm<()>>,
121121
) -> SendResult<Self::Ticket> {
122122
Ok(((), (BridgeFeeAsset::get(), HRMP_FEE).into()))
@@ -139,15 +139,15 @@ impl TestLocalXcmChannelManager {
139139
impl LocalXcmChannelManager for TestLocalXcmChannelManager {
140140
type Error = ();
141141

142-
fn is_congested(_with: &MultiLocation) -> bool {
142+
fn is_congested(_with: &Location) -> bool {
143143
frame_support::storage::unhashed::get_or_default(b"TestLocalXcmChannelManager.Congested")
144144
}
145145

146-
fn suspend_bridge(_with: &MultiLocation, _bridge: BridgeId) -> Result<(), Self::Error> {
146+
fn suspend_bridge(_with: &Location, _bridge: BridgeId) -> Result<(), Self::Error> {
147147
Ok(())
148148
}
149149

150-
fn resume_bridge(_with: &MultiLocation, _bridge: BridgeId) -> Result<(), Self::Error> {
150+
fn resume_bridge(_with: &Location, _bridge: BridgeId) -> Result<(), Self::Error> {
151151
Ok(())
152152
}
153153
}

modules/xcm-bridge-hub/src/dispatcher.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ where
6363
let bridge_id = BridgeId::from_lane_id(lane);
6464
Pallet::<T, I>::bridge(bridge_id)
6565
.and_then(|bridge| bridge.bridge_origin_relative_location.try_as().cloned().ok())
66-
.map(|recipient: MultiLocation| !T::LocalXcmChannelManager::is_congested(&recipient))
66+
.map(|recipient: Location| !T::LocalXcmChannelManager::is_congested(&recipient))
6767
.unwrap_or(false)
6868
}
6969

@@ -134,7 +134,7 @@ mod tests {
134134
Bridges::<TestRuntime, ()>::insert(
135135
bridge_id(),
136136
Bridge {
137-
bridge_origin_relative_location: Box::new(MultiLocation::new(0, Here).into()),
137+
bridge_origin_relative_location: Box::new(Location::new(0, Here).into()),
138138
state: BridgeState::Opened,
139139
bridge_owner_account: [0u8; 32].into(),
140140
reserve: 0,

modules/xcm-bridge-hub/src/exporter.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ where
6666
fn validate(
6767
network: NetworkId,
6868
channel: u32,
69-
universal_source: &mut Option<InteriorMultiLocation>,
70-
destination: &mut Option<InteriorMultiLocation>,
69+
universal_source: &mut Option<InteriorLocation>,
70+
destination: &mut Option<InteriorLocation>,
7171
message: &mut Option<Xcm<()>>,
72-
) -> Result<(Self::Ticket, MultiAssets), SendError> {
72+
) -> Result<(Self::Ticket, Assets), SendError> {
7373
// `HaulBlobExporter` may consume the `universal_source` and `destination` arguments, so
7474
// let's save them before
7575
let bridge_origin_universal_location =
@@ -301,12 +301,12 @@ mod tests {
301301
use bp_xcm_bridge_hub::{Bridge, BridgeState};
302302
use xcm_executor::traits::export_xcm;
303303

304-
fn universal_source() -> InteriorMultiLocation {
305-
X2(GlobalConsensus(RelayNetwork::get()), Parachain(SIBLING_ASSET_HUB_ID))
304+
fn universal_source() -> InteriorLocation {
305+
[GlobalConsensus(RelayNetwork::get()), Parachain(SIBLING_ASSET_HUB_ID)].into()
306306
}
307307

308-
fn universal_destination() -> InteriorMultiLocation {
309-
X2(GlobalConsensus(BridgedRelayNetwork::get()), Parachain(BRIDGED_ASSET_HUB_ID))
308+
fn universal_destination() -> InteriorLocation {
309+
[GlobalConsensus(BridgedRelayNetwork::get()), Parachain(BRIDGED_ASSET_HUB_ID)].into()
310310
}
311311

312312
fn open_lane_and_send_regular_message() -> BridgeId {
@@ -329,7 +329,7 @@ mod tests {
329329
locations.bridge_id,
330330
Bridge {
331331
bridge_origin_relative_location: Box::new(
332-
MultiLocation::new(1, Parachain(SIBLING_ASSET_HUB_ID)).into(),
332+
Location::new(1, Parachain(SIBLING_ASSET_HUB_ID)).into(),
333333
),
334334
state: BridgeState::Opened,
335335
bridge_owner_account: [0u8; 32].into(),

0 commit comments

Comments
 (0)