diff --git a/.config/lychee.toml b/.config/lychee.toml
index 1de9fcd559dd..b1f08de33340 100644
--- a/.config/lychee.toml
+++ b/.config/lychee.toml
@@ -18,7 +18,10 @@ accept = [
"429",
]
-exclude_path = ["./target"]
+exclude_path = [
+ "./prdoc",
+ "./target",
+]
exclude = [
# Place holders (no need to fix these):
@@ -32,7 +35,6 @@ exclude = [
"https://github.com/paritytech/polkadot-sdk/substrate/frame/timestamp",
"https://github.com/paritytech/substrate/frame/fast-unstake",
"https://github.com/zkcrypto/bls12_381/blob/e224ad4ea1babfc582ccd751c2bf128611d10936/src/test-data/mod.rs",
- "https://polkadot-try-runtime-node.parity-chains.parity.io/",
"https://polkadot.network/the-path-of-a-parachain-block/",
"https://research.web3.foundation/en/latest/polkadot/NPoS/3.%20Balancing.html",
"https://research.web3.foundation/en/latest/polkadot/Token%20Economics.html#inflation-model",
@@ -41,6 +43,7 @@ exclude = [
"https://research.web3.foundation/en/latest/polkadot/overview/2-token-economics.html#inflation-model",
"https://research.web3.foundation/en/latest/polkadot/slashing/npos.html",
"https://rpc.polkadot.io/",
+ "https://try-runtime.polkadot.io/",
"https://w3f.github.io/parachain-implementers-guide/node/approval/approval-distribution.html",
"https://w3f.github.io/parachain-implementers-guide/node/index.html",
"https://w3f.github.io/parachain-implementers-guide/protocol-chain-selection.html",
diff --git a/.config/zepter.yaml b/.config/zepter.yaml
index 9b3bd9d618c1..7a67ba2695cf 100644
--- a/.config/zepter.yaml
+++ b/.config/zepter.yaml
@@ -27,7 +27,7 @@ workflows:
]
# The umbrella crate uses more features, so we to check those too:
check_umbrella:
- - [ $check.0, '--features=serde,experimental,with-tracing,tuples-96,with-tracing', '-p=polkadot-sdk' ]
+ - [ $check.0, '--features=serde,experimental,riscv,runtime,with-tracing,tuples-96,with-tracing', '-p=polkadot-sdk' ]
# Same as `check_*`, but with the `--fix` flag.
default:
- [ $check.0, '--fix' ]
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 84c68219d51f..ac4f6c41d197 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1 +1,79 @@
+# Lists some code owners.
+#
+# A codeowner just oversees some part of the codebase. If an owned file is changed then the
+# corresponding codeowner receives a review request. An approval of the codeowner might be
+# required for merging a PR (depends on repository settings).
+#
+# For details about syntax, see:
+# https://help.github.com/en/articles/about-code-owners
+# But here are some important notes:
+#
+# - Glob syntax is git-like, e.g. `/core` means the core directory in the root, unlike `core`
+# which can be everywhere.
+# - Multiple owners are supported.
+# - Either handle (e.g, @github_user or @github/team) or email can be used. Keep in mind,
+# that handles might work better because they are more recognizable on GitHub,
+# you can use them for mentioning unlike an email.
+# - The latest matching rule, if multiple, takes precedence.
+
+# CI
+/.github/ @paritytech/ci @paritytech/release-engineering
+/.gitlab-ci.yml @paritytech/ci
+/.gitlab/ @paritytech/ci
+
+# XCM
+/polkadot/xcm/ @paritytech/xcm
+
+# WASM executor, low-level client <-> WASM interface and other WASM-related code
+/substrate/client/allocator/ @koute
+/substrate/client/executor/ @koute
+/substrate/primitives/panic-handler/ @koute
+/substrate/primitives/runtime-interface/ @koute
+/substrate/primitives/wasm-interface/ @koute
+/substrate/utils/wasm-builder/ @koute
+
+# Systems-related bits and bobs on the client side
+/substrate/client/sysinfo/ @koute
+/substrate/client/tracing/ @koute
+
+# Documentation audit
+/substrate/primitives/runtime @paritytech/docs-audit
+/substrate/primitives/arithmetic @paritytech/docs-audit
+# /primitives/core (to be added later)
+# /primitives/io (to be added later)
+
+# FRAME
+/substrate/frame/ @paritytech/frame-coders @paritytech/docs-audit
+/substrate/frame/nfts/ @jsidorenko @paritytech/docs-audit
+/substrate/frame/state-trie-migration/ @paritytech/frame-coders @cheme
+/substrate/frame/uniques/ @jsidorenko @paritytech/docs-audit
+
+# GRANDPA, BABE, consensus stuff
+/substrate/client/consensus/babe/ @andresilva
+/substrate/client/consensus/grandpa/ @andresilva
+/substrate/client/consensus/pow/ @sorpaas
+/substrate/client/consensus/slots/ @andresilva
+/substrate/frame/babe/ @andresilva
+/substrate/frame/grandpa/ @andresilva
+/substrate/primitives/consensus/pow/ @sorpaas
+
+# BEEFY, MMR
+/substrate/frame/beefy/ @acatangiu
+/substrate/frame/beefy-mmr/ @acatangiu
+/substrate/frame/merkle-mountain-range/ @acatangiu
+/substrate/primitives/merkle-mountain-range/ @acatangiu
+
+# Contracts
+/substrate/frame/contracts/ @paritytech/smart-contracts @paritytech/docs-audit
+/substrate/frame/revive/ @paritytech/smart-contracts @paritytech/docs-audit
+
+# NPoS and election
+/substrate/frame/election-provider-multi-phase/ @paritytech/staking-core @paritytech/docs-audit
+/substrate/frame/election-provider-support/ @paritytech/staking-core @paritytech/docs-audit
+/substrate/frame/elections-phragmen/ @paritytech/staking-core @paritytech/docs-audit
+/substrate/frame/nomination-pools/ @paritytech/staking-core @paritytech/docs-audit
+/substrate/frame/staking/ @paritytech/staking-core @paritytech/docs-audit
+/substrate/primitives/npos-elections/ @paritytech/staking-core @paritytech/docs-audit
+
+# Snowbridge
/bridges/snowbridge/*.rs @Snowfork/snowbridge-devs
diff --git a/.github/actions/build-push-image/action.yml b/.github/actions/build-push-image/action.yml
new file mode 100644
index 000000000000..fead9cfe3369
--- /dev/null
+++ b/.github/actions/build-push-image/action.yml
@@ -0,0 +1,47 @@
+name: 'build and push image'
+inputs:
+ dockerfile:
+ description: "dockerfile to build"
+ required: true
+ image-name:
+ description: ""
+ required: true
+outputs:
+ branch:
+ description: 'Branch name for the PR'
+ value: ${{ steps.branch.outputs.branch }}
+
+
+runs:
+ using: "composite"
+ steps:
+
+ # gcloud
+ # https://github.com/paritytech/ci_cd/wiki/GitHub:-Push-Docker-image-to-GCP-Registry
+ - name: "Set up Cloud SDK"
+ uses: "google-github-actions/setup-gcloud@v2"
+ - name: "gcloud info"
+ shell: bash
+ run: "gcloud info"
+ - name: "Auth in gcloud registry"
+ shell: bash
+ run: "gcloud auth configure-docker europe-docker.pkg.dev --quiet"
+
+ - name: build
+ shell: bash
+ env:
+ ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.3.105"
+ run: |
+ export BRANCH_NAME=${{ github.head_ref || github.ref_name }}
+ export DOCKER_IMAGES_VERSION=${BRANCH_NAME/\//-}
+ if [[ ${{ github.event_name }} == "merge_group" ]]; then export DOCKER_IMAGES_VERSION="${GITHUB_SHA::8}"; fi
+ docker build \
+ --build-arg VCS_REF="${GITHUB_SHA}" \
+ --build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')" \
+ --build-arg IMAGE_NAME="${{ inputs.image-name }}" \
+ --build-arg ZOMBIENET_IMAGE="${ZOMBIENET_IMAGE}" \
+ -t "${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION" \
+ -f ${{ inputs.dockerfile }} \
+ .
+ docker push "${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION"
+
diff --git a/.github/actions/cargo-check-runtimes/action.yml b/.github/actions/cargo-check-runtimes/action.yml
new file mode 100644
index 000000000000..869f17661e4a
--- /dev/null
+++ b/.github/actions/cargo-check-runtimes/action.yml
@@ -0,0 +1,22 @@
+name: 'cargo check runtimes'
+description: 'Runs `cargo check` for every directory in provided root.'
+inputs:
+ root:
+ description: "Root directory. Expected to contain several cargo packages inside."
+ required: true
+runs:
+ using: "composite"
+ steps:
+ - name: Check
+ shell: bash
+ run: |
+ mkdir -p ~/.forklift
+ cp .forklift/config.toml ~/.forklift/config.toml
+ cd ${{ inputs.root }}
+ for directory in $(echo */); do
+ echo "_____Running cargo check for ${directory} ______";
+ cd ${directory};
+ pwd;
+ SKIP_WASM_BUILD=1 forklift cargo check --locked;
+ cd ..;
+ done
diff --git a/.github/actions/set-up-mac/README.md b/.github/actions/set-up-mac/README.md
new file mode 100644
index 000000000000..0bbc7112bd1d
--- /dev/null
+++ b/.github/actions/set-up-mac/README.md
@@ -0,0 +1,15 @@
+# How to use
+
+```yml
+ set-image:
+ runs-on: macos-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - id: set_image
+ run: cat .github/env >> $GITHUB_OUTPUT
+ - name: Install dependencies
+ uses: ./.github/actions/set-up-mac
+ with:
+ IMAGE: ${{ steps.set-image.outputs.IMAGE }}
+```
diff --git a/.github/actions/set-up-mac/action.yml b/.github/actions/set-up-mac/action.yml
new file mode 100644
index 000000000000..a3b026679402
--- /dev/null
+++ b/.github/actions/set-up-mac/action.yml
@@ -0,0 +1,43 @@
+name: "Set up rust on mac"
+description: "Install the required tools for Mac runners"
+inputs:
+ IMAGE:
+ description: "Rust docker image"
+ required: true
+runs:
+ using: "composite"
+ steps:
+ - name: Install with Hombrew
+ shell: bash
+ run: brew install protobuf rustup openssl pkg-config zlib xz zstd llvm jq curl gcc make cmake
+ - name: Set version
+ shell: bash
+ run: |
+ VERSION=$(echo $IMAGE | sed -E 's/.*:bullseye-([^-]+)-.*/\1/')
+ echo $VERSION
+ echo "VERSION=$VERSION" >> $GITHUB_ENV
+ NIGHTLY=$(echo $IMAGE | sed -E 's/.*([0-9]{4}-[0-9]{2}-[0-9]{2}).*/\1/')
+ echo $NIGHTLY
+ echo "NIGHTLY=$NIGHTLY" >> $GITHUB_ENV
+ env:
+ IMAGE: ${{ inputs.IMAGE }}
+
+ - name: Install rustup
+ shell: bash
+ run: |
+ rustup-init -y
+ rustup install $VERSION
+ rustup default $VERSION
+ rustup toolchain install "nightly-${NIGHTLY}"
+
+ - name: MacOS Deps
+ shell: bash
+ run: |
+ rustup target add wasm32-unknown-unknown --toolchain $VERSION
+ rustup component add rust-src rustfmt clippy --toolchain $VERSION
+
+ - name: Check Rust
+ shell: bash
+ run: |
+ rustup show
+ rustup +nightly show
diff --git a/.github/codecov.yml b/.github/codecov.yml
index ceceb9e63654..b237c9fe6b04 100644
--- a/.github/codecov.yml
+++ b/.github/codecov.yml
@@ -6,4 +6,10 @@ coverage:
project:
default:
target: 1.0
- threshold: 2.0
\ No newline at end of file
+ threshold: 2.0
+
+comment:
+ behavior: new
+
+fixes:
+ - "/__w/polkadot-sdk/polkadot-sdk/::"
\ No newline at end of file
diff --git a/.github/command-screnshot.png b/.github/command-screnshot.png
deleted file mode 100644
index 1451fabca8b9..000000000000
Binary files a/.github/command-screnshot.png and /dev/null differ
diff --git a/.github/commands-readme.md b/.github/commands-readme.md
deleted file mode 100644
index 793524e056f8..000000000000
--- a/.github/commands-readme.md
+++ /dev/null
@@ -1,265 +0,0 @@
-# Running commands
-
-Command bot has been migrated, it is no longer a comment parser and now it is a GitHub action that works as a [`workflow_dispatch`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch) event.
-
-## How to run an action
-
-To run an action, you need to go to the [_actions tab_](https://github.com/paritytech/polkadot-sdk/actions) and pick the one you desire to run.
-
-The current available command actions are:
-
-- [Command FMT](https://github.com/paritytech/polkadot-sdk/actions/workflows/command-fmt.yml)
-- [Command Update UI](https://github.com/paritytech/polkadot-sdk/actions/workflows/command-update-ui.yml)
-- [Command Sync](https://github.com/paritytech/polkadot-sdk/actions/workflows/command-sync.yml)
-- [Command Bench](https://github.com/paritytech/polkadot-sdk/actions/workflows/command-bench.yml)
-- [Command Bench All](https://github.com/paritytech/polkadot-sdk/actions/workflows/command-bench-all.yml)
-- [Command Bench Overhead](https://github.com/paritytech/polkadot-sdk/actions/workflows/command-bench-overhead.yml)
-
-You need to select the action, and click on the dropdown that says: `Run workflow`. It is located in the upper right.
-
-If this dropdown is not visible, you may not have permission to run the action. Contact IT for help.
-
-![command screenshot](command-screnshot.png)
-
-Each command will have the same two required values, but it could have more.
-
-GitHub's official documentation: [Manually running a workflow](https://docs.github.com/en/actions/using-workflows/manually-running-a-workflow)
-
-#### Running from CLI
-
-You can use [`gh cli`](https://cli.github.com/) to run the commands too. Refers to the [`gh workflow run`](https://cli.github.com/manual/gh_workflow_run) section from the documentation for more information.
-
-### Number of the Pull Request
-
-The number of the pull request. Required so the action can fetch the correct branch and comment if it fails.
-
-## Action configurations
-
-### FMT
-
-For FMT you only need the PR number.
-
-You can use the following [`gh cli`](https://cli.github.com/) inside the repo:
-
-```bash
-gh workflow run command-fmt.yml -f pr=1000
-```
-
-### Update UI
-
-For Update UI you only need the PR number.
-
-You can use the following [`gh cli`](https://cli.github.com/) inside the repo:
-
-```bash
-gh workflow run command-update-ui.yml -f pr=1000
-```
-
-### Bench
-
-Runs `benchmark pallet` or `benchmark overhead` against your PR and commits back updated weights.
-
-Posible combinations based on the `benchmark` dropdown.
-
-- `substrate-pallet`: Pallet Benchmark for Substrate for specific pallet
- - Requires `Subcommand` to be `pallet`
- - Requires `Runtime` to be `dev`
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
- - Requires `Target Directory` to be `substrate`
-- `polkadot-pallet`: Pallet Benchmark for Polkadot for specific pallet
- - Requires `Subcommand` to be one of the following:
- - `pallet`
- - `xcm`
- - Requires `Runtime` to be one of the following:
- - `rococo`
- - `westend`
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
- - Requires `Target Directory` to be `polkadot`
-- `cumulus-assets`: Pallet Benchmark for Cumulus assets
- - Requires `Subcommand` to be one of the following:
- - `pallet`
- - `xcm`
- - Requires `Runtime` to be one of the following:
- - `asset-hub-westend`
- - `asset-hub-rococo`
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
- - Requires `Runtime Dir` to be `assets`
- - Requires `Target Directory` to be `cumulus`
-- `cumulus-collectives`: Pallet Benchmark for Cumulus collectives
- - Requires `Subcommand` to be one of the following:
- - `pallet`
- - `xcm`
- - Requires `Runtime` to be `collectives-westend`
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
- - Requires `Runtime Dir` to be `collectives`
- - Requires `Target Directory` to be `cumulus`
-- `cumulus-coretime`: Pallet Benchmark for Cumulus coretime
- - Requires `Subcommand` to be one of the following:
- - `pallet`
- - `xcm`
- - Requires `Runtime` to be one of the following:
- - `coretime-rococo`
- - `coretime-westend`
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
- - Requires `Runtime Dir` to be `coretime`
- - Requires `Target Directory` to be `cumulus`
-- `cumulus-bridge-hubs`: Pallet Benchmark for Cumulus bridge-hubs
- - Requires `Subcommand` to be one of the following:
- - `pallet`
- - `xcm`
- - Requires `Runtime` to be one of the following:
- - `bridge-hub-rococo`
- - `bridge-hub-westend`
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
- - Requires `Runtime Dir` to be `bridge-hub`
- - Requires `Target Directory` to be `cumulus`
-- `cumulus-contracts`: Pallet Benchmark for Cumulus contracts
- - Requires `Subcommand` to be one of the following:
- - `pallet`
- - `xcm`
- - Requires `Runtime` to be one `contracts-rococo`
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
- - Requires `Runtime Dir` to be `contracts`
- - Requires `Target Directory` to be `cumulus`
-- `cumulus-glutton`: Pallet Benchmark for Cumulus glutton
- - Requires `Subcommand` to be `pallet`
- - Requires `Runtime` to be one of the following:
- - `glutton-westend`
- - `glutton-westend-dev-1300`
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
- - Requires `Runtime Dir` to be `glutton`
- - Requires `Target Directory` to be `cumulus`
-- `cumulus-starters`: Pallet Benchmark for Cumulus starters
- - Requires `Subcommand` to be one of the following:
- - `pallet`
- - `xcm`
- - Requires `Runtime` to be one of the following:
- - `seedling`
- - `shell`
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
- - Requires `Runtime Dir` to be `starters`
- - Requires `Target Directory` to be `cumulus`
-- `cumulus-people`: Pallet Benchmark for Cumulus people
- - Requires `Subcommand` to be one of the following:
- - `pallet`
- - `xcm`
- - Requires `Runtime` to be one of the following:
- - `people-westend`
- - `people-rococo`
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
- - Requires `Runtime Dir` to be `people`
- - Requires `Target Directory` to be `cumulus`
-- `cumulus-testing`: Pallet Benchmark for Cumulus testing
- - Requires `Subcommand` to be one of the following:
- - `pallet`
- - `xcm`
- - Requires `Runtime` to be one of the following:
- - `penpal`
- - `rococo-parachain`
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
- - Requires `Runtime Dir` to be `testing`
- - Requires `Target Directory` to be `cumulus`
-
-You can use the following [`gh cli`](https://cli.github.com/) inside the repo:
-
-```bash
-gh workflow run command-bench.yml -f pr=1000 -f benchmark=polkadot-pallet -f subcommand=pallet -f runtime=rococo -f pallet=pallet_name -f target_dir=polkadot
-```
-
-### Bench-all
-
-This is a wrapper to run `bench` for all pallets.
-
-Posible combinations based on the `benchmark` dropdown.
-
-- `pallet`: Benchmark for Substrate/Polkadot/Cumulus/Trappist for specific pallet
- - Requires field `Pallet` to have an input that applies to `^([a-z_]+)([:]{2}[a-z_]+)?$`
-- `substrate`: Pallet + Overhead + Machine Benchmark for Substrate for all pallets
- - Requires `Target Directory` to be `substrate`
-- `polkadot`: Pallet + Overhead Benchmark for Polkadot
- - Requires `Runtime` to be one of the following:
- - `rococo`
- - `westend`
- - Requires `Target Directory` to be `polkadot`
-- `cumulus`: Pallet Benchmark for Cumulus
- - Requires `Runtime` to be one of the following:
- - `rococo`
- - `westend`
- - `asset-hub-kusama`
- - `asset-hub-polkadot`
- - `asset-hub-rococo`
- - `asset-hub-westend`
- - `bridge-hub-kusama`
- - `bridge-hub-polkadot`
- - `bridge-hub-rococo`
- - `bridge-hub-westend`
- - `collectives-polkadot`
- - `collectives-westend`
- - `coretime-rococo`
- - `coretime-westend`
- - `contracts-rococo`
- - `glutton-kusama`
- - `glutton-westend`
- - `people-rococo`
- - `people-westend`
- - Requires `Target Directory` to be `cumulus`
-
-You can use the following [`gh cli`](https://cli.github.com/) inside the repo:
-
-```bash
-gh workflow run command-bench-all.yml -f pr=1000 -f benchmark=pallet -f pallet=pallet_name -f target_dir=polkadot -f runtime=rococo
-```
-
-### Bench-overhead
-
-Run benchmarks overhead and commit back results to PR.
-
-Posible combinations based on the `benchmark` dropdown.
-
-- `default`: Runs `benchmark overhead` and commits back to PR the updated `extrinsic_weights.rs` files
- - Requires `Runtime` to be one of the following:
- - `rococo`
- - `westend`
- - Requires `Target directory` to be `polkadot`
-- `substrate`: Runs `benchmark overhead` and commits back to PR the updated `extrinsic_weights.rs` files
- - Requires `Target directory` to be `substrate`
-- `cumulus`: Runs `benchmark overhead` and commits back to PR the updated `extrinsic_weights.rs` files
- - Requires `Runtime` to be one of the following:
- - `asset-hub-rococo`
- - `asset-hub-westend`
- - Requires `Target directory` to be `cumulus`
-
-You can use the following [`gh cli`](https://cli.github.com/) inside the repo:
-
-```bash
-gh workflow run command-bench-overheard.yml -f pr=1000 -f benchmark=substrate -f runtime=rococo -f target_dir=substrate
-```
-
-### Sync
-
-Run sync and commit back results to PR.
-
-Posible combinations based on the `benchmark` dropdown.
-
-- `chain`
- - Requires one of the following:
- - `rococo`
- - `westend`
-- `sync-type`
- - Requires one of the following:
- - `warp`
- - `full`
- - `fast`
- - `fast-unsafe`
-
-You can use the following [`gh cli`](https://cli.github.com/) inside the repo:
-
-```bash
-gh workflow run command-sync.yml -f pr=1000 -f chain=rococo -f sync-type=full
-```
-
-## How to modify an action
-
-If you want to modify an action and test it, you can do by simply pushing your changes and then selecting your branch in the `Use worflow from` option.
-
-This will use a file from a specified branch.
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 120000
index 000000000000..7b6b3498755f
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1 @@
+../docs/contributor/PULL_REQUEST_TEMPLATE.md
\ No newline at end of file
diff --git a/.gitlab/check-each-crate.py b/.github/scripts/check-each-crate.py
similarity index 81%
rename from .gitlab/check-each-crate.py
rename to .github/scripts/check-each-crate.py
index 9b654f8071ac..7a53e812ddfc 100755
--- a/.gitlab/check-each-crate.py
+++ b/.github/scripts/check-each-crate.py
@@ -9,6 +9,7 @@
#
# - `target_group`: Integer starting from 1, the group this script should execute.
# - `groups_total`: Integer starting from 1, total number of groups.
+# - `disable_forklift`: Boolean, whether to disable forklift or not.
import subprocess, sys
@@ -31,6 +32,9 @@
target_group = int(sys.argv[1]) - 1
groups_total = int(sys.argv[2])
+disable_forklift = bool(sys.argv[3] if len(sys.argv) > 3 else False)
+
+print(f"Target group: {target_group}, Total groups: {groups_total}, Disable forklift: {disable_forklift}", file=sys.stderr)
if len(crates) == 0:
print("No crates detected!", file=sys.stderr)
@@ -55,7 +59,11 @@
print(f"Checking {crates[crate][0]}", file=sys.stderr)
- res = subprocess.run(["forklift", "cargo", "check", "--locked"], cwd = crates[crate][1])
+ cmd = ["cargo", "check", "--locked"]
+
+ cmd.insert(0, 'forklift') if not disable_forklift else None
+
+ res = subprocess.run(cmd, cwd = crates[crate][1])
if res.returncode != 0:
sys.exit(1)
diff --git a/.github/scripts/cmd/_help.py b/.github/scripts/cmd/_help.py
new file mode 100644
index 000000000000..8ad49dad8461
--- /dev/null
+++ b/.github/scripts/cmd/_help.py
@@ -0,0 +1,26 @@
+import argparse
+
+"""
+
+Custom help action for argparse, it prints the help message for the main parser and all subparsers.
+
+"""
+
+
+class _HelpAction(argparse._HelpAction):
+ def __call__(self, parser, namespace, values, option_string=None):
+ parser.print_help()
+
+ # retrieve subparsers from parser
+ subparsers_actions = [
+ action for action in parser._actions
+ if isinstance(action, argparse._SubParsersAction)]
+ # there will probably only be one subparser_action,
+ # but better save than sorry
+ for subparsers_action in subparsers_actions:
+ # get all subparsers and print help
+ for choice, subparser in subparsers_action.choices.items():
+ print("\n### Command '{}'".format(choice))
+ print(subparser.format_help())
+
+ parser.exit()
diff --git a/.github/scripts/cmd/cmd.py b/.github/scripts/cmd/cmd.py
new file mode 100755
index 000000000000..f7dd88df4bda
--- /dev/null
+++ b/.github/scripts/cmd/cmd.py
@@ -0,0 +1,238 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+import json
+import argparse
+import _help
+import importlib.util
+
+_HelpAction = _help._HelpAction
+
+f = open('.github/workflows/runtimes-matrix.json', 'r')
+runtimesMatrix = json.load(f)
+
+runtimeNames = list(map(lambda x: x['name'], runtimesMatrix))
+
+common_args = {
+ '--continue-on-fail': {"action": "store_true", "help": "Won't exit(1) on failed command and continue with next steps. "},
+ '--quiet': {"action": "store_true", "help": "Won't print start/end/failed messages in PR"},
+ '--clean': {"action": "store_true", "help": "Clean up the previous bot's & author's comments in PR"},
+ '--image': {"help": "Override docker image '--image docker.io/paritytech/ci-unified:latest'"},
+}
+
+parser = argparse.ArgumentParser(prog="/cmd ", description='A command runner for polkadot-sdk repo', add_help=False)
+parser.add_argument('--help', action=_HelpAction, help='help for help if you need some help') # help for help
+for arg, config in common_args.items():
+ parser.add_argument(arg, **config)
+
+subparsers = parser.add_subparsers(help='a command to run', dest='command')
+
+"""
+BENCH
+"""
+
+bench_example = '''**Examples**:
+ Runs all benchmarks
+ %(prog)s
+
+ Runs benchmarks for pallet_balances and pallet_multisig for all runtimes which have these pallets. **--quiet** makes it to output nothing to PR but reactions
+ %(prog)s --pallet pallet_balances pallet_xcm_benchmarks::generic --quiet
+
+ Runs bench for all pallets for westend runtime and continues even if some benchmarks fail
+ %(prog)s --runtime westend --continue-on-fail
+
+ Does not output anything and cleans up the previous bot's & author command triggering comments in PR
+ %(prog)s --runtime westend rococo --pallet pallet_balances pallet_multisig --quiet --clean
+'''
+
+parser_bench = subparsers.add_parser('bench', help='Runs benchmarks', epilog=bench_example, formatter_class=argparse.RawDescriptionHelpFormatter)
+
+for arg, config in common_args.items():
+ parser_bench.add_argument(arg, **config)
+
+parser_bench.add_argument('--runtime', help='Runtime(s) space separated', choices=runtimeNames, nargs='*', default=runtimeNames)
+parser_bench.add_argument('--pallet', help='Pallet(s) space separated', nargs='*', default=[])
+
+"""
+FMT
+"""
+parser_fmt = subparsers.add_parser('fmt', help='Formats code (cargo +nightly-VERSION fmt) and configs (taplo format)')
+for arg, config in common_args.items():
+ parser_fmt.add_argument(arg, **config)
+
+"""
+Update UI
+"""
+parser_ui = subparsers.add_parser('update-ui', help='Updates UI tests')
+for arg, config in common_args.items():
+ parser_ui.add_argument(arg, **config)
+
+"""
+PRDOC
+"""
+# Import generate-prdoc.py dynamically
+spec = importlib.util.spec_from_file_location("generate_prdoc", ".github/scripts/generate-prdoc.py")
+generate_prdoc = importlib.util.module_from_spec(spec)
+spec.loader.exec_module(generate_prdoc)
+
+parser_prdoc = subparsers.add_parser('prdoc', help='Generates PR documentation')
+generate_prdoc.setup_parser(parser_prdoc)
+
+def main():
+ global args, unknown, runtimesMatrix
+ args, unknown = parser.parse_known_args()
+
+ print(f'args: {args}')
+
+ if args.command == 'bench':
+ runtime_pallets_map = {}
+ failed_benchmarks = {}
+ successful_benchmarks = {}
+
+ profile = "release"
+
+ print(f'Provided runtimes: {args.runtime}')
+ # convert to mapped dict
+ runtimesMatrix = list(filter(lambda x: x['name'] in args.runtime, runtimesMatrix))
+ runtimesMatrix = {x['name']: x for x in runtimesMatrix}
+ print(f'Filtered out runtimes: {runtimesMatrix}')
+
+ # loop over remaining runtimes to collect available pallets
+ for runtime in runtimesMatrix.values():
+ os.system(f"forklift cargo build -p {runtime['package']} --profile {profile} --features runtime-benchmarks")
+ print(f'-- listing pallets for benchmark for {runtime["name"]}')
+ wasm_file = f"target/{profile}/wbuild/{runtime['package']}/{runtime['package'].replace('-', '_')}.wasm"
+ output = os.popen(
+ f"frame-omni-bencher v1 benchmark pallet --no-csv-header --no-storage-info --no-min-squares --no-median-slopes --all --list --runtime={wasm_file}").read()
+ raw_pallets = output.strip().split('\n')
+
+ all_pallets = set()
+ for pallet in raw_pallets:
+ if pallet:
+ all_pallets.add(pallet.split(',')[0].strip())
+
+ pallets = list(all_pallets)
+ print(f'Pallets in {runtime["name"]}: {pallets}')
+ runtime_pallets_map[runtime['name']] = pallets
+
+ print(f'\n')
+
+ # filter out only the specified pallets from collected runtimes/pallets
+ if args.pallet:
+ print(f'Pallets: {args.pallet}')
+ new_pallets_map = {}
+ # keep only specified pallets if they exist in the runtime
+ for runtime in runtime_pallets_map:
+ if set(args.pallet).issubset(set(runtime_pallets_map[runtime])):
+ new_pallets_map[runtime] = args.pallet
+
+ runtime_pallets_map = new_pallets_map
+
+ print(f'Filtered out runtimes & pallets: {runtime_pallets_map}\n')
+
+ if not runtime_pallets_map:
+ if args.pallet and not args.runtime:
+ print(f"No pallets {args.pallet} found in any runtime")
+ elif args.runtime and not args.pallet:
+ print(f"{args.runtime} runtime does not have any pallets")
+ elif args.runtime and args.pallet:
+ print(f"No pallets {args.pallet} found in {args.runtime}")
+ else:
+ print('No runtimes found')
+ sys.exit(1)
+
+ for runtime in runtime_pallets_map:
+ for pallet in runtime_pallets_map[runtime]:
+ config = runtimesMatrix[runtime]
+ header_path = os.path.abspath(config['header'])
+ template = None
+
+ print(f'-- config: {config}')
+ if runtime == 'dev':
+ # to support sub-modules (https://github.com/paritytech/command-bot/issues/275)
+ search_manifest_path = f"cargo metadata --locked --format-version 1 --no-deps | jq -r '.packages[] | select(.name == \"{pallet.replace('_', '-')}\") | .manifest_path'"
+ print(f'-- running: {search_manifest_path}')
+ manifest_path = os.popen(search_manifest_path).read()
+ if not manifest_path:
+ print(f'-- pallet {pallet} not found in dev runtime')
+ exit(1)
+ package_dir = os.path.dirname(manifest_path)
+ print(f'-- package_dir: {package_dir}')
+ print(f'-- manifest_path: {manifest_path}')
+ output_path = os.path.join(package_dir, "src", "weights.rs")
+ template = config['template']
+ else:
+ default_path = f"./{config['path']}/src/weights"
+ xcm_path = f"./{config['path']}/src/weights/xcm"
+ output_path = default_path
+ if pallet.startswith("pallet_xcm_benchmarks"):
+ template = config['template']
+ output_path = xcm_path
+
+ print(f'-- benchmarking {pallet} in {runtime} into {output_path}')
+ cmd = f"frame-omni-bencher v1 benchmark pallet " \
+ f"--extrinsic=* " \
+ f"--runtime=target/{profile}/wbuild/{config['package']}/{config['package'].replace('-', '_')}.wasm " \
+ f"--pallet={pallet} " \
+ f"--header={header_path} " \
+ f"--output={output_path} " \
+ f"--wasm-execution=compiled " \
+ f"--steps=50 " \
+ f"--repeat=20 " \
+ f"--heap-pages=4096 " \
+ f"{f'--template={template} ' if template else ''}" \
+ f"--no-storage-info --no-min-squares --no-median-slopes"
+ print(f'-- Running: {cmd} \n')
+ status = os.system(cmd)
+ if status != 0 and not args.continue_on_fail:
+ print(f'Failed to benchmark {pallet} in {runtime}')
+ sys.exit(1)
+
+ # Otherwise collect failed benchmarks and print them at the end
+ # push failed pallets to failed_benchmarks
+ if status != 0:
+ failed_benchmarks[f'{runtime}'] = failed_benchmarks.get(f'{runtime}', []) + [pallet]
+ else:
+ successful_benchmarks[f'{runtime}'] = successful_benchmarks.get(f'{runtime}', []) + [pallet]
+
+ if failed_benchmarks:
+ print('❌ Failed benchmarks of runtimes/pallets:')
+ for runtime, pallets in failed_benchmarks.items():
+ print(f'-- {runtime}: {pallets}')
+
+ if successful_benchmarks:
+ print('✅ Successful benchmarks of runtimes/pallets:')
+ for runtime, pallets in successful_benchmarks.items():
+ print(f'-- {runtime}: {pallets}')
+
+ elif args.command == 'fmt':
+ command = f"cargo +nightly fmt"
+ print(f'Formatting with `{command}`')
+ nightly_status = os.system(f'{command}')
+ taplo_status = os.system('taplo format --config .config/taplo.toml')
+
+ if (nightly_status != 0 or taplo_status != 0) and not args.continue_on_fail:
+ print('❌ Failed to format code')
+ sys.exit(1)
+
+ elif args.command == 'update-ui':
+ command = 'sh ./scripts/update-ui-tests.sh'
+ print(f'Updating ui with `{command}`')
+ status = os.system(f'{command}')
+
+ if status != 0 and not args.continue_on_fail:
+ print('❌ Failed to format code')
+ sys.exit(1)
+
+ elif args.command == 'prdoc':
+ # Call the main function from ./github/scripts/generate-prdoc.py module
+ exit_code = generate_prdoc.main(args)
+ if exit_code != 0 and not args.continue_on_fail:
+ print('❌ Failed to generate prdoc')
+ sys.exit(exit_code)
+
+ print('🚀 Done')
+
+if __name__ == '__main__':
+ main()
\ No newline at end of file
diff --git a/.github/scripts/cmd/test_cmd.py b/.github/scripts/cmd/test_cmd.py
new file mode 100644
index 000000000000..a2f29b075dae
--- /dev/null
+++ b/.github/scripts/cmd/test_cmd.py
@@ -0,0 +1,339 @@
+import unittest
+from unittest.mock import patch, mock_open, MagicMock, call
+import json
+import sys
+import os
+import argparse
+
+# Mock data for runtimes-matrix.json
+mock_runtimes_matrix = [
+ {"name": "dev", "package": "kitchensink-runtime", "path": "substrate/frame", "header": "substrate/HEADER-APACHE2", "template": "substrate/.maintain/frame-weight-template.hbs"},
+ {"name": "westend", "package": "westend-runtime", "path": "polkadot/runtime/westend", "header": "polkadot/file_header.txt", "template": "polkadot/xcm/pallet-xcm-benchmarks/template.hbs"},
+ {"name": "rococo", "package": "rococo-runtime", "path": "polkadot/runtime/rococo", "header": "polkadot/file_header.txt", "template": "polkadot/xcm/pallet-xcm-benchmarks/template.hbs"},
+ {"name": "asset-hub-westend", "package": "asset-hub-westend-runtime", "path": "cumulus/parachains/runtimes/assets/asset-hub-westend", "header": "cumulus/file_header.txt", "template": "cumulus/templates/xcm-bench-template.hbs"},
+]
+
+def get_mock_bench_output(runtime, pallets, output_path, header, template = None):
+ return f"frame-omni-bencher v1 benchmark pallet --extrinsic=* " \
+ f"--runtime=target/release/wbuild/{runtime}-runtime/{runtime.replace('-', '_')}_runtime.wasm " \
+ f"--pallet={pallets} --header={header} " \
+ f"--output={output_path} " \
+ f"--wasm-execution=compiled " \
+ f"--steps=50 --repeat=20 --heap-pages=4096 " \
+ f"{f'--template={template} ' if template else ''}" \
+ f"--no-storage-info --no-min-squares --no-median-slopes"
+
+class TestCmd(unittest.TestCase):
+
+ def setUp(self):
+ self.patcher1 = patch('builtins.open', new_callable=mock_open, read_data=json.dumps(mock_runtimes_matrix))
+ self.patcher2 = patch('json.load', return_value=mock_runtimes_matrix)
+ self.patcher3 = patch('argparse.ArgumentParser.parse_known_args')
+ self.patcher4 = patch('os.system', return_value=0)
+ self.patcher5 = patch('os.popen')
+ self.patcher6 = patch('importlib.util.spec_from_file_location', return_value=MagicMock())
+ self.patcher7 = patch('importlib.util.module_from_spec', return_value=MagicMock())
+ self.patcher8 = patch('cmd.generate_prdoc.main', return_value=0)
+
+ self.mock_open = self.patcher1.start()
+ self.mock_json_load = self.patcher2.start()
+ self.mock_parse_args = self.patcher3.start()
+ self.mock_system = self.patcher4.start()
+ self.mock_popen = self.patcher5.start()
+ self.mock_spec_from_file_location = self.patcher6.start()
+ self.mock_module_from_spec = self.patcher7.start()
+ self.mock_generate_prdoc_main = self.patcher8.start()
+
+ # Ensure that cmd.py uses the mock_runtimes_matrix
+ import cmd
+ cmd.runtimesMatrix = mock_runtimes_matrix
+
+ def tearDown(self):
+ self.patcher1.stop()
+ self.patcher2.stop()
+ self.patcher3.stop()
+ self.patcher4.stop()
+ self.patcher5.stop()
+ self.patcher6.stop()
+ self.patcher7.stop()
+ self.patcher8.stop()
+
+ def test_bench_command_normal_execution_all_runtimes(self):
+ self.mock_parse_args.return_value = (argparse.Namespace(
+ command='bench',
+ runtime=list(map(lambda x: x['name'], mock_runtimes_matrix)),
+ pallet=['pallet_balances'],
+ continue_on_fail=False,
+ quiet=False,
+ clean=False,
+ image=None
+ ), [])
+
+ self.mock_popen.return_value.read.side_effect = [
+ "pallet_balances\npallet_staking\npallet_something\n", # Output for dev runtime
+ "pallet_balances\npallet_staking\npallet_something\n", # Output for westend runtime
+ "pallet_staking\npallet_something\n", # Output for rococo runtime - no pallet here
+ "pallet_balances\npallet_staking\npallet_something\n", # Output for asset-hub-westend runtime
+ "./substrate/frame/balances/Cargo.toml\n", # Mock manifest path for dev -> pallet_balances
+ ]
+
+ with patch('sys.exit') as mock_exit:
+ import cmd
+ cmd.main()
+ mock_exit.assert_not_called()
+
+ expected_calls = [
+ # Build calls
+ call("forklift cargo build -p kitchensink-runtime --profile release --features runtime-benchmarks"),
+ call("forklift cargo build -p westend-runtime --profile release --features runtime-benchmarks"),
+ call("forklift cargo build -p rococo-runtime --profile release --features runtime-benchmarks"),
+ call("forklift cargo build -p asset-hub-westend-runtime --profile release --features runtime-benchmarks"),
+
+ call(get_mock_bench_output('kitchensink', 'pallet_balances', './substrate/frame/balances/src/weights.rs', os.path.abspath('substrate/HEADER-APACHE2'), "substrate/.maintain/frame-weight-template.hbs")),
+ call(get_mock_bench_output('westend', 'pallet_balances', './polkadot/runtime/westend/src/weights', os.path.abspath('polkadot/file_header.txt'))),
+ # skips rococo benchmark
+ call(get_mock_bench_output('asset-hub-westend', 'pallet_balances', './cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights', os.path.abspath('cumulus/file_header.txt'))),
+ ]
+ self.mock_system.assert_has_calls(expected_calls, any_order=True)
+
+ def test_bench_command_normal_execution(self):
+ self.mock_parse_args.return_value = (argparse.Namespace(
+ command='bench',
+ runtime=['westend'],
+ pallet=['pallet_balances', 'pallet_staking'],
+ continue_on_fail=False,
+ quiet=False,
+ clean=False,
+ image=None
+ ), [])
+ header_path = os.path.abspath('polkadot/file_header.txt')
+ self.mock_popen.return_value.read.side_effect = [
+ "pallet_balances\npallet_staking\npallet_something\n", # Output for westend runtime
+ ]
+
+ with patch('sys.exit') as mock_exit:
+ import cmd
+ cmd.main()
+ mock_exit.assert_not_called()
+
+ expected_calls = [
+ # Build calls
+ call("forklift cargo build -p westend-runtime --profile release --features runtime-benchmarks"),
+
+ # Westend runtime calls
+ call(get_mock_bench_output('westend', 'pallet_balances', './polkadot/runtime/westend/src/weights', header_path)),
+ call(get_mock_bench_output('westend', 'pallet_staking', './polkadot/runtime/westend/src/weights', header_path)),
+ ]
+ self.mock_system.assert_has_calls(expected_calls, any_order=True)
+
+
+ def test_bench_command_normal_execution_xcm(self):
+ self.mock_parse_args.return_value = (argparse.Namespace(
+ command='bench',
+ runtime=['westend'],
+ pallet=['pallet_xcm_benchmarks::generic'],
+ continue_on_fail=False,
+ quiet=False,
+ clean=False,
+ image=None
+ ), [])
+ header_path = os.path.abspath('polkadot/file_header.txt')
+ self.mock_popen.return_value.read.side_effect = [
+ "pallet_balances\npallet_staking\npallet_something\npallet_xcm_benchmarks::generic\n", # Output for westend runtime
+ ]
+
+ with patch('sys.exit') as mock_exit:
+ import cmd
+ cmd.main()
+ mock_exit.assert_not_called()
+
+ expected_calls = [
+ # Build calls
+ call("forklift cargo build -p westend-runtime --profile release --features runtime-benchmarks"),
+
+ # Westend runtime calls
+ call(get_mock_bench_output(
+ 'westend',
+ 'pallet_xcm_benchmarks::generic',
+ './polkadot/runtime/westend/src/weights/xcm',
+ header_path,
+ "polkadot/xcm/pallet-xcm-benchmarks/template.hbs"
+ )),
+ ]
+ self.mock_system.assert_has_calls(expected_calls, any_order=True)
+
+ def test_bench_command_two_runtimes_two_pallets(self):
+ self.mock_parse_args.return_value = (argparse.Namespace(
+ command='bench',
+ runtime=['westend', 'rococo'],
+ pallet=['pallet_balances', 'pallet_staking'],
+ continue_on_fail=False,
+ quiet=False,
+ clean=False,
+ image=None
+ ), [])
+ self.mock_popen.return_value.read.side_effect = [
+ "pallet_staking\npallet_balances\n", # Output for westend runtime
+ "pallet_staking\npallet_balances\n", # Output for rococo runtime
+ ]
+
+ with patch('sys.exit') as mock_exit:
+ import cmd
+ cmd.main()
+ mock_exit.assert_not_called()
+ header_path = os.path.abspath('polkadot/file_header.txt')
+
+ expected_calls = [
+ # Build calls
+ call("forklift cargo build -p westend-runtime --profile release --features runtime-benchmarks"),
+ call("forklift cargo build -p rococo-runtime --profile release --features runtime-benchmarks"),
+ # Westend runtime calls
+ call(get_mock_bench_output('westend', 'pallet_staking', './polkadot/runtime/westend/src/weights', header_path)),
+ call(get_mock_bench_output('westend', 'pallet_balances', './polkadot/runtime/westend/src/weights', header_path)),
+ # Rococo runtime calls
+ call(get_mock_bench_output('rococo', 'pallet_staking', './polkadot/runtime/rococo/src/weights', header_path)),
+ call(get_mock_bench_output('rococo', 'pallet_balances', './polkadot/runtime/rococo/src/weights', header_path)),
+ ]
+ self.mock_system.assert_has_calls(expected_calls, any_order=True)
+
+ def test_bench_command_one_dev_runtime(self):
+ self.mock_parse_args.return_value = (argparse.Namespace(
+ command='bench',
+ runtime=['dev'],
+ pallet=['pallet_balances'],
+ continue_on_fail=False,
+ quiet=False,
+ clean=False,
+ image=None
+ ), [])
+ manifest_dir = "substrate/frame/kitchensink"
+ self.mock_popen.return_value.read.side_effect = [
+ "pallet_balances\npallet_something", # Output for dev runtime
+ manifest_dir + "/Cargo.toml" # Output for manifest path in dev runtime
+ ]
+ header_path = os.path.abspath('substrate/HEADER-APACHE2')
+
+ with patch('sys.exit') as mock_exit:
+ import cmd
+ cmd.main()
+ mock_exit.assert_not_called()
+
+ expected_calls = [
+ # Build calls
+ call("forklift cargo build -p kitchensink-runtime --profile release --features runtime-benchmarks"),
+ # Westend runtime calls
+ call(get_mock_bench_output(
+ 'kitchensink',
+ 'pallet_balances',
+ manifest_dir + "/src/weights.rs",
+ header_path,
+ "substrate/.maintain/frame-weight-template.hbs"
+ )),
+ ]
+ self.mock_system.assert_has_calls(expected_calls, any_order=True)
+
+ def test_bench_command_one_cumulus_runtime(self):
+ self.mock_parse_args.return_value = (argparse.Namespace(
+ command='bench',
+ runtime=['asset-hub-westend'],
+ pallet=['pallet_assets'],
+ continue_on_fail=False,
+ quiet=False,
+ clean=False,
+ image=None
+ ), [])
+ self.mock_popen.return_value.read.side_effect = [
+ "pallet_assets\n", # Output for asset-hub-westend runtime
+ ]
+ header_path = os.path.abspath('cumulus/file_header.txt')
+
+ with patch('sys.exit') as mock_exit:
+ import cmd
+ cmd.main()
+ mock_exit.assert_not_called()
+
+ expected_calls = [
+ # Build calls
+ call("forklift cargo build -p asset-hub-westend-runtime --profile release --features runtime-benchmarks"),
+ # Asset-hub-westend runtime calls
+ call(get_mock_bench_output(
+ 'asset-hub-westend',
+ 'pallet_assets',
+ './cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights',
+ header_path
+ )),
+ ]
+
+ self.mock_system.assert_has_calls(expected_calls, any_order=True)
+
+ def test_bench_command_one_cumulus_runtime_xcm(self):
+ self.mock_parse_args.return_value = (argparse.Namespace(
+ command='bench',
+ runtime=['asset-hub-westend'],
+ pallet=['pallet_xcm_benchmarks::generic', 'pallet_assets'],
+ continue_on_fail=False,
+ quiet=False,
+ clean=False,
+ image=None
+ ), [])
+ self.mock_popen.return_value.read.side_effect = [
+ "pallet_assets\npallet_xcm_benchmarks::generic\n", # Output for asset-hub-westend runtime
+ ]
+ header_path = os.path.abspath('cumulus/file_header.txt')
+
+ with patch('sys.exit') as mock_exit:
+ import cmd
+ cmd.main()
+ mock_exit.assert_not_called()
+
+ expected_calls = [
+ # Build calls
+ call("forklift cargo build -p asset-hub-westend-runtime --profile release --features runtime-benchmarks"),
+ # Asset-hub-westend runtime calls
+ call(get_mock_bench_output(
+ 'asset-hub-westend',
+ 'pallet_xcm_benchmarks::generic',
+ './cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm',
+ header_path,
+ "cumulus/templates/xcm-bench-template.hbs"
+ )),
+ call(get_mock_bench_output(
+ 'asset-hub-westend',
+ 'pallet_assets',
+ './cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights',
+ header_path
+ )),
+ ]
+
+ self.mock_system.assert_has_calls(expected_calls, any_order=True)
+
+ @patch('argparse.ArgumentParser.parse_known_args', return_value=(argparse.Namespace(command='fmt', continue_on_fail=False), []))
+ @patch('os.system', return_value=0)
+ def test_fmt_command(self, mock_system, mock_parse_args):
+ with patch('sys.exit') as mock_exit:
+ import cmd
+ cmd.main()
+ mock_exit.assert_not_called()
+ mock_system.assert_any_call('cargo +nightly fmt')
+ mock_system.assert_any_call('taplo format --config .config/taplo.toml')
+
+ @patch('argparse.ArgumentParser.parse_known_args', return_value=(argparse.Namespace(command='update-ui', continue_on_fail=False), []))
+ @patch('os.system', return_value=0)
+ def test_update_ui_command(self, mock_system, mock_parse_args):
+ with patch('sys.exit') as mock_exit:
+ import cmd
+ cmd.main()
+ mock_exit.assert_not_called()
+ mock_system.assert_called_with('sh ./scripts/update-ui-tests.sh')
+
+ @patch('argparse.ArgumentParser.parse_known_args', return_value=(argparse.Namespace(command='prdoc', continue_on_fail=False), []))
+ @patch('os.system', return_value=0)
+ def test_prdoc_command(self, mock_system, mock_parse_args):
+ with patch('sys.exit') as mock_exit:
+ import cmd
+ cmd.main()
+ mock_exit.assert_not_called()
+ self.mock_generate_prdoc_main.assert_called_with(mock_parse_args.return_value[0])
+
+if __name__ == '__main__':
+ unittest.main()
\ No newline at end of file
diff --git a/.github/scripts/generate-prdoc.py b/.github/scripts/generate-prdoc.py
new file mode 100644
index 000000000000..d3b6b523ecfd
--- /dev/null
+++ b/.github/scripts/generate-prdoc.py
@@ -0,0 +1,140 @@
+#!/usr/bin/env python3
+
+"""
+Generate the PrDoc for a Pull Request with a specific number, audience and bump level.
+
+It downloads and parses the patch from the GitHub API to opulate the prdoc with all modified crates.
+This will delete any prdoc that already exists for the PR if `--force` is passed.
+
+Usage:
+ python generate-prdoc.py --pr 1234 --audience "TODO" --bump "TODO"
+"""
+
+import argparse
+import os
+import re
+import sys
+import subprocess
+import toml
+import yaml
+import requests
+
+from github import Github
+import whatthepatch
+from cargo_workspace import Workspace
+
+# Download the patch and pass the info into `create_prdoc`.
+def from_pr_number(n, audience, bump, force):
+ print(f"Fetching PR '{n}' from GitHub")
+ g = Github()
+
+ repo = g.get_repo("paritytech/polkadot-sdk")
+ pr = repo.get_pull(n)
+
+ patch_url = pr.patch_url
+ patch = requests.get(patch_url).text
+
+ create_prdoc(n, audience, pr.title, pr.body, patch, bump, force)
+
+def create_prdoc(pr, audience, title, description, patch, bump, force):
+ path = f"prdoc/pr_{pr}.prdoc"
+
+ if os.path.exists(path):
+ if force == True:
+ print(f"Overwriting existing PrDoc for PR {pr}")
+ else:
+ print(f"PrDoc already exists for PR {pr}. Use --force to overwrite.")
+ sys.exit(1)
+ else:
+ print(f"No preexisting PrDoc for PR {pr}")
+
+ prdoc = { "title": title, "doc": [{}], "crates": [] }
+
+ prdoc["doc"][0]["audience"] = audience
+ prdoc["doc"][0]["description"] = description
+
+ workspace = Workspace.from_path(".")
+
+ modified_paths = []
+ for diff in whatthepatch.parse_patch(patch):
+ new_path = diff.header.new_path
+ # Sometimes this lib returns `/dev/null` as the new path...
+ if not new_path.startswith("/dev"):
+ modified_paths.append(new_path)
+
+ modified_crates = {}
+ for p in modified_paths:
+ # Go up until we find a Cargo.toml
+ p = os.path.join(workspace.path, p)
+ while not os.path.exists(os.path.join(p, "Cargo.toml")):
+ print(f"Could not find Cargo.toml in {p}")
+ if p == '/':
+ exit(1)
+ p = os.path.dirname(p)
+
+ with open(os.path.join(p, "Cargo.toml")) as f:
+ manifest = toml.load(f)
+
+ if not "package" in manifest:
+ print(f"File was not in any crate: {p}")
+ continue
+
+ crate_name = manifest["package"]["name"]
+ if workspace.crate_by_name(crate_name).publish:
+ modified_crates[crate_name] = True
+ else:
+ print(f"Skipping unpublished crate: {crate_name}")
+
+ print(f"Modified crates: {modified_crates.keys()}")
+
+ for crate_name in modified_crates.keys():
+ entry = { "name": crate_name }
+
+ if bump == 'silent' or bump == 'ignore' or bump == 'no change':
+ entry["validate"] = False
+ else:
+ entry["bump"] = bump
+
+ print(f"Adding crate {entry}")
+ prdoc["crates"].append(entry)
+
+ # write the parsed PR documentation back to the file
+ with open(path, "w") as f:
+ yaml.dump(prdoc, f, sort_keys=False)
+ print(f"PrDoc for PR {pr} written to {path}")
+
+# Make the `description` a multiline string instead of escaping \r\n.
+def setup_yaml():
+ def yaml_multiline_string_presenter(dumper, data):
+ if len(data.splitlines()) > 1:
+ data = '\n'.join([line.rstrip() for line in data.strip().splitlines()])
+ return dumper.represent_scalar('tag:yaml.org,2002:str', data, style='|')
+ return dumper.represent_scalar('tag:yaml.org,2002:str', data)
+
+ yaml.add_representer(str, yaml_multiline_string_presenter)
+
+# parse_args is also used by cmd/cmd.py
+def setup_parser(parser=None):
+ if parser is None:
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--pr", type=int, required=True, help="The PR number to generate the PrDoc for." )
+ parser.add_argument("--audience", type=str, default="TODO", help="The audience of whom the changes may concern.")
+ parser.add_argument("--bump", type=str, default="TODO", help="A default bump level for all crates.")
+ parser.add_argument("--force", type=str, help="Whether to overwrite any existing PrDoc.")
+
+ return parser
+
+def main(args):
+ force = True if (args.force or "false").lower() == "true" else False
+ print(f"Args: {args}, force: {force}")
+ setup_yaml()
+ try:
+ from_pr_number(args.pr, args.audience, args.bump, force)
+ return 0
+ except Exception as e:
+ print(f"Error generating prdoc: {e}")
+ return 1
+
+if __name__ == "__main__":
+ args = setup_parser().parse_args()
+ main(args)
\ No newline at end of file
diff --git a/.github/scripts/generate-prdoc.requirements.txt b/.github/scripts/generate-prdoc.requirements.txt
new file mode 100644
index 000000000000..c17aceff63a0
--- /dev/null
+++ b/.github/scripts/generate-prdoc.requirements.txt
@@ -0,0 +1,6 @@
+requests
+cargo-workspace
+PyGithub
+whatthepatch
+pyyaml
+toml
\ No newline at end of file
diff --git a/.github/scripts/generate-readmes.py b/.github/scripts/generate-readmes.py
new file mode 100755
index 000000000000..f838eaa29a74
--- /dev/null
+++ b/.github/scripts/generate-readmes.py
@@ -0,0 +1,136 @@
+#!/usr/bin/env python3
+
+"""
+A script to generate READMEs for all public crates,
+if they do not already have one.
+
+It relies on functions from the `check-workspace.py` script.
+
+The resulting README is based on a template defined below,
+and includes the crate name, description, license,
+and optionally - the SDK release version.
+
+# Example
+
+```sh
+python3 -m pip install toml
+.github/scripts/generate-readmes.py . --sdk-version 1.15.0
+```
+"""
+
+import os
+import toml
+import importlib
+import argparse
+
+check_workspace = importlib.import_module("check-workspace")
+
+README_TEMPLATE = """
+
+
+
+# {name}
+
+This crate is part of the [Polkadot SDK](https://github.com/paritytech/polkadot-sdk/).
+
+
+
+## Description
+
+{description}
+
+## Additional Resources
+
+In order to learn about Polkadot SDK, head over to the [Polkadot SDK Developer Documentation](https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/index.html).
+
+To learn about Polkadot, visit [polkadot.com](https://polkadot.com/).
+
+## License
+
+This crate is licensed with {license}.
+"""
+
+VERSION_TEMPLATE = """
+## Version
+
+This version of `{name}` is associated with Polkadot {sdk_version} release.
+"""
+
+
+def generate_readme(member, *, workspace_dir, workspace_license, sdk_version):
+ print(f"Loading manifest for: {member}")
+ manifest = toml.load(os.path.join(workspace_dir, member, "Cargo.toml"))
+ if manifest["package"].get("publish", True) == False:
+ print(f"⏩ Skipping un-published crate: {member}")
+ return
+ if os.path.exists(os.path.join(workspace_dir, member, "README.md")):
+ print(f"⏩ Skipping crate with an existing readme: {member}")
+ return
+ print(f"📝 Generating README for: {member}")
+
+ license = manifest["package"]["license"]
+ if isinstance(license, dict):
+ if not license.get("workspace", False):
+ print(
+ f"❌ License for {member} is unexpectedly declared as workspace=false."
+ )
+ # Skipping this crate as it is not clear what license it should use.
+ return
+ license = workspace_license
+
+ name = manifest["package"]["name"]
+ description = manifest["package"]["description"]
+ description = description + "." if not description.endswith(".") else description
+
+ filled_readme = README_TEMPLATE.format(
+ name=name, description=description, license=license
+ )
+
+ if sdk_version:
+ filled_readme += VERSION_TEMPLATE.format(name=name, sdk_version=sdk_version)
+
+ with open(os.path.join(workspace_dir, member, "README.md"), "w") as new_readme:
+ new_readme.write(filled_readme)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description="Generate readmes for published crates."
+ )
+
+ parser.add_argument(
+ "workspace_dir",
+ help="The directory to check",
+ metavar="workspace_dir",
+ type=str,
+ nargs=1,
+ )
+ parser.add_argument(
+ "--sdk-version",
+ help="Optional SDK release version",
+ metavar="sdk_version",
+ type=str,
+ nargs=1,
+ required=False,
+ )
+
+ args = parser.parse_args()
+ return (args.workspace_dir[0], args.sdk_version[0] if args.sdk_version else None)
+
+
+def main():
+ (workspace_dir, sdk_version) = parse_args()
+ root_manifest = toml.load(os.path.join(workspace_dir, "Cargo.toml"))
+ workspace_license = root_manifest["workspace"]["package"]["license"]
+ members = check_workspace.get_members(workspace_dir, [])
+ for member in members:
+ generate_readme(
+ member,
+ workspace_dir=workspace_dir,
+ workspace_license=workspace_license,
+ sdk_version=sdk_version,
+ )
+
+
+if __name__ == "__main__":
+ main()
diff --git a/.github/scripts/release/release_lib.sh b/.github/scripts/release/release_lib.sh
new file mode 100644
index 000000000000..81a3c14edec8
--- /dev/null
+++ b/.github/scripts/release/release_lib.sh
@@ -0,0 +1,118 @@
+#!/usr/bin/env bash
+
+# Set the new version by replacing the value of the constant given as patetrn
+# in the file.
+#
+# input: pattern, version, file
+#output: none
+set_version() {
+ pattern=$1
+ version=$2
+ file=$3
+
+ sed -i "s/$pattern/\1\"${version}\"/g" $file
+ return 0
+}
+
+# Commit changes to git with specific message.
+# "|| true" does not let script to fail with exit code 1,
+# in case there is nothing to commit.
+#
+# input: MESSAGE (any message which should be used for the commit)
+# output: none
+commit_with_message() {
+ MESSAGE=$1
+ git commit -a -m "$MESSAGE" || true
+}
+
+# Retun list of the runtimes filterd
+# input: none
+# output: list of filtered runtimes
+get_filtered_runtimes_list() {
+ grep_filters=("runtime.*" "test|template|starters|substrate")
+
+ git grep spec_version: | grep .rs: | grep -e "${grep_filters[0]}" | grep "lib.rs" | grep -vE "${grep_filters[1]}" | cut -d: -f1
+}
+
+# Sets provided spec version
+# input: version
+set_spec_versions() {
+ NEW_VERSION=$1
+ runtimes_list=(${@:2})
+
+ printf "Setting spec_version to $NEW_VERSION\n"
+
+ for f in ${runtimes_list[@]}; do
+ printf " processing $f"
+ sed -ri "s/spec_version: [0-9]+_[0-9]+_[0-9]+,/spec_version: $NEW_VERSION,/" $f
+ done
+
+ commit_with_message "Bump spec_version to $NEW_VERSION"
+
+ git_show_log 'spec_version'
+}
+
+# Displays formated results of the git log command
+# for the given pattern which needs to be found in logs
+# input: pattern, count (optional, default is 10)
+git_show_log() {
+ PATTERN="$1"
+ COUNT=${2:-10}
+ git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=iso-strict | \
+ head -n $COUNT | grep -iE "$PATTERN" --color=always -z
+}
+
+# Get a spec_version number from the crate version
+#
+# ## inputs
+# - v1.12.0 or 1.12.0
+#
+# ## output:
+# 1_012_000 or 1_012_001 if SUFFIX is set
+function get_spec_version() {
+ INPUT=$1
+ SUFFIX=${SUFFIX:-000} #this variable makes it possible to set a specific ruuntime version like 93826 it can be intialised as sestem variable
+ [[ $INPUT =~ .*([0-9]+\.[0-9]+\.[0-9]{1,2}).* ]]
+ VERSION="${BASH_REMATCH[1]}"
+ MATCH="${BASH_REMATCH[0]}"
+ if [ -z $MATCH ]; then
+ return 1
+ else
+ SPEC_VERSION="$(sed -e "s/\./_0/g" -e "s/_[^_]*\$/_$SUFFIX/" <<< $VERSION)"
+ echo "$SPEC_VERSION"
+ return 0
+ fi
+}
+
+# Reorganize the prdoc files for the release
+#
+# input: VERSION (e.g. v1.0.0)
+# output: none
+reorder_prdocs() {
+ VERSION="$1"
+
+ printf "[+] ℹ️ Reordering prdocs:"
+
+ VERSION=$(sed -E 's/^v([0-9]+\.[0-9]+\.[0-9]+).*$/\1/' <<< "$VERSION") #getting reed of the 'v' prefix
+ mkdir -p "prdoc/$VERSION"
+ mv prdoc/pr_*.prdoc prdoc/$VERSION
+ git add -A
+ commit_with_message "Reordering prdocs for the release $VERSION"
+}
+
+# Bump the binary version of the polkadot-parachain binary with the
+# new bumped version and commit changes.
+#
+# input: version e.g. 1.16.0
+set_polkadot_parachain_binary_version() {
+ bumped_version="$1"
+ cargo_toml_file="$2"
+
+ set_version "\(^version = \)\".*\"" $bumped_version $cargo_toml_file
+
+ cargo update --workspace --offline # we need this to update Cargo.loc with the new versions as well
+
+ MESSAGE="Bump versions in: ${cargo_toml_file}"
+ commit_with_message "$MESSAGE"
+ git_show_log "$MESSAGE"
+}
diff --git a/.github/scripts/update-wishlist-leaderboard.py b/.github/scripts/update-wishlist-leaderboard.py
new file mode 100644
index 000000000000..82d108514484
--- /dev/null
+++ b/.github/scripts/update-wishlist-leaderboard.py
@@ -0,0 +1,79 @@
+from github import Github
+import re
+import os
+from datetime import date
+
+g = Github(os.getenv("GH_TOKEN"))
+
+# Regex pattern to match wish format:
+wish_pattern = re.compile(
+ r"I wish for:? (https://github\.com/([a-zA-Z0-9_.-]+)/([a-zA-Z0-9_.-]+)/(issues|pull)/(\d+))"
+)
+
+wishlist_issue = g.get_repo(os.getenv("WISHLIST_REPOSITORY")).get_issue(
+ int(os.getenv("WISHLIST_ISSUE_NUMBER"))
+)
+new_leaderboard = (
+ "| Feature Request | Summary | Votes | Status |\n| --- | --- | --- | --- |\n"
+)
+wishes = {}
+issue_details = {}
+
+for comment in wishlist_issue.get_comments():
+ # in the comment body, if there is a string `#(\d)`, replace it with
+ # https://github.com/paritytech/polkadot-sdk/issues/(number)
+ updated_body = re.sub(
+ r"#(\d+)", r"https://github.com/paritytech/polkadot-sdk/issues/\1", comment.body
+ )
+
+ matches = wish_pattern.findall(updated_body)
+ for match in matches:
+ url, org, repo_name, _, issue_id = match
+ issue_key = (url, org, repo_name, issue_id)
+ if issue_key not in wishes:
+ wishes[issue_key] = []
+
+ # Get the author and upvoters of the wish comment.
+ wishes[issue_key].append(comment.user.id)
+ wishes[issue_key].extend(
+ [
+ reaction.user.id
+ for reaction in comment.get_reactions()
+ if reaction.content in ["+1", "heart", "rocket"]
+ ]
+ )
+
+ # Get upvoters of the desired issue.
+ desired_issue = g.get_repo(f"{org}/{repo_name}").get_issue(int(issue_id))
+ wishes[issue_key].extend(
+ [
+ reaction.user.id
+ for reaction in desired_issue.get_reactions()
+ if reaction.content in ["+1", "heart", "rocket"]
+ ]
+ )
+ issue_details[url] = [
+ desired_issue.title,
+ "👾 Open" if desired_issue.state == "open" else "✅Closed",
+ ]
+
+# Count unique wishes - the author of the wish, upvoters of the wish, and upvoters of the desired issue.
+for key in wishes:
+ wishes[key] = len(list(set(wishes[key])))
+
+# Sort wishes by count and add to the markdown table
+sorted_wishes = sorted(wishes.items(), key=lambda x: x[1], reverse=True)
+for (url, _, _, _), count in sorted_wishes:
+ [summary, status] = issue_details.get(url, "No summary available")
+ new_leaderboard += f"| {url} | {summary} | {count} | {status} |\n"
+new_leaderboard += f"\n> Last updated: {date.today().strftime('%Y-%m-%d')}\n"
+print(new_leaderboard)
+
+new_content = re.sub(
+ r"(\| Feature Request \|)(.*?)(> Last updated:)(.*?\n)",
+ new_leaderboard,
+ wishlist_issue.body,
+ flags=re.DOTALL,
+)
+
+wishlist_issue.edit(body=new_content)
diff --git a/.github/workflows/parachain.yml b/.github/workflows/parachain.yml
index 0df1fe3872a0..aa2b2bce5339 100644
--- a/.github/workflows/parachain.yml
+++ b/.github/workflows/parachain.yml
@@ -67,12 +67,8 @@ jobs:
-p snowbridge-router-primitives
-p snowbridge-runtime-common
-p snowbridge-runtime-test-common
- -p bridge-hub-rococo-runtime
- -p bridge-hub-rococo-integration-tests
- -p asset-hub-rococo-integration-tests
-p bridge-hub-westend-runtime
-p bridge-hub-westend-integration-tests
- -p asset-hub-westend-integration-tests
--
--check
- name: install taplo
@@ -128,9 +124,33 @@ jobs:
rustup component add rustfmt --toolchain nightly
rustup show
- name: cargo check
- run: cargo check --workspace --all-features
+ run: >
+ cargo check -p snowbridge-pallet-ethereum-client
+ -p snowbridge-pallet-inbound-queue
+ -p snowbridge-pallet-outbound-queue
+ -p snowbridge-outbound-queue-merkle-tree
+ -p snowbridge-pallet-system
+ -p snowbridge-beacon-primitives
+ -p snowbridge-core
+ -p snowbridge-ethereum
+ -p snowbridge-router-primitives
+ -p snowbridge-runtime-common
- name: clippy
- run: cargo clippy --all-features -- -D warnings
+ run: >
+ cargo clippy -p snowbridge-pallet-ethereum-client
+ -p snowbridge-pallet-inbound-queue
+ -p snowbridge-pallet-outbound-queue
+ -p snowbridge-outbound-queue-merkle-tree
+ -p snowbridge-pallet-system
+ -p snowbridge-beacon-primitives
+ -p snowbridge-core
+ -p snowbridge-ethereum
+ -p snowbridge-router-primitives
+ -p snowbridge-runtime-common
+ -p snowbridge-runtime-test-common
+ -p bridge-hub-westend-runtime
+ -p bridge-hub-westend-integration-tests
+ -- -D warnings
test:
needs: check
@@ -236,41 +256,19 @@ jobs:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: setup rust toolchain
run: rustup show
- - name: check bridge-hub fast-runtime
+ - name: check bridge-hub features
run: >
cargo check
--release --verbose
- -p bridge-hub-rococo-runtime
- -p bridge-hub-westend-runtime
- --features fast-runtime
- - name: check bridge-hub runtime-benchmarks
- run: >
- cargo check
- --release --verbose
- -p bridge-hub-rococo-runtime
- -p bridge-hub-westend-runtime
- --features runtime-benchmarks
- - name: check bridge-hub try-runtime
- run: >
- cargo check
- --release --verbose
- -p bridge-hub-rococo-runtime
-p bridge-hub-westend-runtime
+ --features fast-runtime
+ --features runtime-benchmarks
--features try-runtime
- - name: check bridge-hub all features
- run: >
- cargo check
- --release --verbose
- -p bridge-hub-rococo-runtime
- -p bridge-hub-westend-runtime
- --all-features
- - name: check asset-hub all features
+ - name: check asset-hub
run: >
cargo check
--release --verbose
- -p asset-hub-rococo-runtime
-p asset-hub-westend-runtime
- --all-features
runtime-tests:
needs: check
diff --git a/.gitignore b/.gitignore
index e3e382af6195..0263626d832d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,6 +23,7 @@
**/node_modules
**/target/
**/wip/*.stderr
+**/__pycache__/
/.cargo/config
/.envrc
artifacts
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7f2babc6bd47..43123cdbfc41 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,7 +21,7 @@ workflow:
- if: $CI_COMMIT_BRANCH
variables:
- CI_IMAGE: !reference [.ci-unified, variables, CI_IMAGE]
+ CI_IMAGE: !reference [ .ci-unified, variables, CI_IMAGE ]
# BUILDAH_IMAGE is defined in group variables
BUILDAH_COMMAND: "buildah --storage-driver overlay2"
RELENG_SCRIPTS_BRANCH: "master"
@@ -39,7 +39,7 @@ default:
- runner_system_failure
- unknown_failure
- api_failure
- cache: {}
+ cache: { }
interruptible: true
.collect-artifacts:
@@ -68,8 +68,8 @@ default:
.common-before-script:
before_script:
- - !reference [.job-switcher, before_script]
- - !reference [.pipeline-stopper-vars, script]
+ - !reference [ .job-switcher, before_script ]
+ - !reference [ .pipeline-stopper-vars, script ]
.job-switcher:
before_script:
@@ -78,8 +78,8 @@ default:
.kubernetes-env:
image: "${CI_IMAGE}"
before_script:
- - !reference [.common-before-script, before_script]
- - !reference [.prepare-env, before_script]
+ - !reference [ .common-before-script, before_script ]
+ - !reference [ .prepare-env, before_script ]
tags:
- kubernetes-parity-build
@@ -107,12 +107,12 @@ default:
.docker-env:
image: "${CI_IMAGE}"
variables:
- FL_FORKLIFT_VERSION: !reference [.forklift, variables, FL_FORKLIFT_VERSION]
+ FL_FORKLIFT_VERSION: !reference [ .forklift, variables, FL_FORKLIFT_VERSION ]
before_script:
- - !reference [.common-before-script, before_script]
- - !reference [.prepare-env, before_script]
- - !reference [.rust-info-script, script]
- - !reference [.forklift-cache, before_script]
+ - !reference [ .common-before-script, before_script ]
+ - !reference [ .prepare-env, before_script ]
+ - !reference [ .rust-info-script, script ]
+ - !reference [ .forklift-cache, before_script ]
tags:
- linux-docker
@@ -268,82 +268,6 @@ remove-cancel-pipeline-message:
PR_NUM: "${CI_COMMIT_REF_NAME}"
trigger:
project: "parity/infrastructure/ci_cd/pipeline-stopper"
-# need to copy jobs this way because otherwise gitlab will wait
-# for all 3 jobs to finish instead of cancelling if one fails
-cancel-pipeline-test-linux-stable1:
- extends: .cancel-pipeline-template
- needs:
- - job: "test-linux-stable 1/3"
-
-cancel-pipeline-test-linux-stable2:
- extends: .cancel-pipeline-template
- needs:
- - job: "test-linux-stable 2/3"
-
-cancel-pipeline-test-linux-stable3:
- extends: .cancel-pipeline-template
- needs:
- - job: "test-linux-stable 3/3"
-
-cancel-pipeline-cargo-check-benches1:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-benches 1/2"
-
-cancel-pipeline-cargo-check-benches2:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-benches 2/2"
-
-cancel-pipeline-test-linux-stable-int:
- extends: .cancel-pipeline-template
- needs:
- - job: test-linux-stable-int
-
-cancel-pipeline-cargo-check-each-crate-1:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-each-crate 1/6"
-
-cancel-pipeline-cargo-check-each-crate-2:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-each-crate 2/6"
-
-cancel-pipeline-cargo-check-each-crate-3:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-each-crate 3/6"
-
-cancel-pipeline-cargo-check-each-crate-4:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-each-crate 4/6"
-
-cancel-pipeline-cargo-check-each-crate-5:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-each-crate 5/6"
-
-cancel-pipeline-cargo-check-each-crate-6:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-each-crate 6/6"
-
-cancel-pipeline-cargo-check-each-crate-macos:
- extends: .cancel-pipeline-template
- needs:
- - job: cargo-check-each-crate-macos
-
-cancel-pipeline-check-tracing:
- extends: .cancel-pipeline-template
- needs:
- - job: check-tracing
-
-cancel-pipeline-cargo-clippy:
- extends: .cancel-pipeline-template
- needs:
- - job: cargo-clippy
cancel-pipeline-build-linux-stable:
extends: .cancel-pipeline-template
@@ -360,42 +284,12 @@ cancel-pipeline-build-linux-substrate:
needs:
- job: build-linux-substrate
-cancel-pipeline-test-node-metrics:
- extends: .cancel-pipeline-template
- needs:
- - job: test-node-metrics
-
-cancel-pipeline-test-frame-ui:
- extends: .cancel-pipeline-template
- needs:
- - job: test-frame-ui
-
-cancel-pipeline-quick-benchmarks:
- extends: .cancel-pipeline-template
- needs:
- - job: quick-benchmarks
-
-cancel-pipeline-check-try-runtime:
- extends: .cancel-pipeline-template
- needs:
- - job: check-try-runtime
-
-cancel-pipeline-test-frame-examples-compile-to-wasm:
- extends: .cancel-pipeline-template
- needs:
- - job: test-frame-examples-compile-to-wasm
-
cancel-pipeline-build-short-benchmark:
extends: .cancel-pipeline-template
needs:
- job: build-short-benchmark
-cancel-pipeline-check-runtime-migration-rococo:
- extends: .cancel-pipeline-template
- needs:
- - job: check-runtime-migration-rococo
-
-cancel-pipeline-check-runtime-migration-westend:
+cancel-pipeline-cargo-check-each-crate-macos:
extends: .cancel-pipeline-template
needs:
- - job: check-runtime-migration-westend
+ - job: cargo-check-each-crate-macos
\ No newline at end of file
diff --git a/.gitlab/pipeline/build.yml b/.gitlab/pipeline/build.yml
index 8658e92efc8f..a5de2173a71f 100644
--- a/.gitlab/pipeline/build.yml
+++ b/.gitlab/pipeline/build.yml
@@ -313,7 +313,7 @@ build-linux-substrate:
# tldr: we need to checkout the branch HEAD explicitly because of our dynamic versioning approach while building the substrate binary
# see https://github.com/paritytech/ci_cd/issues/682#issuecomment-1340953589
- git checkout -B "$CI_COMMIT_REF_NAME" "$CI_COMMIT_SHA"
- - !reference [.forklift-cache, before_script]
+ - !reference [ .forklift-cache, before_script ]
script:
- time WASM_BUILD_NO_COLOR=1 cargo build --locked --release -p staging-node-cli
- mv $CARGO_TARGET_DIR/release/substrate-node ./artifacts/substrate/substrate
@@ -329,73 +329,6 @@ build-linux-substrate:
# - printf '\n# building node-template\n\n'
# - ./scripts/ci/node-template-release.sh ./artifacts/substrate/substrate-node-template.tar.gz
-build-runtimes-polkavm:
- stage: build
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- script:
- - SUBSTRATE_RUNTIME_TARGET=riscv cargo check -p minimal-template-runtime
- - SUBSTRATE_RUNTIME_TARGET=riscv cargo check -p westend-runtime
- - SUBSTRATE_RUNTIME_TARGET=riscv cargo check -p rococo-runtime
- - SUBSTRATE_RUNTIME_TARGET=riscv cargo check -p polkadot-test-runtime
-
-.build-subkey:
- stage: build
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- # - .collect-artifact
- variables:
- # this variable gets overridden by "rusty-cachier environment inject", use the value as default
- CARGO_TARGET_DIR: "$CI_PROJECT_DIR/target"
- before_script:
- - mkdir -p ./artifacts/subkey
- - !reference [.forklift-cache, before_script]
- script:
- - cd ./substrate/bin/utils/subkey
- - time SKIP_WASM_BUILD=1 cargo build --locked --release
- # - cd -
- # - mv $CARGO_TARGET_DIR/release/subkey ./artifacts/subkey/.
- # - echo -n "Subkey version = "
- # - ./artifacts/subkey/subkey --version |
- # sed -n -E 's/^subkey ([0-9.]+.*)/\1/p' |
- # tee ./artifacts/subkey/VERSION;
- # - sha256sum ./artifacts/subkey/subkey | tee ./artifacts/subkey/subkey.sha256
- # - cp -r ./scripts/ci/docker/subkey.Dockerfile ./artifacts/subkey/
-
-build-subkey-linux:
- extends: .build-subkey
- # DAG
- needs:
- - job: build-malus
- artifacts: false
-# tbd
-# build-subkey-macos:
-# extends: .build-subkey
-# # duplicating before_script & script sections from .build-subkey hidden job
-# # to overwrite rusty-cachier integration as it doesn't work on macos
-# before_script:
-# # skip timestamp script, the osx bash doesn't support printf %()T
-# - !reference [.job-switcher, before_script]
-# - mkdir -p ./artifacts/subkey
-# script:
-# - cd ./bin/utils/subkey
-# - SKIP_WASM_BUILD=1 time cargo build --locked --release
-# - cd -
-# - mv ./target/release/subkey ./artifacts/subkey/.
-# - echo -n "Subkey version = "
-# - ./artifacts/subkey/subkey --version |
-# sed -n -E 's/^subkey ([0-9.]+.*)/\1/p' |
-# tee ./artifacts/subkey/VERSION;
-# - sha256sum ./artifacts/subkey/subkey | tee ./artifacts/subkey/subkey.sha256
-# - cp -r ./scripts/ci/docker/subkey.Dockerfile ./artifacts/subkey/
-# after_script: [""]
-# tags:
-# - osx
-
# bridges
# we need some non-binary artifacts in our bridges+zombienet image
diff --git a/.gitlab/pipeline/check.yml b/.gitlab/pipeline/check.yml
index 2b8b90ef19a4..7d1f37dddd51 100644
--- a/.gitlab/pipeline/check.yml
+++ b/.gitlab/pipeline/check.yml
@@ -1,51 +1,3 @@
-cargo-clippy:
- stage: check
- extends:
- - .docker-env
- - .common-refs
- - .pipeline-stopper-artifacts
- variables:
- RUSTFLAGS: "-D warnings"
- script:
- - SKIP_WASM_BUILD=1 cargo clippy --all-targets --locked --workspace --quiet
- - SKIP_WASM_BUILD=1 cargo clippy --all-targets --all-features --locked --workspace --quiet
-
-check-try-runtime:
- stage: check
- extends:
- - .docker-env
- - .common-refs
- script:
- - time cargo check --locked --all --features try-runtime
- # this is taken from cumulus
- # Check that parachain-template will compile with `try-runtime` feature flag.
- - time cargo check --locked -p parachain-template-node --features try-runtime
- # add after https://github.com/paritytech/substrate/pull/14502 is merged
- # experimental code may rely on try-runtime and vice-versa
- - time cargo check --locked --all --features try-runtime,experimental
-
-# from substrate
-# not sure if it's needed in monorepo
-check-dependency-rules:
- stage: check
- extends:
- - .kubernetes-env
- - .test-refs-no-trigger-prs-only
- variables:
- CI_IMAGE: "paritytech/tools:latest"
- allow_failure: true
- script:
- - cd substrate/
- - ../.gitlab/ensure-deps.sh
-
-test-rust-features:
- stage: check
- extends:
- - .kubernetes-env
- - .test-refs-no-trigger-prs-only
- script:
- - bash .gitlab/rust-features.sh .
-
job-starter:
stage: check
image: paritytech/tools:latest
@@ -55,105 +7,3 @@ job-starter:
allow_failure: true
script:
- echo ok
-
-check-rust-feature-propagation:
- stage: check
- extends:
- - .kubernetes-env
- - .common-refs
- script:
- - zepter run check
-
-check-toml-format:
- stage: check
- extends:
- - .kubernetes-env
- - .common-refs
- script:
- - taplo format --check --config .config/taplo.toml
- - echo "Please run `taplo format --config .config/taplo.toml` to fix any toml formatting issues"
-
-# More info can be found here: https://github.com/paritytech/polkadot/pull/5865
-.check-runtime-migration:
- stage: check
- extends:
- - .docker-env
- - .test-pr-refs
- script:
- - export RUST_LOG=remote-ext=debug,runtime=debug
- - echo "---------- Downloading try-runtime CLI ----------"
- - curl -sL https://github.com/paritytech/try-runtime-cli/releases/download/v0.5.4/try-runtime-x86_64-unknown-linux-musl -o try-runtime
- - chmod +x ./try-runtime
- - echo "Using try-runtime-cli version:"
- - ./try-runtime --version
- - echo "---------- Building ${PACKAGE} runtime ----------"
- - time cargo build --release --locked -p "$PACKAGE" --features try-runtime
- - echo "---------- Executing on-runtime-upgrade for ${NETWORK} ----------"
- - >
- time ./try-runtime ${COMMAND_EXTRA_ARGS} \
- --runtime ./target/release/wbuild/"$PACKAGE"/"$WASM" \
- on-runtime-upgrade --disable-spec-version-check --checks=all ${SUBCOMMAND_EXTRA_ARGS} live --uri ${URI}
- - sleep 5
-
-# Check runtime migrations for Parity managed relay chains
-check-runtime-migration-westend:
- stage: check
- extends:
- - .docker-env
- - .test-pr-refs
- - .check-runtime-migration
- variables:
- NETWORK: "westend"
- PACKAGE: "westend-runtime"
- WASM: "westend_runtime.compact.compressed.wasm"
- URI: "wss://westend-try-runtime-node.parity-chains.parity.io:443"
- SUBCOMMAND_EXTRA_ARGS: "--no-weight-warnings"
-
-check-runtime-migration-rococo:
- stage: check
- extends:
- - .docker-env
- - .test-pr-refs
- - .check-runtime-migration
- variables:
- NETWORK: "rococo"
- PACKAGE: "rococo-runtime"
- WASM: "rococo_runtime.compact.compressed.wasm"
- URI: "wss://rococo-try-runtime-node.parity-chains.parity.io:443"
- SUBCOMMAND_EXTRA_ARGS: "--no-weight-warnings"
-
-find-fail-ci-phrase:
- stage: check
- variables:
- CI_IMAGE: "paritytech/tools:latest"
- ASSERT_REGEX: "FAIL-CI"
- GIT_DEPTH: 1
- extends:
- - .kubernetes-env
- - .test-pr-refs
- script:
- - set +e
- - rg --line-number --hidden --type rust --glob '!{.git,target}' "$ASSERT_REGEX" .; exit_status=$?
- - if [ $exit_status -eq 0 ]; then
- echo "$ASSERT_REGEX was found, exiting with 1";
- exit 1;
- else
- echo "No $ASSERT_REGEX was found, exiting with 0";
- exit 0;
- fi
-
-check-core-crypto-features:
- stage: check
- extends:
- - .docker-env
- - .common-refs
- script:
- - pushd substrate/primitives/core
- - ./check-features-variants.sh
- - popd
- - pushd substrate/primitives/application-crypto
- - ./check-features-variants.sh
- - popd
- - pushd substrate/primitives/keyring
- - ./check-features-variants.sh
- - popd
diff --git a/.gitlab/pipeline/publish.yml b/.gitlab/pipeline/publish.yml
index 44cd1933a9cf..5ad9ae9bfb36 100644
--- a/.gitlab/pipeline/publish.yml
+++ b/.gitlab/pipeline/publish.yml
@@ -62,83 +62,6 @@ publish-rustdoc:
after_script:
- rm -rf .git/ ./*
-publish-subsystem-benchmarks:
- stage: publish
- variables:
- CI_IMAGE: "paritytech/tools:latest"
- extends:
- - .kubernetes-env
- - .publish-gh-pages-refs
- needs:
- - job: subsystem-benchmark-availability-recovery
- artifacts: true
- - job: subsystem-benchmark-availability-distribution
- artifacts: true
- - job: subsystem-benchmark-approval-voting
- artifacts: true
- - job: subsystem-benchmark-statement-distribution
- artifacts: true
- - job: publish-rustdoc
- artifacts: false
- script:
- # setup ssh
- - eval $(ssh-agent)
- - ssh-add - <<< ${GITHUB_SSH_PRIV_KEY}
- - mkdir ~/.ssh && touch ~/.ssh/known_hosts
- - ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
- # Set git config
- - rm -rf .git/config
- - git config user.email "devops-team@parity.io"
- - git config user.name "${GITHUB_USER}"
- - git config remote.origin.url "git@github.com:/paritytech/${CI_PROJECT_NAME}.git"
- - git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
- - git fetch origin gh-pages
- # Push result to github
- - git checkout gh-pages --force
- - mkdir -p bench/gitlab/ || echo "Directory exists"
- - rm -rf bench/gitlab/*.json || echo "No json files"
- - cp -r charts/*.json bench/gitlab/
- - git add bench/gitlab/
- - git commit -m "Add json files with benchmark results for ${CI_COMMIT_REF_NAME}"
- - git push origin gh-pages
- # artificial sleep to publish gh-pages
- - sleep 300
- allow_failure: true
- after_script:
- - rm -rf .git/ ./*
-
-trigger_workflow:
- stage: deploy
- extends:
- - .kubernetes-env
- - .publish-gh-pages-refs
- needs:
- - job: publish-subsystem-benchmarks
- artifacts: false
- - job: subsystem-benchmark-availability-recovery
- artifacts: true
- - job: subsystem-benchmark-availability-distribution
- artifacts: true
- - job: subsystem-benchmark-approval-voting
- artifacts: true
- - job: subsystem-benchmark-statement-distribution
- artifacts: true
- script:
- - echo "Triggering workflow"
- - >
- for benchmark in $(ls charts/*.json); do
- export benchmark_name=$(basename $benchmark);
- echo "Benchmark: $benchmark_name";
- export benchmark_dir=$(echo $benchmark_name | sed 's/\.json//');
- curl -q -X POST \
- -H "Accept: application/vnd.github.v3+json" \
- -H "Authorization: token $GITHUB_TOKEN" \
- https://api.github.com/repos/paritytech/${CI_PROJECT_NAME}/actions/workflows/publish-subsystem-benchmarks.yml/dispatches \
- -d "{\"ref\":\"refs/heads/master\",\"inputs\":{\"benchmark-data-dir-path\":\"$benchmark_dir\",\"output-file-path\":\"$benchmark_name\"}}";
- sleep 300;
- done
- allow_failure: true
-
# note: images are used not only in zombienet but also in rococo, wococo and versi
.build-push-image:
image: $BUILDAH_IMAGE
diff --git a/.gitlab/pipeline/test.yml b/.gitlab/pipeline/test.yml
index d171a8a19426..0879870ae13c 100644
--- a/.gitlab/pipeline/test.yml
+++ b/.gitlab/pipeline/test.yml
@@ -110,121 +110,6 @@ test-linux-stable-codecov:
codecovcli -v do-upload -f target/coverage/result/report-${CI_NODE_INDEX}.lcov --disable-search -t ${CODECOV_TOKEN} -r paritytech/polkadot-sdk --commit-sha ${CI_COMMIT_SHA} --fail-on-error --git-service github;
fi
- #
-
-test-linux-stable:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- - .pipeline-stopper-artifacts
- variables:
- RUST_TOOLCHAIN: stable
- # Enable debug assertions since we are running optimized builds for testing
- # but still want to have debug assertions.
- RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings"
- parallel: 3
- script:
- # Build all but only execute 'runtime' tests.
- - echo "Node index - ${CI_NODE_INDEX}. Total amount - ${CI_NODE_TOTAL}"
- - >
- time cargo nextest run \
- --workspace \
- --locked \
- --release \
- --no-fail-fast \
- --features try-runtime,experimental,riscv,ci-only-tests \
- --partition count:${CI_NODE_INDEX}/${CI_NODE_TOTAL}
- # Upload tests results to Elasticsearch
- - echo "Upload test results to Elasticsearch"
- - cat target/nextest/default/junit.xml | xq . > target/nextest/default/junit.json
- - >
- curl -v -XPOST --http1.1 \
- -u ${ELASTIC_USERNAME}:${ELASTIC_PASSWORD} \
- https://elasticsearch.parity-build.parity.io/unit-tests/_doc/${CI_JOB_ID} \
- -H 'Content-Type: application/json' \
- -d @target/nextest/default/junit.json || echo "failed to upload junit report"
- # run runtime-api tests with `enable-staging-api` feature on the 1st node
- - if [ ${CI_NODE_INDEX} == 1 ]; then time cargo nextest run -p sp-api-test --features enable-staging-api; fi
- artifacts:
- when: always
- paths:
- - target/nextest/default/junit.xml
- reports:
- junit: target/nextest/default/junit.xml
- timeout: 90m
-
-test-linux-oldkernel-stable:
- extends: test-linux-stable
- tags:
- - oldkernel-vm
-
-# https://github.com/paritytech/ci_cd/issues/864
-test-linux-stable-runtime-benchmarks:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- - .pipeline-stopper-artifacts
- variables:
- RUST_TOOLCHAIN: stable
- # Enable debug assertions since we are running optimized builds for testing
- # but still want to have debug assertions.
- RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings"
- script:
- - time cargo nextest run --workspace --features runtime-benchmarks benchmark --locked --cargo-profile testnet
-
-# can be used to run all tests
-# test-linux-stable-all:
-# stage: test
-# extends:
-# - .docker-env
-# - .common-refs
-# - .run-immediately
-# variables:
-# RUST_TOOLCHAIN: stable
-# # Enable debug assertions since we are running optimized builds for testing
-# # but still want to have debug assertions.
-# RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings"
-# parallel: 3
-# script:
-# # Build all but only execute 'runtime' tests.
-# - echo "Node index - ${CI_NODE_INDEX}. Total amount - ${CI_NODE_TOTAL}"
-# - >
-# time cargo nextest run \
-# --workspace \
-# --locked \
-# --release \
-# --no-fail-fast \
-# --features runtime-benchmarks,try-runtime \
-# --partition count:${CI_NODE_INDEX}/${CI_NODE_TOTAL}
-# # todo: add flacky-test collector
-
-# takes about 1,5h without cache
-# can be used to check that nextest works correctly
-# test-linux-stable-polkadot:
-# stage: test
-# timeout: 2h
-# extends:
-# - .docker-env
-# - .common-refs
-# - .run-immediately
-# - .collect-artifacts-short
-# variables:
-# RUST_TOOLCHAIN: stable
-# # Enable debug assertions since we are running optimized builds for testing
-# # but still want to have debug assertions.
-# RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings"
-# script:
-# - mkdir -p artifacts
-# - time cargo test --workspace
-# --locked
-# --profile testnet
-# --features=runtime-benchmarks,runtime-metrics,try-runtime --
-# --skip upgrade_version_checks_should_work
-
test-doc:
stage: test
extends:
@@ -252,171 +137,6 @@ test-rustdoc:
script:
- time cargo doc --workspace --all-features --no-deps
-test-node-metrics:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- - .collect-artifacts-short
- variables:
- RUST_TOOLCHAIN: stable
- # Enable debug assertions since we are running optimized builds for testing
- # but still want to have debug assertions.
- RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings"
- script:
- # Build the required workers.
- - cargo build --bin polkadot-execute-worker --bin polkadot-prepare-worker --profile testnet --verbose --locked
- - mkdir -p artifacts
- - time cargo test --profile testnet
- --locked
- --features=runtime-metrics -p polkadot-node-metrics > artifacts/log.txt
-
-test-deterministic-wasm:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- # DAG
- needs:
- - job: test-frame-ui
- artifacts: false
- script:
- # build runtime
- - WASM_BUILD_NO_COLOR=1 cargo build -q --locked --release -p westend-runtime -p rococo-runtime
- # make checksum
- - sha256sum target/release/wbuild/*-runtime/target/wasm32-unknown-unknown/release/*.wasm > checksum.sha256
- - cargo clean
- # build again
- - WASM_BUILD_NO_COLOR=1 cargo build -q --locked --release -p westend-runtime -p rococo-runtime
- # confirm checksum
- - sha256sum -c checksum.sha256
-
-cargo-check-benches:
- stage: test
- artifacts:
- expire_in: 10 days
- variables:
- CI_JOB_NAME: "cargo-check-benches"
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- - .collect-artifacts
- - .pipeline-stopper-artifacts
- before_script:
- # TODO: DON'T FORGET TO CHANGE FOR PROD VALUES!!!
- # merges in the master branch on PRs. skip if base is not master
- - 'if [ $CI_COMMIT_REF_NAME != "master" ]; then
- BASE=$(curl -s -H "Authorization: Bearer ${GITHUB_PR_TOKEN}" https://api.github.com/repos/paritytech-stg/polkadot-sdk/pulls/${CI_COMMIT_REF_NAME} | jq -r .base.ref);
- printf "Merging base branch %s\n" "${BASE:=master}";
- if [ $BASE != "master" ]; then
- echo "$BASE is not master, skipping merge";
- else
- git config user.email "ci@gitlab.parity.io";
- git fetch origin "refs/heads/${BASE}";
- git merge --verbose --no-edit FETCH_HEAD;
- fi
- fi'
- - !reference [.forklift-cache, before_script]
- parallel: 2
- script:
- - mkdir -p ./artifacts/benches/$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA
- # this job is executed in parallel on two runners
- - echo "___Running benchmarks___";
- - case ${CI_NODE_INDEX} in
- 1)
- SKIP_WASM_BUILD=1 time cargo check --locked --benches --all;
- cargo run --locked --release -p node-bench -- ::trie::read::small --json
- | tee ./artifacts/benches/$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA/::trie::read::small.json;
- echo "___Cache could be uploaded___";
- ;;
- 2)
- cargo run --locked --release -p node-bench -- ::node::import::sr25519::transfer_keep_alive::paritydb::small --json
- | tee ./artifacts/benches/$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA/::node::import::sr25519::transfer_keep_alive::paritydb::small.json
- ;;
- esac
-
-node-bench-regression-guard:
- # it's not belong to `build` semantically, but dag jobs can't depend on each other
- # within the single stage - https://gitlab.com/gitlab-org/gitlab/-/issues/30632
- # more: https://github.com/paritytech/substrate/pull/8519#discussion_r608012402
- stage: build
- extends:
- - .docker-env
- - .common-refs
- needs:
- # this is a DAG
- - job: cargo-check-benches
- artifacts: true
- # polls artifact from master to compare with current result
- # need to specify both parallel jobs from master because of the bug
- # https://gitlab.com/gitlab-org/gitlab/-/issues/39063
- - project: $CI_PROJECT_PATH
- job: "cargo-check-benches 1/2"
- ref: master
- artifacts: true
- - project: $CI_PROJECT_PATH
- job: "cargo-check-benches 2/2"
- ref: master
- artifacts: true
- variables:
- CI_IMAGE: "paritytech/node-bench-regression-guard:latest"
- before_script: [""]
- script:
- - if [ $(ls -la artifacts/benches/ | grep master | wc -l) == 0 ]; then
- echo "Couldn't find master artifacts";
- exit 1;
- fi
- - echo "------- IMPORTANT -------"
- - echo "node-bench-regression-guard depends on the results of a cargo-check-benches job"
- - echo "In case of this job failure, check your pipeline's cargo-check-benches"
- - "node-bench-regression-guard --reference artifacts/benches/master-*
- --compare-with artifacts/benches/$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
- after_script: [""]
-
-# if this fails run `bot update-ui` in the Pull Request or "./scripts/update-ui-tests.sh" locally
-# see ./docs/contributor/CONTRIBUTING.md#ui-tests
-test-frame-ui:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- # DAG
- needs:
- - job: test-frame-examples-compile-to-wasm
- artifacts: false
- variables:
- # Enable debug assertions since we are running optimized builds for testing
- # but still want to have debug assertions.
- RUSTFLAGS: "-C debug-assertions -D warnings"
- RUST_BACKTRACE: 1
- WASM_BUILD_NO_COLOR: 1
- WASM_BUILD_RUSTFLAGS: "-C debug-assertions -D warnings"
- # Ensure we run the UI tests.
- RUN_UI_TESTS: 1
- script:
- - time cargo test --locked -q --profile testnet -p frame-support-test --features=frame-feature-testing,no-metadata-docs,try-runtime,experimental
- - time cargo test --locked -q --profile testnet -p frame-support-test --features=frame-feature-testing,frame-feature-testing-2,no-metadata-docs,try-runtime,experimental
- - cat /cargo_target_dir/debug/.fingerprint/memory_units-759eddf317490d2b/lib-memory_units.json || true
-
-# This job runs all benchmarks defined in the `/bin/node/runtime` once to check that there are no errors.
-quick-benchmarks:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- variables:
- # Enable debug assertions since we are running optimized builds for testing
- # but still want to have debug assertions.
- RUSTFLAGS: "-C debug-assertions -D warnings"
- RUST_BACKTRACE: "full"
- WASM_BUILD_NO_COLOR: 1
- WASM_BUILD_RUSTFLAGS: "-C debug-assertions -D warnings"
- script:
- - time cargo run --locked --release -p staging-node-cli --bin substrate-node --features runtime-benchmarks --quiet -- benchmark pallet --chain dev --pallet "*" --extrinsic "*" --steps 2 --repeat 1 --quiet
-
quick-benchmarks-omni:
stage: test
extends:
@@ -434,110 +154,6 @@ quick-benchmarks-omni:
- time cargo build --locked --quiet --release -p asset-hub-westend-runtime --features runtime-benchmarks
- time cargo run --locked --release -p frame-omni-bencher --quiet -- v1 benchmark pallet --runtime target/release/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.compact.compressed.wasm --all --steps 2 --repeat 1 --quiet
-test-frame-examples-compile-to-wasm:
- # into one job
- stage: test
- extends:
- - .docker-env
- - .common-refs
- # DAG
- needs:
- - job: test-full-crypto-feature
- artifacts: false
- variables:
- # Enable debug assertions since we are running optimized builds for testing
- # but still want to have debug assertions.
- RUSTFLAGS: "-C debug-assertions"
- RUST_BACKTRACE: 1
- script:
- - cd ./substrate/frame/examples/offchain-worker/
- - cargo build --locked --target=wasm32-unknown-unknown --no-default-features
- - cd ../basic
- - cargo build --locked --target=wasm32-unknown-unknown --no-default-features
- # FIXME
- allow_failure: true
-
-test-linux-stable-int:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- - .pipeline-stopper-artifacts
- variables:
- # Enable debug assertions since we are running optimized builds for testing
- # but still want to have debug assertions.
- RUSTFLAGS: "-C debug-assertions -D warnings"
- RUST_BACKTRACE: 1
- WASM_BUILD_NO_COLOR: 1
- WASM_BUILD_RUSTFLAGS: "-C debug-assertions -D warnings"
- # Ensure we run the UI tests.
- RUN_UI_TESTS: 1
- script:
- - WASM_BUILD_NO_COLOR=1
- time cargo test -p staging-node-cli --release --locked -- --ignored
-
-# more information about this job can be found here:
-# https://github.com/paritytech/substrate/pull/6916
-check-tracing:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- - .pipeline-stopper-artifacts
- script:
- # with-tracing must be explicitly activated, we run a test to ensure this works as expected in both cases
- - time cargo test --locked --manifest-path ./substrate/primitives/tracing/Cargo.toml --no-default-features
- - time cargo test --locked --manifest-path ./substrate/primitives/tracing/Cargo.toml --no-default-features --features=with-tracing
-
-# Check that `westend-runtime` compiles with the `metadata-hash` feature enabled.
-check-metadata-hash:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- - .pipeline-stopper-artifacts
- script:
- - time cargo build --locked -p westend-runtime --features metadata-hash
-
-# more information about this job can be found here:
-# https://github.com/paritytech/substrate/pull/3778
-test-full-crypto-feature:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- variables:
- # Enable debug assertions since we are running optimized builds for testing
- # but still want to have debug assertions.
- RUSTFLAGS: "-C debug-assertions"
- RUST_BACKTRACE: 1
- script:
- - cd substrate/primitives/core/
- - time cargo build --locked --no-default-features --features full_crypto
- - cd ../application-crypto
- - time cargo build --locked --no-default-features --features full_crypto
-
-cargo-check-each-crate:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- # - .collect-artifacts
- variables:
- RUSTFLAGS: "-D warnings"
- # $CI_JOB_NAME is set manually so that cache could be shared for all jobs
- # "cargo-check-each-crate I/N" jobs
- CI_JOB_NAME: cargo-check-each-crate
- timeout: 2h
- script:
- - PYTHONUNBUFFERED=x time .gitlab/check-each-crate.py "$CI_NODE_INDEX" "$CI_NODE_TOTAL"
- parallel: 6
-
cargo-check-each-crate-macos:
stage: test
extends:
@@ -559,81 +175,3 @@ cargo-check-each-crate-macos:
timeout: 2h
tags:
- osx
-
-cargo-hfuzz:
- stage: test
- extends:
- - .docker-env
- - .common-refs
- # DAG
- needs:
- - job: check-tracing
- artifacts: false
- variables:
- # max 10s per iteration, 60s per file
- HFUZZ_RUN_ARGS: >
- --exit_upon_crash
- --exit_code_upon_crash 1
- --timeout 10
- --run_time 60
- # use git version of honggfuzz-rs until v0.5.56 is out, we need a few recent changes:
- # https://github.com/rust-fuzz/honggfuzz-rs/pull/75 to avoid breakage on debian
- # https://github.com/rust-fuzz/honggfuzz-rs/pull/81 fix to the above pr
- # https://github.com/rust-fuzz/honggfuzz-rs/pull/82 fix for handling absolute CARGO_TARGET_DIR
- HFUZZ_BUILD_ARGS: >
- --config=patch.crates-io.honggfuzz.git="https://github.com/altaua/honggfuzz-rs"
- --config=patch.crates-io.honggfuzz.rev="205f7c8c059a0d98fe1cb912cdac84f324cb6981"
- artifacts:
- name: "hfuzz-$CI_COMMIT_SHORT_SHA"
- expire_in: 7 days
- when: on_failure
- paths:
- - substrate/primitives/arithmetic/fuzzer/hfuzz_workspace/
- script:
- - cd ./substrate/primitives/arithmetic/fuzzer
- - cargo hfuzz build
- - for target in $(cargo read-manifest | jq -r '.targets | .[] | .name'); do
- cargo hfuzz run "$target" || { printf "fuzzing failure for %s\n" "$target"; exit 1; }; done
-
-.subsystem-benchmark-template:
- stage: test
- artifacts:
- name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
- when: always
- expire_in: 1 hour
- paths:
- - charts/
- extends:
- - .docker-env
- - .common-refs
- - .run-immediately
- tags:
- - benchmark
-
-subsystem-benchmark-availability-recovery:
- extends:
- - .subsystem-benchmark-template
- script:
- - cargo bench -p polkadot-availability-recovery --bench availability-recovery-regression-bench --features subsystem-benchmarks
- allow_failure: true
-
-subsystem-benchmark-availability-distribution:
- extends:
- - .subsystem-benchmark-template
- script:
- - cargo bench -p polkadot-availability-distribution --bench availability-distribution-regression-bench --features subsystem-benchmarks
- allow_failure: true
-
-subsystem-benchmark-approval-voting:
- extends:
- - .subsystem-benchmark-template
- script:
- - cargo bench -p polkadot-node-core-approval-voting --bench approval-voting-regression-bench --features subsystem-benchmarks
- allow_failure: true
-
-subsystem-benchmark-statement-distribution:
- extends:
- - .subsystem-benchmark-template
- script:
- - cargo bench -p polkadot-statement-distribution --bench statement-distribution-regression-bench --features subsystem-benchmarks
- allow_failure: true
diff --git a/.gitlab/pipeline/zombienet/bridges.yml b/.gitlab/pipeline/zombienet/bridges.yml
index 9d7a8b931193..070bfc8472d5 100644
--- a/.gitlab/pipeline/zombienet/bridges.yml
+++ b/.gitlab/pipeline/zombienet/bridges.yml
@@ -52,12 +52,12 @@ zombienet-bridges-0001-asset-transfer-works:
extends:
- .zombienet-bridges-common
script:
- - /home/nonroot/bridges-polkadot-sdk/bridges/testing/run-new-test.sh 0001-asset-transfer --docker
+ - /home/nonroot/bridges-polkadot-sdk/bridges/testing/run-test.sh 0001-asset-transfer --docker
- echo "Done"
zombienet-bridges-0002-free-headers-synced-while-idle:
extends:
- .zombienet-bridges-common
script:
- - /home/nonroot/bridges-polkadot-sdk/bridges/testing/run-new-test.sh 0002-free-headers-synced-while-idle --docker
+ - /home/nonroot/bridges-polkadot-sdk/bridges/testing/run-test.sh 0002-free-headers-synced-while-idle --docker
- echo "Done"
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 120000
index 000000000000..63b2a0dc1abc
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1 @@
+docs/contributor/CODE_OF_CONDUCT.md
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 120000
index 000000000000..0f645512e8e4
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1 @@
+docs/contributor/CONTRIBUTING.md
\ No newline at end of file
diff --git a/Cargo.lock b/Cargo.lock
index 4c6b48734db3..0aa0fcc6c416 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -157,9 +157,9 @@ dependencies = [
"dunce",
"heck 0.4.1",
"proc-macro-error",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
"syn-solidity",
"tiny-keccak",
]
@@ -284,9 +284,9 @@ dependencies = [
"include_dir",
"itertools 0.10.5",
"proc-macro-error",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -484,7 +484,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44"
dependencies = [
- "quote 1.0.36",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -494,7 +494,7 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348"
dependencies = [
- "quote 1.0.36",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -506,7 +506,7 @@ checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20"
dependencies = [
"num-bigint",
"num-traits",
- "quote 1.0.36",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -518,8 +518,8 @@ checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565"
dependencies = [
"num-bigint",
"num-traits",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -580,7 +580,7 @@ dependencies = [
[[package]]
name = "ark-secret-scalar"
version = "0.0.2"
-source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e"
+source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
dependencies = [
"ark-ec",
"ark-ff 0.4.2",
@@ -620,8 +620,8 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -649,7 +649,7 @@ dependencies = [
[[package]]
name = "ark-transcript"
version = "0.0.2"
-source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e"
+source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
dependencies = [
"ark-ff 0.4.2",
"ark-serialize 0.4.2",
@@ -724,8 +724,8 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
"synstructure 0.12.6",
]
@@ -736,9 +736,9 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7378575ff571966e99a744addeff0bff98b8ada0dedf1956d59e634db95eaac1"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
"synstructure 0.13.1",
]
@@ -748,8 +748,8 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -759,9 +759,9 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -790,6 +790,7 @@ name = "asset-hub-rococo-emulated-chain"
version = "0.0.0"
dependencies = [
"asset-hub-rococo-runtime",
+ "bp-bridge-hub-rococo",
"cumulus-primitives-core",
"emulated-integration-tests-common",
"frame-support",
@@ -824,6 +825,7 @@ dependencies = [
"sp-runtime",
"staging-xcm",
"staging-xcm-executor",
+ "xcm-runtime-apis",
]
[[package]]
@@ -886,6 +888,7 @@ dependencies = [
"primitive-types",
"rococo-runtime-constants",
"scale-info",
+ "serde_json",
"snowbridge-router-primitives",
"sp-api",
"sp-block-builder",
@@ -914,6 +917,7 @@ name = "asset-hub-westend-emulated-chain"
version = "0.0.0"
dependencies = [
"asset-hub-westend-runtime",
+ "bp-bridge-hub-westend",
"cumulus-primitives-core",
"emulated-integration-tests-common",
"frame-support",
@@ -1026,6 +1030,7 @@ dependencies = [
"sp-offchain",
"sp-runtime",
"sp-session",
+ "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
@@ -1077,6 +1082,7 @@ dependencies = [
"impl-trait-for-tuples",
"log",
"pallet-asset-conversion",
+ "pallet-assets",
"pallet-xcm",
"parachains-common",
"parity-scale-codec",
@@ -1095,7 +1101,7 @@ version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5"
dependencies = [
- "quote 1.0.36",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -1284,9 +1290,9 @@ version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -1297,13 +1303,13 @@ checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
[[package]]
name = "async-trait"
-version = "0.1.80"
+version = "0.1.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
+checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -1360,8 +1366,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89"
dependencies = [
"proc-macro-error",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -1400,7 +1406,7 @@ dependencies = [
[[package]]
name = "bandersnatch_vrfs"
version = "0.0.4"
-source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e"
+source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
dependencies = [
"ark-bls12-381",
"ark-ec",
@@ -1409,8 +1415,6 @@ dependencies = [
"ark-serialize 0.4.2",
"ark-std 0.4.0",
"dleq_vrf",
- "fflonk",
- "merlin",
"rand_chacha",
"rand_core",
"ring 0.1.0",
@@ -1465,25 +1469,16 @@ dependencies = [
"serde",
]
-[[package]]
-name = "beef"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "binary-merkle-tree"
version = "13.0.0"
dependencies = [
"array-bytes",
- "env_logger 0.11.3",
"hash-db",
"log",
"sp-core",
"sp-runtime",
+ "sp-tracing 16.0.0",
]
[[package]]
@@ -1507,13 +1502,13 @@ dependencies = [
"lazy_static",
"lazycell",
"peeking_take_while",
- "prettyplease 0.2.12",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "prettyplease",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"regex",
- "rustc-hash",
+ "rustc-hash 1.1.0",
"shlex",
- "syn 2.0.61",
+ "syn 2.0.65",
]
[[package]]
@@ -1622,13 +1617,13 @@ dependencies = [
[[package]]
name = "blake2b_simd"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc"
+checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780"
dependencies = [
"arrayref",
"arrayvec 0.7.4",
- "constant_time_eq 0.2.6",
+ "constant_time_eq 0.3.0",
]
[[package]]
@@ -1794,7 +1789,9 @@ dependencies = [
"bp-bridge-hub-cumulus",
"bp-messages",
"bp-runtime",
+ "bp-xcm-bridge-hub",
"frame-support",
+ "parity-scale-codec",
"sp-api",
"sp-runtime",
"sp-std 14.0.0",
@@ -1807,7 +1804,9 @@ dependencies = [
"bp-bridge-hub-cumulus",
"bp-messages",
"bp-runtime",
+ "bp-xcm-bridge-hub",
"frame-support",
+ "parity-scale-codec",
"sp-api",
"sp-runtime",
"sp-std 14.0.0",
@@ -1857,6 +1856,7 @@ dependencies = [
"scale-info",
"serde",
"sp-core",
+ "sp-io",
"sp-std 14.0.0",
]
@@ -1927,11 +1927,15 @@ dependencies = [
name = "bp-relayers"
version = "0.7.0"
dependencies = [
+ "bp-header-chain",
"bp-messages",
+ "bp-parachains",
"bp-runtime",
"frame-support",
+ "frame-system",
"hex",
"hex-literal",
+ "pallet-utility",
"parity-scale-codec",
"scale-info",
"sp-runtime",
@@ -2008,7 +2012,16 @@ dependencies = [
name = "bp-xcm-bridge-hub"
version = "0.2.0"
dependencies = [
+ "bp-messages",
+ "bp-runtime",
+ "frame-support",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-core",
+ "sp-io",
"sp-std 14.0.0",
+ "staging-xcm",
]
[[package]]
@@ -2019,6 +2032,7 @@ dependencies = [
"scale-info",
"sp-core",
"sp-runtime",
+ "staging-xcm",
]
[[package]]
@@ -2033,6 +2047,7 @@ dependencies = [
"snowbridge-core",
"sp-core",
"sp-runtime",
+ "sp-std 14.0.0",
"staging-xcm",
]
@@ -2065,6 +2080,7 @@ dependencies = [
"pallet-bridge-messages",
"pallet-message-queue",
"pallet-xcm",
+ "pallet-xcm-bridge-hub",
"parachains-common",
"parity-scale-codec",
"rococo-system-emulated-network",
@@ -2179,7 +2195,6 @@ dependencies = [
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
- "static_assertions",
"substrate-wasm-builder",
"testnet-parachains-constants",
"xcm-runtime-apis",
@@ -2192,10 +2207,12 @@ dependencies = [
"asset-test-utils",
"bp-header-chain",
"bp-messages",
+ "bp-parachains",
"bp-polkadot-core",
"bp-relayers",
"bp-runtime",
"bp-test-utils",
+ "bp-xcm-bridge-hub",
"bridge-runtime-common",
"cumulus-pallet-parachain-system",
"cumulus-pallet-xcmp-queue",
@@ -2210,6 +2227,7 @@ dependencies = [
"pallet-bridge-relayers",
"pallet-timestamp",
"pallet-utility",
+ "pallet-xcm-bridge-hub",
"parachains-common",
"parachains-runtimes-test-utils",
"parity-scale-codec",
@@ -2246,12 +2264,14 @@ dependencies = [
"emulated-integration-tests-common",
"frame-support",
"hex-literal",
+ "log",
"pallet-asset-conversion",
"pallet-assets",
"pallet-balances",
"pallet-bridge-messages",
"pallet-message-queue",
"pallet-xcm",
+ "pallet-xcm-bridge-hub",
"parachains-common",
"parity-scale-codec",
"rococo-westend-system-emulated-network",
@@ -2361,7 +2381,6 @@ dependencies = [
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
- "static_assertions",
"substrate-wasm-builder",
"testnet-parachains-constants",
"westend-runtime-constants",
@@ -2380,7 +2399,6 @@ dependencies = [
"bp-runtime",
"bp-test-utils",
"bp-xcm-bridge-hub",
- "bp-xcm-bridge-hub-router",
"frame-support",
"frame-system",
"log",
@@ -2393,27 +2411,21 @@ dependencies = [
"pallet-utility",
"parity-scale-codec",
"scale-info",
+ "sp-core",
"sp-io",
"sp-runtime",
"sp-std 14.0.0",
"sp-trie",
"staging-xcm",
- "staging-xcm-builder",
"static_assertions",
"tuplex",
]
[[package]]
name = "bs58"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3"
-
-[[package]]
-name = "bs58"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896"
+checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4"
dependencies = [
"tinyvec",
]
@@ -2470,9 +2482,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
-version = "1.6.0"
+version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
+checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50"
[[package]]
name = "bzip2-sys"
@@ -2541,9 +2553,9 @@ checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
[[package]]
name = "cc"
-version = "1.1.6"
+version = "1.0.94"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f"
+checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7"
dependencies = [
"jobserver",
"libc",
@@ -2785,12 +2797,12 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.10"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f6b81fb3c84f5563d509c59b5a48d935f689e993afa90fe39047f05adef9142"
+checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3"
dependencies = [
"clap_builder",
- "clap_derive 4.5.8",
+ "clap_derive 4.5.11",
]
[[package]]
@@ -2804,9 +2816,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.10"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca6706fd5224857d9ac5eb9355f6683563cc0541c7cd9d014043b57cbec78ac"
+checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa"
dependencies = [
"anstream",
"anstyle",
@@ -2817,11 +2829,11 @@ dependencies = [
[[package]]
name = "clap_complete"
-version = "4.4.0"
+version = "4.5.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5"
+checksum = "aa3c596da3cf0983427b0df0dba359df9182c13bd5b519b585a482b0c351f4e8"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
]
[[package]]
@@ -2832,21 +2844,21 @@ checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
dependencies = [
"heck 0.4.1",
"proc-macro-error",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
[[package]]
name = "clap_derive"
-version = "4.5.8"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085"
+checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e"
dependencies = [
"heck 0.5.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -2914,6 +2926,7 @@ dependencies = [
"pallet-message-queue",
"pallet-treasury",
"pallet-utility",
+ "pallet-whitelist",
"pallet-xcm",
"parachains-common",
"parity-scale-codec",
@@ -3004,9 +3017,9 @@ dependencies = [
[[package]]
name = "color-eyre"
-version = "0.6.2"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204"
+checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5"
dependencies = [
"backtrace",
"eyre",
@@ -3031,8 +3044,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d51beaa537d73d2d1ff34ee70bc095f170420ab2ec5d687ecd3ec2b0d092514b"
dependencies = [
"nom",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -3077,7 +3090,7 @@ dependencies = [
[[package]]
name = "common"
version = "0.1.0"
-source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224"
+source = "git+https://github.com/w3f/ring-proof?rev=665f5f5#665f5f51af5734c7b6d90b985dd6861d4c5b4752"
dependencies = [
"ark-ec",
"ark-ff 0.4.2",
@@ -3290,7 +3303,7 @@ dependencies = [
[[package]]
name = "coretime-rococo-emulated-chain"
-version = "0.0.0"
+version = "0.1.0"
dependencies = [
"coretime-rococo-runtime",
"cumulus-primitives-core",
@@ -3303,14 +3316,17 @@ dependencies = [
[[package]]
name = "coretime-rococo-integration-tests"
-version = "0.1.0"
+version = "0.0.0"
dependencies = [
+ "cumulus-pallet-parachain-system",
"emulated-integration-tests-common",
"frame-support",
"pallet-balances",
+ "pallet-broker",
"pallet-identity",
"pallet-message-queue",
"polkadot-runtime-common",
+ "polkadot-runtime-parachains",
"rococo-runtime-constants",
"rococo-system-emulated-network",
"sp-runtime",
@@ -3348,6 +3364,7 @@ dependencies = [
"pallet-collator-selection",
"pallet-message-queue",
"pallet-multisig",
+ "pallet-proxy",
"pallet-session",
"pallet-sudo",
"pallet-timestamp",
@@ -3386,7 +3403,7 @@ dependencies = [
[[package]]
name = "coretime-westend-emulated-chain"
-version = "0.0.0"
+version = "0.1.0"
dependencies = [
"coretime-westend-runtime",
"cumulus-primitives-core",
@@ -3399,14 +3416,17 @@ dependencies = [
[[package]]
name = "coretime-westend-integration-tests"
-version = "0.1.0"
+version = "0.0.0"
dependencies = [
+ "cumulus-pallet-parachain-system",
"emulated-integration-tests-common",
"frame-support",
"pallet-balances",
+ "pallet-broker",
"pallet-identity",
"pallet-message-queue",
"polkadot-runtime-common",
+ "polkadot-runtime-parachains",
"sp-runtime",
"staging-xcm",
"staging-xcm-executor",
@@ -3444,6 +3464,7 @@ dependencies = [
"pallet-collator-selection",
"pallet-message-queue",
"pallet-multisig",
+ "pallet-proxy",
"pallet-session",
"pallet-timestamp",
"pallet-transaction-payment",
@@ -3614,21 +3635,6 @@ dependencies = [
"wasmtime-types",
]
-[[package]]
-name = "crc"
-version = "3.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2b432c56615136f8dba245fed7ec3d5518c500a31108661067e61e72fe7e6bc"
-dependencies = [
- "crc-catalog",
-]
-
-[[package]]
-name = "crc-catalog"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
-
[[package]]
name = "crc32fast"
version = "1.3.2"
@@ -3647,7 +3653,7 @@ dependencies = [
"anes",
"cast",
"ciborium",
- "clap 4.5.10",
+ "clap 4.5.11",
"criterion-plot",
"futures",
"is-terminal",
@@ -3781,7 +3787,7 @@ dependencies = [
name = "cumulus-client-cli"
version = "0.7.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"parity-scale-codec",
"sc-chain-spec",
"sc-cli",
@@ -4154,9 +4160,9 @@ name = "cumulus-pallet-parachain-system-proc-macro"
version = "0.6.0"
dependencies = [
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -4244,7 +4250,7 @@ name = "cumulus-pov-validator"
version = "0.1.0"
dependencies = [
"anyhow",
- "clap 4.5.10",
+ "clap 4.5.11",
"parity-scale-codec",
"polkadot-node-primitives",
"polkadot-parachain-primitives",
@@ -4261,12 +4267,8 @@ dependencies = [
name = "cumulus-primitives-aura"
version = "0.7.0"
dependencies = [
- "parity-scale-codec",
- "polkadot-core-primitives",
- "polkadot-primitives",
"sp-api",
"sp-consensus-aura",
- "sp-runtime",
]
[[package]]
@@ -4294,8 +4296,6 @@ dependencies = [
"scale-info",
"sp-core",
"sp-inherents",
- "sp-runtime",
- "sp-state-machine",
"sp-trie",
]
@@ -4334,8 +4334,6 @@ name = "cumulus-primitives-timestamp"
version = "0.7.0"
dependencies = [
"cumulus-primitives-core",
- "futures",
- "parity-scale-codec",
"sp-inherents",
"sp-timestamp",
]
@@ -4350,8 +4348,6 @@ dependencies = [
"pallet-asset-conversion",
"parity-scale-codec",
"polkadot-runtime-common",
- "polkadot-runtime-parachains",
- "sp-io",
"sp-runtime",
"staging-xcm",
"staging-xcm-builder",
@@ -4452,6 +4448,7 @@ dependencies = [
"parity-scale-codec",
"pin-project",
"polkadot-overseer",
+ "portpicker",
"rand",
"sc-client-api",
"sc-rpc-api",
@@ -4571,7 +4568,7 @@ name = "cumulus-test-service"
version = "0.1.0"
dependencies = [
"async-trait",
- "clap 4.5.10",
+ "clap 4.5.11",
"criterion",
"cumulus-client-cli",
"cumulus-client-collator",
@@ -4699,9 +4696,9 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -4738,10 +4735,10 @@ dependencies = [
"cc",
"codespan-reporting",
"once_cell",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"scratch",
- "syn 2.0.61",
+ "syn 2.0.65",
]
[[package]]
@@ -4756,9 +4753,9 @@ version = "1.0.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50c49547d73ba8dcfd4ad7325d64c6d5391ff4224d498fc39a6f3f49825a530d"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -4849,9 +4846,12 @@ dependencies = [
[[package]]
name = "deranged"
-version = "0.3.8"
+version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
[[package]]
name = "derivative"
@@ -4859,8 +4859,8 @@ version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -4870,9 +4870,9 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -4881,9 +4881,9 @@ version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -4893,8 +4893,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
dependencies = [
"convert_case",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"rustc_version 0.4.0",
"syn 1.0.109",
]
@@ -4989,9 +4989,9 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -5003,7 +5003,7 @@ checksum = "86e3bdc80eee6e16b2b6b0f87fbc98c04bee3455e35174c0de1a125d0688c632"
[[package]]
name = "dleq_vrf"
version = "0.0.2"
-source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e"
+source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
dependencies = [
"ark-ec",
"ark-ff 0.4.2",
@@ -5049,12 +5049,12 @@ dependencies = [
"common-path",
"derive-syn-parse",
"once_cell",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"regex",
- "syn 2.0.61",
+ "syn 2.0.65",
"termcolor",
- "toml 0.8.8",
+ "toml 0.8.12",
"walkdir",
]
@@ -5098,8 +5098,8 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -5196,6 +5196,7 @@ version = "3.0.0"
dependencies = [
"asset-test-utils",
"bp-messages",
+ "bp-xcm-bridge-hub",
"bridge-runtime-common",
"cumulus-pallet-parachain-system",
"cumulus-pallet-xcmp-queue",
@@ -5206,6 +5207,7 @@ dependencies = [
"pallet-bridge-messages",
"pallet-message-queue",
"pallet-xcm",
+ "pallet-xcm-bridge-hub",
"parachains-common",
"parity-scale-codec",
"paste",
@@ -5244,8 +5246,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116"
dependencies = [
"heck 0.4.1",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -5256,9 +5258,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a"
dependencies = [
"heck 0.4.1",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -5276,9 +5278,9 @@ version = "0.7.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -5287,9 +5289,9 @@ version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -5299,7 +5301,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
dependencies = [
"log",
- "regex",
]
[[package]]
@@ -5334,7 +5335,6 @@ dependencies = [
"anstream",
"anstyle",
"env_filter",
- "humantime",
"log",
]
@@ -5491,10 +5491,10 @@ dependencies = [
"blake2 0.10.6",
"file-guard",
"fs-err",
- "prettyplease 0.2.12",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "prettyplease",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -5564,9 +5564,9 @@ dependencies = [
"expander",
"indexmap 2.2.3",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -5743,21 +5743,6 @@ version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-[[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "foreign-types-shared",
-]
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
[[package]]
name = "fork-tree"
version = "12.0.0"
@@ -5833,7 +5818,7 @@ dependencies = [
"Inflector",
"array-bytes",
"chrono",
- "clap 4.5.10",
+ "clap 4.5.11",
"comfy-table",
"frame-benchmarking",
"frame-support",
@@ -5896,11 +5881,11 @@ dependencies = [
"frame-support",
"parity-scale-codec",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"scale-info",
"sp-arithmetic",
- "syn 2.0.61",
+ "syn 2.0.65",
"trybuild",
]
@@ -5925,7 +5910,7 @@ dependencies = [
name = "frame-election-solution-type-fuzzer"
version = "2.0.0-alpha.5"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"frame-election-provider-solution-type",
"frame-election-provider-support",
"frame-support",
@@ -5997,14 +5982,14 @@ dependencies = [
name = "frame-omni-bencher"
version = "0.1.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"cumulus-primitives-proof-size-hostfunction",
- "env_logger 0.11.3",
"frame-benchmarking-cli",
"log",
"sc-cli",
"sp-runtime",
"sp-statement-store",
+ "tracing-subscriber 0.3.18",
]
[[package]]
@@ -6091,8 +6076,8 @@ dependencies = [
"parity-scale-codec",
"pretty_assertions",
"proc-macro-warning 1.0.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"regex",
"scale-info",
"sp-core",
@@ -6101,7 +6086,7 @@ dependencies = [
"sp-metadata-ir",
"sp-runtime",
"static_assertions",
- "syn 2.0.61",
+ "syn 2.0.65",
]
[[package]]
@@ -6110,18 +6095,18 @@ version = "10.0.0"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "frame-support-procedural-tools-derive"
version = "11.0.0"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -6370,9 +6355,9 @@ version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -6782,11 +6767,56 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
+[[package]]
+name = "hickory-proto"
+version = "0.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512"
+dependencies = [
+ "async-trait",
+ "cfg-if",
+ "data-encoding",
+ "enum-as-inner 0.6.0",
+ "futures-channel",
+ "futures-io",
+ "futures-util",
+ "idna 0.4.0",
+ "ipnet",
+ "once_cell",
+ "rand",
+ "thiserror",
+ "tinyvec",
+ "tokio",
+ "tracing",
+ "url",
+]
+
+[[package]]
+name = "hickory-resolver"
+version = "0.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28757f23aa75c98f254cf0405e6d8c25b831b32921b050a66692427679b1f243"
+dependencies = [
+ "cfg-if",
+ "futures-util",
+ "hickory-proto",
+ "ipconfig",
+ "lru-cache",
+ "once_cell",
+ "parking_lot 0.12.3",
+ "rand",
+ "resolv-conf",
+ "smallvec",
+ "thiserror",
+ "tokio",
+ "tracing",
+]
+
[[package]]
name = "hkdf"
-version = "0.12.3"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
dependencies = [
"hmac 0.12.1",
]
@@ -7163,8 +7193,8 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -7183,8 +7213,8 @@ version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
]
[[package]]
@@ -7372,6 +7402,23 @@ version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+[[package]]
+name = "jemalloc_pprof"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96368c0fc161a0a1a20b3952b6fd31ee342fffc87ed9e48ac1ed49fb25686655"
+dependencies = [
+ "anyhow",
+ "libc",
+ "mappings",
+ "once_cell",
+ "pprof_util",
+ "tempfile",
+ "tikv-jemalloc-ctl",
+ "tokio",
+ "tracing",
+]
+
[[package]]
name = "jni"
version = "0.19.0"
@@ -7394,9 +7441,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
[[package]]
name = "jobserver"
-version = "0.1.31"
+version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e"
+checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
dependencies = [
"libc",
]
@@ -7429,9 +7476,9 @@ dependencies = [
[[package]]
name = "jsonrpsee"
-version = "0.23.2"
+version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b089779ad7f80768693755a031cc14a7766aba707cbe886674e3f79e9b7e47"
+checksum = "5ec465b607a36dc5dd45d48b7689bc83f679f66a3ac6b6b21cc787a11e0f8685"
dependencies = [
"jsonrpsee-core",
"jsonrpsee-http-client",
@@ -7445,9 +7492,9 @@ dependencies = [
[[package]]
name = "jsonrpsee-client-transport"
-version = "0.23.2"
+version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08163edd8bcc466c33d79e10f695cdc98c00d1e6ddfb95cec41b6b0279dd5432"
+checksum = "90f0977f9c15694371b8024c35ab58ca043dbbf4b51ccb03db8858a021241df1"
dependencies = [
"base64 0.22.1",
"futures-util",
@@ -7468,13 +7515,11 @@ dependencies = [
[[package]]
name = "jsonrpsee-core"
-version = "0.23.2"
+version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79712302e737d23ca0daa178e752c9334846b08321d439fd89af9a384f8c830b"
+checksum = "e942c55635fbf5dc421938b8558a8141c7e773720640f4f1dbe1f4164ca4e221"
dependencies = [
- "anyhow",
"async-trait",
- "beef",
"bytes",
"futures-timer",
"futures-util",
@@ -7485,7 +7530,7 @@ dependencies = [
"parking_lot 0.12.3",
"pin-project",
"rand",
- "rustc-hash",
+ "rustc-hash 2.0.0",
"serde",
"serde_json",
"thiserror",
@@ -7496,9 +7541,9 @@ dependencies = [
[[package]]
name = "jsonrpsee-http-client"
-version = "0.23.2"
+version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d90064e04fb9d7282b1c71044ea94d0bbc6eff5621c66f1a0bce9e9de7cf3ac"
+checksum = "e33774602df12b68a2310b38a535733c477ca4a498751739f89fe8dbbb62ec4c"
dependencies = [
"async-trait",
"base64 0.22.1",
@@ -7521,24 +7566,23 @@ dependencies = [
[[package]]
name = "jsonrpsee-proc-macros"
-version = "0.23.2"
+version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7895f186d5921065d96e16bd795e5ca89ac8356ec423fafc6e3d7cf8ec11aee4"
+checksum = "6b07a2daf52077ab1b197aea69a5c990c060143835bf04c77070e98903791715"
dependencies = [
"heck 0.5.0",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "jsonrpsee-server"
-version = "0.23.2"
+version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "654afab2e92e5d88ebd8a39d6074483f3f2bfdf91c5ac57fe285e7127cdd4f51"
+checksum = "038fb697a709bec7134e9ccbdbecfea0e2d15183f7140254afef7c5610a3f488"
dependencies = [
- "anyhow",
"futures-util",
"http 1.1.0",
"http-body 1.0.0",
@@ -7562,11 +7606,10 @@ dependencies = [
[[package]]
name = "jsonrpsee-types"
-version = "0.23.2"
+version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9c465fbe385238e861fdc4d1c85e04ada6c1fd246161d26385c1b311724d2af"
+checksum = "23b67d6e008164f027afbc2e7bb79662650158d26df200040282d2aa1cbb093b"
dependencies = [
- "beef",
"http 1.1.0",
"serde",
"serde_json",
@@ -7575,9 +7618,9 @@ dependencies = [
[[package]]
name = "jsonrpsee-ws-client"
-version = "0.23.2"
+version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c28759775f5cb2f1ea9667672d3fe2b0e701d1f4b7b67954e60afe7fd058b5e"
+checksum = "992bf67d1132f88edf4a4f8cff474cf01abb2be203004a2b8e11c2b20795b99e"
dependencies = [
"http 1.1.0",
"jsonrpsee-client-transport",
@@ -7707,9 +7750,9 @@ dependencies = [
[[package]]
name = "lazy_static"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "lazycell"
@@ -7725,9 +7768,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
[[package]]
name = "libc"
-version = "0.2.155"
+version = "0.2.158"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
+checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
[[package]]
name = "libflate"
@@ -7916,11 +7959,11 @@ dependencies = [
[[package]]
name = "libp2p-identity"
-version = "0.2.8"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "999ec70441b2fb35355076726a6bc466c932e9bdc66f6a11c6c0aa17c7ab9be0"
+checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8"
dependencies = [
- "bs58 0.5.0",
+ "bs58",
"ed25519-dalek",
"hkdf",
"multihash 0.19.1",
@@ -8057,7 +8100,7 @@ dependencies = [
"libp2p-tls",
"log",
"parking_lot 0.12.3",
- "quinn 0.10.2",
+ "quinn",
"rand",
"ring 0.16.20",
"rustls 0.21.7",
@@ -8115,9 +8158,9 @@ checksum = "c4d5ec2a3df00c7836d7696c136274c9c59705bac69133253696a6c932cd1d74"
dependencies = [
"heck 0.4.1",
"proc-macro-warning 0.4.2",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -8378,21 +8421,22 @@ dependencies = [
[[package]]
name = "litep2p"
-version = "0.6.2"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f46c51c205264b834ceed95c8b195026e700494bc3991aaba3b4ea9e20626d9"
+checksum = "d4ab2528b02b6dbbc3e6ec4b55ccde885647c622a315b7da45081ed2dfe4b813"
dependencies = [
"async-trait",
- "bs58 0.4.0",
+ "bs58",
"bytes",
"cid 0.10.1",
"ed25519-dalek",
"futures",
"futures-timer",
"hex-literal",
+ "hickory-resolver",
"indexmap 2.2.3",
"libc",
- "mockall 0.12.1",
+ "mockall 0.13.0",
"multiaddr 0.17.1",
"multihash 0.17.0",
"network-interface",
@@ -8400,8 +8444,7 @@ dependencies = [
"parking_lot 0.12.3",
"pin-project",
"prost 0.12.6",
- "prost-build 0.11.9",
- "quinn 0.9.4",
+ "prost-build 0.13.2",
"rand",
"rcgen",
"ring 0.16.20",
@@ -8413,18 +8456,15 @@ dependencies = [
"snow",
"socket2 0.5.7",
"static_assertions",
- "str0m",
"thiserror",
"tokio",
"tokio-stream",
"tokio-tungstenite",
"tokio-util",
"tracing",
- "trust-dns-resolver",
"uint",
"unsigned-varint 0.8.0",
"url",
- "webpki",
"x25519-dalek",
"x509-parser 0.16.0",
"yasna",
@@ -8530,8 +8570,8 @@ checksum = "cc33f9f0351468d26fbc53d9ce00a096c8522ecb42f19b50f34f2c422f76d21d"
dependencies = [
"macro_magic_core",
"macro_magic_macros",
- "quote 1.0.36",
- "syn 2.0.61",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -8543,9 +8583,9 @@ dependencies = [
"const-random",
"derive-syn-parse",
"macro_magic_core_macros",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -8554,9 +8594,9 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -8566,8 +8606,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869"
dependencies = [
"macro_magic_core",
- "quote 1.0.36",
- "syn 2.0.61",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -8576,6 +8616,19 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
+[[package]]
+name = "mappings"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fa2605f461115ef6336342b12f0d8cabdfd7b258fed86f5f98c725535843601"
+dependencies = [
+ "anyhow",
+ "libc",
+ "once_cell",
+ "pprof_util",
+ "tracing",
+]
+
[[package]]
name = "match_cfg"
version = "0.1.0"
@@ -8618,9 +8671,9 @@ dependencies = [
[[package]]
name = "memchr"
-version = "2.6.4"
+version = "2.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
[[package]]
name = "memfd"
@@ -8742,71 +8795,28 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-[[package]]
-name = "minimal-template"
-version = "0.0.0"
-dependencies = [
- "docify",
- "minimal-template-node",
- "minimal-template-runtime",
- "pallet-minimal-template",
- "polkadot-sdk-docs",
- "polkadot-sdk-frame",
- "simple-mermaid 0.1.1",
-]
-
[[package]]
name = "minimal-template-node"
version = "0.0.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"docify",
"futures",
"futures-timer",
"jsonrpsee",
"minimal-template-runtime",
- "polkadot-sdk-frame",
- "sc-basic-authorship",
- "sc-cli",
- "sc-client-api",
- "sc-consensus",
- "sc-consensus-manual-seal",
- "sc-executor",
- "sc-network",
- "sc-offchain",
- "sc-rpc-api",
- "sc-service",
- "sc-telemetry",
- "sc-transaction-pool",
- "sc-transaction-pool-api",
+ "polkadot-sdk",
"serde_json",
- "sp-api",
- "sp-block-builder",
- "sp-blockchain",
- "sp-io",
- "sp-keyring",
- "sp-runtime",
- "sp-timestamp",
- "substrate-build-script-utils",
- "substrate-frame-rpc-system",
]
[[package]]
name = "minimal-template-runtime"
version = "0.0.0"
dependencies = [
- "pallet-balances",
"pallet-minimal-template",
- "pallet-sudo",
- "pallet-timestamp",
- "pallet-transaction-payment",
- "pallet-transaction-payment-rpc-runtime-api",
"parity-scale-codec",
- "polkadot-sdk-frame",
+ "polkadot-sdk",
"scale-info",
- "sp-genesis-builder",
- "sp-runtime",
- "substrate-wasm-builder",
]
[[package]]
@@ -8909,15 +8919,14 @@ dependencies = [
[[package]]
name = "mockall"
-version = "0.12.1"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48"
+checksum = "d4c28b3fb6d753d28c20e826cd46ee611fda1cf3cde03a443a974043247c065a"
dependencies = [
"cfg-if",
"downcast",
"fragile",
- "lazy_static",
- "mockall_derive 0.12.1",
+ "mockall_derive 0.13.0",
"predicates 3.0.3",
"predicates-tree",
]
@@ -8929,21 +8938,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb"
dependencies = [
"cfg-if",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
[[package]]
name = "mockall_derive"
-version = "0.12.1"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2"
+checksum = "341014e7f530314e9a1fdbc7400b244efea7122662c96bfa248c31da5bfb2020"
dependencies = [
"cfg-if",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -9053,8 +9062,8 @@ checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd"
dependencies = [
"proc-macro-crate 1.3.1",
"proc-macro-error",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
"synstructure 0.12.6",
]
@@ -9101,8 +9110,8 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -9252,7 +9261,7 @@ name = "node-bench"
version = "0.9.0-dev"
dependencies = [
"array-bytes",
- "clap 4.5.10",
+ "clap 4.5.11",
"derive_more",
"fs_extra",
"futures",
@@ -9309,8 +9318,6 @@ dependencies = [
"sc-consensus-grandpa-rpc",
"sc-mixnet",
"sc-rpc",
- "sc-rpc-api",
- "sc-rpc-spec-v2",
"sc-sync-state-rpc",
"sc-transaction-pool-api",
"sp-api",
@@ -9331,7 +9338,7 @@ dependencies = [
name = "node-runtime-generate-bags"
version = "3.0.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"generate-bags",
"kitchensink-runtime",
]
@@ -9340,7 +9347,7 @@ dependencies = [
name = "node-template-release"
version = "3.0.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"flate2",
"fs_extra",
"glob",
@@ -9482,15 +9489,21 @@ dependencies = [
"num-traits",
]
+[[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
[[package]]
name = "num-derive"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -9592,6 +9605,15 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "object"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce"
+dependencies = [
+ "memchr",
+]
+
[[package]]
name = "oid-registry"
version = "0.6.1"
@@ -9634,56 +9656,20 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-[[package]]
-name = "openssl"
-version = "0.10.66"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1"
-dependencies = [
- "bitflags 2.6.0",
- "cfg-if",
- "foreign-types",
- "libc",
- "once_cell",
- "openssl-macros",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
-dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
-]
-
[[package]]
name = "openssl-probe"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
-[[package]]
-name = "openssl-src"
-version = "300.2.3+3.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843"
-dependencies = [
- "cc",
-]
-
[[package]]
name = "openssl-sys"
-version = "0.9.103"
+version = "0.9.102"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6"
+checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
dependencies = [
"cc",
"libc",
- "openssl-src",
"pkg-config",
"vcpkg",
]
@@ -9722,8 +9708,8 @@ dependencies = [
"itertools 0.11.0",
"petgraph",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -9883,7 +9869,6 @@ dependencies = [
"sp-core",
"sp-io",
"sp-runtime",
- "sp-std 14.0.0",
]
[[package]]
@@ -10090,6 +10075,7 @@ version = "28.0.0"
dependencies = [
"array-bytes",
"binary-merkle-tree",
+ "frame-benchmarking",
"frame-support",
"frame-system",
"log",
@@ -10218,18 +10204,27 @@ dependencies = [
name = "pallet-bridge-relayers"
version = "0.7.0"
dependencies = [
+ "bp-header-chain",
"bp-messages",
+ "bp-parachains",
+ "bp-polkadot-core",
"bp-relayers",
"bp-runtime",
+ "bp-test-utils",
"frame-benchmarking",
"frame-support",
"frame-system",
"log",
"pallet-balances",
+ "pallet-bridge-grandpa",
"pallet-bridge-messages",
+ "pallet-bridge-parachains",
+ "pallet-transaction-payment",
+ "pallet-utility",
"parity-scale-codec",
"scale-info",
"sp-arithmetic",
+ "sp-core",
"sp-io",
"sp-runtime",
"sp-std 14.0.0",
@@ -10301,10 +10296,12 @@ dependencies = [
name = "pallet-collective"
version = "28.0.0"
dependencies = [
+ "docify",
"frame-benchmarking",
"frame-support",
"frame-system",
"log",
+ "pallet-balances",
"parity-scale-codec",
"scale-info",
"sp-core",
@@ -10333,7 +10330,6 @@ dependencies = [
"array-bytes",
"assert_matches",
"bitflags 1.3.2",
- "env_logger 0.11.3",
"environmental",
"frame-benchmarking",
"frame-support",
@@ -10379,10 +10375,9 @@ dependencies = [
"anyhow",
"frame-system",
"parity-wasm",
- "polkavm-linker",
"sp-runtime",
"tempfile",
- "toml 0.8.8",
+ "toml 0.8.12",
"twox-hash",
]
@@ -10427,9 +10422,9 @@ dependencies = [
name = "pallet-contracts-proc-macro"
version = "18.0.0"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -10439,7 +10434,6 @@ dependencies = [
"bitflags 1.3.2",
"parity-scale-codec",
"paste",
- "polkavm-derive",
"scale-info",
]
@@ -10498,6 +10492,7 @@ dependencies = [
"frame-election-provider-support",
"frame-support",
"frame-system",
+ "log",
"pallet-balances",
"pallet-nomination-pools",
"pallet-staking",
@@ -10984,7 +10979,7 @@ name = "pallet-minimal-template"
version = "0.0.0"
dependencies = [
"parity-scale-codec",
- "polkadot-sdk-frame",
+ "polkadot-sdk",
"scale-info",
]
@@ -11011,7 +11006,6 @@ name = "pallet-mmr"
version = "27.0.0"
dependencies = [
"array-bytes",
- "env_logger 0.11.3",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -11023,6 +11017,7 @@ dependencies = [
"sp-io",
"sp-mmr-primitives",
"sp-runtime",
+ "sp-tracing 16.0.0",
]
[[package]]
@@ -11433,6 +11428,119 @@ dependencies = [
"sp-runtime",
]
+[[package]]
+name = "pallet-revive"
+version = "0.1.0"
+dependencies = [
+ "array-bytes",
+ "assert_matches",
+ "bitflags 1.3.2",
+ "environmental",
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "impl-trait-for-tuples",
+ "log",
+ "pallet-assets",
+ "pallet-balances",
+ "pallet-message-queue",
+ "pallet-proxy",
+ "pallet-revive-fixtures",
+ "pallet-revive-proc-macro",
+ "pallet-revive-uapi",
+ "pallet-timestamp",
+ "pallet-utility",
+ "parity-scale-codec",
+ "paste",
+ "polkavm 0.10.0",
+ "pretty_assertions",
+ "rlp",
+ "scale-info",
+ "serde",
+ "sp-api",
+ "sp-core",
+ "sp-io",
+ "sp-keystore",
+ "sp-runtime",
+ "sp-std 14.0.0",
+ "sp-tracing 16.0.0",
+ "staging-xcm",
+ "staging-xcm-builder",
+ "wat",
+]
+
+[[package]]
+name = "pallet-revive-fixtures"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "frame-system",
+ "log",
+ "parity-wasm",
+ "polkavm-linker 0.10.0",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "tempfile",
+ "toml 0.8.12",
+]
+
+[[package]]
+name = "pallet-revive-mock-network"
+version = "0.1.0"
+dependencies = [
+ "assert_matches",
+ "frame-support",
+ "frame-system",
+ "pallet-assets",
+ "pallet-balances",
+ "pallet-message-queue",
+ "pallet-proxy",
+ "pallet-revive",
+ "pallet-revive-fixtures",
+ "pallet-revive-proc-macro",
+ "pallet-revive-uapi",
+ "pallet-timestamp",
+ "pallet-utility",
+ "pallet-xcm",
+ "parity-scale-codec",
+ "polkadot-parachain-primitives",
+ "polkadot-primitives",
+ "polkadot-runtime-parachains",
+ "pretty_assertions",
+ "scale-info",
+ "sp-api",
+ "sp-core",
+ "sp-io",
+ "sp-keystore",
+ "sp-runtime",
+ "sp-tracing 16.0.0",
+ "staging-xcm",
+ "staging-xcm-builder",
+ "staging-xcm-executor",
+ "xcm-simulator",
+]
+
+[[package]]
+name = "pallet-revive-proc-macro"
+version = "0.1.0"
+dependencies = [
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
+]
+
+[[package]]
+name = "pallet-revive-uapi"
+version = "0.1.0"
+dependencies = [
+ "bitflags 1.3.2",
+ "parity-scale-codec",
+ "paste",
+ "polkavm-derive 0.10.0",
+ "scale-info",
+]
+
[[package]]
name = "pallet-root-offences"
version = "25.0.0"
@@ -11661,10 +11769,10 @@ name = "pallet-staking-reward-curve"
version = "11.0.0"
dependencies = [
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"sp-runtime",
- "syn 2.0.61",
+ "syn 2.0.65",
]
[[package]]
@@ -12015,13 +12123,14 @@ dependencies = [
"bp-messages",
"bp-runtime",
"bp-xcm-bridge-hub",
- "bridge-runtime-common",
"frame-support",
"frame-system",
"log",
"pallet-balances",
"pallet-bridge-messages",
+ "pallet-xcm-bridge-hub-router",
"parity-scale-codec",
+ "polkadot-parachain-primitives",
"scale-info",
"sp-core",
"sp-io",
@@ -12055,7 +12164,7 @@ dependencies = [
name = "parachain-template-node"
version = "0.0.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"color-print",
"cumulus-client-cli",
"cumulus-client-collator",
@@ -12151,6 +12260,7 @@ dependencies = [
"polkadot-parachain-primitives",
"polkadot-runtime-common",
"scale-info",
+ "serde_json",
"smallvec",
"sp-api",
"sp-block-builder",
@@ -12305,8 +12415,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c"
dependencies = [
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -12334,7 +12444,7 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2"
dependencies = [
- "proc-macro2 1.0.82",
+ "proc-macro2 1.0.86",
"syn 1.0.109",
"synstructure 0.12.6",
]
@@ -12481,6 +12591,7 @@ dependencies = [
"frame-try-runtime",
"hex-literal",
"log",
+ "pallet-asset-conversion",
"pallet-asset-tx-payment",
"pallet-assets",
"pallet-aura",
@@ -12499,6 +12610,7 @@ dependencies = [
"polkadot-parachain-primitives",
"polkadot-primitives",
"polkadot-runtime-common",
+ "primitive-types",
"scale-info",
"smallvec",
"sp-api",
@@ -12584,6 +12696,7 @@ dependencies = [
"pallet-identity",
"pallet-message-queue",
"pallet-multisig",
+ "pallet-proxy",
"pallet-session",
"pallet-timestamp",
"pallet-transaction-payment",
@@ -12642,6 +12755,7 @@ dependencies = [
"pallet-balances",
"pallet-identity",
"pallet-message-queue",
+ "pallet-xcm",
"parachains-common",
"parity-scale-codec",
"polkadot-runtime-common",
@@ -12682,6 +12796,7 @@ dependencies = [
"pallet-identity",
"pallet-message-queue",
"pallet-multisig",
+ "pallet-proxy",
"pallet-session",
"pallet-timestamp",
"pallet-transaction-payment",
@@ -12751,9 +12866,9 @@ checksum = "68ca01446f50dbda87c1786af8770d535423fa8a53aec03b8f4e3d7eb10e0929"
dependencies = [
"pest",
"pest_meta",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -12792,9 +12907,9 @@ version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -12886,7 +13001,6 @@ version = "7.0.0"
dependencies = [
"assert_matches",
"bitvec",
- "env_logger 0.11.3",
"futures",
"futures-timer",
"itertools 0.11.0",
@@ -12903,9 +13017,12 @@ dependencies = [
"rand",
"rand_chacha",
"rand_core",
+ "sc-keystore",
"schnorrkel 0.11.4",
+ "sp-application-crypto",
"sp-authority-discovery",
"sp-core",
+ "sp-tracing 16.0.0",
"tracing-gum",
]
@@ -12916,10 +13033,8 @@ dependencies = [
"always-assert",
"assert_matches",
"bitvec",
- "env_logger 0.11.3",
"futures",
"futures-timer",
- "log",
"maplit",
"polkadot-node-network-protocol",
"polkadot-node-subsystem",
@@ -12933,6 +13048,7 @@ dependencies = [
"sp-core",
"sp-keyring",
"sp-keystore",
+ "sp-tracing 16.0.0",
"tracing-gum",
]
@@ -13015,7 +13131,7 @@ name = "polkadot-cli"
version = "7.0.0"
dependencies = [
"cfg-if",
- "clap 4.5.10",
+ "clap 4.5.11",
"frame-benchmarking-cli",
"futures",
"log",
@@ -13045,11 +13161,9 @@ version = "7.0.0"
dependencies = [
"assert_matches",
"bitvec",
- "env_logger 0.11.3",
"fatality",
"futures",
"futures-timer",
- "log",
"parity-scale-codec",
"polkadot-node-network-protocol",
"polkadot-node-primitives",
@@ -13061,10 +13175,12 @@ dependencies = [
"rstest",
"sc-keystore",
"sc-network",
+ "schnellru",
"sp-core",
"sp-keyring",
"sp-keystore",
"sp-runtime",
+ "sp-tracing 16.0.0",
"thiserror",
"tokio-util",
"tracing-gum",
@@ -13218,7 +13334,6 @@ dependencies = [
"async-trait",
"bitvec",
"derive_more",
- "env_logger 0.11.3",
"futures",
"futures-timer",
"itertools 0.11.0",
@@ -13251,6 +13366,7 @@ dependencies = [
"sp-keyring",
"sp-keystore",
"sp-runtime",
+ "sp-tracing 16.0.0",
"thiserror",
"tracing-gum",
]
@@ -13261,7 +13377,6 @@ version = "7.0.0"
dependencies = [
"assert_matches",
"bitvec",
- "env_logger 0.11.3",
"futures",
"futures-timer",
"kvdb",
@@ -13281,6 +13396,7 @@ dependencies = [
"sp-consensus",
"sp-core",
"sp-keyring",
+ "sp-tracing 16.0.0",
"thiserror",
"tracing-gum",
]
@@ -13446,23 +13562,17 @@ name = "polkadot-node-core-prospective-parachains"
version = "6.0.0"
dependencies = [
"assert_matches",
- "bitvec",
"fatality",
"futures",
- "parity-scale-codec",
- "polkadot-node-primitives",
"polkadot-node-subsystem",
"polkadot-node-subsystem-test-helpers",
- "polkadot-node-subsystem-types",
"polkadot-node-subsystem-util",
"polkadot-primitives",
"polkadot-primitives-test-helpers",
+ "rand",
"rstest",
- "sc-keystore",
- "sp-application-crypto",
"sp-core",
- "sp-keyring",
- "sp-keystore",
+ "sp-tracing 16.0.0",
"thiserror",
"tracing-gum",
]
@@ -13592,8 +13702,10 @@ dependencies = [
"nix 0.28.0",
"parity-scale-codec",
"polkadot-node-core-pvf-common",
+ "polkadot-node-primitives",
"polkadot-parachain-primitives",
"polkadot-primitives",
+ "sp-maybe-compressed-blob",
"tracing-gum",
]
@@ -13608,6 +13720,7 @@ dependencies = [
"nix 0.28.0",
"parity-scale-codec",
"polkadot-node-core-pvf-common",
+ "polkadot-node-primitives",
"polkadot-primitives",
"rayon",
"rococo-runtime",
@@ -13664,7 +13777,7 @@ name = "polkadot-node-metrics"
version = "7.0.0"
dependencies = [
"assert_cmd",
- "bs58 0.5.0",
+ "bs58",
"futures",
"futures-timer",
"http-body-util",
@@ -13720,14 +13833,17 @@ dependencies = [
"bitvec",
"bounded-vec",
"futures",
+ "futures-timer",
"parity-scale-codec",
"polkadot-erasure-coding",
"polkadot-parachain-primitives",
"polkadot-primitives",
+ "sc-keystore",
"schnorrkel 0.11.4",
"serde",
"sp-application-crypto",
"sp-consensus-babe",
+ "sp-consensus-slots",
"sp-core",
"sp-keystore",
"sp-maybe-compressed-blob",
@@ -13802,7 +13918,6 @@ dependencies = [
"assert_matches",
"async-trait",
"derive_more",
- "env_logger 0.11.3",
"fatality",
"futures",
"futures-channel",
@@ -13869,18 +13984,48 @@ dependencies = [
name = "polkadot-parachain-bin"
version = "4.0.0"
dependencies = [
- "assert_cmd",
"asset-hub-rococo-runtime",
"asset-hub-westend-runtime",
- "async-trait",
"bridge-hub-rococo-runtime",
"bridge-hub-westend-runtime",
- "clap 4.5.10",
"collectives-westend-runtime",
- "color-print",
+ "color-eyre",
"contracts-rococo-runtime",
"coretime-rococo-runtime",
"coretime-westend-runtime",
+ "cumulus-primitives-core",
+ "glutton-westend-runtime",
+ "hex-literal",
+ "log",
+ "parachains-common",
+ "penpal-runtime",
+ "people-rococo-runtime",
+ "people-westend-runtime",
+ "polkadot-parachain-lib",
+ "polkadot-service",
+ "rococo-parachain-runtime",
+ "sc-chain-spec",
+ "sc-cli",
+ "sc-service",
+ "seedling-runtime",
+ "serde",
+ "serde_json",
+ "shell-runtime",
+ "sp-core",
+ "sp-runtime",
+ "staging-xcm",
+ "substrate-build-script-utils",
+ "testnet-parachains-constants",
+]
+
+[[package]]
+name = "polkadot-parachain-lib"
+version = "0.1.0"
+dependencies = [
+ "assert_cmd",
+ "async-trait",
+ "clap 4.5.11",
+ "color-print",
"cumulus-client-cli",
"cumulus-client-collator",
"cumulus-client-consensus-aura",
@@ -13899,8 +14044,6 @@ dependencies = [
"frame-system-rpc-runtime-api",
"frame-try-runtime",
"futures",
- "glutton-westend-runtime",
- "hex-literal",
"jsonrpsee",
"log",
"nix 0.28.0",
@@ -13909,56 +14052,40 @@ dependencies = [
"pallet-transaction-payment-rpc-runtime-api",
"parachains-common",
"parity-scale-codec",
- "penpal-runtime",
- "people-rococo-runtime",
- "people-westend-runtime",
"polkadot-cli",
"polkadot-primitives",
- "polkadot-service",
- "rococo-parachain-runtime",
"sc-basic-authorship",
"sc-chain-spec",
"sc-cli",
"sc-client-api",
+ "sc-client-db",
"sc-consensus",
"sc-executor",
"sc-network",
- "sc-network-sync",
"sc-rpc",
"sc-service",
"sc-sysinfo",
"sc-telemetry",
"sc-tracing",
"sc-transaction-pool",
- "sc-transaction-pool-api",
- "seedling-runtime",
"serde",
"serde_json",
- "shell-runtime",
"sp-api",
"sp-block-builder",
- "sp-blockchain",
"sp-consensus-aura",
"sp-core",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
"sp-keystore",
- "sp-offchain",
"sp-runtime",
"sp-session",
- "sp-std 14.0.0",
"sp-timestamp",
- "sp-tracing 16.0.0",
"sp-transaction-pool",
"sp-version",
- "staging-xcm",
- "substrate-build-script-utils",
+ "sp-weights",
"substrate-frame-rpc-system",
"substrate-prometheus-endpoint",
"substrate-state-trie-migration-rpc",
- "tempfile",
- "testnet-parachains-constants",
"tokio",
"wait-timeout",
]
@@ -13988,6 +14115,7 @@ dependencies = [
"parity-scale-codec",
"polkadot-core-primitives",
"polkadot-parachain-primitives",
+ "polkadot-primitives-test-helpers",
"scale-info",
"serde",
"sp-api",
@@ -14001,6 +14129,7 @@ dependencies = [
"sp-keystore",
"sp-runtime",
"sp-staking",
+ "sp-std 14.0.0",
]
[[package]]
@@ -14108,7 +14237,7 @@ dependencies = [
name = "polkadot-runtime-metrics"
version = "7.0.0"
dependencies = [
- "bs58 0.5.0",
+ "bs58",
"frame-benchmarking",
"parity-scale-codec",
"polkadot-primitives",
@@ -14182,25 +14311,14 @@ dependencies = [
"asset-test-utils",
"assets-common",
"binary-merkle-tree",
- "bp-asset-hub-rococo",
- "bp-asset-hub-westend",
- "bp-bridge-hub-cumulus",
- "bp-bridge-hub-kusama",
- "bp-bridge-hub-polkadot",
- "bp-bridge-hub-rococo",
- "bp-bridge-hub-westend",
"bp-header-chain",
- "bp-kusama",
"bp-messages",
"bp-parachains",
"bp-polkadot",
- "bp-polkadot-bulletin",
"bp-polkadot-core",
"bp-relayers",
- "bp-rococo",
"bp-runtime",
"bp-test-utils",
- "bp-westend",
"bp-xcm-bridge-hub",
"bp-xcm-bridge-hub-router",
"bridge-hub-common",
@@ -14329,6 +14447,11 @@ dependencies = [
"pallet-recovery",
"pallet-referenda",
"pallet-remark",
+ "pallet-revive",
+ "pallet-revive-fixtures",
+ "pallet-revive-mock-network",
+ "pallet-revive-proc-macro",
+ "pallet-revive-uapi",
"pallet-root-offences",
"pallet-root-testing",
"pallet-safe-mode",
@@ -14401,6 +14524,7 @@ dependencies = [
"polkadot-node-subsystem-types",
"polkadot-node-subsystem-util",
"polkadot-overseer",
+ "polkadot-parachain-lib",
"polkadot-parachain-primitives",
"polkadot-primitives",
"polkadot-rpc",
@@ -14411,7 +14535,6 @@ dependencies = [
"polkadot-service",
"polkadot-statement-distribution",
"polkadot-statement-table",
- "rococo-runtime-constants",
"sc-allocator",
"sc-authority-discovery",
"sc-basic-authorship",
@@ -14555,7 +14678,6 @@ dependencies = [
"testnet-parachains-constants",
"tracing-gum",
"tracing-gum-proc-macro",
- "westend-runtime-constants",
"xcm-emulator",
"xcm-procedural",
"xcm-runtime-apis",
@@ -14578,6 +14700,7 @@ dependencies = [
"frame-support",
"frame-system",
"kitchensink-runtime",
+ "log",
"minimal-template-runtime",
"pallet-asset-conversion-tx-payment",
"pallet-asset-tx-payment",
@@ -14588,6 +14711,7 @@ dependencies = [
"pallet-balances",
"pallet-broker",
"pallet-collective",
+ "pallet-contracts",
"pallet-default-config-example",
"pallet-democracy",
"pallet-example-offchain-worker",
@@ -14604,6 +14728,7 @@ dependencies = [
"pallet-transaction-payment",
"pallet-uniques",
"pallet-utility",
+ "pallet-xcm",
"parachain-template-runtime",
"parity-scale-codec",
"polkadot-sdk",
@@ -14641,9 +14766,12 @@ dependencies = [
"staging-node-cli",
"staging-parachain-info",
"staging-xcm",
+ "staging-xcm-builder",
+ "staging-xcm-executor",
"subkey",
"substrate-wasm-builder",
"xcm-docs",
+ "xcm-simulator",
]
[[package]]
@@ -14685,7 +14813,6 @@ dependencies = [
"assert_matches",
"async-trait",
"bitvec",
- "env_logger 0.11.3",
"frame-benchmarking",
"frame-benchmarking-cli",
"frame-metadata-hash-extension",
@@ -14793,6 +14920,7 @@ dependencies = [
"sp-state-machine",
"sp-storage 19.0.0",
"sp-timestamp",
+ "sp-tracing 16.0.0",
"sp-transaction-pool",
"sp-version",
"sp-weights",
@@ -14859,15 +14987,15 @@ dependencies = [
"async-trait",
"bincode",
"bitvec",
- "clap 4.5.10",
+ "clap 4.5.11",
"clap-num",
"color-eyre",
"colored",
- "env_logger 0.11.3",
"futures",
"futures-timer",
"hex",
"itertools 0.11.0",
+ "jemalloc_pprof",
"kvdb-memorydb",
"log",
"orchestra",
@@ -14891,6 +15019,7 @@ dependencies = [
"polkadot-overseer",
"polkadot-primitives",
"polkadot-primitives-test-helpers",
+ "polkadot-service",
"polkadot-statement-distribution",
"prometheus",
"pyroscope",
@@ -14916,8 +15045,10 @@ dependencies = [
"sp-keystore",
"sp-runtime",
"sp-timestamp",
+ "sp-tracing 16.0.0",
"strum 0.26.2",
"substrate-prometheus-endpoint",
+ "tikv-jemallocator",
"tokio",
"tracing-gum",
]
@@ -14957,7 +15088,7 @@ version = "1.0.0"
dependencies = [
"assert_matches",
"async-trait",
- "clap 4.5.10",
+ "clap 4.5.11",
"color-eyre",
"futures",
"futures-timer",
@@ -15099,7 +15230,7 @@ dependencies = [
name = "polkadot-voter-bags"
version = "7.0.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"generate-bags",
"sp-io",
"westend-runtime",
@@ -15113,9 +15244,22 @@ checksum = "8a3693e5efdb2bf74e449cd25fd777a28bd7ed87e41f5d5da75eb31b4de48b94"
dependencies = [
"libc",
"log",
- "polkavm-assembler",
- "polkavm-common",
- "polkavm-linux-raw",
+ "polkavm-assembler 0.9.0",
+ "polkavm-common 0.9.0",
+ "polkavm-linux-raw 0.9.0",
+]
+
+[[package]]
+name = "polkavm"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7ec0c5935f2eff23cfc4653002f4f8d12b37f87a720e0631282d188c32089d6"
+dependencies = [
+ "libc",
+ "log",
+ "polkavm-assembler 0.10.0",
+ "polkavm-common 0.10.0",
+ "polkavm-linux-raw 0.10.0",
]
[[package]]
@@ -15127,6 +15271,15 @@ dependencies = [
"log",
]
+[[package]]
+name = "polkavm-assembler"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8e4fd5a43100bf1afe9727b8130d01f966f5cfc9144d5604b21e795c2bcd80e"
+dependencies = [
+ "log",
+]
+
[[package]]
name = "polkavm-common"
version = "0.9.0"
@@ -15136,13 +15289,32 @@ dependencies = [
"log",
]
+[[package]]
+name = "polkavm-common"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0097b48bc0bedf9f3f537ce8f37e8f1202d8d83f9b621bdb21ff2c59b9097c50"
+dependencies = [
+ "log",
+ "polkavm-assembler 0.10.0",
+]
+
[[package]]
name = "polkavm-derive"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606"
dependencies = [
- "polkavm-derive-impl-macro",
+ "polkavm-derive-impl-macro 0.9.0",
+]
+
+[[package]]
+name = "polkavm-derive"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0dcc701385c08c31bdb0569f0c51a290c580d892fa77f1dd88a7352a62679ecf"
+dependencies = [
+ "polkavm-derive-impl-macro 0.10.0",
]
[[package]]
@@ -15151,20 +15323,42 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c"
dependencies = [
- "polkavm-common",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "polkavm-common 0.9.0",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
+]
+
+[[package]]
+name = "polkavm-derive-impl"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7855353a5a783dd5d09e3b915474bddf66575f5a3cf45dec8d1c5e051ba320dc"
+dependencies = [
+ "polkavm-common 0.10.0",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "polkavm-derive-impl-macro"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429"
+checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429"
+dependencies = [
+ "polkavm-derive-impl 0.9.0",
+ "syn 2.0.65",
+]
+
+[[package]]
+name = "polkavm-derive-impl-macro"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9324fe036de37c17829af233b46ef6b5562d4a0c09bb7fdb9f8378856dee30cf"
dependencies = [
- "polkavm-derive-impl",
- "syn 2.0.61",
+ "polkavm-derive-impl 0.10.0",
+ "syn 2.0.65",
]
[[package]]
@@ -15177,7 +15371,22 @@ dependencies = [
"hashbrown 0.14.3",
"log",
"object 0.32.2",
- "polkavm-common",
+ "polkavm-common 0.9.0",
+ "regalloc2 0.9.3",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "polkavm-linker"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d704edfe7bdcc876784f19436d53d515b65eb07bc9a0fae77085d552c2dbbb5"
+dependencies = [
+ "gimli 0.28.0",
+ "hashbrown 0.14.3",
+ "log",
+ "object 0.36.1",
+ "polkavm-common 0.10.0",
"regalloc2 0.9.3",
"rustc-demangle",
]
@@ -15188,6 +15397,12 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26e85d3456948e650dff0cfc85603915847faf893ed1e66b020bb82ef4557120"
+[[package]]
+name = "polkavm-linux-raw"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26e45fa59c7e1bb12ef5289080601e9ec9b31435f6e32800a5c90c132453d126"
+
[[package]]
name = "polling"
version = "2.8.0"
@@ -15256,6 +15471,12 @@ dependencies = [
"rand",
]
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
[[package]]
name = "pprof"
version = "0.12.1"
@@ -15276,6 +15497,19 @@ dependencies = [
"thiserror",
]
+[[package]]
+name = "pprof_util"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c620a1858d6ebf10d7c60256629078b2d106968d0e6ff63b850d9ecd84008fbe"
+dependencies = [
+ "anyhow",
+ "flate2",
+ "num",
+ "paste",
+ "prost 0.11.9",
+]
+
[[package]]
name = "ppv-lite86"
version = "0.2.17"
@@ -15334,24 +15568,14 @@ dependencies = [
"yansi",
]
-[[package]]
-name = "prettyplease"
-version = "0.1.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86"
-dependencies = [
- "proc-macro2 1.0.82",
- "syn 1.0.109",
-]
-
[[package]]
name = "prettyplease"
version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62"
dependencies = [
- "proc-macro2 1.0.82",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "syn 2.0.65",
]
[[package]]
@@ -15411,8 +15635,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
dependencies = [
"proc-macro-error-attr",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
"version_check",
]
@@ -15423,8 +15647,8 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"version_check",
]
@@ -15440,9 +15664,9 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -15451,9 +15675,9 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b698b0b09d40e9b7c1a47b132d66a8b54bcd20583d9b6d06e4535e383b4405c"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -15467,9 +15691,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.82"
+version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b"
+checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
dependencies = [
"unicode-ident",
]
@@ -15532,9 +15756,9 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -15589,33 +15813,42 @@ dependencies = [
"prost-derive 0.12.6",
]
+[[package]]
+name = "prost"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b2ecbe40f08db5c006b5764a2645f7f3f141ce756412ac9e1dd6087e6d32995"
+dependencies = [
+ "bytes",
+ "prost-derive 0.13.2",
+]
+
[[package]]
name = "prost-build"
-version = "0.11.9"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270"
+checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1"
dependencies = [
"bytes",
- "heck 0.4.1",
- "itertools 0.10.5",
- "lazy_static",
+ "heck 0.5.0",
+ "itertools 0.11.0",
"log",
"multimap",
+ "once_cell",
"petgraph",
- "prettyplease 0.1.25",
- "prost 0.11.9",
- "prost-types 0.11.9",
+ "prettyplease",
+ "prost 0.12.6",
+ "prost-types 0.12.4",
"regex",
- "syn 1.0.109",
+ "syn 2.0.65",
"tempfile",
- "which",
]
[[package]]
name = "prost-build"
-version = "0.12.4"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1"
+checksum = "f8650aabb6c35b860610e9cff5dc1af886c9e25073b7b1712a68972af4281302"
dependencies = [
"bytes",
"heck 0.5.0",
@@ -15624,11 +15857,11 @@ dependencies = [
"multimap",
"once_cell",
"petgraph",
- "prettyplease 0.2.12",
- "prost 0.12.6",
- "prost-types 0.12.4",
+ "prettyplease",
+ "prost 0.13.2",
+ "prost-types 0.13.2",
"regex",
- "syn 2.0.61",
+ "syn 2.0.65",
"tempfile",
]
@@ -15640,8 +15873,8 @@ checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
dependencies = [
"anyhow",
"itertools 0.10.5",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -15653,18 +15886,22 @@ checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"
dependencies = [
"anyhow",
"itertools 0.11.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
-name = "prost-types"
-version = "0.11.9"
+name = "prost-derive"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13"
+checksum = "acf0c195eebb4af52c752bec4f52f645da98b6e92077a04110c7f349477ae5ac"
dependencies = [
- "prost 0.11.9",
+ "anyhow",
+ "itertools 0.11.0",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -15676,6 +15913,15 @@ dependencies = [
"prost 0.12.6",
]
+[[package]]
+name = "prost-types"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60caa6738c7369b940c3d49246a8d1749323674c65cb13010134f5c9bad5b519"
+dependencies = [
+ "prost 0.13.2",
+]
+
[[package]]
name = "psm"
version = "0.1.21"
@@ -15781,24 +16027,6 @@ dependencies = [
"rand",
]
-[[package]]
-name = "quinn"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e"
-dependencies = [
- "bytes",
- "pin-project-lite",
- "quinn-proto 0.9.6",
- "quinn-udp 0.3.2",
- "rustc-hash",
- "rustls 0.20.9",
- "thiserror",
- "tokio",
- "tracing",
- "webpki",
-]
-
[[package]]
name = "quinn"
version = "0.10.2"
@@ -15808,33 +16036,15 @@ dependencies = [
"bytes",
"futures-io",
"pin-project-lite",
- "quinn-proto 0.10.6",
- "quinn-udp 0.4.1",
- "rustc-hash",
+ "quinn-proto",
+ "quinn-udp",
+ "rustc-hash 1.1.0",
"rustls 0.21.7",
"thiserror",
"tokio",
"tracing",
]
-[[package]]
-name = "quinn-proto"
-version = "0.9.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863"
-dependencies = [
- "bytes",
- "rand",
- "ring 0.16.20",
- "rustc-hash",
- "rustls 0.20.9",
- "slab",
- "thiserror",
- "tinyvec",
- "tracing",
- "webpki",
-]
-
[[package]]
name = "quinn-proto"
version = "0.10.6"
@@ -15844,7 +16054,7 @@ dependencies = [
"bytes",
"rand",
"ring 0.16.20",
- "rustc-hash",
+ "rustc-hash 1.1.0",
"rustls 0.21.7",
"slab",
"thiserror",
@@ -15852,19 +16062,6 @@ dependencies = [
"tracing",
]
-[[package]]
-name = "quinn-udp"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4"
-dependencies = [
- "libc",
- "quinn-proto 0.9.6",
- "socket2 0.4.9",
- "tracing",
- "windows-sys 0.42.0",
-]
-
[[package]]
name = "quinn-udp"
version = "0.4.1"
@@ -15889,11 +16086,11 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.36"
+version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
dependencies = [
- "proc-macro2 1.0.82",
+ "proc-macro2 1.0.86",
]
[[package]]
@@ -16079,22 +16276,22 @@ dependencies = [
[[package]]
name = "ref-cast"
-version = "1.0.20"
+version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acde58d073e9c79da00f2b5b84eed919c8326832648a5b109b3fce1bb1175280"
+checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931"
dependencies = [
"ref-cast-impl",
]
[[package]]
name = "ref-cast-impl"
-version = "1.0.20"
+version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925"
+checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -16117,7 +16314,7 @@ checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6"
dependencies = [
"hashbrown 0.13.2",
"log",
- "rustc-hash",
+ "rustc-hash 1.1.0",
"slice-group-by",
"smallvec",
]
@@ -16228,7 +16425,6 @@ dependencies = [
"backoff",
"bp-runtime",
"console",
- "env_logger 0.11.3",
"futures",
"isahc",
"jsonpath_lib",
@@ -16237,6 +16433,7 @@ dependencies = [
"parking_lot 0.12.3",
"serde_json",
"sp-runtime",
+ "sp-tracing 16.0.0",
"substrate-prometheus-endpoint",
"sysinfo",
"thiserror",
@@ -16248,7 +16445,7 @@ dependencies = [
name = "remote-ext-tests-bags-list"
version = "1.0.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"frame-system",
"log",
"pallet-bags-list-remote-tests",
@@ -16321,13 +16518,14 @@ dependencies = [
[[package]]
name = "ring"
version = "0.1.0"
-source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224"
+source = "git+https://github.com/w3f/ring-proof?rev=665f5f5#665f5f51af5734c7b6d90b985dd6861d4c5b4752"
dependencies = [
"ark-ec",
"ark-ff 0.4.2",
"ark-poly",
"ark-serialize 0.4.2",
"ark-std 0.4.0",
+ "arrayvec 0.7.4",
"blake2 0.10.6",
"common",
"fflonk",
@@ -16641,12 +16839,12 @@ checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
dependencies = [
"cfg-if",
"glob",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"regex",
"relative-path",
"rustc_version 0.4.0",
- "syn 2.0.61",
+ "syn 2.0.65",
"unicode-ident",
]
@@ -16677,9 +16875,9 @@ dependencies = [
[[package]]
name = "ruint"
-version = "1.11.1"
+version = "1.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "608a5726529f2f0ef81b8fde9873c4bb829d6b5b5ca6be4d97345ddf0749c825"
+checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286"
dependencies = [
"alloy-rlp",
"ark-ff 0.3.0",
@@ -16701,9 +16899,9 @@ dependencies = [
[[package]]
name = "ruint-macro"
-version = "1.1.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e666a5496a0b2186dbcd0ff6106e29e093c15591bde62c20d3842007c6978a09"
+checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18"
[[package]]
name = "rustc-demangle"
@@ -16717,6 +16915,12 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+[[package]]
+name = "rustc-hash"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152"
+
[[package]]
name = "rustc-hex"
version = "2.1.0"
@@ -16938,9 +17142,9 @@ dependencies = [
[[package]]
name = "rustversion"
-version = "1.0.14"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
[[package]]
name = "rusty-fork"
@@ -17097,7 +17301,7 @@ name = "sc-chain-spec"
version = "28.0.0"
dependencies = [
"array-bytes",
- "clap 4.5.10",
+ "clap 4.5.11",
"docify",
"log",
"memmap2 0.9.3",
@@ -17129,9 +17333,9 @@ name = "sc-chain-spec-derive"
version = "11.0.0"
dependencies = [
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -17140,7 +17344,7 @@ version = "0.36.0"
dependencies = [
"array-bytes",
"chrono",
- "clap 4.5.10",
+ "clap 4.5.11",
"fdlimit",
"futures",
"futures-timer",
@@ -17615,7 +17819,6 @@ dependencies = [
"array-bytes",
"assert_matches",
"criterion",
- "env_logger 0.11.3",
"num_cpus",
"parity-scale-codec",
"parking_lot 0.12.3",
@@ -17652,7 +17855,7 @@ dependencies = [
name = "sc-executor-common"
version = "0.29.0"
dependencies = [
- "polkavm",
+ "polkavm 0.9.3",
"sc-allocator",
"sp-maybe-compressed-blob",
"sp-wasm-interface 20.0.0",
@@ -17665,7 +17868,7 @@ name = "sc-executor-polkavm"
version = "0.29.0"
dependencies = [
"log",
- "polkavm",
+ "polkavm 0.9.3",
"sc-executor-common",
"sp-wasm-interface 20.0.0",
]
@@ -17990,7 +18193,7 @@ dependencies = [
name = "sc-network-types"
version = "0.10.0"
dependencies = [
- "bs58 0.5.0",
+ "bs58",
"ed25519-dalek",
"libp2p-identity",
"litep2p",
@@ -18058,7 +18261,6 @@ name = "sc-rpc"
version = "29.0.0"
dependencies = [
"assert_matches",
- "env_logger 0.11.3",
"futures",
"jsonrpsee",
"log",
@@ -18092,7 +18294,6 @@ dependencies = [
"sp-version",
"substrate-test-runtime-client",
"tokio",
- "tracing-subscriber 0.3.18",
]
[[package]]
@@ -18118,6 +18319,7 @@ dependencies = [
name = "sc-rpc-server"
version = "11.0.0"
dependencies = [
+ "dyn-clone",
"forwarded-header-value",
"futures",
"governor",
@@ -18127,6 +18329,7 @@ dependencies = [
"ip_network",
"jsonrpsee",
"log",
+ "sc-rpc-api",
"serde",
"serde_json",
"substrate-prometheus-endpoint",
@@ -18304,7 +18507,6 @@ dependencies = [
name = "sc-statement-store"
version = "10.0.0"
dependencies = [
- "env_logger 0.11.3",
"log",
"parity-db",
"parking_lot 0.12.3",
@@ -18315,6 +18517,7 @@ dependencies = [
"sp-core",
"sp-runtime",
"sp-statement-store",
+ "sp-tracing 16.0.0",
"substrate-prometheus-endpoint",
"tempfile",
"tokio",
@@ -18324,7 +18527,7 @@ dependencies = [
name = "sc-storage-monitor"
version = "0.16.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"fs4",
"log",
"sp-core",
@@ -18404,7 +18607,7 @@ dependencies = [
"parity-scale-codec",
"parking_lot 0.12.3",
"regex",
- "rustc-hash",
+ "rustc-hash 1.1.0",
"sc-client-api",
"sc-tracing-proc-macro",
"serde",
@@ -18425,9 +18628,9 @@ name = "sc-tracing-proc-macro"
version = "11.0.0"
dependencies = [
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -18539,8 +18742,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62"
dependencies = [
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -18577,17 +18780,17 @@ version = "0.8.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0f696e21e10fa546b7ffb1c9672c6de8fbc7a81acf59524386d8639bf12737"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"serde_derive_internals",
"syn 1.0.109",
]
[[package]]
name = "schnellru"
-version = "0.2.1"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d"
+checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367"
dependencies = [
"ahash 0.8.11",
"cfg-if",
@@ -18657,21 +18860,6 @@ dependencies = [
"untrusted 0.7.1",
]
-[[package]]
-name = "sctp-proto"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6220f78bb44c15f326b0596113305f6101097a18755d53727a575c97e09fb24"
-dependencies = [
- "bytes",
- "crc",
- "fxhash",
- "log",
- "rand",
- "slab",
- "thiserror",
-]
-
[[package]]
name = "sec1"
version = "0.7.3"
@@ -18698,18 +18886,18 @@ dependencies = [
[[package]]
name = "secp256k1"
-version = "0.28.0"
+version = "0.28.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2acea373acb8c21ecb5a23741452acd2593ed44ee3d343e72baaa143bc89d0d5"
+checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10"
dependencies = [
"secp256k1-sys",
]
[[package]]
name = "secp256k1-sys"
-version = "0.9.0"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09e67c467c38fd24bd5499dc9a18183b31575c12ee549197e3e20d57aa4fe3b7"
+checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb"
dependencies = [
"cc",
]
@@ -18846,9 +19034,9 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5"
[[package]]
name = "serde"
-version = "1.0.204"
+version = "1.0.210"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12"
+checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
dependencies = [
"serde_derive",
]
@@ -18873,13 +19061,13 @@ dependencies = [
[[package]]
name = "serde_derive"
-version = "1.0.204"
+version = "1.0.210"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
+checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -18888,8 +19076,8 @@ version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -18904,21 +19092,22 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.120"
+version = "1.0.128"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5"
+checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8"
dependencies = [
"indexmap 2.2.3",
"itoa",
+ "memchr",
"ryu",
"serde",
]
[[package]]
name = "serde_spanned"
-version = "0.6.4"
+version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
+checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
dependencies = [
"serde",
]
@@ -18978,9 +19167,9 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -18996,18 +19185,6 @@ dependencies = [
"opaque-debug 0.3.0",
]
-[[package]]
-name = "sha-1"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest 0.10.7",
- "sha1-asm",
-]
-
[[package]]
name = "sha1"
version = "0.10.6"
@@ -19019,15 +19196,6 @@ dependencies = [
"digest 0.10.7",
]
-[[package]]
-name = "sha1-asm"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ba6947745e7f86be3b8af00b7355857085dbdf8901393c89514510eb61f4e21"
-dependencies = [
- "cc",
-]
-
[[package]]
name = "sha2"
version = "0.9.9"
@@ -19157,9 +19325,9 @@ dependencies = [
[[package]]
name = "simple-dns"
-version = "0.5.7"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cae9a3fcdadafb6d97f4c0e007e4247b114ee0f119f650c3cbf3a8b3a1479694"
+checksum = "4c80e565e7dcc4f1ef247e2f395550d4cf7d777746d5988e7e4e3156b71077fc"
dependencies = [
"bitflags 2.6.0",
]
@@ -19208,9 +19376,9 @@ dependencies = [
[[package]]
name = "slotmap"
-version = "1.0.7"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
+checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342"
dependencies = [
"version_check",
]
@@ -19270,7 +19438,7 @@ dependencies = [
"base64 0.21.2",
"bip39",
"blake2-rfc",
- "bs58 0.5.0",
+ "bs58",
"chacha20",
"crossbeam-queue",
"derive_more",
@@ -19469,7 +19637,6 @@ name = "snowbridge-outbound-queue-merkle-tree"
version = "0.3.0"
dependencies = [
"array-bytes",
- "env_logger 0.11.3",
"hex",
"hex-literal",
"parity-scale-codec",
@@ -19477,6 +19644,7 @@ dependencies = [
"sp-core",
"sp-crypto-hashing",
"sp-runtime",
+ "sp-tracing 16.0.0",
]
[[package]]
@@ -19724,7 +19892,7 @@ dependencies = [
"httparse",
"log",
"rand",
- "sha-1 0.9.8",
+ "sha-1",
]
[[package]]
@@ -19747,8 +19915,9 @@ dependencies = [
name = "solochain-template-node"
version = "0.0.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"frame-benchmarking-cli",
+ "frame-metadata-hash-extension",
"frame-system",
"futures",
"jsonrpsee",
@@ -19763,7 +19932,6 @@ dependencies = [
"sc-executor",
"sc-network",
"sc-offchain",
- "sc-rpc-api",
"sc-service",
"sc-telemetry",
"sc-transaction-pool",
@@ -19791,6 +19959,7 @@ version = "0.0.0"
dependencies = [
"frame-benchmarking",
"frame-executive",
+ "frame-metadata-hash-extension",
"frame-support",
"frame-system",
"frame-system-benchmarking",
@@ -19853,9 +20022,9 @@ dependencies = [
"blake2 0.10.6",
"expander",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -20051,6 +20220,7 @@ dependencies = [
"sp-keystore",
"sp-mmr-primitives",
"sp-runtime",
+ "sp-weights",
"strum 0.26.2",
"w3f-bls",
]
@@ -20114,7 +20284,7 @@ dependencies = [
"bitflags 1.3.2",
"blake2 0.10.6",
"bounded-collections",
- "bs58 0.5.0",
+ "bs58",
"criterion",
"dyn-clonable",
"ed25519-zebra",
@@ -20237,9 +20407,9 @@ dependencies = [
name = "sp-crypto-hashing-proc-macro"
version = "0.1.0"
dependencies = [
- "quote 1.0.36",
+ "quote 1.0.37",
"sp-crypto-hashing",
- "syn 2.0.61",
+ "syn 2.0.65",
]
[[package]]
@@ -20255,18 +20425,18 @@ name = "sp-debug-derive"
version = "8.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "sp-debug-derive"
version = "14.0.0"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -20323,7 +20493,7 @@ dependencies = [
"libsecp256k1",
"log",
"parity-scale-codec",
- "polkavm-derive",
+ "polkavm-derive 0.9.1",
"rustversion",
"secp256k1",
"sp-core",
@@ -20421,7 +20591,7 @@ dependencies = [
name = "sp-npos-elections-fuzzer"
version = "2.0.0-alpha.5"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"honggfuzz",
"rand",
"sp-npos-elections",
@@ -20450,7 +20620,7 @@ dependencies = [
name = "sp-rpc"
version = "26.0.0"
dependencies = [
- "rustc-hash",
+ "rustc-hash 1.1.0",
"serde",
"serde_json",
"sp-core",
@@ -20481,6 +20651,7 @@ dependencies = [
"sp-state-machine",
"sp-std 14.0.0",
"sp-tracing 16.0.0",
+ "sp-trie",
"sp-weights",
"substrate-test-runtime-client",
"tracing",
@@ -20512,7 +20683,7 @@ dependencies = [
"bytes",
"impl-trait-for-tuples",
"parity-scale-codec",
- "polkavm-derive",
+ "polkavm-derive 0.9.1",
"primitive-types",
"rustversion",
"sp-core",
@@ -20536,9 +20707,9 @@ source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf5
dependencies = [
"Inflector",
"proc-macro-crate 1.3.1",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -20548,9 +20719,9 @@ dependencies = [
"Inflector",
"expander",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -20809,10 +20980,11 @@ name = "sp-version-proc-macro"
version = "13.0.0"
dependencies = [
"parity-scale-codec",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro-warning 1.0.0",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"sp-version",
- "syn 2.0.61",
+ "syn 2.0.65",
]
[[package]]
@@ -20867,9 +21039,9 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
[[package]]
name = "spinners"
-version = "4.1.0"
+version = "4.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08615eea740067d9899969bc2891c68a19c315cb1f66640af9a9ecb91b13bcab"
+checksum = "a0ef947f358b9c238923f764c72a4a9d42f2d637c46e059dbd319d6e7cfb4f82"
dependencies = [
"lazy_static",
"maplit",
@@ -20894,8 +21066,8 @@ checksum = "5e6915280e2d0db8911e5032a5c275571af6bdded2916abd691a659be25d3439"
dependencies = [
"Inflector",
"num-format",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"serde",
"serde_json",
"unicode-xid 0.2.4",
@@ -20919,8 +21091,8 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f07d54c4d01a1713eb363b55ba51595da15f6f1211435b71466460da022aa140"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -20934,11 +21106,13 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
name = "staging-chain-spec-builder"
version = "1.6.1"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"log",
"sc-chain-spec",
+ "serde",
"serde_json",
"sp-tracing 16.0.0",
+ "substrate-test-runtime",
]
[[package]]
@@ -20947,7 +21121,7 @@ version = "3.0.0-dev"
dependencies = [
"array-bytes",
"assert_cmd",
- "clap 4.5.10",
+ "clap 4.5.11",
"clap_complete",
"criterion",
"futures",
@@ -20982,7 +21156,7 @@ dependencies = [
name = "staging-node-inspect"
version = "0.12.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"parity-scale-codec",
"sc-cli",
"sc-client-api",
@@ -21042,6 +21216,7 @@ dependencies = [
"frame-system",
"impl-trait-for-tuples",
"log",
+ "pallet-asset-conversion",
"pallet-assets",
"pallet-balances",
"pallet-salary",
@@ -21055,6 +21230,7 @@ dependencies = [
"primitive-types",
"scale-info",
"sp-arithmetic",
+ "sp-core",
"sp-io",
"sp-runtime",
"sp-weights",
@@ -21110,31 +21286,11 @@ checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf"
dependencies = [
"cfg_aliases",
"memchr",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
-[[package]]
-name = "str0m"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6706347e49b13373f7ddfafad47df7583ed52083d6fc8a594eb2c80497ef959d"
-dependencies = [
- "combine",
- "crc",
- "fastrand 2.1.0",
- "hmac 0.12.1",
- "once_cell",
- "openssl",
- "openssl-sys",
- "sctp-proto",
- "serde",
- "sha-1 0.10.1",
- "thiserror",
- "tracing",
-]
-
[[package]]
name = "string-interner"
version = "0.17.0"
@@ -21183,8 +21339,8 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
dependencies = [
"heck 0.3.3",
"proc-macro-error",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -21219,8 +21375,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
dependencies = [
"heck 0.4.1",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"rustversion",
"syn 1.0.109",
]
@@ -21232,10 +21388,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
dependencies = [
"heck 0.4.1",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"rustversion",
- "syn 2.0.61",
+ "syn 2.0.65",
]
[[package]]
@@ -21245,17 +21401,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
dependencies = [
"heck 0.4.1",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"rustversion",
- "syn 2.0.61",
+ "syn 2.0.65",
]
[[package]]
name = "subkey"
version = "9.0.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"sc-cli",
]
@@ -21380,6 +21536,7 @@ dependencies = [
"rbtag",
"relay-substrate-client",
"relay-utils",
+ "rustc-hex",
"scale-info",
"sp-consensus-grandpa",
"sp-core",
@@ -21555,7 +21712,7 @@ dependencies = [
"merkleized-metadata",
"parity-scale-codec",
"parity-wasm",
- "polkavm-linker",
+ "polkavm-linker 0.9.2",
"sc-executor",
"sp-core",
"sp-io",
@@ -21564,7 +21721,7 @@ dependencies = [
"sp-version",
"strum 0.26.2",
"tempfile",
- "toml 0.8.8",
+ "toml 0.8.12",
"walkdir",
"wasm-opt",
]
@@ -21695,19 +21852,19 @@ version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"unicode-ident",
]
[[package]]
name = "syn"
-version = "2.0.61"
+version = "2.0.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c993ed8ccba56ae856363b1845da7266a7cb78e1d146c8a32d54b45a8b831fc9"
+checksum = "d2863d96a84c6439701d7a38f9de935ec562c8832cc55d1dde0f513b52fad106"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"unicode-ident",
]
@@ -21718,9 +21875,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86b837ef12ab88835251726eb12237655e61ec8dc8a280085d1961cdc3dfd047"
dependencies = [
"paste",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -21729,8 +21886,8 @@ version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
"unicode-xid 0.2.4",
]
@@ -21741,9 +21898,9 @@ version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -21860,9 +22017,9 @@ version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -21881,7 +22038,7 @@ dependencies = [
name = "test-parachain-adder-collator"
version = "1.0.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"futures",
"futures-timer",
"log",
@@ -21928,7 +22085,7 @@ dependencies = [
name = "test-parachain-undying-collator"
version = "1.0.0"
dependencies = [
- "clap 4.5.10",
+ "clap 4.5.11",
"futures",
"futures-timer",
"log",
@@ -22024,8 +22181,8 @@ version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10ac1c5050e43014d16b2f94d0d2ce79e65ffdd8b38d8048f9c8f6a8a6da62ac"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -22035,9 +22192,9 @@ version = "1.0.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -22111,14 +22268,16 @@ dependencies = [
[[package]]
name = "time"
-version = "0.3.27"
+version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bb39ee79a6d8de55f48f2293a830e040392f1c5f16e336bdd1788cd0aadce07"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
dependencies = [
"deranged",
"itoa",
"libc",
+ "num-conv",
"num_threads",
+ "powerfmt",
"serde",
"time-core",
"time-macros",
@@ -22126,16 +22285,17 @@ dependencies = [
[[package]]
name = "time-core"
-version = "0.1.1"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
[[package]]
name = "time-macros"
-version = "0.2.13"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "733d258752e9303d392b94b75230d07b0b9c489350c69b851fc6c065fde3e8f9"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
dependencies = [
+ "num-conv",
"time-core",
]
@@ -22198,9 +22358,9 @@ version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -22300,14 +22460,14 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.8.8"
+version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
- "toml_edit 0.21.0",
+ "toml_edit 0.22.12",
]
[[package]]
@@ -22327,7 +22487,7 @@ checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [
"indexmap 2.2.3",
"toml_datetime",
- "winnow",
+ "winnow 0.5.15",
]
[[package]]
@@ -22335,12 +22495,23 @@ name = "toml_edit"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+dependencies = [
+ "indexmap 2.2.3",
+ "toml_datetime",
+ "winnow 0.5.15",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef"
dependencies = [
"indexmap 2.2.3",
"serde",
"serde_spanned",
"toml_datetime",
- "winnow",
+ "winnow 0.6.18",
]
[[package]]
@@ -22405,9 +22576,9 @@ version = "0.1.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -22447,9 +22618,9 @@ dependencies = [
"assert_matches",
"expander",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -22521,6 +22692,7 @@ dependencies = [
"sharded-slab",
"smallvec",
"thread_local",
+ "time",
"tracing",
"tracing-core",
"tracing-log 0.2.0",
@@ -22544,9 +22716,9 @@ dependencies = [
[[package]]
name = "trie-db"
-version = "0.29.0"
+version = "0.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65ed83be775d85ebb0e272914fff6462c39b3ddd6dc67b5c1c41271aad280c69"
+checksum = "0c992b4f40c234a074d48a757efeabb1a6be88af84c0c23f7ca158950cb0ae7f"
dependencies = [
"hash-db",
"log",
@@ -22972,9 +23144,9 @@ checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
[[package]]
name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
dependencies = [
"same-file",
"winapi-util",
@@ -22997,11 +23169,12 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.92"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
+checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5"
dependencies = [
"cfg-if",
+ "once_cell",
"serde",
"serde_json",
"wasm-bindgen-macro",
@@ -23009,16 +23182,16 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.92"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
+checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b"
dependencies = [
"bumpalo",
"log",
"once_cell",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
"wasm-bindgen-shared",
]
@@ -23036,32 +23209,32 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.92"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
+checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf"
dependencies = [
- "quote 1.0.36",
+ "quote 1.0.37",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.92"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
+checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.92"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
+checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484"
[[package]]
name = "wasm-bindgen-test"
@@ -23083,8 +23256,8 @@ version = "0.3.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ecb993dd8c836930ed130e020e77d9b2e65dd0fbab1b67c790b0f5d80b11a575"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
]
[[package]]
@@ -23661,17 +23834,6 @@ dependencies = [
"westend-emulated-chain",
]
-[[package]]
-name = "which"
-version = "4.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
-dependencies = [
- "either",
- "libc",
- "once_cell",
-]
-
[[package]]
name = "wide"
version = "0.7.11"
@@ -23766,21 +23928,6 @@ dependencies = [
"windows-targets 0.52.0",
]
-[[package]]
-name = "windows-sys"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
-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-sys"
version = "0.45.0"
@@ -23988,6 +24135,15 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "winnow"
+version = "0.6.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f"
+dependencies = [
+ "memchr",
+]
+
[[package]]
name = "winreg"
version = "0.50.0"
@@ -24149,10 +24305,10 @@ name = "xcm-procedural"
version = "7.0.0"
dependencies = [
"Inflector",
- "proc-macro2 1.0.82",
- "quote 1.0.36",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"staging-xcm",
- "syn 2.0.61",
+ "syn 2.0.65",
"trybuild",
]
@@ -24160,7 +24316,6 @@ dependencies = [
name = "xcm-runtime-apis"
version = "0.1.0"
dependencies = [
- "env_logger 0.11.3",
"frame-executive",
"frame-support",
"frame-system",
@@ -24173,6 +24328,7 @@ dependencies = [
"scale-info",
"sp-api",
"sp-io",
+ "sp-tracing 16.0.0",
"sp-weights",
"staging-xcm",
"staging-xcm-builder",
@@ -24315,9 +24471,9 @@ version = "0.7.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -24335,9 +24491,9 @@ version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.36",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
index ba0526b21c36..7e48fa14ccc2 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,9 +1,9 @@
[workspace.package]
authors = ["Parity Technologies "]
edition = "2021"
-repository = "https://github.com/paritytech/polkadot-sdk.git"
+homepage = "https://paritytech.github.io/polkadot-sdk/"
license = "GPL-3.0-only"
-homepage = "https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/index.html"
+repository = "https://github.com/paritytech/polkadot-sdk.git"
[workspace]
resolver = "2"
@@ -136,6 +136,7 @@ members = [
"cumulus/parachains/runtimes/testing/penpal",
"cumulus/parachains/runtimes/testing/rococo-parachain",
"cumulus/polkadot-parachain",
+ "cumulus/polkadot-parachain/polkadot-parachain-lib",
"cumulus/primitives/aura",
"cumulus/primitives/core",
"cumulus/primitives/parachain-inherent",
@@ -394,6 +395,11 @@ members = [
"substrate/frame/recovery",
"substrate/frame/referenda",
"substrate/frame/remark",
+ "substrate/frame/revive",
+ "substrate/frame/revive/fixtures",
+ "substrate/frame/revive/mock-network",
+ "substrate/frame/revive/proc-macro",
+ "substrate/frame/revive/uapi",
"substrate/frame/root-offences",
"substrate/frame/root-testing",
"substrate/frame/safe-mode",
@@ -522,7 +528,6 @@ members = [
"substrate/utils/prometheus",
"substrate/utils/substrate-bip39",
"substrate/utils/wasm-builder",
- "templates/minimal",
"templates/minimal/node",
"templates/minimal/pallets/template",
"templates/minimal/runtime",
@@ -536,38 +541,41 @@ members = [
]
default-members = [
+ "cumulus/polkadot-parachain",
"polkadot",
"substrate/bin/node/cli",
]
[workspace.lints.rust]
suspicious_double_ref_op = { level = "allow", priority = 2 }
+# `substrate_runtime` is a common `cfg` condition name used in the repo.
+unexpected_cfgs = { level = "warn", check-cfg = ['cfg(substrate_runtime)'] }
[workspace.lints.clippy]
all = { level = "allow", priority = 0 }
-correctness = { level = "warn", priority = 1 }
+bind_instead_of_map = { level = "allow", priority = 2 } # stylistic
+borrowed-box = { level = "allow", priority = 2 } # Reasonable to fix this one
complexity = { level = "warn", priority = 1 }
+correctness = { level = "warn", priority = 1 }
+default_constructed_unit_structs = { level = "allow", priority = 2 } # stylistic
+derivable_impls = { level = "allow", priority = 2 } # false positives
+eq_op = { level = "allow", priority = 2 } # In tests we test equality.
+erasing_op = { level = "allow", priority = 2 } # E.g. 0 * DOLLARS
+extra-unused-type-parameters = { level = "allow", priority = 2 } # stylistic
+identity-op = { level = "allow", priority = 2 } # One case where we do 0 +
if-same-then-else = { level = "allow", priority = 2 }
-zero-prefixed-literal = { level = "allow", priority = 2 } # 00_1000_000
-type_complexity = { level = "allow", priority = 2 } # raison d'etre
+needless-lifetimes = { level = "allow", priority = 2 } # generated code
+needless_option_as_deref = { level = "allow", priority = 2 } # false positives
nonminimal-bool = { level = "allow", priority = 2 } # maybe
-borrowed-box = { level = "allow", priority = 2 } # Reasonable to fix this one
+option-map-unit-fn = { level = "allow", priority = 2 } # stylistic
+stable_sort_primitive = { level = "allow", priority = 2 } # prefer stable sort
too-many-arguments = { level = "allow", priority = 2 } # (Turning this on would lead to)
-needless-lifetimes = { level = "allow", priority = 2 } # generated code
+type_complexity = { level = "allow", priority = 2 } # raison d'etre
+unit_arg = { level = "allow", priority = 2 } # stylistic
unnecessary_cast = { level = "allow", priority = 2 } # Types may change
-identity-op = { level = "allow", priority = 2 } # One case where we do 0 +
useless_conversion = { level = "allow", priority = 2 } # Types may change
-unit_arg = { level = "allow", priority = 2 } # stylistic
-option-map-unit-fn = { level = "allow", priority = 2 } # stylistic
-bind_instead_of_map = { level = "allow", priority = 2 } # stylistic
-erasing_op = { level = "allow", priority = 2 } # E.g. 0 * DOLLARS
-eq_op = { level = "allow", priority = 2 } # In tests we test equality.
while_immutable_condition = { level = "allow", priority = 2 } # false positives
-needless_option_as_deref = { level = "allow", priority = 2 } # false positives
-derivable_impls = { level = "allow", priority = 2 } # false positives
-stable_sort_primitive = { level = "allow", priority = 2 } # prefer stable sort
-extra-unused-type-parameters = { level = "allow", priority = 2 } # stylistic
-default_constructed_unit_structs = { level = "allow", priority = 2 } # stylistic
+zero-prefixed-literal = { level = "allow", priority = 2 } # 00_1000_000
[workspace.dependencies]
Inflector = { version = "0.11.4" }
@@ -576,7 +584,7 @@ ahash = { version = "0.8.2" }
alloy-primitives = { version = "0.4.2", default-features = false }
alloy-sol-types = { version = "0.4.2", default-features = false }
always-assert = { version = "0.1" }
-anyhow = { version = "1.0.81" }
+anyhow = { version = "1.0.81", default-features = false }
aquamarine = { version = "0.5.0" }
arbitrary = { version = "1.3.2" }
ark-bls12-377 = { version = "0.4.0", default-features = false }
@@ -613,7 +621,7 @@ bip39 = { version = "2.0.0" }
bitflags = { version = "1.3.2" }
bitvec = { version = "1.0.1", default-features = false }
blake2 = { version = "0.10.4", default-features = false }
-blake2b_simd = { version = "1.0.1", default-features = false }
+blake2b_simd = { version = "1.0.2", default-features = false }
blake3 = { version = "1.5" }
bounded-collections = { version = "0.2.0", default-features = false }
bounded-vec = { version = "0.7" }
@@ -646,7 +654,7 @@ bridge-hub-test-utils = { path = "cumulus/parachains/runtimes/bridge-hubs/test-u
bridge-hub-westend-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend" }
bridge-hub-westend-runtime = { path = "cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend", default-features = false }
bridge-runtime-common = { path = "bridges/bin/runtime-common", default-features = false }
-bs58 = { version = "0.5.0", default-features = false }
+bs58 = { version = "0.5.1", default-features = false }
build-helper = { version = "0.1.1" }
byte-slice-cast = { version = "1.2.1", default-features = false }
byteorder = { version = "1.3.2", default-features = false }
@@ -660,12 +668,12 @@ chrono = { version = "0.4.31" }
cid = { version = "0.9.0" }
clap = { version = "4.5.10" }
clap-num = { version = "1.0.2" }
-clap_complete = { version = "4.0.2" }
+clap_complete = { version = "4.5.13" }
coarsetime = { version = "0.1.22" }
codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" }
collectives-westend-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/collectives/collectives-westend" }
collectives-westend-runtime = { path = "cumulus/parachains/runtimes/collectives/collectives-westend" }
-color-eyre = { version = "0.6.1", default-features = false }
+color-eyre = { version = "0.6.3", default-features = false }
color-print = { version = "0.3.4" }
colored = { version = "2.0.4" }
comfy-table = { version = "7.1.0", default-features = false }
@@ -727,7 +735,6 @@ 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.7" }
enumn = { version = "0.1.13" }
-env_logger = { version = "0.11.3" }
environmental = { version = "1.1.4", default-features = false }
equivocation-detector = { path = "bridges/relays/equivocation" }
ethabi = { version = "1.0.0", default-features = false, package = "ethabi-decode" }
@@ -803,10 +810,11 @@ is-terminal = { version = "0.4.9" }
is_executable = { version = "1.0.1" }
isahc = { version = "1.2" }
itertools = { version = "0.11" }
+jemalloc_pprof = { version = "0.4" }
jobserver = { version = "0.1.26" }
jsonpath_lib = { version = "0.3" }
-jsonrpsee = { version = "0.23.2" }
-jsonrpsee-core = { version = "0.23.2" }
+jsonrpsee = { version = "0.24.3" }
+jsonrpsee-core = { version = "0.24.3" }
k256 = { version = "0.13.3", default-features = false }
kitchensink-runtime = { path = "substrate/bin/node/runtime" }
kvdb = { version = "0.13.0" }
@@ -814,17 +822,17 @@ kvdb-memorydb = { version = "0.13.0" }
kvdb-rocksdb = { version = "0.19.0" }
kvdb-shared-tests = { version = "0.11.0" }
landlock = { version = "0.3.0" }
-lazy_static = { version = "1.4.0" }
+lazy_static = { version = "1.5.0" }
libc = { version = "0.2.155" }
libfuzzer-sys = { version = "0.4" }
libp2p = { version = "0.52.4" }
-libp2p-identity = { version = "0.2.3" }
+libp2p-identity = { version = "0.2.9" }
libsecp256k1 = { version = "0.7.0", default-features = false }
linked-hash-map = { version = "0.5.4" }
linked_hash_set = { version = "0.1.4" }
linregress = { version = "0.5.1" }
lite-json = { version = "0.2.0", default-features = false }
-litep2p = { version = "0.6.2" }
+litep2p = { version = "0.7.0", features = ["websocket"] }
log = { version = "0.4.22", default-features = false }
macro_magic = { version = "0.5.1" }
maplit = { version = "1.0.2" }
@@ -892,7 +900,7 @@ pallet-collator-selection = { path = "cumulus/pallets/collator-selection", defau
pallet-collective = { path = "substrate/frame/collective", default-features = false }
pallet-collective-content = { path = "cumulus/parachains/pallets/collective-content", default-features = false }
pallet-contracts = { path = "substrate/frame/contracts", default-features = false }
-pallet-contracts-fixtures = { path = "substrate/frame/contracts/fixtures" }
+pallet-contracts-fixtures = { path = "substrate/frame/contracts/fixtures", default-features = false }
pallet-contracts-mock-network = { default-features = false, path = "substrate/frame/contracts/mock-network" }
pallet-contracts-proc-macro = { path = "substrate/frame/contracts/proc-macro", default-features = false }
pallet-contracts-uapi = { path = "substrate/frame/contracts/uapi", default-features = false }
@@ -948,6 +956,11 @@ pallet-ranked-collective = { path = "substrate/frame/ranked-collective", default
pallet-recovery = { path = "substrate/frame/recovery", default-features = false }
pallet-referenda = { path = "substrate/frame/referenda", default-features = false }
pallet-remark = { default-features = false, path = "substrate/frame/remark" }
+pallet-revive = { path = "substrate/frame/revive", default-features = false }
+pallet-revive-fixtures = { path = "substrate/frame/revive/fixtures", default-features = false }
+pallet-revive-mock-network = { default-features = false, path = "substrate/frame/revive/mock-network" }
+pallet-revive-proc-macro = { path = "substrate/frame/revive/proc-macro", default-features = false }
+pallet-revive-uapi = { path = "substrate/frame/revive/uapi", default-features = false }
pallet-root-offences = { default-features = false, path = "substrate/frame/root-offences" }
pallet-root-testing = { path = "substrate/frame/root-testing", default-features = false }
pallet-safe-mode = { default-features = false, path = "substrate/frame/safe-mode" }
@@ -1041,6 +1054,7 @@ polkadot-node-subsystem-test-helpers = { path = "polkadot/node/subsystem-test-he
polkadot-node-subsystem-types = { path = "polkadot/node/subsystem-types", default-features = false }
polkadot-node-subsystem-util = { path = "polkadot/node/subsystem-util", default-features = false }
polkadot-overseer = { path = "polkadot/node/overseer", default-features = false }
+polkadot-parachain-lib = { path = "cumulus/polkadot-parachain/polkadot-parachain-lib", default-features = false }
polkadot-parachain-primitives = { path = "polkadot/parachain", default-features = false }
polkadot-primitives = { path = "polkadot/primitives", default-features = false }
polkadot-primitives-test-helpers = { path = "polkadot/primitives/test-helpers" }
@@ -1057,7 +1071,7 @@ polkadot-subsystem-bench = { path = "polkadot/node/subsystem-bench" }
polkadot-test-client = { path = "polkadot/node/test/client" }
polkadot-test-runtime = { path = "polkadot/runtime/test-runtime" }
polkadot-test-service = { path = "polkadot/node/test/service" }
-polkavm = "0.9.3"
+polkavm = { version = "0.9.3", default-features = false }
polkavm-derive = "0.9.1"
polkavm-linker = "0.9.2"
portpicker = { version = "0.1.1" }
@@ -1065,7 +1079,7 @@ pretty_assertions = { version = "1.3.0" }
primitive-types = { version = "0.12.1", default-features = false }
proc-macro-crate = { version = "3.0.0" }
proc-macro-warning = { version = "1.0.0", default-features = false }
-proc-macro2 = { version = "1.0.64" }
+proc-macro2 = { version = "1.0.86" }
procfs = { version = "0.16.0" }
prometheus = { version = "0.13.0", default-features = false }
prometheus-endpoint = { path = "substrate/utils/prometheus", default-features = false, package = "substrate-prometheus-endpoint" }
@@ -1076,7 +1090,7 @@ pyroscope = { version = "0.5.7" }
pyroscope_pprofrs = { version = "0.2.7" }
quick_cache = { version = "0.3" }
quickcheck = { version = "1.0.3", default-features = false }
-quote = { version = "1.0.36" }
+quote = { version = "1.0.37" }
rand = { version = "0.8.5", default-features = false }
rand_chacha = { version = "0.3.1", default-features = false }
rand_core = { version = "0.6.2" }
@@ -1084,7 +1098,7 @@ rand_distr = { version = "0.4.3" }
rand_pcg = { version = "0.3.1" }
rayon = { version = "1.5.1" }
rbtag = { version = "0.3" }
-ref-cast = { version = "1.0.0" }
+ref-cast = { version = "1.0.23" }
regex = { version = "1.10.2" }
relay-substrate-client = { path = "bridges/relays/client-substrate" }
relay-utils = { path = "bridges/relays/utils" }
@@ -1102,7 +1116,7 @@ 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 }
-rustversion = { version = "1.0.6" }
+rustversion = { version = "1.0.17" }
rusty-fork = { version = "0.3.0", default-features = false }
safe-mix = { version = "1.0", default-features = false }
sc-allocator = { path = "substrate/client/allocator", default-features = false }
@@ -1164,17 +1178,17 @@ sc-transaction-pool-api = { path = "substrate/client/transaction-pool/api", defa
sc-utils = { path = "substrate/client/utils", default-features = false }
scale-info = { version = "2.11.1", default-features = false }
schemars = { version = "0.8.13", default-features = false }
-schnellru = { version = "0.2.1" }
+schnellru = { version = "0.2.3" }
schnorrkel = { version = "0.11.4", default-features = false }
seccompiler = { version = "0.4.0" }
secp256k1 = { version = "0.28.0", default-features = false }
secrecy = { version = "0.8.0", default-features = false }
seedling-runtime = { path = "cumulus/parachains/runtimes/starters/seedling" }
separator = { version = "0.4.1" }
-serde = { version = "1.0.204", default-features = false }
+serde = { version = "1.0.210", default-features = false }
serde-big-array = { version = "0.3.2" }
serde_derive = { version = "1.0.117" }
-serde_json = { version = "1.0.120", default-features = false }
+serde_json = { version = "1.0.128", default-features = false }
serde_yaml = { version = "0.9" }
serial_test = { version = "2.0.0" }
sha1 = { version = "0.10.6" }
@@ -1261,7 +1275,7 @@ sp-version = { path = "substrate/primitives/version", default-features = false }
sp-version-proc-macro = { path = "substrate/primitives/version/proc-macro", default-features = false }
sp-wasm-interface = { path = "substrate/primitives/wasm-interface", default-features = false }
sp-weights = { path = "substrate/primitives/weights", default-features = false }
-spinners = { version = "4.1.0" }
+spinners = { version = "4.1.1" }
ss58-registry = { version = "1.34.0", default-features = false }
ssz_rs = { version = "0.9.0", default-features = false }
ssz_rs_derive = { version = "0.9.0", default-features = false }
@@ -1283,7 +1297,7 @@ substrate-test-runtime-client = { path = "substrate/test-utils/runtime/client" }
substrate-test-runtime-transaction-pool = { path = "substrate/test-utils/runtime/transaction-pool" }
substrate-test-utils = { path = "substrate/test-utils" }
substrate-wasm-builder = { path = "substrate/utils/wasm-builder", default-features = false }
-syn = { version = "2.0.53" }
+syn = { version = "2.0.65" }
sysinfo = { version = "0.30" }
tar = { version = "0.4" }
tempfile = { version = "3.8.1" }
@@ -1307,7 +1321,7 @@ tokio-stream = { version = "0.1.14" }
tokio-test = { version = "0.4.2" }
tokio-tungstenite = { version = "0.20.1" }
tokio-util = { version = "0.7.8" }
-toml = { version = "0.8.8" }
+toml = { version = "0.8.12" }
toml_edit = { version = "0.19" }
tower = { version = "0.4.13" }
tower-http = { version = "0.5.2" }
@@ -1318,10 +1332,10 @@ tracing-log = { version = "0.2.0" }
tracing-subscriber = { version = "0.3.18" }
tracking-allocator = { path = "polkadot/node/tracking-allocator", default-features = false, package = "staging-tracking-allocator" }
trie-bench = { version = "0.39.0" }
-trie-db = { version = "0.29.0", default-features = false }
+trie-db = { version = "0.29.1", default-features = false }
trie-root = { version = "0.18.0", default-features = false }
trie-standardmap = { version = "0.16.0" }
-trybuild = { version = "1.0.88" }
+trybuild = { version = "1.0.89" }
tt-call = { version = "1.0.8" }
tuplex = { version = "0.1", default-features = false }
twox-hash = { version = "1.6.3", default-features = false }
@@ -1330,7 +1344,7 @@ url = { version = "2.4.0" }
void = { version = "1.0.2" }
w3f-bls = { version = "0.1.3", default-features = false }
wait-timeout = { version = "0.2" }
-walkdir = { version = "2.4.0" }
+walkdir = { version = "2.5.0" }
wasm-bindgen-test = { version = "0.3.19" }
wasm-instrument = { version = "0.4", default-features = false }
wasm-opt = { version = "0.116" }
@@ -1356,22 +1370,22 @@ zstd = { version = "0.12.4", default-features = false }
[profile.release]
# Polkadot runtime requires unwinding.
-panic = "unwind"
opt-level = 3
+panic = "unwind"
# make sure dev builds with backtrace do not slow us down
[profile.dev.package.backtrace]
inherits = "release"
[profile.production]
+codegen-units = 1
inherits = "release"
lto = true
-codegen-units = 1
[profile.testnet]
-inherits = "release"
debug = 1 # debug symbols are useful for profilers
debug-assertions = true
+inherits = "release"
overflow-checks = true
# The list of dependencies below (which can be both direct and indirect dependencies) are crates
diff --git a/README.md b/README.md
index 92901d070db0..702c853684cd 100644
--- a/README.md
+++ b/README.md
@@ -10,10 +10,7 @@
forks](https://img.shields.io/github/forks/paritytech/polkadot-sdk)
-[![StackExchange](https://img.shields.io/badge/StackExchange-Community%20&%20Support-222222?logo=stackexchange)](https://substrate.stackexchange.com/) ![GitHub contributors](https://img.shields.io/github/contributors/paritytech/polkadot-sdk) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/paritytech/polkadot-sdk)
-
-![GitHub lines of code](https://tokei.rs/b1/github/paritytech/polkadot-sdk)
-![GitHub last commit](https://img.shields.io/github/last-commit/paritytech/polkadot-sdk)
+[![StackExchange](https://img.shields.io/badge/StackExchange-Community%20&%20Support-222222?logo=stackexchange)](https://substrate.stackexchange.com/) ![GitHub contributors](https://img.shields.io/github/contributors/paritytech/polkadot-sdk) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/paritytech/polkadot-sdk) ![GitHub last commit](https://img.shields.io/github/last-commit/paritytech/polkadot-sdk)
> The Polkadot SDK repository provides all the components needed to start building on the
> [Polkadot](https://polkadot.network) network, a multi-chain blockchain platform that enables
@@ -21,6 +18,12 @@ forks](https://img.shields.io/github/forks/paritytech/polkadot-sdk)
+## ⚡ Quickstart
+If you want to get an example node running quickly you can execute the following getting started script:
+```
+curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/scripts/getting-started.sh | bash
+```
+
## 📚 Documentation
* [🦀 rust-docs](https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/index.html)
@@ -35,27 +38,15 @@ forks](https://img.shields.io/github/forks/paritytech/polkadot-sdk)
## 🚀 Releases
-> [!NOTE]
-> Our release process is still Work-In-Progress and may not yet reflect the aspired outline
-> here.
-
-The Polkadot-SDK has two release channels: `stable` and `nightly`. Production software is advised to
-only use `stable`. `nightly` is meant for tinkerers to try out the latest features. The detailed
-release process is described in [RELEASE.md](docs/RELEASE.md).
-
-You can use [`psvm`](https://github.com/paritytech/psvm) to manage your Polkadot-SDK dependency
-versions in downstream projects.
-
-### 😌 Stable
-
-`stable` releases have a support duration of **three months**. In this period, the release will not
-have any breaking changes. It will receive bug fixes, security fixes, performance fixes and new
-non-breaking features on a **two week** cadence.
+
+![Current Stable Release](https://raw.githubusercontent.com/paritytech/release-registry/main/badges/polkadot-sdk-latest.svg) ![Next Stable Release](https://raw.githubusercontent.com/paritytech/release-registry/main/badges/polkadot-sdk-next.svg)
-### 🤠 Nightly
+The Polkadot-SDK is released every three months as a `stableYYMMDD` release. They are supported for
+one year with patches. See the next upcoming versions in the [Release
+Registry](https://github.com/paritytech/release-registry/).
-`nightly` releases are released every night from the `master` branch, potentially with breaking
-changes. They have pre-release version numbers in the format `major.0.0-nightlyYYMMDD`.
+You can use [`psvm`](https://github.com/paritytech/psvm) to update all dependencies to a specific
+version without needing to manually select the correct version for each crate.
## 🛠️ Tooling
diff --git a/bridges/bin/runtime-common/Cargo.toml b/bridges/bin/runtime-common/Cargo.toml
index 36f27b6aa035..b8835d55f0da 100644
--- a/bridges/bin/runtime-common/Cargo.toml
+++ b/bridges/bin/runtime-common/Cargo.toml
@@ -25,7 +25,6 @@ bp-polkadot-core = { workspace = true }
bp-relayers = { workspace = true }
bp-runtime = { workspace = true }
bp-xcm-bridge-hub = { workspace = true }
-bp-xcm-bridge-hub-router = { workspace = true }
pallet-bridge-grandpa = { workspace = true }
pallet-bridge-messages = { workspace = true }
pallet-bridge-parachains = { workspace = true }
@@ -43,12 +42,15 @@ sp-trie = { optional = true, workspace = true }
# Polkadot dependencies
xcm = { workspace = true }
-xcm-builder = { workspace = true }
[dev-dependencies]
bp-test-utils = { workspace = true }
pallet-balances = { workspace = true }
-pallet-bridge-messages = { features = ["std", "test-helpers"], workspace = true }
+pallet-bridge-messages = { features = [
+ "std",
+ "test-helpers",
+], workspace = true }
+sp-core = { workspace = true }
[features]
default = ["std"]
@@ -60,7 +62,6 @@ std = [
"bp-relayers/std",
"bp-runtime/std",
"bp-test-utils/std",
- "bp-xcm-bridge-hub-router/std",
"bp-xcm-bridge-hub/std",
"codec/std",
"frame-support/std",
@@ -74,12 +75,12 @@ std = [
"pallet-transaction-payment/std",
"pallet-utility/std",
"scale-info/std",
+ "sp-core/std",
"sp-io/std",
"sp-runtime/std",
"sp-std/std",
"sp-trie/std",
"tuplex/std",
- "xcm-builder/std",
"xcm/std",
]
runtime-benchmarks = [
@@ -95,10 +96,6 @@ runtime-benchmarks = [
"pallet-utility/runtime-benchmarks",
"sp-runtime/runtime-benchmarks",
"sp-trie",
- "xcm-builder/runtime-benchmarks",
]
integrity-test = ["static_assertions"]
-test-helpers = [
- "bp-runtime/test-helpers",
- "sp-trie",
-]
+test-helpers = ["bp-runtime/test-helpers", "sp-trie"]
diff --git a/bridges/bin/runtime-common/src/extensions/check_obsolete_extension.rs b/bridges/bin/runtime-common/src/extensions.rs
similarity index 76%
rename from bridges/bin/runtime-common/src/extensions/check_obsolete_extension.rs
rename to bridges/bin/runtime-common/src/extensions.rs
index df75092af6e8..dc7e14de28f3 100644
--- a/bridges/bin/runtime-common/src/extensions/check_obsolete_extension.rs
+++ b/bridges/bin/runtime-common/src/extensions.rs
@@ -18,23 +18,20 @@
//! obsolete (duplicated) data or do not pass some additional pallet-specific
//! checks.
-use crate::{
- extensions::refund_relayer_extension::RefundableParachainId,
- messages_call_ext::MessagesCallSubType,
-};
+use bp_parachains::SubmitParachainHeadsInfo;
use bp_relayers::ExplicitOrAccountParams;
use bp_runtime::Parachain;
use pallet_bridge_grandpa::{
BridgedBlockNumber, CallSubType as GrandpaCallSubType, SubmitFinalityProofHelper,
};
-use pallet_bridge_parachains::{
- CallSubType as ParachainsCallSubtype, SubmitParachainHeadsHelper, SubmitParachainHeadsInfo,
-};
+use pallet_bridge_messages::CallSubType as MessagesCallSubType;
+use pallet_bridge_parachains::{CallSubType as ParachainsCallSubtype, SubmitParachainHeadsHelper};
use pallet_bridge_relayers::Pallet as RelayersPallet;
use sp_runtime::{
- traits::{Get, PhantomData, UniqueSaturatedInto},
+ traits::{Get, UniqueSaturatedInto},
transaction_validity::{TransactionPriority, TransactionValidity, ValidTransactionBuilder},
};
+use sp_std::marker::PhantomData;
// Re-export to avoid include tuplex dependency everywhere.
#[doc(hidden)]
@@ -126,17 +123,27 @@ where
/// `(BundledHeaderNumber - 1 - BestKnownHeaderNumber) * Priority::get()`.
/// The boost is only applied if submitter has active registration in the relayers
/// pallet.
-pub struct CheckAndBoostBridgeParachainsTransactions(
- PhantomData<(T, RefPara, Priority, SlashAccount)>,
-);
-
-impl, SlashAccount: Get>
- BridgeRuntimeFilterCall
- for CheckAndBoostBridgeParachainsTransactions
+pub struct CheckAndBoostBridgeParachainsTransactions<
+ T,
+ ParachainsInstance,
+ Para,
+ Priority,
+ SlashAccount,
+>(PhantomData<(T, ParachainsInstance, Para, Priority, SlashAccount)>);
+
+impl<
+ T,
+ ParachainsInstance,
+ Para,
+ Priority: Get,
+ SlashAccount: Get,
+ > BridgeRuntimeFilterCall
+ for CheckAndBoostBridgeParachainsTransactions
where
- T: pallet_bridge_relayers::Config + pallet_bridge_parachains::Config,
- RefPara: RefundableParachainId,
- T::RuntimeCall: ParachainsCallSubtype,
+ T: pallet_bridge_relayers::Config + pallet_bridge_parachains::Config,
+ ParachainsInstance: 'static,
+ Para: Parachain,
+ T::RuntimeCall: ParachainsCallSubtype,
{
// bridged header number, bundled in transaction
type ToPostDispatch = Option;
@@ -145,10 +152,10 @@ where
who: &T::AccountId,
call: &T::RuntimeCall,
) -> (Self::ToPostDispatch, TransactionValidity) {
- match ParachainsCallSubtype::::check_obsolete_submit_parachain_heads(
+ match ParachainsCallSubtype::::check_obsolete_submit_parachain_heads(
call,
) {
- Ok(Some(our_tx)) if our_tx.base.para_id.0 == RefPara::BridgedChain::PARACHAIN_ID => {
+ Ok(Some(our_tx)) if our_tx.base.para_id.0 == Para::PARACHAIN_ID => {
let to_post_dispatch = Some(our_tx.base);
let total_priority_boost =
compute_priority_boost::(&who, our_tx.improved_by);
@@ -167,7 +174,7 @@ where
let Some(update) = maybe_update else { return };
// we are only interested in failed or unneeded transactions
let has_failed = has_failed ||
- !SubmitParachainHeadsHelper::::was_successful(&update);
+ !SubmitParachainHeadsHelper::::was_successful(&update);
if !has_failed {
return
@@ -275,7 +282,7 @@ macro_rules! generate_bridge_reject_obsolete_headers_and_messages {
type Pre = (
$account_id,
( $(
- <$filter_call as $crate::extensions::check_obsolete_extension::BridgeRuntimeFilterCall<
+ <$filter_call as $crate::extensions::BridgeRuntimeFilterCall<
$account_id,
$call,
>>::ToPostDispatch,
@@ -302,7 +309,7 @@ macro_rules! generate_bridge_reject_obsolete_headers_and_messages {
$(
let (from_validate, call_filter_validity) = <
$filter_call as
- $crate::extensions::check_obsolete_extension::BridgeRuntimeFilterCall<
+ $crate::extensions::BridgeRuntimeFilterCall<
Self::AccountId,
$call,
>>::validate(&who, call);
@@ -319,12 +326,13 @@ macro_rules! generate_bridge_reject_obsolete_headers_and_messages {
info: &sp_runtime::traits::DispatchInfoOf,
len: usize,
) -> Result {
- use $crate::extensions::check_obsolete_extension::__private::tuplex::PushBack;
+ use $crate::extensions::__private::tuplex::PushBack;
+
let to_post_dispatch = ();
$(
let (from_validate, call_filter_validity) = <
$filter_call as
- $crate::extensions::check_obsolete_extension::BridgeRuntimeFilterCall<
+ $crate::extensions::BridgeRuntimeFilterCall<
$account_id,
$call,
>>::validate(&relayer, call);
@@ -342,14 +350,15 @@ macro_rules! generate_bridge_reject_obsolete_headers_and_messages {
len: usize,
result: &sp_runtime::DispatchResult,
) -> Result<(), sp_runtime::transaction_validity::TransactionValidityError> {
- use $crate::extensions::check_obsolete_extension::__private::tuplex::PopFront;
+ use $crate::extensions::__private::tuplex::PopFront;
+
let Some((relayer, to_post_dispatch)) = to_post_dispatch else { return Ok(()) };
let has_failed = result.is_err();
$(
let (item, to_post_dispatch) = to_post_dispatch.pop_front();
<
$filter_call as
- $crate::extensions::check_obsolete_extension::BridgeRuntimeFilterCall<
+ $crate::extensions::BridgeRuntimeFilterCall<
$account_id,
$call,
>>::post_dispatch(&relayer, has_failed, item);
@@ -363,25 +372,37 @@ macro_rules! generate_bridge_reject_obsolete_headers_and_messages {
#[cfg(test)]
mod tests {
use super::*;
- use crate::{
- extensions::refund_relayer_extension::{
- tests::{
- initialize_environment, relayer_account_at_this_chain,
- submit_parachain_head_call_ex, submit_relay_header_call_ex,
- },
- RefundableParachain,
- },
- mock::*,
- };
- use bp_polkadot_core::parachains::ParaId;
+ use crate::mock::*;
+ use bp_header_chain::StoredHeaderDataBuilder;
+ use bp_messages::{InboundLaneData, LaneId, MessageNonce, OutboundLaneData};
+ use bp_parachains::{BestParaHeadHash, ParaInfo};
+ use bp_polkadot_core::parachains::{ParaHeadsProof, ParaId};
+ use bp_relayers::{RewardsAccountOwner, RewardsAccountParams};
use bp_runtime::HeaderId;
- use frame_support::{assert_err, assert_ok};
+ use bp_test_utils::{make_default_justification, test_keyring, TEST_GRANDPA_SET_ID};
+ use frame_support::{assert_err, assert_ok, traits::fungible::Mutate};
+ use pallet_bridge_grandpa::{Call as GrandpaCall, StoredAuthoritySet};
+ use pallet_bridge_parachains::Call as ParachainsCall;
use sp_runtime::{
- traits::{ConstU64, SignedExtension},
+ traits::{parameter_types, ConstU64, Header as _, SignedExtension},
transaction_validity::{InvalidTransaction, TransactionValidity, ValidTransaction},
DispatchError,
};
+ parameter_types! {
+ pub MsgProofsRewardsAccount: RewardsAccountParams = RewardsAccountParams::new(
+ test_lane_id(),
+ TEST_BRIDGED_CHAIN_ID,
+ RewardsAccountOwner::ThisChain,
+ );
+ pub MsgDeliveryProofsRewardsAccount: RewardsAccountParams = RewardsAccountParams::new(
+ test_lane_id(),
+ TEST_BRIDGED_CHAIN_ID,
+ RewardsAccountOwner::BridgedChain,
+ );
+ pub TestLaneId: LaneId = test_lane_id();
+ }
+
pub struct MockCall {
data: u32,
}
@@ -455,6 +476,103 @@ mod tests {
}
}
+ fn test_lane_id() -> LaneId {
+ LaneId::new(1, 2)
+ }
+
+ fn initial_balance_of_relayer_account_at_this_chain() -> ThisChainBalance {
+ let test_stake: ThisChainBalance = TestStake::get();
+ ExistentialDeposit::get().saturating_add(test_stake * 100)
+ }
+
+ // in tests, the following accounts are equal (because of how `into_sub_account_truncating`
+ // works)
+
+ fn delivery_rewards_account() -> ThisChainAccountId {
+ TestPaymentProcedure::rewards_account(MsgProofsRewardsAccount::get())
+ }
+
+ fn confirmation_rewards_account() -> ThisChainAccountId {
+ TestPaymentProcedure::rewards_account(MsgDeliveryProofsRewardsAccount::get())
+ }
+
+ fn relayer_account_at_this_chain() -> ThisChainAccountId {
+ 0
+ }
+
+ fn initialize_environment(
+ best_relay_header_number: BridgedChainBlockNumber,
+ parachain_head_at_relay_header_number: BridgedChainBlockNumber,
+ best_message: MessageNonce,
+ ) {
+ let authorities = test_keyring().into_iter().map(|(a, w)| (a.into(), w)).collect();
+ let best_relay_header = HeaderId(best_relay_header_number, BridgedChainHash::default());
+ pallet_bridge_grandpa::CurrentAuthoritySet::::put(
+ StoredAuthoritySet::try_new(authorities, TEST_GRANDPA_SET_ID).unwrap(),
+ );
+ pallet_bridge_grandpa::BestFinalized::::put(best_relay_header);
+ pallet_bridge_grandpa::ImportedHeaders::::insert(
+ best_relay_header.hash(),
+ bp_test_utils::test_header::(0).build(),
+ );
+
+ let para_id = ParaId(BridgedUnderlyingParachain::PARACHAIN_ID);
+ let para_info = ParaInfo {
+ best_head_hash: BestParaHeadHash {
+ at_relay_block_number: parachain_head_at_relay_header_number,
+ head_hash: [parachain_head_at_relay_header_number as u8; 32].into(),
+ },
+ next_imported_hash_position: 0,
+ };
+ pallet_bridge_parachains::ParasInfo::::insert(para_id, para_info);
+
+ let lane_id = test_lane_id();
+ let in_lane_data =
+ InboundLaneData { last_confirmed_nonce: best_message, ..Default::default() };
+ pallet_bridge_messages::InboundLanes::::insert(lane_id, in_lane_data);
+
+ let out_lane_data =
+ OutboundLaneData { latest_received_nonce: best_message, ..Default::default() };
+ pallet_bridge_messages::OutboundLanes::::insert(lane_id, out_lane_data);
+
+ Balances::mint_into(&delivery_rewards_account(), ExistentialDeposit::get()).unwrap();
+ Balances::mint_into(&confirmation_rewards_account(), ExistentialDeposit::get()).unwrap();
+ Balances::mint_into(
+ &relayer_account_at_this_chain(),
+ initial_balance_of_relayer_account_at_this_chain(),
+ )
+ .unwrap();
+ }
+
+ fn submit_relay_header_call(relay_header_number: BridgedChainBlockNumber) -> RuntimeCall {
+ let relay_header = BridgedChainHeader::new(
+ relay_header_number,
+ Default::default(),
+ Default::default(),
+ Default::default(),
+ Default::default(),
+ );
+ let relay_justification = make_default_justification(&relay_header);
+
+ RuntimeCall::BridgeGrandpa(GrandpaCall::submit_finality_proof {
+ finality_target: Box::new(relay_header),
+ justification: relay_justification,
+ })
+ }
+
+ fn submit_parachain_head_call(
+ parachain_head_at_relay_header_number: BridgedChainBlockNumber,
+ ) -> RuntimeCall {
+ RuntimeCall::BridgeParachains(ParachainsCall::submit_parachain_heads {
+ at_relay_block: (parachain_head_at_relay_header_number, BridgedChainHash::default()),
+ parachains: vec![(
+ ParaId(BridgedUnderlyingParachain::PARACHAIN_ID),
+ [parachain_head_at_relay_header_number as u8; 32].into(),
+ )],
+ parachain_heads_proof: ParaHeadsProof { storage_proof: Default::default() },
+ })
+ }
+
#[test]
fn test_generated_obsolete_extension() {
generate_bridge_reject_obsolete_headers_and_messages!(
@@ -546,7 +664,7 @@ mod tests {
let priority_boost = BridgeGrandpaWrapper::validate(
&relayer_account_at_this_chain(),
- &submit_relay_header_call_ex(200),
+ &submit_relay_header_call(200),
)
.1
.unwrap()
@@ -564,7 +682,7 @@ mod tests {
let priority_boost = BridgeGrandpaWrapper::validate(
&relayer_account_at_this_chain(),
- &submit_relay_header_call_ex(200),
+ &submit_relay_header_call(200),
)
.1
.unwrap()
@@ -601,7 +719,8 @@ mod tests {
type BridgeParachainsWrapper = CheckAndBoostBridgeParachainsTransactions<
TestRuntime,
- RefundableParachain<(), BridgedUnderlyingParachain>,
+ (),
+ BridgedUnderlyingParachain,
ConstU64<1_000>,
SlashDestination,
>;
@@ -613,7 +732,7 @@ mod tests {
let priority_boost = BridgeParachainsWrapper::validate(
&relayer_account_at_this_chain(),
- &submit_parachain_head_call_ex(200),
+ &submit_parachain_head_call(200),
)
.1
.unwrap()
@@ -631,7 +750,7 @@ mod tests {
let priority_boost = BridgeParachainsWrapper::validate(
&relayer_account_at_this_chain(),
- &submit_parachain_head_call_ex(200),
+ &submit_parachain_head_call(200),
)
.1
.unwrap()
diff --git a/bridges/bin/runtime-common/src/integrity.rs b/bridges/bin/runtime-common/src/integrity.rs
index f661db8a2205..2ff6c4c9165a 100644
--- a/bridges/bin/runtime-common/src/integrity.rs
+++ b/bridges/bin/runtime-common/src/integrity.rs
@@ -27,17 +27,25 @@ use frame_support::{storage::generator::StorageValue, traits::Get, weights::Weig
use frame_system::limits;
use pallet_bridge_messages::WeightInfoExt as _;
+// Re-export to avoid include all dependencies everywhere.
+#[doc(hidden)]
+pub mod __private {
+ pub use bp_xcm_bridge_hub;
+ pub use static_assertions;
+}
+
/// Macro that ensures that the runtime configuration and chain primitives crate are sharing
/// the same types (nonce, block number, hash, hasher, account id and header).
#[macro_export]
macro_rules! assert_chain_types(
( runtime: $r:path, this_chain: $this:path ) => {
{
+ use frame_system::{Config as SystemConfig, pallet_prelude::{BlockNumberFor, HeaderFor}};
+ use $crate::integrity::__private::static_assertions::assert_type_eq_all;
+
// if one of asserts fail, then either bridge isn't configured properly (or alternatively - non-standard
// configuration is used), or something has broke existing configuration (meaning that all bridged chains
// and relays will stop functioning)
- use frame_system::{Config as SystemConfig, pallet_prelude::{BlockNumberFor, HeaderFor}};
- use static_assertions::assert_type_eq_all;
assert_type_eq_all!(<$r as SystemConfig>::Nonce, bp_runtime::NonceOf<$this>);
assert_type_eq_all!(BlockNumberFor<$r>, bp_runtime::BlockNumberOf<$this>);
@@ -60,20 +68,21 @@ macro_rules! assert_bridge_messages_pallet_types(
bridged_chain: $bridged:path,
) => {
{
+ use $crate::integrity::__private::bp_xcm_bridge_hub::XcmAsPlainPayload;
+ use $crate::integrity::__private::static_assertions::assert_type_eq_all;
+ use bp_messages::ChainWithMessages;
+ use bp_runtime::Chain;
+ use pallet_bridge_messages::Config as BridgeMessagesConfig;
+
// if one of asserts fail, then either bridge isn't configured properly (or alternatively - non-standard
// configuration is used), or something has broke existing configuration (meaning that all bridged chains
// and relays will stop functioning)
- use $crate::messages_xcm_extension::XcmAsPlainPayload;
- use bp_messages::ChainWithMessages;
- use bp_runtime::Chain;
- use pallet_bridge_messages::Config as MessagesConfig;
- use static_assertions::assert_type_eq_all;
- assert_type_eq_all!(<$r as MessagesConfig<$i>>::ThisChain, $this);
- assert_type_eq_all!(<$r as MessagesConfig<$i>>::BridgedChain, $bridged);
+ assert_type_eq_all!(<$r as BridgeMessagesConfig<$i>>::ThisChain, $this);
+ assert_type_eq_all!(<$r as BridgeMessagesConfig<$i>>::BridgedChain, $bridged);
- assert_type_eq_all!(<$r as MessagesConfig<$i>>::OutboundPayload, XcmAsPlainPayload);
- assert_type_eq_all!(<$r as MessagesConfig<$i>>::InboundPayload, XcmAsPlainPayload);
+ assert_type_eq_all!(<$r as BridgeMessagesConfig<$i>>::OutboundPayload, XcmAsPlainPayload);
+ assert_type_eq_all!(<$r as BridgeMessagesConfig<$i>>::InboundPayload, XcmAsPlainPayload);
}
}
);
@@ -165,12 +174,6 @@ where
R: pallet_bridge_messages::Config,
MI: 'static,
{
- assert!(
- !R::ActiveOutboundLanes::get().is_empty(),
- "ActiveOutboundLanes ({:?}) must not be empty",
- R::ActiveOutboundLanes::get(),
- );
-
assert!(
pallet_bridge_messages::BridgedChainOf::::MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX
<= pallet_bridge_messages::BridgedChainOf::::MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX,
diff --git a/bridges/bin/runtime-common/src/lib.rs b/bridges/bin/runtime-common/src/lib.rs
index b65bb6041d56..ac8b013086b1 100644
--- a/bridges/bin/runtime-common/src/lib.rs
+++ b/bridges/bin/runtime-common/src/lib.rs
@@ -20,16 +20,11 @@
#![cfg_attr(not(feature = "std"), no_std)]
pub mod extensions;
-
pub mod messages_api;
pub mod messages_benchmarking;
-pub mod messages_call_ext;
-pub mod messages_xcm_extension;
pub mod parachains_benchmarking;
mod mock;
#[cfg(feature = "integrity-test")]
pub mod integrity;
-
-const LOG_TARGET_BRIDGE_DISPATCH: &str = "runtime::bridge-dispatch";
diff --git a/bridges/bin/runtime-common/src/messages_xcm_extension.rs b/bridges/bin/runtime-common/src/messages_xcm_extension.rs
deleted file mode 100644
index 46ed4da0d854..000000000000
--- a/bridges/bin/runtime-common/src/messages_xcm_extension.rs
+++ /dev/null
@@ -1,502 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Parity Bridges Common is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Parity Bridges Common. If not, see .
-
-//! Module provides utilities for easier XCM handling, e.g:
-//! `XcmExecutor` -> `MessageSender` -> `OutboundMessageQueue`
-//! |
-//! `Relayer`
-//! |
-//! `XcmRouter` <- `MessageDispatch` <- `InboundMessageQueue`
-
-use bp_messages::{
- source_chain::OnMessagesDelivered,
- target_chain::{DispatchMessage, MessageDispatch},
- LaneId, MessageNonce,
-};
-use bp_runtime::messages::MessageDispatchResult;
-pub use bp_xcm_bridge_hub::XcmAsPlainPayload;
-use bp_xcm_bridge_hub_router::XcmChannelStatusProvider;
-use codec::{Decode, Encode};
-use frame_support::{traits::Get, weights::Weight, CloneNoBound, EqNoBound, PartialEqNoBound};
-use pallet_bridge_messages::{
- Config as MessagesConfig, OutboundLanesCongestedSignals, WeightInfoExt as MessagesPalletWeights,
-};
-use scale_info::TypeInfo;
-use sp_runtime::SaturatedConversion;
-use sp_std::{fmt::Debug, marker::PhantomData};
-use xcm::prelude::*;
-use xcm_builder::{DispatchBlob, DispatchBlobError};
-
-/// Message dispatch result type for single message.
-#[derive(CloneNoBound, EqNoBound, PartialEqNoBound, Encode, Decode, Debug, TypeInfo)]
-pub enum XcmBlobMessageDispatchResult {
- /// We've been unable to decode message payload.
- InvalidPayload,
- /// Message has been dispatched.
- Dispatched,
- /// Message has **NOT** been dispatched because of given error.
- NotDispatched(#[codec(skip)] Option),
-}
-
-/// [`XcmBlobMessageDispatch`] is responsible for dispatching received messages
-///
-/// It needs to be used at the target bridge hub.
-pub struct XcmBlobMessageDispatch {
- _marker: sp_std::marker::PhantomData<(DispatchBlob, Weights, Channel)>,
-}
-
-impl<
- BlobDispatcher: DispatchBlob,
- Weights: MessagesPalletWeights,
- Channel: XcmChannelStatusProvider,
- > MessageDispatch for XcmBlobMessageDispatch
-{
- type DispatchPayload = XcmAsPlainPayload;
- type DispatchLevelResult = XcmBlobMessageDispatchResult;
-
- fn is_active() -> bool {
- !Channel::is_congested()
- }
-
- fn dispatch_weight(message: &mut DispatchMessage) -> Weight {
- match message.data.payload {
- Ok(ref payload) => {
- let payload_size = payload.encoded_size().saturated_into();
- Weights::message_dispatch_weight(payload_size)
- },
- Err(_) => Weight::zero(),
- }
- }
-
- fn dispatch(
- message: DispatchMessage,
- ) -> MessageDispatchResult {
- let payload = match message.data.payload {
- Ok(payload) => payload,
- Err(e) => {
- log::error!(
- target: crate::LOG_TARGET_BRIDGE_DISPATCH,
- "[XcmBlobMessageDispatch] payload error: {:?} - message_nonce: {:?}",
- e,
- message.key.nonce
- );
- return MessageDispatchResult {
- unspent_weight: Weight::zero(),
- dispatch_level_result: XcmBlobMessageDispatchResult::InvalidPayload,
- }
- },
- };
- let dispatch_level_result = match BlobDispatcher::dispatch_blob(payload) {
- Ok(_) => {
- log::debug!(
- target: crate::LOG_TARGET_BRIDGE_DISPATCH,
- "[XcmBlobMessageDispatch] DispatchBlob::dispatch_blob was ok - message_nonce: {:?}",
- message.key.nonce
- );
- XcmBlobMessageDispatchResult::Dispatched
- },
- Err(e) => {
- log::error!(
- target: crate::LOG_TARGET_BRIDGE_DISPATCH,
- "[XcmBlobMessageDispatch] DispatchBlob::dispatch_blob failed, error: {:?} - message_nonce: {:?}",
- e, message.key.nonce
- );
- XcmBlobMessageDispatchResult::NotDispatched(Some(e))
- },
- };
- MessageDispatchResult { unspent_weight: Weight::zero(), dispatch_level_result }
- }
-}
-
-/// A pair of sending chain location and message lane, used by this chain to send messages
-/// over the bridge.
-#[cfg_attr(feature = "std", derive(Debug, Eq, PartialEq))]
-pub struct SenderAndLane {
- /// Sending chain relative location.
- pub location: Location,
- /// Message lane, used by the sending chain.
- pub lane: LaneId,
-}
-
-impl SenderAndLane {
- /// Create new object using provided location and lane.
- pub fn new(location: Location, lane: LaneId) -> Self {
- SenderAndLane { location, lane }
- }
-}
-
-/// [`XcmBlobHauler`] is responsible for sending messages to the bridge "point-to-point link" from
-/// one side, where on the other it can be dispatched by [`XcmBlobMessageDispatch`].
-pub trait XcmBlobHauler {
- /// Runtime that has messages pallet deployed.
- type Runtime: MessagesConfig;
- /// Instance of the messages pallet that is used to send messages.
- type MessagesInstance: 'static;
-
- /// Actual XCM message sender (`HRMP` or `UMP`) to the source chain
- /// location (`Self::SenderAndLane::get().location`).
- type ToSourceChainSender: SendXcm;
- /// An XCM message that is sent to the sending chain when the bridge queue becomes congested.
- type CongestedMessage: Get