diff --git a/.config/zepter.yaml b/.config/zepter.yaml
index 8bd03268e9f9f..a36cac2a80235 100644
--- a/.config/zepter.yaml
+++ b/.config/zepter.yaml
@@ -2,7 +2,7 @@ version:
format: 1
# Minimum version of the binary that is expected to work. This is just for printing a nice error
# message when someone tries to use an older version.
- binary: 0.13.2
+ binary: 1.78.0
# The examples in this file assume crate `A` to have a dependency on crate `B`.
workflows:
@@ -19,6 +19,8 @@ workflows:
'--left-side-outside-workspace=ignore',
# Some features imply that they activate a specific dependency as non-optional. Otherwise the default behaviour with a `?` is used.
'--feature-enables-dep=try-runtime:frame-try-runtime,runtime-benchmarks:frame-benchmarking',
+ # Do not propagate std feature from sp-wasm-interface down to wasmtime dependency.
+ '--ignore-missing-propagate=sp-wasm-interface/std:wasmtime/std',
# Auxillary flags:
'--offline',
'--locked',
diff --git a/.github/scripts/release/release_lib.sh b/.github/scripts/release/release_lib.sh
index c0dfd306c84ce..f4ac971824c48 100644
--- a/.github/scripts/release/release_lib.sh
+++ b/.github/scripts/release/release_lib.sh
@@ -189,6 +189,12 @@ function get_s3_url_base() {
frame-omni-bencher)
printf "releases.parity.io/frame-omni-bencher"
;;
+ substrate-node)
+ printf "releases.parity.io/substrate-node"
+ ;;
+ eth-rpc)
+ printf "releases.parity.io/eth-rpc"
+ ;;
*)
printf "UNSUPPORTED BINARY $name"
exit 1
diff --git a/.github/workflows/checks-quick.yml b/.github/workflows/checks-quick.yml
index 9cc15096f30b5..0bcdded9609b5 100644
--- a/.github/workflows/checks-quick.yml
+++ b/.github/workflows/checks-quick.yml
@@ -60,6 +60,9 @@ jobs:
run: |
# Pull all dependencies eagerly:
time cargo metadata --format-version=1 --locked > /dev/null
+ - name: Install newer Zepter
+ run: |
+ cargo install zepter@1.78.2 --locked -q
- name: run zepter
run: |
zepter --version
@@ -138,6 +141,9 @@ jobs:
- uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.0 (22. Sep 2023)
- name: install python deps
run: pip3 install "cargo-workspace>=1.2.4" toml
+ - name: Install newer Zepter
+ run: |
+ cargo install zepter@1.78.2 --locked -q && zepter --version
- name: check umbrella correctness
run: |
# Fixes "detected dubious ownership" error in the ci
diff --git a/.github/workflows/release-20_build-rc.yml b/.github/workflows/release-20_build-rc.yml
index 6b4c67b832685..77e55a44070d2 100644
--- a/.github/workflows/release-20_build-rc.yml
+++ b/.github/workflows/release-20_build-rc.yml
@@ -13,6 +13,8 @@ on:
- polkadot-omni-node
- frame-omni-bencher
- chain-spec-builder
+ - substrate-node
+ - eth-rpc
- all
release_tag:
@@ -155,6 +157,50 @@ jobs:
attestations: write
contents: read
+ build-substrate-node-binary:
+ needs: [validate-inputs]
+ if: ${{ inputs.binary == 'substrate-node' || inputs.binary == 'all' }}
+ uses: "./.github/workflows/release-reusable-rc-build.yml"
+ with:
+ binary: '["substrate-node"]'
+ package: staging-node-cli
+ release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
+ target: x86_64-unknown-linux-gnu
+ secrets:
+ PGP_KMS_KEY: ${{ secrets.PGP_KMS_KEY }}
+ PGP_KMS_HASH: ${{ secrets.PGP_KMS_HASH }}
+ AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
+ AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
+ AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
+ permissions:
+ id-token: write
+ attestations: write
+ contents: read
+
+ build-eth-rpc-binary:
+ needs: [validate-inputs]
+ if: ${{ inputs.binary == 'eth-rpc' || inputs.binary == 'all' }}
+ uses: "./.github/workflows/release-reusable-rc-build.yml"
+ with:
+ binary: '["eth-rpc"]'
+ package: pallet-revive-eth-rpc
+ release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
+ target: x86_64-unknown-linux-gnu
+ secrets:
+ PGP_KMS_KEY: ${{ secrets.PGP_KMS_KEY }}
+ PGP_KMS_HASH: ${{ secrets.PGP_KMS_HASH }}
+ AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
+ AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
+ AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
+ permissions:
+ id-token: write
+ attestations: write
+ contents: read
+
build-polkadot-macos-binary:
needs: [validate-inputs]
if: ${{ inputs.binary == 'polkadot' || inputs.binary == 'all' }}
@@ -265,3 +311,47 @@ jobs:
id-token: write
attestations: write
contents: read
+
+ build-substrate-node-macos-binary:
+ needs: [validate-inputs]
+ if: ${{ inputs.binary == 'substrate-node' || inputs.binary == 'all' }}
+ uses: "./.github/workflows/release-reusable-rc-build.yml"
+ with:
+ binary: '["substrate-node"]'
+ package: staging-node-cli
+ release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
+ target: aarch64-apple-darwin
+ secrets:
+ PGP_KMS_KEY: ${{ secrets.PGP_KMS_KEY }}
+ PGP_KMS_HASH: ${{ secrets.PGP_KMS_HASH }}
+ AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
+ AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
+ AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
+ permissions:
+ id-token: write
+ attestations: write
+ contents: read
+
+ build-eth-rpc-macos-binary:
+ needs: [validate-inputs]
+ if: ${{ inputs.binary == 'eth-rpc' || inputs.binary == 'all' }}
+ uses: "./.github/workflows/release-reusable-rc-build.yml"
+ with:
+ binary: '["eth-rpc"]'
+ package: pallet-revive-eth-rpc
+ release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
+ target: aarch64-apple-darwin
+ secrets:
+ PGP_KMS_KEY: ${{ secrets.PGP_KMS_KEY }}
+ PGP_KMS_HASH: ${{ secrets.PGP_KMS_HASH }}
+ AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
+ AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
+ AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
+ permissions:
+ id-token: write
+ attestations: write
+ contents: read
diff --git a/.github/workflows/release-99_notif-published.yml b/.github/workflows/release-99_notif-published.yml
index b5b2ed38e845e..f609c30a4e0d8 100644
--- a/.github/workflows/release-99_notif-published.yml
+++ b/.github/workflows/release-99_notif-published.yml
@@ -12,7 +12,7 @@ jobs:
strategy:
matrix:
channel:
- # Internal
+ # Internal
- name: "RelEng: Polkadot Release Coordination"
room: '!cqAmzdIcbOFwrdrubV:parity.io'
pre-release: true
@@ -22,7 +22,7 @@ jobs:
room: '!EoIhaKfGPmFOBrNSHT:web3.foundation'
pre-release: true
- # Public
+ # Public
- name: '#polkadotvalidatorlounge:web3.foundation'
room: '!NZrbtteFeqYKCUGQtr:matrix.parity.io'
pre-releases: false
@@ -34,6 +34,20 @@ jobs:
pre-releases: false
steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.release.tag_name }}
+
+ - name: Extract node version
+ id: extract_version
+ run: |
+ . ./.github/scripts/common/lib.sh
+
+ version=v$(get_polkadot_node_version_from_code)
+ echo "Extracted node version: $version"
+ echo "node_version=$version" >> $GITHUB_OUTPUT
+
- name: Matrix notification to ${{ matrix.channel.name }}
if: github.event.release.prerelease == false || matrix.channel.pre-release
uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
@@ -45,6 +59,7 @@ jobs:
@room
A new node release has been ${{github.event.action}} in **${{github.event.repository.full_name}}:**
- Release version: [${{github.event.release.tag_name}}](${{github.event.release.html_url}})
+ Release version: [${{github.event.release.tag_name}}](${{github.event.release.html_url}})
+ Node version: ${{ steps.extract_version.outputs.node_version }}
-----
diff --git a/.github/workflows/release-reusable-rc-build.yml b/.github/workflows/release-reusable-rc-build.yml
index 15b37f36a0829..edd32920361dc 100644
--- a/.github/workflows/release-reusable-rc-build.yml
+++ b/.github/workflows/release-reusable-rc-build.yml
@@ -373,6 +373,32 @@ jobs:
AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
+ upload-substrate-node-artifacts-to-s3:
+ if: ${{ inputs.package == 'staging-node-cli' && inputs.target == 'x86_64-unknown-linux-gnu' }}
+ needs: [build-rc]
+ uses: ./.github/workflows/release-reusable-s3-upload.yml
+ with:
+ package: substrate-node
+ release_tag: ${{ inputs.release_tag }}
+ target: ${{ inputs.target }}
+ secrets:
+ AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
+ AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
+ AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
+
+ upload-eth-rpc-artifacts-to-s3:
+ if: ${{ inputs.package == 'pallet-revive-eth-rpc' && inputs.target == 'x86_64-unknown-linux-gnu' }}
+ needs: [build-rc]
+ uses: ./.github/workflows/release-reusable-s3-upload.yml
+ with:
+ package: eth-rpc
+ release_tag: ${{ inputs.release_tag }}
+ target: ${{ inputs.target }}
+ secrets:
+ AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
+ AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
+ AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
+
upload-polkadot-macos-artifacts-to-s3:
if: ${{ inputs.package == 'polkadot' && inputs.target == 'aarch64-apple-darwin' }}
# TODO: add and use a `build-polkadot-homebrew-package` which packs all `polkadot` binaries:
@@ -465,3 +491,29 @@ jobs:
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
+
+ upload-substrate-node-macos-artifacts-to-s3:
+ if: ${{ inputs.package == 'staging-node-cli' && inputs.target == 'aarch64-apple-darwin' }}
+ needs: [build-macos-rc]
+ uses: ./.github/workflows/release-reusable-s3-upload.yml
+ with:
+ package: substrate-node
+ release_tag: ${{ inputs.release_tag }}
+ target: ${{ inputs.target }}
+ secrets:
+ AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
+ AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
+ AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
+
+ upload-eth-rpc-macos-artifacts-to-s3:
+ if: ${{ inputs.package == 'pallet-revive-eth-rpc' && inputs.target == 'aarch64-apple-darwin' }}
+ needs: [build-macos-rc]
+ uses: ./.github/workflows/release-reusable-s3-upload.yml
+ with:
+ package: eth-rpc
+ release_tag: ${{ inputs.release_tag }}
+ target: ${{ inputs.target }}
+ secrets:
+ AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
+ AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
+ AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
diff --git a/.gitignore b/.gitignore
index 4fe0701fde684..b59ece2791d17 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@
.local
.lycheecache
.vscode
+.zed
.wasm-binaries
*.adoc
*.bin
@@ -40,5 +41,4 @@ runtime/wasm/target/
substrate.code-workspace
target/
*.scale
-justfile
rustc-ice-*
diff --git a/Cargo.lock b/Cargo.lock
index 07a7625d41c22..79a9ab4a54943 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -14,20 +14,20 @@ dependencies = [
[[package]]
name = "addr2line"
-version = "0.19.0"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
dependencies = [
- "gimli 0.27.3",
+ "gimli 0.28.0",
]
[[package]]
name = "addr2line"
-version = "0.21.0"
+version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
dependencies = [
- "gimli 0.28.0",
+ "gimli 0.31.1",
]
[[package]]
@@ -101,9 +101,9 @@ dependencies = [
[[package]]
name = "allocator-api2"
-version = "0.2.16"
+version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
[[package]]
name = "alloy-core"
@@ -159,7 +159,7 @@ dependencies = [
"derive_more 2.0.1",
"foldhash",
"hashbrown 0.15.3",
- "indexmap 2.9.0",
+ "indexmap",
"itoa",
"k256",
"keccak-asm",
@@ -207,7 +207,7 @@ dependencies = [
"alloy-sol-macro-input",
"const-hex",
"heck 0.5.0",
- "indexmap 2.9.0",
+ "indexmap",
"proc-macro-error2",
"proc-macro2 1.0.95",
"quote 1.0.40",
@@ -331,9 +331,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.86"
+version = "1.0.98"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
+checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
[[package]]
name = "approx"
@@ -360,9 +360,9 @@ dependencies = [
[[package]]
name = "arbitrary"
-version = "1.3.2"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
+checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223"
dependencies = [
"derive_arbitrary",
]
@@ -2309,7 +2309,6 @@ dependencies = [
"hash-db",
"hex-literal",
"impl-trait-for-tuples",
- "log",
"num-traits",
"parity-scale-codec",
"scale-info",
@@ -2320,6 +2319,7 @@ dependencies = [
"sp-state-machine",
"sp-std 14.0.0",
"sp-trie",
+ "tracing",
"trie-db",
]
@@ -2770,7 +2770,6 @@ dependencies = [
"bp-test-utils",
"frame-support",
"frame-system",
- "log",
"pallet-balances",
"pallet-bridge-grandpa",
"pallet-bridge-messages",
@@ -2788,6 +2787,7 @@ dependencies = [
"sp-weights",
"staging-xcm",
"static_assertions",
+ "tracing",
"tuplex",
]
@@ -2823,9 +2823,12 @@ dependencies = [
[[package]]
name = "bumpalo"
-version = "3.13.0"
+version = "3.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
+dependencies = [
+ "allocator-api2",
+]
[[package]]
name = "byte-slice-cast"
@@ -3219,6 +3222,15 @@ dependencies = [
"wasm-bindgen",
]
+[[package]]
+name = "cobs"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1"
+dependencies = [
+ "thiserror 2.0.12",
+]
+
[[package]]
name = "codespan-reporting"
version = "0.11.1"
@@ -3246,6 +3258,7 @@ dependencies = [
name = "collectives-westend-integration-tests"
version = "1.0.0"
dependencies = [
+ "collectives-westend-runtime",
"cumulus-pallet-parachain-system",
"cumulus-pallet-xcmp-queue",
"emulated-integration-tests-common",
@@ -3753,15 +3766,6 @@ dependencies = [
"xcm-runtime-apis",
]
-[[package]]
-name = "cpp_demangle"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f"
-dependencies = [
- "cfg-if",
-]
-
[[package]]
name = "cpp_demangle"
version = "0.4.3"
@@ -3790,64 +3794,113 @@ dependencies = [
"libc",
]
+[[package]]
+name = "cranelift-assembler-x64"
+version = "0.122.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ae7b60ec3fd7162427d3b3801520a1908bef7c035b52983cd3ca11b8e7deb51"
+dependencies = [
+ "cranelift-assembler-x64-meta",
+]
+
+[[package]]
+name = "cranelift-assembler-x64-meta"
+version = "0.122.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6511c200fed36452697b4b6b161eae57d917a2044e6333b1c1389ed63ccadeee"
+dependencies = [
+ "cranelift-srcgen",
+]
+
[[package]]
name = "cranelift-bforest"
-version = "0.95.1"
+version = "0.122.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1277fbfa94bc82c8ec4af2ded3e639d49ca5f7f3c7eeab2c66accd135ece4e70"
+checksum = "5f7086a645aa58bae979312f64e3029ac760ac1b577f5cd2417844842a2ca07f"
dependencies = [
"cranelift-entity",
]
+[[package]]
+name = "cranelift-bitset"
+version = "0.122.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5225b4dec45f3f3dbf383f12560fac5ce8d780f399893607e21406e12e77f491"
+dependencies = [
+ "serde",
+ "serde_derive",
+]
+
[[package]]
name = "cranelift-codegen"
-version = "0.95.1"
+version = "0.122.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6e8c31ad3b2270e9aeec38723888fe1b0ace3bea2b06b3f749ccf46661d3220"
+checksum = "858fb3331e53492a95979378d6df5208dd1d0d315f19c052be8115f4efc888e0"
dependencies = [
"bumpalo",
+ "cranelift-assembler-x64",
"cranelift-bforest",
+ "cranelift-bitset",
"cranelift-codegen-meta",
"cranelift-codegen-shared",
+ "cranelift-control",
"cranelift-entity",
"cranelift-isle",
- "gimli 0.27.3",
- "hashbrown 0.13.2",
+ "gimli 0.31.1",
+ "hashbrown 0.15.3",
"log",
- "regalloc2 0.6.1",
+ "pulley-interpreter",
+ "regalloc2 0.12.2",
+ "rustc-hash 2.1.1",
+ "serde",
"smallvec",
"target-lexicon",
+ "wasmtime-internal-math",
]
[[package]]
name = "cranelift-codegen-meta"
-version = "0.95.1"
+version = "0.122.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8ac5ac30d62b2d66f12651f6b606dbdfd9c2cfd0908de6b387560a277c5c9da"
+checksum = "456715b9d5f12398f156d5081096e7b5d039f01b9ecc49790a011c8e43e65b5f"
dependencies = [
+ "cranelift-assembler-x64-meta",
"cranelift-codegen-shared",
+ "cranelift-srcgen",
+ "pulley-interpreter",
]
[[package]]
name = "cranelift-codegen-shared"
-version = "0.95.1"
+version = "0.122.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd82b8b376247834b59ed9bdc0ddeb50f517452827d4a11bccf5937b213748b8"
+checksum = "0306041099499833f167a0ddb707e1e54100f1a84eab5631bc3dad249708f482"
+
+[[package]]
+name = "cranelift-control"
+version = "0.122.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1672945e1f9afc2297f49c92623f5eabc64398e2cb0d824f8f72a2db2df5af23"
+dependencies = [
+ "arbitrary",
+]
[[package]]
name = "cranelift-entity"
-version = "0.95.1"
+version = "0.122.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0"
+checksum = "aa3cd55eb5f3825b9ae5de1530887907360a6334caccdc124c52f6d75246c98a"
dependencies = [
+ "cranelift-bitset",
"serde",
+ "serde_derive",
]
[[package]]
name = "cranelift-frontend"
-version = "0.95.1"
+version = "0.122.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a25d9d0a0ae3079c463c34115ec59507b4707175454f0eee0891e83e30e82d"
+checksum = "781f9905f8139b8de22987b66b522b416fe63eb76d823f0b3a8c02c8fd9500c7"
dependencies = [
"cranelift-codegen",
"log",
@@ -3857,15 +3910,15 @@ dependencies = [
[[package]]
name = "cranelift-isle"
-version = "0.95.1"
+version = "0.122.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80de6a7d0486e4acbd5f9f87ec49912bf4c8fb6aea00087b989685460d4469ba"
+checksum = "a05337a2b02c3df00b4dd9a263a027a07b3dff49f61f7da3b5d195c21eaa633d"
[[package]]
name = "cranelift-native"
-version = "0.95.1"
+version = "0.122.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb6b03e0e03801c4b3fd8ce0758a94750c07a44e7944cc0ffbf0d3f2e7c79b00"
+checksum = "2eee7a496dd66380082c9c5b6f2d5fa149cec0ec383feec5caf079ca2b3671c2"
dependencies = [
"cranelift-codegen",
"libc",
@@ -3873,20 +3926,10 @@ dependencies = [
]
[[package]]
-name = "cranelift-wasm"
-version = "0.95.1"
+name = "cranelift-srcgen"
+version = "0.122.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff3220489a3d928ad91e59dd7aeaa8b3de18afb554a6211213673a71c90737ac"
-dependencies = [
- "cranelift-codegen",
- "cranelift-entity",
- "cranelift-frontend",
- "itertools 0.10.5",
- "log",
- "smallvec",
- "wasmparser",
- "wasmtime-types",
-]
+checksum = "b530783809a55cb68d070e0de60cfbb3db0dc94c8850dd5725411422bedcf6bb"
[[package]]
name = "crc"
@@ -3985,7 +4028,7 @@ dependencies = [
"autocfg",
"cfg-if",
"crossbeam-utils",
- "memoffset 0.9.0",
+ "memoffset",
"scopeguard",
]
@@ -4251,6 +4294,11 @@ dependencies = [
"anyhow",
"async-trait",
"cumulus-primitives-parachain-inherent",
+ "sc-basic-authorship",
+ "sc-block-builder",
+ "sc-transaction-pool-api",
+ "sp-api",
+ "sp-blockchain",
"sp-consensus",
"sp-inherents",
"sp-runtime",
@@ -4474,7 +4522,9 @@ dependencies = [
"polkadot-runtime-parachains",
"rand 0.8.5",
"rstest",
+ "sc-consensus",
"scale-info",
+ "sp-api",
"sp-consensus-babe",
"sp-consensus-slots",
"sp-core 28.0.0",
@@ -5337,9 +5387,9 @@ dependencies = [
[[package]]
name = "derive_arbitrary"
-version = "1.3.2"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
+checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800"
dependencies = [
"proc-macro2 1.0.95",
"quote 1.0.40",
@@ -5549,7 +5599,7 @@ dependencies = [
"regex",
"syn 2.0.98",
"termcolor",
- "toml 0.8.19",
+ "toml",
"walkdir",
]
@@ -5725,6 +5775,18 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "embedded-io"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced"
+
+[[package]]
+name = "embedded-io"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d"
+
[[package]]
name = "emulated-integration-tests-common"
version = "3.0.0"
@@ -5847,9 +5909,9 @@ dependencies = [
[[package]]
name = "env_filter"
-version = "0.1.0"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
+checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0"
dependencies = [
"log",
"regex",
@@ -6077,12 +6139,6 @@ dependencies = [
"winapi",
]
-[[package]]
-name = "fallible-iterator"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
-
[[package]]
name = "fallible-iterator"
version = "0.3.0"
@@ -6154,7 +6210,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb42427514b063d97ce21d5199f36c0c307d981434a6be32582bc79fe5bd2303"
dependencies = [
"expander",
- "indexmap 2.9.0",
+ "indexmap",
"proc-macro-crate 3.1.0",
"proc-macro2 1.0.95",
"quote 1.0.40",
@@ -6213,16 +6269,6 @@ dependencies = [
"winapi",
]
-[[package]]
-name = "file-per-thread-logger"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866"
-dependencies = [
- "env_logger 0.10.1",
- "log",
-]
-
[[package]]
name = "filetime"
version = "0.2.22"
@@ -6444,6 +6490,7 @@ dependencies = [
"cumulus-client-parachain-inherent",
"cumulus-primitives-proof-size-hostfunction",
"cumulus-test-runtime",
+ "env_filter",
"frame-benchmarking",
"frame-storage-access-test-runtime",
"frame-support",
@@ -6482,6 +6529,7 @@ dependencies = [
"sp-io",
"sp-keystore",
"sp-runtime",
+ "sp-runtime-interface 24.0.0",
"sp-state-machine",
"sp-storage 19.0.0",
"sp-timestamp",
@@ -7128,15 +7176,6 @@ dependencies = [
"slab",
]
-[[package]]
-name = "fxhash"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
-dependencies = [
- "byteorder",
-]
-
[[package]]
name = "generate-bags"
version = "28.0.0"
@@ -7236,17 +7275,6 @@ dependencies = [
"polyval",
]
-[[package]]
-name = "gimli"
-version = "0.27.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
-dependencies = [
- "fallible-iterator 0.2.0",
- "indexmap 1.9.3",
- "stable_deref_trait",
-]
-
[[package]]
name = "gimli"
version = "0.28.0"
@@ -7259,7 +7287,8 @@ version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
dependencies = [
- "fallible-iterator 0.3.0",
+ "fallible-iterator",
+ "indexmap",
"stable_deref_trait",
]
@@ -7441,7 +7470,7 @@ dependencies = [
"futures-sink",
"futures-util",
"http 0.2.9",
- "indexmap 2.9.0",
+ "indexmap",
"slab",
"tokio",
"tokio-util",
@@ -7460,7 +7489,7 @@ dependencies = [
"futures-core",
"futures-sink",
"http 1.1.0",
- "indexmap 2.9.0",
+ "indexmap",
"slab",
"tokio",
"tokio-util",
@@ -7502,12 +7531,6 @@ dependencies = [
"crunchy",
]
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
[[package]]
name = "hashbrown"
version = "0.13.2"
@@ -8296,17 +8319,6 @@ version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
-[[package]]
-name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
- "serde",
-]
-
[[package]]
name = "indexmap"
version = "2.9.0"
@@ -8482,6 +8494,15 @@ dependencies = [
"either",
]
+[[package]]
+name = "itertools"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
+dependencies = [
+ "either",
+]
+
[[package]]
name = "itoa"
version = "1.0.9"
@@ -9029,6 +9050,12 @@ version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
+[[package]]
+name = "leb128fmt"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
+
[[package]]
name = "libc"
version = "0.2.172"
@@ -9647,12 +9674,6 @@ dependencies = [
"nalgebra",
]
-[[package]]
-name = "linux-raw-sys"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
-
[[package]]
name = "linux-raw-sys"
version = "0.3.8"
@@ -9665,6 +9686,12 @@ version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+[[package]]
+name = "linux-raw-sys"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
+
[[package]]
name = "lioness"
version = "0.1.2"
@@ -9715,7 +9742,7 @@ dependencies = [
"futures",
"futures-timer",
"hickory-resolver 0.25.2",
- "indexmap 2.9.0",
+ "indexmap",
"libc",
"mockall",
"multiaddr 0.17.1",
@@ -9825,15 +9852,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "mach"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa"
-dependencies = [
- "libc",
-]
-
[[package]]
name = "mach2"
version = "0.4.2"
@@ -9976,15 +9994,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "memoffset"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
-dependencies = [
- "autocfg",
-]
-
[[package]]
name = "memoffset"
version = "0.9.0"
@@ -10848,18 +10857,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
-[[package]]
-name = "object"
-version = "0.30.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385"
-dependencies = [
- "crc32fast",
- "hashbrown 0.13.2",
- "indexmap 1.9.3",
- "memchr",
-]
-
[[package]]
name = "object"
version = "0.32.2"
@@ -10871,10 +10868,13 @@ dependencies = [
[[package]]
name = "object"
-version = "0.36.1"
+version = "0.36.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce"
+checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
dependencies = [
+ "crc32fast",
+ "hashbrown 0.15.3",
+ "indexmap",
"memchr",
]
@@ -10998,7 +10998,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43dfaf083aef571385fccfdc3a2f8ede8d0a1863160455d4f2b014d8f7d04a3f"
dependencies = [
"expander",
- "indexmap 2.9.0",
+ "indexmap",
"itertools 0.11.0",
"petgraph",
"proc-macro-crate 3.1.0",
@@ -11491,7 +11491,6 @@ dependencies = [
"bp-test-utils",
"frame-support",
"frame-system",
- "log",
"pallet-beefy-mmr",
"pallet-mmr",
"parity-scale-codec",
@@ -11504,6 +11503,7 @@ dependencies = [
"sp-io",
"sp-runtime",
"sp-std 14.0.0",
+ "tracing",
]
[[package]]
@@ -11537,7 +11537,6 @@ dependencies = [
"frame-benchmarking",
"frame-support",
"frame-system",
- "log",
"pallet-balances",
"pallet-bridge-grandpa",
"parity-scale-codec",
@@ -11547,6 +11546,7 @@ dependencies = [
"sp-runtime",
"sp-std 14.0.0",
"sp-trie",
+ "tracing",
]
[[package]]
@@ -11561,7 +11561,6 @@ dependencies = [
"frame-benchmarking",
"frame-support",
"frame-system",
- "log",
"pallet-bridge-grandpa",
"parity-scale-codec",
"scale-info",
@@ -11569,6 +11568,7 @@ dependencies = [
"sp-io",
"sp-runtime",
"sp-std 14.0.0",
+ "tracing",
]
[[package]]
@@ -11642,7 +11642,6 @@ dependencies = [
name = "pallet-collator-selection"
version = "9.0.0"
dependencies = [
- "cumulus-pallet-session-benchmarking",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -11743,7 +11742,7 @@ dependencies = [
"parity-wasm",
"sp-runtime",
"tempfile",
- "toml 0.8.19",
+ "toml",
"twox-hash",
]
@@ -12941,7 +12940,7 @@ dependencies = [
"polkavm-linker",
"sp-core 28.0.0",
"sp-io",
- "toml 0.8.19",
+ "toml",
]
[[package]]
@@ -13176,6 +13175,8 @@ dependencies = [
name = "pallet-staking-async"
version = "0.1.0"
dependencies = [
+ "anyhow",
+ "env_logger 0.11.3",
"frame-benchmarking",
"frame-election-provider-support",
"frame-support",
@@ -13223,6 +13224,7 @@ dependencies = [
name = "pallet-staking-async-parachain-runtime"
version = "0.15.0"
dependencies = [
+ "asset-test-utils",
"assets-common",
"bp-asset-hub-rococo",
"bp-bridge-hub-rococo",
@@ -13240,6 +13242,7 @@ dependencies = [
"frame-election-provider-support",
"frame-executive",
"frame-metadata-hash-extension",
+ "frame-remote-externalities",
"frame-support",
"frame-system",
"frame-system-benchmarking",
@@ -13257,6 +13260,7 @@ dependencies = [
"pallet-aura",
"pallet-authorship",
"pallet-bags-list",
+ "pallet-bags-list-remote-tests",
"pallet-balances",
"pallet-collator-selection",
"pallet-conviction-voting",
@@ -13277,6 +13281,7 @@ dependencies = [
"pallet-scheduler",
"pallet-session",
"pallet-staking-async",
+ "pallet-staking-async-preset-store",
"pallet-staking-async-rc-client",
"pallet-staking-async-runtime-api",
"pallet-state-trie-migration",
@@ -13293,6 +13298,7 @@ dependencies = [
"pallet-xcm-benchmarks",
"pallet-xcm-bridge-hub-router",
"parachains-common",
+ "parachains-runtimes-test-utils",
"parity-scale-codec",
"polkadot-parachain-primitives",
"polkadot-runtime-common",
@@ -13306,6 +13312,7 @@ dependencies = [
"sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
+ "sp-io",
"sp-keyring",
"sp-npos-elections",
"sp-offchain",
@@ -13323,10 +13330,20 @@ dependencies = [
"staging-xcm-executor",
"substrate-wasm-builder",
"testnet-parachains-constants",
+ "tokio",
"westend-runtime-constants",
"xcm-runtime-apis",
]
+[[package]]
+name = "pallet-staking-async-preset-store"
+version = "0.1.0"
+dependencies = [
+ "parity-scale-codec",
+ "polkadot-sdk-frame",
+ "scale-info",
+]
+
[[package]]
name = "pallet-staking-async-rc-client"
version = "0.1.0"
@@ -13388,12 +13405,14 @@ dependencies = [
"pallet-proxy",
"pallet-recovery",
"pallet-referenda",
+ "pallet-root-offences",
"pallet-root-testing",
"pallet-scheduler",
"pallet-session",
"pallet-session-benchmarking",
"pallet-staking",
"pallet-staking-async-ah-client",
+ "pallet-staking-async-preset-store",
"pallet-staking-async-rc-client",
"pallet-staking-async-rc-runtime-constants",
"pallet-sudo",
@@ -14515,7 +14534,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
dependencies = [
"fixedbitset",
- "indexmap 2.9.0",
+ "indexmap",
]
[[package]]
@@ -14573,9 +14592,9 @@ dependencies = [
[[package]]
name = "pkg-config"
-version = "0.3.27"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
[[package]]
name = "plotters"
@@ -14828,7 +14847,7 @@ dependencies = [
"fatality",
"futures",
"futures-timer",
- "indexmap 2.9.0",
+ "indexmap",
"parity-scale-codec",
"polkadot-node-network-protocol",
"polkadot-node-primitives",
@@ -16982,7 +17001,7 @@ dependencies = [
"gimli 0.31.1",
"hashbrown 0.14.5",
"log",
- "object 0.36.1",
+ "object 0.36.7",
"polkavm-common 0.26.0",
"regalloc2 0.9.3",
"rustc-demangle",
@@ -17062,6 +17081,18 @@ dependencies = [
"rand 0.8.5",
]
+[[package]]
+name = "postcard"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24"
+dependencies = [
+ "cobs",
+ "embedded-io 0.4.0",
+ "embedded-io 0.6.1",
+ "serde",
+]
+
[[package]]
name = "powerfmt"
version = "0.2.0"
@@ -17463,7 +17494,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d"
dependencies = [
"anyhow",
- "itertools 0.13.0",
+ "itertools 0.14.0",
"proc-macro2 1.0.95",
"quote 1.0.40",
"syn 2.0.98",
@@ -17479,12 +17510,26 @@ dependencies = [
]
[[package]]
-name = "psm"
-version = "0.1.21"
+name = "pulley-interpreter"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874"
+checksum = "b89c4319786b16c1a6a38ee04788d32c669b61ba4b69da2162c868c18be99c1b"
dependencies = [
- "cc",
+ "cranelift-bitset",
+ "log",
+ "pulley-macros",
+ "wasmtime-internal-math",
+]
+
+[[package]]
+name = "pulley-macros"
+version = "35.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "938543690519c20c3a480d20a8efcc8e69abeb44093ab1df4e7c1f81f26c677a"
+dependencies = [
+ "proc-macro2 1.0.95",
+ "quote 1.0.40",
+ "syn 2.0.98",
]
[[package]]
@@ -17886,26 +17931,28 @@ dependencies = [
[[package]]
name = "regalloc2"
-version = "0.6.1"
+version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80535183cae11b149d618fbd3c37e38d7cda589d82d7769e196ca9a9042d7621"
+checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6"
dependencies = [
- "fxhash",
+ "hashbrown 0.13.2",
"log",
+ "rustc-hash 1.1.0",
"slice-group-by",
"smallvec",
]
[[package]]
name = "regalloc2"
-version = "0.9.3"
+version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6"
+checksum = "5216b1837de2149f8bc8e6d5f88a9326b63b8c836ed58ce4a0a29ec736a59734"
dependencies = [
- "hashbrown 0.13.2",
+ "allocator-api2",
+ "bumpalo",
+ "hashbrown 0.15.3",
"log",
- "rustc-hash 1.1.0",
- "slice-group-by",
+ "rustc-hash 2.1.1",
"smallvec",
]
@@ -18610,42 +18657,41 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.36.15"
+version = "0.37.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941"
+checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
dependencies = [
"bitflags 1.3.2",
"errno",
"io-lifetimes",
"libc",
- "linux-raw-sys 0.1.4",
- "windows-sys 0.45.0",
+ "linux-raw-sys 0.3.8",
+ "windows-sys 0.48.0",
]
[[package]]
name = "rustix"
-version = "0.37.23"
+version = "0.38.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
+checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.6.0",
"errno",
- "io-lifetimes",
"libc",
- "linux-raw-sys 0.3.8",
- "windows-sys 0.48.0",
+ "linux-raw-sys 0.4.14",
+ "windows-sys 0.59.0",
]
[[package]]
name = "rustix"
-version = "0.38.42"
+version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85"
+checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
dependencies = [
"bitflags 2.6.0",
"errno",
"libc",
- "linux-raw-sys 0.4.14",
+ "linux-raw-sys 0.9.4",
"windows-sys 0.59.0",
]
@@ -18945,6 +18991,7 @@ dependencies = [
"sp-core 28.0.0",
"sp-inherents",
"sp-runtime",
+ "sp-trie",
"substrate-prometheus-endpoint",
"substrate-test-runtime-client",
]
@@ -19540,7 +19587,7 @@ dependencies = [
"parity-scale-codec",
"parking_lot 0.12.3",
"paste",
- "rustix 0.36.15",
+ "rustix 1.0.8",
"sc-allocator",
"sc-executor-common",
"sc-runtime-test",
@@ -20304,7 +20351,7 @@ dependencies = [
"env_logger 0.11.3",
"futures",
"futures-timer",
- "indexmap 2.9.0",
+ "indexmap",
"itertools 0.11.0",
"linked-hash-map",
"parity-scale-codec",
@@ -20344,7 +20391,7 @@ version = "28.0.0"
dependencies = [
"async-trait",
"futures",
- "indexmap 2.9.0",
+ "indexmap",
"log",
"parity-scale-codec",
"serde",
@@ -20960,7 +21007,7 @@ version = "1.0.132"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03"
dependencies = [
- "indexmap 2.9.0",
+ "indexmap",
"itoa",
"memchr",
"ryu",
@@ -21022,7 +21069,7 @@ version = "0.9.34+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
dependencies = [
- "indexmap 2.9.0",
+ "indexmap",
"itoa",
"ryu",
"serde",
@@ -23289,7 +23336,7 @@ dependencies = [
"hashbrown 0.14.5",
"hashlink 0.9.1",
"hex",
- "indexmap 2.9.0",
+ "indexmap",
"log",
"memchr",
"once_cell",
@@ -24127,7 +24174,7 @@ dependencies = [
"sp-version",
"strum 0.26.3",
"tempfile",
- "toml 0.8.19",
+ "toml",
"walkdir",
"wasm-opt",
]
@@ -24603,7 +24650,7 @@ version = "12.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42bcacd080282a72e795864660b148392af7babd75691d5ae9a3b77e29c98c77"
dependencies = [
- "cpp_demangle 0.4.3",
+ "cpp_demangle",
"rustc-demangle",
"symbolic-common",
]
@@ -24767,9 +24814,9 @@ dependencies = [
[[package]]
name = "target-lexicon"
-version = "0.12.11"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
[[package]]
name = "target-triple"
@@ -24836,9 +24883,9 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
[[package]]
name = "test-log"
-version = "0.2.16"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93"
+checksum = "1e33b98a582ea0be1168eba097538ee8dd4bbe0f2b01b22ac92ea30054e5be7b"
dependencies = [
"env_logger 0.11.3",
"test-log-macros",
@@ -24847,9 +24894,9 @@ dependencies = [
[[package]]
name = "test-log-macros"
-version = "0.2.16"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5"
+checksum = "451b374529930d7601b1eef8d32bc79ae870b6079b069401709c2a8bf9e75f36"
dependencies = [
"proc-macro2 1.0.95",
"quote 1.0.40",
@@ -25320,15 +25367,6 @@ dependencies = [
"tokio",
]
-[[package]]
-name = "toml"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "toml"
version = "0.8.19"
@@ -25356,7 +25394,7 @@ version = "0.19.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [
- "indexmap 2.9.0",
+ "indexmap",
"toml_datetime",
"winnow 0.5.15",
]
@@ -25367,7 +25405,7 @@ version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
dependencies = [
- "indexmap 2.9.0",
+ "indexmap",
"toml_datetime",
"winnow 0.5.15",
]
@@ -25378,7 +25416,7 @@ version = "0.22.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
dependencies = [
- "indexmap 2.9.0",
+ "indexmap",
"serde",
"serde_spanned",
"toml_datetime",
@@ -25614,7 +25652,7 @@ dependencies = [
"serde_json",
"target-triple",
"termcolor",
- "toml 0.8.19",
+ "toml",
]
[[package]]
@@ -26178,6 +26216,16 @@ dependencies = [
"leb128",
]
+[[package]]
+name = "wasm-encoder"
+version = "0.235.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3bc393c395cb621367ff02d854179882b9a351b4e0c93d1397e6090b53a5c2a"
+dependencies = [
+ "leb128fmt",
+ "wasmparser",
+]
+
[[package]]
name = "wasm-instrument"
version = "0.4.0"
@@ -26315,12 +26363,15 @@ dependencies = [
[[package]]
name = "wasmparser"
-version = "0.102.0"
+version = "0.235.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b"
+checksum = "161296c618fa2d63f6ed5fffd1112937e803cb9ec71b32b01a76321555660917"
dependencies = [
- "indexmap 1.9.3",
- "url",
+ "bitflags 2.6.0",
+ "hashbrown 0.15.3",
+ "indexmap",
+ "semver 1.0.18",
+ "serde",
]
[[package]]
@@ -26332,199 +26383,224 @@ dependencies = [
"indexmap-nostd",
]
+[[package]]
+name = "wasmprinter"
+version = "0.235.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75aa8e9076de6b9544e6dab4badada518cca0bf4966d35b131bbd057aed8fa0a"
+dependencies = [
+ "anyhow",
+ "termcolor",
+ "wasmparser",
+]
+
[[package]]
name = "wasmtime"
-version = "8.0.1"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9"
+checksum = "b6fe976922a16af3b0d67172c473d1fd4f1aa5d0af9c8ba6538c741f3af686f4"
dependencies = [
+ "addr2line 0.24.2",
"anyhow",
- "bincode",
+ "bitflags 2.6.0",
+ "bumpalo",
+ "cc",
"cfg-if",
- "indexmap 1.9.3",
+ "gimli 0.31.1",
+ "hashbrown 0.15.3",
+ "indexmap",
"libc",
"log",
- "object 0.30.4",
+ "mach2",
+ "memfd",
+ "object 0.36.7",
"once_cell",
- "paste",
- "psm",
+ "postcard",
+ "pulley-interpreter",
"rayon",
+ "rustix 1.0.8",
"serde",
+ "serde_derive",
+ "smallvec",
"target-lexicon",
"wasmparser",
- "wasmtime-cache",
- "wasmtime-cranelift",
"wasmtime-environ",
- "wasmtime-jit",
- "wasmtime-runtime",
- "windows-sys 0.45.0",
+ "wasmtime-internal-asm-macros",
+ "wasmtime-internal-cache",
+ "wasmtime-internal-cranelift",
+ "wasmtime-internal-fiber",
+ "wasmtime-internal-jit-icache-coherence",
+ "wasmtime-internal-math",
+ "wasmtime-internal-slab",
+ "wasmtime-internal-unwinder",
+ "wasmtime-internal-versioned-export-macros",
+ "wasmtime-internal-winch",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "wasmtime-environ"
+version = "35.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44b6264a78d806924abbc76bbc75eac24976bc83bdfb938e5074ae551242436f"
+dependencies = [
+ "anyhow",
+ "cpp_demangle",
+ "cranelift-bitset",
+ "cranelift-entity",
+ "gimli 0.31.1",
+ "indexmap",
+ "log",
+ "object 0.36.7",
+ "postcard",
+ "rustc-demangle",
+ "serde",
+ "serde_derive",
+ "smallvec",
+ "target-lexicon",
+ "wasm-encoder 0.235.0",
+ "wasmparser",
+ "wasmprinter",
]
[[package]]
-name = "wasmtime-asm-macros"
-version = "8.0.1"
+name = "wasmtime-internal-asm-macros"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d"
+checksum = "6775a9b516559716e5710e95a8014ca0adcc81e5bf4d3ad7899d89ae40094d1a"
dependencies = [
"cfg-if",
]
[[package]]
-name = "wasmtime-cache"
-version = "8.0.1"
+name = "wasmtime-internal-cache"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213"
+checksum = "138e33ad4bd120f3b1c77d6d0dcdce0de8239555495befcda89393a40ba5e324"
dependencies = [
"anyhow",
- "base64 0.21.7",
- "bincode",
+ "base64 0.22.1",
"directories-next",
- "file-per-thread-logger",
"log",
- "rustix 0.36.15",
+ "postcard",
+ "rustix 1.0.8",
"serde",
+ "serde_derive",
"sha2 0.10.8",
- "toml 0.5.11",
- "windows-sys 0.45.0",
- "zstd 0.11.2+zstd.1.5.2",
+ "toml",
+ "windows-sys 0.59.0",
+ "zstd 0.13.3",
]
[[package]]
-name = "wasmtime-cranelift"
-version = "8.0.1"
+name = "wasmtime-internal-cranelift"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1cefde0cce8cb700b1b21b6298a3837dba46521affd7b8c38a9ee2c869eee04"
+checksum = "7ec9ad7565e6a8de7cb95484e230ff689db74a4a085219e0da0cbd637a29c01c"
dependencies = [
"anyhow",
+ "cfg-if",
"cranelift-codegen",
+ "cranelift-control",
"cranelift-entity",
"cranelift-frontend",
"cranelift-native",
- "cranelift-wasm",
- "gimli 0.27.3",
+ "gimli 0.31.1",
+ "itertools 0.14.0",
"log",
- "object 0.30.4",
+ "object 0.36.7",
+ "pulley-interpreter",
+ "smallvec",
"target-lexicon",
- "thiserror 1.0.65",
+ "thiserror 2.0.12",
"wasmparser",
- "wasmtime-cranelift-shared",
"wasmtime-environ",
+ "wasmtime-internal-math",
+ "wasmtime-internal-versioned-export-macros",
]
[[package]]
-name = "wasmtime-cranelift-shared"
-version = "8.0.1"
+name = "wasmtime-internal-fiber"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd041e382ef5aea1b9fc78442394f1a4f6d676ce457e7076ca4cb3f397882f8b"
+checksum = "8b636ff8b220ebaf29dfe3b23770e4b2bad317b9683e3bf7345e162387385b39"
dependencies = [
"anyhow",
- "cranelift-codegen",
- "cranelift-native",
- "gimli 0.27.3",
- "object 0.30.4",
- "target-lexicon",
- "wasmtime-environ",
+ "cc",
+ "cfg-if",
+ "libc",
+ "rustix 1.0.8",
+ "wasmtime-internal-asm-macros",
+ "wasmtime-internal-versioned-export-macros",
+ "windows-sys 0.59.0",
]
[[package]]
-name = "wasmtime-environ"
-version = "8.0.1"
+name = "wasmtime-internal-jit-icache-coherence"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949"
+checksum = "4417e06b7f80baff87d9770852c757a39b8d7f11d78b2620ca992b8725f16f50"
dependencies = [
"anyhow",
- "cranelift-entity",
- "gimli 0.27.3",
- "indexmap 1.9.3",
- "log",
- "object 0.30.4",
- "serde",
- "target-lexicon",
- "thiserror 1.0.65",
- "wasmparser",
- "wasmtime-types",
+ "cfg-if",
+ "libc",
+ "windows-sys 0.59.0",
]
[[package]]
-name = "wasmtime-jit"
-version = "8.0.1"
+name = "wasmtime-internal-math"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244"
+checksum = "7710d5c4ecdaa772927fd11e5dc30a9a62d1fc8fe933e11ad5576ad596ab6612"
dependencies = [
- "addr2line 0.19.0",
- "anyhow",
- "bincode",
- "cfg-if",
- "cpp_demangle 0.3.5",
- "gimli 0.27.3",
- "log",
- "object 0.30.4",
- "rustc-demangle",
- "serde",
- "target-lexicon",
- "wasmtime-environ",
- "wasmtime-jit-debug",
- "wasmtime-jit-icache-coherence",
- "wasmtime-runtime",
- "windows-sys 0.45.0",
+ "libm",
]
[[package]]
-name = "wasmtime-jit-debug"
-version = "8.0.1"
+name = "wasmtime-internal-slab"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846"
-dependencies = [
- "object 0.30.4",
- "once_cell",
- "rustix 0.36.15",
-]
+checksum = "e6ab22fabe1eed27ab01fd47cd89deacf43ad222ed7fd169ba6f4dd1fbddc53b"
[[package]]
-name = "wasmtime-jit-icache-coherence"
-version = "8.0.1"
+name = "wasmtime-internal-unwinder"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd"
+checksum = "307708f302f5dcf19c1bbbfb3d9f2cbc837dd18088a7988747b043a46ba38ecc"
dependencies = [
+ "anyhow",
"cfg-if",
- "libc",
- "windows-sys 0.45.0",
+ "cranelift-codegen",
+ "log",
+ "object 0.36.7",
]
[[package]]
-name = "wasmtime-runtime"
-version = "8.0.1"
+name = "wasmtime-internal-versioned-export-macros"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441"
+checksum = "342b0466f92b7217a4de9e114175fedee1907028567d2548bcd42f71a8b5b016"
dependencies = [
- "anyhow",
- "cc",
- "cfg-if",
- "indexmap 1.9.3",
- "libc",
- "log",
- "mach",
- "memfd",
- "memoffset 0.8.0",
- "paste",
- "rand 0.8.5",
- "rustix 0.36.15",
- "wasmtime-asm-macros",
- "wasmtime-environ",
- "wasmtime-jit-debug",
- "windows-sys 0.45.0",
+ "proc-macro2 1.0.95",
+ "quote 1.0.40",
+ "syn 2.0.98",
]
[[package]]
-name = "wasmtime-types"
-version = "8.0.1"
+name = "wasmtime-internal-winch"
+version = "35.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f"
+checksum = "2012e7384c25b91aab2f1b6a1e1cbab9d0f199bbea06cc873597a3f047f05730"
dependencies = [
- "cranelift-entity",
- "serde",
- "thiserror 1.0.65",
+ "anyhow",
+ "cranelift-codegen",
+ "gimli 0.31.1",
+ "object 0.36.7",
+ "target-lexicon",
"wasmparser",
+ "wasmtime-environ",
+ "wasmtime-internal-cranelift",
+ "winch-codegen",
]
[[package]]
@@ -26536,7 +26612,7 @@ dependencies = [
"leb128",
"memchr",
"unicode-width 0.1.10",
- "wasm-encoder",
+ "wasm-encoder 0.31.1",
]
[[package]]
@@ -26797,6 +26873,26 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+[[package]]
+name = "winch-codegen"
+version = "35.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "839a334ef7c62d8368dbd427e767a6fbb1ba08cc12ecce19cbb666c10613b585"
+dependencies = [
+ "anyhow",
+ "cranelift-assembler-x64",
+ "cranelift-codegen",
+ "gimli 0.31.1",
+ "regalloc2 0.12.2",
+ "smallvec",
+ "target-lexicon",
+ "thiserror 2.0.12",
+ "wasmparser",
+ "wasmtime-environ",
+ "wasmtime-internal-cranelift",
+ "wasmtime-internal-math",
+]
+
[[package]]
name = "windows"
version = "0.48.0"
@@ -26925,15 +27021,6 @@ dependencies = [
"windows-targets 0.52.6",
]
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
[[package]]
name = "windows-sys"
version = "0.48.0"
@@ -26961,21 +27048,6 @@ dependencies = [
"windows-targets 0.52.6",
]
-[[package]]
-name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
[[package]]
name = "windows-targets"
version = "0.48.5"
@@ -27007,12 +27079,6 @@ dependencies = [
"windows_x86_64_msvc 0.52.6",
]
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.5"
@@ -27025,12 +27091,6 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.5"
@@ -27043,12 +27103,6 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
-[[package]]
-name = "windows_i686_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-
[[package]]
name = "windows_i686_gnu"
version = "0.48.5"
@@ -27067,12 +27121,6 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-
[[package]]
name = "windows_i686_msvc"
version = "0.48.5"
@@ -27085,12 +27133,6 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.5"
@@ -27103,12 +27145,6 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.5"
@@ -27121,12 +27157,6 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.5"
@@ -27295,7 +27325,6 @@ dependencies = [
"frame-support",
"frame-system",
"impl-trait-for-tuples",
- "log",
"pallet-balances",
"pallet-message-queue",
"pallet-timestamp",
@@ -27313,6 +27342,7 @@ dependencies = [
"sp-tracing 16.0.0",
"staging-xcm",
"staging-xcm-executor",
+ "tracing",
"xcm-simulator",
]
@@ -27732,7 +27762,7 @@ dependencies = [
"serde_json",
"thiserror 1.0.65",
"tokio",
- "toml 0.8.19",
+ "toml",
"tracing",
"url",
"zombienet-support",
@@ -27855,27 +27885,27 @@ dependencies = [
[[package]]
name = "zstd"
-version = "0.11.2+zstd.1.5.2"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
+checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c"
dependencies = [
- "zstd-safe 5.0.2+zstd.1.5.2",
+ "zstd-safe 6.0.6",
]
[[package]]
name = "zstd"
-version = "0.12.4"
+version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c"
+checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a"
dependencies = [
- "zstd-safe 6.0.6",
+ "zstd-safe 7.2.4",
]
[[package]]
name = "zstd-safe"
-version = "5.0.2+zstd.1.5.2"
+version = "6.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
+checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581"
dependencies = [
"libc",
"zstd-sys",
@@ -27883,21 +27913,19 @@ dependencies = [
[[package]]
name = "zstd-safe"
-version = "6.0.6"
+version = "7.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581"
+checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d"
dependencies = [
- "libc",
"zstd-sys",
]
[[package]]
name = "zstd-sys"
-version = "2.0.8+zstd.1.5.5"
+version = "2.0.15+zstd.1.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
+checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237"
dependencies = [
"cc",
- "libc",
"pkg-config",
]
diff --git a/Cargo.toml b/Cargo.toml
index c943368b47893..0894625d9452c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -443,6 +443,7 @@ members = [
"substrate/frame/staking-async/reward-fn",
"substrate/frame/staking-async/runtime-api",
"substrate/frame/staking-async/runtimes/parachain",
+ "substrate/frame/staking-async/runtimes/preset-store",
"substrate/frame/staking-async/runtimes/rc",
"substrate/frame/staking-async/runtimes/rc/constants",
"substrate/frame/staking/reward-curve",
@@ -787,6 +788,7 @@ either = { version = "1.8.1", default-features = false }
emulated-integration-tests-common = { path = "cumulus/parachains/integration-tests/emulated/common", default-features = false }
enumflags2 = { version = "0.7.11" }
enumn = { version = "0.1.13" }
+env_filter = { version = "0.1.3" }
env_logger = { version = "0.11.2" }
environmental = { version = "1.1.4", default-features = false }
equivocation-detector = { path = "bridges/relays/equivocation" }
@@ -1052,6 +1054,7 @@ revive-dev-runtime = { path = "substrate/frame/revive/dev-node/runtime" }
pallet-staking-async = { path = "substrate/frame/staking-async", default-features = false }
pallet-staking-async-ah-client = { path = "substrate/frame/staking-async/ah-client", default-features = false }
pallet-staking-async-parachain-runtime = { path = "substrate/frame/staking-async/runtimes/parachain" }
+pallet-staking-async-preset-store = { path = "substrate/frame/staking-async/runtimes/preset-store", default-features = false }
pallet-staking-async-rc-client = { path = "substrate/frame/staking-async/rc-client", default-features = false }
pallet-staking-async-rc-runtime = { path = "substrate/frame/staking-async/runtimes/rc" }
pallet-staking-async-rc-runtime-constants = { path = "substrate/frame/staking-async/runtimes/rc/constants", default-features = false }
@@ -1197,7 +1200,7 @@ rpassword = { version = "7.0.0" }
rstest = { version = "0.18.2" }
rustc-hash = { version = "1.1.0" }
rustc-hex = { version = "2.1.0", default-features = false }
-rustix = { version = "0.36.7", default-features = false }
+rustix = { version = "1.0.3", default-features = false }
rustls = { version = "0.23.18", default-features = false, features = [
"logging",
"ring",
@@ -1452,7 +1455,7 @@ wasm-instrument = { version = "0.4", default-features = false }
wasm-opt = { version = "0.116" }
wasm-timer = { version = "0.2.5" }
wasmi = { version = "0.32.3", default-features = false }
-wasmtime = { version = "8.0.1", default-features = false }
+wasmtime = { version = "35.0.0", default-features = false }
wat = { version = "1.0.0" }
westend-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/relays/westend", default-features = false }
westend-runtime = { path = "polkadot/runtime/westend", default-features = false }
@@ -1515,7 +1518,6 @@ blake2 = { opt-level = 3 }
blake2b_simd = { opt-level = 3 }
chacha20poly1305 = { opt-level = 3 }
cranelift-codegen = { opt-level = 3 }
-cranelift-wasm = { opt-level = 3 }
crc32fast = { opt-level = 3 }
crossbeam-deque = { opt-level = 3 }
crypto-mac = { opt-level = 3 }
diff --git a/bridges/bin/runtime-common/Cargo.toml b/bridges/bin/runtime-common/Cargo.toml
index d59be4f6dda86..abd5c33cb4259 100644
--- a/bridges/bin/runtime-common/Cargo.toml
+++ b/bridges/bin/runtime-common/Cargo.toml
@@ -12,9 +12,9 @@ workspace = true
[dependencies]
codec = { features = ["derive"], workspace = true }
-log = { workspace = true }
scale-info = { features = ["derive"], workspace = true }
static_assertions = { optional = true, workspace = true, default-features = true }
+tracing = { workspace = true }
tuplex = { workspace = true }
# Bridge dependencies
@@ -62,7 +62,6 @@ std = [
"codec/std",
"frame-support/std",
"frame-system/std",
- "log/std",
"pallet-bridge-grandpa/std",
"pallet-bridge-messages/std",
"pallet-bridge-parachains/std",
@@ -75,6 +74,7 @@ std = [
"sp-std/std",
"sp-trie/std",
"sp-weights/std",
+ "tracing/std",
"tuplex/std",
"xcm/std",
]
diff --git a/bridges/bin/runtime-common/src/messages_benchmarking.rs b/bridges/bin/runtime-common/src/messages_benchmarking.rs
index acbdbcda8deaf..4486f6819e51a 100644
--- a/bridges/bin/runtime-common/src/messages_benchmarking.rs
+++ b/bridges/bin/runtime-common/src/messages_benchmarking.rs
@@ -303,10 +303,10 @@ pub fn generate_xcm_builder_bridge_message_sample(
.encoded_size(),
);
- log::trace!(
+ tracing::trace!(
target: "runtime::bridge-benchmarks",
- "generate_xcm_builder_bridge_message_sample with expected_message_size: {}, location_encoded_size: {}, xcm_size: {}, xcm_data_size: {}",
- expected_message_size, location_encoded_size, xcm_size, xcm_data_size,
+ %expected_message_size, %location_encoded_size, %xcm_size, %xcm_data_size,
+ "generate_xcm_builder_bridge_message_sample"
);
let xcm = xcm::VersionedXcm::<()>::from(Xcm(vec![Instruction::<()>::ExpectPallet {
diff --git a/bridges/modules/beefy/Cargo.toml b/bridges/modules/beefy/Cargo.toml
index 76a723b5a7be8..d62ae730e3c87 100644
--- a/bridges/modules/beefy/Cargo.toml
+++ b/bridges/modules/beefy/Cargo.toml
@@ -13,9 +13,9 @@ workspace = true
[dependencies]
codec = { workspace = true }
-log = { workspace = true }
scale-info = { features = ["derive"], workspace = true }
serde = { optional = true, workspace = true }
+tracing = { workspace = true }
# Bridge Dependencies
bp-beefy = { workspace = true }
@@ -45,12 +45,12 @@ std = [
"codec/std",
"frame-support/std",
"frame-system/std",
- "log/std",
"scale-info/std",
"serde/std",
"sp-core/std",
"sp-runtime/std",
"sp-std/std",
+ "tracing/std",
]
try-runtime = [
"frame-support/try-runtime",
diff --git a/bridges/modules/beefy/src/lib.rs b/bridges/modules/beefy/src/lib.rs
index cc34dbfd20ced..02ecc9e03eddc 100644
--- a/bridges/modules/beefy/src/lib.rs
+++ b/bridges/modules/beefy/src/lib.rs
@@ -164,7 +164,7 @@ pub mod pallet {
let is_initialized = >::exists();
ensure!(!is_initialized, >::AlreadyInitialized);
- log::info!(target: LOG_TARGET, "Initializing bridge BEEFY pallet: {:?}", init_data);
+ tracing::info!(target: LOG_TARGET, ?init_data, "Initializing bridge BEEFY pallet");
Ok(initialize::(init_data)?)
}
@@ -257,18 +257,18 @@ pub mod pallet {
next_block_number_index: (block_number_index + 1) % T::CommitmentsToKeep::get(),
});
if let Ok(old_block_number) = to_prune {
- log::debug!(
+ tracing::debug!(
target: LOG_TARGET,
- "Pruning commitment for old block: {:?}.",
- old_block_number
+ ?old_block_number,
+ "Pruning commitment for old block."
);
ImportedCommitments::::remove(old_block_number);
}
- log::info!(
+ tracing::info!(
target: LOG_TARGET,
- "Successfully imported commitment for block {:?}",
- commitment.commitment.block_number,
+ block=?commitment.commitment.block_number,
+ "Successfully imported commitment for block",
);
Ok(())
diff --git a/bridges/modules/beefy/src/utils.rs b/bridges/modules/beefy/src/utils.rs
index ce7a116308d16..e7071403c95fd 100644
--- a/bridges/modules/beefy/src/utils.rs
+++ b/bridges/modules/beefy/src/utils.rs
@@ -78,12 +78,12 @@ fn verify_signatures, I: 'static>(
break
}
} else {
- log::debug!(
+ tracing::debug!(
target: LOG_TARGET,
- "Signed commitment contains incorrect signature of validator {} ({:?}): {:?}",
- idx,
- authority,
- sig,
+ %idx,
+ ?authority,
+ ?sig,
+ "Signed commitment contains incorrect signature of validator"
);
}
}
@@ -142,15 +142,14 @@ pub(crate) fn verify_beefy_mmr_leaf, I: 'static>(
mmr_proof,
)
.map_err(|e| {
- log::error!(
+ tracing::error!(
target: LOG_TARGET,
- "MMR proof of leaf {:?} (root: {:?}, leaf count: {}, len: {}) \
- verification has failed with error: {:?}",
- mmr_leaf_hash,
- mmr_root,
- mmr_proof_leaf_count,
- mmr_proof_length,
- e,
+ error=?e,
+ ?mmr_leaf_hash,
+ root=?mmr_root,
+ leaf_count=%mmr_proof_leaf_count,
+ len=%mmr_proof_length,
+ "MMR proof of leaf verification has failed"
);
Error::::MmrProofVerificationFailed
diff --git a/bridges/modules/messages/Cargo.toml b/bridges/modules/messages/Cargo.toml
index 6248c9e65e167..6f6c6815a4f5a 100644
--- a/bridges/modules/messages/Cargo.toml
+++ b/bridges/modules/messages/Cargo.toml
@@ -12,8 +12,8 @@ workspace = true
[dependencies]
codec = { workspace = true }
-log = { workspace = true }
scale-info = { features = ["derive"], workspace = true }
+tracing = { workspace = true }
# Bridge dependencies
bp-header-chain = { workspace = true }
@@ -47,7 +47,6 @@ std = [
"frame-benchmarking/std",
"frame-support/std",
"frame-system/std",
- "log/std",
"pallet-balances/std",
"pallet-bridge-grandpa/std",
"scale-info/std",
@@ -56,6 +55,7 @@ std = [
"sp-runtime/std",
"sp-std/std",
"sp-trie/std",
+ "tracing/std",
]
runtime-benchmarks = [
"bp-runtime/test-helpers",
diff --git a/bridges/modules/messages/src/call_ext.rs b/bridges/modules/messages/src/call_ext.rs
index 9e5f5f8d1129e..aa88fd6a219c2 100644
--- a/bridges/modules/messages/src/call_ext.rs
+++ b/bridges/modules/messages/src/call_ext.rs
@@ -189,10 +189,10 @@ impl<
let is_pallet_halted = Pallet::::ensure_not_halted().is_err();
match self.call_info() {
Some(proof_info) if is_pallet_halted => {
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "Rejecting messages transaction on halted pallet: {:?}",
- proof_info
+ ?proof_info,
+ "Rejecting messages transaction on halted pallet"
);
return sp_runtime::transaction_validity::InvalidTransaction::Call.into()
@@ -201,10 +201,10 @@ impl<
if proof_info
.is_obsolete(T::MessageDispatch::is_active(proof_info.base.lane_id)) =>
{
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "Rejecting obsolete messages delivery transaction: {:?}",
- proof_info
+ ?proof_info,
+ "Rejecting obsolete messages delivery transaction"
);
return sp_runtime::transaction_validity::InvalidTransaction::Stale.into()
@@ -212,10 +212,10 @@ impl<
Some(MessagesCallInfo::ReceiveMessagesDeliveryProof(proof_info))
if proof_info.is_obsolete() =>
{
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "Rejecting obsolete messages confirmation transaction: {:?}",
- proof_info,
+ ?proof_info,
+ "Rejecting obsolete messages confirmation transaction"
);
return sp_runtime::transaction_validity::InvalidTransaction::Stale.into()
diff --git a/bridges/modules/messages/src/lib.rs b/bridges/modules/messages/src/lib.rs
index 10cbfcb336564..243b3d22c0b98 100644
--- a/bridges/modules/messages/src/lib.rs
+++ b/bridges/modules/messages/src/lib.rs
@@ -249,7 +249,7 @@ pub mod pallet {
let (lane_id, lane_data) =
verify_and_decode_messages_proof::(*proof, messages_count).map_err(
|err| {
- log::trace!(target: LOG_TARGET, "Rejecting invalid messages proof: {:?}", err,);
+ tracing::trace!(target: LOG_TARGET, error=?err, "Rejecting invalid messages proof");
Error::::InvalidMessagesProof
},
@@ -271,12 +271,12 @@ pub mod pallet {
if let Some(lane_state) = lane_data.lane_state {
let updated_latest_confirmed_nonce = lane.receive_state_update(lane_state);
if let Some(updated_latest_confirmed_nonce) = updated_latest_confirmed_nonce {
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "Received lane {:?} state update: latest_confirmed_nonce={}. Unrewarded relayers: {:?}",
- lane_id,
- updated_latest_confirmed_nonce,
- UnrewardedRelayersState::from(&lane.storage().data()),
+ ?lane_id,
+ latest_confirmed_nonce=%updated_latest_confirmed_nonce,
+ unrewarded_relayers=?UnrewardedRelayersState::from(&lane.storage().data()),
+ "Received state update"
);
}
}
@@ -292,12 +292,12 @@ pub mod pallet {
// weight is not enough, let's move to next lane
let message_dispatch_weight = T::MessageDispatch::dispatch_weight(&mut message);
if message_dispatch_weight.any_gt(dispatch_weight_left) {
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "Cannot dispatch any more messages on lane {:?}. Weight: declared={}, left={}",
- lane_id,
- message_dispatch_weight,
- dispatch_weight_left,
+ ?lane_id,
+ declared=%message_dispatch_weight,
+ left=%dispatch_weight_left,
+ "Cannot dispatch any more messages"
);
fail!(Error::::InsufficientDispatchWeight);
@@ -339,13 +339,13 @@ pub mod pallet {
actual_weight,
);
- log::debug!(
+ tracing::debug!(
target: LOG_TARGET,
- "Received messages: total={}, valid={}. Weight used: {}/{}.",
- total_messages,
- valid_messages,
- actual_weight,
- declared_weight,
+ total=%total_messages,
+ valid=%valid_messages,
+ %actual_weight,
+ %declared_weight,
+ "Received messages."
);
Self::deposit_event(Event::MessagesReceived(messages_received_status));
@@ -370,10 +370,10 @@ pub mod pallet {
let confirmation_relayer = ensure_signed(origin)?;
let (lane_id, lane_data) = proofs::verify_messages_delivery_proof::(proof)
.map_err(|err| {
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "Rejecting invalid messages delivery proof: {:?}",
- err,
+ error=?err,
+ "Rejecting invalid messages delivery proof"
);
Error::::InvalidMessagesDeliveryProof
@@ -421,11 +421,11 @@ pub mod pallet {
);
};
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "Received messages delivery proof up to (and including) {} at lane {:?}",
- last_delivered_nonce,
- lane_id,
+ ?lane_id,
+ %last_delivered_nonce,
+ "Received messages delivery proof up to (and including)"
);
// notify others about messages delivery
@@ -649,9 +649,12 @@ pub mod pallet {
}
if !unpruned_message_nonces.is_empty() {
- log::warn!(
+ tracing::warn!(
target: LOG_TARGET,
- "do_try_state_for_outbound_lanes for lane_id: {lane_id:?} with lane_data: {lane_data:?} found unpruned_message_nonces: {unpruned_message_nonces:?}",
+ ?lane_id,
+ ?lane_data,
+ ?unpruned_message_nonces,
+ "do_try_state_for_outbound_lanes found",
);
unpruned_lanes.push((lane_id, lane_data, unpruned_message_nonces));
}
@@ -710,12 +713,12 @@ where
// return number of messages in the queue to let sender know about its state
let enqueued_messages = lane.data().queued_messages().saturating_len();
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "Accepted message {} to lane {:?}. Message size: {:?}",
- nonce,
- args.lane_id,
- message_len,
+ lane_id=?args.lane_id,
+ %nonce,
+ message_size=?message_len,
+ "Accepted message"
);
Pallet::::deposit_event(Event::MessageAccepted {
diff --git a/bridges/modules/messages/src/migration.rs b/bridges/modules/messages/src/migration.rs
index dc9a8119079ef..24c7f13f11985 100644
--- a/bridges/modules/messages/src/migration.rs
+++ b/bridges/modules/messages/src/migration.rs
@@ -116,8 +116,8 @@ pub mod v1 {
let number_of_inbound = InboundLanes::::iter_keys().count();
let number_of_outbound = OutboundLanes::::iter_keys().count();
- log::info!(target: LOG_TARGET, "post-upgrade expects '{number_of_inbound_to_migrate}' inbound lanes to have been migrated.");
- log::info!(target: LOG_TARGET, "post-upgrade expects '{number_of_outbound_to_migrate}' outbound lanes to have been migrated.");
+ tracing::info!(target: LOG_TARGET, %number_of_inbound_to_migrate, "post-upgrade expects inbound lanes to have been migrated.");
+ tracing::info!(target: LOG_TARGET, %number_of_outbound_to_migrate, "post-upgrade expects outbound lanes to have been migrated.");
frame_support::ensure!(
number_of_inbound_to_migrate as usize == number_of_inbound,
@@ -128,7 +128,7 @@ pub mod v1 {
"must migrate all `OutboundLanes`."
);
- log::info!(target: LOG_TARGET, "migrated all.");
+ tracing::info!(target: LOG_TARGET, "migrated all.");
Ok(())
}
}
diff --git a/bridges/modules/messages/src/outbound_lane.rs b/bridges/modules/messages/src/outbound_lane.rs
index 1e4411f7b4e29..5f718109e329d 100644
--- a/bridges/modules/messages/src/outbound_lane.rs
+++ b/bridges/modules/messages/src/outbound_lane.rs
@@ -155,11 +155,11 @@ impl OutboundLane {
// chain storage is corrupted, though) that the actual number of confirmed messages if
// larger than declared. This would mean that 'reward loop' will take more time than the
// weight formula accounts, so we can't allow that.
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "Messages delivery proof contains too many messages to confirm: {} vs declared {}",
- confirmed_messages.total_messages(),
- max_allowed_messages,
+ confirmed=%confirmed_messages.total_messages(),
+ max_allowed=%max_allowed_messages,
+ "Messages delivery proof contains too many messages to confirm"
);
return Err(ReceptionConfirmationError::TryingToConfirmMoreMessagesThanExpected)
}
diff --git a/bridges/modules/parachains/Cargo.toml b/bridges/modules/parachains/Cargo.toml
index a187cd3d2ed3e..699b39298cd25 100644
--- a/bridges/modules/parachains/Cargo.toml
+++ b/bridges/modules/parachains/Cargo.toml
@@ -12,8 +12,8 @@ workspace = true
[dependencies]
codec = { workspace = true }
-log = { workspace = true }
scale-info = { features = ["derive"], workspace = true }
+tracing = { workspace = true }
# Bridge Dependencies
bp-header-chain = { workspace = true }
@@ -46,11 +46,11 @@ std = [
"frame-benchmarking/std",
"frame-support/std",
"frame-system/std",
- "log/std",
"pallet-bridge-grandpa/std",
"scale-info/std",
"sp-runtime/std",
"sp-std/std",
+ "tracing/std",
]
runtime-benchmarks = [
"frame-benchmarking/runtime-benchmarks",
diff --git a/bridges/modules/parachains/src/benchmarking.rs b/bridges/modules/parachains/src/benchmarking.rs
index 92ece6d688cbe..a2be02b7bd67b 100644
--- a/bridges/modules/parachains/src/benchmarking.rs
+++ b/bridges/modules/parachains/src/benchmarking.rs
@@ -64,7 +64,7 @@ benchmarks_instance_pallet! {
} else {
Default::default()
};
- log::trace!(target: crate::LOG_TARGET, "=== {:?}", parachains.len());
+ tracing::trace!(target: crate::LOG_TARGET, "=== {:?}", parachains.len());
let (relay_block_number, relay_block_hash, parachain_heads_proof, parachains_heads) = T::prepare_parachain_heads_proof(
¶chains,
DEFAULT_PARACHAIN_HEAD_SIZE,
diff --git a/bridges/modules/parachains/src/call_ext.rs b/bridges/modules/parachains/src/call_ext.rs
index b67da03a6315c..f6871ecdb0443 100644
--- a/bridges/modules/parachains/src/call_ext.rs
+++ b/bridges/modules/parachains/src/call_ext.rs
@@ -61,11 +61,10 @@ impl, I: 'static> SubmitParachainHeadsHelper {
// reject if no more free slots remaining in the block
if !SubmitFinalityProofHelper::::has_free_header_slots()
{
- log::trace!(
+ tracing::trace!(
target: crate::LOG_TARGET,
- "The free parachain {:?} head can't be updated: no more free slots \
- left in the block.",
- update.para_id,
+ para_id=?update.para_id,
+ "The free parachain head can't be updated: no more free slots left in the block."
);
return Err(InvalidTransaction::Call.into());
@@ -80,13 +79,12 @@ impl, I: 'static> SubmitParachainHeadsHelper {
// reject if we are importing parachain headers too often
if improved_by < free_headers_interval {
- log::trace!(
+ tracing::trace!(
target: crate::LOG_TARGET,
- "The free parachain {:?} head can't be updated: it improves previous
- best head by {} while at least {} is expected.",
- update.para_id,
- improved_by,
- free_headers_interval,
+ para_id=?update.para_id,
+ %improved_by,
+ "The free parachain head can't be updated: it improves previous
+ best head while at least {free_headers_interval} is expected."
);
return Err(InvalidTransaction::Stale.into());
@@ -110,11 +108,11 @@ impl, I: 'static> SubmitParachainHeadsHelper {
{
Some(improved_by) if improved_by > Zero::zero() => improved_by,
_ => {
- log::trace!(
+ tracing::trace!(
target: crate::LOG_TARGET,
- "The parachain head can't be updated. The parachain head for {:?} \
+ para_id=?update.para_id,
+ "The parachain head can't be updated. The parachain head \
was already updated at better relay chain block {} >= {}.",
- update.para_id,
stored_best_head.best_head_hash.at_relay_block_number,
update.at_relay_block.0
);
@@ -123,12 +121,12 @@ impl, I: 'static> SubmitParachainHeadsHelper {
};
if stored_best_head.best_head_hash.head_hash == update.para_head_hash {
- log::trace!(
+ tracing::trace!(
target: crate::LOG_TARGET,
- "The parachain head can't be updated. The parachain head hash for {:?} \
- was already updated to {} at block {} < {}.",
- update.para_id,
- update.para_head_hash,
+ para_id=?update.para_id,
+ para_head_hash=%update.para_head_hash,
+ "The parachain head can't be updated. The parachain head hash \
+ was already updated at block {} < {}.",
stored_best_head.best_head_hash.at_relay_block_number,
update.at_relay_block.0
);
@@ -143,13 +141,12 @@ impl, I: 'static> SubmitParachainHeadsHelper {
// let's check if our chain had no reorgs and we still know the relay chain header
// used to craft the proof
if GrandpaPalletOf::::finalized_header_state_root(update.at_relay_block.1).is_none() {
- log::trace!(
+ tracing::trace!(
target: crate::LOG_TARGET,
- "The parachain {:?} head can't be updated. Relay chain header {}/{} used to create \
- parachain proof is missing from the storage.",
- update.para_id,
- update.at_relay_block.0,
- update.at_relay_block.1,
+ para_id=?update.para_id,
+ at_relay_block=?update.at_relay_block,
+ "The parachain head can't be updated. Relay chain header used to create \
+ parachain proof is missing from the storage."
);
return Err(InvalidTransaction::Call.into())
diff --git a/bridges/modules/parachains/src/lib.rs b/bridges/modules/parachains/src/lib.rs
index 81f73f4b5f359..f93ee5eda7f5c 100644
--- a/bridges/modules/parachains/src/lib.rs
+++ b/bridges/modules/parachains/src/lib.rs
@@ -461,10 +461,10 @@ pub mod pallet {
let parachain_head = match storage.read_parachain_head(parachain) {
Ok(Some(parachain_head)) => parachain_head,
Ok(None) => {
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "The head of parachain {:?} is None. {}",
- parachain,
+ ?parachain,
+ "The head of parachain is None. {}",
if ParasInfo::::contains_key(parachain) {
"Looks like it is not yet registered at the source relay chain"
} else {
@@ -475,11 +475,11 @@ pub mod pallet {
continue
},
Err(e) => {
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "The read of head of parachain {:?} has failed: {:?}",
- parachain,
- e,
+ error=?e,
+ ?parachain,
+ "The read of head of parachain has failed"
);
Self::deposit_event(Event::MissingParachainHead { parachain });
continue
@@ -490,13 +490,12 @@ pub mod pallet {
// (this isn't strictly necessary, but better safe than sorry)
let actual_parachain_head_hash = parachain_head.hash();
if parachain_head_hash != actual_parachain_head_hash {
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "The submitter has specified invalid parachain {:?} head hash: \
- {:?} vs {:?}",
- parachain,
- parachain_head_hash,
- actual_parachain_head_hash,
+ ?parachain,
+ ?parachain_head_hash,
+ ?actual_parachain_head_hash,
+ "The submitter has specified invalid parachain head hash"
);
Self::deposit_event(Event::IncorrectParachainHeadHash {
parachain,
@@ -512,10 +511,10 @@ pub mod pallet {
match T::ParaStoredHeaderDataBuilder::try_build(parachain, ¶chain_head) {
Some(parachain_head_data) => parachain_head_data,
None => {
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "The head of parachain {:?} has been provided, but it is not tracked by the pallet",
- parachain,
+ ?parachain,
+ "The head of parachain has been provided, but it is not tracked by the pallet"
);
Self::deposit_event(Event::UntrackedParachainRejected { parachain });
continue
@@ -583,12 +582,12 @@ pub mod pallet {
&& free_parachain_heads == total_parachains
&& SubmitFinalityProofHelper::::has_free_header_slots();
let pays_fee = if is_free {
- log::trace!(target: LOG_TARGET, "Parachain heads update transaction is free");
+ tracing::trace!(target: LOG_TARGET, "Parachain heads update transaction is free");
pallet_bridge_grandpa::on_free_header_imported::(
);
Pays::No
} else {
- log::trace!(target: LOG_TARGET, "Parachain heads update transaction is paid");
+ tracing::trace!(target: LOG_TARGET, "Parachain heads update transaction is paid");
Pays::Yes
};
@@ -662,28 +661,27 @@ pub mod pallet {
}
// verify that the parachain head data size is <= `MaxParaHeadDataSize`
- let updated_head_data =
- match StoredParaHeadDataOf::::try_from_inner(new_head_data) {
- Ok(updated_head_data) => updated_head_data,
- Err(e) => {
- log::trace!(
- target: LOG_TARGET,
- "The parachain head can't be updated. The parachain head data size \
- for {:?} is {}. It exceeds maximal configured size {}.",
- parachain,
- e.value_size,
- e.maximal_size,
- );
+ let updated_head_data = match StoredParaHeadDataOf::::try_from_inner(
+ new_head_data,
+ ) {
+ Ok(updated_head_data) => updated_head_data,
+ Err(e) => {
+ tracing::trace!(
+ target: LOG_TARGET,
+ error=?e,
+ ?parachain,
+ "The parachain head can't be updated. The parachain head data size exceeds maximal configured size."
+ );
- Self::deposit_event(Event::RejectedLargeParachainHead {
- parachain,
- parachain_head_hash: new_head_hash,
- parachain_head_size: e.value_size as _,
- });
+ Self::deposit_event(Event::RejectedLargeParachainHead {
+ parachain,
+ parachain_head_hash: new_head_hash,
+ parachain_head_size: e.value_size as _,
+ });
- return Err(())
- },
- };
+ return Err(())
+ },
+ };
let next_imported_hash_position = stored_best_head
.map_or(0, |stored_best_head| stored_best_head.next_imported_hash_position);
@@ -705,12 +703,12 @@ pub mod pallet {
new_head_hash,
);
ImportedParaHeads::::insert(parachain, new_head_hash, &updated_head_data);
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "Updated head of parachain {:?} to {} at relay block {}",
- parachain,
- new_head_hash,
- new_at_relay_block.0,
+ ?parachain,
+ %new_head_hash,
+ at_relay_block=%new_at_relay_block.0,
+ "Updated head of parachain"
);
// trigger callback
@@ -719,11 +717,11 @@ pub mod pallet {
// remove old head
let prune_happened = head_hash_to_prune.is_ok();
if let Ok(head_hash_to_prune) = head_hash_to_prune {
- log::trace!(
+ tracing::trace!(
target: LOG_TARGET,
- "Pruning old head of parachain {:?}: {}",
- parachain,
- head_hash_to_prune,
+ ?parachain,
+ %head_hash_to_prune,
+ "Pruning old head of parachain"
);
ImportedParaHeads::::remove(parachain, head_hash_to_prune);
}
diff --git a/bridges/primitives/runtime/Cargo.toml b/bridges/primitives/runtime/Cargo.toml
index 7528f2e5d6caa..1311587b997cc 100644
--- a/bridges/primitives/runtime/Cargo.toml
+++ b/bridges/primitives/runtime/Cargo.toml
@@ -14,10 +14,10 @@ workspace = true
codec = { workspace = true }
hash-db = { workspace = true }
impl-trait-for-tuples = { workspace = true }
-log = { workspace = true }
num-traits = { workspace = true }
scale-info = { features = ["derive"], workspace = true }
serde = { features = ["alloc", "derive"], workspace = true }
+tracing = { workspace = true }
# Substrate Dependencies
frame-support = { workspace = true }
@@ -40,7 +40,6 @@ std = [
"frame-support/std",
"frame-system/std",
"hash-db/std",
- "log/std",
"num-traits/std",
"scale-info/std",
"serde/std",
@@ -50,6 +49,7 @@ std = [
"sp-state-machine/std",
"sp-std/std",
"sp-trie/std",
+ "tracing/std",
"trie-db/std",
]
test-helpers = []
diff --git a/bridges/primitives/runtime/src/lib.rs b/bridges/primitives/runtime/src/lib.rs
index fc13870904de4..4b15ce2d2c9b0 100644
--- a/bridges/primitives/runtime/src/lib.rs
+++ b/bridges/primitives/runtime/src/lib.rs
@@ -371,6 +371,8 @@ impl OperatingMode for BasicOperatingMode {
}
}
+const COMMON_LOG_TARGET: &'static str = "runtime::bridge-module";
+
/// Bridge module that has owner and operating mode
pub trait OwnedBridgeModule {
/// The target that will be used when publishing logs related to this module.
@@ -413,11 +415,11 @@ pub trait OwnedBridgeModule {
match maybe_owner {
Some(owner) => {
Self::OwnerStorage::put(&owner);
- log::info!(target: Self::LOG_TARGET, "Setting pallet Owner to: {:?}", owner);
+ tracing::info!(target: COMMON_LOG_TARGET, module=%Self::LOG_TARGET, ?owner, "Setting pallet.");
},
None => {
Self::OwnerStorage::kill();
- log::info!(target: Self::LOG_TARGET, "Removed Owner of pallet.");
+ tracing::info!(target: COMMON_LOG_TARGET, module=%Self::LOG_TARGET, "Removed Owner of pallet.");
},
}
@@ -431,7 +433,7 @@ pub trait OwnedBridgeModule {
) -> DispatchResult {
Self::ensure_owner_or_root(origin)?;
Self::OperatingModeStorage::put(operating_mode);
- log::info!(target: Self::LOG_TARGET, "Setting operating mode to {:?}.", operating_mode);
+ tracing::info!(target: COMMON_LOG_TARGET, module=%Self::LOG_TARGET, ?operating_mode, "Setting operating mode.");
Ok(())
}
diff --git a/bridges/primitives/runtime/src/storage_proof.rs b/bridges/primitives/runtime/src/storage_proof.rs
index 113e101e3703a..19355358e2e33 100644
--- a/bridges/primitives/runtime/src/storage_proof.rs
+++ b/bridges/primitives/runtime/src/storage_proof.rs
@@ -166,7 +166,7 @@ where
self.read_value(key).and_then(|v| {
v.map(|v| {
T::decode(&mut &v[..]).map_err(|e| {
- log::warn!(target: "bridge-storage-proofs", "read_and_decode_value error: {e:?}");
+ tracing::warn!(target: "bridge-storage-proofs", error=?e, "read_and_decode_value");
StorageProofError::DecodeError
})
})
diff --git a/cumulus/client/consensus/proposer/Cargo.toml b/cumulus/client/consensus/proposer/Cargo.toml
index e391481bc4452..b98c77b3f891b 100644
--- a/cumulus/client/consensus/proposer/Cargo.toml
+++ b/cumulus/client/consensus/proposer/Cargo.toml
@@ -17,6 +17,11 @@ async-trait = { workspace = true }
thiserror = { workspace = true }
# Substrate
+sc-basic-authorship = { workspace = true }
+sc-block-builder = { workspace = true }
+sc-transaction-pool-api = { workspace = true }
+sp-api = { workspace = true, default-features = true }
+sp-blockchain = { workspace = true, default-features = true }
sp-consensus = { workspace = true, default-features = true }
sp-inherents = { workspace = true, default-features = true }
sp-runtime = { workspace = true, default-features = true }
diff --git a/cumulus/client/consensus/proposer/src/lib.rs b/cumulus/client/consensus/proposer/src/lib.rs
index 47ef05839d70a..af6894fd5da72 100644
--- a/cumulus/client/consensus/proposer/src/lib.rs
+++ b/cumulus/client/consensus/proposer/src/lib.rs
@@ -15,19 +15,22 @@
// You should have received a copy of the GNU General Public License
// along with Cumulus. If not, see .
-//! The Cumulus [`Proposer`] is a wrapper around a Substrate [`sp_consensus::Environment`]
+//! The Cumulus [`ProposerInterface`] is an extension of the Substrate [`ProposerFactory`]
//! for creating new parachain blocks.
//!
//! This utility is designed to be composed within any collator consensus algorithm.
use async_trait::async_trait;
-
-use sp_consensus::{EnableProofRecording, Environment, Proposal, Proposer as SubstrateProposer};
+use cumulus_primitives_parachain_inherent::ParachainInherentData;
+use sc_basic_authorship::{ProposeArgs, ProposerFactory};
+use sc_block_builder::BlockBuilderApi;
+use sc_transaction_pool_api::TransactionPool;
+use sp_api::{ApiExt, CallApiAt, ProvideRuntimeApi};
+use sp_blockchain::HeaderBackend;
+use sp_consensus::{EnableProofRecording, Environment, Proposal};
use sp_inherents::{InherentData, InherentDataProvider};
use sp_runtime::{traits::Block as BlockT, Digest};
use sp_state_machine::StorageProof;
-
-use cumulus_primitives_parachain_inherent::ParachainInherentData;
use std::{fmt::Debug, time::Duration};
/// Errors that can occur when proposing a parachain block.
@@ -50,7 +53,7 @@ impl Error {
}
/// A type alias for easily referring to the type of a proposal produced by a specific
-/// [`Proposer`].
+/// [`ProposerInterface`].
pub type ProposalOf = Proposal;
/// An interface for proposers.
@@ -80,39 +83,24 @@ pub trait ProposerInterface {
) -> Result