From fedb21a3dd89138679f35d9402a570755de89649 Mon Sep 17 00:00:00 2001 From: Serban Iorga Date: Mon, 22 Jan 2024 07:19:11 +0100 Subject: [PATCH] [master] Backport polkadot-sdk updates + bump polkadot-sdk refs (#2801) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [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 * Cleanup bridges tests: with-grandpa-chain case (#2763) related to https://github.com/paritytech/parity-bridges-common/issues/2739 Co-authored-by: Branislav Kontur * 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 Co-authored-by: ron Co-authored-by: Vincent Geddes Co-authored-by: claravanstaden * 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
Release notes

Sourced from serde's releases.

v1.0.194

  • Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache
Commits
  • d2d977a Release 1.0.194
  • a9a6ee9 Pull in proc-macro2 sccache fix
  • 28c5d21 Merge pull request #2669 from dtolnay/optionifletelse
  • 3d6a789 Remove option_if_let_else clippy suppression
  • a0e6869 Work around doc_link_with_quotes pedantic clippy lint
  • See full diff in compare view

Updates `serde_json` from 1.0.108 to 1.0.110
Release notes

Sourced from serde_json's releases.

v1.0.109

  • Documentation improvements
Commits
  • df5cf21 Release 1.0.110
  • c35856a Pull in proc-macro2 sccache fix
  • f88bf1f Release 1.0.109
  • bb62c73 Merge pull request #1097 from serde-rs/doccfg
  • df36d10 Restore doc cfg on re-exports
  • c367091 Merge pull request #1095 from dtolnay/hashtest
  • b328ee7 Eliminate hash closure in favor of calling hash_one directly
  • b9bcbad Use BuildHasher::hash_one
  • 7ff6c9e Use random hasher state for number hashing test
  • fe031cd Delete trace_macros! functionality from test
  • Additional commits viewable in compare view

Updates `clap` from 4.4.11 to 4.4.12
Release notes

Sourced from clap's releases.

v4.4.12

[4.4.12] - 2023-12-28

Performance

  • Only ask TypedValueParser for possible values if needed
Changelog

Sourced from clap's changelog.

[4.4.12] - 2023-12-28

Performance

  • Only ask TypedValueParser for possible values if needed
Commits
  • 6d601e6 chore: Release
  • 048e7f0 docs: Update changelog
  • 53f5b82 Merge pull request #5267 from vermiculus/sa/avoid-pv-expansion-in-help
  • 05cd057 perf: Avoid retrieving possible_values unless used
  • 2920808 test: Update snapshots
  • 28763eb chore: Release
  • ace7bb5 docs(complete): Update changelog
  • 76beca4 docs(complete): Polish API reference for dynamic
  • 3630e58 Merge pull request #5273 from epage/docsrs
  • 3724b9e docs: Include more content on docs.rs
  • See full diff in compare view

Updates `serde_yaml` from 0.9.29 to 0.9.30
Release notes

Sourced from serde_yaml's releases.

0.9.30

  • Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache
Commits

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) ---
Dependabot commands and options
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 ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore 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 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 ` 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 ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Signed-off-by: dependabot[bot] 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
Release notes

Sourced from serde's releases.

v1.0.195

  • Prevent remote definitions of tuple struct or tuple variant from triggering dead_code warning (#2671)
Commits
  • 03eec42 Release 1.0.195
  • 196f311 Merge pull request #2671 from dtolnay/deadremote
  • 38d9e0b Revert "Add FIXME to fix dead_code warning when using serde(remote)"
  • 6502b31 Fix new dead_code warning in tuple struct and tuple variant remote defs
  • 6f1a8c3 Add FIXME to fix dead_code warning when using serde(remote)
  • d883c94 Work around dead_code warning in tests
  • 961fa59 Merge pull request #2670 from serde-rs/exhaustive
  • 8bc71de Fill in omitted patterns for GenericArguments match
  • 7c65a9d Pick up changes to non_exhaustive_omitted_patterns lint
  • See full diff in compare view

Updates `serde_json` from 1.0.110 to 1.0.111
Release notes

Sourced from serde_json's releases.

v1.0.111

  • Improve floating point parsing performance on loongarch64 (#1100, thanks @​heiher)
Commits

Updates `clap` from 4.4.12 to 4.4.13
Release notes

Sourced from clap's releases.

v4.4.13

[4.4.13] - 2024-01-04

Documentation

  • Fix link to structopt migration guide
Changelog

Sourced from clap's changelog.

[4.4.13] - 2024-01-04

Documentation

  • Fix link to structopt migration guide
Commits
  • 2ab48b2 chore: Release
  • 7a06a8c docs: Update changelog
  • cca190e docs: Correct link to StructOpt migration guide
  • 5c31f45 Merge pull request #5281 from Manishearth/safety-docs
  • ddae7e6 Correct safety docs
  • 48d28aa chore: Release
  • 748ce18 docs: Update changelog
  • adbe6ec Merge pull request #5278 from henry-hsieh/fix-nosort
  • 2b48858 fix: Skip nosort option below bash 4.4
  • 777b744 Merge pull request #5277 from clap-rs/renovate/actions-setup-python-5.x
  • Additional commits viewable in compare view

Updates `syn` from 2.0.47 to 2.0.48
Release notes

Sourced from syn's releases.

2.0.48

  • Improve error message on unexpected token after else (#1578)
Commits
  • 5e16fc2 Release 2.0.48
  • dc40084 Merge pull request #1578 from dtolnay/elseblock
  • 82fcefc Fix error message on unexpected token after 'else'
  • e8a5c68 Merge pull request #1576 from dtolnay/exhaustive
  • 97b1df6 Pick up changes to non_exhaustive_omitted_patterns lint
  • See full diff in compare view

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) ---
Dependabot commands and options
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 ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore 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 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 ` 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 ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Signed-off-by: dependabot[bot] 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 Co-authored-by: claravanstaden * 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 Co-authored-by: Ron * Run bridges zombienet tests on CI (#2439) Brridges zombienet tests are non-standard - zombienet currently missing multiple relay chains support (see e.g. https://github.com/paritytech/zombienet/pull/796), so we need to go live with two relay networks, their parachains + custom test runner (which e.g. doesn't shutdown net when its tests are finished and instead waits for both networks tests to complete). So we are stuck with native zombienet provider => this PR is an attempt to gather everything in a single docker container and run tests there ~Draft, because it is far from finishing - what I want now is to see how it works on CI~ * 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 * 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](https://github.com/paritytech/polkadot-sdk/pull/1845) trader setups, as it was decided to keep both traders, `TakeFirstAssetTrader` and `SwapFirstAssetTrader`, during the transition period. --------- Co-authored-by: Svyatoslav Nikolsky --------- Signed-off-by: dependabot[bot] Co-authored-by: Dónal Murray Co-authored-by: Liam Aharon Co-authored-by: Svyatoslav Nikolsky Co-authored-by: Branislav Kontur Co-authored-by: Clara van Staden Co-authored-by: Alistair Singh Co-authored-by: ron Co-authored-by: Vincent Geddes Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tsvetomir Dimitrov Co-authored-by: Francisco Aguirre Co-authored-by: Keith Yeung Co-authored-by: cristiantroy <154241727+cristiantroy@users.noreply.github.com> Co-authored-by: Muharem * Fixes --------- Signed-off-by: dependabot[bot] Co-authored-by: Dónal Murray Co-authored-by: Liam Aharon Co-authored-by: Svyatoslav Nikolsky Co-authored-by: Branislav Kontur Co-authored-by: Clara van Staden Co-authored-by: Alistair Singh Co-authored-by: ron Co-authored-by: Vincent Geddes Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tsvetomir Dimitrov Co-authored-by: Francisco Aguirre Co-authored-by: Keith Yeung Co-authored-by: cristiantroy <154241727+cristiantroy@users.noreply.github.com> Co-authored-by: Muharem --- Cargo.lock | 1193 +++-------------- .../src/messages_benchmarking.rs | 12 +- modules/parachains/src/lib.rs | 2 +- modules/xcm-bridge-hub-router/src/lib.rs | 30 +- modules/xcm-bridge-hub-router/src/mock.rs | 24 +- modules/xcm-bridge-hub/src/dispatcher.rs | 4 +- modules/xcm-bridge-hub/src/exporter.rs | 16 +- modules/xcm-bridge-hub/src/lib.rs | 48 +- modules/xcm-bridge-hub/src/mock.rs | 38 +- primitives/runtime/src/chain.rs | 2 +- primitives/xcm-bridge-hub/src/lib.rs | 208 +-- relays/client-substrate/src/calls.rs | 4 +- zombienet/run-tests.sh | 50 +- ...set-transfer-works-rococo-to-westend.zndsl | 4 +- ...set-transfer-works-westend-to-rococo.zndsl | 4 +- 15 files changed, 435 insertions(+), 1204 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 362559ef825..cc72f5bcae9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,15 +36,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "aead" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" -dependencies = [ - "generic-array 0.14.7", -] - [[package]] name = "aead" version = "0.4.3" @@ -52,7 +43,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" dependencies = [ "generic-array 0.14.7", - "rand_core 0.6.4", ] [[package]] @@ -65,17 +55,6 @@ dependencies = [ "generic-array 0.14.7", ] -[[package]] -name = "aes" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" -dependencies = [ - "aes-soft", - "aesni", - "cipher 0.2.5", -] - [[package]] name = "aes" version = "0.7.5" @@ -127,26 +106,6 @@ dependencies = [ "subtle 2.4.1", ] -[[package]] -name = "aes-soft" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" -dependencies = [ - "cipher 0.2.5", - "opaque-debug 0.3.0", -] - -[[package]] -name = "aesni" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" -dependencies = [ - "cipher 0.2.5", - "opaque-debug 0.3.0", -] - [[package]] name = "ahash" version = "0.7.6" @@ -226,24 +185,18 @@ dependencies = [ [[package]] name = "aquamarine" -version = "0.3.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df752953c49ce90719c7bf1fc587bc8227aed04732ea0c0f85e5397d7fdbd1a1" +checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" dependencies = [ "include_dir", "itertools", "proc-macro-error", "proc-macro2 1.0.76", "quote 1.0.35", - "syn 1.0.109", + "syn 2.0.48", ] -[[package]] -name = "arc-swap" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" - [[package]] name = "ark-bls12-377" version = "0.4.0" @@ -570,48 +523,20 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "asn1-rs" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33" -dependencies = [ - "asn1-rs-derive 0.1.0", - "asn1-rs-impl", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror", - "time 0.3.31", -] - [[package]] name = "asn1-rs" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ - "asn1-rs-derive 0.4.0", + "asn1-rs-derive", "asn1-rs-impl", "displaydoc", "nom", "num-traits", "rusticata-macros", "thiserror", - "time 0.3.31", -] - -[[package]] -name = "asn1-rs-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" -dependencies = [ - "proc-macro2 1.0.76", - "quote 1.0.35", - "syn 1.0.109", - "synstructure", + "time", ] [[package]] @@ -899,12 +824,6 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" -[[package]] -name = "base16ct" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" - [[package]] name = "base16ct" version = "0.2.0" @@ -947,7 +866,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "hash-db", "log", @@ -1054,7 +973,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding 0.1.5", + "block-padding", "byte-tools", "byteorder", "generic-array 0.12.4", @@ -1078,16 +997,6 @@ dependencies = [ "generic-array 0.14.7", ] -[[package]] -name = "block-modes" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0" -dependencies = [ - "block-padding 0.2.1", - "cipher 0.2.5", -] - [[package]] name = "block-padding" version = "0.1.5" @@ -1097,12 +1006,6 @@ dependencies = [ "byte-tools", ] -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - [[package]] name = "blocking" version = "1.3.1" @@ -1580,17 +1483,6 @@ dependencies = [ "jobserver", ] -[[package]] -name = "ccm" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aca1a8fbc20b50ac9673ff014abfb2b5f4085ee1a850d408f14a159c5853ac7" -dependencies = [ - "aead 0.3.2", - "cipher 0.2.5", - "subtle 2.4.1", -] - [[package]] name = "cfg-expr" version = "0.15.5" @@ -1649,15 +1541,14 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.28" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ed24df0632f708f5f6d8082675bef2596f7084dee3dd55f632290bf35bfe0f" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", - "time 0.1.45", "wasm-bindgen", "windows-targets 0.48.1", ] @@ -1947,21 +1838,6 @@ dependencies = [ "wasmtime-types", ] -[[package]] -name = "crc" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" - [[package]] name = "crc32fast" version = "1.3.2" @@ -2020,18 +1896,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -[[package]] -name = "crypto-bigint" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", - "subtle 2.4.1", - "zeroize", -] - [[package]] name = "crypto-bigint" version = "0.5.2" @@ -2162,9 +2026,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f711ade317dd348950a9910f81c5947e3d8907ebd2b83f76203ff1807e6a2bc2" +checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -2297,17 +2161,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "der" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" -dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", -] - [[package]] name = "der" version = "0.7.7" @@ -2318,27 +2171,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "der-parser" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82" -dependencies = [ - "asn1-rs 0.3.1", - "displaydoc", - "nom", - "num-bigint", - "num-traits", - "rusticata-macros", -] - [[package]] name = "der-parser" version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "asn1-rs 0.5.2", + "asn1-rs", "displaydoc", "nom", "num-bigint", @@ -2377,37 +2216,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "derive_builder" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3" -dependencies = [ - "derive_builder_macro", -] - -[[package]] -name = "derive_builder_core" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4" -dependencies = [ - "darling 0.14.4", - "proc-macro2 1.0.76", - "quote 1.0.35", - "syn 1.0.109", -] - -[[package]] -name = "derive_builder_macro" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68" -dependencies = [ - "derive_builder_core", - "syn 1.0.109", -] - [[package]] name = "derive_more" version = "0.99.17" @@ -2577,30 +2385,18 @@ version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "304e6508efa593091e97a9abbc10f90aa7ca635b6d2784feff3c89d41dd12272" -[[package]] -name = "ecdsa" -version = "0.14.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" -dependencies = [ - "der 0.6.1", - "elliptic-curve 0.12.3", - "rfc6979 0.3.1", - "signature 1.6.4", -] - [[package]] name = "ecdsa" version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0997c976637b606099b9985693efa3581e84e41f5c11ba5255f88711058ad428" dependencies = [ - "der 0.7.7", + "der", "digest 0.10.7", - "elliptic-curve 0.13.5", - "rfc6979 0.4.0", - "signature 2.1.0", - "spki 0.7.2", + "elliptic-curve", + "rfc6979", + "signature", + "spki", ] [[package]] @@ -2609,8 +2405,8 @@ version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d" dependencies = [ - "pkcs8 0.10.2", - "signature 2.1.0", + "pkcs8", + "signature", ] [[package]] @@ -2619,7 +2415,7 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" dependencies = [ - "curve25519-dalek 4.0.0", + "curve25519-dalek 4.1.1", "ed25519", "rand_core 0.6.4", "serde", @@ -2648,43 +2444,21 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" -[[package]] -name = "elliptic-curve" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" -dependencies = [ - "base16ct 0.1.1", - "crypto-bigint 0.4.9", - "der 0.6.1", - "digest 0.10.7", - "ff 0.12.1", - "generic-array 0.14.7", - "group 0.12.1", - "hkdf", - "pem-rfc7468", - "pkcs8 0.9.0", - "rand_core 0.6.4", - "sec1 0.3.0", - "subtle 2.4.1", - "zeroize", -] - [[package]] name = "elliptic-curve" version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" dependencies = [ - "base16ct 0.2.0", - "crypto-bigint 0.5.2", + "base16ct", + "crypto-bigint", "digest 0.10.7", - "ff 0.13.0", + "ff", "generic-array 0.14.7", - "group 0.13.0", - "pkcs8 0.10.2", + "group", + "pkcs8", "rand_core 0.6.4", - "sec1 0.7.3", + "sec1", "subtle 2.4.1", "zeroize", ] @@ -2833,16 +2607,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" -[[package]] -name = "ff" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" -dependencies = [ - "rand_core 0.6.4", - "subtle 2.4.1", -] - [[package]] name = "ff" version = "0.13.0" @@ -2868,9 +2632,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.1.20" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77" +checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7" [[package]] name = "file-per-thread-logger" @@ -2975,7 +2739,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-support", "frame-support-procedural", @@ -3023,7 +2787,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "aquamarine", "array-bytes 6.1.0", @@ -3064,7 +2828,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "Inflector", "cfg-expr", @@ -3083,10 +2847,10 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate 2.0.1", + "proc-macro-crate 3.1.0", "proc-macro2 1.0.76", "quote 1.0.35", "syn 2.0.48", @@ -3095,7 +2859,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "proc-macro2 1.0.76", "quote 1.0.35", @@ -3105,7 +2869,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "cfg-if 1.0.0", "docify", @@ -3217,7 +2981,7 @@ checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" dependencies = [ "futures-io", "rustls 0.20.8", - "webpki 0.22.2", + "webpki", ] [[package]] @@ -3373,24 +3137,13 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "group" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" -dependencies = [ - "ff 0.12.1", - "rand_core 0.6.4", - "subtle 2.4.1", -] - [[package]] name = "group" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "ff 0.13.0", + "ff", "rand_core 0.6.4", "subtle 2.4.1", ] @@ -3839,25 +3592,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "interceptor" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e8a11ae2da61704edada656798b61c94b35ecac2c58eb955156987d5e6be90b" -dependencies = [ - "async-trait", - "bytes", - "log", - "rand 0.8.5", - "rtcp", - "rtp", - "thiserror", - "tokio", - "waitgroup", - "webrtc-srtp", - "webrtc-util", -] - [[package]] name = "intx" version = "0.1.0" @@ -4257,8 +3991,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" dependencies = [ "cfg-if 1.0.0", - "ecdsa 0.16.7", - "elliptic-curve 0.13.5", + "ecdsa", + "elliptic-curve", "once_cell", "sha2 0.10.7", ] @@ -4326,9 +4060,9 @@ dependencies = [ [[package]] name = "libp2p" -version = "0.51.3" +version = "0.51.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f210d259724eae82005b5c48078619b7745edb7b76de370b03f8ba59ea103097" +checksum = "f35eae38201a993ece6bdc823292d6abd1bffed1c4d0f4a3517d2bd8e1d917fe" dependencies = [ "bytes", "futures", @@ -4351,7 +4085,6 @@ dependencies = [ "libp2p-swarm", "libp2p-tcp", "libp2p-wasm-ext", - "libp2p-webrtc", "libp2p-websocket", "libp2p-yamux", "multiaddr", @@ -4663,12 +4396,12 @@ dependencies = [ "futures-rustls", "libp2p-core", "libp2p-identity", - "rcgen 0.10.0", + "rcgen", "ring 0.16.20", "rustls 0.20.8", "thiserror", - "webpki 0.22.2", - "x509-parser 0.14.0", + "webpki", + "x509-parser", "yasna", ] @@ -4686,37 +4419,6 @@ dependencies = [ "wasm-bindgen-futures", ] -[[package]] -name = "libp2p-webrtc" -version = "0.4.0-alpha.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba48592edbc2f60b4bc7c10d65445b0c3964c07df26fdf493b6880d33be36f8" -dependencies = [ - "async-trait", - "asynchronous-codec", - "bytes", - "futures", - "futures-timer", - "hex", - "if-watch", - "libp2p-core", - "libp2p-identity", - "libp2p-noise", - "log", - "multihash", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.5", - "rcgen 0.9.3", - "serde", - "stun", - "thiserror", - "tinytemplate", - "tokio", - "tokio-util", - "webrtc", -] - [[package]] name = "libp2p-websocket" version = "0.41.0" @@ -4997,15 +4699,6 @@ dependencies = [ "rawpointer", ] -[[package]] -name = "md-5" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "memchr" version = "2.5.0" @@ -5030,15 +4723,6 @@ dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.8.0" @@ -5151,7 +4835,7 @@ dependencies = [ "bitflags 1.3.2", "blake2 0.10.6", "c2-chacha", - "curve25519-dalek 4.0.0", + "curve25519-dalek 4.1.1", "either", "hashlink", "lioness", @@ -5229,9 +4913,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" dependencies = [ "core2", - "digest 0.10.7", "multihash-derive", - "sha2 0.10.7", "unsigned-varint", ] @@ -5371,7 +5053,6 @@ dependencies = [ "bitflags 1.3.2", "cfg-if 1.0.0", "libc", - "memoffset 0.6.5", ] [[package]] @@ -5519,22 +5200,13 @@ dependencies = [ "memchr", ] -[[package]] -name = "oid-registry" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" -dependencies = [ - "asn1-rs 0.3.1", -] - [[package]] name = "oid-registry" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "asn1-rs 0.5.2", + "asn1-rs", ] [[package]] @@ -5573,32 +5245,10 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "p256" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" -dependencies = [ - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.7", -] - -[[package]] -name = "p384" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" -dependencies = [ - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.7", -] - [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-support", "frame-system", @@ -5612,7 +5262,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-benchmarking", "frame-support", @@ -5627,7 +5277,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-support", "frame-system", @@ -5647,7 +5297,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "array-bytes 6.1.0", "binary-merkle-tree", @@ -5793,7 +5443,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-benchmarking", "frame-support", @@ -5816,7 +5466,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-benchmarking", "frame-support", @@ -5834,7 +5484,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-support", "frame-system", @@ -5856,7 +5506,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "docify", "frame-benchmarking", @@ -5876,7 +5526,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-support", "frame-system", @@ -5892,7 +5542,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5904,7 +5554,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-benchmarking", "frame-support", @@ -6136,15 +5786,6 @@ dependencies = [ "base64 0.13.1", ] -[[package]] -name = "pem-rfc7468" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac" -dependencies = [ - "base64ct", -] - [[package]] name = "percent-encoding" version = "2.3.0" @@ -6199,24 +5840,14 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "pkcs8" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" -dependencies = [ - "der 0.6.1", - "spki 0.6.0", -] - [[package]] name = "pkcs8" version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der 0.7.7", - "spki 0.7.2", + "der", + "spki", ] [[package]] @@ -6234,7 +5865,7 @@ checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" [[package]] name = "polkadot-core-primitives" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "parity-scale-codec", "scale-info", @@ -6246,7 +5877,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "bounded-collections", "derive_more", @@ -6263,7 +5894,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "bitvec", "hex-literal", @@ -6415,12 +6046,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "2.0.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_datetime", - "toml_edit 0.20.2", + "toml_edit 0.21.0", ] [[package]] @@ -6648,7 +6278,7 @@ dependencies = [ "thiserror", "tinyvec", "tracing", - "webpki 0.22.2", + "webpki", ] [[package]] @@ -6802,19 +6432,6 @@ dependencies = [ "syn 0.15.44", ] -[[package]] -name = "rcgen" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" -dependencies = [ - "pem", - "ring 0.16.20", - "time 0.3.31", - "x509-parser 0.13.2", - "yasna", -] - [[package]] name = "rcgen" version = "0.10.0" @@ -6823,7 +6440,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring 0.16.20", - "time 0.3.31", + "time", "yasna", ] @@ -7159,7 +6776,7 @@ dependencies = [ "substrate-prometheus-endpoint", "sysinfo", "thiserror", - "time 0.3.31", + "time", "tokio", ] @@ -7192,17 +6809,6 @@ dependencies = [ "quick-error", ] -[[package]] -name = "rfc6979" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" -dependencies = [ - "crypto-bigint 0.4.9", - "hmac 0.12.1", - "zeroize", -] - [[package]] name = "rfc6979" version = "0.4.0" @@ -7254,17 +6860,6 @@ dependencies = [ "rustc-hex", ] -[[package]] -name = "rtcp" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1919efd6d4a6a85d13388f9487549bb8e359f17198cc03ffd72f79b553873691" -dependencies = [ - "bytes", - "thiserror", - "webrtc-util", -] - [[package]] name = "rtnetlink" version = "0.10.1" @@ -7280,20 +6875,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "rtp" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a095411ff00eed7b12e4c6a118ba984d113e1079582570d56a5ee723f11f80" -dependencies = [ - "async-trait", - "bytes", - "rand 0.8.5", - "serde", - "thiserror", - "webrtc-util", -] - [[package]] name = "rustc-demangle" version = "0.1.23" @@ -7371,19 +6952,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rustls" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" -dependencies = [ - "base64 0.13.1", - "log", - "ring 0.16.20", - "sct 0.6.1", - "webpki 0.21.4", -] - [[package]] name = "rustls" version = "0.20.8" @@ -7392,8 +6960,8 @@ checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" dependencies = [ "log", "ring 0.16.20", - "sct 0.7.0", - "webpki 0.22.2", + "sct", + "webpki", ] [[package]] @@ -7405,7 +6973,7 @@ dependencies = [ "log", "ring 0.16.20", "rustls-webpki", - "sct 0.7.0", + "sct", ] [[package]] @@ -7494,7 +7062,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "log", "sp-core", @@ -7505,7 +7073,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "array-bytes 6.1.0", "docify", @@ -7530,9 +7098,9 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ - "proc-macro-crate 2.0.1", + "proc-macro-crate 3.1.0", "proc-macro2 1.0.76", "quote 1.0.35", "syn 2.0.48", @@ -7541,7 +7109,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "fnv", "futures", @@ -7568,7 +7136,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "async-trait", "futures", @@ -7593,7 +7161,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -7615,7 +7183,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -7627,7 +7195,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "anyhow", "cfg-if 1.0.0", @@ -7645,7 +7213,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.1.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "array-bytes 4.2.0", "arrayvec 0.7.4", @@ -7674,7 +7242,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "array-bytes 6.1.0", "async-channel", @@ -7717,7 +7285,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -7734,7 +7302,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "jsonrpsee 0.16.2", "parity-scale-codec", @@ -7754,7 +7322,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "chrono", "futures", @@ -7773,7 +7341,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "async-trait", "futures", @@ -7789,7 +7357,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "async-channel", "futures", @@ -7969,20 +7537,29 @@ dependencies = [ ] [[package]] -name = "scopeguard" -version = "1.2.0" +name = "schnorrkel" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" +dependencies = [ + "aead 0.5.2", + "arrayref", + "arrayvec 0.7.4", + "curve25519-dalek 4.1.1", + "getrandom_or_panic", + "merlin 3.0.0", + "rand_core 0.6.4", + "serde_bytes", + "sha2 0.10.7", + "subtle 2.4.1", + "zeroize", +] [[package]] -name = "sct" -version = "0.6.1" +name = "scopeguard" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" -dependencies = [ - "ring 0.16.20", - "untrusted", -] +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" @@ -7994,42 +7571,16 @@ dependencies = [ "untrusted", ] -[[package]] -name = "sdp" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d22a5ef407871893fd72b4562ee15e4742269b173959db4b8df6f538c414e13" -dependencies = [ - "rand 0.8.5", - "substring", - "thiserror", - "url", -] - -[[package]] -name = "sec1" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" -dependencies = [ - "base16ct 0.1.1", - "der 0.6.1", - "generic-array 0.14.7", - "pkcs8 0.9.0", - "subtle 2.4.1", - "zeroize", -] - [[package]] name = "sec1" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ - "base16ct 0.2.0", - "der 0.7.7", + "base16ct", + "der", "generic-array 0.14.7", - "pkcs8 0.10.2", + "pkcs8", "subtle 2.4.1", "zeroize", ] @@ -8099,6 +7650,15 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde_bytes" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +dependencies = [ + "serde", +] + [[package]] name = "serde_derive" version = "1.0.195" @@ -8144,17 +7704,6 @@ dependencies = [ "opaque-debug 0.3.0", ] -[[package]] -name = "sha1" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" -dependencies = [ - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.10.7", -] - [[package]] name = "sha2" version = "0.8.2" @@ -8241,16 +7790,6 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" -dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", -] - [[package]] name = "signature" version = "2.1.0" @@ -8277,7 +7816,7 @@ dependencies = [ [[package]] name = "simple-mermaid" version = "0.1.0" -source = "git+https://github.com/kianenigma/simple-mermaid.git?branch=main#e48b187bcfd5cc75111acd9d241f1bd36604344b" +source = "git+https://github.com/kianenigma/simple-mermaid.git?rev=e48b187bcfd5cc75111acd9d241f1bd36604344b#e48b187bcfd5cc75111acd9d241f1bd36604344b" [[package]] name = "siphasher" @@ -8424,7 +7963,7 @@ dependencies = [ "aes-gcm 0.9.4", "blake2 0.10.6", "chacha20poly1305", - "curve25519-dalek 4.0.0", + "curve25519-dalek 4.1.1", "rand_core 0.6.4", "ring 0.16.20", "rustc_version", @@ -8472,7 +8011,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "hash-db", "log", @@ -8493,12 +8032,12 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "Inflector", "blake2 0.10.6", "expander", - "proc-macro-crate 2.0.1", + "proc-macro-crate 3.1.0", "proc-macro2 1.0.76", "quote 1.0.35", "syn 2.0.48", @@ -8507,7 +8046,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "parity-scale-codec", "scale-info", @@ -8520,7 +8059,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "integer-sqrt", "num-traits", @@ -8552,7 +8091,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "parity-scale-codec", "scale-info", @@ -8565,7 +8104,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "futures", "log", @@ -8583,7 +8122,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "async-trait", "futures", @@ -8598,7 +8137,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "lazy_static", "parity-scale-codec", @@ -8617,7 +8156,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "finality-grandpa", "log", @@ -8635,7 +8174,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "parity-scale-codec", "scale-info", @@ -8647,7 +8186,7 @@ dependencies = [ [[package]] name = "sp-core" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "array-bytes 6.1.0", "bandersnatch_vrfs", @@ -8665,14 +8204,14 @@ dependencies = [ "itertools", "libsecp256k1", "log", - "merlin 2.0.1", + "merlin 3.0.0", "parity-scale-codec", "parking_lot 0.12.1", "paste", "primitive-types", "rand 0.8.5", "scale-info", - "schnorrkel 0.9.1", + "schnorrkel 0.11.4", "secp256k1", "secrecy", "serde", @@ -8708,7 +8247,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "blake2b_simd", "byteorder", @@ -8721,7 +8260,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "quote 1.0.35", "sp-core-hashing 9.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)", @@ -8731,7 +8270,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.4.1" -source = "git+https://github.com/paritytech/polkadot-sdk#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -8752,7 +8291,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -8761,7 +8300,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "8.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "proc-macro2 1.0.76", "quote 1.0.35", @@ -8771,7 +8310,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "8.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "proc-macro2 1.0.76", "quote 1.0.35", @@ -8781,7 +8320,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "environmental", "parity-scale-codec", @@ -8792,7 +8331,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "environmental", "parity-scale-codec", @@ -8803,7 +8342,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "serde_json", "sp-api", @@ -8814,7 +8353,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -8828,7 +8367,7 @@ dependencies = [ [[package]] name = "sp-io" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "bytes", "ed25519-dalek", @@ -8852,7 +8391,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "sp-core", "sp-runtime", @@ -8862,7 +8401,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.27.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -8874,7 +8413,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "thiserror", "zstd 0.12.4", @@ -8883,7 +8422,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-metadata 16.0.0", "parity-scale-codec", @@ -8894,7 +8433,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.1.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "parity-scale-codec", "scale-info", @@ -8906,7 +8445,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "ckb-merkle-mountain-range 0.5.2", "log", @@ -8924,7 +8463,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "8.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "backtrace", "lazy_static", @@ -8934,7 +8473,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "rustc-hash", "serde", @@ -8944,7 +8483,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "docify", "either", @@ -8968,7 +8507,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -8986,7 +8525,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -9004,11 +8543,11 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "Inflector", "expander", - "proc-macro-crate 2.0.1", + "proc-macro-crate 3.1.0", "proc-macro2 1.0.76", "quote 1.0.35", "syn 2.0.48", @@ -9017,11 +8556,11 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "Inflector", "expander", - "proc-macro-crate 2.0.1", + "proc-macro-crate 3.1.0", "proc-macro2 1.0.76", "quote 1.0.35", "syn 2.0.48", @@ -9030,7 +8569,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "parity-scale-codec", "scale-info", @@ -9045,7 +8584,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9059,7 +8598,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.28.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "hash-db", "log", @@ -9080,10 +8619,10 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "aes-gcm 0.10.2", - "curve25519-dalek 4.0.0", + "curve25519-dalek 4.1.1", "ed25519-dalek", "hkdf", "parity-scale-codec", @@ -9110,17 +8649,17 @@ checksum = "53458e3c57df53698b3401ec0934bea8e8cfce034816873c0b0abbd83d7bac0d" [[package]] name = "sp-std" version = "8.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" [[package]] name = "sp-std" version = "8.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk#dcc76525d98a097be152293eee3389f6af5c4404" [[package]] name = "sp-storage" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9133,7 +8672,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9146,7 +8685,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "async-trait", "parity-scale-codec", @@ -9159,7 +8698,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "parity-scale-codec", "sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)", @@ -9171,7 +8710,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "parity-scale-codec", "sp-std 8.0.0 (git+https://github.com/paritytech/polkadot-sdk)", @@ -9183,7 +8722,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "ahash 0.8.3", "hash-db", @@ -9207,7 +8746,7 @@ dependencies = [ [[package]] name = "sp-version" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9224,7 +8763,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "8.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "parity-scale-codec", "proc-macro2 1.0.76", @@ -9235,7 +8774,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -9248,7 +8787,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -9261,7 +8800,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -9285,16 +8824,6 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -[[package]] -name = "spki" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" -dependencies = [ - "base64ct", - "der 0.6.1", -] - [[package]] name = "spki" version = "0.7.2" @@ -9302,7 +8831,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", - "der 0.7.7", + "der", ] [[package]] @@ -9329,8 +8858,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-xcm" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ + "array-bytes 6.1.0", "bounded-collections", "derivative", "environmental", @@ -9346,7 +8876,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "frame-support", "frame-system", @@ -9368,7 +8898,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "environmental", "frame-benchmarking", @@ -9472,25 +9002,6 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "stun" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7e94b1ec00bad60e6410e058b52f1c66de3dc5fe4d62d09b3e52bb7d3b73e25" -dependencies = [ - "base64 0.13.1", - "crc", - "lazy_static", - "md-5", - "rand 0.8.5", - "ring 0.16.20", - "subtle 2.4.1", - "thiserror", - "tokio", - "url", - "webrtc-util", -] - [[package]] name = "substrate-bip39" version = "0.4.4" @@ -9507,7 +9018,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "hyper", "log", @@ -9617,15 +9128,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "substring" -version = "1.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86" -dependencies = [ - "autocfg", -] - [[package]] name = "subtle" version = "1.0.0" @@ -9919,17 +9421,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "time" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - [[package]] name = "time" version = "0.3.31" @@ -9970,16 +9461,6 @@ dependencies = [ "crunchy", ] -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -10008,7 +9489,6 @@ dependencies = [ "num_cpus", "parking_lot 0.12.1", "pin-project-lite 0.2.12", - "signal-hook-registry", "socket2 0.5.5", "tokio-macros", "windows-sys 0.48.0", @@ -10084,9 +9564,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ "serde", ] @@ -10106,9 +9586,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.20.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" dependencies = [ "indexmap 2.0.0", "toml_datetime", @@ -10309,25 +9789,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" -[[package]] -name = "turn" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4712ee30d123ec7ae26d1e1b218395a16c87cdbaf4b3925d170d684af62ea5e8" -dependencies = [ - "async-trait", - "base64 0.13.1", - "futures", - "log", - "md-5", - "rand 0.8.5", - "ring 0.16.20", - "stun", - "thiserror", - "tokio", - "webrtc-util", -] - [[package]] name = "twox-hash" version = "1.6.3" @@ -10452,15 +9913,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "uuid" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" -dependencies = [ - "getrandom 0.2.10", -] - [[package]] name = "valuable" version = "0.1.0" @@ -10521,15 +9973,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "waitgroup" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292" -dependencies = [ - "atomic-waker", -] - [[package]] name = "waker-fn" version = "1.1.0" @@ -10561,12 +10004,6 @@ version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -10919,16 +10356,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" -dependencies = [ - "ring 0.16.20", - "untrusted", -] - [[package]] name = "webpki" version = "0.22.2" @@ -10945,216 +10372,7 @@ version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ - "webpki 0.22.2", -] - -[[package]] -name = "webrtc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3bc9049bdb2cea52f5fd4f6f728184225bdb867ed0dc2410eab6df5bdd67bb" -dependencies = [ - "arc-swap", - "async-trait", - "bytes", - "hex", - "interceptor", - "lazy_static", - "log", - "rand 0.8.5", - "rcgen 0.9.3", - "regex", - "ring 0.16.20", - "rtcp", - "rtp", - "rustls 0.19.1", - "sdp", - "serde", - "serde_json", - "sha2 0.10.7", - "stun", - "thiserror", - "time 0.3.31", - "tokio", - "turn", - "url", - "waitgroup", - "webrtc-data", - "webrtc-dtls", - "webrtc-ice", - "webrtc-mdns", - "webrtc-media", - "webrtc-sctp", - "webrtc-srtp", - "webrtc-util", -] - -[[package]] -name = "webrtc-data" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100" -dependencies = [ - "bytes", - "derive_builder", - "log", - "thiserror", - "tokio", - "webrtc-sctp", - "webrtc-util", -] - -[[package]] -name = "webrtc-dtls" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942be5bd85f072c3128396f6e5a9bfb93ca8c1939ded735d177b7bcba9a13d05" -dependencies = [ - "aes 0.6.0", - "aes-gcm 0.10.2", - "async-trait", - "bincode", - "block-modes", - "byteorder", - "ccm", - "curve25519-dalek 3.2.0", - "der-parser 8.2.0", - "elliptic-curve 0.12.3", - "hkdf", - "hmac 0.12.1", - "log", - "oid-registry 0.6.1", - "p256", - "p384", - "rand 0.8.5", - "rand_core 0.6.4", - "rcgen 0.9.3", - "ring 0.16.20", - "rustls 0.19.1", - "sec1 0.3.0", - "serde", - "sha1", - "sha2 0.10.7", - "signature 1.6.4", - "subtle 2.4.1", - "thiserror", - "tokio", - "webpki 0.21.4", - "webrtc-util", - "x25519-dalek 2.0.0", - "x509-parser 0.13.2", -] - -[[package]] -name = "webrtc-ice" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "465a03cc11e9a7d7b4f9f99870558fe37a102b65b93f8045392fef7c67b39e80" -dependencies = [ - "arc-swap", - "async-trait", - "crc", - "log", - "rand 0.8.5", - "serde", - "serde_json", - "stun", - "thiserror", - "tokio", - "turn", - "url", - "uuid", - "waitgroup", - "webrtc-mdns", - "webrtc-util", -] - -[[package]] -name = "webrtc-mdns" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" -dependencies = [ - "log", - "socket2 0.4.9", - "thiserror", - "tokio", - "webrtc-util", -] - -[[package]] -name = "webrtc-media" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f72e1650a8ae006017d1a5280efb49e2610c19ccc3c0905b03b648aee9554991" -dependencies = [ - "byteorder", - "bytes", - "rand 0.8.5", - "rtp", - "thiserror", -] - -[[package]] -name = "webrtc-sctp" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d47adcd9427eb3ede33d5a7f3424038f63c965491beafcc20bc650a2f6679c0" -dependencies = [ - "arc-swap", - "async-trait", - "bytes", - "crc", - "log", - "rand 0.8.5", - "thiserror", - "tokio", - "webrtc-util", -] - -[[package]] -name = "webrtc-srtp" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6183edc4c1c6c0175f8812eefdce84dfa0aea9c3ece71c2bf6ddd3c964de3da5" -dependencies = [ - "aead 0.4.3", - "aes 0.7.5", - "aes-gcm 0.9.4", - "async-trait", - "byteorder", - "bytes", - "ctr 0.8.0", - "hmac 0.11.0", - "log", - "rtcp", - "rtp", - "sha-1", - "subtle 2.4.1", - "thiserror", - "tokio", - "webrtc-util", -] - -[[package]] -name = "webrtc-util" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87" -dependencies = [ - "async-trait", - "bitflags 1.3.2", - "bytes", - "cc", - "ipnet", - "lazy_static", - "libc", - "log", - "nix", - "rand 0.8.5", - "thiserror", - "tokio", - "winapi", + "webpki", ] [[package]] @@ -11529,53 +10747,34 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" dependencies = [ - "curve25519-dalek 4.0.0", + "curve25519-dalek 4.1.1", "rand_core 0.6.4", "serde", "zeroize", ] -[[package]] -name = "x509-parser" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c" -dependencies = [ - "asn1-rs 0.3.1", - "base64 0.13.1", - "data-encoding", - "der-parser 7.0.0", - "lazy_static", - "nom", - "oid-registry 0.4.0", - "ring 0.16.20", - "rusticata-macros", - "thiserror", - "time 0.3.31", -] - [[package]] name = "x509-parser" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" dependencies = [ - "asn1-rs 0.5.2", + "asn1-rs", "base64 0.13.1", "data-encoding", - "der-parser 8.2.0", + "der-parser", "lazy_static", "nom", - "oid-registry 0.6.1", + "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.31", + "time", ] [[package]] name = "xcm-procedural" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#ebe2aad6f0ae576a0e176f38a084fe7579f936dd" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#dcc76525d98a097be152293eee3389f6af5c4404" dependencies = [ "Inflector", "proc-macro2 1.0.76", @@ -11609,7 +10808,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.31", + "time", ] [[package]] diff --git a/bin/runtime-common/src/messages_benchmarking.rs b/bin/runtime-common/src/messages_benchmarking.rs index 95c8dc86ac3..79068bf3cc1 100644 --- a/bin/runtime-common/src/messages_benchmarking.rs +++ b/bin/runtime-common/src/messages_benchmarking.rs @@ -37,7 +37,7 @@ use pallet_bridge_messages::{ }; use sp_runtime::traits::{Header, Zero}; use sp_std::prelude::*; -use xcm::v3::prelude::*; +use xcm::latest::prelude::*; /// Prepare inbound bridge message according to given message proof parameters. fn prepare_inbound_message( @@ -273,19 +273,19 @@ where /// Returns callback which generates `BridgeMessage` from Polkadot XCM builder based on /// `expected_message_size` for benchmark. pub fn generate_xcm_builder_bridge_message_sample( - destination: InteriorMultiLocation, + destination: InteriorLocation, ) -> impl Fn(usize) -> MessagePayload { move |expected_message_size| -> MessagePayload { // For XCM bridge hubs, it is the message that // will be pushed further to some XCM queue (XCMP/UMP) - let location = xcm::VersionedInteriorMultiLocation::V3(destination); + let location = xcm::VersionedInteriorLocation::V4(destination.clone()); let location_encoded_size = location.encoded_size(); // we don't need to be super-precise with `expected_size` here let xcm_size = expected_message_size.saturating_sub(location_encoded_size); let xcm_data_size = xcm_size.saturating_sub( // minus empty instruction size - xcm::v3::Instruction::<()>::ExpectPallet { + Instruction::<()>::ExpectPallet { index: 0, name: vec![], module_name: vec![], @@ -301,8 +301,8 @@ pub fn generate_xcm_builder_bridge_message_sample( expected_message_size, location_encoded_size, xcm_size, xcm_data_size, ); - let xcm = xcm::VersionedXcm::<()>::V3( - vec![xcm::v3::Instruction::<()>::ExpectPallet { + let xcm = xcm::VersionedXcm::<()>::V4( + vec![Instruction::<()>::ExpectPallet { index: 0, name: vec![42; xcm_data_size], module_name: vec![], diff --git a/modules/parachains/src/lib.rs b/modules/parachains/src/lib.rs index bd1351d7329..428b59619e7 100644 --- a/modules/parachains/src/lib.rs +++ b/modules/parachains/src/lib.rs @@ -1490,7 +1490,7 @@ pub(crate) mod tests { ); // then if someone is pretending to provide updated head#10 of parachain#1 at relay - // block#30, and actualy provides it + // block#30, and actually provides it // // => we'll update value proceed(30, state_root_10_at_30); diff --git a/modules/xcm-bridge-hub-router/src/lib.rs b/modules/xcm-bridge-hub-router/src/lib.rs index 23661327db4..7571300b65b 100644 --- a/modules/xcm-bridge-hub-router/src/lib.rs +++ b/modules/xcm-bridge-hub-router/src/lib.rs @@ -83,9 +83,9 @@ pub mod pallet { type WeightInfo: WeightInfo; /// Universal location of this runtime. - type UniversalLocation: Get; + type UniversalLocation: Get; /// Relative location of the sibling bridge hub. - type SiblingBridgeHubLocation: Get; + type SiblingBridgeHubLocation: Get; /// The bridged network that this config is for if specified. /// Also used for filtering `Bridges` by `BridgedNetworkId`. /// If not specified, allows all networks pass through. @@ -240,9 +240,9 @@ type ViaBridgeHubExporter = SovereignPaidRemoteExporter< impl, I: 'static> ExporterFor for Pallet { fn exporter_for( network: &NetworkId, - remote_location: &InteriorMultiLocation, + remote_location: &InteriorLocation, message: &Xcm<()>, - ) -> Option<(MultiLocation, Option)> { + ) -> Option<(Location, Option)> { // ensure that the message is sent to the expected bridged network (if specified). if *network != T::BridgedNetworkId::get() { log::trace!( @@ -285,7 +285,7 @@ impl, I: 'static> ExporterFor for Pallet { // take `base_fee` from `T::Brides`, but it has to be the same `T::FeeAsset` let base_fee = match maybe_payment { Some(payment) => match payment { - MultiAsset { fun: Fungible(amount), id } if id.eq(&T::FeeAsset::get()) => amount, + Asset { fun: Fungible(amount), id } if id.eq(&T::FeeAsset::get()) => amount, invalid_asset => { log::error!( target: LOG_TARGET, @@ -333,7 +333,7 @@ impl, I: 'static> SendXcm for Pallet { type Ticket = (u32, ::Ticket); fn validate( - dest: &mut Option, + dest: &mut Option, xcm: &mut Option>, ) -> SendResult { // `dest` and `xcm` are required here @@ -451,7 +451,7 @@ mod tests { run_test(|| { assert_eq!( send_xcm::( - MultiLocation::new(2, X2(GlobalConsensus(Rococo), Parachain(1000))), + Location::new(2, [GlobalConsensus(Rococo), Parachain(1000)]), vec![].into(), ), Err(SendError::NotApplicable), @@ -464,7 +464,7 @@ mod tests { run_test(|| { assert_eq!( send_xcm::( - MultiLocation::new(2, X2(GlobalConsensus(Rococo), Parachain(1000))), + Location::new(2, [GlobalConsensus(Rococo), Parachain(1000)]), vec![ClearOrigin; HARD_MESSAGE_SIZE_LIMIT as usize].into(), ), Err(SendError::ExceedsMaxMessageSize), @@ -488,14 +488,14 @@ mod tests { #[test] fn returns_proper_delivery_price() { run_test(|| { - let dest = MultiLocation::new(2, X1(GlobalConsensus(BridgedNetworkId::get()))); + let dest = Location::new(2, [GlobalConsensus(BridgedNetworkId::get())]); let xcm: Xcm<()> = vec![ClearOrigin].into(); let msg_size = xcm.encoded_size(); // initially the base fee is used: `BASE_FEE + BYTE_FEE * msg_size + HRMP_FEE` let expected_fee = BASE_FEE + BYTE_FEE * (msg_size as u128) + HRMP_FEE; assert_eq!( - XcmBridgeHubRouter::validate(&mut Some(dest), &mut Some(xcm.clone())) + XcmBridgeHubRouter::validate(&mut Some(dest.clone()), &mut Some(xcm.clone())) .unwrap() .1 .get(0), @@ -524,10 +524,7 @@ mod tests { let old_delivery_fee_factor = XcmBridgeHubRouter::delivery_fee_factor(); assert_eq!( send_xcm::( - MultiLocation::new( - 2, - X2(GlobalConsensus(BridgedNetworkId::get()), Parachain(1000)) - ), + Location::new(2, [GlobalConsensus(BridgedNetworkId::get()), Parachain(1000)]), vec![ClearOrigin].into(), ) .map(drop), @@ -549,10 +546,7 @@ mod tests { let old_delivery_fee_factor = XcmBridgeHubRouter::delivery_fee_factor(); assert_eq!( send_xcm::( - MultiLocation::new( - 2, - X2(GlobalConsensus(BridgedNetworkId::get()), Parachain(1000)) - ), + Location::new(2, [GlobalConsensus(BridgedNetworkId::get()), Parachain(1000)]), vec![ClearOrigin].into(), ) .map(drop), diff --git a/modules/xcm-bridge-hub-router/src/mock.rs b/modules/xcm-bridge-hub-router/src/mock.rs index 3a07f75919e..8dacd6ebd6d 100644 --- a/modules/xcm-bridge-hub-router/src/mock.rs +++ b/modules/xcm-bridge-hub-router/src/mock.rs @@ -47,9 +47,9 @@ construct_runtime! { parameter_types! { pub ThisNetworkId: NetworkId = Polkadot; pub BridgedNetworkId: NetworkId = Kusama; - pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(ThisNetworkId::get()), Parachain(1000)); - pub SiblingBridgeHubLocation: MultiLocation = ParentThen(X1(Parachain(1002))).into(); - pub BridgeFeeAsset: AssetId = MultiLocation::parent().into(); + pub UniversalLocation: InteriorLocation = [GlobalConsensus(ThisNetworkId::get()), Parachain(1000)].into(); + pub SiblingBridgeHubLocation: Location = ParentThen([Parachain(1002)].into()).into(); + pub BridgeFeeAsset: AssetId = Location::parent().into(); pub BridgeTable: Vec = vec![ NetworkExportTableItem::new( @@ -59,7 +59,7 @@ parameter_types! { Some((BridgeFeeAsset::get(), BASE_FEE).into()) ) ]; - pub UnknownXcmVersionLocation: MultiLocation = MultiLocation::new(2, X2(GlobalConsensus(BridgedNetworkId::get()), Parachain(9999))); + pub UnknownXcmVersionLocation: Location = Location::new(2, [GlobalConsensus(BridgedNetworkId::get()), Parachain(9999)]); } #[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 { } pub struct LatestOrNoneForLocationVersionChecker(sp_std::marker::PhantomData); -impl> GetVersion - for LatestOrNoneForLocationVersionChecker +impl> GetVersion + for LatestOrNoneForLocationVersionChecker { - fn get_version_for(dest: &MultiLocation) -> Option { - if Location::contains(dest) { + fn get_version_for(dest: &Location) -> Option { + if LocationValue::contains(dest) { return None } Some(XCM_VERSION) @@ -116,7 +116,7 @@ impl SendXcm for TestToBridgeHubSender { type Ticket = (); fn validate( - _destination: &mut Option, + _destination: &mut Option, _message: &mut Option>, ) -> SendResult { Ok(((), (BridgeFeeAsset::get(), HRMP_FEE).into())) @@ -139,15 +139,15 @@ impl TestLocalXcmChannelManager { impl LocalXcmChannelManager for TestLocalXcmChannelManager { type Error = (); - fn is_congested(_with: &MultiLocation) -> bool { + fn is_congested(_with: &Location) -> bool { frame_support::storage::unhashed::get_or_default(b"TestLocalXcmChannelManager.Congested") } - fn suspend_bridge(_with: &MultiLocation, _bridge: BridgeId) -> Result<(), Self::Error> { + fn suspend_bridge(_with: &Location, _bridge: BridgeId) -> Result<(), Self::Error> { Ok(()) } - fn resume_bridge(_with: &MultiLocation, _bridge: BridgeId) -> Result<(), Self::Error> { + fn resume_bridge(_with: &Location, _bridge: BridgeId) -> Result<(), Self::Error> { Ok(()) } } diff --git a/modules/xcm-bridge-hub/src/dispatcher.rs b/modules/xcm-bridge-hub/src/dispatcher.rs index c67a29fd2df..f88a825e41b 100644 --- a/modules/xcm-bridge-hub/src/dispatcher.rs +++ b/modules/xcm-bridge-hub/src/dispatcher.rs @@ -63,7 +63,7 @@ where let bridge_id = BridgeId::from_lane_id(lane); Pallet::::bridge(bridge_id) .and_then(|bridge| bridge.bridge_origin_relative_location.try_as().cloned().ok()) - .map(|recipient: MultiLocation| !T::LocalXcmChannelManager::is_congested(&recipient)) + .map(|recipient: Location| !T::LocalXcmChannelManager::is_congested(&recipient)) .unwrap_or(false) } @@ -134,7 +134,7 @@ mod tests { Bridges::::insert( bridge_id(), Bridge { - bridge_origin_relative_location: Box::new(MultiLocation::new(0, Here).into()), + bridge_origin_relative_location: Box::new(Location::new(0, Here).into()), state: BridgeState::Opened, bridge_owner_account: [0u8; 32].into(), reserve: 0, diff --git a/modules/xcm-bridge-hub/src/exporter.rs b/modules/xcm-bridge-hub/src/exporter.rs index 09771358834..02529158776 100644 --- a/modules/xcm-bridge-hub/src/exporter.rs +++ b/modules/xcm-bridge-hub/src/exporter.rs @@ -66,10 +66,10 @@ where fn validate( network: NetworkId, channel: u32, - universal_source: &mut Option, - destination: &mut Option, + universal_source: &mut Option, + destination: &mut Option, message: &mut Option>, - ) -> Result<(Self::Ticket, MultiAssets), SendError> { + ) -> Result<(Self::Ticket, Assets), SendError> { // `HaulBlobExporter` may consume the `universal_source` and `destination` arguments, so // let's save them before let bridge_origin_universal_location = @@ -301,12 +301,12 @@ mod tests { use bp_xcm_bridge_hub::{Bridge, BridgeState}; use xcm_executor::traits::export_xcm; - fn universal_source() -> InteriorMultiLocation { - X2(GlobalConsensus(RelayNetwork::get()), Parachain(SIBLING_ASSET_HUB_ID)) + fn universal_source() -> InteriorLocation { + [GlobalConsensus(RelayNetwork::get()), Parachain(SIBLING_ASSET_HUB_ID)].into() } - fn universal_destination() -> InteriorMultiLocation { - X2(GlobalConsensus(BridgedRelayNetwork::get()), Parachain(BRIDGED_ASSET_HUB_ID)) + fn universal_destination() -> InteriorLocation { + [GlobalConsensus(BridgedRelayNetwork::get()), Parachain(BRIDGED_ASSET_HUB_ID)].into() } fn open_lane_and_send_regular_message() -> BridgeId { @@ -329,7 +329,7 @@ mod tests { locations.bridge_id, Bridge { bridge_origin_relative_location: Box::new( - MultiLocation::new(1, Parachain(SIBLING_ASSET_HUB_ID)).into(), + Location::new(1, Parachain(SIBLING_ASSET_HUB_ID)).into(), ), state: BridgeState::Opened, bridge_owner_account: [0u8; 32].into(), diff --git a/modules/xcm-bridge-hub/src/lib.rs b/modules/xcm-bridge-hub/src/lib.rs index ecb629fedca..b79db3bc68f 100644 --- a/modules/xcm-bridge-hub/src/lib.rs +++ b/modules/xcm-bridge-hub/src/lib.rs @@ -96,13 +96,13 @@ pub mod pallet { + IsType<::RuntimeEvent>; /// Runtime's universal location. - type UniversalLocation: Get; + type UniversalLocation: Get; // TODO: https://github.com/paritytech/parity-bridges-common/issues/1666 remove `ChainId` and // replace it with the `NetworkId` - then we'll be able to use // `T as pallet_bridge_messages::Config::BridgedChain::NetworkId` /// Bridged network as relative location of bridged `GlobalConsensus`. #[pallet::constant] - type BridgedNetwork: Get; + type BridgedNetwork: Get; /// Associated messages pallet instance that bridges us with the /// `BridgedNetworkId` consensus. type BridgeMessagesPalletInstance: 'static; @@ -114,7 +114,7 @@ pub mod pallet { // `Origin` and get matching `MultiLocation`??? type OpenBridgeOrigin: EnsureOrigin< ::RuntimeOrigin, - Success = MultiLocation, + Success = Location, >; /// A converter between a multi-location and a sovereign account. type BridgeOriginAccountIdConverter: ConvertLocation; @@ -131,7 +131,7 @@ pub mod pallet { /// XCM-level dispatcher for inbound bridge messages. type BlobDispatcher: DispatchBlob; /// Price of single message export to the bridged consensus (`Self::BridgedNetworkId`). - type MessageExportPrice: Get; + type MessageExportPrice: Get; /// Checks the XCM version for the destination. type DestinationVersion: GetVersion; } @@ -171,7 +171,7 @@ pub mod pallet { #[pallet::weight(Weight::zero())] // TODO: https://github.com/paritytech/parity-bridges-common/issues/1760 - weights pub fn open_bridge( origin: OriginFor, - bridge_destination_universal_location: Box, + bridge_destination_universal_location: Box, ) -> DispatchResult { // check and compute required bridge locations let locations = @@ -192,7 +192,7 @@ pub mod pallet { None => { *bridge = Some(BridgeOf:: { bridge_origin_relative_location: Box::new( - locations.bridge_origin_relative_location.into(), + locations.bridge_origin_relative_location.clone().into(), ), state: BridgeState::Opened, bridge_owner_account, @@ -251,7 +251,7 @@ pub mod pallet { #[pallet::weight(Weight::zero())] // TODO: https://github.com/paritytech/parity-bridges-common/issues/1760 - weights pub fn close_bridge( origin: OriginFor, - bridge_destination_universal_location: Box, + bridge_destination_universal_location: Box, may_prune_messages: MessageNonce, ) -> DispatchResult { // compute required bridge locations @@ -381,7 +381,7 @@ pub mod pallet { /// converter. pub fn bridge_locations_from_origin( origin: OriginFor, - bridge_destination_universal_location: Box, + bridge_destination_universal_location: Box, ) -> Result, sp_runtime::DispatchError> { Self::bridge_locations( Box::new(T::OpenBridgeOrigin::ensure_origin(origin)?), @@ -391,8 +391,8 @@ pub mod pallet { /// Return bridge endpoint locations and dedicated lane identifier. pub fn bridge_locations( - bridge_origin_relative_location: Box, - bridge_destination_universal_location: Box, + bridge_origin_relative_location: Box, + bridge_destination_universal_location: Box, ) -> Result, sp_runtime::DispatchError> { bridge_locations( Box::new(T::UniversalLocation::get()), @@ -422,7 +422,7 @@ pub mod pallet { /// Keep in mind that we are **NOT** reserving any amount for the bridges, opened at /// genesis. We are **NOT** opening lanes, used by this bridge. It all must be done using /// other pallets genesis configuration or some other means. - pub opened_bridges: Vec<(MultiLocation, InteriorMultiLocation)>, + pub opened_bridges: Vec<(Location, InteriorLocation)>, /// Dummy marker. pub phantom: sp_std::marker::PhantomData<(T, I)>, } @@ -434,11 +434,11 @@ pub mod pallet { { fn build(&self) { for (bridge_origin_relative_location, bridge_destination_universal_location) in - &self.opened_bridges + self.opened_bridges.iter().cloned() { let locations = Pallet::::bridge_locations( - Box::new(*bridge_origin_relative_location), - Box::new((*bridge_destination_universal_location).into()), + Box::new(bridge_origin_relative_location), + Box::new(bridge_destination_universal_location.into()), ) .expect("Invalid genesis configuration"); let bridge_owner_account = T::BridgeOriginAccountIdConverter::convert_location( @@ -467,9 +467,9 @@ pub mod pallet { /// The bridge between two locations has been opened. BridgeOpened { /// Universal location of local bridge endpoint. - local_endpoint: Box, + local_endpoint: Box, /// Universal location of remote bridge endpoint. - remote_endpoint: Box, + remote_endpoint: Box, /// Bridge identifier. bridge_id: BridgeId, }, @@ -537,7 +537,7 @@ mod tests { fn mock_open_bridge_from_with( origin: RuntimeOrigin, - with: InteriorMultiLocation, + with: InteriorLocation, ) -> (BridgeOf, BridgeLocations) { let reserve = BridgeReserve::get(); let locations = @@ -548,7 +548,7 @@ mod tests { let bridge = Bridge { bridge_origin_relative_location: Box::new( - locations.bridge_origin_relative_location.into(), + locations.bridge_origin_relative_location.clone().into(), ), state: BridgeState::Opened, bridge_owner_account, @@ -622,7 +622,7 @@ mod tests { XcmOverBridge::open_bridge( OpenBridgeOrigin::parent_relay_chain_origin(), Box::new( - X2(GlobalConsensus(RelayNetwork::get()), Parachain(BRIDGED_ASSET_HUB_ID)) + [GlobalConsensus(RelayNetwork::get()), Parachain(BRIDGED_ASSET_HUB_ID)] .into() ), ), @@ -638,10 +638,10 @@ mod tests { XcmOverBridge::open_bridge( OpenBridgeOrigin::parent_relay_chain_origin(), Box::new( - X2( + [ GlobalConsensus(NonBridgedRelayNetwork::get()), Parachain(BRIDGED_ASSET_HUB_ID) - ) + ] .into() ), ), @@ -801,7 +801,7 @@ mod tests { // now open the bridge assert_ok!(XcmOverBridge::open_bridge( origin, - Box::new(locations.bridge_destination_universal_location.into()), + Box::new(locations.bridge_destination_universal_location.clone().into()), )); // ensure that everything has been set up in the runtime storage @@ -950,7 +950,7 @@ mod tests { // now call the `close_bridge`, which will only partially prune messages assert_ok!(XcmOverBridge::close_bridge( origin.clone(), - Box::new(locations.bridge_destination_universal_location.into()), + Box::new(locations.bridge_destination_universal_location.clone().into()), 16, ),); @@ -1001,7 +1001,7 @@ mod tests { // now call the `close_bridge` again, which will only partially prune messages assert_ok!(XcmOverBridge::close_bridge( origin.clone(), - Box::new(locations.bridge_destination_universal_location.into()), + Box::new(locations.bridge_destination_universal_location.clone().into()), 8, ),); diff --git a/modules/xcm-bridge-hub/src/mock.rs b/modules/xcm-bridge-hub/src/mock.rs index 8847e85606e..93346cb6b58 100644 --- a/modules/xcm-bridge-hub/src/mock.rs +++ b/modules/xcm-bridge-hub/src/mock.rs @@ -138,16 +138,13 @@ impl pallet_bridge_messages::WeightInfoExt for TestMessagesWeights { parameter_types! { pub const RelayNetwork: NetworkId = NetworkId::Kusama; pub const BridgedRelayNetwork: NetworkId = NetworkId::Polkadot; - pub const BridgedRelayNetworkLocation: MultiLocation = MultiLocation { - parents: 1, - interior: X1(GlobalConsensus(BridgedRelayNetwork::get())) - }; + pub BridgedRelayNetworkLocation: Location = (Parent, GlobalConsensus(BridgedRelayNetwork::get())).into(); pub const NonBridgedRelayNetwork: NetworkId = NetworkId::Rococo; pub const BridgeReserve: Balance = 100_000; - pub UniversalLocation: InteriorMultiLocation = X2( + pub UniversalLocation: InteriorLocation = [ GlobalConsensus(RelayNetwork::get()), Parachain(THIS_BRIDGE_HUB_ID), - ); + ].into(); pub const Penalty: Balance = 1_000; } @@ -192,33 +189,34 @@ impl OpenBridgeOrigin { } impl EnsureOrigin for OpenBridgeOrigin { - type Success = MultiLocation; + type Success = Location; fn try_origin(o: RuntimeOrigin) -> Result { let signer = o.clone().into_signer(); if signer == Self::parent_relay_chain_origin().into_signer() { - return Ok(MultiLocation { parents: 1, interior: Here }) + return Ok(Location { parents: 1, interior: Here }) } else if signer == Self::parent_relay_chain_universal_origin().into_signer() { - return Ok(MultiLocation { + return Ok(Location { parents: 2, - interior: X1(GlobalConsensus(RelayNetwork::get())), + interior: [GlobalConsensus(RelayNetwork::get())].into(), }) } else if signer == Self::sibling_parachain_universal_origin().into_signer() { - return Ok(MultiLocation { + return Ok(Location { parents: 2, - interior: X2(GlobalConsensus(RelayNetwork::get()), Parachain(SIBLING_ASSET_HUB_ID)), + interior: [GlobalConsensus(RelayNetwork::get()), Parachain(SIBLING_ASSET_HUB_ID)] + .into(), }) } else if signer == Self::origin_without_sovereign_account().into_signer() { - return Ok(MultiLocation { + return Ok(Location { parents: 1, - interior: X2(Parachain(SIBLING_ASSET_HUB_ID), OnlyChild), + interior: [Parachain(SIBLING_ASSET_HUB_ID), OnlyChild].into(), }) } let mut sibling_account = [0u8; 32]; sibling_account[..4].copy_from_slice(&SIBLING_ASSET_HUB_ID.encode()[..4]); if signer == Some(sibling_account.into()) { - return Ok(MultiLocation { parents: 1, interior: X1(Parachain(SIBLING_ASSET_HUB_ID)) }) + return Ok(Location { parents: 1, interior: [Parachain(SIBLING_ASSET_HUB_ID)].into() }) } Err(o) @@ -268,16 +266,16 @@ impl TestLocalXcmChannelManager { impl LocalXcmChannelManager for TestLocalXcmChannelManager { type Error = (); - fn is_congested(_with: &MultiLocation) -> bool { + fn is_congested(_with: &Location) -> bool { frame_support::storage::unhashed::get_or_default(b"TestLocalXcmChannelManager.Congested") } - fn suspend_bridge(_local_origin: &MultiLocation, _bridge: BridgeId) -> Result<(), Self::Error> { + fn suspend_bridge(_local_origin: &Location, _bridge: BridgeId) -> Result<(), Self::Error> { frame_support::storage::unhashed::put(b"TestLocalXcmChannelManager.Suspended", &true); Ok(()) } - fn resume_bridge(_local_origin: &MultiLocation, _bridge: BridgeId) -> Result<(), Self::Error> { + fn resume_bridge(_local_origin: &Location, _bridge: BridgeId) -> Result<(), Self::Error> { frame_support::storage::unhashed::put(b"TestLocalXcmChannelManager.Resumed", &true); Ok(()) } @@ -391,8 +389,8 @@ impl MessageDispatch for TestMessageDispatch { } /// Location of bridged asset hub. -pub fn bridged_asset_hub_location() -> InteriorMultiLocation { - X2(GlobalConsensus(BridgedRelayNetwork::get()), Parachain(BRIDGED_ASSET_HUB_ID)) +pub fn bridged_asset_hub_location() -> InteriorLocation { + [GlobalConsensus(BridgedRelayNetwork::get()), Parachain(BRIDGED_ASSET_HUB_ID)].into() } /// Run pallet test. diff --git a/primitives/runtime/src/chain.rs b/primitives/runtime/src/chain.rs index b314e73c213..2482d1946cb 100644 --- a/primitives/runtime/src/chain.rs +++ b/primitives/runtime/src/chain.rs @@ -206,7 +206,7 @@ pub trait Chain: Send + Sync + 'static { } /// A trait that provides the type of the underlying chain. -pub trait UnderlyingChainProvider { +pub trait UnderlyingChainProvider: Send + Sync + 'static { /// Underlying chain type. type Chain: Chain; } diff --git a/primitives/xcm-bridge-hub/src/lib.rs b/primitives/xcm-bridge-hub/src/lib.rs index c495356f3e6..3db6a818678 100644 --- a/primitives/xcm-bridge-hub/src/lib.rs +++ b/primitives/xcm-bridge-hub/src/lib.rs @@ -32,7 +32,7 @@ use sp_std::boxed::Box; use xcm::{ latest::prelude::*, prelude::{GetVersion, XcmVersion}, - VersionedInteriorMultiLocation, VersionedMultiLocation, + VersionedInteriorLocation, VersionedLocation, }; /// Encoded XCM blob. We expect the bridge messages pallet to use this blob type for both inbound @@ -65,8 +65,8 @@ impl BridgeId { /// be coordinated at all involved chains (at source and target chains + at bridge hubs). /// Otherwise messages may simply be dropped anywhere on its path to the target chain. pub fn new( - universal_location1: &VersionedInteriorMultiLocation, - universal_location2: &VersionedInteriorMultiLocation, + universal_location1: &VersionedInteriorLocation, + universal_location2: &VersionedInteriorLocation, ) -> Self { // a tricky helper struct that adds required `Ord` support for // `VersionedInteriorMultiLocation` @@ -109,33 +109,33 @@ pub trait LocalXcmChannelManager { /// /// The `with` is guaranteed to be in the same consensus. However, it may point to something /// below the chain level - like the constract or pallet instance, for example. - fn is_congested(with: &MultiLocation) -> bool; + fn is_congested(with: &Location) -> bool; /// Suspend the bridge, opened by given origin. /// /// The `local_origin` is guaranteed to be in the same consensus. However, it may point to /// something below the chain level - like the constract or pallet instance, for example. - fn suspend_bridge(local_origin: &MultiLocation, bridge: BridgeId) -> Result<(), Self::Error>; + fn suspend_bridge(local_origin: &Location, bridge: BridgeId) -> Result<(), Self::Error>; /// Resume the previously suspended bridge, opened by given origin. /// /// The `local_origin` is guaranteed to be in the same consensus. However, it may point to /// something below the chain level - like the constract or pallet instance, for example. - fn resume_bridge(local_origin: &MultiLocation, bridge: BridgeId) -> Result<(), Self::Error>; + fn resume_bridge(local_origin: &Location, bridge: BridgeId) -> Result<(), Self::Error>; } impl LocalXcmChannelManager for () { type Error = (); - fn is_congested(_with: &MultiLocation) -> bool { + fn is_congested(_with: &Location) -> bool { false } - fn suspend_bridge(_local_origin: &MultiLocation, _bridge: BridgeId) -> Result<(), Self::Error> { + fn suspend_bridge(_local_origin: &Location, _bridge: BridgeId) -> Result<(), Self::Error> { Ok(()) } - fn resume_bridge(_local_origin: &MultiLocation, _bridge: BridgeId) -> Result<(), Self::Error> { + fn resume_bridge(_local_origin: &Location, _bridge: BridgeId) -> Result<(), Self::Error> { Ok(()) } } @@ -162,7 +162,7 @@ pub enum BridgeState { #[scale_info(skip_type_params(ThisChain))] pub struct Bridge { /// Relative location of the bridge origin chain. - pub bridge_origin_relative_location: Box, + pub bridge_origin_relative_location: Box, /// Current bridge state. pub state: BridgeState, /// Account with the reserved funds. @@ -175,11 +175,11 @@ pub struct Bridge { #[derive(Clone, RuntimeDebug, PartialEq, Eq)] pub struct BridgeLocations { /// Relative (to this bridge hub) location of this side of the bridge. - pub bridge_origin_relative_location: MultiLocation, + pub bridge_origin_relative_location: Location, /// Universal (unique) location of this side of the bridge. - pub bridge_origin_universal_location: InteriorMultiLocation, + pub bridge_origin_universal_location: InteriorLocation, /// Universal (unique) location of other side of the bridge. - pub bridge_destination_universal_location: InteriorMultiLocation, + pub bridge_destination_universal_location: InteriorLocation, /// An identifier of the dedicated bridge message lane. pub bridge_id: BridgeId, } @@ -221,14 +221,14 @@ pub enum BridgeLocationsError { /// Returns error if `bridge_origin_relative_location` is outside of `here_universal_location` /// local consensus OR if `bridge_destination_universal_location` is not a universal location. pub fn bridge_locations( - here_universal_location: Box, - bridge_origin_relative_location: Box, - bridge_destination_universal_location: Box, + here_universal_location: Box, + bridge_origin_relative_location: Box, + bridge_destination_universal_location: Box, expected_remote_network: NetworkId, ) -> Result, BridgeLocationsError> { fn strip_low_level_junctions( - location: InteriorMultiLocation, - ) -> Result { + location: InteriorLocation, + ) -> Result { let mut junctions = location.into_iter(); let global_consensus = junctions @@ -243,8 +243,8 @@ pub fn bridge_locations( // if there's something other than parachain, let's strip it let maybe_parachain = junctions.next().filter(|junction| matches!(junction, Parachain(_))); Ok(match maybe_parachain { - Some(parachain) => X2(global_consensus, parachain), - None => X1(global_consensus), + Some(parachain) => [global_consensus, parachain].into(), + None => [global_consensus].into(), }) } @@ -264,7 +264,7 @@ pub fn bridge_locations( // get universal location of endpoint, located at this side of the bridge let bridge_origin_universal_location = here_universal_location - .within_global(*bridge_origin_relative_location) + .within_global(*bridge_origin_relative_location.clone()) .map_err(|_| BridgeLocationsError::InvalidBridgeOrigin)?; // strip low-level junctions within universal locations let bridge_origin_universal_location = @@ -277,8 +277,8 @@ pub fn bridge_locations( // is also within the `GlobalConsensus`. So we know that the lane id will be // the same on both ends of the bridge let bridge_id = BridgeId::new( - &bridge_origin_universal_location.into(), - &bridge_destination_universal_location.into(), + &bridge_origin_universal_location.clone().into(), + &bridge_destination_universal_location.clone().into(), ); Ok(Box::new(BridgeLocations { @@ -295,10 +295,10 @@ pub fn bridge_locations( pub struct XcmVersionOfDestAndRemoteBridge( sp_std::marker::PhantomData<(Version, RemoteBridge)>, ); -impl> GetVersion +impl> GetVersion for XcmVersionOfDestAndRemoteBridge { - fn get_version_for(dest: &MultiLocation) -> Option { + fn get_version_for(dest: &Location) -> Option { let dest_version = Version::get_version_for(dest); let bridge_hub_version = Version::get_version_for(&RemoteBridge::get()); @@ -323,26 +323,28 @@ mod tests { const REMOTE_PARACHAIN: u32 = 2000; struct SuccessfulTest { - here_universal_location: InteriorMultiLocation, - bridge_origin_relative_location: MultiLocation, + here_universal_location: InteriorLocation, + bridge_origin_relative_location: Location, - bridge_origin_universal_location: InteriorMultiLocation, - bridge_destination_universal_location: InteriorMultiLocation, + bridge_origin_universal_location: InteriorLocation, + bridge_destination_universal_location: InteriorLocation, } fn run_successful_test(test: SuccessfulTest) -> BridgeLocations { let locations = bridge_locations( Box::new(test.here_universal_location), - Box::new(test.bridge_origin_relative_location), - Box::new(test.bridge_destination_universal_location), + Box::new(test.bridge_origin_relative_location.clone()), + Box::new(test.bridge_destination_universal_location.clone()), REMOTE_NETWORK, ); assert_eq!( locations, Ok(Box::new(BridgeLocations { bridge_origin_relative_location: test.bridge_origin_relative_location, - bridge_origin_universal_location: test.bridge_origin_universal_location, - bridge_destination_universal_location: test.bridge_destination_universal_location, + bridge_origin_universal_location: test.bridge_origin_universal_location.clone(), + bridge_destination_universal_location: test + .bridge_destination_universal_location + .clone(), bridge_id: BridgeId::new( &test.bridge_origin_universal_location.into(), &test.bridge_destination_universal_location.into(), @@ -358,124 +360,126 @@ mod tests { #[test] fn at_relay_from_local_relay_to_remote_relay_works() { run_successful_test(SuccessfulTest { - here_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), bridge_origin_relative_location: Here.into(), - bridge_origin_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), - bridge_destination_universal_location: X1(GlobalConsensus(REMOTE_NETWORK)), + bridge_origin_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), + bridge_destination_universal_location: [GlobalConsensus(REMOTE_NETWORK)].into(), }); } #[test] fn at_relay_from_sibling_parachain_to_remote_relay_works() { run_successful_test(SuccessfulTest { - here_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), - bridge_origin_relative_location: X1(Parachain(SIBLING_PARACHAIN)).into(), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), + bridge_origin_relative_location: [Parachain(SIBLING_PARACHAIN)].into(), - bridge_origin_universal_location: X2( + bridge_origin_universal_location: [ GlobalConsensus(LOCAL_NETWORK), Parachain(SIBLING_PARACHAIN), - ), - bridge_destination_universal_location: X1(GlobalConsensus(REMOTE_NETWORK)), + ] + .into(), + bridge_destination_universal_location: [GlobalConsensus(REMOTE_NETWORK)].into(), }); } #[test] fn at_relay_from_local_relay_to_remote_parachain_works() { run_successful_test(SuccessfulTest { - here_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), bridge_origin_relative_location: Here.into(), - bridge_origin_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), - bridge_destination_universal_location: X2( + bridge_origin_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), + bridge_destination_universal_location: [ GlobalConsensus(REMOTE_NETWORK), Parachain(REMOTE_PARACHAIN), - ), + ] + .into(), }); } #[test] fn at_relay_from_sibling_parachain_to_remote_parachain_works() { run_successful_test(SuccessfulTest { - here_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), - bridge_origin_relative_location: X1(Parachain(SIBLING_PARACHAIN)).into(), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), + bridge_origin_relative_location: [Parachain(SIBLING_PARACHAIN)].into(), - bridge_origin_universal_location: X2( + bridge_origin_universal_location: [ GlobalConsensus(LOCAL_NETWORK), Parachain(SIBLING_PARACHAIN), - ), - bridge_destination_universal_location: X2( + ] + .into(), + bridge_destination_universal_location: [ GlobalConsensus(REMOTE_NETWORK), Parachain(REMOTE_PARACHAIN), - ), + ] + .into(), }); } #[test] fn at_bridge_hub_from_local_relay_to_remote_relay_works() { run_successful_test(SuccessfulTest { - here_universal_location: X2( - GlobalConsensus(LOCAL_NETWORK), - Parachain(LOCAL_BRIDGE_HUB), - ), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK), Parachain(LOCAL_BRIDGE_HUB)] + .into(), bridge_origin_relative_location: Parent.into(), - bridge_origin_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), - bridge_destination_universal_location: X1(GlobalConsensus(REMOTE_NETWORK)), + bridge_origin_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), + bridge_destination_universal_location: [GlobalConsensus(REMOTE_NETWORK)].into(), }); } #[test] fn at_bridge_hub_from_sibling_parachain_to_remote_relay_works() { run_successful_test(SuccessfulTest { - here_universal_location: X2( - GlobalConsensus(LOCAL_NETWORK), - Parachain(LOCAL_BRIDGE_HUB), - ), - bridge_origin_relative_location: ParentThen(X1(Parachain(SIBLING_PARACHAIN))).into(), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK), Parachain(LOCAL_BRIDGE_HUB)] + .into(), + bridge_origin_relative_location: ParentThen([Parachain(SIBLING_PARACHAIN)].into()) + .into(), - bridge_origin_universal_location: X2( + bridge_origin_universal_location: [ GlobalConsensus(LOCAL_NETWORK), Parachain(SIBLING_PARACHAIN), - ), - bridge_destination_universal_location: X1(GlobalConsensus(REMOTE_NETWORK)), + ] + .into(), + bridge_destination_universal_location: [GlobalConsensus(REMOTE_NETWORK)].into(), }); } #[test] fn at_bridge_hub_from_local_relay_to_remote_parachain_works() { run_successful_test(SuccessfulTest { - here_universal_location: X2( - GlobalConsensus(LOCAL_NETWORK), - Parachain(LOCAL_BRIDGE_HUB), - ), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK), Parachain(LOCAL_BRIDGE_HUB)] + .into(), bridge_origin_relative_location: Parent.into(), - bridge_origin_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), - bridge_destination_universal_location: X2( + bridge_origin_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), + bridge_destination_universal_location: [ GlobalConsensus(REMOTE_NETWORK), Parachain(REMOTE_PARACHAIN), - ), + ] + .into(), }); } #[test] fn at_bridge_hub_from_sibling_parachain_to_remote_parachain_works() { run_successful_test(SuccessfulTest { - here_universal_location: X2( - GlobalConsensus(LOCAL_NETWORK), - Parachain(LOCAL_BRIDGE_HUB), - ), - bridge_origin_relative_location: ParentThen(X1(Parachain(SIBLING_PARACHAIN))).into(), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK), Parachain(LOCAL_BRIDGE_HUB)] + .into(), + bridge_origin_relative_location: ParentThen([Parachain(SIBLING_PARACHAIN)].into()) + .into(), - bridge_origin_universal_location: X2( + bridge_origin_universal_location: [ GlobalConsensus(LOCAL_NETWORK), Parachain(SIBLING_PARACHAIN), - ), - bridge_destination_universal_location: X2( + ] + .into(), + bridge_destination_universal_location: [ GlobalConsensus(REMOTE_NETWORK), Parachain(REMOTE_PARACHAIN), - ), + ] + .into(), }); } @@ -484,18 +488,18 @@ mod tests { #[test] fn low_level_junctions_at_bridge_origin_are_stripped() { let locations1 = run_successful_test(SuccessfulTest { - here_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), bridge_origin_relative_location: Here.into(), - bridge_origin_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), - bridge_destination_universal_location: X1(GlobalConsensus(REMOTE_NETWORK)), + bridge_origin_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), + bridge_destination_universal_location: [GlobalConsensus(REMOTE_NETWORK)].into(), }); let locations2 = run_successful_test(SuccessfulTest { - here_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), - bridge_origin_relative_location: X1(PalletInstance(0)).into(), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), + bridge_origin_relative_location: [PalletInstance(0)].into(), - bridge_origin_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), - bridge_destination_universal_location: X1(GlobalConsensus(REMOTE_NETWORK)), + bridge_origin_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), + bridge_destination_universal_location: [GlobalConsensus(REMOTE_NETWORK)].into(), }); assert_eq!(locations1.bridge_id, locations2.bridge_id); @@ -504,18 +508,18 @@ mod tests { #[test] fn low_level_junctions_at_bridge_destination_are_stripped() { let locations1 = run_successful_test(SuccessfulTest { - here_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), bridge_origin_relative_location: Here.into(), - bridge_origin_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), - bridge_destination_universal_location: X1(GlobalConsensus(REMOTE_NETWORK)), + bridge_origin_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), + bridge_destination_universal_location: [GlobalConsensus(REMOTE_NETWORK)].into(), }); let locations2 = run_successful_test(SuccessfulTest { - here_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), + here_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), bridge_origin_relative_location: Here.into(), - bridge_origin_universal_location: X1(GlobalConsensus(LOCAL_NETWORK)), - bridge_destination_universal_location: X1(GlobalConsensus(REMOTE_NETWORK)), + bridge_origin_universal_location: [GlobalConsensus(LOCAL_NETWORK)].into(), + bridge_destination_universal_location: [GlobalConsensus(REMOTE_NETWORK)].into(), }); assert_eq!(locations1.bridge_id, locations2.bridge_id); @@ -527,9 +531,9 @@ mod tests { fn bridge_locations_fails_when_here_is_not_universal_location() { assert_eq!( bridge_locations( - Box::new(X1(Parachain(1000))), + Box::new([Parachain(1000)].into()), Box::new(Here.into()), - Box::new(X1(GlobalConsensus(REMOTE_NETWORK))), + Box::new([GlobalConsensus(REMOTE_NETWORK)].into()), REMOTE_NETWORK, ), Err(BridgeLocationsError::NonUniversalLocation), @@ -540,9 +544,9 @@ mod tests { fn bridge_locations_fails_when_computed_destination_is_not_universal_location() { assert_eq!( bridge_locations( - Box::new(X1(GlobalConsensus(LOCAL_NETWORK))), + Box::new([GlobalConsensus(LOCAL_NETWORK)].into()), Box::new(Here.into()), - Box::new(X1(OnlyChild)), + Box::new([OnlyChild].into()), REMOTE_NETWORK, ), Err(BridgeLocationsError::NonUniversalLocation), @@ -553,9 +557,9 @@ mod tests { fn bridge_locations_fails_when_computed_destination_is_local() { assert_eq!( bridge_locations( - Box::new(X1(GlobalConsensus(LOCAL_NETWORK))), + Box::new([GlobalConsensus(LOCAL_NETWORK)].into()), Box::new(Here.into()), - Box::new(X2(GlobalConsensus(LOCAL_NETWORK), OnlyChild)), + Box::new([GlobalConsensus(LOCAL_NETWORK), OnlyChild].into()), REMOTE_NETWORK, ), Err(BridgeLocationsError::DestinationIsLocal), @@ -566,9 +570,9 @@ mod tests { fn bridge_locations_fails_when_computed_destination_is_unreachable() { assert_eq!( bridge_locations( - Box::new(X1(GlobalConsensus(LOCAL_NETWORK))), + Box::new([GlobalConsensus(LOCAL_NETWORK)].into()), Box::new(Here.into()), - Box::new(X1(GlobalConsensus(UNREACHABLE_NETWORK))), + Box::new([GlobalConsensus(UNREACHABLE_NETWORK)].into()), REMOTE_NETWORK, ), Err(BridgeLocationsError::UnreachableDestination), diff --git a/relays/client-substrate/src/calls.rs b/relays/client-substrate/src/calls.rs index 4e0ae9d99d2..71b9ec84aca 100644 --- a/relays/client-substrate/src/calls.rs +++ b/relays/client-substrate/src/calls.rs @@ -20,7 +20,7 @@ use codec::{Decode, Encode}; use scale_info::TypeInfo; use sp_std::{boxed::Box, vec::Vec}; -use xcm::{VersionedMultiLocation, VersionedXcm}; +use xcm::{VersionedLocation, VersionedXcm}; /// A minimized version of `frame-system::Call` that can be used without a runtime. #[derive(Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)] @@ -55,5 +55,5 @@ pub enum SudoCall { pub enum XcmCall { /// `pallet-xcm::Call::send` #[codec(index = 0)] - send(Box, Box>), + send(Box, Box>), } diff --git a/zombienet/run-tests.sh b/zombienet/run-tests.sh index 4f80e06650e..34487e13261 100755 --- a/zombienet/run-tests.sh +++ b/zombienet/run-tests.sh @@ -1,18 +1,49 @@ #!/bin/bash #set -eu +set -x shopt -s nullglob -trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT +trap "trap - SIGINT SIGTERM EXIT && kill -- -$$" SIGINT SIGTERM EXIT + +# whether to use paths for zombienet+bridges tests container or for local testing +ZOMBIENET_DOCKER_PATHS=0 +while [ $# -ne 0 ] +do + arg="$1" + case "$arg" in + --docker) + ZOMBIENET_DOCKER_PATHS=1 + ;; + esac + shift +done # assuming that we'll be using native provide && all processes will be executing locally # (we need absolute paths here, because they're used when scripts are called by zombienet from tmp folders) export POLKADOT_SDK_FOLDER=`realpath $(dirname "$0")/../..` export BRIDGE_TESTS_FOLDER=$POLKADOT_SDK_FOLDER/bridges/zombienet/tests -export POLKADOT_BINARY_PATH=$POLKADOT_SDK_FOLDER/target/release/polkadot -export POLKADOT_PARACHAIN_BINARY_PATH=$POLKADOT_SDK_FOLDER/target/release/polkadot-parachain -export POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_ROCOCO=$POLKADOT_PARACHAIN_BINARY_PATH -export POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_WESTEND=$POLKADOT_PARACHAIN_BINARY_PATH -export ZOMBIENET_BINARY_PATH=~/local_bridge_testing/bin/zombienet-linux + +# set pathc to binaries +if [ "$ZOMBIENET_DOCKER_PATHS" -eq 1 ]; then + export POLKADOT_BINARY_PATH=/usr/local/bin/polkadot + export POLKADOT_PARACHAIN_BINARY_PATH=/usr/local/bin/polkadot-parachain + export POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_ROCOCO=/usr/local/bin/polkadot-parachain + export POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_WESTEND=/usr/local/bin/polkadot-parachain + + export SUBSTRATE_RELAY_PATH=/usr/local/bin/substrate-relay + export ZOMBIENET_BINARY_PATH=/usr/local/bin/zombie +else + export POLKADOT_BINARY_PATH=$POLKADOT_SDK_FOLDER/target/release/polkadot + export POLKADOT_PARACHAIN_BINARY_PATH=$POLKADOT_SDK_FOLDER/target/release/polkadot-parachain + export POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_ROCOCO=$POLKADOT_PARACHAIN_BINARY_PATH + export POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_WESTEND=$POLKADOT_PARACHAIN_BINARY_PATH + + export SUBSTRATE_RELAY_PATH=~/local_bridge_testing/bin/substrate-relay + export ZOMBIENET_BINARY_PATH=~/local_bridge_testing/bin/zombienet-linux +fi + +# check if `wait` supports -p flag +if [ `printf "$BASH_VERSION\n5.1" | sort -V | head -n 1` = "5.1" ]; then IS_BASH_5_1=1; else IS_BASH_5_1=0; fi # check if `wait` supports -p flag if [ `printf "$BASH_VERSION\n5.1" | sort -V | head -n 1` = "5.1" ]; then IS_BASH_5_1=1; else IS_BASH_5_1=0; fi @@ -21,13 +52,17 @@ if [ `printf "$BASH_VERSION\n5.1" | sort -V | head -n 1` = "5.1" ]; then IS_BASH export LANE_ID="00000002" # tests configuration -ALL_TESTS_FOLDER=`mktemp -d` +ALL_TESTS_FOLDER=`mktemp -d /tmp/bridges-zombienet-tests.XXXXX` function start_coproc() { local command=$1 local name=$2 local coproc_log=`mktemp -p $TEST_FOLDER` coproc COPROC { + # otherwise zombienet uses some hardcoded paths + unset RUN_IN_CONTAINER + unset ZOMBIENET_IMAGE + $command >$coproc_log 2>&1 } TEST_COPROCS[$COPROC_PID, 0]=$name @@ -90,6 +125,7 @@ do echo "=== Shutting down. Log of failed process below ===" echo "=====================================================================" echo $coproc_stdout + exit 1 fi diff --git a/zombienet/tests/0001-asset-transfer-works-rococo-to-westend.zndsl b/zombienet/tests/0001-asset-transfer-works-rococo-to-westend.zndsl index a61f1e039f4..fe7dc26b001 100644 --- a/zombienet/tests/0001-asset-transfer-works-rococo-to-westend.zndsl +++ b/zombienet/tests/0001-asset-transfer-works-rococo-to-westend.zndsl @@ -14,7 +14,7 @@ bridge-hub-westend-collator1: js-script ../helpers/best-finalized-header-at-brid # step 4: send WND to //Alice on Rococo AH # (that's a required part of a sibling 0001-asset-transfer-works-westend-to-rococo.zndsl test) -asset-hub-westend-collator1: run ../scripts/invoke-script.sh with "reserve-transfer-assets-from-asset-hub-westend-local" within 60 seconds +asset-hub-westend-collator1: run ../scripts/invoke-script.sh with "reserve-transfer-assets-from-asset-hub-westend-local" within 120 seconds # step 5: elsewhere Rococo has sent ROC to //Alice - let's wait for it asset-hub-westend-collator1: js-script ../helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,0,Rococo" within 600 seconds @@ -24,7 +24,7 @@ bridge-hub-westend-collator1: js-script ../helpers/relayer-rewards.js with "5FLS bridge-hub-westend-collator1: js-script ../helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x6268726F,ThisChain,0" within 300 seconds # step 7: send wROC back to Alice at Rococo AH -asset-hub-westend-collator1: run ../scripts/invoke-script.sh with "withdraw-reserve-assets-from-asset-hub-westend-local" within 60 seconds +asset-hub-westend-collator1: run ../scripts/invoke-script.sh with "withdraw-reserve-assets-from-asset-hub-westend-local" within 120 seconds # step 8: elsewhere Rococo has sent wWND to //Alice - let's wait for it # (we wait until //Alice account increases here - there are no other transactionc that may increase it) diff --git a/zombienet/tests/0001-asset-transfer-works-westend-to-rococo.zndsl b/zombienet/tests/0001-asset-transfer-works-westend-to-rococo.zndsl index 2da5b7a772a..610b4ca7acd 100644 --- a/zombienet/tests/0001-asset-transfer-works-westend-to-rococo.zndsl +++ b/zombienet/tests/0001-asset-transfer-works-westend-to-rococo.zndsl @@ -14,7 +14,7 @@ bridge-hub-rococo-collator1: js-script ../helpers/best-finalized-header-at-bridg # step 4: send ROC to //Alice on Westend AH # (that's a required part of a sibling 0001-asset-transfer-works-rococo-to-westend.zndsl test) -asset-hub-rococo-collator1: run ../scripts/invoke-script.sh with "reserve-transfer-assets-from-asset-hub-rococo-local" within 60 seconds +asset-hub-rococo-collator1: run ../scripts/invoke-script.sh with "reserve-transfer-assets-from-asset-hub-rococo-local" within 120 seconds # step 5: elsewhere Westend has sent WND to //Alice - let's wait for it asset-hub-rococo-collator1: js-script ../helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,0,Westend" within 600 seconds @@ -24,7 +24,7 @@ bridge-hub-rococo-collator1: js-script ../helpers/relayer-rewards.js with "5FLSi bridge-hub-rococo-collator1: js-script ../helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x62687764,ThisChain,0" within 300 seconds # step 7: send wWND back to Alice at Westend AH -asset-hub-rococo-collator1: run ../scripts/invoke-script.sh with "withdraw-reserve-assets-from-asset-hub-rococo-local" within 60 seconds +asset-hub-rococo-collator1: run ../scripts/invoke-script.sh with "withdraw-reserve-assets-from-asset-hub-rococo-local" within 120 seconds # step 8: elsewhere Westend has sent wROC to //Alice - let's wait for it # (we wait until //Alice account increases here - there are no other transactionc that may increase it)