diff --git a/.config/lychee.toml b/.config/lychee.toml
index 1de9fcd559dd9ea14fb603b7740efebcb893ed93..b1f08de33340999d52114ed8c6b5fcd6604662fa 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 9b3bd9d618c14e41f1dbf420aff3fee1677e2830..7a67ba2695cf697c886b31520431ea0ee33e14c9 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 4fc5b97caae0735058337c8b23e4ca7471761d24..d13add97d419dca273fb1f0604f4da7ecee6cd5b 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -64,7 +64,8 @@
/substrate/primitives/merkle-mountain-range/ @acatangiu
# Contracts
-/substrate/frame/contracts/ @athei @paritytech/docs-audit
+/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
diff --git a/.github/actions/build-push-image/action.yml b/.github/actions/build-push-image/action.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fead9cfe336933dbde9a936e49b44fe1cf1396ed
--- /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 0000000000000000000000000000000000000000..869f17661e4a23e3c07256a8f59303c09fec7d9b
--- /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/codecov.yml b/.github/codecov.yml
index ceceb9e63654ce83c942571dea79cae29f15d851..b237c9fe6b044492349aa2f94c860f5e940d0589 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 1451fabca8b975534778e8321facd261e3b803fb..0000000000000000000000000000000000000000
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 bf0e9e5ed20bb3085e6bbe3e59079372121167b1..0000000000000000000000000000000000000000
--- a/.github/commands-readme.md
+++ /dev/null
@@ -1,199 +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 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)
-
-### 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
-
-### 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`
-
-### 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`
-
-### 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`
-
-## 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/dependabot.yml b/.github/dependabot.yml
index 3277a6e4607a74b2b59e24fce951e68c8703fcfc..12f81b04d3a1228d3f4533c8e3d34d6935df51c6 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -5,13 +5,17 @@ updates:
directory: '/'
labels: ["A1-insubstantial", "R0-silent"]
schedule:
- interval: daily
+ interval: weekly
+ groups:
+ ci_dependencies:
+ patterns:
+ - "*"
# Update Rust dependencies:
- package-ecosystem: "cargo"
directory: "/"
labels: ["A1-insubstantial", "R0-silent"]
schedule:
- interval: "daily"
+ interval: "weekly"
groups:
# We assume these crates to be semver abiding and can therefore group them together.
known_good_semver:
diff --git a/.github/env b/.github/env
index 162ce8af7c0ddbc1534b7d1ffb09cff4be012fc7..2e4d5b48100dfb3e976270efd155843e907687a8 100644
--- a/.github/env
+++ b/.github/env
@@ -1 +1 @@
-IMAGE="docker.io/paritytech/ci-unified:bullseye-1.77.0-2024-04-10-v20240408"
\ No newline at end of file
+IMAGE="docker.io/paritytech/ci-unified:bullseye-1.77.0-2024-04-10-v202407161507"
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 120000
index 0000000000000000000000000000000000000000..7b6b3498755f586abec9256cbf8f455c16928ffd
--- /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/.github/review-bot.yml b/.github/review-bot.yml
index adbc480c6ba1a69e8cdd112af4be378849d26315..c2080142f506a6b594bf96521f383404d7337c9d 100644
--- a/.github/review-bot.yml
+++ b/.github/review-bot.yml
@@ -29,7 +29,7 @@ rules:
# excluding files from 'Runtime files' and 'CI files' rules
exclude:
- ^cumulus/parachains/common/src/[^/]+\.rs$
- - ^substrate/frame/(?!.*(nfts/.*|uniques/.*|babe/.*|grandpa/.*|beefy|merkle-mountain-range/.*|contracts/.*|election|nomination-pools/.*|staking/.*|aura/.*))
+ - ^substrate/frame/(?!.*(nfts/.*|uniques/.*|babe/.*|grandpa/.*|beefy|merkle-mountain-range/.*|contracts/.*|revive/.*|election|nomination-pools/.*|staking/.*|aura/.*))
- ^\.gitlab-ci\.yml
- ^docker/.*
- ^\.github/.*
@@ -56,7 +56,7 @@ rules:
- name: FRAME coders substrate
condition:
include:
- - ^substrate/frame/(?!.*(nfts/.*|uniques/.*|babe/.*|grandpa/.*|beefy|merkle-mountain-range/.*|contracts/.*|election|nomination-pools/.*|staking/.*|aura/.*))
+ - ^substrate/frame/(?!.*(nfts/.*|uniques/.*|babe/.*|grandpa/.*|beefy|merkle-mountain-range/.*|contracts/.*|revive/.*|election|nomination-pools/.*|staking/.*|aura/.*))
type: "and"
reviewers:
- minApprovals: 2
@@ -66,6 +66,17 @@ rules:
teams:
- frame-coders
+ # Smart Contracts
+ - name: Smart Contracts
+ type: basic
+ condition:
+ include:
+ - ^substrate/frame/contracts/.*
+ - ^substrate/frame/revive/.*
+ minApprovals: 2
+ teams:
+ - smart-contracts
+
# Protection of THIS file
- name: Review Bot
countAuthor: true
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 9b654f8071ac7237fe9c7c943540e8e020cebd6e..7a53e812ddfc73ad59943b5fc62a4b8757f29524 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 @@ crates.sort()
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 @@ for i in range(0, crates_per_group + overflow_crates):
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 0000000000000000000000000000000000000000..8ad49dad8461e38a7d4bfe1d54f408071d7ae509
--- /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 0000000000000000000000000000000000000000..f7dd88df4bda42551b339c3492a29028511c3550
--- /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 0000000000000000000000000000000000000000..a2f29b075daed94a0c7380e031bb84e9a6889558
--- /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/common/lib.sh b/.github/scripts/common/lib.sh
index f844e962c41def7625fa3d45ae3cbf81ecb57147..5361db398ae7bcaebd6717d726d50d50d5c5e301 100755
--- a/.github/scripts/common/lib.sh
+++ b/.github/scripts/common/lib.sh
@@ -299,22 +299,23 @@ function check_sha256() {
}
# Import GPG keys of the release team members
-# This is done in parallel as it can take a while sometimes
function import_gpg_keys() {
- GPG_KEYSERVER=${GPG_KEYSERVER:-"keyserver.ubuntu.com"}
+ GPG_KEYSERVER=${GPG_KEYSERVER:-"hkps://keyserver.ubuntu.com"}
SEC="9D4B2B6EB8F97156D19669A9FF0812D491B96798"
EGOR="E6FC4D4782EB0FA64A4903CCDB7D3555DD3932D3"
MORGAN="2E92A9D8B15D7891363D1AE8AF9E6C43F7F8C4CF"
+ PARITY_RELEASES="90BD75EBBB8E95CB3DA6078F94A4029AB4B35DAE"
- echo "Importing GPG keys from $GPG_KEYSERVER in parallel"
- for key in $SEC $EGOR $MORGAN; do
+ echo "Importing GPG keys from $GPG_KEYSERVER"
+ for key in $SEC $EGOR $MORGAN $PARITY_RELEASES; do
(
echo "Importing GPG key $key"
gpg --no-tty --quiet --keyserver $GPG_KEYSERVER --recv-keys $key
echo -e "5\ny\n" | gpg --no-tty --command-fd 0 --expert --edit-key $key trust;
- ) &
+ )
done
wait
+ gpg -k
}
# Check the GPG signature for a given binary
@@ -444,3 +445,28 @@ get_latest_release_tag() {
latest_release_tag=$(curl -s -H "$TOKEN" $api_base/paritytech/polkadot-sdk/releases/latest | jq -r '.tag_name')
printf $latest_release_tag
}
+
+function get_polkadot_node_version_from_code() {
+ # list all the files with node version
+ git grep -e "\(NODE_VERSION[^=]*= \)\".*\"" |
+ # fetch only the one we need
+ grep "primitives/src/lib.rs:" |
+ # Print only the version
+ awk '{ print $7 }' |
+ # Remove the quotes
+ sed 's/"//g' |
+ # Remove the semicolon
+ sed 's/;//g'
+}
+
+validate_stable_tag() {
+ tag="$1"
+ pattern='^stable[0-9]+(-[0-9]+)?$'
+
+ if [[ $tag =~ $pattern ]]; then
+ echo $tag
+ else
+ echo "The input '$tag' does not match the pattern."
+ exit 1
+ fi
+}
diff --git a/.github/scripts/generate-prdoc.py b/.github/scripts/generate-prdoc.py
new file mode 100644
index 0000000000000000000000000000000000000000..d3b6b523ecfd32d32470381c0d7a548b2d289041
--- /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 0000000000000000000000000000000000000000..c17aceff63a0fcd095ba7f66fd9dc39ac3eba2c4
--- /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 0000000000000000000000000000000000000000..f838eaa29a74daafe9616d779d070aff36891347
--- /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 0000000000000000000000000000000000000000..81a3c14edec84f3c069fefbb16b003768f894af3
--- /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 0000000000000000000000000000000000000000..82d1085144844f0fc9b46d94f668ba9a153400a3
--- /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/build-misc.yml b/.github/workflows/build-misc.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2a8e81b978788ba1aed2846eecc42593629f03ae
--- /dev/null
+++ b/.github/workflows/build-misc.yml
@@ -0,0 +1,84 @@
+name: Build Misc
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ types: [opened, synchronize, reopened, ready_for_review]
+ merge_group:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+permissions:
+ contents: read
+
+jobs:
+
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
+
+ build-runtimes-polkavm:
+ timeout-minutes: 20
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Check Rust
+ run: |
+ rustup show
+ rustup +nightly show
+
+ - name: Build
+ env:
+ SUBSTRATE_RUNTIME_TARGET: riscv
+ run: |
+ forklift cargo check -p minimal-template-runtime
+ forklift cargo check -p westend-runtime
+ forklift cargo check -p rococo-runtime
+ forklift cargo check -p polkadot-test-runtime
+
+ build-subkey:
+ timeout-minutes: 20
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Check Rust
+ run: |
+ rustup show
+ rustup +nightly show
+
+ - name: Build
+ env:
+ SKIP_WASM_BUILD: 1
+ run: |
+ cd ./substrate/bin/utils/subkey
+ forklift cargo build --locked --release
+
+ confirm-required-build-misc-jobs-passed:
+ runs-on: ubuntu-latest
+ name: All build misc jobs passed
+ # If any new job gets added, be sure to add it to this array
+ needs: [build-runtimes-polkavm, build-subkey]
+ if: always() && !cancelled()
+ steps:
+ - run: |
+ tee resultfile <<< '${{ toJSON(needs) }}'
+ FAILURES=$(cat resultfile | grep '"result": "failure"' | wc -l)
+ if [ $FAILURES -gt 0 ]; then
+ echo "### At least one required job failed ❌" >> $GITHUB_STEP_SUMMARY
+ exit 1
+ else
+ echo '### Good job! All the required jobs passed 🚀' >> $GITHUB_STEP_SUMMARY
+ fi
diff --git a/.github/workflows/build-publish-images.yml b/.github/workflows/build-publish-images.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3a9f60761863587805d46c1a914fc8478d7f7525
--- /dev/null
+++ b/.github/workflows/build-publish-images.yml
@@ -0,0 +1,494 @@
+# GHA for build-*
+name: Build and push images
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ types: [opened, synchronize, reopened, ready_for_review, labeled]
+ merge_group:
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+env:
+ COMMIT_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
+
+jobs:
+
+ #
+ #
+ #
+ preflight:
+ ## TODO: remove when ready
+ if: contains(github.event.label.name, 'GHA-migration') || contains(github.event.pull_request.labels.*.name, 'GHA-migration')
+ uses: ./.github/workflows/reusable-preflight.yml
+
+### Build ########################
+
+ #
+ #
+ #
+ build-linux-stable:
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ 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"
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: build
+ run: |
+ forklift cargo build --locked --profile testnet --features pyroscope,fast-runtime --bin polkadot --bin polkadot-prepare-worker --bin polkadot-execute-worker
+ ROCOCO_EPOCH_DURATION=10 ./polkadot/scripts/build-only-wasm.sh rococo-runtime $(pwd)/runtimes/rococo-runtime-10/
+ ROCOCO_EPOCH_DURATION=100 ./polkadot/scripts/build-only-wasm.sh rococo-runtime $(pwd)/runtimes/rococo-runtime-100/
+ ROCOCO_EPOCH_DURATION=600 ./polkadot/scripts/build-only-wasm.sh rococo-runtime $(pwd)/runtimes/rococo-runtime-600/
+ pwd
+ ls -alR runtimes
+ - name: pack artifacts
+ run: |
+ mkdir -p ./artifacts
+ VERSION="${{ needs.preflight.outputs.SOURCE_REF_NAME }}" # will be tag or branch name
+ mv ./target/testnet/polkadot ./artifacts/.
+ mv ./target/testnet/polkadot-prepare-worker ./artifacts/.
+ mv ./target/testnet/polkadot-execute-worker ./artifacts/.
+ mv ./runtimes/ ./artifacts/.
+ cd artifacts/
+ sha256sum polkadot | tee polkadot.sha256
+ shasum -c polkadot.sha256
+ cd ../
+ EXTRATAG="${{ needs.preflight.outputs.SOURCE_REF_NAME }}-${COMMIT_SHA}"
+ echo "Polkadot version = ${VERSION} (EXTRATAG = ${EXTRATAG})"
+ echo -n ${VERSION} > ./artifacts/VERSION
+ echo -n ${EXTRATAG} > ./artifacts/EXTRATAG
+ echo -n ${GITHUB_RUN_ID} > ./artifacts/BUILD_LINUX_JOB_ID
+ RELEASE_VERSION=$(./artifacts/polkadot -V | awk '{print $2}'| awk -F "-" '{print $1}')
+ echo -n "v${RELEASE_VERSION}" > ./artifacts/BUILD_RELEASE_VERSION
+ cp -r docker/* ./artifacts
+
+ - name: tar
+ run: tar -cvf artifacts.tar artifacts
+
+ - name: upload artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+ path: artifacts.tar
+ retention-days: 1
+
+ #
+ #
+ #
+ build-linux-stable-cumulus:
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings"
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: build
+ run: |
+ echo "___Building a binary, please refrain from using it in production since it goes with the debug assertions.___"
+ forklift cargo build --release --locked -p polkadot-parachain-bin --bin polkadot-parachain
+ echo "___Packing the artifacts___"
+ mkdir -p ./artifacts
+ mv ./target/release/polkadot-parachain ./artifacts/.
+ echo "___The VERSION is either a tag name or the curent branch if triggered not by a tag___"
+ echo ${{ needs.preflight.outputs.SOURCE_REF_NAME }} | tee ./artifacts/VERSION
+
+ - name: tar
+ run: tar -cvf artifacts.tar artifacts
+
+ - name: upload artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+ path: artifacts.tar
+ retention-days: 1
+
+ #
+ #
+ #
+ build-test-parachain:
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings"
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: build
+ run: |
+ echo "___Building a binary, please refrain from using it in production since it goes with the debug assertions.___"
+ forklift cargo build --release --locked -p cumulus-test-service --bin test-parachain
+ - name: pack artifacts
+ run: |
+ echo "___Packing the artifacts___"
+ mkdir -p ./artifacts
+ mv ./target/release/test-parachain ./artifacts/.
+ mkdir -p ./artifacts/zombienet
+ mv ./target/release/wbuild/cumulus-test-runtime/wasm_binary_spec_version_incremented.rs.compact.compressed.wasm ./artifacts/zombienet/.
+
+ - name: tar
+ run: tar -cvf artifacts.tar artifacts
+
+ - name: upload artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+ path: artifacts.tar
+ retention-days: 1
+
+ #
+ #
+ #
+ build-test-collators:
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: build
+ run: |
+ forklift cargo build --locked --profile testnet -p test-parachain-adder-collator
+ forklift cargo build --locked --profile testnet -p test-parachain-undying-collator
+ - name: pack artifacts
+ run: |
+ mkdir -p ./artifacts
+ mv ./target/testnet/adder-collator ./artifacts/.
+ mv ./target/testnet/undying-collator ./artifacts/.
+ echo -n "${{ needs.preflight.outputs.SOURCE_REF_NAME }}" > ./artifacts/VERSION
+ echo -n "${{ needs.preflight.outputs.SOURCE_REF_NAME }}-${COMMIT_SHA}" > ./artifacts/EXTRATAG
+ echo "adder-collator version = $(cat ./artifacts/VERSION) (EXTRATAG = $(cat ./artifacts/EXTRATAG))"
+ echo "undying-collator version = $(cat ./artifacts/VERSION) (EXTRATAG = $(cat ./artifacts/EXTRATAG))"
+ cp -r ./docker/* ./artifacts
+
+ - name: tar
+ run: tar -cvf artifacts.tar artifacts
+
+ - name: upload artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+ path: artifacts.tar
+ retention-days: 1
+
+ #
+ #
+ #
+ build-malus:
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: build
+ run: |
+ forklift cargo build --locked --profile testnet -p polkadot-test-malus --bin malus --bin polkadot-prepare-worker --bin polkadot-execute-worker
+ - name: pack artifacts
+ run: |
+ mkdir -p ./artifacts
+ mv ./target/testnet/malus ./artifacts/.
+ mv ./target/testnet/polkadot-execute-worker ./artifacts/.
+ mv ./target/testnet/polkadot-prepare-worker ./artifacts/.
+ echo -n "${{ needs.preflight.outputs.SOURCE_REF_NAME }}" > ./artifacts/VERSION
+ echo -n "${{ needs.preflight.outputs.SOURCE_REF_NAME }}-${COMMIT_SHA}" > ./artifacts/EXTRATAG
+ echo "polkadot-test-malus = $(cat ./artifacts/VERSION) (EXTRATAG = $(cat ./artifacts/EXTRATAG))"
+ cp -r ./docker/* ./artifacts
+
+ - name: tar
+ run: tar -cvf artifacts.tar artifacts
+
+ - name: upload artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+ path: artifacts.tar
+ retention-days: 1
+
+ #
+ #
+ #
+ build-linux-substrate:
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ # 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
+ ref: ${{ github.head_ref || github.ref_name }}
+ - name: build
+ run: |
+ mkdir -p ./artifacts/substrate/
+ WASM_BUILD_NO_COLOR=1 forklift cargo build --locked --release -p staging-node-cli
+ ls -la target/release/
+ - name: pack artifacts
+ run: |
+ mv target/release/substrate-node ./artifacts/substrate/substrate
+ echo -n "Substrate version = "
+ if [[ "${{ github.ref }}" == "refs/tags/"* ]]; then
+ echo "${{ github.ref_name }}" | tee ./artifacts/substrate/VERSION;
+ else
+ ./artifacts/substrate/substrate --version |
+ cut -d ' ' -f 2 | tee ./artifacts/substrate/VERSION;
+ fi
+ sha256sum ./artifacts/substrate/substrate | tee ./artifacts/substrate/substrate.sha256
+ cp -r ./docker/dockerfiles/substrate_injected.Dockerfile ./artifacts/substrate/
+
+ - name: tar
+ run: tar -cvf artifacts.tar artifacts
+
+ - name: upload artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+ path: artifacts.tar
+ retention-days: 1
+
+ #
+ #
+ #
+ prepare-bridges-zombienet-artifacts:
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: build
+ run: |
+ forklift cargo build --locked --profile testnet -p polkadot-test-malus --bin malus --bin polkadot-prepare-worker --bin polkadot-execute-worker
+ - name: pack artifacts
+ run: |
+ mkdir -p ./artifacts/bridges-polkadot-sdk/bridges
+ cp -r bridges/testing ./artifacts/bridges-polkadot-sdk/bridges/testing
+
+ - name: tar
+ run: tar -cvf artifacts.tar artifacts
+
+ - name: upload artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ github.job }}-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+ path: artifacts.tar
+ retention-days: 1
+
+### Publish ########################
+
+ #
+ #
+ #
+ build-push-image-test-parachain:
+ needs: [preflight, build-test-parachain]
+ runs-on: arc-runners-polkadot-sdk
+ timeout-minutes: 60
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - uses: actions/download-artifact@v4.1.8
+ with:
+ name: build-test-parachain-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+
+ - name: tar
+ run: tar -xvf artifacts.tar
+
+ - name: build and push image
+ uses: ./.github/actions/build-push-image
+ with:
+ image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/test-parachain"
+ dockerfile: "docker/dockerfiles/test-parachain_injected.Dockerfile"
+
+ #
+ #
+ #
+ build-push-image-polkadot-debug:
+ needs: [preflight, build-linux-stable]
+ runs-on: arc-runners-polkadot-sdk
+ timeout-minutes: 60
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - uses: actions/download-artifact@v4.1.8
+ with:
+ name: build-linux-stable-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+
+ - name: tar
+ run: tar -xvf artifacts.tar
+
+ - name: build and push image
+ uses: ./.github/actions/build-push-image
+ with:
+ image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/polkadot-debug"
+ dockerfile: "docker/dockerfiles/polkadot/polkadot_injected_debug.Dockerfile"
+
+
+ #
+ #
+ #
+ build-push-image-colander:
+ needs: [preflight, build-test-collators]
+ runs-on: arc-runners-polkadot-sdk
+ timeout-minutes: 60
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - uses: actions/download-artifact@v4.1.8
+ with:
+ name: build-test-collators-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+
+ - name: tar
+ run: tar -xvf artifacts.tar
+
+ - name: build and push image
+ uses: ./.github/actions/build-push-image
+ with:
+ image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/colander"
+ dockerfile: "docker/dockerfiles/collator_injected.Dockerfile"
+
+
+ #
+ #
+ #
+ build-push-image-malus:
+ needs: [preflight, build-malus]
+ runs-on: arc-runners-polkadot-sdk
+ timeout-minutes: 60
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - uses: actions/download-artifact@v4.1.8
+ with:
+ name: build-malus-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+
+ - name: tar
+ run: tar -xvf artifacts.tar
+
+ - name: build and push image
+ uses: ./.github/actions/build-push-image
+ with:
+ image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/malus"
+ dockerfile: "docker/dockerfiles/malus_injected.Dockerfile"
+
+
+ #
+ #
+ #
+ build-push-image-substrate-pr:
+ needs: [preflight, build-linux-substrate]
+ runs-on: arc-runners-polkadot-sdk
+ timeout-minutes: 60
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - uses: actions/download-artifact@v4.1.8
+ with:
+ name: build-linux-substrate-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+
+ - name: tar
+ run: tar -xvf artifacts.tar
+
+ - name: build and push image
+ uses: ./.github/actions/build-push-image
+ with:
+ image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/substrate"
+ dockerfile: "docker/dockerfiles/substrate_injected.Dockerfile"
+
+
+ #
+ #
+ #
+ # unlike other images, bridges+zombienet image is based on Zombienet image that pulls required binaries
+ # from other fresh images (polkadot and cumulus)
+ build-push-image-bridges-zombienet-tests:
+ needs: [preflight, build-linux-stable, build-linux-stable-cumulus, prepare-bridges-zombienet-artifacts]
+ runs-on: arc-runners-polkadot-sdk
+ timeout-minutes: 60
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - uses: actions/download-artifact@v4.1.8
+ with:
+ name: build-linux-stable-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+ - name: tar
+ run: |
+ tar -xvf artifacts.tar
+ rm artifacts.tar
+
+ - uses: actions/download-artifact@v4.1.8
+ with:
+ name: build-linux-stable-cumulus-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+ - name: tar
+ run: |
+ tar -xvf artifacts.tar
+ rm artifacts.tar
+
+ - uses: actions/download-artifact@v4.1.8
+ with:
+ name: prepare-bridges-zombienet-artifacts-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+ - name: tar
+ run: |
+ tar -xvf artifacts.tar
+ rm artifacts.tar
+
+ - name: build and push image
+ uses: ./.github/actions/build-push-image
+ with:
+ image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/bridges-zombienet-tests"
+ dockerfile: "docker/dockerfiles/bridges_zombienet_tests_injected.Dockerfile"
+
+
+ #
+ #
+ #
+ build-push-image-polkadot-parachain-debug:
+ needs: [preflight, build-linux-stable-cumulus]
+ runs-on: arc-runners-polkadot-sdk
+ timeout-minutes: 60
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - uses: actions/download-artifact@v4.1.8
+ with:
+ name: build-linux-stable-cumulus-${{ needs.preflight.outputs.SOURCE_REF_NAME }}
+
+ - name: tar
+ run: tar -xvf artifacts.tar
+
+ - name: build and push image
+ uses: ./.github/actions/build-push-image
+ with:
+ image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/polkadot-parachain-debug"
+ dockerfile: "docker/dockerfiles/polkadot-parachain/polkadot-parachain-debug_unsigned_injected.Dockerfile"
\ No newline at end of file
diff --git a/.github/workflows/check-cargo-check-runtimes.yml b/.github/workflows/check-cargo-check-runtimes.yml
new file mode 100644
index 0000000000000000000000000000000000000000..16263788b8b64847ca0ec6a2de362ebc130d7ab4
--- /dev/null
+++ b/.github/workflows/check-cargo-check-runtimes.yml
@@ -0,0 +1,138 @@
+name: Check Cargo Check Runtimes
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+on:
+ pull_request:
+ types: [opened, synchronize, reopened, ready_for_review]
+
+# Jobs in this workflow depend on each other, only for limiting peak amount of spawned workers
+
+jobs:
+
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
+
+ check-runtime-assets:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ needs: [preflight]
+ timeout-minutes: 20
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Run cargo check
+ uses: ./.github/actions/cargo-check-runtimes
+ with:
+ root: cumulus/parachains/runtimes/assets
+
+ check-runtime-collectives:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ needs: [check-runtime-assets, preflight]
+ timeout-minutes: 20
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Run cargo check
+ uses: ./.github/actions/cargo-check-runtimes
+ with:
+ root: cumulus/parachains/runtimes/collectives
+
+ check-runtime-coretime:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ needs: [check-runtime-assets, preflight]
+ timeout-minutes: 20
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Run cargo check
+ uses: ./.github/actions/cargo-check-runtimes
+ with:
+ root: cumulus/parachains/runtimes/coretime
+
+ check-runtime-bridge-hubs:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ needs: [preflight]
+ timeout-minutes: 20
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Run cargo check
+ uses: ./.github/actions/cargo-check-runtimes
+ with:
+ root: cumulus/parachains/runtimes/bridge-hubs
+
+ check-runtime-contracts:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ needs: [check-runtime-collectives, preflight]
+ timeout-minutes: 20
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Run cargo check
+ uses: ./.github/actions/cargo-check-runtimes
+ with:
+ root: cumulus/parachains/runtimes/contracts
+
+ check-runtime-starters:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ needs: [check-runtime-assets, preflight]
+ timeout-minutes: 20
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Run cargo check
+ uses: ./.github/actions/cargo-check-runtimes
+ with:
+ root: cumulus/parachains/runtimes/starters
+
+ check-runtime-testing:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ needs: [check-runtime-starters, preflight]
+ timeout-minutes: 20
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Run cargo check
+ uses: ./.github/actions/cargo-check-runtimes
+ with:
+ root: cumulus/parachains/runtimes/testing
+
+ confirm-required-jobs-passed:
+ runs-on: ubuntu-latest
+ name: All check-runtime-* tests passed
+ # If any new job gets added, be sure to add it to this array
+ needs:
+ - check-runtime-assets
+ - check-runtime-collectives
+ - check-runtime-coretime
+ - check-runtime-bridge-hubs
+ - check-runtime-contracts
+ - check-runtime-starters
+ - check-runtime-testing
+ if: always() && !cancelled()
+ steps:
+ - run: |
+ tee resultfile <<< '${{ toJSON(needs) }}'
+ FAILURES=$(cat resultfile | grep '"result": "failure"' | wc -l)
+ if [ $FAILURES -gt 0 ]; then
+ echo "### At least one required job failed ❌" >> $GITHUB_STEP_SUMMARY
+ exit 1
+ else
+ echo '### Good job! All the required jobs passed 🚀' >> $GITHUB_STEP_SUMMARY
+ fi
diff --git a/.github/workflows/check-changed-files.yml b/.github/workflows/check-changed-files.yml
deleted file mode 100644
index 657c05cd047db40af642886eb2710e7324dd40ce..0000000000000000000000000000000000000000
--- a/.github/workflows/check-changed-files.yml
+++ /dev/null
@@ -1,57 +0,0 @@
-# Reusable workflow to perform checks and generate conditions for other workflows.
-# Currently it checks if any Rust (build-related) file is changed
-# and if the current (caller) workflow file is changed.
-# Example:
-#
-# jobs:
-# changes:
-# permissions:
-# pull-requests: read
-# uses: ./.github/workflows/check-changed-files.yml
-# some-job:
-# needs: changes
-# if: ${{ needs.changes.outputs.rust }}
-# .......
-
-name: Check changes files
-
-on:
- workflow_call:
- # Map the workflow outputs to job outputs
- outputs:
- rust:
- value: ${{ jobs.changes.outputs.rust }}
- description: 'true if any of the build-related OR current (caller) workflow files have changed'
- current-workflow:
- value: ${{ jobs.changes.outputs.current-workflow }}
- description: 'true if current (caller) workflow file has changed'
-
-jobs:
- changes:
- runs-on: ubuntu-latest
- permissions:
- pull-requests: read
- outputs:
- # true if current workflow (caller) file is changed
- rust: ${{ steps.filter.outputs.rust == 'true' || steps.filter.outputs.current-workflow == 'true' }}
- current-workflow: ${{ steps.filter.outputs.current-workflow }}
- steps:
- - id: current-file
- run: echo "current-workflow-file=$(echo ${{ github.workflow_ref }} | sed -nE "s/.*(\.github\/workflows\/[a-zA-Z0-9_-]*\.y[a]?ml)@refs.*/\1/p")" >> $GITHUB_OUTPUT
- - run: echo "${{ steps.current-file.outputs.current-workflow-file }}"
- # For pull requests it's not necessary to checkout the code
- - id: filter
- uses: dorny/paths-filter@v3
- with:
- predicate-quantifier: 'every'
- # current-workflow - check if the current (caller) workflow file is changed
- # rust - check if any Rust (build-related) file is changed
- filters: |
- current-workflow:
- - '${{ steps.current-file.outputs.current-workflow-file }}'
- rust:
- - '**/*'
- - '!.github/**/*'
- - '!prdoc/**/*'
- - '!docs/**/*'
- #
\ No newline at end of file
diff --git a/.github/workflows/check-features.yml b/.github/workflows/check-features.yml
index d34b3d52c5332b61d9a90dc03de938f154de5c7e..d8e2f72c0ffd83852bb6bd015b7256934c23519c 100644
--- a/.github/workflows/check-features.yml
+++ b/.github/workflows/check-features.yml
@@ -4,6 +4,10 @@ on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
jobs:
check-features:
runs-on: ubuntu-latest
diff --git a/.github/workflows/check-frame-omni-bencher.yml b/.github/workflows/check-frame-omni-bencher.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9b01311aa69c7e7348ebe996fa7d0d785fd9187b
--- /dev/null
+++ b/.github/workflows/check-frame-omni-bencher.yml
@@ -0,0 +1,98 @@
+name: Short benchmarks (frame-omni-bencher)
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ types: [opened, synchronize, reopened, ready_for_review, labeled]
+ merge_group:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+env:
+ ARTIFACTS_NAME: frame-omni-bencher-artifacts
+
+jobs:
+
+ preflight:
+ # TODO: remove once migration is complete or this workflow is fully stable
+ if: contains(github.event.label.name, 'GHA-migration')
+ uses: ./.github/workflows/reusable-preflight.yml
+
+ quick-benchmarks-omni:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ needs: [preflight]
+ if: ${{ needs.preflight.outputs.changes_rust }}
+ env:
+ RUSTFLAGS: "-C debug-assertions"
+ RUST_BACKTRACE: "full"
+ WASM_BUILD_NO_COLOR: 1
+ WASM_BUILD_RUSTFLAGS: "-C debug-assertions"
+ timeout-minutes: 30
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: script
+ run: |
+ forklift cargo build --locked --quiet --release -p asset-hub-westend-runtime --features runtime-benchmarks
+ forklift 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
+
+ run-frame-omni-bencher:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ needs: [preflight] # , build-frame-omni-bencher ]
+ if: ${{ needs.preflight.outputs.changes_rust }}
+ timeout-minutes: 30
+ strategy:
+ fail-fast: false # keep running other workflows even if one fails, to see the logs of all possible failures
+ matrix:
+ runtime:
+ [
+ westend-runtime,
+ rococo-runtime,
+ asset-hub-rococo-runtime,
+ asset-hub-westend-runtime,
+ bridge-hub-rococo-runtime,
+ bridge-hub-westend-runtime,
+ collectives-westend-runtime,
+ coretime-rococo-runtime,
+ coretime-westend-runtime,
+ people-rococo-runtime,
+ people-westend-runtime,
+ glutton-westend-runtime,
+ ]
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ PACKAGE_NAME: ${{ matrix.runtime }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: script
+ run: |
+ RUNTIME_BLOB_NAME=$(echo $PACKAGE_NAME | sed 's/-/_/g').compact.compressed.wasm
+ RUNTIME_BLOB_PATH=./target/release/wbuild/$PACKAGE_NAME/$RUNTIME_BLOB_NAME
+ forklift cargo build --release --locked -p $PACKAGE_NAME -p frame-omni-bencher --features runtime-benchmarks
+ echo "Running short benchmarking for PACKAGE_NAME=$PACKAGE_NAME and RUNTIME_BLOB_PATH=$RUNTIME_BLOB_PATH"
+ ls -lrt $RUNTIME_BLOB_PATH
+ ./target/release/frame-omni-bencher v1 benchmark pallet --runtime $RUNTIME_BLOB_PATH --all --steps 2 --repeat 1
+ confirm-frame-omni-benchers-passed:
+ runs-on: ubuntu-latest
+ name: All benchmarks passed
+ needs: run-frame-omni-bencher
+ if: always() && !cancelled()
+ steps:
+ - run: |
+ tee resultfile <<< '${{ toJSON(needs) }}'
+ FAILURES=$(cat resultfile | grep '"result": "failure"' | wc -l)
+ if [ $FAILURES -gt 0 ]; then
+ echo "### At least one required job failed ❌" >> $GITHUB_STEP_SUMMARY
+ exit 1
+ else
+ echo '### Good job! All the required jobs passed 🚀' >> $GITHUB_STEP_SUMMARY
+ fi
diff --git a/.github/workflows/check-getting-started.yml b/.github/workflows/check-getting-started.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b43db33c63bf12b5ad239d9c2dcfafb3ccc7a050
--- /dev/null
+++ b/.github/workflows/check-getting-started.yml
@@ -0,0 +1,296 @@
+name: Check the getting-started.sh script
+
+# This workflow aims to make sure that the `getting-started.sh` script
+# is functional and allows to build the templates
+# on different operating systems.
+#
+# There are two jobs inside.
+# One for systems that can run in a docker container, and one for macOS.
+#
+# Each job consists of:
+# 1. Some necessary prerequisites for the workflow itself.
+# 2. A first pass of the script, which will install dependencies and clone a template.
+# 3. A second pass of the script, to make sure the behaviour is as expected.
+# 4. Building the template - making sure it's buildable and runnable.
+#
+# The script is interacted with using the `expect` tool, which is available on all relevant systems.
+# The steps are not re-used between macOS and other systems,
+# because they are very similar but a little different.
+# Additionally, macOS does NOT start from scratch here - for example, we have homebrew already installed.
+#
+# There are many combinations of systems, shells and templates.
+# We test a selected handful of combinations here.
+
+on:
+ pull_request:
+ paths:
+ - '.github/workflows/check-getting-started.yml'
+ - 'scripts/getting-started.sh'
+ schedule:
+ - cron: '0 5 * * *'
+ workflow_dispatch:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ check-getting-started:
+ strategy:
+ fail-fast: true
+ matrix:
+ include:
+ - name: ubuntu
+ container: ubuntu
+ template: minimal
+ shell: bash
+ - name: debian
+ container: debian
+ template: parachain
+ shell: sh
+ - name: arch
+ container: archlinux
+ template: solochain
+ shell: sh
+ - name: fedora
+ container: fedora
+ template: parachain
+ shell: sh
+ - name: opensuse
+ container: opensuse/tumbleweed
+ template: solochain
+ shell: sh
+ runs-on: arc-runners-polkadot-sdk-beefy
+ container: ${{ matrix.container }}:latest
+ steps:
+ # A minimal amount of prerequisites required before we can run the actual getting-started script,
+ # which will install the rest of requirements.
+ - name: Install ubuntu/debian prerequisites
+ run: apt update && apt install -y expect sudo git
+ if: contains(matrix.name, 'ubuntu') || contains(matrix.name, 'debian')
+ - name: Install arch prerequisites
+ run: pacman -Syu --needed --noconfirm expect sudo git
+ if: contains(matrix.name, 'arch')
+ - name: Install fedora prerequisites
+ run: dnf --assumeyes install expect sudo git
+ if: contains(matrix.name, 'fedora')
+ - name: Install opensuse prerequisites
+ run: zypper install --no-confirm expect sudo git
+ if: contains(matrix.name, 'opensuse')
+
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Set additional expect flags if necessary
+ run: |
+ # Add a debug flag to expect, if github is re-run with debug logging enabled.
+ [ "${{ runner.debug }}" = "1" ] && EXPECT_FLAGS="-d" || EXPECT_FLAGS=""
+ echo "EXPECT_FLAGS=${EXPECT_FLAGS}" >> $GITHUB_ENV
+
+ - name: Check the first run of the script
+ run: |
+ expect $EXPECT_FLAGS -c '
+ set timeout 240
+
+ spawn ${{ matrix.shell }} scripts/getting-started.sh
+
+ expect_after {
+ timeout { puts stderr "Timed out on an expect"; exit 1 }
+ eof { puts stderr "EOF received on an expect"; exit 1 }
+ }
+
+ expect -nocase "Detected ${{ matrix.name }}"
+
+ expect "Rust is not installed. Install it?" {
+ send "y\r"
+ expect "Proceed with standard installation (default - just press enter)" {
+ send "\r"
+ expect "Rust is installed now"
+ }
+ }
+
+ expect "Setup the Rust environment" {
+ send "y\r"
+ }
+
+ expect "start with one of the templates" {
+ send "y\r"
+ }
+
+ expect -re "(.)\\) ${{ matrix.template }} template" {
+ send "$expect_out(1,string)\r"
+ }
+
+ expect "compile the node?" {
+ send "n\r"
+ }
+
+ expect eof
+ '
+ timeout-minutes: 15
+
+ - name: Check the second run of the script
+ run: |
+ expect $EXPECT_FLAGS -c '
+ set timeout 120
+
+ spawn ${{ matrix.shell }} scripts/getting-started.sh
+
+ expect_after {
+ timeout { puts stderr "Timed out on an expect"; exit 1 }
+ eof { puts stderr "EOF received on an expect"; exit 1 }
+ }
+
+ expect "Rust already installed" {}
+
+ expect "Setup the Rust environment" {
+ send "n\r"
+ }
+
+ expect "start with one of the templates" {
+ send "y\r"
+ }
+
+ expect -re "(.)\\) ${{ matrix.template }} template" {
+ send "$expect_out(1,string)\r"
+ expect "directory already exists" {}
+ }
+
+ expect "compile the node?" {
+ send "n\r"
+ }
+
+ expect eof
+ '
+ timeout-minutes: 15
+
+ - name: Compile the node outside of the script
+ run: |
+ . "$HOME/.cargo/env"
+ cd ${{ matrix.template }}-template
+ cargo build --release
+ timeout-minutes: 120
+
+ - name: Check that the binary is executable
+ run: |
+ . "$HOME/.cargo/env"
+ cd ${{ matrix.template }}-template
+ cargo run --release -- --help
+ timeout-minutes: 5
+
+ check-getting-started-macos:
+ strategy:
+ fail-fast: true
+ matrix:
+ include:
+ - template: parachain
+ shell: sh
+ - template: solochain
+ shell: bash
+ runs-on: macos-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Set additional expect flags if necessary
+ run: |
+ # Add a debug flag to expect, if github is re-run with debug logging enabled.
+ [ "${{ runner.debug }}" = "1" ] && EXPECT_FLAGS="-d" || EXPECT_FLAGS=""
+ echo "EXPECT_FLAGS=${EXPECT_FLAGS}" >> $GITHUB_ENV
+
+ - name: Check the first run of the script
+ run: |
+ expect $EXPECT_FLAGS -c '
+ set timeout 120
+
+ spawn ${{ matrix.shell }} scripts/getting-started.sh
+
+ expect_after {
+ timeout { puts stderr "Timed out on an expect"; exit 1 }
+ eof { puts stderr "EOF received on an expect"; exit 1 }
+ }
+
+ expect -nocase "Detected macOS"
+
+ expect "Homebrew already installed"
+
+ expect "Install cmake" {
+ send "y\r"
+ }
+
+ expect "Rust already installed" {}
+
+ expect "Setup the Rust environment" {
+ send "y\r"
+ }
+
+ expect "start with one of the templates" {
+ send "y\r"
+ }
+
+ expect -re "(.)\\) ${{ matrix.template }} template" {
+ send "$expect_out(1,string)\r"
+ }
+
+ expect "compile the node?" {
+ send "n\r"
+ }
+
+ expect eof
+ '
+ timeout-minutes: 15
+
+ - name: Check the second run of the script
+ run: |
+ expect $EXPECT_FLAGS -c '
+ set timeout 120
+
+ spawn ${{ matrix.shell }} scripts/getting-started.sh
+
+ expect_after {
+ timeout { puts stderr "Timed out on an expect"; exit 1 }
+ eof { puts stderr "EOF received on an expect"; exit 1 }
+ }
+
+ expect "Homebrew already installed"
+
+ expect "Install cmake" {
+ send "y\r"
+ }
+
+ expect "Rust already installed" {}
+
+ expect "Setup the Rust environment" {
+ send "n\r"
+ }
+
+ expect "start with one of the templates" {
+ send "y\r"
+ }
+
+ expect -re "(.)\\) ${{ matrix.template }} template" {
+ send "$expect_out(1,string)\r"
+ expect "directory already exists" {}
+ }
+
+ expect "compile the node?" {
+ send "n\r"
+ }
+
+ expect eof
+ '
+ timeout-minutes: 15
+
+ - name: Compile the node outside of the script
+ run: |
+ . "$HOME/.cargo/env"
+ cd ${{ matrix.template }}-template
+ cargo build --release
+ timeout-minutes: 120
+
+ - name: Check that the binary is executable
+ run: |
+ . "$HOME/.cargo/env"
+ cd ${{ matrix.template }}-template
+ cargo run --release -- --help
+ timeout-minutes: 5
diff --git a/.github/workflows/check-labels.yml b/.github/workflows/check-labels.yml
index 1d1a8770058d33ba5e449c6a2e8b307e0ff02eb7..6ec35840608c81a3b1ffb70dbf8684cfce3a489b 100644
--- a/.github/workflows/check-labels.yml
+++ b/.github/workflows/check-labels.yml
@@ -1,5 +1,9 @@
name: Check labels
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
on:
pull_request:
types: [labeled, opened, synchronize, unlabeled]
diff --git a/.github/workflows/check-licenses.yml b/.github/workflows/check-licenses.yml
index 3bc95305f7467ebbede90526eadb156b89b1e7f9..88bd06c670797b54d8b645b2690787ad567fc136 100644
--- a/.github/workflows/check-licenses.yml
+++ b/.github/workflows/check-licenses.yml
@@ -4,6 +4,10 @@ on:
pull_request:
merge_group:
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
permissions:
packages: read
@@ -16,8 +20,8 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout sources
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- - uses: actions/setup-node@v4.0.1
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
+ - uses: actions/setup-node@v4.0.3
with:
node-version: "18.x"
registry-url: "https://npm.pkg.github.com"
@@ -35,7 +39,6 @@ jobs:
shopt -s globstar
npx @paritytech/license-scanner scan \
--ensure-licenses ${{ env.LICENSES }} \
- --exclude ./cumulus/parachain-template \
-- ./cumulus/**/*.rs
- name: Check the licenses in Substrate
@@ -44,3 +47,38 @@ jobs:
npx @paritytech/license-scanner scan \
--ensure-licenses ${{ env.LICENSES }} \
-- ./substrate/**/*.rs
+
+ check-product-references:
+ runs-on: ubuntu-latest
+ timeout-minutes: 10
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ steps:
+ - name: Checkout sources
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
+ - uses: actions/setup-node@v4.0.3
+ with:
+ node-version: "18.x"
+ registry-url: "https://npm.pkg.github.com"
+ scope: "@paritytech"
+
+ - name: Check the product references in Polkadot
+ run: |
+ shopt -s globstar
+ npx @paritytech/license-scanner scan \
+ --ensure-product 'Polkadot' \
+ -- ./polkadot/**/*.rs
+
+ - name: Check the product references in Cumulus
+ run: |
+ shopt -s globstar
+ npx @paritytech/license-scanner scan \
+ --ensure-product 'Cumulus' \
+ -- ./cumulus/**/*.rs
+
+ - name: Check the product references in Substrate
+ run: |
+ shopt -s globstar
+ npx @paritytech/license-scanner scan \
+ --ensure-product 'Substrate' \
+ -- ./substrate/**/*.rs
diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml
index 58065f369c9cf160b0b94c233df9df1016426d07..0ebd33d417af740780f4e91b9d5388a6b5ca6f0e 100644
--- a/.github/workflows/check-links.yml
+++ b/.github/workflows/check-links.yml
@@ -10,6 +10,10 @@ on:
types: [opened, synchronize, reopened, ready_for_review]
merge_group:
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
permissions:
packages: read
@@ -18,17 +22,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Restore lychee cache
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3.3.2 (7. Sep 2023)
+ uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3.3.2 (7. Sep 2023)
with:
path: .lycheecache
key: cache-lychee-${{ github.sha }}
# This should restore from the most recent one:
restore-keys: cache-lychee-
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.0 (22. Sep 2023)
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.0 (22. Sep 2023)
- name: Lychee link checker
- uses: lycheeverse/lychee-action@c3089c702fbb949e3f7a8122be0c33c017904f9b # for v1.9.1 (10. Jan 2024)
+ uses: lycheeverse/lychee-action@2b973e86fc7b1f6b36a93795fe2c9c6ae1118621 # for v1.9.1 (10. Jan 2024)
with:
args: >-
--config .config/lychee.toml
diff --git a/.github/workflows/check-prdoc.yml b/.github/workflows/check-prdoc.yml
index 5df03f1044d88a7bcf9369c054235747f9f049b1..fc2824770225e6f9e78a68e51edfb6bcceae6e25 100644
--- a/.github/workflows/check-prdoc.yml
+++ b/.github/workflows/check-prdoc.yml
@@ -1,12 +1,16 @@
name: Check PRdoc
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
on:
pull_request:
types: [labeled, opened, synchronize, unlabeled]
merge_group:
env:
- IMAGE: docker.io/paritytech/prdoc:v0.0.8
+ IMAGE: docker.io/paritytech/prdoc:v0.1.1
API_BASE: https://api.github.com/repos
REPO: ${{ github.repository }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -20,7 +24,7 @@ jobs:
if: github.event.pull_request.number != ''
steps:
- name: Checkout repo
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc #v4.1.7
# we cannot show the version in this step (ie before checking out the repo)
# due to https://github.com/paritytech/prdoc/issues/15
- name: Check if PRdoc is required
diff --git a/.github/workflows/check-runtime-migration.yml b/.github/workflows/check-runtime-migration.yml
index 33da5a8ecd591535eb0d4fe8b63cd8801699e988..8185cf171aefb22423e59bc7a3ec9dda72bae368 100644
--- a/.github/workflows/check-runtime-migration.yml
+++ b/.github/workflows/check-runtime-migration.yml
@@ -6,37 +6,37 @@ on:
- master
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
+ # Take a snapshot at 5am when most SDK devs are not working.
+ schedule:
+ - cron: "0 5 * * *"
merge_group:
+ workflow_dispatch:
+
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
- set-image:
- # GitHub Actions allows using 'env' in a container context.
- # However, env variables don't work for forks: https://github.com/orgs/community/discussions/44322
- # This workaround sets the container image for each job using 'set-image' job output.
- runs-on: ubuntu-latest
- outputs:
- IMAGE: ${{ steps.set_image.outputs.IMAGE }}
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: set_image
- run: cat .github/env >> $GITHUB_OUTPUT
- # rococo and westend are disabled for now (no access to parity-chains.parity.io)
+
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
+
+ # More info can be found here: https://github.com/paritytech/polkadot/pull/5865
check-runtime-migration:
- runs-on: arc-runners-polkadot-sdk-beefy
- timeout-minutes: 40
- needs: [set-image]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ # We need to set this to rather long to allow the snapshot to be created, but the average time
+ # should be much lower.
+ timeout-minutes: 60
+ needs: [preflight]
container:
- image: ${{ needs.set-image.outputs.IMAGE }}
+ image: ${{ needs.preflight.outputs.IMAGE }}
strategy:
fail-fast: false
matrix:
- network: [
- # westend,
- # rococo,
+ network:
+ [
+ westend,
+ rococo,
asset-hub-westend,
asset-hub-rococo,
bridge-hub-westend,
@@ -46,18 +46,18 @@ jobs:
coretime-rococo,
]
include:
- # - 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"
- # command_extra_args: ""
- # - 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"
- # command_extra_args: ""
+ - network: westend
+ package: westend-runtime
+ wasm: westend_runtime.compact.compressed.wasm
+ uri: "wss://try-runtime-westend.polkadot.io:443"
+ subcommand_extra_args: "--no-weight-warnings"
+ command_extra_args: ""
+ - network: rococo
+ package: rococo-runtime
+ wasm: rococo_runtime.compact.compressed.wasm
+ uri: "wss://try-runtime-rococo.polkadot.io:443"
+ subcommand_extra_args: "--no-weight-warnings"
+ command_extra_args: ""
- network: asset-hub-westend
package: asset-hub-westend-runtime
wasm: asset_hub_westend_runtime.compact.compressed.wasm
@@ -94,22 +94,63 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
- - name: script
- run: |
- echo "Running ${{ matrix.network }} runtime migration check"
- 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
+ - name: Download CLI
+ run: |
+ curl -sL https://github.com/paritytech/try-runtime-cli/releases/download/v0.7.0/try-runtime-x86_64-unknown-linux-musl -o try-runtime
chmod +x ./try-runtime
echo "Using try-runtime-cli version:"
./try-runtime --version
+ - name: Get Date
+ id: get-date
+ run: |
+ echo "today=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_OUTPUT
+ shell: bash
+
+ - name: Download Snapshot
+ uses: actions/cache@v4
+ with:
+ path: snapshot.raw
+ key: try-runtime-snapshot-${{ matrix.network }}-${{ steps.get-date.outputs.today }}
+ save-always: true
+
+ - name: Create Snapshot If Stale
+ if: ${{ hashFiles('snapshot.raw') == '' }}
+ run: |
+ echo "Creating new snapshot for today (${{ steps.get-date.outputs.today }})"
+ ./try-runtime create-snapshot --uri ${{ matrix.uri }} snapshot.raw
+
+ - name: Build Runtime
+ run: |
echo "---------- Building ${{ matrix.package }} runtime ----------"
- time forklift cargo build --release --locked -p ${{ matrix.package }} --features try-runtime
+ time forklift cargo build --release --locked -p ${{ matrix.package }} --features try-runtime -q
+
+ - name: Run Check
+ run: |
+ echo "Running ${{ matrix.network }} runtime migration check"
+ export RUST_LOG=remote-ext=debug,runtime=debug
echo "---------- Executing on-runtime-upgrade for ${{ matrix.network }} ----------"
time ./try-runtime ${{ matrix.command_extra_args }} \
--runtime ./target/release/wbuild/${{ matrix.package }}/${{ matrix.wasm }} \
- on-runtime-upgrade --disable-spec-version-check --checks=all ${{ matrix.subcommand_extra_args }} live --uri ${{ matrix.uri }}
+ on-runtime-upgrade --disable-spec-version-check --checks=all ${{ matrix.subcommand_extra_args }} snap -p snapshot.raw
sleep 5
+ # name of this job must be unique across all workflows
+ # otherwise GitHub will mark all these jobs as required
+ confirm-required-checks-passed:
+ runs-on: ubuntu-latest
+ name: All runtime migrations passed
+ # If any new job gets added, be sure to add it to this array
+ needs: [check-runtime-migration]
+ if: always() && !cancelled()
+ steps:
+ - run: |
+ tee resultfile <<< '${{ toJSON(needs) }}'
+ FAILURES=$(cat resultfile | grep '"result": "failure"' | wc -l)
+ if [ $FAILURES -gt 0 ]; then
+ echo "### At least one required job failed ❌" >> $GITHUB_STEP_SUMMARY
+ exit 1
+ else
+ echo '### Good job! All the required jobs passed 🚀' >> $GITHUB_STEP_SUMMARY
+ fi
diff --git a/.github/workflows/check-semver.yml b/.github/workflows/check-semver.yml
index 47f9e5061b4aec5be38937351ae072bd58f84f37..b5866e0ce414241c9d89f1c71ec0cc6128274d67 100644
--- a/.github/workflows/check-semver.yml
+++ b/.github/workflows/check-semver.yml
@@ -3,10 +3,14 @@ name: Check semver
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
- paths:
- - prdoc/*.prdoc
+ workflow_dispatch:
+
+concurrency:
+ group: check-semver-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
env:
- TOOLCHAIN: nightly-2024-03-01
+ TOOLCHAIN: nightly-2024-06-01
jobs:
check-semver:
@@ -14,34 +18,71 @@ jobs:
container:
image: docker.io/paritytech/ci-unified:bullseye-1.77.0-2024-04-10-v20240408
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
+ with:
+ fetch-depth: 2
+
+ - name: extra git setup
+ run: |
+ git config --global --add safe.directory '*'
+
+ git branch old HEAD^1
+
+ - name: Comment If Backport
+ if: ${{ startsWith(github.event.pull_request.base.ref, 'stable') }}
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ PR: ${{ github.event.pull_request.number }}
+ run: |
+ echo "This is a backport into stable."
+
+ wget -q https://github.com/cli/cli/releases/download/v2.51.0/gh_2.51.0_linux_amd64.tar.gz -O gh.tar.gz && \
+ tar -xzf gh.tar.gz && mv gh_2.51.0_linux_amd64/bin/gh /usr/local/bin/gh && rm gh.tar.gz
+ chmod +x /usr/local/bin/gh
+
+ cat > msg.txt <Emergency Bypass
+
+
+ If you really need to bypass this check: add validate: false
to each crate
+ in the Prdoc where a breaking change is introduced. This will release a new major
+ version of that crate and all its reverse dependencies and basically break the release.
+
+
+
+ EOF
+ gh issue comment $PR --edit-last -F msg.txt || gh issue comment $PR -F msg.txt
+
+ echo "PRDOC_EXTRA_ARGS=--max-bump minor" >> $GITHUB_ENV
- name: Rust Cache
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
with:
cache-on-failure: true
- - name: install parity-publish
- run: cargo install parity-publish@0.6.0
-
- name: Rust compilation prerequisites
run: |
rustup default $TOOLCHAIN
- rustup target add wasm32-unknown-unknown --toolchain $TOOLCHAIN
rustup component add rust-src --toolchain $TOOLCHAIN
- - name: extra git setup
- run: |
- git config --global --add safe.directory '*'
- git fetch --no-tags --no-recurse-submodules --depth=1 origin master
- git branch old origin/master
+ - name: install parity-publish
+ # Set the target dir to cache the build.
+ run: CARGO_TARGET_DIR=./target/ cargo install parity-publish@0.8.0 --locked -q
- name: check semver
run: |
export CARGO_TARGET_DIR=target
export RUSTFLAGS='-A warnings -A missing_docs'
export SKIP_WASM_BUILD=1
- if ! parity-publish --color always prdoc --since old --validate prdoc/pr_$PR.prdoc -v --toolchain $TOOLCHAIN; then
+
+ if ! parity-publish --color always prdoc --since old --validate prdoc/pr_$PR.prdoc $PRDOC_EXTRA_ARGS -v --toolchain $TOOLCHAIN; then
+
cat <> $GITHUB_OUTPUT
+
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
+
fmt:
runs-on: ubuntu-latest
- timeout-minutes: 10
- needs: [set-image]
+ timeout-minutes: 20
+ needs: [preflight]
container:
- image: ${{ needs.set-image.outputs.IMAGE }}
+ image: ${{ needs.preflight.outputs.IMAGE }}
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: Cargo fmt
run: cargo +nightly fmt --all -- --check
check-dependency-rules:
runs-on: ubuntu-latest
- timeout-minutes: 10
+ timeout-minutes: 20
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: check dependency rules
run: |
cd substrate/
../.gitlab/ensure-deps.sh
check-rust-feature-propagation:
runs-on: ubuntu-latest
- timeout-minutes: 10
- needs: [set-image]
+ timeout-minutes: 20
+ needs: [preflight]
container:
- image: ${{ needs.set-image.outputs.IMAGE }}
+ image: ${{ needs.preflight.outputs.IMAGE }}
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: fetch deps
run: |
# Pull all dependencies eagerly:
@@ -65,31 +56,31 @@ jobs:
time zepter run check
test-rust-features:
runs-on: ubuntu-latest
- timeout-minutes: 10
- needs: [set-image]
+ timeout-minutes: 20
+ needs: [preflight]
container:
- image: ${{ needs.set-image.outputs.IMAGE }}
+ image: ${{ needs.preflight.outputs.IMAGE }}
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: run rust features
run: bash .gitlab/rust-features.sh .
check-toml-format:
runs-on: ubuntu-latest
- timeout-minutes: 10
- needs: [set-image]
+ timeout-minutes: 20
+ needs: [preflight]
container:
- image: ${{ needs.set-image.outputs.IMAGE }}
+ image: ${{ needs.preflight.outputs.IMAGE }}
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: check toml format
run: |
taplo format --check --config .config/taplo.toml
echo "Please run `taplo format --config .config/taplo.toml` to fix any toml formatting issues"
check-workspace:
runs-on: ubuntu-latest
- timeout-minutes: 10
+ timeout-minutes: 20
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.0 (22. Sep 2023)
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.0 (22. Sep 2023)
- name: install python deps
run: |
sudo apt-get update && sudo apt-get install -y python3-pip python3
@@ -100,16 +91,18 @@ jobs:
--exclude
"substrate/frame/contracts/fixtures/build"
"substrate/frame/contracts/fixtures/contracts/common"
+ "substrate/frame/revive/fixtures/build"
+ "substrate/frame/revive/fixtures/contracts/common"
- name: deny git deps
run: python3 .github/scripts/deny-git-deps.py .
check-markdown:
runs-on: ubuntu-latest
- timeout-minutes: 10
+ timeout-minutes: 20
steps:
- name: Checkout sources
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: Setup Node.js
- uses: actions/setup-node@v4.0.1
+ uses: actions/setup-node@v4.0.3
with:
node-version: "18.x"
registry-url: "https://npm.pkg.github.com"
@@ -127,12 +120,12 @@ jobs:
markdownlint --config "$CONFIG" --ignore target .
check-umbrella:
runs-on: ubuntu-latest
- timeout-minutes: 10
- needs: [set-image]
+ timeout-minutes: 20
+ needs: [preflight]
container:
- image: ${{ needs.set-image.outputs.IMAGE }}
+ image: ${{ needs.preflight.outputs.IMAGE }}
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.0 (22. Sep 2023)
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.0 (22. Sep 2023)
- name: install python deps
run: pip3 install "cargo-workspace>=1.2.4" toml
- name: check umbrella correctness
@@ -154,3 +147,54 @@ jobs:
git diff
exit 1
fi
+ check-fail-ci:
+ runs-on: ubuntu-latest
+ container:
+ # there's no "rg" in ci-unified, and tools is a smaller image anyway
+ image: "paritytech/tools:latest"
+ # paritytech/tools uses "nonroot" user by default, which doesn't have enough
+ # permissions to create GHA context
+ options: --user root
+ steps:
+ - name: Fetch latest code
+ uses: actions/checkout@v4
+ - name: Check
+ run: |
+ 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
+ env:
+ ASSERT_REGEX: "FAIL-CI"
+ GIT_DEPTH: 1
+
+ confirm-required-checks-quick-jobs-passed:
+ runs-on: ubuntu-latest
+ name: All quick checks passed
+ # If any new job gets added, be sure to add it to this array
+ needs:
+ - fmt
+ - check-dependency-rules
+ - check-rust-feature-propagation
+ - test-rust-features
+ - check-toml-format
+ - check-workspace
+ - check-markdown
+ - check-umbrella
+ - check-fail-ci
+ if: always() && !cancelled()
+ steps:
+ - run: |
+ tee resultfile <<< '${{ toJSON(needs) }}'
+ FAILURES=$(cat resultfile | grep '"result": "failure"' | wc -l)
+ if [ $FAILURES -gt 0 ]; then
+ echo "### At least one required job failed ❌" >> $GITHUB_STEP_SUMMARY
+ exit 1
+ else
+ echo '### Good job! All the required jobs passed 🚀' >> $GITHUB_STEP_SUMMARY
+ fi
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f765d79254c856195271978942ea2eb550f3e7f6
--- /dev/null
+++ b/.github/workflows/checks.yml
@@ -0,0 +1,94 @@
+name: Checks
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ types: [opened, synchronize, reopened, ready_for_review]
+ merge_group:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+permissions: {}
+
+jobs:
+
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
+
+ cargo-clippy:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ needs: [preflight]
+ # if: ${{ needs.preflight.outputs.changes_rust }}
+ timeout-minutes: 40
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ RUSTFLAGS: "-D warnings"
+ SKIP_WASM_BUILD: 1
+ steps:
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
+ - name: script
+ run: |
+ forklift cargo clippy --all-targets --locked --workspace
+ forklift cargo clippy --all-targets --all-features --locked --workspace
+ check-try-runtime:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ needs: [preflight]
+ # if: ${{ needs.preflight.outputs.changes_rust }}
+ timeout-minutes: 40
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
+ - name: script
+ run: |
+ forklift cargo check --locked --all --features try-runtime
+ # this is taken from cumulus
+ # Check that parachain-template will compile with `try-runtime` feature flag.
+ forklift 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
+ forklift cargo check --locked --all --features try-runtime,experimental
+ # check-core-crypto-features works fast without forklift
+ check-core-crypto-features:
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ needs: [preflight]
+ # if: ${{ needs.preflight.outputs.changes_rust }}
+ timeout-minutes: 30
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
+ - name: script
+ run: |
+ cd substrate/primitives/core
+ ./check-features-variants.sh
+ cd -
+ cd substrate/primitives/application-crypto
+ ./check-features-variants.sh
+ cd -
+ cd substrate/primitives/keyring
+ ./check-features-variants.sh
+ cd -
+ # name of this job must be unique across all workflows
+ # otherwise GitHub will mark all these jobs as required
+ confirm-required-checks-passed:
+ runs-on: ubuntu-latest
+ name: All checks passed
+ # If any new job gets added, be sure to add it to this array
+ needs: [cargo-clippy, check-try-runtime, check-core-crypto-features]
+ if: always() && !cancelled()
+ steps:
+ - run: |
+ tee resultfile <<< '${{ toJSON(needs) }}'
+ FAILURES=$(cat resultfile | grep '"result": "failure"' | wc -l)
+ if [ $FAILURES -gt 0 ]; then
+ echo "### At least one required job failed ❌" >> $GITHUB_STEP_SUMMARY
+ exit 1
+ else
+ echo '### Good job! All the required jobs passed 🚀' >> $GITHUB_STEP_SUMMARY
+ fi
diff --git a/.github/workflows/cmd-tests.yml b/.github/workflows/cmd-tests.yml
new file mode 100644
index 0000000000000000000000000000000000000000..37f1747d0b9eac72cf8e6c10534a8c31402cd905
--- /dev/null
+++ b/.github/workflows/cmd-tests.yml
@@ -0,0 +1,18 @@
+name: Command Bot Tests
+
+on:
+ pull_request:
+
+permissions:
+ contents: read
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - run: python3 .github/scripts/cmd/test_cmd.py
diff --git a/.github/workflows/cmd.yml b/.github/workflows/cmd.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5498beb50ccb16740cd3c8eae09dd85fc0ff6206
--- /dev/null
+++ b/.github/workflows/cmd.yml
@@ -0,0 +1,455 @@
+name: Command
+
+on:
+ issue_comment: # listen for comments on issues
+ types: [created]
+
+permissions: # allow the action to comment on the PR
+ contents: write
+ issues: write
+ pull-requests: write
+ actions: read
+
+jobs:
+ is-org-member:
+ if: startsWith(github.event.comment.body, '/cmd')
+ runs-on: ubuntu-latest
+ outputs:
+ member: ${{ steps.is-member.outputs.result }}
+ steps:
+ - name: Generate token
+ id: generate_token
+ uses: tibdex/github-app-token@v2.1.0
+ with:
+ app_id: ${{ secrets.CMD_BOT_APP_ID }}
+ private_key: ${{ secrets.CMD_BOT_APP_KEY }}
+
+ - name: Check if user is a member of the organization
+ id: is-member
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ steps.generate_token.outputs.token }}
+ result-encoding: string
+ script: |
+ const fs = require("fs");
+ try {
+ const org = '${{ github.event.repository.owner.login }}';
+ const username = '${{ github.event.comment.user.login }}';
+
+ const membership = await github.rest.orgs.checkMembershipForUser({
+ org: org,
+ username: username
+ });
+
+ console.log(membership, membership.status, membership.status === 204);
+
+ if (membership.status === 204) {
+ return 'true';
+ } else {
+ console.log(membership);
+ fs.appendFileSync(process.env["GITHUB_STEP_SUMMARY"], `${membership.data && membership.data.message || 'Unknown error happened, please check logs'}`);
+ }
+ } catch (error) {
+ console.log(error)
+ }
+
+ return 'false';
+
+ reject-non-members:
+ needs: is-org-member
+ if: ${{ startsWith(github.event.comment.body, '/cmd') && needs.is-org-member.outputs.member != 'true' }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Add reaction to rejected comment
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ github.rest.reactions.createForIssueComment({
+ comment_id: ${{ github.event.comment.id }},
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ content: 'confused'
+ })
+
+ - name: Comment PR (Rejected)
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: `Sorry, only members of the organization ${{ github.event.repository.owner.login }} members can run commands.`
+ })
+
+ acknowledge:
+ needs: is-org-member
+ if: ${{ startsWith(github.event.comment.body, '/cmd') && needs.is-org-member.outputs.member == 'true' }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Add reaction to triggered comment
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ github.rest.reactions.createForIssueComment({
+ comment_id: ${{ github.event.comment.id }},
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ content: 'eyes'
+ })
+
+ clean:
+ needs: is-org-member
+ runs-on: ubuntu-latest
+ steps:
+ - name: Clean previous comments
+ if: ${{ startsWith(github.event.comment.body, '/cmd') && contains(github.event.comment.body, '--clean') && needs.is-org-member.outputs.member == 'true' }}
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ github.rest.issues.listComments({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo
+ }).then(comments => {
+ for (let comment of comments.data) {
+ console.log(comment)
+ if (
+ ${{ github.event.comment.id }} !== comment.id &&
+ (
+ (
+ (
+ comment.body.startsWith('Command') ||
+ comment.body.startsWith('Command') ||
+ comment.body.startsWith('Sorry, only ')
+ ) && comment.user.type === 'Bot'
+ ) ||
+ (comment.body.startsWith('/cmd') && comment.user.login === context.actor)
+ )
+ ) {
+ github.rest.issues.deleteComment({
+ comment_id: comment.id,
+ owner: context.repo.owner,
+ repo: context.repo.repo
+ })
+ }
+ }
+ })
+ help:
+ needs: [clean, is-org-member]
+ if: ${{ startsWith(github.event.comment.body, '/cmd') && contains(github.event.comment.body, '--help') && needs.is-org-member.outputs.member == 'true' }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Get command
+ uses: actions-ecosystem/action-regex-match@v2
+ id: get-pr-comment
+ with:
+ text: ${{ github.event.comment.body }}
+ regex: '^(\/cmd )([-\/\s\w.=:]+)$' # see explanation in docs/contributor/commands-readme.md#examples
+
+ - name: Save output of help
+ id: help
+ env:
+ CMD: ${{ steps.get-pr-comment.outputs.group2 }} # to avoid "" around the command
+ run: |
+ echo 'help<> $GITHUB_OUTPUT
+ python3 -m pip install -r .github/scripts/generate-prdoc.requirements.txt
+ python3 .github/scripts/cmd/cmd.py $CMD >> $GITHUB_OUTPUT
+ echo 'EOF' >> $GITHUB_OUTPUT
+
+ - name: Comment PR (Help)
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: `Command help:
+
+ \`\`\`
+ ${{ steps.help.outputs.help }}
+ \`\`\`
+
+ `
+ })
+
+ - name: Add confused reaction on failure
+ uses: actions/github-script@v7
+ if: ${{ failure() }}
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ github.rest.reactions.createForIssueComment({
+ comment_id: ${{ github.event.comment.id }},
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ content: 'confused'
+ })
+
+ - name: Add 👍 reaction on success
+ uses: actions/github-script@v7
+ if: ${{ !failure() }}
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ github.rest.reactions.createForIssueComment({
+ comment_id: ${{ github.event.comment.id }},
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ content: '+1'
+ })
+
+ set-image:
+ needs: [clean, is-org-member]
+ if: ${{ startsWith(github.event.comment.body, '/cmd') && !contains(github.event.comment.body, '--help') && needs.is-org-member.outputs.member == 'true' }}
+ runs-on: ubuntu-latest
+ outputs:
+ IMAGE: ${{ steps.set-image.outputs.IMAGE }}
+ RUNNER: ${{ steps.set-image.outputs.RUNNER }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - id: set-image
+ run: |
+ BODY=$(echo "${{ github.event.comment.body }}" | xargs)
+ IMAGE_OVERRIDE=$(echo $BODY | grep -oe 'docker.io/paritytech/ci-unified:.*\s' | xargs)
+
+ cat .github/env >> $GITHUB_OUTPUT
+
+ if [ -n "$IMAGE_OVERRIDE" ]; then
+ echo "IMAGE=$IMAGE_OVERRIDE" >> $GITHUB_OUTPUT
+ fi
+
+ if [[ $BODY == "/cmd bench"* ]]; then
+ echo "RUNNER=arc-runners-polkadot-sdk-benchmark" >> $GITHUB_OUTPUT
+ elif [[ $BODY == "/cmd update-ui"* ]]; then
+ echo "RUNNER=arc-runners-polkadot-sdk-beefy" >> $GITHUB_OUTPUT
+ else
+ echo "RUNNER=ubuntu-latest" >> $GITHUB_OUTPUT
+ fi
+
+ # Get PR branch name, because the issue_comment event does not contain the PR branch name
+ get-pr-branch:
+ needs: [set-image]
+ runs-on: ubuntu-latest
+ outputs:
+ pr-branch: ${{ steps.get-pr.outputs.pr_branch }}
+ repo: ${{ steps.get-pr.outputs.repo }}
+ steps:
+ - name: Check if the issue is a PR
+ id: check-pr
+ run: |
+ if [ -n "${{ github.event.issue.pull_request.url }}" ]; then
+ echo "This is a pull request comment"
+ else
+ echo "This is not a pull request comment"
+ exit 1
+ fi
+
+ - name: Get PR Branch Name and Repo
+ if: steps.check-pr.outcome == 'success'
+ id: get-pr
+ uses: actions/github-script@v7
+ with:
+ script: |
+ const pr = await github.rest.pulls.get({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ pull_number: context.issue.number,
+ });
+ const prBranch = pr.data.head.ref;
+ const repo = pr.data.head.repo.full_name;
+ console.log(prBranch, repo)
+ core.setOutput('pr_branch', prBranch);
+ core.setOutput('repo', repo);
+
+ - name: Use PR Branch Name and Repo
+ run: |
+ echo "The PR branch is ${{ steps.get-pr.outputs.pr_branch }}"
+ echo "The repository is ${{ steps.get-pr.outputs.repo }}"
+
+ cmd:
+ needs: [set-image, get-pr-branch]
+ env:
+ JOB_NAME: "cmd"
+ runs-on: ${{ needs.set-image.outputs.RUNNER }}
+ container:
+ image: ${{ needs.set-image.outputs.IMAGE }}
+ steps:
+ - name: Get command
+ uses: actions-ecosystem/action-regex-match@v2
+ id: get-pr-comment
+ with:
+ text: ${{ github.event.comment.body }}
+ regex: '^(\/cmd )([-\/\s\w.=:]+)$' # see explanation in docs/contributor/commands-readme.md#examples
+
+ - name: Build workflow link
+ if: ${{ !contains(github.event.comment.body, '--quiet') }}
+ id: build-link
+ run: |
+ # Get exactly the CMD job link, filtering out the other jobs
+ jobLink=$(curl -s \
+ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
+ -H "Accept: application/vnd.github.v3+json" \
+ https://api.github.com/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs | jq '.jobs[] | select(.name | contains("${{ env.JOB_NAME }}")) | .html_url')
+
+ runLink=$(curl -s \
+ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
+ -H "Accept: application/vnd.github.v3+json" \
+ https://api.github.com/repos/${{ github.repository }}/actions/runs/${{ github.run_id }} | jq '.html_url')
+
+ echo "job_url=${jobLink}"
+ echo "run_url=${runLink}"
+ echo "job_url=$jobLink" >> $GITHUB_OUTPUT
+ echo "run_url=$runLink" >> $GITHUB_OUTPUT
+
+ - name: Comment PR (Start)
+ if: ${{ !contains(github.event.comment.body, '--quiet') }}
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ let job_url = ${{ steps.build-link.outputs.job_url }}
+
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: `Command "${{ steps.get-pr-comment.outputs.group2 }}" has started 🚀 [See logs here](${job_url})`
+ })
+
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ repository: ${{ needs.get-pr-branch.outputs.repo }}
+ ref: ${{ needs.get-pr-branch.outputs.pr-branch }}
+
+ - name: Install dependencies for bench
+ if: startsWith(steps.get-pr-comment.outputs.group2, 'bench')
+ run: cargo install subweight frame-omni-bencher --locked
+
+ - name: Run cmd
+ id: cmd
+ env:
+ CMD: ${{ steps.get-pr-comment.outputs.group2 }} # to avoid "" around the command
+ run: |
+ echo "Running command: '$CMD' on '${{ needs.set-image.outputs.RUNNER }}' runner, container: '${{ needs.set-image.outputs.IMAGE }}'"
+ echo "RUST_NIGHTLY_VERSION: $RUST_NIGHTLY_VERSION"
+ # Fixes "detected dubious ownership" error in the ci
+ git config --global --add safe.directory '*'
+ git remote -v
+ python3 -m pip install -r .github/scripts/generate-prdoc.requirements.txt
+ python3 .github/scripts/cmd/cmd.py $CMD
+ git status
+ git diff
+
+ - name: Commit changes
+ run: |
+ if [ -n "$(git status --porcelain)" ]; then
+ git config --local user.email "action@github.com"
+ git config --local user.name "GitHub Action"
+
+ git add .
+ git restore --staged Cargo.lock # ignore changes in Cargo.lock
+ git commit -m "Update from ${{ github.actor }} running command '${{ steps.get-pr-comment.outputs.group2 }}'" || true
+
+ git pull --rebase origin ${{ needs.get-pr-branch.outputs.pr-branch }}
+
+ git push origin ${{ needs.get-pr-branch.outputs.pr-branch }}
+ else
+ echo "Nothing to commit";
+ fi
+
+ - name: Run Subweight
+ id: subweight
+ if: startsWith(steps.get-pr-comment.outputs.group2, 'bench')
+ shell: bash
+ run: |
+ git fetch
+ result=$(subweight compare commits \
+ --path-pattern "./**/weights/**/*.rs,./**/weights.rs" \
+ --method asymptotic \
+ --format markdown \
+ --no-color \
+ --change added changed \
+ --ignore-errors \
+ refs/remotes/origin/master refs/heads/${{ needs.get-pr-branch.outputs.pr-branch }})
+
+ # Save the multiline result to the output
+ {
+ echo "result<> $GITHUB_OUTPUT
+
+ - name: Comment PR (End)
+ if: ${{ !failure() && !contains(github.event.comment.body, '--quiet') }}
+ uses: actions/github-script@v7
+ env:
+ SUBWEIGHT: "${{ steps.subweight.outputs.result }}"
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ let runUrl = ${{ steps.build-link.outputs.run_url }}
+ let subweight = process.env.SUBWEIGHT;
+
+ let subweightCollapsed = subweight
+ ? `\n\nSubweight results: \n\n${subweight}\n\n `
+ : '';
+
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: `Command "${{ steps.get-pr-comment.outputs.group2 }}" has finished ✅ [See logs here](${runUrl})${subweightCollapsed}`
+ })
+
+ - name: Comment PR (Failure)
+ if: ${{ failure() && !contains(github.event.comment.body, '--quiet') }}
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ let jobUrl = ${{ steps.build-link.outputs.job_url }}
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: `Command "${{ steps.get-pr-comment.outputs.group2 }}" has failed ❌! [See logs here](${jobUrl})`
+ })
+
+ - name: Add 😕 reaction on failure
+ uses: actions/github-script@v7
+ if: ${{ failure() }}
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ github.rest.reactions.createForIssueComment({
+ comment_id: ${{ github.event.comment.id }},
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ content: 'confused'
+ })
+
+ - name: Add 👍 reaction on success
+ uses: actions/github-script@v7
+ if: ${{ !failure() }}
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ github.rest.reactions.createForIssueComment({
+ comment_id: ${{ github.event.comment.id }},
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ content: '+1'
+ })
diff --git a/.github/workflows/command-backport.yml b/.github/workflows/command-backport.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5b32f954d0cd2a45c7f6f3aba2eda8c2280605d4
--- /dev/null
+++ b/.github/workflows/command-backport.yml
@@ -0,0 +1,95 @@
+name: Backport into stable
+
+on:
+ # This trigger can be problematic, see: https://securitylab.github.com/resources/github-actions-preventing-pwn-requests/
+ # In our case it is fine since we only run it on merged Pull Requests and do not execute any of the repo code itself.
+ pull_request_target:
+ types: [ closed, labeled ]
+
+permissions:
+ contents: write # so it can comment
+ pull-requests: write # so it can create pull requests
+ issues: write
+
+jobs:
+ backport:
+ name: Backport pull request
+ runs-on: ubuntu-latest
+
+ # The 'github.event.pull_request.merged' ensures that it got into master:
+ if: >
+ ( !startsWith(github.event.pull_request.base.ref, 'stable') ) &&
+ (
+ github.event_name == 'pull_request_target' &&
+ github.event.pull_request.merged &&
+ github.event.pull_request.base.ref == 'master' &&
+ contains(github.event.pull_request.labels.*.name, 'A4-needs-backport')
+ )
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Generate token
+ id: generate_token
+ uses: tibdex/github-app-token@v2.1.0
+ with:
+ app_id: ${{ secrets.CMD_BOT_APP_ID }}
+ private_key: ${{ secrets.CMD_BOT_APP_KEY }}
+
+ - name: Create backport pull requests
+ uses: korthout/backport-action@v3
+ id: backport
+ with:
+ target_branches: stable2407 stable2409
+ merge_commits: skip
+ github_token: ${{ steps.generate_token.outputs.token }}
+ pull_description: |
+ Backport #${pull_number} into `${target_branch}` from ${pull_author}.
+
+ See the [documentation](https://github.com/paritytech/polkadot-sdk/blob/master/docs/BACKPORT.md) on how to use this bot.
+
+
+ pull_title: |
+ [${target_branch}] Backport #${pull_number}
+ experimental: >
+ {
+ "conflict_resolution": "draft_commit_conflicts"
+ }
+ copy_assignees: true
+
+ - name: Label Backports
+ if: ${{ steps.backport.outputs.created_pull_numbers != '' }}
+ uses: actions/github-script@v7
+ with:
+ script: |
+ const pullNumbers = '${{ steps.backport.outputs.created_pull_numbers }}'.split(' ');
+
+ for (const pullNumber of pullNumbers) {
+ await github.rest.issues.addLabels({
+ issue_number: parseInt(pullNumber),
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ labels: ['A3-backport']
+ });
+ console.log(`Added A3-backport label to PR #${pullNumber}`);
+ }
+
+ - name: Request Review
+ if: ${{ steps.backport.outputs.created_pull_numbers != '' }}
+ uses: actions/github-script@v7
+ with:
+ script: |
+ const pullNumbers = '${{ steps.backport.outputs.created_pull_numbers }}'.split(' ');
+ const reviewer = '${{ github.event.pull_request.user.login }}';
+
+ for (const pullNumber of pullNumbers) {
+ await github.pulls.createReviewRequest({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ pull_number: parseInt(pullNumber),
+ reviewers: [ reviewer ]
+ });
+ console.log(`Requested review from ${reviewer} for PR #${pullNumber}`);
+ }
diff --git a/.github/workflows/command-bench-all.yml b/.github/workflows/command-bench-all.yml
deleted file mode 100644
index b3fa0868c48797775c0ef8eff67e3acbd7f6facd..0000000000000000000000000000000000000000
--- a/.github/workflows/command-bench-all.yml
+++ /dev/null
@@ -1,97 +0,0 @@
-name: Command Bench All
-
-on:
- workflow_dispatch:
- inputs:
- pr:
- description: Number of the Pull Request
- required: true
- benchmark:
- description: Pallet benchmark
- type: choice
- required: true
- options:
- - pallet
- - substrate
- - polkadot
- - cumulus
- pallet:
- description: Pallet
- required: false
- type: string
- default: pallet_name
- target_dir:
- description: Target directory
- type: choice
- options:
- - substrate
- - polkadot
- - cumulus
- runtime:
- description: Runtime
- type: choice
- options:
- - 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
-
-
-jobs:
- set-image:
- runs-on: ubuntu-latest
- outputs:
- IMAGE: ${{ steps.set_image.outputs.IMAGE }}
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: set_image
- run: cat .github/env >> $GITHUB_OUTPUT
- cmd-bench-all:
- needs: [set-image]
- runs-on: arc-runners-polkadot-sdk-benchmark
- container:
- image: ${{ needs.set-image.outputs.IMAGE }}
- steps:
- - name: Download repo
- uses: actions/checkout@v4
- - name: Install gh cli
- id: gh
- uses: ./.github/actions/set-up-gh
- with:
- pr-number: ${{ inputs.pr }}
- GH_TOKEN: ${{ github.token }}
- - name: Run bench all
- run: |
- "./scripts/bench-all.sh" "${{ inputs.benchmark }}" --runtime "${{ inputs.runtime }}" --pallet "${{ inputs.pallet }}" --target_dir "${{ inputs.target_dir }}"
- - name: Report failure
- if: ${{ failure() }}
- run: gh pr comment ${{ inputs.pr }} --body "Command failed ❌ Run by @${{ github.actor }} for ${{ github.workflow }}
failed. See logs here ."
- env:
- RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_TOKEN: ${{ github.token }}
- - run: git pull --rebase
- - uses: stefanzweifel/git-auto-commit-action@v5
- with:
- commit_message: cmd-action - ${{ github.workflow }}
- branch: ${{ steps.gh.outputs.branch }}
- - name: Report succeed
- run: gh pr comment ${{ inputs.pr }} --body "Action completed 🎉🎉 Run by @${{ github.actor }} for ${{ github.workflow }}
completed 🎉. See logs here ."
- env:
- RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_TOKEN: ${{ github.token }}
diff --git a/.github/workflows/command-bench-overhead.yml b/.github/workflows/command-bench-overhead.yml
deleted file mode 100644
index 735b401021061c3dde3dd065a12d9f6f538b8c93..0000000000000000000000000000000000000000
--- a/.github/workflows/command-bench-overhead.yml
+++ /dev/null
@@ -1,75 +0,0 @@
-name: Command Bench Overhead
-
-on:
- workflow_dispatch:
- inputs:
- pr:
- description: Number of the Pull Request
- required: true
- benchmark:
- description: Pallet benchmark
- type: choice
- required: true
- options:
- - default
- - substrate
- - cumulus
- runtime:
- description: Runtime
- type: choice
- options:
- - rococo
- - westend
- - asset-hub-rococo
- - asset-hub-westend
- target_dir:
- description: Target directory
- type: choice
- options:
- - polkadot
- - substrate
- - cumulus
-
-jobs:
- set-image:
- runs-on: ubuntu-latest
- outputs:
- IMAGE: ${{ steps.set_image.outputs.IMAGE }}
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: set_image
- run: cat .github/env >> $GITHUB_OUTPUT
- cmd-bench-overhead:
- needs: [set-image]
- runs-on: arc-runners-polkadot-sdk-benchmark
- container:
- image: ${{ needs.set-image.outputs.IMAGE }}
- steps:
- - name: Download repo
- uses: actions/checkout@v4
- - name: Install gh cli
- id: gh
- uses: ./.github/actions/set-up-gh
- with:
- pr-number: ${{ inputs.pr }}
- GH_TOKEN: ${{ github.token }}
- - name: Run bench overhead
- run: |
- "./scripts/bench.sh" "${{ inputs.benchmark }}" --subcommand "overhead" --runtime "${{ inputs.runtime }}" --target_dir "${{ inputs.target_dir }}"
- - name: Report failure
- if: ${{ failure() }}
- run: gh pr comment ${{ inputs.pr }} --body "Command failed ❌ Run by @${{ github.actor }} for ${{ github.workflow }}
failed. See logs here ."
- env:
- RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_TOKEN: ${{ github.token }}
- - run: git pull --rebase
- - uses: stefanzweifel/git-auto-commit-action@v5
- with:
- commit_message: cmd-action - ${{ github.workflow }}
- branch: ${{ steps.gh.outputs.branch }}
- - name: Report succeed
- run: gh pr comment ${{ inputs.pr }} --body "Action completed 🎉🎉 Run by @${{ github.actor }} for ${{ github.workflow }}
completed 🎉. See logs here ."
- env:
- RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_TOKEN: ${{ github.token }}
diff --git a/.github/workflows/command-bench.yml b/.github/workflows/command-bench.yml
deleted file mode 100644
index 0ff166be48c193aa00e858b3bf7138b856487e24..0000000000000000000000000000000000000000
--- a/.github/workflows/command-bench.yml
+++ /dev/null
@@ -1,122 +0,0 @@
-name: Command Bench
-
-on:
- workflow_dispatch:
- inputs:
- pr:
- description: Number of the Pull Request
- required: true
- benchmark:
- description: Pallet benchmark
- type: choice
- required: true
- options:
- - substrate-pallet
- - polkadot-pallet
- - cumulus-assets
- - cumulus-collectives
- - cumulus-coretime
- - cumulus-bridge-hubs
- - cumulus-contracts
- - cumulus-glutton
- - cumulus-starters
- - cumulus-people
- - cumulus-testing
- subcommand:
- description: Subcommand
- type: choice
- required: true
- options:
- - pallet
- - xcm
- runtime:
- description: Runtime
- type: choice
- options:
- - dev
- - rococo
- - westend
- - asset-hub-westend
- - asset-hub-rococo
- - collectives-westend
- - coretime-rococo
- - coretime-westend
- - bridge-hub-rococo
- - bridge-hub-westend
- - contracts-rococo
- - glutton-westend
- - glutton-westend-dev-1300
- - seedling
- - shell
- - people-westend
- - people-rococo
- - penpal
- - rococo-parachain
- pallet:
- description: Pallet
- type: string
- default: pallet_name
- target_dir:
- description: Target directory
- type: choice
- options:
- - substrate
- - polkadot
- - cumulus
- runtime_dir:
- description: Runtime directory
- type: choice
- options:
- - people
- - collectives
- - coretime
- - bridge-hubs
- - contracts
- - glutton
- - starters
- - testing
-
-
-jobs:
- set-image:
- runs-on: ubuntu-latest
- outputs:
- IMAGE: ${{ steps.set_image.outputs.IMAGE }}
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: set_image
- run: cat .github/env >> $GITHUB_OUTPUT
- cmd-bench:
- needs: [set-image]
- runs-on: arc-runners-polkadot-sdk-benchmark
- container:
- image: ${{ needs.set-image.outputs.IMAGE }}
- steps:
- - name: Download repo
- uses: actions/checkout@v4
- - name: Install gh cli
- id: gh
- uses: ./.github/actions/set-up-gh
- with:
- pr-number: ${{ inputs.pr }}
- GH_TOKEN: ${{ github.token }}
- - name: Run bench
- run: |
- "./scripts/bench.sh" "${{ inputs.benchmark }}" --runtime "${{ inputs.runtime }}" --pallet "${{ inputs.pallet }}" --target_dir "${{ inputs.target_dir }}" --subcommand "${{ inputs.subcommand }}" --runtime_dir "${{ inputs.runtime_dir }}"
- - name: Report failure
- if: ${{ failure() }}
- run: gh pr comment ${{ inputs.pr }} --body "Command failed ❌ Run by @${{ github.actor }} for ${{ github.workflow }}
failed. See logs here ."
- env:
- RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_TOKEN: ${{ github.token }}
- - run: git pull --rebase
- - uses: stefanzweifel/git-auto-commit-action@v5
- with:
- commit_message: cmd-action - ${{ github.workflow }}
- branch: ${{ steps.gh.outputs.branch }}
- - name: Report succeed
- run: gh pr comment ${{ inputs.pr }} --body "Action completed 🎉🎉 Run by @${{ github.actor }} for ${{ github.workflow }}
completed 🎉. See logs here ."
- env:
- RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_TOKEN: ${{ github.token }}
diff --git a/.github/workflows/command-fmt.yml b/.github/workflows/command-fmt.yml
deleted file mode 100644
index d415007d938390ded98a95f5f5c8ecc61fb0dc84..0000000000000000000000000000000000000000
--- a/.github/workflows/command-fmt.yml
+++ /dev/null
@@ -1,54 +0,0 @@
-name: Command FMT
-
-on:
- workflow_dispatch:
- inputs:
- pr:
- description: Number of the Pull Request
- required: true
-
-jobs:
- set-image:
- runs-on: ubuntu-latest
- outputs:
- IMAGE: ${{ steps.set_image.outputs.IMAGE }}
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: set_image
- run: cat .github/env >> $GITHUB_OUTPUT
- cmd-fmt:
- needs: [set-image]
- runs-on: ubuntu-latest
- container:
- image: ${{ needs.set-image.outputs.IMAGE }}
- steps:
- - name: Download repo
- uses: actions/checkout@v4
- - name: Install gh cli
- id: gh
- uses: ./.github/actions/set-up-gh
- with:
- pr-number: ${{ inputs.pr }}
- GH_TOKEN: ${{ github.token }}
- - name: Run FMT
- run: |
- # format toml.
- # since paritytech/ci-unified:bullseye-1.73.0-2023-11-01-v20231204 includes taplo-cli
- taplo format --config .config/taplo.toml
- - name: Report failure
- if: ${{ failure() }}
- run: gh pr comment ${{ inputs.pr }} --body "Command failed ❌ Run by @${{ github.actor }} for ${{ github.workflow }}
failed. See logs here ."
- env:
- RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_TOKEN: ${{ github.token }}
- - run: git pull --rebase
- - uses: stefanzweifel/git-auto-commit-action@v5
- with:
- commit_message: cmd-action - ${{ github.workflow }}
- branch: ${{ steps.gh.outputs.branch }}
- - name: Report succeed
- run: gh pr comment ${{ inputs.pr }} --body "Action completed 🎉🎉 Run by @${{ github.actor }} for ${{ github.workflow }}
completed 🎉. See logs here ."
- env:
- RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_TOKEN: ${{ github.token }}
diff --git a/.github/workflows/command-inform.yml b/.github/workflows/command-inform.yml
index 1c7323c998dfee3ba822f4bcb655c57a958fd80f..97346395319362b0455bcbcfbb490fa23e6b3b07 100644
--- a/.github/workflows/command-inform.yml
+++ b/.github/workflows/command-inform.yml
@@ -2,14 +2,21 @@ name: Inform of new command action
on:
issue_comment:
- types: [created]
+ types: [ created ]
jobs:
comment:
runs-on: ubuntu-latest
+ # Temporary disable the bot until the new command bot works properly
+ if: github.event.issue.pull_request && startsWith(github.event.comment.body, 'bot ') && false # disabled for now, until tested
steps:
- - name: Inform that the new command exist
- if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'bot ') }}
- run: gh pr comment ${{ github.event.issue.number }} --body 'We are migrating this bot to be a GitHub Action Please, see the documentation on how to use it '
- env:
- GH_TOKEN: ${{ github.token }}
+ - name: Inform that the new command exist
+ uses: actions/github-script@v7
+ with:
+ script: |
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: 'We have migrated the command bot to GHA Please, see the new usage instructions here . Soon the old commands will be disabled.'
+ })
\ No newline at end of file
diff --git a/.github/workflows/command-prdoc.yml b/.github/workflows/command-prdoc.yml
new file mode 100644
index 0000000000000000000000000000000000000000..aa9de9474a7b434deaab92821ab3b9bdad4b82e6
--- /dev/null
+++ b/.github/workflows/command-prdoc.yml
@@ -0,0 +1,84 @@
+name: Command PrDoc
+
+on:
+ workflow_dispatch:
+ inputs:
+ pr:
+ type: number
+ description: Number of the Pull Request
+ required: true
+ bump:
+ type: choice
+ description: Default bump level for all crates
+ default: "TODO"
+ required: true
+ options:
+ - "TODO"
+ - "no change"
+ - "patch"
+ - "minor"
+ - "major"
+ audience:
+ type: choice
+ description: Audience of the PrDoc
+ default: "TODO"
+ required: true
+ options:
+ - "TODO"
+ - "Runtime Dev"
+ - "Runtime User"
+ - "Node Dev"
+ - "Node User"
+ overwrite:
+ type: choice
+ description: Overwrite existing PrDoc
+ default: "true"
+ required: true
+ options:
+ - "true"
+ - "false"
+
+concurrency:
+ group: command-prdoc
+ cancel-in-progress: true
+
+jobs:
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
+
+ cmd-prdoc:
+ needs: [preflight]
+ runs-on: ubuntu-latest
+ timeout-minutes: 20
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ permissions:
+ contents: write
+ pull-requests: write
+ steps:
+ - name: Download repo
+ uses: actions/checkout@v4
+ - name: Install gh cli
+ id: gh
+ uses: ./.github/actions/set-up-gh
+ with:
+ pr-number: ${{ inputs.pr }}
+ GH_TOKEN: ${{ github.token }}
+ - name: Generate PrDoc
+ run: |
+ python3 -m pip install -q cargo-workspace PyGithub whatthepatch pyyaml toml
+
+ python3 .github/scripts/generate-prdoc.py --pr "${{ inputs.pr }}" --bump "${{ inputs.bump }}" --audience "${{ inputs.audience }}" --force "${{ inputs.overwrite }}"
+
+ - name: Report failure
+ if: ${{ failure() }}
+ run: gh pr comment ${{ inputs.pr }} --body "Command failed ❌ Run by @${{ github.actor }} for ${{ github.workflow }}
failed. See logs here ."
+ env:
+ RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
+ GH_TOKEN: ${{ github.token }}
+ - name: Push Commit
+ uses: stefanzweifel/git-auto-commit-action@v5
+ with:
+ commit_message: Add PrDoc (auto generated)
+ branch: ${{ steps.gh.outputs.branch }}
+ file_pattern: 'prdoc/*.prdoc'
diff --git a/.github/workflows/command-update-ui.yml b/.github/workflows/command-update-ui.yml
deleted file mode 100644
index 9b9c45c5c0b9d78f0287b8d00314e0c58fff0c69..0000000000000000000000000000000000000000
--- a/.github/workflows/command-update-ui.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-name: Command Update UI
-
-on:
- workflow_dispatch:
- inputs:
- pr:
- description: Number of the Pull Request
- required: true
- rust-version:
- description: Version of rust. Example 1.70
- required: false
-
-jobs:
- set-image:
- runs-on: ubuntu-latest
- outputs:
- IMAGE: ${{ steps.set_image.outputs.IMAGE }}
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: set_image
- run: cat .github/env >> $GITHUB_OUTPUT
- cmd-update-ui:
- needs: [set-image]
- runs-on: arc-runners-polkadot-sdk-beefy
- container:
- image: ${{ needs.set-image.outputs.IMAGE }}
- steps:
- - name: Download repo
- uses: actions/checkout@v4
- - name: Install gh cli
- id: gh
- uses: ./.github/actions/set-up-gh
- with:
- pr-number: ${{ inputs.pr }}
- GH_TOKEN: ${{ github.token }}
- - name: Run update-ui
- run: |
- "./scripts/update-ui-tests.sh" "${{ inputs.rust-version }}"
- - name: Report failure
- if: ${{ failure() }}
- run: gh pr comment ${{ inputs.pr }} --body "Command failed ❌ Run by @${{ github.actor }} for ${{ github.workflow }}
failed. See logs here ."
- env:
- RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_TOKEN: ${{ github.token }}
- - run: git pull --rebase
- - uses: stefanzweifel/git-auto-commit-action@v5
- with:
- commit_message: cmd-action - ${{ github.workflow }}
- branch: ${{ steps.gh.outputs.branch }}
- - name: Report succeed
- run: gh pr comment ${{ inputs.pr }} --body "Action completed 🎉🎉 Run by @${{ github.actor }} for ${{ github.workflow }}
completed 🎉. See logs here ."
- env:
- RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_TOKEN: ${{ github.token }}
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
new file mode 100644
index 0000000000000000000000000000000000000000..514bac3973bf76dbab6a8c246054400d3fb1c4e9
--- /dev/null
+++ b/.github/workflows/docs.yml
@@ -0,0 +1,130 @@
+name: Docs
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ types: [opened, synchronize, reopened, ready_for_review, labeled]
+ merge_group:
+
+concurrency:
+ group: ${{ github.ref }}
+ cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
+
+jobs:
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
+
+ test-rustdoc:
+ runs-on: arc-runners-polkadot-sdk-beefy
+ needs: [preflight]
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - uses: actions/checkout@v4
+ - run: forklift cargo doc --workspace --all-features --no-deps
+ env:
+ SKIP_WASM_BUILD: 1
+ test-doc:
+ runs-on: arc-runners-polkadot-sdk-beefy
+ needs: [preflight]
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - uses: actions/checkout@v4
+ - run: forklift cargo test --doc --workspace
+ env:
+ RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings"
+
+ build-rustdoc:
+ runs-on: arc-runners-polkadot-sdk-beefy
+ needs: [preflight, test-rustdoc]
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - uses: actions/checkout@v4
+ - run: forklift cargo doc --all-features --workspace --no-deps
+ env:
+ SKIP_WASM_BUILD: 1
+ RUSTDOCFLAGS: "-Dwarnings --default-theme=ayu --html-in-header ./docs/sdk/assets/header.html --extend-css ./docs/sdk/assets/theme.css --html-after-content ./docs/sdk/assets/after-content.html"
+ - run: rm -f ./target/doc/.lock
+ - run: mv ./target/doc ./crate-docs
+ - name: Inject Simple Analytics script
+ run: |
+ script_content=" "
+ docs_dir="./crate-docs"
+
+ inject_simple_analytics() {
+ find "$1" -name '*.html' | xargs -I {} -P "$(nproc)" bash -c 'file="{}"; echo "Adding Simple Analytics script to $file"; sed -i "s||'"$2"'|" "$file";'
+ }
+
+ inject_simple_analytics "$docs_dir" "$script_content"
+ - run: echo " " > ./crate-docs/index.html
+ - uses: actions/upload-artifact@v4
+ with:
+ name: ${{ github.sha }}-doc
+ path: ./crate-docs/
+ retention-days: 1
+ if-no-files-found: error
+
+ build-implementers-guide:
+ runs-on: ubuntu-latest
+ container:
+ image: paritytech/mdbook-utils:e14aae4a-20221123
+ options: --user root
+ steps:
+ - uses: actions/checkout@v4
+ - run: mdbook build ./polkadot/roadmap/implementers-guide
+ - run: mkdir -p artifacts
+ - run: mv polkadot/roadmap/implementers-guide/book artifacts/
+ - uses: actions/upload-artifact@v4
+ with:
+ name: ${{ github.sha }}-guide
+ path: ./artifacts/
+ retention-days: 1
+ if-no-files-found: error
+
+ publish-rustdoc:
+ if: github.ref == 'refs/heads/master'
+ runs-on: ubuntu-latest
+ environment: subsystem-benchmarks
+ needs: [build-rustdoc, build-implementers-guide]
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ ref: gh-pages
+ - uses: actions/create-github-app-token@v1
+ id: app-token
+ with:
+ app-id: ${{ secrets.POLKADOTSDK_GHPAGES_APP_ID }}
+ private-key: ${{ secrets.POLKADOTSDK_GHPAGES_APP_KEY }}
+ - name: Ensure destination dir does not exist
+ run: |
+ rm -rf book/
+ rm -rf ${REF_NAME}
+ env:
+ REF_NAME: ${{ github.head_ref || github.ref_name }}
+ - name: Download rustdocs
+ uses: actions/download-artifact@v4
+ with:
+ name: ${{ github.sha }}-doc
+ path: ${{ github.head_ref || github.ref_name }}
+ - name: Download guide
+ uses: actions/download-artifact@v4
+ with:
+ name: ${{ github.sha }}-guide
+ path: /tmp
+ - run: mkdir -p book
+ - name: Move book files
+ run: mv /tmp/book/html/* book/
+ - name: Push to GH-Pages branch
+ uses: github-actions-x/commit@v2.9
+ with:
+ github-token: ${{ steps.app-token.outputs.token }}
+ push-branch: "gh-pages"
+ commit-message: "___Updated docs for ${{ github.head_ref || github.ref_name }}___"
+ force-add: "true"
+ files: ${{ github.head_ref || github.ref_name }}/ book/
+ name: devops-parity
+ email: devops-team@parity.io
diff --git a/.github/workflows/fork-sync-action.yml b/.github/workflows/fork-sync-action.yml
new file mode 100644
index 0000000000000000000000000000000000000000..69e9e93bf54b023330232c0fe5df0430832a6e2b
--- /dev/null
+++ b/.github/workflows/fork-sync-action.yml
@@ -0,0 +1,20 @@
+# This Workflow is not supposed to run in the paritytech/polkadot-sdk repo.
+# This Workflow is supposed to run only in the forks of the repo,
+# paritytech-release/polkadot-sdk specifically,
+# to automatically maintain the critical fork synced with the upstream.
+# This Workflow should be always disabled in the paritytech/polkadot-sdk repo.
+
+name: Sync the forked repo with the upstream
+on:
+ schedule:
+ - cron: "0 0/4 * * *"
+ workflow_dispatch:
+
+jobs:
+ job_sync_branches:
+ uses: paritytech-release/sync-workflows/.github/workflows/sync-with-upstream.yml@latest
+ with:
+ fork_writer_app_id: ${{ vars.UPSTREAM_CONTENT_SYNC_APP_ID}}
+ fork_owner: ${{ vars.RELEASE_ORG}}
+ secrets:
+ fork_writer_app_key: ${{ secrets.UPSTREAM_CONTENT_SYNC_APP_KEY }}
diff --git a/.github/workflows/misc-sync-templates.yml b/.github/workflows/misc-sync-templates.yml
index d8027014863936ffd6c6a217f282dfa45bc2edd7..658da4451dc2e05da218848c7ad1e26dbf52ef21 100644
--- a/.github/workflows/misc-sync-templates.yml
+++ b/.github/workflows/misc-sync-templates.yml
@@ -18,11 +18,10 @@ on:
# A manual dispatch for now - automatic on releases later.
workflow_dispatch:
inputs:
- crate_release_version:
- description: 'A release version to use, e.g. 1.9.0'
+ stable_release_branch:
+ description: 'Stable release branch, e.g. stable2407'
required: true
-
jobs:
sync-templates:
runs-on: ubuntu-latest
@@ -41,10 +40,10 @@ jobs:
run: |
git config --global user.name "Template Bot"
git config --global user.email "163342540+paritytech-polkadotsdk-templatebot[bot]@users.noreply.github.com"
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
path: polkadot-sdk
- ref: "release-crates-io-v${{ github.event.inputs.crate_release_version }}"
+ ref: "${{ github.event.inputs.stable_release_branch }}"
- name: Generate a token for the template repository
id: app_token
uses: actions/create-github-app-token@v1.9.3
@@ -53,7 +52,7 @@ jobs:
repositories: "polkadot-sdk-${{ matrix.template }}-template"
app-id: ${{ secrets.TEMPLATE_APP_ID }}
private-key: ${{ secrets.TEMPLATE_APP_KEY }}
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
repository: "paritytech/polkadot-sdk-${{ matrix.template }}-template"
path: "${{ env.template-path }}"
@@ -69,11 +68,11 @@ jobs:
protobuf-compiler
rustup target add wasm32-unknown-unknown
rustup component add rustfmt clippy rust-src
-
+
# 2. Yanking the template out of the monorepo workspace.
- - name: Use psvm to replace git references with released creates.
- run: find . -type f -name 'Cargo.toml' -exec psvm -o -v ${{ github.event.inputs.crate_release_version }} -p {} \;
+ - name: Replace dev-dependencies path references with workspace references
+ run: find . -type f -name 'Cargo.toml' -exec sed -i'' -E "s/path = \"\.\.\/.*\"/workspace = true/g" {} \;
working-directory: polkadot-sdk/templates/${{ matrix.template }}/
- name: Create a new workspace Cargo.toml
run: |
@@ -81,7 +80,7 @@ jobs:
[workspace.package]
license = "MIT-0"
authors = ["Parity Technologies "]
- homepage = "https://substrate.io"
+ homepage = "https://paritytech.github.io/polkadot-sdk/"
[workspace]
members = [
@@ -90,7 +89,12 @@ jobs:
"runtime",
]
resolver = "2"
+
+ [workspace.dependencies]
EOF
+
+ echo "$(toml get -r ./runtime/Cargo.toml 'package.name') = { path = \"./runtime\", default-features = false }" >> Cargo.toml
+ echo "$(toml get -r ./pallets/template/Cargo.toml 'package.name') = { path = \"./pallets/template\", default-features = false }" >> Cargo.toml
shell: bash
working-directory: polkadot-sdk/templates/${{ matrix.template }}/
- name: Update workspace configuration
@@ -116,9 +120,12 @@ jobs:
- name: Copy over the new changes
run: |
cp -r polkadot-sdk/templates/${{ matrix.template }}/* "${{ env.template-path }}/"
+
+ - name: Run psvm on monorepo workspace dependencies
+ run: psvm -o -v ${{ github.event.inputs.stable_release_branch }} -p ./Cargo.toml
+ working-directory: polkadot-sdk/
- name: Copy over required workspace dependencies
run: |
- echo -e "\n[workspace.dependencies]" >> Cargo.toml
set +e
# If a workspace dependency is required..
while cargo tree --depth 1 --prefix none --no-dedupe 2>&1 | grep 'was not found in `workspace.dependencies`'; do
@@ -150,18 +157,22 @@ jobs:
timeout-minutes: 90
- name: Create PR on failure
if: failure() && steps.check-compilation.outcome == 'failure'
- uses: peter-evans/create-pull-request@5b4a9f6a9e2af26e5f02351490b90d01eb8ec1e5 # v5
+ uses: peter-evans/create-pull-request@8867c4aba1b742c39f8d0ba35429c2dfa4b6cb20 # v5
with:
path: "${{ env.template-path }}"
token: ${{ steps.app_token.outputs.token }}
add-paths: |
./*
- title: "[Don't merge] Update the ${{ matrix.template }} template to ${{ github.event.inputs.crate_release_version }}"
+ title: "[Don't merge] Update the ${{ matrix.template }} template to ${{ github.event.inputs.stable_release_branch }}"
body: "The template has NOT been successfully built and needs to be inspected."
- branch: "update-template/${{ github.event.inputs.crate_release_version }}"
- - name: Push changes
- run: |
- git add -A .
- git commit --allow-empty -m "Update to ${{ github.event.inputs.crate_release_version }} triggered by ${{ github.event_name }}"
- git push
- working-directory: "${{ env.template-path }}"
+ branch: "update-template/${{ github.event.inputs.stable_release_branch }}"
+ - name: Create PR on success
+ uses: peter-evans/create-pull-request@8867c4aba1b742c39f8d0ba35429c2dfa4b6cb20 # v5
+ with:
+ path: "${{ env.template-path }}"
+ token: ${{ steps.app_token.outputs.token }}
+ add-paths: |
+ ./*
+ title: "Update the ${{ matrix.template }} template to ${{ github.event.inputs.stable_release_branch }}"
+ body: "This synchronizes the template to the ${{ github.event.inputs.stable_release_branch }} branch."
+ branch: "update-template/${{ github.event.inputs.stable_release_branch }}"
diff --git a/.github/workflows/misc-update-wishlist-leaderboard.yml b/.github/workflows/misc-update-wishlist-leaderboard.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3261687176746841a57bf2d247aeb6f596310c8b
--- /dev/null
+++ b/.github/workflows/misc-update-wishlist-leaderboard.yml
@@ -0,0 +1,37 @@
+name: Update wishlist leaderboard
+
+on:
+ schedule:
+ # Run every 3 hours
+ - cron: '0 */3 * * *'
+
+permissions:
+ contents: read
+ issues: write
+
+jobs:
+ update-wishlist-leaderboard:
+ if: github.repository == 'paritytech/polkadot-sdk'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.x'
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install PyGithub
+ - name: Update developer wishlist
+ env:
+ GH_TOKEN: ${{ github.token }}
+ WISHLIST_REPOSITORY: "paritytech/polkadot-sdk"
+ WISHLIST_ISSUE_NUMBER: "3900"
+ run: python .github/scripts/update-wishlist-leaderboard.py
+ - name: Update user wishlist
+ env:
+ GH_TOKEN: ${{ github.token }}
+ WISHLIST_REPOSITORY: "paritytech/polkadot-sdk"
+ WISHLIST_ISSUE_NUMBER: "3901"
+ run: python .github/scripts/update-wishlist-leaderboard.py
diff --git a/.github/workflows/publish-check-crates.yml b/.github/workflows/publish-check-crates.yml
index 33cf9316920048c65c70376557586d905fd7c9a6..a5af041185728a3bba5bb9379d105a44efe46b29 100644
--- a/.github/workflows/publish-check-crates.yml
+++ b/.github/workflows/publish-check-crates.yml
@@ -8,11 +8,15 @@ on:
types: [opened, synchronize, reopened, ready_for_review]
merge_group:
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
jobs:
check-publish:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: Rust Cache
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
@@ -20,7 +24,7 @@ jobs:
cache-on-failure: true
- name: install parity-publish
- run: cargo install parity-publish@0.6.0
+ run: cargo install parity-publish@0.8.0 --locked -q
- name: parity-publish check
run: parity-publish --color always check --allow-unpublished
diff --git a/.github/workflows/publish-claim-crates.yml b/.github/workflows/publish-claim-crates.yml
index 08c50638267ba3be596b5b563433fccf28c2652b..f9bc6ce4daeaa8b3c2f4ce9341fe03d5f9247188 100644
--- a/.github/workflows/publish-claim-crates.yml
+++ b/.github/workflows/publish-claim-crates.yml
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
environment: master
steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: Rust Cache
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
@@ -18,7 +18,7 @@ jobs:
cache-on-failure: true
- name: install parity-publish
- run: cargo install parity-publish@0.6.0
+ run: cargo install parity-publish@0.8.0 --locked -q
- name: parity-publish claim
env:
diff --git a/.github/workflows/publish-subsystem-benchmarks.yml b/.github/workflows/publish-subsystem-benchmarks.yml
deleted file mode 100644
index 1a726b669e9094e8be53ef5a1ddb1b3198210d33..0000000000000000000000000000000000000000
--- a/.github/workflows/publish-subsystem-benchmarks.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-# The actions takes json file as input and runs github-action-benchmark for it.
-
-on:
- workflow_dispatch:
- inputs:
- benchmark-data-dir-path:
- description: "Path to the benchmark data directory"
- required: true
- type: string
- output-file-path:
- description: "Path to the benchmark data file"
- required: true
- type: string
-
-jobs:
- subsystem-benchmarks:
- runs-on: ubuntu-latest
- environment: subsystem-benchmarks
- steps:
- - name: Validate inputs
- run: |
- echo "${{ github.event.inputs.benchmark-data-dir-path }}" | grep -P '^[a-z\-]'
- echo "${{ github.event.inputs.output-file-path }}" | grep -P '^[a-z\-]+\.json'
-
- - name: Checkout Sources
- uses: actions/checkout@v4.1.2
- with:
- fetch-depth: 0
- ref: "gh-pages"
-
- - name: Copy bench results
- id: step_one
- run: |
- cp bench/gitlab/${{ github.event.inputs.output-file-path }} ${{ github.event.inputs.output-file-path }}
-
- - name: Switch branch
- id: step_two
- run: |
- git checkout master --
-
- - uses: actions/create-github-app-token@v1
- id: app-token
- with:
- app-id: ${{ secrets.POLKADOTSDK_GHPAGES_APP_ID }}
- private-key: ${{ secrets.POLKADOTSDK_GHPAGES_APP_KEY }}
-
- - name: Store benchmark result
- uses: benchmark-action/github-action-benchmark@v1
- with:
- tool: "customSmallerIsBetter"
- name: ${{ github.event.inputs.benchmark-data-dir-path }}
- output-file-path: ${{ github.event.inputs.output-file-path }}
- benchmark-data-dir-path: "bench/${{ github.event.inputs.benchmark-data-dir-path }}"
- github-token: ${{ steps.app-token.outputs.token }}
- auto-push: true
diff --git a/.github/workflows/release-10_rc-automation.yml b/.github/workflows/release-10_rc-automation.yml
index 7231a8b75886d04ce18bb89fcef99029e3ab14c6..195c14dbd5ab9a102787221f19cecc6319bf46af 100644
--- a/.github/workflows/release-10_rc-automation.yml
+++ b/.github/workflows/release-10_rc-automation.yml
@@ -1,13 +1,18 @@
name: Release - RC automation
on:
- push:
- branches:
- # Catches release-polkadot-v1.2.3, release-v1.2.3-rc1, etc
- - release-v[0-9]+.[0-9]+.[0-9]+*
- - release-cumulus-v[0-9]+*
- - release-polkadot-v[0-9]+*
+ # TODO: Activate it and delete old branches patterns, when the release process from stable is setteled
+ #push:
+ # branches:
+ # # Catches release-polkadot-v1.2.3, release-v1.2.3-rc1, etc
+ # - release-v[0-9]+.[0-9]+.[0-9]+*
+ # - release-cumulus-v[0-9]+*
+ # - release-polkadot-v[0-9]+*
+ # - stable
workflow_dispatch:
+ inputs:
+ version:
+ description: Current release/rc version in format vX.X.X
jobs:
tag_rc:
@@ -21,32 +26,23 @@ jobs:
steps:
- name: Checkout sources
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
with:
fetch-depth: 0
- - name: Get release product
- id: get_rel_product
- shell: bash
- run: |
- current_branch=$(git branch --show-current)
- echo "Current branch: $current_branch"
- if [[ "$current_branch" =~ "release-polkadot" ]]; then
- echo "product=polkadot" >> $GITHUB_OUTPUT
- elif [[ "$current_branch" =~ "release-cumulus" ]]; then
- echo "product=polkadot-parachain" >> $GITHUB_OUTPUT
- fi
-
-
- - name: Compute next rc tag for polkadot
- if: ${{ steps.get_rel_product.outputs.product == 'polkadot' }}
- id: compute_tag_polkadot
+ - name: Compute next rc tag
+ # if: ${{ steps.get_rel_product.outputs.product == 'polkadot' }}
+ id: compute_tag
shell: bash
run: |
. ./.github/scripts/common/lib.sh
# Get last rc tag if exists, else set it to {version}-rc1
- version=$(get_version_from_ghref ${GITHUB_REF})
+ if [[ -z "${{ inputs.version }}" ]]; then
+ version=v$(get_polkadot_node_version_from_code)
+ else
+ version=$(filter_version_from_input ${{ inputs.version }})
+ fi
echo "$version"
echo "version=$version" >> $GITHUB_OUTPUT
@@ -61,28 +57,6 @@ jobs:
echo "first_rc=true" >> $GITHUB_OUTPUT
fi
- - name: Compute next rc tag for polkadot-parachain
- if: ${{ steps.get_rel_product.outputs.product == 'polkadot-parachain' }}
- id: compute_tag_cumulus
- shell: bash
- run: |
- . ./.github/scripts/common/lib.sh
-
- # Get last rc tag if exists, else set it to polkadot-parachains-{version}-rc1
- version=$(get_version_from_ghref ${GITHUB_REF})
- echo "$version"
- echo "version=$version" >> $GITHUB_OUTPUT
-
- last_rc=$(get_latest_rc_tag $version polkadot-parachain)
- if [ -n "$last_rc" ]; then
- suffix=$(increment_rc_tag $last_rc)
- echo "new_tag=polkadot-parachains-$version-rc$suffix" >> $GITHUB_OUTPUT
- echo "first_rc=false" >> $GITHUB_OUTPUT
- else
- echo "new_tag=polkadot-parachain-$version-rc1" >> $GITHUB_OUTPUT
- echo "first_rc=true" >> $GITHUB_OUTPUT
- fi
-
- name: Apply new tag
uses: tvdias/github-tagger@ed7350546e3e503b5e942dffd65bc8751a95e49d # v0.0.2
with:
@@ -90,17 +64,7 @@ jobs:
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token
# RELEASE_BRANCH_TOKEN requires public_repo OAuth scope
repo-token: "${{ secrets.RELEASE_BRANCH_TOKEN }}"
- tag: ${{ steps.compute_tag_polkadot.outputs.new_tag || steps.compute_tag_cumulus.outputs.new_tag }}
-
- # - id: create-issue
- # uses: JasonEtco/create-an-issue@e27dddc79c92bc6e4562f268fffa5ed752639abd # v2.9.1
- # # Only create the issue if it's the first release candidate
- # if: steps.compute_tag.outputs.first_rc == 'true'
- # env:
- # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- # VERSION: ${{ steps.compute_tag.outputs.version }}
- # with:
- # filename: .github/ISSUE_TEMPLATE/release.md
+ tag: ${{ steps.compute_tag.outputs.new_tag }}
- name: Send Matrix message to ${{ matrix.channel.name }}
uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
@@ -110,4 +74,4 @@ jobs:
access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
server: m.parity.io
message: |
- Release process for polkadot ${{ steps.compute_tag_polkadot.outputs.new_tag || steps.compute_tag_cumulus.outputs.new_tag }} has been started.
+ Release process for polkadot ${{ steps.compute_tag.outputs.new_tag }} has been started.
diff --git a/.github/workflows/release-30_publish_release_draft.yml b/.github/workflows/release-30_publish_release_draft.yml
index 20492f2d3a9104fd08af663d19aed9a301918e6c..dd6a111d67e815077c0764368a63d29caf93a46b 100644
--- a/.github/workflows/release-30_publish_release_draft.yml
+++ b/.github/workflows/release-30_publish_release_draft.yml
@@ -26,6 +26,7 @@ jobs:
uses: "./.github/workflows/release-srtool.yml"
with:
excluded_runtimes: "substrate-test bp cumulus-test kitchensink minimal-template parachain-template penpal polkadot-test seedling shell frame-try sp solochain-template"
+ build_opts: "--features on-chain-release-build"
build-binaries:
runs-on: ubuntu-latest
@@ -35,7 +36,7 @@ jobs:
binary: [ [frame-omni-bencher, frame-omni-bencher], [staging-chain-spec-builder, chain-spec-builder] ]
steps:
- name: Checkout sources
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.0.0
- name: Install protobuf-compiler
run: |
@@ -62,10 +63,10 @@ jobs:
asset_upload_url: ${{ steps.create-release.outputs.upload_url }}
steps:
- name: Checkout
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.0.0
- name: Download artifacts
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
+ uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
- name: Prepare tooling
run: |
@@ -133,10 +134,10 @@ jobs:
steps:
- name: Checkout sources
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.0.0
- name: Download artifacts
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
+ uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
- name: Get runtime info
env:
@@ -166,7 +167,7 @@ jobs:
steps:
- name: Download artifacts
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
+ uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
name: ${{ matrix.binary }}
diff --git a/.github/workflows/release-50_publish-docker.yml b/.github/workflows/release-50_publish-docker.yml
index 4679f58578f7906b75e4a3d6d623ebc1d55df40d..72e01a4833e254f0c329465a190206268397382e 100644
--- a/.github/workflows/release-50_publish-docker.yml
+++ b/.github/workflows/release-50_publish-docker.yml
@@ -45,7 +45,7 @@ on:
type: string
default: docker.io
- # The owner is often the same than the Docker Hub username but does ont have to be.
+ # The owner is often the same as the Docker Hub username but does ont have to be.
# In our case, it is not.
owner:
description: Owner of the container image repo
@@ -58,6 +58,10 @@ on:
default: v0.9.18
required: true
+ stable_tag:
+ description: Tag matching the actual stable release version in the format stableYYMM or stableYYMM-X for patch releases
+ required: true
+
permissions:
contents: write
@@ -71,16 +75,43 @@ env:
# EVENT_ACTION: ${{ github.event.action }}
EVENT_NAME: ${{ github.event_name }}
IMAGE_TYPE: ${{ inputs.image_type }}
- VERSION: ${{ inputs.version }}
jobs:
+ validate-inputs:
+ runs-on: ubuntu-latest
+ outputs:
+ version: ${{ steps.validate_inputs.outputs.VERSION }}
+ release_id: ${{ steps.validate_inputs.outputs.RELEASE_ID }}
+ stable_tag: ${{ steps.validate_inputs.outputs.stable_tag }}
+
+ steps:
+ - name: Checkout sources
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
+
+ - name: Validate inputs
+ id: validate_inputs
+ run: |
+ . ./.github/scripts/common/lib.sh
+
+ VERSION=$(filter_version_from_input "${{ inputs.version }}")
+ echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT
+
+ RELEASE_ID=$(check_release_id "${{ inputs.release_id }}")
+ echo "RELEASE_ID=${RELEASE_ID}" >> $GITHUB_OUTPUT
+
+ echo "Release ID: $RELEASE_ID"
+
+ STABLE_TAG=$(validate_stable_tag ${{ inputs.stable_tag }})
+ echo "stable_tag=${STABLE_TAG}" >> $GITHUB_OUTPUT
+
fetch-artifacts: # this job will be triggered for the polkadot-parachain rc and release or polkadot rc image build
if: ${{ inputs.binary == 'polkadot-parachain' || inputs.binary == 'chain-spec-builder' || inputs.image_type == 'rc' }}
runs-on: ubuntu-latest
+ needs: [validate-inputs]
steps:
- name: Checkout sources
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
#TODO: this step will be needed when automated triggering will work
#this step runs only if the workflow is triggered automatically when new release is published
@@ -102,9 +133,7 @@ jobs:
run: |
. ./.github/scripts/common/lib.sh
- VERSION=$(filter_version_from_input "${{ inputs.version }}")
- echo "VERSION=${VERSION}" >> $GITHUB_ENV
-
+ VERSION="${{ needs.validate-inputs.outputs.VERSION }}"
fetch_release_artifacts_from_s3
- name: Fetch chain-spec-builder rc artifacts or release artifacts based on release id
@@ -112,7 +141,8 @@ jobs:
if: ${{ env.EVENT_NAME == 'workflow_dispatch' && inputs.binary == 'chain-spec-builder' }}
run: |
. ./.github/scripts/common/lib.sh
- RELEASE_ID=$(check_release_id "${{ inputs.release_id }}")
+
+ RELEASE_ID="${{ needs.validate-inputs.outputs.RELEASE_ID }}"
fetch_release_artifacts
- name: Upload artifacts
@@ -124,15 +154,15 @@ jobs:
build-container: # this job will be triggered for the polkadot-parachain rc and release or polkadot rc image build
if: ${{ inputs.binary == 'polkadot-parachain' || inputs.binary == 'chain-spec-builder' || inputs.image_type == 'rc' }}
runs-on: ubuntu-latest
- needs: fetch-artifacts
+ needs: [fetch-artifacts, validate-inputs]
environment: release
steps:
- name: Checkout sources
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: Download artifacts
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
+ uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
- name: Check sha256 ${{ env.BINARY }}
if: ${{ inputs.binary == 'polkadot-parachain' || inputs.binary == 'polkadot' }}
@@ -157,8 +187,7 @@ jobs:
run: |
. ./.github/scripts/common/lib.sh
- RELEASE_ID=$(check_release_id "${{ inputs.release_id }}")
- release=release-$RELEASE_ID && \
+ release="release-${{ needs.validate-inputs.outputs.RELEASE_ID }}" && \
echo "release=${release}" >> $GITHUB_OUTPUT
commit=$(git rev-parse --short HEAD) && \
@@ -174,11 +203,17 @@ jobs:
id: fetch_release_refs
run: |
chmod a+rx $BINARY
- [[ $BINARY != 'chain-spec-builder' ]] && VERSION=$(./$BINARY --version | awk '{ print $2 }' )
- release=$( echo $VERSION | cut -f1 -d- )
+ if [[ $BINARY != 'chain-spec-builder' ]]; then
+ VERSION=$(./$BINARY --version | awk '{ print $2 }' )
+ release=$( echo $VERSION | cut -f1 -d- )
+ else
+ release=$(echo ${{ needs.validate-inputs.outputs.VERSION }} | sed 's/^v//')
+ fi
+
echo "tag=latest" >> $GITHUB_OUTPUT
echo "release=${release}" >> $GITHUB_OUTPUT
+ echo "stable=${{ needs.validate-inputs.outputs.stable_tag }}" >> $GITHUB_OUTPUT
- name: Build Injected Container image for polkadot rc or chain-spec-builder
if: ${{ env.BINARY == 'polkadot' || env.BINARY == 'chain-spec-builder' }}
@@ -209,7 +244,7 @@ jobs:
./docker/scripts/build-injected.sh
- name: Login to Dockerhub
- uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
+ uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
username: ${{ secrets.CUMULUS_DOCKERHUB_USERNAME }}
password: ${{ secrets.CUMULUS_DOCKERHUB_TOKEN }}
@@ -256,17 +291,17 @@ jobs:
build-polkadot-release-container: # this job will be triggered for polkadot release build
if: ${{ inputs.binary == 'polkadot' && inputs.image_type == 'release' }}
runs-on: ubuntu-latest
- needs: fetch-latest-debian-package-version
+ needs: [fetch-latest-debian-package-version, validate-inputs]
environment: release
steps:
- name: Checkout sources
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
+ uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
- name: Cache Docker layers
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3.3.3
+ uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
@@ -274,7 +309,7 @@ jobs:
${{ runner.os }}-buildx-
- name: Login to Docker Hub
- uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
+ uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
username: ${{ secrets.POLKADOT_DOCKERHUB_USERNAME }}
password: ${{ secrets.POLKADOT_DOCKERHUB_TOKEN }}
@@ -287,13 +322,14 @@ jobs:
- name: Build and push
id: docker_build
- uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0
+ uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6.7.0
with:
push: true
file: docker/dockerfiles/polkadot/polkadot_injected_debian.Dockerfile
# TODO: The owner should be used below but buildx does not resolve the VARs
# TODO: It would be good to get rid of this GHA that we don't really need.
tags: |
+ parity/polkadot:${{ needs.validate-inputs.outputs.stable_tag }}
parity/polkadot:latest
parity/polkadot:${{ needs.fetch-latest-debian-package-version.outputs.polkadot_container_tag }}
build-args: |
diff --git a/.github/workflows/release-branchoff-stable.yml b/.github/workflows/release-branchoff-stable.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c4c50f5398e819fde478f333d00b10b176a7d507
--- /dev/null
+++ b/.github/workflows/release-branchoff-stable.yml
@@ -0,0 +1,105 @@
+name: Release - Branch off stable branch
+
+on:
+ workflow_dispatch:
+ inputs:
+ stable_version:
+ description: New stable version in the format stableYYMM
+ required: true
+ type: string
+
+ node_version:
+ description: Version of the polkadot node in the format vX.XX.X (e.g. 1.15.0)
+ required: true
+
+jobs:
+ # TODO: Activate this job when the pipeline is moved to the fork in the `paritytech-release` org
+ # check-workflow-can-run:
+ # uses: paritytech-release/sync-workflows/.github/workflows/check-syncronization.yml@latest
+
+
+ prepare-tooling:
+ runs-on: ubuntu-latest
+ outputs:
+ node_version: ${{ steps.validate_inputs.outputs.node_version }}
+ stable_version: ${{ steps.validate_inputs.outputs.stable_version }}
+
+ steps:
+ - name: Checkout sources
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
+
+ - name: Validate inputs
+ id: validate_inputs
+ run: |
+ . ./.github/scripts/common/lib.sh
+
+ node_version=$(filter_version_from_input "${{ inputs.node_version }}")
+ echo "node_version=${node_version}" >> $GITHUB_OUTPUT
+
+ stable_version=$(validate_stable_tag ${{ inputs.stable_version }})
+ echo "stable_version=${stable_version}" >> $GITHUB_OUTPUT
+
+ create-stable-branch:
+ # needs: [check-workflow-can-run, prepare-tooling]
+ needs: [prepare-tooling]
+ # if: needs. check-workflow-can-run.outputs.checks_passed == 'true'
+ runs-on: ubuntu-latest
+
+ env:
+ PGP_KMS_KEY: ${{ secrets.PGP_KMS_KEY }}
+ PGP_KMS_HASH: ${{ secrets.PGP_KMS_HASH }}
+ AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
+ STABLE_BRANCH_NAME: ${{ needs.prepare-tooling.outputs.stable_version }}
+
+ steps:
+ - name: Install pgpkkms
+ run: |
+ # Install pgpkms that is used to sign commits
+ pip install git+https://github.com/paritytech-release/pgpkms.git@5a8f82fbb607ea102d8c178e761659de54c7af69
+
+ - name: Checkout sources
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
+ with:
+ ref: master
+
+ - name: Import gpg keys
+ run: |
+ . ./.github/scripts/common/lib.sh
+
+ import_gpg_keys
+
+
+ - name: Config git
+ run: |
+ git config --global commit.gpgsign true
+ git config --global gpg.program /home/runner/.local/bin/pgpkms-git
+ git config --global user.name "ParityReleases"
+ git config --global user.email "release-team@parity.io"
+ git config --global user.signingKey "90BD75EBBB8E95CB3DA6078F94A4029AB4B35DAE"
+
+ - name: Create stable branch
+ run: |
+ git checkout -b "$STABLE_BRANCH_NAME"
+ git show-ref "$STABLE_BRANCH_NAME"
+
+ - name: Bump versions, reorder prdocs and push stable branch
+ run: |
+ . ./.github/scripts/release/release_lib.sh
+
+ NODE_VERSION="${{ needs.prepare-tooling.outputs.node_version }}"
+ set_version "\(NODE_VERSION[^=]*= \)\".*\"" $NODE_VERSION "polkadot/node/primitives/src/lib.rs"
+ commit_with_message "Bump node version to $NODE_VERSION in polkadot-cli"
+
+ SPEC_VERSION=$(get_spec_version $NODE_VERSION)
+ runtimes_list=$(get_filtered_runtimes_list)
+ set_spec_versions $SPEC_VERSION "${runtimes_list[@]}"
+
+ # TODO: clarify what to do with the polkadot-parachain binary
+ # Set new version for polkadot-parachain binary to match the polkadot node binary
+ # set_polkadot_parachain_binary_version $NODE_VERSION "cumulus/polkadot-parachain/Cargo.toml"
+
+ reorder_prdocs $NODE_VERSION
+
+ git push origin "$STABLE_BRANCH_NAME"
diff --git a/.github/workflows/release-check-runtimes.yml b/.github/workflows/release-check-runtimes.yml
index 0e5ad104766a89aaa678cc5436475d95e3ab76fd..6666c115562f3f422639e6d4fdde74d9b169b71d 100644
--- a/.github/workflows/release-check-runtimes.yml
+++ b/.github/workflows/release-check-runtimes.yml
@@ -35,7 +35,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repo
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: Get list
id: get-list
@@ -56,7 +56,7 @@ jobs:
steps:
- name: Checkout the repo
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: Fetch release artifacts based on release id
env:
diff --git a/.github/workflows/release-clobber-stable.yml b/.github/workflows/release-clobber-stable.yml
index 643c14daa15b1aa7501e27f272524e0ee010e781..0d2ce78ab7816835cf4fcbe7a0213a2a1ae47980 100644
--- a/.github/workflows/release-clobber-stable.yml
+++ b/.github/workflows/release-clobber-stable.yml
@@ -24,7 +24,7 @@ jobs:
AUDITED: audited
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
- name: Prechecks
run: |
diff --git a/.github/workflows/release-srtool.yml b/.github/workflows/release-srtool.yml
index 69a4bdbdda9ae87a188a23bceb9185d813424a98..83119dd4ed24363172c547b394f8a7d8e305e32b 100644
--- a/.github/workflows/release-srtool.yml
+++ b/.github/workflows/release-srtool.yml
@@ -5,15 +5,12 @@ env:
TOML_CLI_VERSION: 0.2.4
on:
- push:
- branches:
- - release-v[0-9]+.[0-9]+.[0-9]+*
- - release-cumulus-v[0-9]+*
- - release-polkadot-v[0-9]+*
workflow_call:
inputs:
excluded_runtimes:
type: string
+ build_opts:
+ type: string
outputs:
published_runtimes:
value: ${{ jobs.find-runtimes.outputs.runtime }}
@@ -31,7 +28,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
+ uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.0.0
with:
fetch-depth: 0
@@ -72,13 +69,15 @@ jobs:
matrix: ${{ fromJSON(needs.find-runtimes.outputs.runtime) }}
steps:
- - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
+ - uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.0.0
with:
fetch-depth: 0
- name: Srtool build
id: srtool_build
uses: chevdor/srtool-actions@v0.9.2
+ env:
+ BUILD_OPTS: ${{ inputs.build_opts }}
with:
chain: ${{ matrix.chain }}
runtime_dir: ${{ matrix.runtime_dir }}
diff --git a/.github/workflows/reusable-preflight.yml b/.github/workflows/reusable-preflight.yml
new file mode 100644
index 0000000000000000000000000000000000000000..71823a97ff2eb70206fd132541793dbc20dff799
--- /dev/null
+++ b/.github/workflows/reusable-preflight.yml
@@ -0,0 +1,131 @@
+# Reusable workflow to set various useful variables
+# and to perform checks and generate conditions for other workflows.
+# Currently it checks if any Rust (build-related) file is changed
+# and if the current (caller) workflow file is changed.
+# Example:
+#
+# jobs:
+# preflight:
+# uses: ./.github/workflows/reusable-preflight.yml
+# some-job:
+# needs: changes
+# if: ${{ needs.preflight.outputs.changes_rust }}
+# .......
+
+name: Preflight
+
+on:
+ workflow_call:
+ # Map the workflow outputs to job outputs
+ outputs:
+ changes_rust:
+ value: ${{ jobs.preflight.outputs.changes_rust }}
+ changes_currentWorkflow:
+ value: ${{ jobs.preflight.outputs.changes_currentWorkflow }}
+
+ IMAGE:
+ value: ${{ jobs.preflight.outputs.IMAGE }}
+ description: "CI image"
+ RUNNER:
+ value: ${{ jobs.preflight.outputs.RUNNER }}
+ description: |
+ Runner name.
+ By default we use spot machines that can be terminated at any time.
+ Merge queues use persistent runners to avoid kicking off from queue when the runner is terminated.
+ OLDLINUXRUNNER:
+ value: ${{ jobs.preflight.outputs.OLDLINUXRUNNER }}
+
+ SOURCE_REF_NAME:
+ value: ${{ jobs.preflight.outputs.SOURCE_REF_NAME }}
+ description: "Name of the current branch for `push` or source branch for `pull_request`"
+ COMMIT_SHA:
+ value: ${{ jobs.preflight.outputs.COMMIT_SHA }}
+ description: "Sha of the current commit for `push` or head of the source branch for `pull_request`"
+
+jobs:
+ preflight:
+ runs-on: ubuntu-latest
+ outputs:
+ changes_rust: ${{ steps.set_changes.outputs.rust_any_changed || steps.set_changes.outputs.currentWorkflow_any_changed }}
+ changes_currentWorkflow: ${{ steps.set_changes.outputs.currentWorkflow_any_changed }}
+
+ IMAGE: ${{ steps.set_image.outputs.IMAGE }}
+ RUNNER: ${{ steps.set_runner.outputs.RUNNER }}
+ OLDLINUXRUNNER: ${{ steps.set_runner.outputs.OLDLINUXRUNNER }}
+
+ SOURCE_REF_NAME: ${{ steps.set_vars.outputs.SOURCE_REF_NAME }}
+ COMMIT_SHA: ${{ steps.set_vars.outputs.COMMIT_SHA }}
+
+
+ steps:
+
+ - uses: actions/checkout@v4
+
+ #
+ # Set changes
+ #
+ - id: current_file
+ shell: bash
+ run: |
+ echo "currentWorkflowFile=$(echo ${{ github.workflow_ref }} | sed -nE "s/.*(\.github\/workflows\/[a-zA-Z0-9_-]*\.y[a]?ml)@refs.*/\1/p")" >> $GITHUB_OUTPUT
+ echo "currentActionDir=$(echo ${{ github.action_path }} | sed -nE "s/.*(\.github\/actions\/[a-zA-Z0-9_-]*)/\1/p")" >> $GITHUB_OUTPUT
+
+ - name: Set changes
+ id: set_changes
+ uses: tj-actions/changed-files@v45
+ with:
+ files_yaml: |
+ rust:
+ - '**/*'
+ - '!.github/**/*'
+ - '!prdoc/**/*'
+ - '!docs/**/*'
+ currentWorkflow:
+ - '${{ steps.current_file.outputs.currentWorkflowFile }}'
+ - '.github/workflows/reusable-preflight.yml'
+
+ #
+ # Set image
+ #
+ - name: Set image
+ id: set_image
+ shell: bash
+ run: cat .github/env >> $GITHUB_OUTPUT
+
+ #
+ # Set runner
+ #
+ # By default we use spot machines that can be terminated at any time.
+ # Merge queues use persistent runners to avoid kicking off from queue when the runner is terminated.
+ #
+ - id: set_runner
+ shell: bash
+ run: |
+ # Run merge queues on persistent runners
+ if [[ $GITHUB_REF_NAME == *"gh-readonly-queue"* ]]; then
+ echo "RUNNER=arc-runners-polkadot-sdk-beefy-persistent" >> $GITHUB_OUTPUT
+ echo "OLDLINUXRUNNER=oldlinux-persistent" >> $GITHUB_OUTPUT
+ else
+ echo "RUNNER=arc-runners-polkadot-sdk-beefy" >> $GITHUB_OUTPUT
+ echo "OLDLINUXRUNNER=oldlinux" >> $GITHUB_OUTPUT
+ fi
+
+ #
+ # Set vars
+ #
+ - id: set_vars
+ shell: bash
+ run: |
+ export BRANCH_NAME=${{ github.head_ref || github.ref_name }}
+ echo "SOURCE_REF_NAME=${BRANCH_NAME//\//-}" >> $GITHUB_OUTPUT
+ echo "COMMIT_SHA=${{ github.event.pull_request.head.sha || github.sha }}" >> $GITHUB_OUTPUT
+
+
+ - name: log
+ shell: bash
+ run: |
+ echo "workflow file: ${{ steps.current_file.outputs.currentWorkflowFile }}"
+ echo "Modified: ${{ steps.set_changes.outputs.modified_keys }}"
+ echo "github.ref: ${{ github.ref }}"
+ echo "github.ref_name: ${{ github.ref_name }}"
+ echo "github.sha: ${{ github.sha }}"
diff --git a/.github/workflows/review-bot.yml b/.github/workflows/review-bot.yml
index f1401406ae47afd3230cc163f35df0e3bcbac7b7..3dd5b1114813dbb2e151319293ade7ce44f4aae9 100644
--- a/.github/workflows/review-bot.yml
+++ b/.github/workflows/review-bot.yml
@@ -15,7 +15,6 @@ on:
jobs:
review-approvals:
runs-on: ubuntu-latest
- environment: master
steps:
- name: Generate token
id: app_token
@@ -30,7 +29,7 @@ jobs:
with:
artifact-name: pr_number
- name: "Evaluates PR reviews and assigns reviewers"
- uses: paritytech/review-bot@v2.4.0
+ uses: paritytech/review-bot@v2.6.0
with:
repo-token: ${{ steps.app_token.outputs.token }}
team-token: ${{ steps.app_token.outputs.token }}
diff --git a/.github/workflows/runtimes-matrix.json b/.github/workflows/runtimes-matrix.json
new file mode 100644
index 0000000000000000000000000000000000000000..102437876dafb207346ba9cce1de6935ed15c409
--- /dev/null
+++ b/.github/workflows/runtimes-matrix.json
@@ -0,0 +1,127 @@
+[
+ {
+ "name": "dev",
+ "package": "kitchensink-runtime",
+ "path": "substrate/frame",
+ "header": "substrate/HEADER-APACHE2",
+ "template": "substrate/.maintain/frame-weight-template.hbs",
+ "uri": null,
+ "is_relay": false
+ },
+ {
+ "name": "westend",
+ "package": "westend-runtime",
+ "path": "polkadot/runtime/westend",
+ "header": "polkadot/file_header.txt",
+ "template": "polkadot/xcm/pallet-xcm-benchmarks/template.hbs",
+ "uri": "wss://try-runtime-westend.polkadot.io:443",
+ "is_relay": true
+ },
+ {
+ "name": "rococo",
+ "package": "rococo-runtime",
+ "path": "polkadot/runtime/rococo",
+ "header": "polkadot/file_header.txt",
+ "template": "polkadot/xcm/pallet-xcm-benchmarks/template.hbs",
+ "uri": "wss://try-runtime-rococo.polkadot.io:443",
+ "is_relay": true
+ },
+ {
+ "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",
+ "uri": "wss://westend-asset-hub-rpc.polkadot.io:443",
+ "is_relay": false
+ },
+ {
+ "name": "asset-hub-rococo",
+ "package": "asset-hub-rococo-runtime",
+ "path": "cumulus/parachains/runtimes/assets/asset-hub-rococo",
+ "header": "cumulus/file_header.txt",
+ "template": "cumulus/templates/xcm-bench-template.hbs",
+ "uri": "wss://rococo-asset-hub-rpc.polkadot.io:443",
+ "is_relay": false
+ },
+ {
+ "name": "bridge-hub-rococo",
+ "package": "bridge-hub-rococo-runtime",
+ "path": "cumulus/parachains/runtimes/bridges/bridge-hub-rococo",
+ "header": "cumulus/file_header.txt",
+ "template": "cumulus/templates/xcm-bench-template.hbs",
+ "uri": "wss://rococo-bridge-hub-rpc.polkadot.io:443",
+ "is_relay": false
+ },
+ {
+ "name": "bridge-hub-westend",
+ "package": "bridge-hub-rococo-runtime",
+ "path": "cumulus/parachains/runtimes/bridges/bridge-hub-westend",
+ "header": "cumulus/file_header.txt",
+ "template": "cumulus/templates/xcm-bench-template.hbs",
+ "uri": "wss://westend-bridge-hub-rpc.polkadot.io:443",
+ "is_relay": false
+ },
+ {
+ "name": "collectives-westend",
+ "package": "collectives-westend-runtime",
+ "path": "cumulus/parachains/runtimes/collectives/collectives-westend",
+ "header": "cumulus/file_header.txt",
+ "template": "cumulus/templates/xcm-bench-template.hbs",
+ "uri": "wss://westend-collectives-rpc.polkadot.io:443"
+ },
+ {
+ "name": "contracts-rococo",
+ "package": "contracts-rococo-runtime",
+ "path": "cumulus/parachains/runtimes/contracts/contracts-rococo",
+ "header": "cumulus/file_header.txt",
+ "template": "cumulus/templates/xcm-bench-template.hbs",
+ "uri": "wss://rococo-contracts-rpc.polkadot.io:443",
+ "is_relay": false
+ },
+ {
+ "name": "coretime-rococo",
+ "package": "coretime-rococo-runtime",
+ "path": "cumulus/parachains/runtimes/coretime/coretime-rococo",
+ "header": "cumulus/file_header.txt",
+ "template": "cumulus/templates/xcm-bench-template.hbs",
+ "uri": "wss://rococo-coretime-rpc.polkadot.io:443",
+ "is_relay": false
+ },
+ {
+ "name": "coretime-westend",
+ "package": "coretime-westend-runtime",
+ "path": "cumulus/parachains/runtimes/coretime/coretime-westend",
+ "header": "cumulus/file_header.txt",
+ "template": "cumulus/templates/xcm-bench-template.hbs",
+ "uri": "wss://westend-coretime-rpc.polkadot.io:443",
+ "is_relay": false
+ },
+ {
+ "name": "glutton-westend",
+ "package": "glutton-westend-runtime",
+ "path": "cumulus/parachains/runtimes/gluttons/glutton-westend",
+ "header": "cumulus/file_header.txt",
+ "template": "cumulus/templates/xcm-bench-template.hbs",
+ "uri": null,
+ "is_relay": false
+ },
+ {
+ "name": "people-rococo",
+ "package": "people-rococo-runtime",
+ "path": "cumulus/parachains/runtimes/people/people-rococo",
+ "header": "cumulus/file_header.txt",
+ "template": "cumulus/templates/xcm-bench-template.hbs",
+ "uri": "wss://rococo-people-rpc.polkadot.io:443",
+ "is_relay": false
+ },
+ {
+ "name": "people-westend",
+ "package": "people-westend-runtime",
+ "path": "cumulus/parachains/runtimes/people/people-westend",
+ "header": "cumulus/file_header.txt",
+ "template": "cumulus/templates/xcm-bench-template.hbs",
+ "uri": "wss://westend-people-rpc.polkadot.io:443",
+ "is_relay": false
+ }
+]
diff --git a/.github/workflows/subsystem-benchmarks.yml b/.github/workflows/subsystem-benchmarks.yml
new file mode 100644
index 0000000000000000000000000000000000000000..210714d847ff032dee89a4dfbd36e9a34b7f5940
--- /dev/null
+++ b/.github/workflows/subsystem-benchmarks.yml
@@ -0,0 +1,149 @@
+name: Subsystem Benchmarks
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ types: [opened, synchronize, reopened, ready_for_review]
+ merge_group:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+permissions:
+ contents: read
+
+jobs:
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
+
+ build:
+ timeout-minutes: 80
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ strategy:
+ fail-fast: false
+ matrix:
+ features:
+ [
+ {
+ name: "polkadot-availability-recovery",
+ bench: "availability-recovery-regression-bench",
+ },
+ {
+ name: "polkadot-availability-distribution",
+ bench: "availability-distribution-regression-bench",
+ },
+ {
+ name: "polkadot-node-core-approval-voting",
+ bench: "approval-voting-regression-bench",
+ },
+ {
+ name: "polkadot-statement-distribution",
+ bench: "statement-distribution-regression-bench",
+ },
+ ]
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Check Rust
+ run: |
+ rustup show
+ rustup +nightly show
+
+ - name: Run Benchmarks
+ id: run-benchmarks
+ run: |
+ forklift cargo bench -p ${{ matrix.features.name }} --bench ${{ matrix.features.bench }} --features subsystem-benchmarks || echo "Benchmarks failed"
+ ls -lsa ./charts
+
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v4.3.6
+ with:
+ name: ${{matrix.features.bench}}
+ path: ./charts
+
+ publish-benchmarks:
+ timeout-minutes: 60
+ needs: [build]
+ if: github.ref == 'refs/heads/master'
+ environment: subsystem-benchmarks
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ ref: gh-pages
+ fetch-depth: 0
+
+ - run: git checkout master --
+
+ - name: Download artifacts
+ uses: actions/download-artifact@v4.1.8
+ with:
+ path: ./charts
+
+ - name: Setup git
+ run: |
+ # Fixes "detected dubious ownership" error in the ci
+ git config --global --add safe.directory '*'
+ ls -lsR ./charts
+
+ - uses: actions/create-github-app-token@v1
+ id: app-token
+ with:
+ app-id: ${{ secrets.POLKADOTSDK_GHPAGES_APP_ID }}
+ private-key: ${{ secrets.POLKADOTSDK_GHPAGES_APP_KEY }}
+
+ - name: Generate ${{ env.BENCH }}
+ env:
+ BENCH: availability-recovery-regression-bench
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: "customSmallerIsBetter"
+ name: ${{ env.BENCH }}
+ output-file-path: ./charts/${{ env.BENCH }}/${{ env.BENCH }}.json
+ benchmark-data-dir-path: ./bench/${{ env.BENCH }}
+ github-token: ${{ steps.app-token.outputs.token }}
+ auto-push: true
+
+ - name: Generate ${{ env.BENCH }}
+ env:
+ BENCH: availability-distribution-regression-bench
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: "customSmallerIsBetter"
+ name: ${{ env.BENCH }}
+ output-file-path: ./charts/${{ env.BENCH }}/${{ env.BENCH }}.json
+ benchmark-data-dir-path: ./bench/${{ env.BENCH }}
+ github-token: ${{ steps.app-token.outputs.token }}
+ auto-push: true
+
+ - name: Generate ${{ env.BENCH }}
+ env:
+ BENCH: approval-voting-regression-bench
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: "customSmallerIsBetter"
+ name: ${{ env.BENCH }}
+ output-file-path: ./charts/${{ env.BENCH }}/${{ env.BENCH }}.json
+ benchmark-data-dir-path: ./bench/${{ env.BENCH }}
+ github-token: ${{ steps.app-token.outputs.token }}
+ auto-push: true
+
+ - name: Generate ${{ env.BENCH }}
+ env:
+ BENCH: statement-distribution-regression-bench
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: "customSmallerIsBetter"
+ name: ${{ env.BENCH }}
+ output-file-path: ./charts/${{ env.BENCH }}/${{ env.BENCH }}.json
+ benchmark-data-dir-path: ./bench/${{ env.BENCH }}
+ github-token: ${{ steps.app-token.outputs.token }}
+ auto-push: true
diff --git a/.github/workflows/tests-linux-stable-coverage.yml b/.github/workflows/tests-linux-stable-coverage.yml
new file mode 100644
index 0000000000000000000000000000000000000000..90d7bc34a92602b30f4e210cc55dc450a49219d3
--- /dev/null
+++ b/.github/workflows/tests-linux-stable-coverage.yml
@@ -0,0 +1,123 @@
+# GHA for test-linux-stable-int, test-linux-stable, test-linux-stable-oldkernel
+name: tests linux stable coverage
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ types: [opened, synchronize, reopened, ready_for_review, labeled]
+ merge_group:
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
+ if: contains(github.event.label.name, 'GHA-coverage') || contains(github.event.pull_request.labels.*.name, 'GHA-coverage')
+
+ #
+ #
+ #
+ test-linux-stable-coverage:
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 120
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ RUST_TOOLCHAIN: stable
+ # Enable debug assertions since we are running optimized builds for testing
+ # but still want to have debug assertions.
+ #
+ # -Cinstrument-coverage slows everything down but it is necessary for code coverage
+ # https://doc.rust-lang.org/rustc/instrument-coverage.html
+ RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings -Cinstrument-coverage"
+ LLVM_PROFILE_FILE: "/__w/polkadot-sdk/polkadot-sdk/target/coverage/cargo-test-${{ matrix.ci_node_index }}-%p-%m.profraw"
+ strategy:
+ fail-fast: false
+ matrix:
+ ci_node_index: [1, 2, 3, 4, 5]
+ ci_node_total: [5]
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - run: rustup component add llvm-tools-preview
+ - run: cargo install cargo-llvm-cov
+
+ - run: mkdir -p target/coverage
+
+ # Some tests are excluded because they run very slowly or fail with -Cinstrument-coverage
+ - name: run tests
+ run: >
+ time cargo llvm-cov nextest
+ --no-report --release
+ --workspace
+ --locked --no-fail-fast
+ --features try-runtime,ci-only-tests,experimental,riscv
+ --filter-expr "
+ !test(/.*benchmark.*/)
+ - test(/recovers_from_only_chunks_if_pov_large::case_1/)
+ - test(/participation_requests_reprioritized_for_newly_included/)
+ - test(/availability_is_recovered_from_chunks_if_no_group_provided::case_1/)
+ - test(/rejects_missing_inherent_digest/)
+ - test(/availability_is_recovered_from_chunks_even_if_backing_group_supplied_if_chunks_only::case_1/)
+ - test(/availability_is_recovered_from_chunks_if_no_group_provided::case_2/)
+ - test(/all_security_features_work/)
+ - test(/nonexistent_cache_dir/)
+ - test(/recovers_from_only_chunks_if_pov_large::case_3/)
+ - test(/recovers_from_only_chunks_if_pov_large::case_2/)
+ - test(/authoring_blocks/)
+ - test(/rejects_missing_seals/)
+ - test(/generate_chain_spec/)
+ - test(/get_preset/)
+ - test(/list_presets/)
+ - test(/tests::receive_rate_limit_is_enforced/)
+ - test(/polkadot-availability-recovery/)
+ "
+ --partition count:${{ matrix.ci_node_index }}/${{ matrix.ci_node_total }}
+
+ - name: generate report
+ run: cargo llvm-cov report --release --codecov --output-path coverage-${{ matrix.ci_node_index }}.lcov
+ - name: upload report
+ uses: actions/upload-artifact@v4
+ with:
+ name: coverage-report-${{ matrix.ci_node_index }}.lcov
+ path: coverage-${{ matrix.ci_node_index }}.lcov
+
+ #
+ #
+ # Upload to codecov
+ upload-reports:
+ needs: [test-linux-stable-coverage]
+ runs-on: ubuntu-latest
+ steps:
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: reports
+ pattern: coverage-report-*
+ merge-multiple: true
+ - run: ls -al reports/
+ - name: Upload to Codecov
+ uses: codecov/codecov-action@v4
+ with:
+ token: ${{ secrets.CODECOV_TOKEN }}
+ verbose: true
+ directory: reports
+ root_dir: /__w/polkadot-sdk/polkadot-sdk/
+
+ #
+ #
+ #
+ remove-label:
+ runs-on: ubuntu-latest
+ needs: [upload-reports]
+ if: github.event_name == 'pull_request'
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions-ecosystem/action-remove-labels@v1
+ with:
+ labels: GHA-coverage
\ No newline at end of file
diff --git a/.github/workflows/tests-linux-stable.yml b/.github/workflows/tests-linux-stable.yml
index 6f2ac87c3efbea16efc9a5564fa770cd0f9ffbdf..6cf71422511cc3d5b698725c576707a732bc9645 100644
--- a/.github/workflows/tests-linux-stable.yml
+++ b/.github/workflows/tests-linux-stable.yml
@@ -13,33 +13,17 @@ concurrency:
cancel-in-progress: true
jobs:
- changes:
- permissions:
- pull-requests: read
- uses: ./.github/workflows/check-changed-files.yml
- set-image:
- # GitHub Actions allows using 'env' in a container context.
- # However, env variables don't work for forks: https://github.com/orgs/community/discussions/44322
- # This workaround sets the container image for each job using 'set-image' job output.
- needs: changes
- if: ${{ needs.changes.outputs.rust }}
- runs-on: ubuntu-latest
- outputs:
- IMAGE: ${{ steps.set_image.outputs.IMAGE }}
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: set_image
- run: cat .github/env >> $GITHUB_OUTPUT
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
test-linux-stable-int:
- needs: [set-image, changes]
- if: ${{ needs.changes.outputs.rust }}
- runs-on: arc-runners-polkadot-sdk-beefy
- timeout-minutes: 30
+ needs: [preflight]
+ # if: ${{ needs.preflight.outputs.changes_rust }}
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
container:
- image: ${{ needs.set-image.outputs.IMAGE }}
+ image: ${{ needs.preflight.outputs.IMAGE }}
env:
RUSTFLAGS: "-C debug-assertions -D warnings"
RUST_BACKTRACE: 1
@@ -51,16 +35,45 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: script
- run: WASM_BUILD_NO_COLOR=1 time forklift cargo test -p staging-node-cli --release --locked -- --ignored
+ run: WASM_BUILD_NO_COLOR=1 forklift cargo test -p staging-node-cli --release --locked -- --ignored
# https://github.com/paritytech/ci_cd/issues/864
test-linux-stable-runtime-benchmarks:
- needs: [set-image, changes]
- if: ${{ needs.changes.outputs.rust }}
- runs-on: arc-runners-polkadot-sdk-beefy
- timeout-minutes: 30
+ needs: [preflight]
+ # if: ${{ needs.preflight.outputs.changes_rust }}
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ 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"
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: script
+ run: forklift cargo nextest run --workspace --features runtime-benchmarks benchmark --locked --cargo-profile testnet
+
+ test-linux-stable:
+ needs: [preflight]
+ # if: ${{ needs.preflight.outputs.changes_rust }}
+ runs-on: ${{ matrix.runners }}
+ timeout-minutes: 60
+ strategy:
+ fail-fast: false
+ matrix:
+ partition: [1/3, 2/3, 3/3]
+ runners:
+ [
+ "${{ needs.preflight.outputs.RUNNER }}",
+ "${{ needs.preflight.outputs.OLDLINUXRUNNER }}",
+ ]
container:
- image: ${{ needs.set-image.outputs.IMAGE }}
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ # needed for tests that use unshare syscall
+ options: --security-opt seccomp=unconfined
env:
RUST_TOOLCHAIN: stable
# Enable debug assertions since we are running optimized builds for testing
@@ -70,4 +83,39 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: script
- run: time forklift cargo nextest run --workspace --features runtime-benchmarks benchmark --locked --cargo-profile testnet
+ run: |
+ # Fixes "detected dubious ownership" error in the ci
+ git config --global --add safe.directory '*'
+ forklift cargo nextest run \
+ --workspace \
+ --locked \
+ --release \
+ --no-fail-fast \
+ --features try-runtime,experimental,riscv,ci-only-tests \
+ --partition count:${{ matrix.partition }}
+ # run runtime-api tests with `enable-staging-api` feature on the 1st node
+ - name: runtime-api tests
+ if: ${{ matrix.partition == '1/3' }}
+ run: forklift cargo nextest run -p sp-api-test --features enable-staging-api
+
+ confirm-required-jobs-passed:
+ runs-on: ubuntu-latest
+ name: All tests passed
+ # If any new job gets added, be sure to add it to this array
+ needs:
+ [
+ test-linux-stable-int,
+ test-linux-stable-runtime-benchmarks,
+ test-linux-stable,
+ ]
+ if: always() && !cancelled()
+ steps:
+ - run: |
+ tee resultfile <<< '${{ toJSON(needs) }}'
+ FAILURES=$(cat resultfile | grep '"result": "failure"' | wc -l)
+ if [ $FAILURES -gt 0 ]; then
+ echo "### At least one required job failed ❌" >> $GITHUB_STEP_SUMMARY
+ exit 1
+ else
+ echo '### Good job! All the required jobs passed 🚀' >> $GITHUB_STEP_SUMMARY
+ fi
diff --git a/.github/workflows/tests-misc.yml b/.github/workflows/tests-misc.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0f2b617b847de584d3755b9c1e9cd9d3cb970e10
--- /dev/null
+++ b/.github/workflows/tests-misc.yml
@@ -0,0 +1,380 @@
+name: tests misc
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ types: [opened, synchronize, reopened, ready_for_review]
+ merge_group:
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+# Jobs in this workflow depend on each other, only for limiting peak amount of spawned workers
+
+jobs:
+
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
+
+ # more information about this job can be found here:
+ # https://github.com/paritytech/substrate/pull/3778
+ test-full-crypto-feature:
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ # 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
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: script
+ run: |
+ cd substrate/primitives/core/
+ forklift cargo build --locked --no-default-features --features full_crypto
+ cd ../application-crypto
+ forklift cargo build --locked --no-default-features --features full_crypto
+
+ test-frame-examples-compile-to-wasm:
+ timeout-minutes: 20
+ # into one job
+ needs: [preflight, test-full-crypto-feature]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ # 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
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: script
+ run: |
+ cd substrate/frame/examples/offchain-worker/
+ forklift cargo build --locked --target=wasm32-unknown-unknown --no-default-features
+ cd ../basic
+ forklift cargo build --locked --target=wasm32-unknown-unknown --no-default-features
+
+ test-frame-ui:
+ timeout-minutes: 60
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ # 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
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: script
+ run: |
+ forklift cargo test --locked -q --profile testnet -p frame-support-test --features=frame-feature-testing,no-metadata-docs,try-runtime,experimental
+ forklift cargo test --locked -q --profile testnet -p frame-support-test --features=frame-feature-testing,frame-feature-testing-2,no-metadata-docs,try-runtime,experimental
+ forklift cargo test --locked -q --profile testnet -p xcm-procedural
+ forklift cargo test --locked -q --profile testnet -p frame-election-provider-solution-type
+ forklift cargo test --locked -q --profile testnet -p sp-api-test
+ # There is multiple version of sp-runtime-interface in the repo. So we point to the manifest.
+ forklift cargo test --locked -q --profile testnet --manifest-path substrate/primitives/runtime-interface/Cargo.toml
+
+ test-deterministic-wasm:
+ timeout-minutes: 20
+ needs: [preflight, test-frame-examples-compile-to-wasm]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ WASM_BUILD_NO_COLOR: 1
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: script
+ run: |
+ # build runtime
+ forklift 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
+ forklift cargo build -q --locked --release -p westend-runtime -p rococo-runtime
+ # confirm checksum
+ sha256sum -c checksum.sha256
+
+ cargo-check-benches:
+ needs: [preflight]
+ if: ${{ github.event_name == 'pull_request' || github.event_name == 'merge_group' }}
+ timeout-minutes: 60
+ strategy:
+ matrix:
+ branch: [master, current]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ # if branch is master, use the branch, otherwise set empty string, so it uses the current context
+ # either PR (including forks) or merge group (main repo)
+ ref: ${{ matrix.branch == 'master' && matrix.branch || '' }}
+
+ - name: script
+ run: |
+ ARTIFACTS_DIR=./artifacts
+ BENCH_TRIE_READ=::trie::read::small
+ BENCH_NODE_IMPORT=::node::import::sr25519::transfer_keep_alive::paritydb::small
+ mkdir -p $ARTIFACTS_DIR
+
+ SKIP_WASM_BUILD=1 forklift cargo check --locked --benches --all;
+ forklift cargo run --locked --release -p node-bench -- $BENCH_TRIE_READ --json | tee $ARTIFACTS_DIR/bench_trie_read_small.json;
+ forklift cargo run --locked --release -p node-bench -- $BENCH_NODE_IMPORT --json | tee $ARTIFACTS_DIR/bench_transfer_keep_alive.json
+
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v4.3.6
+ with:
+ path: ./artifacts
+ name: cargo-check-benches-${{ matrix.branch }}-${{ github.sha }}
+ retention-days: 1
+
+ node-bench-regression-guard:
+ timeout-minutes: 20
+ if: always() && !cancelled()
+ # runs-on: arc-runners-polkadot-sdk
+ runs-on: ubuntu-latest
+ needs: [preflight, cargo-check-benches]
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Download artifact (master run)
+ uses: actions/download-artifact@v4.1.8
+ with:
+ name: cargo-check-benches-master-${{ github.sha }}
+ path: ./artifacts/master
+
+ - name: Download artifact (current run)
+ uses: actions/download-artifact@v4.1.8
+ with:
+ name: cargo-check-benches-current-${{ github.sha }}
+ path: ./artifacts/current
+
+ - name: script
+ id: compare
+ run: |
+ docker run --rm \
+ -v $PWD/artifacts/master:/artifacts/master \
+ -v $PWD/artifacts/current:/artifacts/current \
+ paritytech/node-bench-regression-guard:latest \
+ node-bench-regression-guard --reference /artifacts/master --compare-with /artifacts/current
+
+ if [ $? -ne 0 ]; then
+ FAILED_MSG='### node-bench-regression-guard failed ❌, check the regression in *cargo-check-benches* job'
+ echo $FAILED_MSG
+ echo $FAILED_MSG >> $GITHUB_STEP_SUMMARY
+ exit 1
+ else
+ echo "### node-bench-regression-guard passed ✅" >> $GITHUB_STEP_SUMMARY
+ fi
+
+ test-node-metrics:
+ needs: [preflight]
+ timeout-minutes: 30
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Run tests
+ id: tests
+ env:
+ 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"
+ run: |
+ forklift cargo build --bin polkadot-execute-worker --bin polkadot-prepare-worker --profile testnet --verbose --locked
+ mkdir -p ./artifacts
+ forklift cargo test --profile testnet --locked --features=runtime-metrics -p polkadot-node-metrics > ./artifacts/log.txt
+ echo "Metrics test passed"
+
+ - name: Upload artifacts if failed
+ if: ${{ steps.tests.outcome != 'success' }}
+ uses: actions/upload-artifact@v4.3.6
+ with:
+ name: node-metrics-failed
+ path: ./artifacts
+
+ # more information about this job can be found here:
+ # https://github.com/paritytech/substrate/pull/6916
+ check-tracing:
+ timeout-minutes: 20
+ needs: [preflight, test-node-metrics]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: script
+ run: |
+ forklift cargo test --locked --manifest-path ./substrate/primitives/tracing/Cargo.toml --no-default-features
+ forklift cargo test --locked --manifest-path ./substrate/primitives/tracing/Cargo.toml --no-default-features --features=with-tracing
+
+ check-metadata-hash:
+ timeout-minutes: 20
+ needs: [preflight, check-tracing]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: script
+ run: |
+ forklift cargo build --locked -p westend-runtime --features metadata-hash
+
+ cargo-hfuzz:
+ timeout-minutes: 20
+ needs: [preflight, check-metadata-hash]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ # 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"
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Run honggfuzz
+ run: |
+ cd substrate/primitives/arithmetic/fuzzer
+ forklift cargo hfuzz build
+ for target in $(cargo read-manifest | jq -r '.targets | .[] | .name');
+ do
+ forklift cargo hfuzz run "$target" || { printf "fuzzing failure for %s\n" "$target"; exit 1; };
+ done
+
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v4.3.6
+ with:
+ path: substrate/primitives/arithmetic/fuzzer/hfuzz_workspace/
+ name: hfuzz-${{ github.sha }}
+
+ cargo-check-each-crate:
+ timeout-minutes: 140
+ needs: [preflight]
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ container:
+ image: ${{ needs.preflight.outputs.IMAGE }}
+ env:
+ RUSTFLAGS: "-D warnings"
+ CI_JOB_NAME: cargo-check-each-crate
+ strategy:
+ matrix:
+ index: [1, 2, 3, 4, 5, 6, 7] # 7 parallel jobs
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Check Rust
+ run: |
+ rustup show
+ rustup +nightly show
+
+ - name: script
+ run: |
+ mkdir -p /github/home/.forklift
+ cp .forklift/config.toml /github/home/.forklift/config.toml
+ PYTHONUNBUFFERED=x .github/scripts/check-each-crate.py ${{ matrix.index }} ${{ strategy.job-total }}
+
+ cargo-check-all-crate-macos:
+ timeout-minutes: 30
+ needs: [ preflight ]
+ runs-on: parity-macos
+ env:
+ SKIP_WASM_BUILD: 1
+ steps:
+ - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ - name: Set rust version from env file
+ run: |
+ RUST_VERSION=$(cat .github/env | sed -E 's/.*ci-unified:([^-]+)-([^-]+).*/\2/')
+ echo $RUST_VERSION
+ echo "RUST_VERSION=${RUST_VERSION}" >> $GITHUB_ENV
+ - name: Set up Homebrew
+ uses: Homebrew/actions/setup-homebrew@1ccc07ccd54b6048295516a3eb89b192c35057dc # master from 12.09.2024
+ - name: Install rust ${{ env.RUST_VERSION }}
+ uses: actions-rust-lang/setup-rust-toolchain@1fbea72663f6d4c03efaab13560c8a24cfd2a7cc # v1.9.0
+ with:
+ cache: false
+ toolchain: ${{ env.RUST_VERSION }}
+ target: wasm32-unknown-unknown
+ components: cargo, clippy, rust-docs, rust-src, rustfmt, rustc, rust-std
+ - name: Install protobuf
+ run: brew install protobuf
+ - name: cargo info
+ run: |
+ echo "######## rustup show ########"
+ rustup show
+ echo "######## cargo --version ########"
+ cargo --version
+ - name: Run cargo check
+ run: cargo check --workspace --locked
+
+ confirm-required-test-misc-jobs-passed:
+ runs-on: ubuntu-latest
+ name: All test misc tests passed
+ # If any new job gets added, be sure to add it to this array
+ needs:
+ - test-full-crypto-feature
+ - test-frame-examples-compile-to-wasm
+ - test-frame-ui
+ - cargo-check-benches
+ - node-bench-regression-guard
+ - test-node-metrics
+ - check-tracing
+ - cargo-check-each-crate
+ - test-deterministic-wasm
+ # - cargo-hfuzz remove from required for now, as it's flaky
+ if: always() && !cancelled()
+ steps:
+ - run: |
+ tee resultfile <<< '${{ toJSON(needs) }}'
+ FAILURES=$(cat resultfile | grep '"result": "failure"' | wc -l)
+ if [ $FAILURES -gt 0 ]; then
+ echo "### At least one required job failed ❌" >> $GITHUB_STEP_SUMMARY
+ exit 1
+ else
+ echo '### Good job! All the required jobs passed 🚀' >> $GITHUB_STEP_SUMMARY
+ fi
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 0c1447cba33a372cbbf4cb057b9f63dd49565468..1132c2ca4dd5fc99ff14b8333633788a3ff36da5 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -5,38 +5,25 @@ on:
branches:
- master
pull_request:
- types: [opened, synchronize, reopened, ready_for_review]
+ types: [ opened, synchronize, reopened, ready_for_review ]
merge_group:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
- changes:
- permissions:
- pull-requests: read
- uses: ./.github/workflows/check-changed-files.yml
- set-image:
- # GitHub Actions allows using 'env' in a container context.
- # However, env variables don't work for forks: https://github.com/orgs/community/discussions/44322
- # This workaround sets the container image for each job using 'set-image' job output.
- runs-on: ubuntu-latest
- outputs:
- IMAGE: ${{ steps.set_image.outputs.IMAGE }}
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: set_image
- run: cat .github/env >> $GITHUB_OUTPUT
+ preflight:
+ uses: ./.github/workflows/reusable-preflight.yml
+ # This job runs all benchmarks defined in the `/bin/node/runtime` once to check that there are no errors.
quick-benchmarks:
- needs: [set-image, changes]
- if: ${{ needs.changes.outputs.rust }}
- runs-on: arc-runners-polkadot-sdk-beefy
- timeout-minutes: 30
+ needs: [ preflight ]
+ # if: ${{ needs.preflight.outputs.changes_rust }}
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
container:
- image: ${{ needs.set-image.outputs.IMAGE }}
+ image: ${{ needs.preflight.outputs.IMAGE }}
env:
RUSTFLAGS: "-C debug-assertions -D warnings"
RUST_BACKTRACE: "full"
@@ -46,16 +33,16 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: script
- run: time forklift cargo run --locked --release -p staging-node-cli --bin substrate-node --features runtime-benchmarks -- benchmark pallet --chain dev --pallet "*" --extrinsic "*" --steps 2 --repeat 1 --quiet
+ run: forklift cargo run --locked --release -p staging-node-cli --bin substrate-node --features runtime-benchmarks -- benchmark pallet --chain dev --pallet "*" --extrinsic "*" --steps 2 --repeat 1 --quiet
# cf https://github.com/paritytech/polkadot-sdk/issues/1652
test-syscalls:
- needs: [set-image, changes]
- if: ${{ needs.changes.outputs.rust }}
- runs-on: arc-runners-polkadot-sdk-beefy
- timeout-minutes: 30
+ needs: [ preflight ]
+ # if: ${{ needs.preflight.outputs.changes_rust }}
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
container:
- image: ${{ needs.set-image.outputs.IMAGE }}
+ image: ${{ needs.preflight.outputs.IMAGE }}
continue-on-error: true # this rarely triggers in practice
env:
SKIP_WASM_BUILD: 1
@@ -63,28 +50,29 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: script
+ id: test
run: |
forklift cargo build --locked --profile production --target x86_64-unknown-linux-musl --bin polkadot-execute-worker --bin polkadot-prepare-worker
cd polkadot/scripts/list-syscalls
./list-syscalls.rb ../../../target/x86_64-unknown-linux-musl/production/polkadot-execute-worker --only-used-syscalls | diff -u execute-worker-syscalls -
./list-syscalls.rb ../../../target/x86_64-unknown-linux-musl/production/polkadot-prepare-worker --only-used-syscalls | diff -u prepare-worker-syscalls -
- # todo:
- # after_script:
- # - if [[ "$CI_JOB_STATUS" == "failed" ]]; then
- # printf "The x86_64 syscalls used by the worker binaries have changed. Please review if this is expected and update polkadot/scripts/list-syscalls/*-worker-syscalls as needed.\n";
- # fi
+ - name: on_failure
+ if: failure() && steps.test.outcome == 'failure'
+ run: |
+ echo "The x86_64 syscalls used by the worker binaries have changed. Please review if this is expected and update polkadot/scripts/list-syscalls/*-worker-syscalls as needed." >> $GITHUB_STEP_SUMMARY
+
cargo-check-all-benches:
- needs: [set-image, changes]
- if: ${{ needs.changes.outputs.rust }}
- runs-on: arc-runners-polkadot-sdk-beefy
- timeout-minutes: 30
+ needs: [ preflight ]
+ # if: ${{ needs.preflight.outputs.changes_rust }}
+ runs-on: ${{ needs.preflight.outputs.RUNNER }}
+ timeout-minutes: 60
container:
- image: ${{ needs.set-image.outputs.IMAGE }}
+ image: ${{ needs.preflight.outputs.IMAGE }}
env:
SKIP_WASM_BUILD: 1
steps:
- name: Checkout
uses: actions/checkout@v4
- name: script
- run: time forklift cargo check --all --benches
+ run: forklift cargo check --all --benches
diff --git a/.gitignore b/.gitignore
index 2f1631fb4b9d14496021907cca96b4cdf4902eb8..0263626d832df2633a3c5fc9db18268c2cc9953b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,6 +14,7 @@
*.orig
*.rej
*.swp
+*.wasm
**/._*
**/.criterion/
**/*.rs.bk
@@ -22,6 +23,7 @@
**/node_modules
**/target/
**/wip/*.stderr
+**/__pycache__/
/.cargo/config
/.envrc
artifacts
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7f2babc6bd47237032b941a6bf9de4a91b031932..43123cdbfc413fddc376a68afc099b5ec590ef51 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 8658e92efc8f9f7ae463a67a52eaf3d3d37df2f7..74b6ccb49981d63367d6d12d2c61c86d5fda3900 100644
--- a/.gitlab/pipeline/build.yml
+++ b/.gitlab/pipeline/build.yml
@@ -83,6 +83,23 @@ build-malus:
- echo "polkadot-test-malus = $(cat ./artifacts/VERSION) (EXTRATAG = $(cat ./artifacts/EXTRATAG))"
- cp -r ./docker/* ./artifacts
+build-templates-node:
+ stage: build
+ extends:
+ - .docker-env
+ - .common-refs
+ - .run-immediately
+ - .collect-artifacts
+ script:
+ - time cargo build --locked --package parachain-template-node --release
+ - time cargo build --locked --package minimal-template-node --release
+ - time cargo build --locked --package solochain-template-node --release
+ # pack artifacts
+ - mkdir -p ./artifacts
+ - mv ./target/release/parachain-template-node ./artifacts/.
+ - mv ./target/release/minimal-template-node ./artifacts/.
+ - mv ./target/release/solochain-template-node ./artifacts/.
+
build-rustdoc:
stage: build
extends:
@@ -313,7 +330,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 +346,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 2b8b90ef19a47874b3a9de065038faee376a01ae..7d1f37dddd5138a0c039af32f6b1b5e9c81654af 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 44cd1933a9cfa0b3cbff384ff4184a36bf864021..5ad9ae9bfb36d4e4efb6c9cc41453f06afe7f93d 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 d171a8a19426c959f776aa0780f4373c4b23b4e6..0879870ae13c97dd7044f9224584dadac00c2046 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.yml b/.gitlab/pipeline/zombienet.yml
index 7897e55e291bd3cae1f3df42d1fcf5c811ff52f2..23521b299b1d09143301870c428e95788c44a94c 100644
--- a/.gitlab/pipeline/zombienet.yml
+++ b/.gitlab/pipeline/zombienet.yml
@@ -14,3 +14,5 @@ include:
- .gitlab/pipeline/zombienet/polkadot.yml
# bridges tests
- .gitlab/pipeline/zombienet/bridges.yml
+ # parachain-template-node tests
+ - .gitlab/pipeline/zombienet/parachain-template.yml
diff --git a/.gitlab/pipeline/zombienet/bridges.yml b/.gitlab/pipeline/zombienet/bridges.yml
index 9d7a8b9311934a148e855caf7c4315d8a281aed1..070bfc8472d5ab797141862bd0d0066d420bc922 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/.gitlab/pipeline/zombienet/cumulus.yml b/.gitlab/pipeline/zombienet/cumulus.yml
index a7f321505bacf99df202c1469e7a75b4f0b30ba4..6e2b53fae6198501297960de84ecdb1606d3e128 100644
--- a/.gitlab/pipeline/zombienet/cumulus.yml
+++ b/.gitlab/pipeline/zombienet/cumulus.yml
@@ -149,3 +149,27 @@ zombienet-cumulus-0007-full_node_warp_sync:
--local-dir="${LOCAL_DIR}"
--concurrency=1
--test="0007-full_node_warp_sync.zndsl"
+
+zombienet-cumulus-0008-elastic_authoring:
+ extends:
+ - .zombienet-cumulus-common
+ - .zombienet-refs
+ - .zombienet-before-script
+ - .zombienet-after-script
+ script:
+ - /home/nonroot/zombie-net/scripts/ci/run-test-local-env-manager.sh
+ --local-dir="${LOCAL_DIR}"
+ --concurrency=1
+ --test="0008-elastic_authoring.zndsl"
+
+zombienet-cumulus-0009-elastic_pov_recovery:
+ extends:
+ - .zombienet-cumulus-common
+ - .zombienet-refs
+ - .zombienet-before-script
+ - .zombienet-after-script
+ script:
+ - /home/nonroot/zombie-net/scripts/ci/run-test-local-env-manager.sh
+ --local-dir="${LOCAL_DIR}"
+ --concurrency=1
+ --test="0009-elastic_pov_recovery.zndsl"
diff --git a/.gitlab/pipeline/zombienet/parachain-template.yml b/.gitlab/pipeline/zombienet/parachain-template.yml
new file mode 100644
index 0000000000000000000000000000000000000000..815a46c60d7c2847b28c4701312b3f0d4d5ce2c9
--- /dev/null
+++ b/.gitlab/pipeline/zombienet/parachain-template.yml
@@ -0,0 +1,42 @@
+# common settings for all zombienet jobs
+.zombienet-parachain-template-common:
+ before_script:
+ # add `./artifacts` to the PATH
+ - export PATH=$(pwd)/artifacts:$PATH
+ stage: zombienet
+ needs:
+ - job: build-linux-stable # polkadot binaries
+ artifacts: true
+ - job: build-templates-node # templates
+ artifacts: true
+ extends:
+ - .docker-env
+ - .zombienet-refs
+ variables:
+ ZOMBIE_PROVIDER: "native"
+ RUST_LOG: "info,zombienet_orchestrator=debug"
+ FF_DISABLE_UMASK_FOR_DOCKER_EXECUTOR: 1
+ RUN_IN_CONTAINER: "1"
+ artifacts:
+ name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
+ when: always
+ expire_in: 2 days
+ paths:
+ - ./zombienet-logs
+ after_script:
+ - mkdir -p ./zombienet-logs
+ - cp /tmp/zombie*/logs/* ./zombienet-logs/
+ retry: 2
+ timeout: 15m
+ tags:
+ - linux-docker
+
+zombienet-parachain-template-smoke:
+ extends:
+ - .zombienet-parachain-template-common
+ script:
+ - echo $PATH
+ - ls -ltr $(pwd)/artifacts
+ - cargo test -p template-zombienet-tests --features zombienet --tests minimal_template_block_production_test
+ - cargo test -p template-zombienet-tests --features zombienet --tests parachain_template_block_production_test
+ # - cargo test -p template-zombienet-tests --features zombienet --tests solochain_template_block_production_test
diff --git a/.gitlab/pipeline/zombienet/polkadot.yml b/.gitlab/pipeline/zombienet/polkadot.yml
index 90251082077ce07f739a5b122deaf6023dcfeaa6..b4ef4bb7446c8a9bfe602322cd8ac07a30f14b40 100644
--- a/.gitlab/pipeline/zombienet/polkadot.yml
+++ b/.gitlab/pipeline/zombienet/polkadot.yml
@@ -276,6 +276,14 @@ zombienet-polkadot-smoke-0004-coretime-smoke-test:
--local-dir="${LOCAL_DIR}/smoke"
--test="0004-coretime-smoke-test.zndsl"
+zombienet-polkadot-smoke-0005-precompile-pvf-smoke:
+ extends:
+ - .zombienet-polkadot-common
+ script:
+ - /home/nonroot/zombie-net/scripts/ci/run-test-local-env-manager.sh
+ --local-dir="${LOCAL_DIR}/smoke"
+ --test="0005-precompile-pvf-smoke.zndsl"
+
zombienet-polkadot-misc-0001-parachains-paritydb:
extends:
- .zombienet-polkadot-common
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 120000
index 0000000000000000000000000000000000000000..63b2a0dc1abc8daf348a8112688d254407837dd9
--- /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 0000000000000000000000000000000000000000..0f645512e8e47f744720a79767f0f78f919ea914
--- /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 7b08e96f4bbec273fc7c41f2cfb4912627bff964..7d894af7b7fc531cec27cacb1ac1c2093c7ce265 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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
"syn-solidity",
"tiny-keccak",
]
@@ -262,9 +262,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.81"
+version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
+checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
[[package]]
name = "approx"
@@ -284,9 +284,9 @@ dependencies = [
"include_dir",
"itertools 0.10.5",
"proc-macro-error",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "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.35",
+ "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.35",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -506,7 +506,7 @@ checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20"
dependencies = [
"num-bigint",
"num-traits",
- "quote 1.0.35",
+ "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.35",
+ "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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -649,13 +649,13 @@ 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",
"ark-std 0.4.0",
"digest 0.10.7",
- "rand_core",
+ "rand_core 0.6.4",
"sha3",
]
@@ -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.35",
+ "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.35",
- "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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -759,16 +759,16 @@ 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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "assert_cmd"
-version = "2.0.12"
+version = "2.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88903cb14723e4d4003335bb7f8a14f27691649105346a0f0957466c096adfe6"
+checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8"
dependencies = [
"anstyle",
"bstr",
@@ -790,12 +790,13 @@ 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",
"parachains-common",
"rococo-emulated-chain",
- "sp-core",
+ "sp-core 28.0.0",
"staging-xcm",
"testnet-parachains-constants",
]
@@ -821,9 +822,10 @@ dependencies = [
"polkadot-runtime-common",
"rococo-runtime-constants",
"rococo-system-emulated-network",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"staging-xcm",
"staging-xcm-executor",
+ "xcm-runtime-apis",
]
[[package]]
@@ -886,21 +888,21 @@ dependencies = [
"primitive-types",
"rococo-runtime-constants",
"scale-info",
+ "serde_json",
"snowbridge-router-primitives",
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
- "sp-weights",
+ "sp-weights 27.0.0",
"staging-parachain-info",
"staging-xcm",
"staging-xcm-builder",
@@ -915,11 +917,12 @@ 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",
"parachains-common",
- "sp-core",
+ "sp-core 28.0.0",
"staging-xcm",
"testnet-parachains-constants",
"westend-emulated-chain",
@@ -948,9 +951,9 @@ dependencies = [
"parachains-common",
"parity-scale-codec",
"polkadot-runtime-common",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"staging-xcm",
"staging-xcm-executor",
"westend-system-emulated-network",
@@ -1017,14 +1020,15 @@ dependencies = [
"polkadot-runtime-common",
"primitive-types",
"scale-info",
+ "snowbridge-router-primitives",
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-std 14.0.0",
"sp-storage 19.0.0",
@@ -1060,9 +1064,8 @@ dependencies = [
"parachains-common",
"parachains-runtimes-test-utils",
"parity-scale-codec",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"staging-parachain-info",
"staging-xcm",
"staging-xcm-builder",
@@ -1079,13 +1082,13 @@ dependencies = [
"impl-trait-for-tuples",
"log",
"pallet-asset-conversion",
+ "pallet-assets",
"pallet-xcm",
"parachains-common",
"parity-scale-codec",
"scale-info",
"sp-api",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -1098,7 +1101,7 @@ version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5"
dependencies = [
- "quote 1.0.35",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -1113,6 +1116,19 @@ dependencies = [
"futures-core",
]
+[[package]]
+name = "async-channel"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f2776ead772134d55b62dd45e59a79e21612d85d0af729b8b7d3967d601a62a"
+dependencies = [
+ "concurrent-queue",
+ "event-listener 5.2.0",
+ "event-listener-strategy",
+ "futures-core",
+ "pin-project-lite",
+]
+
[[package]]
name = "async-executor"
version = "1.5.1"
@@ -1139,13 +1155,24 @@ dependencies = [
"futures-lite 1.13.0",
]
+[[package]]
+name = "async-fs"
+version = "2.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a"
+dependencies = [
+ "async-lock 3.4.0",
+ "blocking",
+ "futures-lite 2.0.0",
+]
+
[[package]]
name = "async-global-executor"
version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
dependencies = [
- "async-channel",
+ "async-channel 1.9.0",
"async-executor",
"async-io 1.13.0",
"async-lock 2.8.0",
@@ -1184,7 +1211,7 @@ dependencies = [
"cfg-if",
"concurrent-queue",
"futures-io",
- "futures-lite 2.3.0",
+ "futures-lite 2.0.0",
"parking",
"polling 3.4.0",
"rustix 0.38.21",
@@ -1210,7 +1237,7 @@ checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18"
dependencies = [
"event-listener 5.2.0",
"event-listener-strategy",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
]
[[package]]
@@ -1225,6 +1252,17 @@ dependencies = [
"futures-lite 1.13.0",
]
+[[package]]
+name = "async-net"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
+dependencies = [
+ "async-io 2.3.3",
+ "blocking",
+ "futures-lite 2.0.0",
+]
+
[[package]]
name = "async-process"
version = "1.7.0"
@@ -1243,6 +1281,43 @@ dependencies = [
"windows-sys 0.48.0",
]
+[[package]]
+name = "async-process"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb"
+dependencies = [
+ "async-channel 2.3.0",
+ "async-io 2.3.3",
+ "async-lock 3.4.0",
+ "async-signal",
+ "async-task",
+ "blocking",
+ "cfg-if",
+ "event-listener 5.2.0",
+ "futures-lite 2.0.0",
+ "rustix 0.38.21",
+ "tracing",
+]
+
+[[package]]
+name = "async-signal"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32"
+dependencies = [
+ "async-io 2.3.3",
+ "async-lock 3.4.0",
+ "atomic-waker",
+ "cfg-if",
+ "futures-core",
+ "futures-io",
+ "rustix 0.38.21",
+ "signal-hook-registry",
+ "slab",
+ "windows-sys 0.52.0",
+]
+
[[package]]
name = "async-std"
version = "1.12.0"
@@ -1250,7 +1325,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
dependencies = [
"async-attributes",
- "async-channel",
+ "async-channel 1.9.0",
"async-global-executor",
"async-io 1.13.0",
"async-lock 2.8.0",
@@ -1264,7 +1339,7 @@ dependencies = [
"log",
"memchr",
"once_cell",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"pin-utils",
"slab",
"wasm-bindgen-futures",
@@ -1278,7 +1353,7 @@ checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
dependencies = [
"async-stream-impl",
"futures-core",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
]
[[package]]
@@ -1287,26 +1362,26 @@ 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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "async-task"
-version = "4.4.0"
+version = "4.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
+checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
[[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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -1319,7 +1394,7 @@ dependencies = [
"futures-sink",
"futures-util",
"memchr",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
]
[[package]]
@@ -1363,8 +1438,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -1387,9 +1462,9 @@ dependencies = [
[[package]]
name = "backtrace"
-version = "0.3.69"
+version = "0.3.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
dependencies = [
"addr2line 0.21.0",
"cc",
@@ -1403,7 +1478,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",
@@ -1412,10 +1487,8 @@ dependencies = [
"ark-serialize 0.4.2",
"ark-std 0.4.0",
"dleq_vrf",
- "fflonk",
- "merlin",
"rand_chacha",
- "rand_core",
+ "rand_core 0.6.4",
"ring 0.1.0",
"sha2 0.10.8",
"sp-ark-bls12-381",
@@ -1435,6 +1508,12 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
+[[package]]
+name = "base58"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581"
+
[[package]]
name = "base64"
version = "0.13.1"
@@ -1443,9 +1522,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
[[package]]
name = "base64"
-version = "0.21.2"
+version = "0.21.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
[[package]]
name = "base64"
@@ -1482,11 +1561,12 @@ name = "binary-merkle-tree"
version = "13.0.0"
dependencies = [
"array-bytes",
- "env_logger 0.11.3",
"hash-db",
"log",
- "sp-core",
- "sp-runtime",
+ "parity-scale-codec",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
+ "sp-tracing 16.0.0",
]
[[package]]
@@ -1510,13 +1590,13 @@ dependencies = [
"lazy_static",
"lazycell",
"peeking_take_while",
- "prettyplease 0.2.12",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "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]]
@@ -1625,13 +1705,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]]
@@ -1682,7 +1762,7 @@ version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65"
dependencies = [
- "async-channel",
+ "async-channel 1.9.0",
"async-lock 2.8.0",
"async-task",
"atomic-waker",
@@ -1746,7 +1826,7 @@ dependencies = [
"scale-info",
"serde",
"sp-consensus-beefy",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -1773,7 +1853,7 @@ dependencies = [
"bp-runtime",
"frame-support",
"sp-api",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -1786,7 +1866,7 @@ dependencies = [
"bp-runtime",
"frame-support",
"sp-api",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -1797,9 +1877,11 @@ dependencies = [
"bp-bridge-hub-cumulus",
"bp-messages",
"bp-runtime",
+ "bp-xcm-bridge-hub",
"frame-support",
+ "parity-scale-codec",
"sp-api",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -1810,9 +1892,11 @@ dependencies = [
"bp-bridge-hub-cumulus",
"bp-messages",
"bp-runtime",
+ "bp-xcm-bridge-hub",
"frame-support",
+ "parity-scale-codec",
"sp-api",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -1830,8 +1914,8 @@ dependencies = [
"scale-info",
"serde",
"sp-consensus-grandpa",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -1859,7 +1943,8 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-std 14.0.0",
]
@@ -1874,8 +1959,8 @@ dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -1904,7 +1989,7 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-api",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -1921,8 +2006,8 @@ dependencies = [
"parity-util-mem",
"scale-info",
"serde",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -1930,14 +2015,18 @@ 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",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -1967,13 +2056,13 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-state-machine",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-std 14.0.0",
- "sp-trie",
- "trie-db",
+ "sp-trie 29.0.0",
+ "trie-db 0.29.1",
]
[[package]]
@@ -1987,12 +2076,12 @@ dependencies = [
"ed25519-dalek",
"finality-grandpa",
"parity-scale-codec",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-consensus-grandpa",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
]
[[package]]
@@ -2011,7 +2100,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 28.0.0",
+ "sp-io 30.0.0",
"sp-std 14.0.0",
+ "staging-xcm",
]
[[package]]
@@ -2020,8 +2118,9 @@ version = "0.6.0"
dependencies = [
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
+ "staging-xcm",
]
[[package]]
@@ -2034,8 +2133,8 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"snowbridge-core",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"staging-xcm",
]
@@ -2049,7 +2148,7 @@ dependencies = [
"emulated-integration-tests-common",
"frame-support",
"parachains-common",
- "sp-core",
+ "sp-core 28.0.0",
"testnet-parachains-constants",
]
@@ -2067,6 +2166,7 @@ dependencies = [
"pallet-bridge-messages",
"pallet-message-queue",
"pallet-xcm",
+ "pallet-xcm-bridge-hub",
"parachains-common",
"parity-scale-codec",
"rococo-system-emulated-network",
@@ -2077,8 +2177,8 @@ dependencies = [
"snowbridge-pallet-outbound-queue",
"snowbridge-pallet-system",
"snowbridge-router-primitives",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"staging-xcm",
"staging-xcm-executor",
"testnet-parachains-constants",
@@ -2116,6 +2216,7 @@ dependencies = [
"cumulus-primitives-utility",
"frame-benchmarking",
"frame-executive",
+ "frame-metadata-hash-extension",
"frame-support",
"frame-system",
"frame-system-benchmarking",
@@ -2162,13 +2263,13 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-std 14.0.0",
"sp-storage 19.0.0",
@@ -2178,7 +2279,6 @@ dependencies = [
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
- "static_assertions",
"substrate-wasm-builder",
"testnet-parachains-constants",
"xcm-runtime-apis",
@@ -2191,10 +2291,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",
@@ -2209,14 +2311,14 @@ dependencies = [
"pallet-bridge-relayers",
"pallet-timestamp",
"pallet-utility",
+ "pallet-xcm-bridge-hub",
"parachains-common",
"parachains-runtimes-test-utils",
"parity-scale-codec",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"staging-xcm",
"staging-xcm-builder",
@@ -2232,7 +2334,7 @@ dependencies = [
"emulated-integration-tests-common",
"frame-support",
"parachains-common",
- "sp-core",
+ "sp-core 28.0.0",
"testnet-parachains-constants",
]
@@ -2240,21 +2342,35 @@ dependencies = [
name = "bridge-hub-westend-integration-tests"
version = "1.0.0"
dependencies = [
+ "asset-hub-westend-runtime",
+ "bridge-hub-westend-runtime",
"cumulus-pallet-xcmp-queue",
"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",
- "sp-runtime",
+ "scale-info",
+ "snowbridge-core",
+ "snowbridge-pallet-inbound-queue",
+ "snowbridge-pallet-inbound-queue-fixtures",
+ "snowbridge-pallet-outbound-queue",
+ "snowbridge-pallet-system",
+ "snowbridge-router-primitives",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"staging-xcm",
"staging-xcm-executor",
+ "testnet-parachains-constants",
]
[[package]]
@@ -2287,6 +2403,7 @@ dependencies = [
"cumulus-primitives-utility",
"frame-benchmarking",
"frame-executive",
+ "frame-metadata-hash-extension",
"frame-support",
"frame-system",
"frame-system-benchmarking",
@@ -2318,16 +2435,27 @@ dependencies = [
"polkadot-runtime-common",
"scale-info",
"serde",
+ "snowbridge-beacon-primitives",
+ "snowbridge-core",
+ "snowbridge-outbound-queue-runtime-api",
+ "snowbridge-pallet-ethereum-client",
+ "snowbridge-pallet-inbound-queue",
+ "snowbridge-pallet-outbound-queue",
+ "snowbridge-pallet-system",
+ "snowbridge-router-primitives",
+ "snowbridge-runtime-common",
+ "snowbridge-runtime-test-common",
+ "snowbridge-system-runtime-api",
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-std 14.0.0",
"sp-storage 19.0.0",
@@ -2337,7 +2465,6 @@ dependencies = [
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
- "static_assertions",
"substrate-wasm-builder",
"testnet-parachains-constants",
"westend-runtime-constants",
@@ -2356,10 +2483,8 @@ dependencies = [
"bp-runtime",
"bp-test-utils",
"bp-xcm-bridge-hub",
- "bp-xcm-bridge-hub-router",
"frame-support",
"frame-system",
- "hash-db",
"log",
"pallet-balances",
"pallet-bridge-grandpa",
@@ -2370,29 +2495,21 @@ dependencies = [
"pallet-utility",
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
"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",
]
@@ -2443,15 +2560,15 @@ checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
[[package]]
name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[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"
@@ -2520,9 +2637,9 @@ checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
[[package]]
name = "cc"
-version = "1.0.83"
+version = "1.0.94"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7"
dependencies = [
"jobserver",
"libc",
@@ -2564,6 +2681,12 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
[[package]]
name = "chacha"
version = "0.3.0"
@@ -2614,12 +2737,11 @@ dependencies = [
"scale-info",
"serde",
"serde_json",
- "sp-application-crypto",
- "sp-core",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-keyring",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
"staging-chain-spec-builder",
"substrate-wasm-builder",
]
@@ -2634,6 +2756,7 @@ dependencies = [
"iana-time-zone",
"js-sys",
"num-traits",
+ "serde",
"wasm-bindgen",
"windows-targets 0.48.5",
]
@@ -2765,12 +2888,12 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.3"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "949626d00e063efc93b6dca932419ceb5432f99769911c0b995f7e884c778813"
+checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3"
dependencies = [
"clap_builder",
- "clap_derive 4.5.3",
+ "clap_derive 4.5.11",
]
[[package]]
@@ -2784,24 +2907,24 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.2"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
+checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa"
dependencies = [
"anstream",
"anstyle",
"clap_lex 0.7.0",
- "strsim 0.11.0",
+ "strsim 0.11.1",
"terminal_size",
]
[[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.3",
+ "clap 4.5.11",
]
[[package]]
@@ -2812,21 +2935,21 @@ checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
dependencies = [
"heck 0.4.1",
"proc-macro-error",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
[[package]]
name = "clap_derive"
-version = "4.5.3"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90239a040c80f5e14809ca132ddc4176ab33d5e17e49691793296e3fcb34d72f"
+checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e"
dependencies = [
"heck 0.5.0",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -2875,7 +2998,7 @@ dependencies = [
"emulated-integration-tests-common",
"frame-support",
"parachains-common",
- "sp-core",
+ "sp-core 28.0.0",
"testnet-parachains-constants",
]
@@ -2894,11 +3017,12 @@ dependencies = [
"pallet-message-queue",
"pallet-treasury",
"pallet-utility",
+ "pallet-whitelist",
"pallet-xcm",
"parachains-common",
"parity-scale-codec",
"polkadot-runtime-common",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"staging-xcm",
"staging-xcm-executor",
"testnet-parachains-constants",
@@ -2959,17 +3083,16 @@ dependencies = [
"polkadot-runtime-common",
"scale-info",
"sp-api",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
@@ -2985,9 +3108,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",
@@ -3012,8 +3135,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d51beaa537d73d2d1ff34ee70bc095f170420ab2ec5d687ecd3ec2b0d092514b"
dependencies = [
"nom",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -3058,7 +3181,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",
@@ -3220,13 +3343,12 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
@@ -3270,6 +3392,39 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "coretime-rococo-emulated-chain"
+version = "0.1.0"
+dependencies = [
+ "coretime-rococo-runtime",
+ "cumulus-primitives-core",
+ "emulated-integration-tests-common",
+ "frame-support",
+ "parachains-common",
+ "sp-core 28.0.0",
+ "testnet-parachains-constants",
+]
+
+[[package]]
+name = "coretime-rococo-integration-tests"
+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 31.0.1",
+ "staging-xcm",
+ "staging-xcm-executor",
+]
+
[[package]]
name = "coretime-rococo-runtime"
version = "0.1.0"
@@ -3300,6 +3455,7 @@ dependencies = [
"pallet-collator-selection",
"pallet-message-queue",
"pallet-multisig",
+ "pallet-proxy",
"pallet-session",
"pallet-sudo",
"pallet-timestamp",
@@ -3318,13 +3474,12 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
@@ -3337,6 +3492,39 @@ dependencies = [
"xcm-runtime-apis",
]
+[[package]]
+name = "coretime-westend-emulated-chain"
+version = "0.1.0"
+dependencies = [
+ "coretime-westend-runtime",
+ "cumulus-primitives-core",
+ "emulated-integration-tests-common",
+ "frame-support",
+ "parachains-common",
+ "sp-core 28.0.0",
+ "testnet-parachains-constants",
+]
+
+[[package]]
+name = "coretime-westend-integration-tests"
+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 31.0.1",
+ "staging-xcm",
+ "staging-xcm-executor",
+ "westend-runtime-constants",
+ "westend-system-emulated-network",
+]
+
[[package]]
name = "coretime-westend-runtime"
version = "0.1.0"
@@ -3367,6 +3555,7 @@ dependencies = [
"pallet-collator-selection",
"pallet-message-queue",
"pallet-multisig",
+ "pallet-proxy",
"pallet-session",
"pallet-timestamp",
"pallet-transaction-payment",
@@ -3383,13 +3572,12 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
@@ -3538,21 +3726,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"
@@ -3571,7 +3744,7 @@ dependencies = [
"anes",
"cast",
"ciborium",
- "clap 4.5.3",
+ "clap 4.5.11",
"criterion-plot",
"futures",
"is-terminal",
@@ -3656,7 +3829,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
dependencies = [
"generic-array 0.14.7",
- "rand_core",
+ "rand_core 0.6.4",
"subtle 2.5.0",
"zeroize",
]
@@ -3668,7 +3841,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
"generic-array 0.14.7",
- "rand_core",
+ "rand_core 0.6.4",
"typenum",
]
@@ -3705,15 +3878,15 @@ dependencies = [
name = "cumulus-client-cli"
version = "0.7.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"parity-scale-codec",
"sc-chain-spec",
"sc-cli",
"sc-client-api",
"sc-service",
"sp-blockchain",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"url",
]
@@ -3739,10 +3912,10 @@ dependencies = [
"sc-client-api",
"sp-api",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-maybe-compressed-blob",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-tracing 16.0.0",
"tracing",
]
@@ -3772,20 +3945,22 @@ dependencies = [
"sc-consensus-babe",
"sc-consensus-slots",
"sc-telemetry",
+ "sc-utils",
"schnellru",
"sp-api",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-keystore",
- "sp-runtime",
- "sp-state-machine",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-timestamp",
"substrate-prometheus-endpoint",
+ "tokio",
"tracing",
]
@@ -3812,11 +3987,11 @@ dependencies = [
"sp-blockchain",
"sp-consensus",
"sp-consensus-slots",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-timestamp",
"sp-tracing 16.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
"sp-version",
"substrate-prometheus-endpoint",
"tracing",
@@ -3831,8 +4006,8 @@ dependencies = [
"cumulus-primitives-parachain-inherent",
"sp-consensus",
"sp-inherents",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"thiserror",
]
@@ -3851,9 +4026,9 @@ dependencies = [
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"substrate-prometheus-endpoint",
"tracing",
]
@@ -3883,11 +4058,11 @@ dependencies = [
"sp-api",
"sp-blockchain",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
- "sp-state-machine",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-version",
"substrate-test-utils",
"tokio",
@@ -3906,15 +4081,13 @@ dependencies = [
"cumulus-test-relay-sproof-builder",
"parity-scale-codec",
"sc-client-api",
- "scale-info",
"sp-api",
- "sp-crypto-hashing",
+ "sp-crypto-hashing 0.1.0",
"sp-inherents",
- "sp-runtime",
- "sp-state-machine",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-storage 19.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
"tracing",
]
@@ -3946,7 +4119,7 @@ dependencies = [
"sp-blockchain",
"sp-consensus",
"sp-maybe-compressed-blob",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"sp-version",
"substrate-test-utils",
@@ -3984,9 +4157,9 @@ dependencies = [
"sp-api",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-transaction-pool",
]
@@ -4001,10 +4174,9 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-consensus-aura",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -4018,10 +4190,9 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"staging-xcm",
]
@@ -4057,21 +4228,21 @@ dependencies = [
"sc-client-api",
"scale-info",
"sp-consensus-slots",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-externalities 0.25.0",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-std 14.0.0",
"sp-tracing 16.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
"sp-version",
"staging-xcm",
"staging-xcm-builder",
- "trie-db",
+ "trie-db 0.29.1",
"trie-standardmap",
]
@@ -4080,9 +4251,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -4094,8 +4265,7 @@ dependencies = [
"frame-system",
"pallet-session",
"parity-scale-codec",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -4109,8 +4279,7 @@ dependencies = [
"parity-scale-codec",
"polkadot-primitives",
"scale-info",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -4122,9 +4291,8 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"staging-xcm",
]
@@ -4146,10 +4314,9 @@ dependencies = [
"polkadot-runtime-common",
"polkadot-runtime-parachains",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -4165,26 +4332,38 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
"staging-xcm",
]
[[package]]
-name = "cumulus-primitives-aura"
-version = "0.7.0"
+name = "cumulus-pov-validator"
+version = "0.1.0"
dependencies = [
+ "anyhow",
+ "clap 4.5.11",
"parity-scale-codec",
- "polkadot-core-primitives",
+ "polkadot-node-primitives",
+ "polkadot-parachain-primitives",
"polkadot-primitives",
- "sp-api",
- "sp-consensus-aura",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sc-executor",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-maybe-compressed-blob",
+ "tracing",
+ "tracing-subscriber 0.3.18",
]
[[package]]
-name = "cumulus-primitives-core"
+name = "cumulus-primitives-aura"
+version = "0.7.0"
+dependencies = [
+ "sp-api",
+ "sp-consensus-aura",
+]
+
+[[package]]
+name = "cumulus-primitives-core"
version = "0.7.0"
dependencies = [
"parity-scale-codec",
@@ -4193,9 +4372,8 @@ dependencies = [
"polkadot-primitives",
"scale-info",
"sp-api",
- "sp-runtime",
- "sp-std 14.0.0",
- "sp-trie",
+ "sp-runtime 31.0.1",
+ "sp-trie 29.0.0",
"staging-xcm",
]
@@ -4207,24 +4385,21 @@ dependencies = [
"cumulus-primitives-core",
"parity-scale-codec",
"scale-info",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-runtime",
- "sp-state-machine",
- "sp-std 14.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
]
[[package]]
name = "cumulus-primitives-proof-size-hostfunction"
version = "0.2.0"
dependencies = [
- "sp-core",
+ "sp-core 28.0.0",
"sp-externalities 0.25.0",
- "sp-io",
+ "sp-io 30.0.0",
"sp-runtime-interface 24.0.0",
- "sp-state-machine",
- "sp-trie",
+ "sp-state-machine 0.35.0",
+ "sp-trie 29.0.0",
]
[[package]]
@@ -4240,10 +4415,9 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
- "sp-trie",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
+ "sp-trie 29.0.0",
]
[[package]]
@@ -4251,10 +4425,7 @@ name = "cumulus-primitives-timestamp"
version = "0.7.0"
dependencies = [
"cumulus-primitives-core",
- "futures",
- "parity-scale-codec",
"sp-inherents",
- "sp-std 14.0.0",
"sp-timestamp",
]
@@ -4268,10 +4439,7 @@ dependencies = [
"pallet-asset-conversion",
"parity-scale-codec",
"polkadot-runtime-common",
- "polkadot-runtime-parachains",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -4299,10 +4467,10 @@ dependencies = [
"sc-tracing",
"sp-api",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
]
[[package]]
@@ -4312,13 +4480,13 @@ dependencies = [
"async-trait",
"cumulus-primitives-core",
"futures",
- "jsonrpsee-core",
+ "jsonrpsee-core 0.24.3",
"parity-scale-codec",
"polkadot-overseer",
"sc-client-api",
"sp-api",
"sp-blockchain",
- "sp-state-machine",
+ "sp-state-machine 0.35.0",
"sp-version",
"thiserror",
]
@@ -4333,15 +4501,8 @@ dependencies = [
"cumulus-relay-chain-interface",
"cumulus-relay-chain-rpc-interface",
"futures",
- "parking_lot 0.12.3",
- "polkadot-availability-recovery",
- "polkadot-collator-protocol",
"polkadot-core-primitives",
"polkadot-network-bridge",
- "polkadot-node-collation-generation",
- "polkadot-node-core-chain-api",
- "polkadot-node-core-prospective-parachains",
- "polkadot-node-core-runtime-api",
"polkadot-node-network-protocol",
"polkadot-node-subsystem-util",
"polkadot-overseer",
@@ -4358,7 +4519,7 @@ dependencies = [
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"substrate-prometheus-endpoint",
"tokio",
"tracing",
@@ -4374,10 +4535,11 @@ dependencies = [
"either",
"futures",
"futures-timer",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"parity-scale-codec",
"pin-project",
"polkadot-overseer",
+ "portpicker",
"rand",
"sc-client-api",
"sc-rpc-api",
@@ -4385,14 +4547,14 @@ dependencies = [
"schnellru",
"serde",
"serde_json",
- "smoldot",
- "smoldot-light",
+ "smoldot 0.11.0",
+ "smoldot-light 0.9.0",
"sp-api",
"sp-authority-discovery",
"sp-consensus-babe",
- "sp-core",
- "sp-runtime",
- "sp-state-machine",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-storage 19.0.0",
"sp-version",
"thiserror",
@@ -4426,15 +4588,15 @@ dependencies = [
"sc-executor-common",
"sc-service",
"sp-api",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-blockchain",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-timestamp",
"substrate-test-client",
]
@@ -4446,10 +4608,9 @@ dependencies = [
"cumulus-primitives-core",
"parity-scale-codec",
"polkadot-primitives",
- "sp-runtime",
- "sp-state-machine",
- "sp-std 14.0.0",
- "sp-trie",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
+ "sp-trie 29.0.0",
]
[[package]]
@@ -4480,14 +4641,13 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-transaction-pool",
"sp-version",
"staging-parachain-info",
@@ -4499,7 +4659,7 @@ name = "cumulus-test-service"
version = "0.1.0"
dependencies = [
"async-trait",
- "clap 4.5.3",
+ "clap 4.5.11",
"criterion",
"cumulus-client-cli",
"cumulus-client-collator",
@@ -4522,7 +4682,7 @@ dependencies = [
"frame-system",
"frame-system-rpc-runtime-api",
"futures",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"pallet-timestamp",
"pallet-transaction-payment",
"parachains-common",
@@ -4535,7 +4695,6 @@ dependencies = [
"polkadot-test-service",
"portpicker",
"rand",
- "rococo-parachain-runtime",
"sc-basic-authorship",
"sc-block-builder",
"sc-chain-spec",
@@ -4555,17 +4714,16 @@ dependencies = [
"serde",
"serde_json",
"sp-api",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-authority-discovery",
"sp-blockchain",
"sp-consensus",
"sp-consensus-aura",
- "sp-consensus-grandpa",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-timestamp",
"sp-tracing 16.0.0",
"substrate-test-client",
@@ -4607,6 +4765,19 @@ dependencies = [
"windows-sys 0.52.0",
]
+[[package]]
+name = "curve25519-dalek"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61"
+dependencies = [
+ "byteorder",
+ "digest 0.9.0",
+ "rand_core 0.5.1",
+ "subtle 2.5.0",
+ "zeroize",
+]
+
[[package]]
name = "curve25519-dalek"
version = "4.1.3"
@@ -4629,9 +4800,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -4642,7 +4813,7 @@ checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8"
dependencies = [
"byteorder",
"digest 0.9.0",
- "rand_core",
+ "rand_core 0.6.4",
"subtle-ng",
"zeroize",
]
@@ -4668,10 +4839,10 @@ dependencies = [
"cc",
"codespan-reporting",
"once_cell",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"scratch",
- "syn 2.0.61",
+ "syn 2.0.65",
]
[[package]]
@@ -4686,9 +4857,79 @@ 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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
+]
+
+[[package]]
+name = "darling"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
+dependencies = [
+ "darling_core 0.14.4",
+ "darling_macro 0.14.4",
+]
+
+[[package]]
+name = "darling"
+version = "0.20.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989"
+dependencies = [
+ "darling_core 0.20.10",
+ "darling_macro 0.20.10",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "strsim 0.10.0",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.20.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "strsim 0.11.1",
+ "syn 2.0.65",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
+dependencies = [
+ "darling_core 0.14.4",
+ "quote 1.0.37",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.20.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
+dependencies = [
+ "darling_core 0.20.10",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -4698,7 +4939,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edd72493923899c6f10c641bdbdeddc7183d6396641d99c1a0d1597f37f92e28"
dependencies = [
"cfg-if",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"lock_api",
"once_cell",
"parking_lot_core 0.9.8",
@@ -4779,9 +5020,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"
@@ -4789,31 +5033,31 @@ 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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
[[package]]
name = "derive-syn-parse"
-version = "0.1.5"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd"
+checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 1.0.109",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
-name = "derive-syn-parse"
-version = "0.2.0"
+name = "derive-where"
+version = "1.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762"
+checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -4822,9 +5066,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -4834,8 +5078,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
dependencies = [
"convert_case",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"rustc_version 0.4.0",
"syn 1.0.109",
]
@@ -4930,9 +5174,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -4944,7 +5188,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",
@@ -4988,14 +5232,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a081e51fb188742f5a7a1164ad752121abcb22874b21e2c3b0dd040c515fdad"
dependencies = [
"common-path",
- "derive-syn-parse 0.2.0",
+ "derive-syn-parse",
"once_cell",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "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",
]
@@ -5039,8 +5283,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -5081,35 +5325,49 @@ version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
dependencies = [
- "curve25519-dalek",
+ "curve25519-dalek 4.1.3",
"ed25519",
- "rand_core",
+ "rand_core 0.6.4",
"serde",
"sha2 0.10.8",
"subtle 2.5.0",
"zeroize",
]
+[[package]]
+name = "ed25519-zebra"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6"
+dependencies = [
+ "curve25519-dalek 3.2.0",
+ "hashbrown 0.12.3",
+ "hex",
+ "rand_core 0.6.4",
+ "sha2 0.9.9",
+ "zeroize",
+]
+
[[package]]
name = "ed25519-zebra"
version = "4.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9"
dependencies = [
- "curve25519-dalek",
+ "curve25519-dalek 4.1.3",
"ed25519",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"hex",
- "rand_core",
+ "rand_core 0.6.4",
"sha2 0.10.8",
"zeroize",
]
[[package]]
name = "either"
-version = "1.9.0"
+version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
[[package]]
name = "elliptic-curve"
@@ -5124,7 +5382,7 @@ dependencies = [
"generic-array 0.14.7",
"group",
"pkcs8",
- "rand_core",
+ "rand_core 0.6.4",
"sec1",
"serdect",
"subtle 2.5.0",
@@ -5137,6 +5395,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",
@@ -5147,6 +5406,7 @@ dependencies = [
"pallet-bridge-messages",
"pallet-message-queue",
"pallet-xcm",
+ "pallet-xcm-bridge-hub",
"parachains-common",
"parity-scale-codec",
"paste",
@@ -5157,8 +5417,8 @@ dependencies = [
"sp-authority-discovery",
"sp-consensus-babe",
"sp-consensus-beefy",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"staging-xcm",
"xcm-emulator",
]
@@ -5185,8 +5445,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -5197,9 +5457,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -5217,20 +5477,20 @@ 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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "enumn"
-version = "0.1.12"
+version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2ad8cef1d801a4686bfd8919f0b30eac4c8e48968c437a6405ded4fb5272d2b"
+checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -5393,6 +5653,16 @@ version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
+[[package]]
+name = "event-listener"
+version = "4.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
+dependencies = [
+ "concurrent-queue",
+ "pin-project-lite",
+]
+
[[package]]
name = "event-listener"
version = "5.2.0"
@@ -5401,7 +5671,7 @@ checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
dependencies = [
"concurrent-queue",
"parking",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
]
[[package]]
@@ -5411,7 +5681,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
dependencies = [
"event-listener 5.2.0",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
]
[[package]]
@@ -5425,15 +5695,17 @@ dependencies = [
[[package]]
name = "expander"
-version = "2.0.0"
+version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f86a749cf851891866c10515ef6c299b5c69661465e9c3bbe7e07a2b77fb0f7"
+checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2"
dependencies = [
"blake2 0.10.6",
+ "file-guard",
"fs-err",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "prettyplease",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -5503,9 +5775,9 @@ dependencies = [
"expander",
"indexmap 2.2.3",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -5540,7 +5812,7 @@ version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
dependencies = [
- "rand_core",
+ "rand_core 0.6.4",
"subtle 2.5.0",
]
@@ -5563,6 +5835,16 @@ version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7"
+[[package]]
+name = "file-guard"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21ef72acf95ec3d7dbf61275be556299490a245f017cf084bd23b4f68cf9407c"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
[[package]]
name = "file-per-thread-logger"
version = "0.1.6"
@@ -5629,6 +5911,16 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "finito"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2384245d85162258a14b43567a9ee3598f5ae746a1581fb5d3d2cb780f0dbf95"
+dependencies = [
+ "futures-timer",
+ "pin-project",
+]
+
[[package]]
name = "fixed-hash"
version = "0.8.0"
@@ -5696,9 +5988,9 @@ dependencies = [
[[package]]
name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
dependencies = [
"percent-encoding",
]
@@ -5745,13 +6037,12 @@ dependencies = [
"scale-info",
"serde",
"sp-api",
- "sp-application-crypto",
- "sp-core",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-runtime-interface 24.0.0",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"static_assertions",
]
@@ -5763,7 +6054,7 @@ dependencies = [
"Inflector",
"array-bytes",
"chrono",
- "clap 4.5.3",
+ "clap 4.5.11",
"comfy-table",
"frame-benchmarking",
"frame-support",
@@ -5789,17 +6080,17 @@ dependencies = [
"serde_json",
"sp-api",
"sp-blockchain",
- "sp-core",
+ "sp-core 28.0.0",
"sp-database",
"sp-externalities 0.25.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
- "sp-state-machine",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-storage 19.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
"sp-wasm-interface 20.0.0",
"thiserror",
"thousands",
@@ -5814,9 +6105,8 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -5827,11 +6117,11 @@ dependencies = [
"frame-support",
"parity-scale-codec",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"scale-info",
- "sp-arithmetic",
- "syn 2.0.61",
+ "sp-arithmetic 23.0.0",
+ "syn 2.0.65",
"trybuild",
]
@@ -5845,19 +6135,18 @@ dependencies = [
"parity-scale-codec",
"rand",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-npos-elections",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
name = "frame-election-solution-type-fuzzer"
version = "2.0.0-alpha.5"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"frame-election-provider-solution-type",
"frame-election-provider-support",
"frame-support",
@@ -5865,9 +6154,9 @@ dependencies = [
"parity-scale-codec",
"rand",
"scale-info",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-npos-elections",
- "sp-runtime",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -5884,15 +6173,25 @@ dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
"scale-info",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"sp-version",
]
+[[package]]
+name = "frame-metadata"
+version = "15.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "878babb0b136e731cc77ec2fd883ff02745ff21e6fb662729953d44923df009c"
+dependencies = [
+ "cfg-if",
+ "parity-scale-codec",
+ "scale-info",
+]
+
[[package]]
name = "frame-metadata"
version = "16.0.0"
@@ -5911,7 +6210,7 @@ version = "0.1.0"
dependencies = [
"array-bytes",
"docify",
- "frame-metadata",
+ "frame-metadata 16.0.0",
"frame-support",
"frame-system",
"log",
@@ -5919,7 +6218,7 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-api",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"sp-transaction-pool",
"substrate-test-runtime-client",
@@ -5930,14 +6229,14 @@ dependencies = [
name = "frame-omni-bencher"
version = "0.1.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"cumulus-primitives-proof-size-hostfunction",
- "env_logger 0.11.3",
"frame-benchmarking-cli",
"log",
"sc-cli",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-statement-store",
+ "tracing-subscriber 0.3.18",
]
[[package]]
@@ -5946,15 +6245,15 @@ version = "0.35.0"
dependencies = [
"futures",
"indicatif",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"parity-scale-codec",
"serde",
- "sp-core",
- "sp-crypto-hashing",
- "sp-io",
- "sp-runtime",
- "sp-state-machine",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-tracing 16.0.0",
"spinners",
"substrate-rpc-client",
@@ -5969,10 +6268,11 @@ dependencies = [
"aquamarine",
"array-bytes",
"assert_matches",
+ "binary-merkle-tree",
"bitflags 1.3.2",
"docify",
"environmental",
- "frame-metadata",
+ "frame-metadata 16.0.0",
"frame-support-procedural",
"frame-system",
"impl-trait-for-tuples",
@@ -5987,22 +6287,23 @@ dependencies = [
"serde_json",
"smallvec",
"sp-api",
- "sp-arithmetic",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-crypto-hashing-proc-macro",
"sp-debug-derive 14.0.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-metadata-ir",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-staking",
- "sp-state-machine",
+ "sp-state-machine 0.35.0",
"sp-std 14.0.0",
"sp-timestamp",
"sp-tracing 16.0.0",
- "sp-weights",
+ "sp-trie 29.0.0",
+ "sp-weights 27.0.0",
"static_assertions",
"tt-call",
]
@@ -6013,17 +6314,28 @@ version = "23.0.0"
dependencies = [
"Inflector",
"cfg-expr",
- "derive-syn-parse 0.2.0",
+ "derive-syn-parse",
+ "docify",
"expander",
+ "frame-support",
"frame-support-procedural-tools",
+ "frame-system",
"itertools 0.11.0",
"macro_magic",
+ "parity-scale-codec",
+ "pretty_assertions",
"proc-macro-warning 1.0.0",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"regex",
- "sp-crypto-hashing",
- "syn 2.0.61",
+ "scale-info",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-io 30.0.0",
+ "sp-metadata-ir",
+ "sp-runtime 31.0.1",
+ "static_assertions",
+ "syn 2.0.65",
]
[[package]]
@@ -6032,18 +6344,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.35",
- "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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -6052,7 +6364,7 @@ version = "3.0.0"
dependencies = [
"frame-benchmarking",
"frame-executive",
- "frame-metadata",
+ "frame-metadata 16.0.0",
"frame-support",
"frame-support-test-pallet",
"frame-system",
@@ -6062,13 +6374,12 @@ dependencies = [
"scale-info",
"serde",
"sp-api",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-metadata-ir",
- "sp-runtime",
- "sp-state-machine",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-version",
"static_assertions",
"trybuild",
@@ -6082,8 +6393,8 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-version",
]
@@ -6096,7 +6407,7 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-runtime",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -6120,13 +6431,13 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
+ "sp-core 28.0.0",
"sp-externalities 0.25.0",
- "sp-io",
- "sp-runtime",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"sp-version",
- "sp-weights",
+ "sp-weights 27.0.0",
"substrate-test-runtime-client",
]
@@ -6139,11 +6450,10 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-core",
+ "sp-core 28.0.0",
"sp-externalities 0.25.0",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-version",
]
@@ -6163,8 +6473,7 @@ dependencies = [
"frame-support",
"parity-scale-codec",
"sp-api",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -6275,18 +6584,23 @@ dependencies = [
"futures-io",
"memchr",
"parking",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"waker-fn",
]
[[package]]
name = "futures-lite"
-version = "2.3.0"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
+checksum = "9c1155db57329dca6d018b61e76b1488ce9a2e5e44028cac420a5898f4fcef63"
dependencies = [
+ "fastrand 2.1.0",
"futures-core",
- "pin-project-lite 0.2.12",
+ "futures-io",
+ "memchr",
+ "parking",
+ "pin-project-lite",
+ "waker-fn",
]
[[package]]
@@ -6295,9 +6609,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -6341,7 +6655,7 @@ dependencies = [
"futures-sink",
"futures-task",
"memchr",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"pin-utils",
"slab",
]
@@ -6416,7 +6730,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9"
dependencies = [
"rand",
- "rand_core",
+ "rand_core 0.6.4",
]
[[package]]
@@ -6456,6 +6770,12 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+[[package]]
+name = "glob-match"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9985c9503b412198aa4197559e9a318524ebc4519c229bfa05a535828c950b9d"
+
[[package]]
name = "gloo-timers"
version = "0.2.6"
@@ -6496,13 +6816,12 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
@@ -6539,7 +6858,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
dependencies = [
"ff",
- "rand_core",
+ "rand_core 0.6.4",
"subtle 2.5.0",
]
@@ -6636,9 +6955,9 @@ dependencies = [
[[package]]
name = "hashbrown"
-version = "0.14.3"
+version = "0.14.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
dependencies = [
"ahash 0.8.11",
"allocator-api2",
@@ -6651,7 +6970,7 @@ version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
dependencies = [
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
]
[[package]]
@@ -6708,11 +7027,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",
]
@@ -6747,6 +7111,15 @@ dependencies = [
"hmac 0.8.1",
]
+[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
[[package]]
name = "honggfuzz"
version = "0.5.55"
@@ -6800,7 +7173,7 @@ checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
dependencies = [
"bytes",
"http 0.2.9",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
]
[[package]]
@@ -6823,9 +7196,15 @@ dependencies = [
"futures-util",
"http 1.1.0",
"http-body 1.0.0",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
]
+[[package]]
+name = "http-range-header"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f"
+
[[package]]
name = "httparse"
version = "1.8.0"
@@ -6860,7 +7239,7 @@ dependencies = [
"httparse",
"httpdate",
"itoa",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"socket2 0.5.7",
"tokio",
"tower-service",
@@ -6883,7 +7262,7 @@ dependencies = [
"httparse",
"httpdate",
"itoa",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"smallvec",
"tokio",
"want",
@@ -6923,6 +7302,31 @@ dependencies = [
"tower-service",
]
+[[package]]
+name = "hyper-timeout"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
+dependencies = [
+ "hyper 0.14.29",
+ "pin-project-lite",
+ "tokio",
+ "tokio-io-timeout",
+]
+
+[[package]]
+name = "hyper-tls"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
+dependencies = [
+ "bytes",
+ "hyper 0.14.29",
+ "native-tls",
+ "tokio",
+ "tokio-native-tls",
+]
+
[[package]]
name = "hyper-util"
version = "0.1.5"
@@ -6935,7 +7339,7 @@ dependencies = [
"http 1.1.0",
"http-body 1.0.0",
"hyper 1.3.1",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"socket2 0.5.7",
"tokio",
"tower",
@@ -6966,6 +7370,12 @@ dependencies = [
"cc",
]
+[[package]]
+name = "ident_case"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+
[[package]]
name = "idna"
version = "0.2.3"
@@ -6987,6 +7397,16 @@ dependencies = [
"unicode-normalization",
]
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
[[package]]
name = "if-addrs"
version = "0.10.2"
@@ -7079,8 +7499,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -7099,8 +7519,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
]
[[package]]
@@ -7127,7 +7547,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
dependencies = [
"equivalent",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
]
[[package]]
@@ -7160,9 +7580,9 @@ dependencies = [
[[package]]
name = "instant"
-version = "0.1.12"
+version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
dependencies = [
"cfg-if",
]
@@ -7243,7 +7663,7 @@ version = "1.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9"
dependencies = [
- "async-channel",
+ "async-channel 1.9.0",
"castaway",
"crossbeam-utils",
"curl",
@@ -7283,11 +7703,37 @@ dependencies = [
]
[[package]]
-name = "itoa"
-version = "1.0.9"
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+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"
@@ -7332,6 +7778,30 @@ version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd"
+[[package]]
+name = "json-patch"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec9ad60d674508f3ca8f380a928cfe7b096bc729c4e2dbfe3852bc45da3ab30b"
+dependencies = [
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "jsonpath-rust"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06cc127b7c3d270be504572364f9569761a180b981919dd0d87693a7f5fb7829"
+dependencies = [
+ "pest",
+ "pest_derive",
+ "regex",
+ "serde_json",
+ "thiserror",
+]
+
[[package]]
name = "jsonpath_lib"
version = "0.3.0"
@@ -7343,22 +7813,66 @@ dependencies = [
"serde_json",
]
+[[package]]
+name = "jsonrpsee"
+version = "0.22.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfdb12a2381ea5b2e68c3469ec604a007b367778cdb14d09612c8069ebd616ad"
+dependencies = [
+ "jsonrpsee-client-transport 0.22.5",
+ "jsonrpsee-core 0.22.5",
+ "jsonrpsee-http-client 0.22.5",
+ "jsonrpsee-types 0.22.5",
+]
+
[[package]]
name = "jsonrpsee"
version = "0.23.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b089779ad7f80768693755a031cc14a7766aba707cbe886674e3f79e9b7e47"
dependencies = [
- "jsonrpsee-core",
- "jsonrpsee-http-client",
+ "jsonrpsee-core 0.23.2",
+ "jsonrpsee-types 0.23.2",
+ "jsonrpsee-ws-client 0.23.2",
+]
+
+[[package]]
+name = "jsonrpsee"
+version = "0.24.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ec465b607a36dc5dd45d48b7689bc83f679f66a3ac6b6b21cc787a11e0f8685"
+dependencies = [
+ "jsonrpsee-core 0.24.3",
+ "jsonrpsee-http-client 0.24.3",
"jsonrpsee-proc-macros",
"jsonrpsee-server",
- "jsonrpsee-types",
- "jsonrpsee-ws-client",
+ "jsonrpsee-types 0.24.3",
+ "jsonrpsee-ws-client 0.24.3",
"tokio",
"tracing",
]
+[[package]]
+name = "jsonrpsee-client-transport"
+version = "0.22.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4978087a58c3ab02efc5b07c5e5e2803024536106fd5506f558db172c889b3aa"
+dependencies = [
+ "futures-util",
+ "http 0.2.9",
+ "jsonrpsee-core 0.22.5",
+ "pin-project",
+ "rustls-native-certs 0.7.0",
+ "rustls-pki-types",
+ "soketto 0.7.1",
+ "thiserror",
+ "tokio",
+ "tokio-rustls 0.25.0",
+ "tokio-util",
+ "tracing",
+ "url",
+]
+
[[package]]
name = "jsonrpsee-client-transport"
version = "0.23.2"
@@ -7368,7 +7882,30 @@ dependencies = [
"base64 0.22.1",
"futures-util",
"http 1.1.0",
- "jsonrpsee-core",
+ "jsonrpsee-core 0.23.2",
+ "pin-project",
+ "rustls 0.23.10",
+ "rustls-pki-types",
+ "rustls-platform-verifier",
+ "soketto 0.8.0",
+ "thiserror",
+ "tokio",
+ "tokio-rustls 0.26.0",
+ "tokio-util",
+ "tracing",
+ "url",
+]
+
+[[package]]
+name = "jsonrpsee-client-transport"
+version = "0.24.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90f0977f9c15694371b8024c35ab58ca043dbbf4b51ccb03db8858a021241df1"
+dependencies = [
+ "base64 0.22.1",
+ "futures-util",
+ "http 1.1.0",
+ "jsonrpsee-core 0.24.3",
"pin-project",
"rustls 0.23.10",
"rustls-pki-types",
@@ -7382,6 +7919,29 @@ dependencies = [
"url",
]
+[[package]]
+name = "jsonrpsee-core"
+version = "0.22.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4b257e1ec385e07b0255dde0b933f948b5c8b8c28d42afda9587c3a967b896d"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "beef",
+ "futures-timer",
+ "futures-util",
+ "hyper 0.14.29",
+ "jsonrpsee-types 0.22.5",
+ "pin-project",
+ "rustc-hash 1.1.0",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+ "tracing",
+]
+
[[package]]
name = "jsonrpsee-core"
version = "0.23.2"
@@ -7391,17 +7951,37 @@ dependencies = [
"anyhow",
"async-trait",
"beef",
+ "futures-timer",
+ "futures-util",
+ "jsonrpsee-types 0.23.2",
+ "pin-project",
+ "rustc-hash 1.1.0",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+ "tracing",
+]
+
+[[package]]
+name = "jsonrpsee-core"
+version = "0.24.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e942c55635fbf5dc421938b8558a8141c7e773720640f4f1dbe1f4164ca4e221"
+dependencies = [
+ "async-trait",
"bytes",
"futures-timer",
"futures-util",
"http 1.1.0",
"http-body 1.0.0",
"http-body-util",
- "jsonrpsee-types",
+ "jsonrpsee-types 0.24.3",
"parking_lot 0.12.3",
"pin-project",
"rand",
- "rustc-hash",
+ "rustc-hash 2.0.0",
"serde",
"serde_json",
"thiserror",
@@ -7412,9 +7992,29 @@ dependencies = [
[[package]]
name = "jsonrpsee-http-client"
-version = "0.23.2"
+version = "0.22.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d90064e04fb9d7282b1c71044ea94d0bbc6eff5621c66f1a0bce9e9de7cf3ac"
+checksum = "1ccf93fc4a0bfe05d851d37d7c32b7f370fe94336b52a2f0efc5f1981895c2e5"
+dependencies = [
+ "async-trait",
+ "hyper 0.14.29",
+ "hyper-rustls 0.24.2",
+ "jsonrpsee-core 0.22.5",
+ "jsonrpsee-types 0.22.5",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "tower",
+ "tracing",
+ "url",
+]
+
+[[package]]
+name = "jsonrpsee-http-client"
+version = "0.24.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e33774602df12b68a2310b38a535733c477ca4a498751739f89fe8dbbb62ec4c"
dependencies = [
"async-trait",
"base64 0.22.1",
@@ -7422,8 +8022,8 @@ dependencies = [
"hyper 1.3.1",
"hyper-rustls 0.27.2",
"hyper-util",
- "jsonrpsee-core",
- "jsonrpsee-types",
+ "jsonrpsee-core 0.24.3",
+ "jsonrpsee-types 0.24.3",
"rustls 0.23.10",
"rustls-platform-verifier",
"serde",
@@ -7437,32 +8037,31 @@ 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.35",
- "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",
"http-body-util",
"hyper 1.3.1",
"hyper-util",
- "jsonrpsee-core",
- "jsonrpsee-types",
+ "jsonrpsee-core 0.24.3",
+ "jsonrpsee-types 0.24.3",
"pin-project",
"route-recognizer",
"serde",
@@ -7476,6 +8075,19 @@ dependencies = [
"tracing",
]
+[[package]]
+name = "jsonrpsee-types"
+version = "0.22.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "150d6168405890a7a3231a3c74843f58b8959471f6df76078db2619ddee1d07d"
+dependencies = [
+ "anyhow",
+ "beef",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
[[package]]
name = "jsonrpsee-types"
version = "0.23.2"
@@ -7489,6 +8101,18 @@ dependencies = [
"thiserror",
]
+[[package]]
+name = "jsonrpsee-types"
+version = "0.24.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23b67d6e008164f027afbc2e7bb79662650158d26df200040282d2aa1cbb093b"
+dependencies = [
+ "http 1.1.0",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
[[package]]
name = "jsonrpsee-ws-client"
version = "0.23.2"
@@ -7496,9 +8120,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c28759775f5cb2f1ea9667672d3fe2b0e701d1f4b7b67954e60afe7fd058b5e"
dependencies = [
"http 1.1.0",
- "jsonrpsee-client-transport",
- "jsonrpsee-core",
- "jsonrpsee-types",
+ "jsonrpsee-client-transport 0.23.2",
+ "jsonrpsee-core 0.23.2",
+ "jsonrpsee-types 0.23.2",
+ "url",
+]
+
+[[package]]
+name = "jsonrpsee-ws-client"
+version = "0.24.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "992bf67d1132f88edf4a4f8cff474cf01abb2be203004a2b8e11c2b20795b99e"
+dependencies = [
+ "http 1.1.0",
+ "jsonrpsee-client-transport 0.24.3",
+ "jsonrpsee-core 0.24.3",
+ "jsonrpsee-types 0.24.3",
"url",
]
@@ -7516,6 +8153,20 @@ dependencies = [
"sha2 0.10.8",
]
+[[package]]
+name = "k8s-openapi"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edc3606fd16aca7989db2f84bb25684d0270c6d6fa1dbcd0025af7b4130523a6"
+dependencies = [
+ "base64 0.21.7",
+ "bytes",
+ "chrono",
+ "serde",
+ "serde-value",
+ "serde_json",
+]
+
[[package]]
name = "keccak"
version = "0.1.4"
@@ -7559,6 +8210,99 @@ dependencies = [
"substrate-wasm-builder",
]
+[[package]]
+name = "kube"
+version = "0.87.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3499c8d60c763246c7a213f51caac1e9033f46026904cb89bc8951ae8601f26e"
+dependencies = [
+ "k8s-openapi",
+ "kube-client",
+ "kube-core",
+ "kube-runtime",
+]
+
+[[package]]
+name = "kube-client"
+version = "0.87.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "033450dfa0762130565890dadf2f8835faedf749376ca13345bcd8ecd6b5f29f"
+dependencies = [
+ "base64 0.21.7",
+ "bytes",
+ "chrono",
+ "either",
+ "futures",
+ "home",
+ "http 0.2.9",
+ "http-body 0.4.5",
+ "hyper 0.14.29",
+ "hyper-rustls 0.24.2",
+ "hyper-timeout",
+ "jsonpath-rust",
+ "k8s-openapi",
+ "kube-core",
+ "pem 3.0.4",
+ "pin-project",
+ "rand",
+ "rustls 0.21.7",
+ "rustls-pemfile 1.0.3",
+ "secrecy",
+ "serde",
+ "serde_json",
+ "serde_yaml",
+ "thiserror",
+ "tokio",
+ "tokio-tungstenite",
+ "tokio-util",
+ "tower",
+ "tower-http 0.4.4",
+ "tracing",
+]
+
+[[package]]
+name = "kube-core"
+version = "0.87.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5bba93d054786eba7994d03ce522f368ef7d48c88a1826faa28478d85fb63ae"
+dependencies = [
+ "chrono",
+ "form_urlencoded",
+ "http 0.2.9",
+ "json-patch",
+ "k8s-openapi",
+ "once_cell",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "kube-runtime"
+version = "0.87.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d8893eb18fbf6bb6c80ef6ee7dd11ec32b1dc3c034c988ac1b3a84d46a230ae"
+dependencies = [
+ "ahash 0.8.11",
+ "async-trait",
+ "backoff",
+ "derivative",
+ "futures",
+ "hashbrown 0.14.5",
+ "json-patch",
+ "k8s-openapi",
+ "kube-client",
+ "parking_lot 0.12.3",
+ "pin-project",
+ "serde",
+ "serde_json",
+ "smallvec",
+ "thiserror",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
[[package]]
name = "kv-log-macro"
version = "1.0.7"
@@ -7623,9 +8367,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"
@@ -7641,9 +8385,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
[[package]]
name = "libc"
-version = "0.2.153"
+version = "0.2.158"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
[[package]]
name = "libflate"
@@ -7832,11 +8576,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",
@@ -7922,7 +8666,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2eeec39ad3ad0677551907dd304b2f13f17208ccebe333bef194076cd2e8921"
dependencies = [
"bytes",
- "curve25519-dalek",
+ "curve25519-dalek 4.1.3",
"futures",
"libp2p-core",
"libp2p-identity",
@@ -7973,7 +8717,7 @@ dependencies = [
"libp2p-tls",
"log",
"parking_lot 0.12.3",
- "quinn 0.10.2",
+ "quinn",
"rand",
"ring 0.16.20",
"rustls 0.21.7",
@@ -8031,9 +8775,9 @@ checksum = "c4d5ec2a3df00c7836d7696c136274c9c59705bac69133253696a6c932cd1d74"
dependencies = [
"heck 0.4.1",
"proc-macro-warning 0.4.2",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -8104,9 +8848,9 @@ dependencies = [
[[package]]
name = "libp2p-websocket"
-version = "0.42.1"
+version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3facf0691bab65f571bc97c6c65ffa836248ca631d631b7691ac91deb7fceb5f"
+checksum = "004ee9c4a4631435169aee6aad2f62e3984dc031c43b6d29731e8e82a016c538"
dependencies = [
"either",
"futures",
@@ -8115,9 +8859,10 @@ dependencies = [
"libp2p-identity",
"log",
"parking_lot 0.12.3",
- "quicksink",
+ "pin-project-lite",
"rw-stream-sink",
- "soketto 0.7.1",
+ "soketto 0.8.0",
+ "thiserror",
"url",
"webpki-roots 0.25.2",
]
@@ -8293,21 +9038,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",
@@ -8315,8 +9061,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",
@@ -8328,18 +9073,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",
@@ -8358,9 +9100,9 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.21"
+version = "0.4.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
dependencies = [
"serde",
"value-bag",
@@ -8387,7 +9129,7 @@ version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc"
dependencies = [
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
]
[[package]]
@@ -8439,50 +9181,50 @@ dependencies = [
[[package]]
name = "macro_magic"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e03844fc635e92f3a0067e25fa4bf3e3dbf3f2927bf3aa01bb7bc8f1c428949d"
+checksum = "cc33f9f0351468d26fbc53d9ce00a096c8522ecb42f19b50f34f2c422f76d21d"
dependencies = [
"macro_magic_core",
"macro_magic_macros",
- "quote 1.0.35",
- "syn 2.0.61",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "macro_magic_core"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "468155613a44cfd825f1fb0ffa532b018253920d404e6fca1e8d43155198a46d"
+checksum = "1687dc887e42f352865a393acae7cf79d98fab6351cde1f58e9e057da89bf150"
dependencies = [
"const-random",
- "derive-syn-parse 0.1.5",
+ "derive-syn-parse",
"macro_magic_core_macros",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "macro_magic_core_macros"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654"
+checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "macro_magic_macros"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3"
+checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869"
dependencies = [
"macro_magic_core",
- "quote 1.0.35",
- "syn 2.0.61",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -8491,6 +9233,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"
@@ -8533,9 +9288,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"
@@ -8599,7 +9354,7 @@ checksum = "f313fcff1d2a4bcaa2deeaa00bf7530d77d5f7bd0467a117dde2e29a75a7a17a"
dependencies = [
"array-bytes",
"blake3",
- "frame-metadata",
+ "frame-metadata 16.0.0",
"parity-scale-codec",
"scale-decode",
"scale-info",
@@ -8613,7 +9368,7 @@ checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d"
dependencies = [
"byteorder",
"keccak",
- "rand_core",
+ "rand_core 0.6.4",
"zeroize",
]
@@ -8624,7 +9379,6 @@ dependencies = [
"async-std",
"async-trait",
"bp-messages",
- "env_logger 0.11.3",
"finality-relay",
"futures",
"hex",
@@ -8632,7 +9386,7 @@ dependencies = [
"num-traits",
"parking_lot 0.12.3",
"relay-utils",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
]
[[package]]
@@ -8658,71 +9412,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.3",
+ "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",
+ "futures-timer",
+ "jsonrpsee 0.24.3",
+ "minimal-template-runtime",
+ "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]]
@@ -8756,7 +9467,7 @@ dependencies = [
"bitflags 1.3.2",
"blake2 0.10.6",
"c2-chacha",
- "curve25519-dalek",
+ "curve25519-dalek 4.1.3",
"either",
"hashlink",
"lioness",
@@ -8785,9 +9496,9 @@ dependencies = [
"sp-blockchain",
"sp-consensus",
"sp-consensus-beefy",
- "sp-core",
+ "sp-core 28.0.0",
"sp-mmr-primitives",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"substrate-test-runtime-client",
"tokio",
@@ -8797,15 +9508,15 @@ dependencies = [
name = "mmr-rpc"
version = "28.0.0"
dependencies = [
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"parity-scale-codec",
"serde",
"serde_json",
"sp-api",
"sp-blockchain",
- "sp-core",
+ "sp-core 28.0.0",
"sp-mmr-primitives",
- "sp-runtime",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -8825,15 +9536,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",
]
@@ -8845,21 +9555,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb"
dependencies = [
"cfg-if",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -8969,8 +9679,8 @@ checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd"
dependencies = [
"proc-macro-crate 1.3.1",
"proc-macro-error",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
"synstructure 0.12.6",
]
@@ -9017,8 +9727,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -9038,6 +9748,23 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
+[[package]]
+name = "native-tls"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466"
+dependencies = [
+ "libc",
+ "log",
+ "openssl",
+ "openssl-probe",
+ "openssl-sys",
+ "schannel",
+ "security-framework",
+ "security-framework-sys",
+ "tempfile",
+]
+
[[package]]
name = "netlink-packet-core"
version = "0.4.2"
@@ -9139,6 +9866,17 @@ dependencies = [
"static_assertions",
]
+[[package]]
+name = "nix"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+dependencies = [
+ "bitflags 2.6.0",
+ "cfg-if",
+ "libc",
+]
+
[[package]]
name = "nix"
version = "0.28.0"
@@ -9147,7 +9885,7 @@ checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
dependencies = [
"bitflags 2.6.0",
"cfg-if",
- "cfg_aliases",
+ "cfg_aliases 0.1.1",
"libc",
]
@@ -9168,7 +9906,7 @@ name = "node-bench"
version = "0.9.0-dev"
dependencies = [
"array-bytes",
- "clap 4.5.3",
+ "clap 4.5.11",
"derive_more",
"fs_extra",
"futures",
@@ -9189,13 +9927,13 @@ dependencies = [
"serde",
"serde_json",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-timestamp",
"sp-tracing 16.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
"tempfile",
]
@@ -9203,15 +9941,15 @@ dependencies = [
name = "node-primitives"
version = "2.0.0"
dependencies = [
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
name = "node-rpc"
version = "3.0.0-dev"
dependencies = [
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"mmr-rpc",
"node-primitives",
"pallet-transaction-payment-rpc",
@@ -9225,19 +9963,17 @@ 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",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
"sp-consensus-beefy",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-statement-store",
"substrate-frame-rpc-system",
"substrate-state-trie-migration-rpc",
@@ -9247,7 +9983,7 @@ dependencies = [
name = "node-runtime-generate-bags"
version = "3.0.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"generate-bags",
"kitchensink-runtime",
]
@@ -9256,7 +9992,7 @@ dependencies = [
name = "node-template-release"
version = "3.0.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"flate2",
"fs_extra",
"glob",
@@ -9293,12 +10029,12 @@ dependencies = [
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-timestamp",
"staging-node-cli",
"substrate-test-client",
@@ -9398,15 +10134,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -9508,6 +10250,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"
@@ -9552,9 +10303,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]]
name = "openssl"
-version = "0.10.64"
+version = "0.10.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
+checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1"
dependencies = [
"bitflags 2.6.0",
"cfg-if",
@@ -9571,9 +10322,9 @@ 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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -9582,24 +10333,14 @@ 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.102"
+version = "0.9.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
+checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6"
dependencies = [
"cc",
"libc",
- "openssl-src",
"pkg-config",
"vcpkg",
]
@@ -9612,9 +10353,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "orchestra"
-version = "0.3.6"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92829eef0328a3d1cd22a02c0e51deb92a5362df3e7d21a4e9bdc38934694e66"
+checksum = "41f6bbacc8c189a3f2e45e0fd0436e5d97f194db888e721bdbc3973e7dbed4c2"
dependencies = [
"async-trait",
"dyn-clonable",
@@ -9629,17 +10370,17 @@ dependencies = [
[[package]]
name = "orchestra-proc-macro"
-version = "0.3.6"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1344346d5af32c95bbddea91b18a88cc83eac394192d20ef2fc4c40a74332355"
+checksum = "f7b1d40dd8f367db3c65bec8d3dd47d4a604ee8874480738f93191bddab4e0e0"
dependencies = [
"expander",
"indexmap 2.2.3",
"itertools 0.11.0",
"petgraph",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -9652,6 +10393,15 @@ dependencies = [
"num-traits",
]
+[[package]]
+name = "ordered-float"
+version = "2.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c"
+dependencies = [
+ "num-traits",
+]
+
[[package]]
name = "os_str_bytes"
version = "6.5.1"
@@ -9684,11 +10434,10 @@ dependencies = [
"pallet-identity",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-crypto-hashing",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -9705,11 +10454,10 @@ dependencies = [
"primitive-types",
"scale-info",
"sp-api",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -9726,11 +10474,10 @@ dependencies = [
"parity-scale-codec",
"primitive-types",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -9745,10 +10492,9 @@ dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-storage 19.0.0",
]
@@ -9762,10 +10508,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -9783,10 +10528,9 @@ dependencies = [
"scale-info",
"serde",
"serde_json",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-storage 19.0.0",
]
@@ -9802,10 +10546,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -9820,9 +10563,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -9834,10 +10577,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -9850,12 +10592,11 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-consensus-aura",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -9867,12 +10608,11 @@ dependencies = [
"pallet-session",
"parity-scale-codec",
"scale-info",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-authority-discovery",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -9884,10 +10624,9 @@ dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -9908,14 +10647,13 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-consensus-babe",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-staking",
- "sp-std 14.0.0",
]
[[package]]
@@ -9932,10 +10670,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
]
@@ -9960,8 +10697,8 @@ dependencies = [
"log",
"pallet-bags-list",
"pallet-staking",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-tracing 16.0.0",
@@ -9980,10 +10717,9 @@ dependencies = [
"parity-scale-codec",
"paste",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10005,13 +10741,12 @@ dependencies = [
"scale-info",
"serde",
"sp-consensus-beefy",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-staking",
- "sp-state-machine",
- "sp-std 14.0.0",
+ "sp-state-machine 0.35.0",
]
[[package]]
@@ -10020,6 +10755,7 @@ version = "28.0.0"
dependencies = [
"array-bytes",
"binary-merkle-tree",
+ "frame-benchmarking",
"frame-support",
"frame-system",
"log",
@@ -10031,12 +10767,11 @@ dependencies = [
"serde",
"sp-api",
"sp-consensus-beefy",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-staking",
- "sp-state-machine",
- "sp-std 14.0.0",
+ "sp-state-machine 0.35.0",
]
[[package]]
@@ -10051,10 +10786,9 @@ dependencies = [
"pallet-treasury",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10075,9 +10809,9 @@ dependencies = [
"scale-info",
"serde",
"sp-consensus-beefy",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -10088,7 +10822,6 @@ dependencies = [
"bp-header-chain",
"bp-runtime",
"bp-test-utils",
- "finality-grandpa",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -10096,17 +10829,17 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-consensus-grandpa",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
- "sp-trie",
]
[[package]]
name = "pallet-bridge-messages"
version = "0.7.0"
dependencies = [
+ "bp-header-chain",
"bp-messages",
"bp-runtime",
"bp-test-utils",
@@ -10114,13 +10847,15 @@ dependencies = [
"frame-support",
"frame-system",
"log",
- "num-traits",
"pallet-balances",
+ "pallet-bridge-grandpa",
"parity-scale-codec",
"scale-info",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
+ "sp-trie 29.0.0",
]
[[package]]
@@ -10139,31 +10874,39 @@ dependencies = [
"pallet-bridge-grandpa",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
- "sp-trie",
]
[[package]]
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-io",
- "sp-runtime",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -10180,11 +10923,10 @@ dependencies = [
"pretty_assertions",
"scale-info",
"sp-api",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
]
@@ -10201,10 +10943,9 @@ dependencies = [
"pallet-treasury",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10224,11 +10965,10 @@ dependencies = [
"rand",
"scale-info",
"sp-consensus-aura",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-staking",
- "sp-std 14.0.0",
"sp-tracing 16.0.0",
]
@@ -10236,16 +10976,17 @@ 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",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10257,10 +10998,9 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10270,7 +11010,6 @@ dependencies = [
"array-bytes",
"assert_matches",
"bitflags 1.3.2",
- "env_logger 0.11.3",
"environmental",
"frame-benchmarking",
"frame-support",
@@ -10296,10 +11035,10 @@ dependencies = [
"serde",
"smallvec",
"sp-api",
- "sp-core",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"sp-tracing 16.0.0",
"staging-xcm",
@@ -10316,10 +11055,9 @@ dependencies = [
"anyhow",
"frame-system",
"parity-wasm",
- "polkavm-linker",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"tempfile",
- "toml 0.8.8",
+ "toml 0.8.12",
"twox-hash",
]
@@ -10349,11 +11087,10 @@ dependencies = [
"pretty_assertions",
"scale-info",
"sp-api",
- "sp-core",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"staging-xcm",
"staging-xcm-builder",
@@ -10365,9 +11102,9 @@ dependencies = [
name = "pallet-contracts-proc-macro"
version = "18.0.0"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -10377,7 +11114,6 @@ dependencies = [
"bitflags 1.3.2",
"parity-scale-codec",
"paste",
- "polkavm-derive",
"scale-info",
]
@@ -10394,10 +11130,9 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10411,11 +11146,10 @@ dependencies = [
"pallet-ranked-collective",
"parity-scale-codec",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10427,9 +11161,8 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10439,6 +11172,7 @@ dependencies = [
"frame-election-provider-support",
"frame-support",
"frame-system",
+ "log",
"pallet-balances",
"pallet-nomination-pools",
"pallet-staking",
@@ -10446,11 +11180,10 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-staking",
- "sp-std 14.0.0",
"sp-tracing 16.0.0",
"substrate-test-utils",
]
@@ -10469,10 +11202,9 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10485,10 +11217,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10509,10 +11240,10 @@ dependencies = [
"parity-scale-codec",
"parking_lot 0.12.3",
"scale-info",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-npos-elections",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-staking",
"sp-std 14.0.0",
"sp-tracing 16.0.0",
@@ -10533,12 +11264,11 @@ dependencies = [
"parking_lot 0.12.3",
"rand",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-npos-elections",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"strum 0.26.2",
]
@@ -10552,8 +11282,7 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"sp-npos-elections",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10567,12 +11296,11 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-npos-elections",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-staking",
- "sp-std 14.0.0",
"sp-tracing 16.0.0",
"substrate-test-utils",
]
@@ -10588,10 +11316,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10614,10 +11341,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10631,7 +11357,7 @@ dependencies = [
"pallet-migrations",
"parity-scale-codec",
"scale-info",
- "sp-io",
+ "sp-io 30.0.0",
]
[[package]]
@@ -10644,11 +11370,10 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10664,10 +11389,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-version",
]
@@ -10681,9 +11405,8 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
]
[[package]]
@@ -10696,10 +11419,9 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10733,11 +11455,10 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-staking",
- "sp-std 14.0.0",
"sp-tracing 16.0.0",
"substrate-test-utils",
]
@@ -10754,11 +11475,10 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10780,15 +11500,14 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-consensus-grandpa",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-staking",
- "sp-std 14.0.0",
]
[[package]]
@@ -10803,11 +11522,10 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10822,12 +11540,11 @@ dependencies = [
"pallet-session",
"parity-scale-codec",
"scale-info",
- "sp-application-crypto",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-staking",
- "sp-std 14.0.0",
]
[[package]]
@@ -10840,11 +11557,10 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10856,10 +11572,9 @@ dependencies = [
"parity-scale-codec",
"safe-mix",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10873,10 +11588,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10889,10 +11603,9 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10909,14 +11622,13 @@ dependencies = [
"rand_distr",
"scale-info",
"serde",
- "sp-arithmetic",
- "sp-core",
- "sp-crypto-hashing",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
- "sp-weights",
+ "sp-weights 27.0.0",
]
[[package]]
@@ -10935,10 +11647,9 @@ dependencies = [
"scale-info",
"sp-api",
"sp-block-builder",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"sp-version",
]
@@ -10948,7 +11659,7 @@ name = "pallet-minimal-template"
version = "0.0.0"
dependencies = [
"parity-scale-codec",
- "polkadot-sdk-frame",
+ "polkadot-sdk",
"scale-info",
]
@@ -10963,12 +11674,11 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-application-crypto",
- "sp-arithmetic",
- "sp-io",
+ "sp-application-crypto 30.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-io 30.0.0",
"sp-mixnet",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -10976,7 +11686,6 @@ name = "pallet-mmr"
version = "27.0.0"
dependencies = [
"array-bytes",
- "env_logger 0.11.3",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -10984,11 +11693,11 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-mmr-primitives",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
+ "sp-tracing 16.0.0",
]
[[package]]
@@ -11002,9 +11711,8 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11020,9 +11728,9 @@ dependencies = [
"pallet-nfts",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -11038,11 +11746,10 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11052,7 +11759,6 @@ dependencies = [
"pallet-nfts",
"parity-scale-codec",
"sp-api",
- "sp-std 14.0.0",
]
[[package]]
@@ -11065,11 +11771,10 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11081,10 +11786,9 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11097,11 +11801,10 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-staking",
- "sp-std 14.0.0",
"sp-tracing 16.0.0",
]
@@ -11122,12 +11825,11 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-runtime-interface 24.0.0",
"sp-staking",
- "sp-std 14.0.0",
]
[[package]]
@@ -11140,8 +11842,8 @@ dependencies = [
"log",
"pallet-nomination-pools",
"rand",
- "sp-io",
- "sp-runtime",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
]
@@ -11152,7 +11854,6 @@ dependencies = [
"pallet-nomination-pools",
"parity-scale-codec",
"sp-api",
- "sp-std 14.0.0",
]
[[package]]
@@ -11172,9 +11873,9 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-staking",
"sp-std 14.0.0",
"sp-tracing 16.0.0",
@@ -11196,9 +11897,9 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-staking",
"sp-std 14.0.0",
"sp-tracing 16.0.0",
@@ -11215,11 +11916,10 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-staking",
- "sp-std 14.0.0",
]
[[package]]
@@ -11242,11 +11942,10 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-staking",
- "sp-std 14.0.0",
]
[[package]]
@@ -11259,11 +11958,10 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-metadata-ir",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11274,7 +11972,7 @@ dependencies = [
"frame-support",
"honggfuzz",
"pallet-paged-list",
- "sp-io",
+ "sp-io 30.0.0",
]
[[package]]
@@ -11286,9 +11984,9 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11305,10 +12003,9 @@ dependencies = [
"paste",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11322,10 +12019,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11339,10 +12035,9 @@ dependencies = [
"pallet-utility",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11356,11 +12051,10 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11373,10 +12067,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11394,11 +12087,10 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11411,10 +12103,122 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
+]
+
+[[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 28.0.0",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"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 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
+ "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 28.0.0",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
+ "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]]
@@ -11431,9 +12235,9 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-staking",
"sp-std 14.0.0",
]
@@ -11446,10 +12250,9 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11465,11 +12268,10 @@ dependencies = [
"pallet-utility",
"parity-scale-codec",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11483,11 +12285,10 @@ dependencies = [
"pallet-ranked-collective",
"parity-scale-codec",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11502,11 +12303,10 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-consensus-sassafras",
- "sp-core",
- "sp-crypto-hashing",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11521,11 +12321,10 @@ dependencies = [
"pallet-preimage",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
- "sp-weights",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
+ "sp-weights 27.0.0",
"substrate-test-utils",
]
@@ -11538,10 +12337,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11555,14 +12353,13 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-staking",
- "sp-state-machine",
- "sp-std 14.0.0",
- "sp-trie",
+ "sp-state-machine 0.35.0",
+ "sp-trie 29.0.0",
]
[[package]]
@@ -11581,11 +12378,10 @@ dependencies = [
"parity-scale-codec",
"rand",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
]
[[package]]
@@ -11596,8 +12392,7 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11613,12 +12408,11 @@ dependencies = [
"parity-scale-codec",
"rand_chacha",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-crypto-hashing",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11640,13 +12434,12 @@ dependencies = [
"rand_chacha",
"scale-info",
"serde",
- "sp-application-crypto",
- "sp-core",
- "sp-io",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-npos-elections",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-staking",
- "sp-std 14.0.0",
"sp-tracing 16.0.0",
"substrate-test-utils",
]
@@ -11656,10 +12449,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.35",
- "sp-runtime",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "sp-runtime 31.0.1",
+ "syn 2.0.65",
]
[[package]]
@@ -11667,7 +12460,7 @@ name = "pallet-staking-reward-fn"
version = "19.0.0"
dependencies = [
"log",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
]
[[package]]
@@ -11693,10 +12486,9 @@ dependencies = [
"parking_lot 0.12.3",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"substrate-state-trie-migration-rpc",
"thousands",
@@ -11715,11 +12507,10 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-api",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-statement-store",
- "sp-std 14.0.0",
]
[[package]]
@@ -11732,10 +12523,9 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11747,9 +12537,9 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11763,11 +12553,10 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-storage 19.0.0",
"sp-timestamp",
]
@@ -11785,10 +12574,9 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-storage 19.0.0",
]
@@ -11803,25 +12591,24 @@ dependencies = [
"scale-info",
"serde",
"serde_json",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
name = "pallet-transaction-payment-rpc"
version = "30.0.0"
dependencies = [
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"pallet-transaction-payment-rpc-runtime-api",
"parity-scale-codec",
"sp-api",
"sp-blockchain",
- "sp-core",
+ "sp-core 28.0.0",
"sp-rpc",
- "sp-runtime",
- "sp-weights",
+ "sp-runtime 31.0.1",
+ "sp-weights 27.0.0",
]
[[package]]
@@ -11831,8 +12618,8 @@ dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
"sp-api",
- "sp-runtime",
- "sp-weights",
+ "sp-runtime 31.0.1",
+ "sp-weights 27.0.0",
]
[[package]]
@@ -11848,11 +12635,10 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-transaction-storage-proof",
]
@@ -11870,10 +12656,9 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11889,10 +12674,9 @@ dependencies = [
"pallet-utility",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11906,9 +12690,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -11925,10 +12709,9 @@ dependencies = [
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11942,10 +12725,9 @@ dependencies = [
"pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11960,10 +12742,9 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-api",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -11982,10 +12763,9 @@ dependencies = [
"polkadot-runtime-parachains",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -12007,9 +12787,8 @@ dependencies = [
"polkadot-primitives",
"polkadot-runtime-common",
"scale-info",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"staging-xcm",
"staging-xcm-builder",
@@ -12024,17 +12803,18 @@ 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",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"staging-xcm",
"staging-xcm-builder",
@@ -12052,9 +12832,9 @@ dependencies = [
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"staging-xcm",
"staging-xcm-builder",
@@ -12064,7 +12844,7 @@ dependencies = [
name = "parachain-template-node"
version = "0.0.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"color-print",
"cumulus-client-cli",
"cumulus-client-collator",
@@ -12079,7 +12859,7 @@ dependencies = [
"frame-benchmarking",
"frame-benchmarking-cli",
"futures",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"pallet-transaction-payment-rpc",
"parachain-template-runtime",
@@ -12108,10 +12888,10 @@ dependencies = [
"sp-block-builder",
"sp-blockchain",
"sp-consensus-aura",
- "sp-core",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-timestamp",
"staging-xcm",
"substrate-build-script-utils",
@@ -12160,17 +12940,17 @@ dependencies = [
"polkadot-parachain-primitives",
"polkadot-runtime-common",
"scale-info",
+ "serde_json",
"smallvec",
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-transaction-pool",
"sp-version",
"staging-parachain-info",
@@ -12200,10 +12980,9 @@ dependencies = [
"polkadot-primitives",
"scale-info",
"sp-consensus-aura",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"staging-parachain-info",
"staging-xcm",
"staging-xcm-executor",
@@ -12222,7 +13001,7 @@ dependencies = [
"parity-scale-codec",
"relay-substrate-client",
"relay-utils",
- "sp-core",
+ "sp-core 28.0.0",
]
[[package]]
@@ -12245,10 +13024,9 @@ dependencies = [
"parity-scale-codec",
"polkadot-parachain-primitives",
"sp-consensus-aura",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"staging-parachain-info",
"staging-xcm",
@@ -12264,7 +13042,7 @@ checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9"
dependencies = [
"bitcoin_hashes 0.13.0",
"rand",
- "rand_core",
+ "rand_core 0.6.4",
"serde",
"unicode-normalization",
]
@@ -12291,7 +13069,7 @@ dependencies = [
"memmap2 0.5.10",
"parking_lot 0.12.3",
"rand",
- "siphasher",
+ "siphasher 0.3.11",
"snap",
]
@@ -12317,8 +13095,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -12346,7 +13124,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",
]
@@ -12424,15 +13202,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166"
dependencies = [
"base64ct",
- "rand_core",
+ "rand_core 0.6.4",
"subtle 2.5.0",
]
[[package]]
name = "paste"
-version = "1.0.14"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
[[package]]
name = "pbkdf2"
@@ -12459,6 +13237,16 @@ dependencies = [
"base64 0.13.1",
]
+[[package]]
+name = "pem"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae"
+dependencies = [
+ "base64 0.22.1",
+ "serde",
+]
+
[[package]]
name = "penpal-emulated-chain"
version = "0.0.0"
@@ -12468,7 +13256,7 @@ dependencies = [
"frame-support",
"parachains-common",
"penpal-runtime",
- "sp-core",
+ "sp-core 28.0.0",
"staging-xcm",
]
@@ -12493,6 +13281,7 @@ dependencies = [
"frame-try-runtime",
"hex-literal",
"log",
+ "pallet-asset-conversion",
"pallet-asset-tx-payment",
"pallet-assets",
"pallet-aura",
@@ -12511,18 +13300,18 @@ dependencies = [
"polkadot-parachain-primitives",
"polkadot-primitives",
"polkadot-runtime-common",
+ "primitive-types",
"scale-info",
"smallvec",
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
@@ -12543,7 +13332,7 @@ dependencies = [
"frame-support",
"parachains-common",
"people-rococo-runtime",
- "sp-core",
+ "sp-core 28.0.0",
"testnet-parachains-constants",
]
@@ -12562,7 +13351,7 @@ dependencies = [
"polkadot-runtime-common",
"rococo-runtime-constants",
"rococo-system-emulated-network",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"staging-xcm",
"staging-xcm-executor",
]
@@ -12597,6 +13386,7 @@ dependencies = [
"pallet-identity",
"pallet-message-queue",
"pallet-multisig",
+ "pallet-proxy",
"pallet-session",
"pallet-timestamp",
"pallet-transaction-payment",
@@ -12614,13 +13404,12 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
@@ -12642,7 +13431,7 @@ dependencies = [
"frame-support",
"parachains-common",
"people-westend-runtime",
- "sp-core",
+ "sp-core 28.0.0",
"testnet-parachains-constants",
]
@@ -12656,10 +13445,11 @@ dependencies = [
"pallet-balances",
"pallet-identity",
"pallet-message-queue",
+ "pallet-xcm",
"parachains-common",
"parity-scale-codec",
"polkadot-runtime-common",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"staging-xcm",
"staging-xcm-executor",
"westend-runtime-constants",
@@ -12696,6 +13486,7 @@ dependencies = [
"pallet-identity",
"pallet-message-queue",
"pallet-multisig",
+ "pallet-proxy",
"pallet-session",
"pallet-timestamp",
"pallet-transaction-payment",
@@ -12712,13 +13503,12 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
@@ -12734,9 +13524,9 @@ dependencies = [
[[package]]
name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]]
name = "pest"
@@ -12766,9 +13556,9 @@ checksum = "68ca01446f50dbda87c1786af8770d535423fa8a53aec03b8f4e3d7eb10e0929"
dependencies = [
"pest",
"pest_meta",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -12807,22 +13597,16 @@ 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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "pin-project-lite"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.12"
+version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
[[package]]
name = "pin-utils"
@@ -12907,7 +13691,6 @@ version = "7.0.0"
dependencies = [
"assert_matches",
"bitvec",
- "env_logger 0.11.3",
"futures",
"futures-timer",
"itertools 0.11.0",
@@ -12923,10 +13706,13 @@ dependencies = [
"polkadot-primitives-test-helpers",
"rand",
"rand_chacha",
- "rand_core",
+ "rand_core 0.6.4",
+ "sc-keystore",
"schnorrkel 0.11.4",
+ "sp-application-crypto 30.0.0",
"sp-authority-discovery",
- "sp-core",
+ "sp-core 28.0.0",
+ "sp-tracing 16.0.0",
"tracing-gum",
]
@@ -12937,10 +13723,8 @@ dependencies = [
"always-assert",
"assert_matches",
"bitvec",
- "env_logger 0.11.3",
"futures",
"futures-timer",
- "log",
"maplit",
"polkadot-node-network-protocol",
"polkadot-node-subsystem",
@@ -12949,11 +13733,12 @@ dependencies = [
"polkadot-primitives",
"rand",
"rand_chacha",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-authority-discovery",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
+ "sp-tracing 16.0.0",
"tracing-gum",
]
@@ -12980,9 +13765,9 @@ dependencies = [
"rstest",
"sc-network",
"schnellru",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-tracing 16.0.0",
"thiserror",
"tracing-gum",
@@ -13012,8 +13797,8 @@ dependencies = [
"rstest",
"sc-network",
"schnellru",
- "sp-application-crypto",
- "sp-core",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
"sp-keyring",
"sp-tracing 16.0.0",
"thiserror",
@@ -13036,7 +13821,7 @@ name = "polkadot-cli"
version = "7.0.0"
dependencies = [
"cfg-if",
- "clap 4.5.3",
+ "clap 4.5.11",
"frame-benchmarking-cli",
"futures",
"log",
@@ -13051,11 +13836,11 @@ dependencies = [
"sc-storage-monitor",
"sc-sysinfo",
"sc-tracing",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-keyring",
"sp-maybe-compressed-blob",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"substrate-build-script-utils",
"thiserror",
]
@@ -13066,11 +13851,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",
@@ -13082,10 +13865,12 @@ dependencies = [
"rstest",
"sc-keystore",
"sc-network",
- "sp-core",
+ "schnellru",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
+ "sp-tracing 16.0.0",
"thiserror",
"tokio-util",
"tracing-gum",
@@ -13097,9 +13882,8 @@ version = "7.0.0"
dependencies = [
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -13107,7 +13891,7 @@ name = "polkadot-dispute-distribution"
version = "7.0.0"
dependencies = [
"assert_matches",
- "async-channel",
+ "async-channel 1.9.0",
"async-trait",
"derive_more",
"fatality",
@@ -13127,9 +13911,9 @@ dependencies = [
"sc-keystore",
"sc-network",
"schnellru",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-tracing 16.0.0",
"thiserror",
"tracing-gum",
@@ -13145,8 +13929,8 @@ dependencies = [
"polkadot-primitives",
"quickcheck",
"reed-solomon-novelpoly",
- "sp-core",
- "sp-trie",
+ "sp-core 28.0.0",
+ "sp-trie 29.0.0",
"thiserror",
]
@@ -13170,13 +13954,13 @@ dependencies = [
"rand_chacha",
"sc-network",
"sc-network-common",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-authority-discovery",
"sp-consensus-babe",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-tracing 16.0.0",
"tracing-gum",
]
@@ -13204,7 +13988,7 @@ dependencies = [
"polkadot-primitives-test-helpers",
"sc-network",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
"thiserror",
"tracing-gum",
@@ -13225,7 +14009,7 @@ dependencies = [
"polkadot-primitives",
"polkadot-primitives-test-helpers",
"rstest",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
"sp-maybe-compressed-blob",
"thiserror",
@@ -13240,7 +14024,6 @@ dependencies = [
"async-trait",
"bitvec",
"derive_more",
- "env_logger 0.11.3",
"futures",
"futures-timer",
"itertools 0.11.0",
@@ -13261,18 +14044,19 @@ dependencies = [
"polkadot-subsystem-bench",
"rand",
"rand_chacha",
- "rand_core",
+ "rand_core 0.6.4",
"sc-keystore",
"schnellru",
"schnorrkel 0.11.4",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-consensus",
"sp-consensus-babe",
"sp-consensus-slots",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
+ "sp-tracing 16.0.0",
"thiserror",
"tracing-gum",
]
@@ -13283,7 +14067,6 @@ version = "7.0.0"
dependencies = [
"assert_matches",
"bitvec",
- "env_logger 0.11.3",
"futures",
"futures-timer",
"kvdb",
@@ -13301,8 +14084,9 @@ dependencies = [
"polkadot-primitives",
"polkadot-primitives-test-helpers",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
+ "sp-tracing 16.0.0",
"thiserror",
"tracing-gum",
]
@@ -13326,10 +14110,10 @@ dependencies = [
"rstest",
"sc-keystore",
"schnellru",
- "sp-application-crypto",
- "sp-core",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-tracing 16.0.0",
"thiserror",
"tracing-gum",
@@ -13345,7 +14129,7 @@ dependencies = [
"polkadot-node-subsystem-util",
"polkadot-primitives",
"polkadot-primitives-test-helpers",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"thiserror",
"tracing-gum",
"wasm-timer",
@@ -13370,8 +14154,10 @@ dependencies = [
"polkadot-parachain-primitives",
"polkadot-primitives",
"polkadot-primitives-test-helpers",
- "sp-core",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
"sp-keyring",
+ "sp-keystore 0.34.0",
"sp-maybe-compressed-blob",
"tracing-gum",
]
@@ -13392,7 +14178,7 @@ dependencies = [
"sc-client-api",
"sc-consensus-babe",
"sp-blockchain",
- "sp-core",
+ "sp-core 28.0.0",
"tracing-gum",
]
@@ -13412,7 +14198,7 @@ dependencies = [
"polkadot-node-subsystem-test-helpers",
"polkadot-node-subsystem-util",
"polkadot-primitives",
- "sp-core",
+ "sp-core 28.0.0",
"thiserror",
"tracing-gum",
]
@@ -13436,10 +14222,10 @@ dependencies = [
"polkadot-primitives-test-helpers",
"sc-keystore",
"schnellru",
- "sp-application-crypto",
- "sp-core",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-tracing 16.0.0",
"thiserror",
"tracing-gum",
@@ -13466,23 +14252,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-core 28.0.0",
+ "sp-tracing 16.0.0",
"thiserror",
"tracing-gum",
]
@@ -13503,8 +14283,8 @@ dependencies = [
"polkadot-primitives-test-helpers",
"rstest",
"schnellru",
- "sp-application-crypto",
- "sp-keystore",
+ "sp-application-crypto 30.0.0",
+ "sp-keystore 0.34.0",
"thiserror",
"tracing-gum",
]
@@ -13542,7 +14322,7 @@ dependencies = [
"rusty-fork",
"sc-sysinfo",
"slotmap",
- "sp-core",
+ "sp-core 28.0.0",
"sp-maybe-compressed-blob",
"tempfile",
"test-parachain-adder",
@@ -13566,11 +14346,11 @@ dependencies = [
"polkadot-primitives",
"polkadot-primitives-test-helpers",
"sc-keystore",
- "sp-application-crypto",
- "sp-core",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"thiserror",
"tracing-gum",
]
@@ -13592,10 +14372,10 @@ dependencies = [
"sc-executor-common",
"sc-executor-wasmtime",
"seccompiler",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-externalities 0.25.0",
- "sp-io",
+ "sp-io 30.0.0",
"sp-tracing 16.0.0",
"tempfile",
"thiserror",
@@ -13612,8 +14392,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",
]
@@ -13628,6 +14410,7 @@ dependencies = [
"nix 0.28.0",
"parity-scale-codec",
"polkadot-node-core-pvf-common",
+ "polkadot-node-primitives",
"polkadot-primitives",
"rayon",
"rococo-runtime",
@@ -13656,7 +14439,7 @@ dependencies = [
"schnellru",
"sp-api",
"sp-consensus-babe",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
"tracing-gum",
]
@@ -13674,7 +14457,7 @@ dependencies = [
"polkadot-primitives",
"sc-network",
"sc-network-types",
- "sp-core",
+ "sp-core 28.0.0",
"thiserror",
"tokio",
]
@@ -13684,7 +14467,7 @@ name = "polkadot-node-metrics"
version = "7.0.0"
dependencies = [
"assert_cmd",
- "bs58 0.5.0",
+ "bs58",
"futures",
"futures-timer",
"http-body-util",
@@ -13711,7 +14494,7 @@ dependencies = [
name = "polkadot-node-network-protocol"
version = "7.0.0"
dependencies = [
- "async-channel",
+ "async-channel 1.9.0",
"async-trait",
"bitvec",
"derive_more",
@@ -13727,7 +14510,7 @@ dependencies = [
"sc-authority-discovery",
"sc-network",
"sc-network-types",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"strum 0.26.2",
"thiserror",
"tracing-gum",
@@ -13740,18 +14523,21 @@ 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-application-crypto 30.0.0",
"sp-consensus-babe",
- "sp-core",
- "sp-keystore",
+ "sp-consensus-slots",
+ "sp-core 28.0.0",
+ "sp-keystore 0.34.0",
"sp-maybe-compressed-blob",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"thiserror",
"zstd 0.12.4",
]
@@ -13780,10 +14566,10 @@ dependencies = [
"sc-client-api",
"sc-keystore",
"sc-utils",
- "sp-application-crypto",
- "sp-core",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
]
[[package]]
@@ -13810,7 +14596,7 @@ dependencies = [
"sp-authority-discovery",
"sp-blockchain",
"sp-consensus-babe",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"substrate-prometheus-endpoint",
"thiserror",
]
@@ -13822,7 +14608,6 @@ dependencies = [
"assert_matches",
"async-trait",
"derive_more",
- "env_logger 0.11.3",
"fatality",
"futures",
"futures-channel",
@@ -13851,9 +14636,9 @@ dependencies = [
"rand",
"sc-client-api",
"schnellru",
- "sp-application-crypto",
- "sp-core",
- "sp-keystore",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
+ "sp-keystore 0.34.0",
"tempfile",
"thiserror",
"tracing-gum",
@@ -13880,7 +14665,7 @@ dependencies = [
"prioritized-metered-channel",
"sc-client-api",
"sp-api",
- "sp-core",
+ "sp-core 28.0.0",
"tikv-jemalloc-ctl",
"tracing-gum",
]
@@ -13889,18 +14674,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.3",
"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 28.0.0",
+ "sp-runtime 31.0.1",
+ "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",
@@ -13912,15 +14727,14 @@ dependencies = [
"cumulus-primitives-aura",
"cumulus-primitives-core",
"cumulus-relay-chain-interface",
+ "docify",
"frame-benchmarking",
"frame-benchmarking-cli",
"frame-support",
"frame-system-rpc-runtime-api",
"frame-try-runtime",
"futures",
- "glutton-westend-runtime",
- "hex-literal",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"nix 0.28.0",
"pallet-transaction-payment",
@@ -13928,56 +14742,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-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
- "sp-keystore",
- "sp-offchain",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"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 27.0.0",
"substrate-frame-rpc-system",
"substrate-prometheus-endpoint",
"substrate-state-trie-migration-rpc",
- "tempfile",
- "testnet-parachains-constants",
"tokio",
"wait-timeout",
]
@@ -13992,10 +14790,9 @@ dependencies = [
"polkadot-core-primitives",
"scale-info",
"serde",
- "sp-core",
- "sp-runtime",
- "sp-std 14.0.0",
- "sp-weights",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
+ "sp-weights 27.0.0",
]
[[package]]
@@ -14008,18 +14805,19 @@ dependencies = [
"parity-scale-codec",
"polkadot-core-primitives",
"polkadot-parachain-primitives",
+ "polkadot-primitives-test-helpers",
"scale-info",
"serde",
"sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
+ "sp-application-crypto 30.0.0",
+ "sp-arithmetic 23.0.0",
"sp-authority-discovery",
"sp-consensus-slots",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-staking",
"sp-std 14.0.0",
]
@@ -14030,17 +14828,17 @@ version = "1.0.0"
dependencies = [
"polkadot-primitives",
"rand",
- "sp-application-crypto",
- "sp-core",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-runtime",
+ "sp-runtime 31.0.1",
]
[[package]]
name = "polkadot-rpc"
version = "7.0.0"
dependencies = [
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"mmr-rpc",
"pallet-transaction-payment-rpc",
"polkadot-primitives",
@@ -14058,14 +14856,14 @@ dependencies = [
"sc-sync-state-rpc",
"sc-transaction-pool-api",
"sp-api",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
"sp-consensus-beefy",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"substrate-frame-rpc-system",
"substrate-state-trie-migration-rpc",
]
@@ -14110,16 +14908,15 @@ dependencies = [
"serde_json",
"slot-range-helper",
"sp-api",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-npos-elections",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-staking",
- "sp-std 14.0.0",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -14130,11 +14927,10 @@ dependencies = [
name = "polkadot-runtime-metrics"
version = "7.0.0"
dependencies = [
- "bs58 0.5.0",
+ "bs58",
"frame-benchmarking",
"parity-scale-codec",
"polkadot-primitives",
- "sp-std 14.0.0",
"sp-tracing 16.0.0",
]
@@ -14160,6 +14956,7 @@ dependencies = [
"pallet-balances",
"pallet-broker",
"pallet-message-queue",
+ "pallet-mmr",
"pallet-session",
"pallet-staking",
"pallet-timestamp",
@@ -14178,15 +14975,15 @@ dependencies = [
"serde",
"serde_json",
"sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-application-crypto 30.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-staking",
"sp-std 14.0.0",
@@ -14204,25 +15001,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",
@@ -14351,6 +15137,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",
@@ -14423,6 +15214,7 @@ dependencies = [
"polkadot-node-subsystem-types",
"polkadot-node-subsystem-util",
"polkadot-overseer",
+ "polkadot-parachain-lib",
"polkadot-parachain-primitives",
"polkadot-primitives",
"polkadot-rpc",
@@ -14433,7 +15225,6 @@ dependencies = [
"polkadot-service",
"polkadot-statement-distribution",
"polkadot-statement-table",
- "rococo-runtime-constants",
"sc-allocator",
"sc-authority-discovery",
"sc-basic-authorship",
@@ -14506,8 +15297,8 @@ dependencies = [
"snowbridge-system-runtime-api",
"sp-api",
"sp-api-proc-macro",
- "sp-application-crypto",
- "sp-arithmetic",
+ "sp-application-crypto 30.0.0",
+ "sp-arithmetic 23.0.0",
"sp-authority-discovery",
"sp-block-builder",
"sp-blockchain",
@@ -14518,34 +15309,34 @@ dependencies = [
"sp-consensus-grandpa",
"sp-consensus-pow",
"sp-consensus-slots",
- "sp-core",
+ "sp-core 28.0.0",
"sp-core-hashing",
"sp-core-hashing-proc-macro",
"sp-crypto-ec-utils 0.10.0",
- "sp-crypto-hashing",
+ "sp-crypto-hashing 0.1.0",
"sp-crypto-hashing-proc-macro",
"sp-database",
"sp-debug-derive 14.0.0",
"sp-externalities 0.25.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-maybe-compressed-blob",
"sp-metadata-ir",
"sp-mixnet",
"sp-mmr-primitives",
"sp-npos-elections",
"sp-offchain",
- "sp-panic-handler",
+ "sp-panic-handler 13.0.0",
"sp-rpc",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-runtime-interface 24.0.0",
"sp-runtime-interface-proc-macro 17.0.0",
"sp-session",
"sp-staking",
- "sp-state-machine",
+ "sp-state-machine 0.35.0",
"sp-statement-store",
"sp-std 14.0.0",
"sp-storage 19.0.0",
@@ -14553,11 +15344,11 @@ dependencies = [
"sp-tracing 16.0.0",
"sp-transaction-pool",
"sp-transaction-storage-proof",
- "sp-trie",
+ "sp-trie 29.0.0",
"sp-version",
"sp-version-proc-macro",
"sp-wasm-interface 20.0.0",
- "sp-weights",
+ "sp-weights 27.0.0",
"staging-chain-spec-builder",
"staging-node-inspect",
"staging-parachain-info",
@@ -14566,7 +15357,7 @@ dependencies = [
"staging-xcm-builder",
"staging-xcm-executor",
"subkey",
- "substrate-bip39",
+ "substrate-bip39 0.4.7",
"substrate-build-script-utils",
"substrate-frame-rpc-support",
"substrate-frame-rpc-system",
@@ -14577,7 +15368,6 @@ dependencies = [
"testnet-parachains-constants",
"tracing-gum",
"tracing-gum-proc-macro",
- "westend-runtime-constants",
"xcm-emulator",
"xcm-procedural",
"xcm-runtime-apis",
@@ -14600,6 +15390,7 @@ dependencies = [
"frame-support",
"frame-system",
"kitchensink-runtime",
+ "log",
"minimal-template-runtime",
"pallet-asset-conversion-tx-payment",
"pallet-asset-tx-payment",
@@ -14610,6 +15401,7 @@ dependencies = [
"pallet-balances",
"pallet-broker",
"pallet-collective",
+ "pallet-contracts",
"pallet-default-config-example",
"pallet-democracy",
"pallet-example-offchain-worker",
@@ -14626,6 +15418,7 @@ dependencies = [
"pallet-transaction-payment",
"pallet-uniques",
"pallet-utility",
+ "pallet-xcm",
"parachain-template-runtime",
"parity-scale-codec",
"polkadot-sdk",
@@ -14648,13 +15441,13 @@ dependencies = [
"simple-mermaid 0.1.1",
"solochain-template-runtime",
"sp-api",
- "sp-arithmetic",
- "sp-core",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
"sp-genesis-builder",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-runtime-interface 24.0.0",
"sp-std 14.0.0",
"sp-tracing 16.0.0",
@@ -14663,9 +15456,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,17 +15481,16 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-api",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-block-builder",
"sp-consensus-aura",
"sp-consensus-grandpa",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
@@ -14708,7 +15503,6 @@ dependencies = [
"assert_matches",
"async-trait",
"bitvec",
- "env_logger 0.11.3",
"frame-benchmarking",
"frame-benchmarking-cli",
"frame-metadata-hash-extension",
@@ -14804,21 +15598,22 @@ dependencies = [
"sp-consensus-babe",
"sp-consensus-beefy",
"sp-consensus-grandpa",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-mmr-primitives",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-state-machine",
+ "sp-state-machine 0.35.0",
"sp-storage 19.0.0",
"sp-timestamp",
+ "sp-tracing 16.0.0",
"sp-transaction-pool",
"sp-version",
- "sp-weights",
+ "sp-weights 27.0.0",
"staging-xcm",
"substrate-prometheus-endpoint",
"tempfile",
@@ -14835,7 +15630,7 @@ version = "7.0.0"
dependencies = [
"arrayvec 0.7.4",
"assert_matches",
- "async-channel",
+ "async-channel 1.9.0",
"bitvec",
"fatality",
"futures",
@@ -14853,11 +15648,11 @@ dependencies = [
"rand_chacha",
"sc-keystore",
"sc-network",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-authority-discovery",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-staking",
"sp-tracing 16.0.0",
"thiserror",
@@ -14870,7 +15665,7 @@ version = "7.0.0"
dependencies = [
"parity-scale-codec",
"polkadot-primitives",
- "sp-core",
+ "sp-core 28.0.0",
"tracing-gum",
]
@@ -14882,15 +15677,15 @@ dependencies = [
"async-trait",
"bincode",
"bitvec",
- "clap 4.5.3",
+ "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",
@@ -14914,13 +15709,14 @@ dependencies = [
"polkadot-overseer",
"polkadot-primitives",
"polkadot-primitives-test-helpers",
+ "polkadot-service",
"polkadot-statement-distribution",
"prometheus",
"pyroscope",
"pyroscope_pprofrs",
"rand",
"rand_chacha",
- "rand_core",
+ "rand_core 0.6.4",
"rand_distr",
"sc-keystore",
"sc-network",
@@ -14931,16 +15727,18 @@ dependencies = [
"serde_json",
"serde_yaml",
"sha1",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-consensus",
"sp-consensus-babe",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-timestamp",
+ "sp-tracing 16.0.0",
"strum 0.26.2",
"substrate-prometheus-endpoint",
+ "tikv-jemallocator",
"tokio",
"tracing-gum",
]
@@ -14964,12 +15762,12 @@ dependencies = [
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-timestamp",
"substrate-test-client",
]
@@ -14980,7 +15778,7 @@ version = "1.0.0"
dependencies = [
"assert_matches",
"async-trait",
- "clap 4.5.3",
+ "clap 4.5.11",
"color-eyre",
"futures",
"futures-timer",
@@ -15000,8 +15798,8 @@ dependencies = [
"polkadot-node-subsystem-util",
"polkadot-primitives",
"rand",
- "sp-core",
- "sp-keystore",
+ "sp-core 28.0.0",
+ "sp-keystore 0.34.0",
"substrate-build-script-utils",
"tracing-gum",
]
@@ -15045,19 +15843,18 @@ dependencies = [
"sp-block-builder",
"sp-consensus-babe",
"sp-consensus-beefy",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
"sp-mmr-primitives",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-staking",
- "sp-std 14.0.0",
"sp-transaction-pool",
- "sp-trie",
+ "sp-trie 29.0.0",
"sp-version",
"staging-xcm",
"staging-xcm-builder",
@@ -15100,17 +15897,17 @@ dependencies = [
"sc-tracing",
"sc-transaction-pool",
"serde_json",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-authority-discovery",
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
"sp-consensus-grandpa",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
"sp-keyring",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"substrate-test-client",
"substrate-test-utils",
"tempfile",
@@ -15123,9 +15920,9 @@ dependencies = [
name = "polkadot-voter-bags"
version = "7.0.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"generate-bags",
- "sp-io",
+ "sp-io 30.0.0",
"westend-runtime",
]
@@ -15137,9 +15934,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]]
@@ -15151,6 +15961,21 @@ 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.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92c99f7eee94e7be43ba37eef65ad0ee8cbaf89b7c00001c3f6d2be985cb1817"
+
[[package]]
name = "polkavm-common"
version = "0.9.0"
@@ -15160,13 +15985,53 @@ 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.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79fa916f7962348bd1bb1a65a83401675e6fc86c51a0fdbcf92a3108e58e6125"
+dependencies = [
+ "polkavm-derive-impl-macro 0.8.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]]
+name = "polkavm-derive-impl"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c10b2654a8a10a83c260bfb93e97b262cf0017494ab94a65d389e0eda6de6c9c"
+dependencies = [
+ "polkavm-common 0.8.0",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -15175,10 +16040,32 @@ 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.35",
- "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.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15e85319a0d5129dc9f021c62607e0804f5fb777a05cdda44d750ac0732def66"
+dependencies = [
+ "polkavm-derive-impl 0.8.0",
+ "syn 2.0.65",
]
[[package]]
@@ -15187,8 +16074,18 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429"
dependencies = [
- "polkavm-derive-impl",
- "syn 2.0.61",
+ "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 0.10.0",
+ "syn 2.0.65",
]
[[package]]
@@ -15198,10 +16095,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c7be503e60cf56c0eb785f90aaba4b583b36bff00e93997d93fef97f9553c39"
dependencies = [
"gimli 0.28.0",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"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.5",
+ "log",
+ "object 0.36.1",
+ "polkavm-common 0.10.0",
"regalloc2 0.9.3",
"rustc-demangle",
]
@@ -15212,6 +16124,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"
@@ -15224,7 +16142,7 @@ dependencies = [
"concurrent-queue",
"libc",
"log",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"windows-sys 0.48.0",
]
@@ -15236,7 +16154,7 @@ checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14"
dependencies = [
"cfg-if",
"concurrent-queue",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"rustix 0.38.21",
"tracing",
"windows-sys 0.52.0",
@@ -15280,6 +16198,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"
@@ -15300,6 +16224,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"
@@ -15358,31 +16295,21 @@ 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]]
name = "primitive-types"
-version = "0.12.1"
+version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66"
+checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2"
dependencies = [
"fixed-hash",
"impl-codec",
@@ -15435,8 +16362,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
"version_check",
]
@@ -15447,8 +16374,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"version_check",
]
@@ -15464,9 +16391,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -15475,9 +16402,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -15491,9 +16418,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",
]
@@ -15556,9 +16483,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -15613,33 +16540,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",
@@ -15648,11 +16584,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",
]
@@ -15664,8 +16600,8 @@ checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
dependencies = [
"anyhow",
"itertools 0.10.5",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -15677,18 +16613,22 @@ checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"
dependencies = [
"anyhow",
"itertools 0.11.0",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "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]]
@@ -15700,6 +16640,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"
@@ -15805,35 +16754,6 @@ dependencies = [
"rand",
]
-[[package]]
-name = "quicksink"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858"
-dependencies = [
- "futures-core",
- "futures-sink",
- "pin-project-lite 0.1.12",
-]
-
-[[package]]
-name = "quinn"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e"
-dependencies = [
- "bytes",
- "pin-project-lite 0.2.12",
- "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"
@@ -15842,34 +16762,16 @@ checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75"
dependencies = [
"bytes",
"futures-io",
- "pin-project-lite 0.2.12",
- "quinn-proto 0.10.6",
- "quinn-udp 0.4.1",
- "rustc-hash",
+ "pin-project-lite",
+ "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"
@@ -15879,7 +16781,7 @@ dependencies = [
"bytes",
"rand",
"ring 0.16.20",
- "rustc-hash",
+ "rustc-hash 1.1.0",
"rustls 0.21.7",
"slab",
"thiserror",
@@ -15887,19 +16789,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"
@@ -15924,11 +16813,11 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.35"
+version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
dependencies = [
- "proc-macro2 1.0.82",
+ "proc-macro2 1.0.86",
]
[[package]]
@@ -15945,7 +16834,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"libc",
"rand_chacha",
- "rand_core",
+ "rand_core 0.6.4",
]
[[package]]
@@ -15955,9 +16844,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
- "rand_core",
+ "rand_core 0.6.4",
]
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+
[[package]]
name = "rand_core"
version = "0.6.4"
@@ -15983,7 +16878,7 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e"
dependencies = [
- "rand_core",
+ "rand_core 0.6.4",
]
[[package]]
@@ -15992,7 +16887,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
dependencies = [
- "rand_core",
+ "rand_core 0.6.4",
]
[[package]]
@@ -16056,12 +16951,28 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b"
dependencies = [
- "pem",
+ "pem 1.1.1",
"ring 0.16.20",
"time",
"yasna",
]
+[[package]]
+name = "reconnecting-jsonrpsee-ws-client"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06fa4f17e09edfc3131636082faaec633c7baa269396b4004040bc6c52f49f65"
+dependencies = [
+ "cfg_aliases 0.2.1",
+ "finito",
+ "futures",
+ "jsonrpsee 0.23.2",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "tracing",
+]
+
[[package]]
name = "redox_syscall"
version = "0.2.16"
@@ -16114,22 +17025,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -16152,20 +17063,20 @@ checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6"
dependencies = [
"hashbrown 0.13.2",
"log",
- "rustc-hash",
+ "rustc-hash 1.1.0",
"slice-group-by",
"smallvec",
]
[[package]]
name = "regex"
-version = "1.10.2"
+version = "1.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619"
dependencies = [
"aho-corasick",
"memchr",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.7",
"regex-syntax 0.8.2",
]
@@ -16186,9 +17097,9 @@ checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
[[package]]
name = "regex-automata"
-version = "0.4.3"
+version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df"
dependencies = [
"aho-corasick",
"memchr",
@@ -16225,13 +17136,10 @@ dependencies = [
"bp-runtime",
"finality-relay",
"frame-support",
- "frame-system",
"futures",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"num-traits",
- "pallet-balances",
- "pallet-bridge-messages",
"pallet-transaction-payment",
"pallet-transaction-payment-rpc-runtime-api",
"pallet-utility",
@@ -16245,11 +17153,11 @@ dependencies = [
"scale-info",
"serde_json",
"sp-consensus-grandpa",
- "sp-core",
+ "sp-core 28.0.0",
"sp-rpc",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
"sp-version",
"staging-xcm",
"thiserror",
@@ -16260,13 +17168,12 @@ dependencies = [
name = "relay-utils"
version = "0.1.0"
dependencies = [
- "ansi_term",
"anyhow",
"async-std",
"async-trait",
"backoff",
"bp-runtime",
- "env_logger 0.11.3",
+ "console",
"futures",
"isahc",
"jsonpath_lib",
@@ -16274,7 +17181,8 @@ dependencies = [
"num-traits",
"parking_lot 0.12.3",
"serde_json",
- "sp-runtime",
+ "sp-runtime 31.0.1",
+ "sp-tracing 16.0.0",
"substrate-prometheus-endpoint",
"sysinfo",
"thiserror",
@@ -16286,11 +17194,11 @@ dependencies = [
name = "remote-ext-tests-bags-list"
version = "1.0.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"frame-system",
"log",
"pallet-bags-list-remote-tests",
- "sp-core",
+ "sp-core 28.0.0",
"sp-tracing 16.0.0",
"tokio",
"westend-runtime",
@@ -16303,7 +17211,7 @@ version = "0.11.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1"
dependencies = [
- "base64 0.21.2",
+ "base64 0.21.7",
"bytes",
"encoding_rs",
"futures-core",
@@ -16313,19 +17221,22 @@ dependencies = [
"http-body 0.4.5",
"hyper 0.14.29",
"hyper-rustls 0.24.2",
+ "hyper-tls",
"ipnet",
"js-sys",
"log",
"mime",
+ "native-tls",
"once_cell",
"percent-encoding",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"rustls 0.21.7",
"rustls-pemfile 1.0.3",
"serde",
"serde_json",
"serde_urlencoded",
"tokio",
+ "tokio-native-tls",
"tokio-rustls 0.24.1",
"tower-service",
"url",
@@ -16359,13 +17270,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",
@@ -16440,7 +17352,7 @@ dependencies = [
"sp-authority-discovery",
"sp-consensus-babe",
"sp-consensus-beefy",
- "sp-core",
+ "sp-core 28.0.0",
]
[[package]]
@@ -16478,13 +17390,12 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-transaction-pool",
"sp-version",
"staging-parachain-info",
@@ -16570,27 +17481,26 @@ dependencies = [
"serde_json",
"smallvec",
"sp-api",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-authority-discovery",
"sp-block-builder",
"sp-consensus-babe",
"sp-consensus-beefy",
"sp-consensus-grandpa",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
"sp-mmr-primitives",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-staking",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-tracing 16.0.0",
"sp-transaction-pool",
- "sp-trie",
+ "sp-trie 29.0.0",
"sp-version",
"staging-xcm",
"staging-xcm-builder",
@@ -16610,9 +17520,9 @@ dependencies = [
"polkadot-primitives",
"polkadot-runtime-common",
"smallvec",
- "sp-core",
- "sp-runtime",
- "sp-weights",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
+ "sp-weights 27.0.0",
"staging-xcm",
"staging-xcm-builder",
]
@@ -16623,6 +17533,7 @@ version = "0.0.0"
dependencies = [
"asset-hub-rococo-emulated-chain",
"bridge-hub-rococo-emulated-chain",
+ "coretime-rococo-emulated-chain",
"emulated-integration-tests-common",
"penpal-emulated-chain",
"people-rococo-emulated-chain",
@@ -16680,12 +17591,12 @@ checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
dependencies = [
"cfg-if",
"glob",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "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",
]
@@ -16716,9 +17627,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",
@@ -16740,9 +17651,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"
@@ -16756,6 +17667,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"
@@ -16862,6 +17779,20 @@ dependencies = [
"sct",
]
+[[package]]
+name = "rustls"
+version = "0.22.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
+dependencies = [
+ "log",
+ "ring 0.17.7",
+ "rustls-pki-types",
+ "rustls-webpki 0.102.4",
+ "subtle 2.5.0",
+ "zeroize",
+]
+
[[package]]
name = "rustls"
version = "0.23.10"
@@ -16908,7 +17839,7 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
dependencies = [
- "base64 0.21.2",
+ "base64 0.21.7",
]
[[package]]
@@ -16917,7 +17848,7 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4"
dependencies = [
- "base64 0.21.2",
+ "base64 0.21.7",
"rustls-pki-types",
]
@@ -16977,9 +17908,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"
@@ -17004,6 +17935,17 @@ dependencies = [
"twox-hash",
]
+[[package]]
+name = "ruzstd"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d"
+dependencies = [
+ "byteorder",
+ "derive_more",
+ "twox-hash",
+]
+
[[package]]
name = "rw-stream-sink"
version = "0.4.0"
@@ -17053,7 +17995,7 @@ name = "sc-allocator"
version = "23.0.0"
dependencies = [
"log",
- "sp-core",
+ "sp-core 28.0.0",
"sp-wasm-interface 20.0.0",
"thiserror",
]
@@ -17081,9 +18023,9 @@ dependencies = [
"sp-api",
"sp-authority-discovery",
"sp-blockchain",
- "sp-core",
- "sp-keystore",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"substrate-prometheus-endpoint",
"substrate-test-runtime-client",
@@ -17108,9 +18050,9 @@ dependencies = [
"sp-api",
"sp-blockchain",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"substrate-prometheus-endpoint",
"substrate-test-runtime-client",
]
@@ -17123,11 +18065,11 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-blockchain",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-runtime",
- "sp-state-machine",
- "sp-trie",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
+ "sp-trie 29.0.0",
"substrate-test-runtime-client",
]
@@ -17136,7 +18078,7 @@ name = "sc-chain-spec"
version = "28.0.0"
dependencies = [
"array-bytes",
- "clap 4.5.3",
+ "clap 4.5.11",
"docify",
"log",
"memmap2 0.9.3",
@@ -17149,16 +18091,16 @@ dependencies = [
"sc-telemetry",
"serde",
"serde_json",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-blockchain",
"sp-consensus-babe",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-genesis-builder",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-tracing 16.0.0",
"substrate-test-runtime",
]
@@ -17168,9 +18110,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -17179,7 +18121,7 @@ version = "0.36.0"
dependencies = [
"array-bytes",
"chrono",
- "clap 4.5.3",
+ "clap 4.5.11",
"fdlimit",
"futures",
"futures-timer",
@@ -17204,11 +18146,11 @@ dependencies = [
"serde",
"serde_json",
"sp-blockchain",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
- "sp-panic-handler",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-panic-handler 13.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"sp-version",
"tempfile",
@@ -17231,15 +18173,15 @@ dependencies = [
"sp-api",
"sp-blockchain",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-database",
"sp-externalities 0.25.0",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-statement-store",
"sp-storage 19.0.0",
"sp-test-primitives",
- "sp-trie",
+ "sp-trie 29.0.0",
"substrate-prometheus-endpoint",
"substrate-test-runtime",
"thiserror",
@@ -17266,14 +18208,14 @@ dependencies = [
"sc-client-api",
"sc-state-db",
"schnellru",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-blockchain",
- "sp-core",
+ "sp-core 28.0.0",
"sp-database",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-tracing 16.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
"substrate-test-runtime-client",
"tempfile",
]
@@ -17294,9 +18236,9 @@ dependencies = [
"sp-api",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-runtime",
- "sp-state-machine",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-test-primitives",
"substrate-prometheus-endpoint",
"thiserror",
@@ -17320,17 +18262,17 @@ dependencies = [
"sc-network-test",
"sc-telemetry",
"sp-api",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
"sp-consensus-aura",
"sp-consensus-slots",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-timestamp",
"sp-tracing 16.0.0",
"substrate-prometheus-endpoint",
@@ -17362,18 +18304,18 @@ dependencies = [
"sc-telemetry",
"sc-transaction-pool-api",
"sp-api",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
"sp-consensus-slots",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-inherents",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-timestamp",
"sp-tracing 16.0.0",
"substrate-prometheus-endpoint",
@@ -17387,7 +18329,7 @@ name = "sc-consensus-babe-rpc"
version = "0.34.0"
dependencies = [
"futures",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"sc-consensus",
"sc-consensus-babe",
"sc-consensus-epochs",
@@ -17397,14 +18339,14 @@ dependencies = [
"serde",
"serde_json",
"sp-api",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"substrate-test-runtime-client",
"thiserror",
"tokio",
@@ -17415,7 +18357,7 @@ name = "sc-consensus-beefy"
version = "13.0.0"
dependencies = [
"array-bytes",
- "async-channel",
+ "async-channel 1.9.0",
"async-trait",
"fnv",
"futures",
@@ -17433,18 +18375,18 @@ dependencies = [
"sc-utils",
"serde",
"sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
+ "sp-application-crypto 30.0.0",
+ "sp-arithmetic 23.0.0",
"sp-blockchain",
"sp-consensus",
"sp-consensus-beefy",
"sp-consensus-grandpa",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-keyring",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-mmr-primitives",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"substrate-prometheus-endpoint",
"substrate-test-runtime-client",
@@ -17459,7 +18401,7 @@ name = "sc-consensus-beefy-rpc"
version = "13.0.0"
dependencies = [
"futures",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"parity-scale-codec",
"parking_lot 0.12.3",
@@ -17467,10 +18409,10 @@ dependencies = [
"sc-rpc",
"serde",
"serde_json",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-consensus-beefy",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"substrate-test-runtime-client",
"thiserror",
"tokio",
@@ -17485,7 +18427,7 @@ dependencies = [
"sc-client-api",
"sc-consensus",
"sp-blockchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -17521,16 +18463,16 @@ dependencies = [
"serde",
"serde_json",
"sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
+ "sp-application-crypto 30.0.0",
+ "sp-arithmetic 23.0.0",
"sp-blockchain",
"sp-consensus",
"sp-consensus-grandpa",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"substrate-prometheus-endpoint",
"substrate-test-runtime-client",
@@ -17544,7 +18486,7 @@ version = "0.19.0"
dependencies = [
"finality-grandpa",
"futures",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"parity-scale-codec",
"sc-block-builder",
@@ -17554,9 +18496,9 @@ dependencies = [
"serde",
"sp-blockchain",
"sp-consensus-grandpa",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"substrate-test-runtime-client",
"thiserror",
"tokio",
@@ -17570,7 +18512,7 @@ dependencies = [
"async-trait",
"futures",
"futures-timer",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"parity-scale-codec",
"sc-basic-authorship",
@@ -17588,10 +18530,10 @@ dependencies = [
"sp-consensus-aura",
"sp-consensus-babe",
"sp-consensus-slots",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-timestamp",
"substrate-prometheus-endpoint",
"substrate-test-runtime-client",
@@ -17617,9 +18559,9 @@ dependencies = [
"sp-blockchain",
"sp-consensus",
"sp-consensus-pow",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"substrate-prometheus-endpoint",
"thiserror",
]
@@ -17636,14 +18578,14 @@ dependencies = [
"sc-client-api",
"sc-consensus",
"sc-telemetry",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-blockchain",
"sp-consensus",
"sp-consensus-slots",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"substrate-test-runtime-client",
]
@@ -17654,7 +18596,6 @@ dependencies = [
"array-bytes",
"assert_matches",
"criterion",
- "env_logger 0.11.3",
"num_cpus",
"parity-scale-codec",
"parking_lot 0.12.3",
@@ -17667,17 +18608,17 @@ dependencies = [
"sc-tracing",
"schnellru",
"sp-api",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-externalities 0.25.0",
- "sp-io",
+ "sp-io 30.0.0",
"sp-maybe-compressed-blob",
- "sp-panic-handler",
- "sp-runtime",
+ "sp-panic-handler 13.0.0",
+ "sp-runtime 31.0.1",
"sp-runtime-interface 24.0.0",
- "sp-state-machine",
+ "sp-state-machine 0.35.0",
"sp-tracing 16.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
"sp-version",
"sp-wasm-interface 20.0.0",
"substrate-test-runtime",
@@ -17691,7 +18632,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",
@@ -17704,7 +18645,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",
]
@@ -17725,7 +18666,7 @@ dependencies = [
"sc-allocator",
"sc-executor-common",
"sc-runtime-test",
- "sp-io",
+ "sp-io 30.0.0",
"sp-runtime-interface 24.0.0",
"sp-wasm-interface 20.0.0",
"tempfile",
@@ -17737,7 +18678,7 @@ dependencies = [
name = "sc-informant"
version = "0.33.0"
dependencies = [
- "ansi_term",
+ "console",
"futures",
"futures-timer",
"log",
@@ -17746,7 +18687,7 @@ dependencies = [
"sc-network-common",
"sc-network-sync",
"sp-blockchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -17756,9 +18697,9 @@ dependencies = [
"array-bytes",
"parking_lot 0.12.3",
"serde_json",
- "sp-application-crypto",
- "sp-core",
- "sp-keystore",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
+ "sp-keystore 0.34.0",
"tempfile",
"thiserror",
]
@@ -17784,10 +18725,10 @@ dependencies = [
"sc-transaction-pool-api",
"sp-api",
"sp-consensus",
- "sp-core",
- "sp-keystore",
+ "sp-core 28.0.0",
+ "sp-keystore 0.34.0",
"sp-mixnet",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"thiserror",
]
@@ -17797,7 +18738,7 @@ version = "0.34.0"
dependencies = [
"array-bytes",
"assert_matches",
- "async-channel",
+ "async-channel 1.9.0",
"async-trait",
"asynchronous-codec",
"bytes",
@@ -17832,12 +18773,12 @@ dependencies = [
"serde",
"serde_json",
"smallvec",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-crypto-hashing",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-runtime 31.0.1",
"sp-test-primitives",
"sp-tracing 16.0.0",
"substrate-prometheus-endpoint",
@@ -17869,7 +18810,7 @@ dependencies = [
"sc-network-types",
"sp-consensus",
"sp-consensus-grandpa",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"tempfile",
]
@@ -17889,7 +18830,7 @@ dependencies = [
"sc-network-sync",
"sc-network-types",
"schnellru",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"substrate-prometheus-endpoint",
"substrate-test-runtime-client",
"tokio",
@@ -17901,7 +18842,7 @@ name = "sc-network-light"
version = "0.33.0"
dependencies = [
"array-bytes",
- "async-channel",
+ "async-channel 1.9.0",
"futures",
"log",
"parity-scale-codec",
@@ -17911,8 +18852,8 @@ dependencies = [
"sc-network",
"sc-network-types",
"sp-blockchain",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"thiserror",
]
@@ -17921,7 +18862,7 @@ name = "sc-network-statement"
version = "0.16.0"
dependencies = [
"array-bytes",
- "async-channel",
+ "async-channel 1.9.0",
"futures",
"log",
"parity-scale-codec",
@@ -17930,7 +18871,7 @@ dependencies = [
"sc-network-sync",
"sc-network-types",
"sp-consensus",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-statement-store",
"substrate-prometheus-endpoint",
]
@@ -17940,7 +18881,7 @@ name = "sc-network-sync"
version = "0.33.0"
dependencies = [
"array-bytes",
- "async-channel",
+ "async-channel 1.9.0",
"async-trait",
"fork-tree",
"futures",
@@ -17961,12 +18902,12 @@ dependencies = [
"sc-utils",
"schnellru",
"smallvec",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-blockchain",
"sp-consensus",
"sp-consensus-grandpa",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-test-primitives",
"sp-tracing 16.0.0",
"substrate-prometheus-endpoint",
@@ -17999,8 +18940,8 @@ dependencies = [
"sc-utils",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"substrate-test-runtime",
"substrate-test-runtime-client",
@@ -18021,7 +18962,7 @@ dependencies = [
"sc-network-types",
"sc-utils",
"sp-consensus",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"substrate-prometheus-endpoint",
]
@@ -18029,7 +18970,7 @@ dependencies = [
name = "sc-network-types"
version = "0.10.0"
dependencies = [
- "bs58 0.5.0",
+ "bs58",
"ed25519-dalek",
"libp2p-identity",
"litep2p",
@@ -18072,11 +19013,11 @@ dependencies = [
"sc-utils",
"sp-api",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-externalities 0.25.0",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"substrate-test-runtime-client",
"threadpool",
@@ -18097,9 +19038,8 @@ name = "sc-rpc"
version = "29.0.0"
dependencies = [
"assert_matches",
- "env_logger 0.11.3",
"futures",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"parity-scale-codec",
"parking_lot 0.12.3",
@@ -18119,26 +19059,25 @@ dependencies = [
"sp-api",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-crypto-hashing",
- "sp-io",
- "sp-keystore",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
"sp-offchain",
"sp-rpc",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-statement-store",
"sp-version",
"substrate-test-runtime-client",
"tokio",
- "tracing-subscriber 0.3.18",
]
[[package]]
name = "sc-rpc-api"
version = "0.33.0"
dependencies = [
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"parity-scale-codec",
"sc-chain-spec",
"sc-mixnet",
@@ -18146,9 +19085,9 @@ dependencies = [
"scale-info",
"serde",
"serde_json",
- "sp-core",
+ "sp-core 28.0.0",
"sp-rpc",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-version",
"thiserror",
]
@@ -18157,6 +19096,7 @@ dependencies = [
name = "sc-rpc-server"
version = "11.0.0"
dependencies = [
+ "dyn-clone",
"forwarded-header-value",
"futures",
"governor",
@@ -18164,14 +19104,15 @@ dependencies = [
"http-body-util",
"hyper 1.3.1",
"ip_network",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
+ "sc-rpc-api",
"serde",
"serde_json",
"substrate-prometheus-endpoint",
"tokio",
"tower",
- "tower-http",
+ "tower-http 0.5.2",
]
[[package]]
@@ -18183,7 +19124,7 @@ dependencies = [
"futures",
"futures-util",
"hex",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"parity-scale-codec",
"parking_lot 0.12.3",
@@ -18203,11 +19144,11 @@ dependencies = [
"sp-api",
"sp-blockchain",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-externalities 0.25.0",
"sp-maybe-compressed-blob",
"sp-rpc",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-version",
"substrate-test-runtime",
"substrate-test-runtime-client",
@@ -18221,11 +19162,10 @@ dependencies = [
name = "sc-runtime-test"
version = "2.0.0"
dependencies = [
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-runtime-interface 24.0.0",
- "sp-std 14.0.0",
"substrate-wasm-builder",
]
@@ -18238,7 +19178,7 @@ dependencies = [
"exit-future",
"futures",
"futures-timer",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"parity-scale-codec",
"parking_lot 0.12.3",
@@ -18272,16 +19212,16 @@ dependencies = [
"sp-api",
"sp-blockchain",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-externalities 0.25.0",
- "sp-keystore",
- "sp-runtime",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-state-machine",
+ "sp-state-machine 0.35.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-transaction-storage-proof",
- "sp-trie",
+ "sp-trie 29.0.0",
"sp-version",
"static_init",
"substrate-prometheus-endpoint",
@@ -18299,7 +19239,7 @@ name = "sc-service-test"
version = "2.0.0"
dependencies = [
"array-bytes",
- "async-channel",
+ "async-channel 1.9.0",
"fdlimit",
"futures",
"log",
@@ -18317,13 +19257,13 @@ dependencies = [
"sp-api",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-state-machine",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-storage 19.0.0",
"sp-tracing 16.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
"substrate-test-runtime",
"substrate-test-runtime-client",
"tempfile",
@@ -18337,14 +19277,13 @@ dependencies = [
"log",
"parity-scale-codec",
"parking_lot 0.12.3",
- "sp-core",
+ "sp-core 28.0.0",
]
[[package]]
name = "sc-statement-store"
version = "10.0.0"
dependencies = [
- "env_logger 0.11.3",
"log",
"parity-db",
"parking_lot 0.12.3",
@@ -18352,9 +19291,10 @@ dependencies = [
"sc-keystore",
"sp-api",
"sp-blockchain",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-statement-store",
+ "sp-tracing 16.0.0",
"substrate-prometheus-endpoint",
"tempfile",
"tokio",
@@ -18364,10 +19304,10 @@ dependencies = [
name = "sc-storage-monitor"
version = "0.16.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"fs4",
"log",
- "sp-core",
+ "sp-core 28.0.0",
"thiserror",
"tokio",
]
@@ -18376,7 +19316,7 @@ dependencies = [
name = "sc-sync-state-rpc"
version = "0.34.0"
dependencies = [
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"parity-scale-codec",
"sc-chain-spec",
"sc-client-api",
@@ -18386,7 +19326,7 @@ dependencies = [
"serde",
"serde_json",
"sp-blockchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"thiserror",
]
@@ -18404,10 +19344,10 @@ dependencies = [
"sc-telemetry",
"serde",
"serde_json",
- "sp-core",
- "sp-crypto-hashing",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -18434,8 +19374,8 @@ dependencies = [
name = "sc-tracing"
version = "28.0.0"
dependencies = [
- "ansi_term",
"chrono",
+ "console",
"criterion",
"is-terminal",
"lazy_static",
@@ -18444,15 +19384,15 @@ 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",
"sp-api",
"sp-blockchain",
- "sp-core",
+ "sp-core 28.0.0",
"sp-rpc",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"thiserror",
"tracing",
@@ -18465,9 +19405,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -18492,9 +19432,9 @@ dependencies = [
"sp-api",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-crypto-hashing",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"sp-transaction-pool",
"substrate-prometheus-endpoint",
@@ -18515,8 +19455,8 @@ dependencies = [
"serde",
"serde_json",
"sp-blockchain",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"thiserror",
]
@@ -18524,14 +19464,14 @@ dependencies = [
name = "sc-utils"
version = "14.0.0"
dependencies = [
- "async-channel",
+ "async-channel 1.9.0",
"futures",
"futures-timer",
"lazy_static",
"log",
"parking_lot 0.12.3",
"prometheus",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"tokio-test",
]
@@ -18542,22 +19482,66 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e57b1e7f6b65ed1f04e79a85a57d755ad56d76fdf1e9bddcc9ae14f71fcdcf54"
dependencies = [
"parity-scale-codec",
+ "scale-info",
"scale-type-resolver",
+ "serde",
]
[[package]]
name = "scale-decode"
-version = "0.13.0"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e98f3262c250d90e700bb802eb704e1f841e03331c2eb815e46516c4edbf5b27"
+dependencies = [
+ "derive_more",
+ "parity-scale-codec",
+ "primitive-types",
+ "scale-bits",
+ "scale-decode-derive",
+ "scale-type-resolver",
+ "smallvec",
+]
+
+[[package]]
+name = "scale-decode-derive"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bb22f574168103cdd3133b19281639ca65ad985e24612728f727339dcaf4021"
+dependencies = [
+ "darling 0.14.4",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "scale-encode"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b12ebca36cec2a3f983c46295b282b35e5f8496346fb859a8776dad5389e5389"
+checksum = "4ba0b9c48dc0eb20c60b083c29447c0c4617cb7c4a4c9fef72aa5c5bc539e15e"
dependencies = [
"derive_more",
"parity-scale-codec",
+ "primitive-types",
"scale-bits",
+ "scale-encode-derive",
"scale-type-resolver",
"smallvec",
]
+[[package]]
+name = "scale-encode-derive"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82ab7e60e2d9c8d47105f44527b26f04418e5e624ffc034f6b4a86c0ba19c5bf"
+dependencies = [
+ "darling 0.14.4",
+ "proc-macro-crate 1.3.1",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 1.0.109",
+]
+
[[package]]
name = "scale-info"
version = "2.11.3"
@@ -18579,8 +19563,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -18589,6 +19573,44 @@ name = "scale-type-resolver"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb"
+dependencies = [
+ "scale-info",
+ "smallvec",
+]
+
+[[package]]
+name = "scale-typegen"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "498d1aecf2ea61325d4511787c115791639c0fd21ef4f8e11e49dd09eff2bbac"
+dependencies = [
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "scale-info",
+ "syn 2.0.65",
+ "thiserror",
+]
+
+[[package]]
+name = "scale-value"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba4d772cfb7569e03868400344a1695d16560bf62b86b918604773607d39ec84"
+dependencies = [
+ "base58",
+ "blake2 0.10.6",
+ "derive_more",
+ "either",
+ "frame-metadata 15.1.0",
+ "parity-scale-codec",
+ "scale-bits",
+ "scale-decode",
+ "scale-encode",
+ "scale-info",
+ "scale-type-resolver",
+ "serde",
+ "yap",
+]
[[package]]
name = "schannel"
@@ -18617,17 +19639,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.35",
+ "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",
@@ -18644,7 +19666,7 @@ dependencies = [
"arrayvec 0.7.4",
"curve25519-dalek-ng",
"merlin",
- "rand_core",
+ "rand_core 0.6.4",
"sha2 0.9.9",
"subtle-ng",
"zeroize",
@@ -18659,10 +19681,10 @@ dependencies = [
"aead",
"arrayref",
"arrayvec 0.7.4",
- "curve25519-dalek",
+ "curve25519-dalek 4.1.3",
"getrandom_or_panic",
"merlin",
- "rand_core",
+ "rand_core 0.6.4",
"serde_bytes",
"sha2 0.10.8",
"subtle 2.5.0",
@@ -18689,27 +19711,12 @@ checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152"
[[package]]
name = "sct"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
-dependencies = [
- "ring 0.16.20",
- "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",
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring 0.16.20",
+ "untrusted 0.7.1",
]
[[package]]
@@ -18760,6 +19767,7 @@ version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e"
dependencies = [
+ "serde",
"zeroize",
]
@@ -18809,13 +19817,12 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-transaction-pool",
"sp-version",
"staging-parachain-info",
@@ -18887,9 +19894,9 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5"
[[package]]
name = "serde"
-version = "1.0.197"
+version = "1.0.210"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
dependencies = [
"serde_derive",
]
@@ -18903,6 +19910,16 @@ dependencies = [
"serde",
]
+[[package]]
+name = "serde-value"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c"
+dependencies = [
+ "ordered-float 2.10.1",
+ "serde",
+]
+
[[package]]
name = "serde_bytes"
version = "0.11.12"
@@ -18914,13 +19931,13 @@ dependencies = [
[[package]]
name = "serde_derive"
-version = "1.0.197"
+version = "1.0.210"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -18929,8 +19946,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -18945,21 +19962,22 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.114"
+version = "1.0.128"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
+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 +19996,9 @@ dependencies = [
[[package]]
name = "serde_yaml"
-version = "0.9.33"
+version = "0.9.34+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0623d197252096520c6f2a5e1171ee436e5af99a5d7caa2891e55e61950e6d9"
+checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
dependencies = [
"indexmap 2.2.3",
"itoa",
@@ -19019,9 +20037,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -19037,18 +20055,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"
@@ -19060,15 +20066,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"
@@ -19133,13 +20130,12 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-consensus-aura",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-transaction-pool",
"sp-version",
"staging-parachain-info",
@@ -19181,7 +20177,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
dependencies = [
"digest 0.10.7",
- "rand_core",
+ "rand_core 0.6.4",
]
[[package]]
@@ -19199,9 +20195,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",
]
@@ -19223,6 +20219,12 @@ version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+[[package]]
+name = "siphasher"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
+
[[package]]
name = "slab"
version = "0.4.9"
@@ -19245,8 +20247,7 @@ dependencies = [
"enumn",
"parity-scale-codec",
"paste",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -19264,7 +20265,7 @@ version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5"
dependencies = [
- "async-channel",
+ "async-channel 1.9.0",
"futures-core",
"futures-io",
]
@@ -19281,17 +20282,34 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1"
dependencies = [
- "async-channel",
+ "async-channel 1.9.0",
"async-executor",
- "async-fs",
+ "async-fs 1.6.0",
"async-io 1.13.0",
"async-lock 2.8.0",
- "async-net",
- "async-process",
+ "async-net 1.7.0",
+ "async-process 1.7.0",
"blocking",
"futures-lite 1.13.0",
]
+[[package]]
+name = "smol"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a33bd3e260892199c3ccfc487c88b2da2265080acb316cd920da72fdfd7c599f"
+dependencies = [
+ "async-channel 2.3.0",
+ "async-executor",
+ "async-fs 2.1.2",
+ "async-io 2.3.3",
+ "async-lock 3.4.0",
+ "async-net 2.0.0",
+ "async-process 2.3.0",
+ "blocking",
+ "futures-lite 2.0.0",
+]
+
[[package]]
name = "smol_str"
version = "0.2.0"
@@ -19310,20 +20328,20 @@ dependencies = [
"arrayvec 0.7.4",
"async-lock 2.8.0",
"atomic-take",
- "base64 0.21.2",
+ "base64 0.21.7",
"bip39",
"blake2-rfc",
- "bs58 0.5.0",
+ "bs58",
"chacha20",
"crossbeam-queue",
"derive_more",
- "ed25519-zebra",
+ "ed25519-zebra 4.0.3",
"either",
"event-listener 2.5.3",
"fnv",
"futures-lite 1.13.0",
"futures-util",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"hex",
"hmac 0.12.1",
"itertools 0.11.0",
@@ -19339,13 +20357,68 @@ dependencies = [
"poly1305",
"rand",
"rand_chacha",
- "ruzstd",
+ "ruzstd 0.4.0",
"schnorrkel 0.10.2",
"serde",
"serde_json",
"sha2 0.10.8",
"sha3",
- "siphasher",
+ "siphasher 0.3.11",
+ "slab",
+ "smallvec",
+ "soketto 0.7.1",
+ "twox-hash",
+ "wasmi 0.31.2",
+ "x25519-dalek",
+ "zeroize",
+]
+
+[[package]]
+name = "smoldot"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d1eaa97d77be4d026a1e7ffad1bb3b78448763b357ea6f8188d3e6f736a9b9"
+dependencies = [
+ "arrayvec 0.7.4",
+ "async-lock 3.4.0",
+ "atomic-take",
+ "base64 0.21.7",
+ "bip39",
+ "blake2-rfc",
+ "bs58",
+ "chacha20",
+ "crossbeam-queue",
+ "derive_more",
+ "ed25519-zebra 4.0.3",
+ "either",
+ "event-listener 4.0.3",
+ "fnv",
+ "futures-lite 2.0.0",
+ "futures-util",
+ "hashbrown 0.14.5",
+ "hex",
+ "hmac 0.12.1",
+ "itertools 0.12.1",
+ "libm",
+ "libsecp256k1",
+ "merlin",
+ "no-std-net",
+ "nom",
+ "num-bigint",
+ "num-rational",
+ "num-traits",
+ "pbkdf2",
+ "pin-project",
+ "poly1305",
+ "rand",
+ "rand_chacha",
+ "ruzstd 0.5.0",
+ "schnorrkel 0.11.4",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+ "sha3",
+ "siphasher 1.0.1",
"slab",
"smallvec",
"soketto 0.7.1",
@@ -19361,9 +20434,9 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "256b5bad1d6b49045e95fe87492ce73d5af81545d8b4d8318a872d2007024c33"
dependencies = [
- "async-channel",
+ "async-channel 1.9.0",
"async-lock 2.8.0",
- "base64 0.21.2",
+ "base64 0.21.7",
"blake2-rfc",
"derive_more",
"either",
@@ -19372,7 +20445,7 @@ dependencies = [
"futures-channel",
"futures-lite 1.13.0",
"futures-util",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"hex",
"itertools 0.11.0",
"log",
@@ -19384,10 +20457,46 @@ dependencies = [
"rand_chacha",
"serde",
"serde_json",
- "siphasher",
+ "siphasher 0.3.11",
+ "slab",
+ "smol 1.3.0",
+ "smoldot 0.11.0",
+ "zeroize",
+]
+
+[[package]]
+name = "smoldot-light"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5496f2d116b7019a526b1039ec2247dd172b8670633b1a64a614c9ea12c9d8c7"
+dependencies = [
+ "async-channel 2.3.0",
+ "async-lock 3.4.0",
+ "base64 0.21.7",
+ "blake2-rfc",
+ "derive_more",
+ "either",
+ "event-listener 4.0.3",
+ "fnv",
+ "futures-channel",
+ "futures-lite 2.0.0",
+ "futures-util",
+ "hashbrown 0.14.5",
+ "hex",
+ "itertools 0.12.1",
+ "log",
+ "lru 0.12.3",
+ "no-std-net",
+ "parking_lot 0.12.3",
+ "pin-project",
+ "rand",
+ "rand_chacha",
+ "serde",
+ "serde_json",
+ "siphasher 1.0.1",
"slab",
- "smol",
- "smoldot",
+ "smol 2.0.2",
+ "smoldot 0.16.0",
"zeroize",
]
@@ -19406,8 +20515,8 @@ dependencies = [
"aes-gcm",
"blake2 0.10.6",
"chacha20poly1305",
- "curve25519-dalek",
- "rand_core",
+ "curve25519-dalek 4.1.3",
+ "rand_core 0.6.4",
"ring 0.17.7",
"rustc_version 0.4.0",
"sha2 0.10.8",
@@ -19438,9 +20547,9 @@ dependencies = [
"serde",
"snowbridge-ethereum",
"snowbridge-milagro-bls",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"ssz_rs",
"ssz_rs_derive",
@@ -19460,13 +20569,14 @@ dependencies = [
"scale-info",
"serde",
"snowbridge-beacon-primitives",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"staging-xcm",
"staging-xcm-builder",
+ "staging-xcm-executor",
]
[[package]]
@@ -19485,8 +20595,8 @@ dependencies = [
"serde",
"serde-big-array",
"serde_json",
- "sp-io",
- "sp-runtime",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"wasm-bindgen-test",
]
@@ -19511,14 +20621,14 @@ name = "snowbridge-outbound-queue-merkle-tree"
version = "0.3.0"
dependencies = [
"array-bytes",
- "env_logger 0.11.3",
"hex",
"hex-literal",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-crypto-hashing",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-runtime 31.0.1",
+ "sp-tracing 16.0.0",
]
[[package]]
@@ -19552,10 +20662,10 @@ dependencies = [
"snowbridge-core",
"snowbridge-ethereum",
"snowbridge-pallet-ethereum-client-fixtures",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"static_assertions",
]
@@ -19567,7 +20677,7 @@ dependencies = [
"hex-literal",
"snowbridge-beacon-primitives",
"snowbridge-core",
- "sp-core",
+ "sp-core 28.0.0",
"sp-std 14.0.0",
]
@@ -19591,10 +20701,10 @@ dependencies = [
"snowbridge-pallet-ethereum-client",
"snowbridge-pallet-inbound-queue-fixtures",
"snowbridge-router-primitives",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"staging-xcm",
"staging-xcm-executor",
@@ -19607,7 +20717,7 @@ dependencies = [
"hex-literal",
"snowbridge-beacon-primitives",
"snowbridge-core",
- "sp-core",
+ "sp-core 28.0.0",
"sp-std 14.0.0",
]
@@ -19626,11 +20736,11 @@ dependencies = [
"serde",
"snowbridge-core",
"snowbridge-outbound-queue-merkle-tree",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
]
@@ -19651,10 +20761,10 @@ dependencies = [
"scale-info",
"snowbridge-core",
"snowbridge-pallet-outbound-queue",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"staging-xcm",
"staging-xcm-executor",
@@ -19670,9 +20780,9 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"snowbridge-core",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"staging-xcm",
"staging-xcm-executor",
@@ -19686,7 +20796,7 @@ dependencies = [
"log",
"parity-scale-codec",
"snowbridge-core",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-std 14.0.0",
"staging-xcm",
"staging-xcm-builder",
@@ -19714,10 +20824,10 @@ dependencies = [
"snowbridge-pallet-ethereum-client-fixtures",
"snowbridge-pallet-outbound-queue",
"snowbridge-pallet-system",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"staging-parachain-info",
"staging-xcm",
"staging-xcm-executor",
@@ -19766,7 +20876,7 @@ dependencies = [
"httparse",
"log",
"rand",
- "sha-1 0.9.8",
+ "sha-1",
]
[[package]]
@@ -19789,11 +20899,12 @@ dependencies = [
name = "solochain-template-node"
version = "0.0.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"frame-benchmarking-cli",
+ "frame-metadata-hash-extension",
"frame-system",
"futures",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"pallet-transaction-payment",
"pallet-transaction-payment-rpc",
"sc-basic-authorship",
@@ -19805,7 +20916,6 @@ dependencies = [
"sc-executor",
"sc-network",
"sc-offchain",
- "sc-rpc-api",
"sc-service",
"sc-telemetry",
"sc-transaction-pool",
@@ -19817,11 +20927,11 @@ dependencies = [
"sp-blockchain",
"sp-consensus-aura",
"sp-consensus-grandpa",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-timestamp",
"substrate-build-script-utils",
"substrate-frame-rpc-system",
@@ -19833,6 +20943,7 @@ version = "0.0.0"
dependencies = [
"frame-benchmarking",
"frame-executive",
+ "frame-metadata-hash-extension",
"frame-support",
"frame-system",
"frame-system-benchmarking",
@@ -19852,13 +20963,12 @@ dependencies = [
"sp-block-builder",
"sp-consensus-aura",
"sp-consensus-grandpa",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-transaction-pool",
"sp-version",
@@ -19875,15 +20985,14 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-api-proc-macro",
- "sp-core",
+ "sp-core 28.0.0",
"sp-externalities 0.25.0",
"sp-metadata-ir",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-runtime-interface 24.0.0",
- "sp-state-machine",
- "sp-std 14.0.0",
+ "sp-state-machine 0.35.0",
"sp-test-primitives",
- "sp-trie",
+ "sp-trie 29.0.0",
"sp-version",
"thiserror",
]
@@ -19897,9 +21006,9 @@ dependencies = [
"blake2 0.10.6",
"expander",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -19915,9 +21024,9 @@ dependencies = [
"scale-info",
"sp-api",
"sp-consensus",
- "sp-core",
- "sp-runtime",
- "sp-state-machine",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-tracing 16.0.0",
"sp-version",
"static_assertions",
@@ -19932,9 +21041,22 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-std 14.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+]
+
+[[package]]
+name = "sp-application-crypto"
+version = "33.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13ca6121c22c8bd3d1dce1f05c479101fd0d7b159bef2a3e8c834138d839c75c"
+dependencies = [
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-core 31.0.0",
+ "sp-io 33.0.0",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -19942,9 +21064,9 @@ name = "sp-application-crypto-test"
version = "2.0.0"
dependencies = [
"sp-api",
- "sp-application-crypto",
- "sp-core",
- "sp-keystore",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
+ "sp-keystore 0.34.0",
"substrate-test-runtime-client",
]
@@ -19961,8 +21083,22 @@ dependencies = [
"rand",
"scale-info",
"serde",
- "sp-crypto-hashing",
- "sp-std 14.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "static_assertions",
+]
+
+[[package]]
+name = "sp-arithmetic"
+version = "25.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "910c07fa263b20bf7271fdd4adcb5d3217dfdac14270592e0780223542e7e114"
+dependencies = [
+ "integer-sqrt",
+ "num-traits",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"static_assertions",
]
@@ -19974,7 +21110,7 @@ dependencies = [
"fraction",
"honggfuzz",
"num-bigint",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
]
[[package]]
@@ -20002,8 +21138,8 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-api",
- "sp-application-crypto",
- "sp-runtime",
+ "sp-application-crypto 30.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -20012,7 +21148,7 @@ version = "26.0.0"
dependencies = [
"sp-api",
"sp-inherents",
- "sp-runtime",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -20020,16 +21156,17 @@ name = "sp-blockchain"
version = "28.0.0"
dependencies = [
"futures",
- "log",
"parity-scale-codec",
"parking_lot 0.12.3",
"schnellru",
"sp-api",
"sp-consensus",
+ "sp-core 28.0.0",
"sp-database",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"thiserror",
+ "tracing",
]
[[package]]
@@ -20039,10 +21176,10 @@ dependencies = [
"async-trait",
"futures",
"log",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-test-primitives",
"thiserror",
]
@@ -20055,10 +21192,10 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-api",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-consensus-slots",
"sp-inherents",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-timestamp",
]
@@ -20071,11 +21208,11 @@ dependencies = [
"scale-info",
"serde",
"sp-api",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-consensus-slots",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-timestamp",
]
@@ -20089,13 +21226,14 @@ dependencies = [
"scale-info",
"serde",
"sp-api",
- "sp-application-crypto",
- "sp-core",
- "sp-crypto-hashing",
- "sp-io",
- "sp-keystore",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-io 30.0.0",
+ "sp-keystore 0.34.0",
"sp-mmr-primitives",
- "sp-runtime",
+ "sp-runtime 31.0.1",
+ "sp-weights 27.0.0",
"strum 0.26.2",
"w3f-bls",
]
@@ -20110,10 +21248,10 @@ dependencies = [
"scale-info",
"serde",
"sp-api",
- "sp-application-crypto",
- "sp-core",
- "sp-keystore",
- "sp-runtime",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -20122,8 +21260,8 @@ version = "0.32.0"
dependencies = [
"parity-scale-codec",
"sp-api",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -20134,10 +21272,10 @@ dependencies = [
"scale-info",
"serde",
"sp-api",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-consensus-slots",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -20159,10 +21297,10 @@ dependencies = [
"bitflags 1.3.2",
"blake2 0.10.6",
"bounded-collections",
- "bs58 0.5.0",
+ "bs58",
"criterion",
"dyn-clonable",
- "ed25519-zebra",
+ "ed25519-zebra 4.0.3",
"futures",
"hash-db",
"hash256-std-hasher",
@@ -20186,14 +21324,61 @@ dependencies = [
"secrecy",
"serde",
"serde_json",
- "sp-crypto-hashing",
+ "sp-crypto-hashing 0.1.0",
"sp-debug-derive 14.0.0",
"sp-externalities 0.25.0",
"sp-runtime-interface 24.0.0",
"sp-std 14.0.0",
"sp-storage 19.0.0",
"ss58-registry",
- "substrate-bip39",
+ "substrate-bip39 0.4.7",
+ "thiserror",
+ "tracing",
+ "w3f-bls",
+ "zeroize",
+]
+
+[[package]]
+name = "sp-core"
+version = "31.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d7a0fd8f16dcc3761198fc83be12872f823b37b749bc72a3a6a1f702509366"
+dependencies = [
+ "array-bytes",
+ "bitflags 1.3.2",
+ "blake2 0.10.6",
+ "bounded-collections",
+ "bs58",
+ "dyn-clonable",
+ "ed25519-zebra 3.1.0",
+ "futures",
+ "hash-db",
+ "hash256-std-hasher",
+ "impl-serde",
+ "itertools 0.10.5",
+ "k256",
+ "libsecp256k1",
+ "log",
+ "merlin",
+ "parity-bip39",
+ "parity-scale-codec",
+ "parking_lot 0.12.3",
+ "paste",
+ "primitive-types",
+ "rand",
+ "scale-info",
+ "schnorrkel 0.11.4",
+ "secp256k1",
+ "secrecy",
+ "serde",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-externalities 0.27.0",
+ "sp-runtime-interface 26.0.0",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-storage 20.0.0",
+ "ss58-registry",
+ "substrate-bip39 0.5.0",
"thiserror",
"tracing",
"w3f-bls",
@@ -20207,14 +21392,14 @@ dependencies = [
"lazy_static",
"libfuzzer-sys",
"regex",
- "sp-core",
+ "sp-core 28.0.0",
]
[[package]]
name = "sp-core-hashing"
version = "15.0.0"
dependencies = [
- "sp-crypto-hashing",
+ "sp-crypto-hashing 0.1.0",
]
[[package]]
@@ -20278,13 +21463,27 @@ dependencies = [
"twox-hash",
]
+[[package]]
+name = "sp-crypto-hashing"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc9927a7f81334ed5b8a98a4a978c81324d12bd9713ec76b5c68fd410174c5eb"
+dependencies = [
+ "blake2b_simd",
+ "byteorder",
+ "digest 0.10.7",
+ "sha2 0.10.8",
+ "sha3",
+ "twox-hash",
+]
+
[[package]]
name = "sp-crypto-hashing-proc-macro"
version = "0.1.0"
dependencies = [
- "quote 1.0.35",
- "sp-crypto-hashing",
- "syn 2.0.61",
+ "quote 1.0.37",
+ "sp-crypto-hashing 0.1.0",
+ "syn 2.0.65",
]
[[package]]
@@ -20300,18 +21499,29 @@ 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.35",
- "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.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
name = "sp-debug-derive"
version = "14.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -20334,6 +21544,18 @@ dependencies = [
"sp-storage 19.0.0",
]
+[[package]]
+name = "sp-externalities"
+version = "0.27.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1d6a4572eadd4a63cff92509a210bf425501a0c5e76574b30a366ac77653787"
+dependencies = [
+ "environmental",
+ "parity-scale-codec",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-storage 20.0.0",
+]
+
[[package]]
name = "sp-genesis-builder"
version = "0.8.0"
@@ -20342,7 +21564,7 @@ dependencies = [
"scale-info",
"serde_json",
"sp-api",
- "sp-runtime",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -20354,7 +21576,7 @@ dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
"scale-info",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"thiserror",
]
@@ -20368,18 +21590,44 @@ dependencies = [
"libsecp256k1",
"log",
"parity-scale-codec",
- "polkavm-derive",
+ "polkavm-derive 0.9.1",
"rustversion",
"secp256k1",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-externalities 0.25.0",
- "sp-keystore",
+ "sp-keystore 0.34.0",
"sp-runtime-interface 24.0.0",
- "sp-state-machine",
- "sp-std 14.0.0",
+ "sp-state-machine 0.35.0",
"sp-tracing 16.0.0",
- "sp-trie",
+ "sp-trie 29.0.0",
+ "tracing",
+ "tracing-core",
+]
+
+[[package]]
+name = "sp-io"
+version = "33.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e09bba780b55bd9e67979cd8f654a31e4a6cf45426ff371394a65953d2177f2"
+dependencies = [
+ "bytes",
+ "ed25519-dalek",
+ "libsecp256k1",
+ "log",
+ "parity-scale-codec",
+ "polkavm-derive 0.9.1",
+ "rustversion",
+ "secp256k1",
+ "sp-core 31.0.0",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-externalities 0.27.0",
+ "sp-keystore 0.37.0",
+ "sp-runtime-interface 26.0.0",
+ "sp-state-machine 0.38.0",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-tracing 16.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-trie 32.0.0",
"tracing",
"tracing-core",
]
@@ -20388,8 +21636,8 @@ dependencies = [
name = "sp-keyring"
version = "31.0.0"
dependencies = [
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"strum 0.26.2",
]
@@ -20401,10 +21649,22 @@ dependencies = [
"parking_lot 0.12.3",
"rand",
"rand_chacha",
- "sp-core",
+ "sp-core 28.0.0",
"sp-externalities 0.25.0",
]
+[[package]]
+name = "sp-keystore"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bdbab8b61bd61d5f8625a0c75753b5d5a23be55d3445419acd42caf59cf6236b"
+dependencies = [
+ "parity-scale-codec",
+ "parking_lot 0.12.3",
+ "sp-core 31.0.0",
+ "sp-externalities 0.27.0",
+]
+
[[package]]
name = "sp-maybe-compressed-blob"
version = "11.0.0"
@@ -20417,7 +21677,7 @@ dependencies = [
name = "sp-metadata-ir"
version = "0.6.0"
dependencies = [
- "frame-metadata",
+ "frame-metadata 16.0.0",
"parity-scale-codec",
"scale-info",
]
@@ -20429,7 +21689,7 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-api",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
]
[[package]]
@@ -20443,9 +21703,9 @@ dependencies = [
"scale-info",
"serde",
"sp-api",
- "sp-core",
+ "sp-core 28.0.0",
"sp-debug-derive 14.0.0",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"thiserror",
]
@@ -20457,9 +21717,9 @@ dependencies = [
"rand",
"scale-info",
"serde",
- "sp-arithmetic",
- "sp-core",
- "sp-runtime",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"substrate-test-utils",
]
@@ -20467,11 +21727,11 @@ dependencies = [
name = "sp-npos-elections-fuzzer"
version = "2.0.0-alpha.5"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"honggfuzz",
"rand",
"sp-npos-elections",
- "sp-runtime",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -20479,13 +21739,24 @@ name = "sp-offchain"
version = "26.0.0"
dependencies = [
"sp-api",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
+]
+
+[[package]]
+name = "sp-panic-handler"
+version = "13.0.0"
+dependencies = [
+ "backtrace",
+ "lazy_static",
+ "regex",
]
[[package]]
name = "sp-panic-handler"
version = "13.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8f5a17a0a11de029a8b811cb6e8b32ce7e02183cc04a3e965c383246798c416"
dependencies = [
"backtrace",
"lazy_static",
@@ -20496,10 +21767,10 @@ dependencies = [
name = "sp-rpc"
version = "26.0.0"
dependencies = [
- "rustc-hash",
+ "rustc-hash 1.1.0",
"serde",
"serde_json",
- "sp-core",
+ "sp-core 28.0.0",
]
[[package]]
@@ -20520,18 +21791,45 @@ dependencies = [
"serde_json",
"simple-mermaid 0.1.1",
"sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-state-machine",
+ "sp-application-crypto 30.0.0",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-state-machine 0.35.0",
"sp-std 14.0.0",
"sp-tracing 16.0.0",
- "sp-weights",
+ "sp-trie 29.0.0",
+ "sp-weights 27.0.0",
"substrate-test-runtime-client",
+ "tracing",
"zstd 0.12.4",
]
+[[package]]
+name = "sp-runtime"
+version = "34.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec3cb126971e7db2f0fcf8053dce740684c438c7180cfca1959598230f342c58"
+dependencies = [
+ "docify",
+ "either",
+ "hash256-std-hasher",
+ "impl-trait-for-tuples",
+ "log",
+ "parity-scale-codec",
+ "paste",
+ "rand",
+ "scale-info",
+ "serde",
+ "simple-mermaid 0.1.1",
+ "sp-application-crypto 33.0.0",
+ "sp-arithmetic 25.0.0",
+ "sp-core 31.0.0",
+ "sp-io 33.0.0",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-weights 30.0.0",
+]
+
[[package]]
name = "sp-runtime-interface"
version = "17.0.0"
@@ -20557,15 +21855,15 @@ dependencies = [
"bytes",
"impl-trait-for-tuples",
"parity-scale-codec",
- "polkavm-derive",
+ "polkavm-derive 0.9.1",
"primitive-types",
"rustversion",
- "sp-core",
+ "sp-core 28.0.0",
"sp-externalities 0.25.0",
- "sp-io",
+ "sp-io 30.0.0",
"sp-runtime-interface-proc-macro 17.0.0",
"sp-runtime-interface-test-wasm",
- "sp-state-machine",
+ "sp-state-machine 0.35.0",
"sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-tracing 16.0.0",
@@ -20574,6 +21872,26 @@ dependencies = [
"trybuild",
]
+[[package]]
+name = "sp-runtime-interface"
+version = "26.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e48a675ea4858333d4d755899ed5ed780174aa34fec15953428d516af5452295"
+dependencies = [
+ "bytes",
+ "impl-trait-for-tuples",
+ "parity-scale-codec",
+ "polkavm-derive 0.8.0",
+ "primitive-types",
+ "sp-externalities 0.27.0",
+ "sp-runtime-interface-proc-macro 18.0.0",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-storage 20.0.0",
+ "sp-tracing 16.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-wasm-interface 20.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "static_assertions",
+]
+
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "11.0.0"
@@ -20581,9 +21899,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -20593,9 +21911,23 @@ dependencies = [
"Inflector",
"expander",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
+]
+
+[[package]]
+name = "sp-runtime-interface-proc-macro"
+version = "18.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0195f32c628fee3ce1dfbbf2e7e52a30ea85f3589da9fe62a8b816d70fc06294"
+dependencies = [
+ "Inflector",
+ "expander",
+ "proc-macro-crate 3.1.0",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -20604,12 +21936,12 @@ version = "2.0.0"
dependencies = [
"sc-executor",
"sc-executor-common",
- "sp-io",
- "sp-runtime",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-runtime-interface 24.0.0",
"sp-runtime-interface-test-wasm",
"sp-runtime-interface-test-wasm-deprecated",
- "sp-state-machine",
+ "sp-state-machine 0.35.0",
"tracing",
"tracing-core",
]
@@ -20619,10 +21951,9 @@ name = "sp-runtime-interface-test-wasm"
version = "2.0.0"
dependencies = [
"bytes",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-runtime-interface 24.0.0",
- "sp-std 14.0.0",
"substrate-wasm-builder",
]
@@ -20630,8 +21961,8 @@ dependencies = [
name = "sp-runtime-interface-test-wasm-deprecated"
version = "2.0.0"
dependencies = [
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-runtime-interface 24.0.0",
"substrate-wasm-builder",
]
@@ -20643,9 +21974,9 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-api",
- "sp-core",
- "sp-keystore",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
"sp-staking",
]
@@ -20657,8 +21988,8 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -20675,14 +22006,36 @@ dependencies = [
"pretty_assertions",
"rand",
"smallvec",
- "sp-core",
+ "sp-core 28.0.0",
"sp-externalities 0.25.0",
- "sp-panic-handler",
- "sp-runtime",
- "sp-trie",
+ "sp-panic-handler 13.0.0",
+ "sp-runtime 31.0.1",
+ "sp-trie 29.0.0",
+ "thiserror",
+ "tracing",
+ "trie-db 0.29.1",
+]
+
+[[package]]
+name = "sp-state-machine"
+version = "0.38.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1eae0eac8034ba14437e772366336f579398a46d101de13dbb781ab1e35e67c5"
+dependencies = [
+ "hash-db",
+ "log",
+ "parity-scale-codec",
+ "parking_lot 0.12.3",
+ "rand",
+ "smallvec",
+ "sp-core 31.0.0",
+ "sp-externalities 0.27.0",
+ "sp-panic-handler 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-trie 32.0.0",
"thiserror",
"tracing",
- "trie-db",
+ "trie-db 0.28.0",
]
[[package]]
@@ -20690,7 +22043,7 @@ name = "sp-statement-store"
version = "10.0.0"
dependencies = [
"aes-gcm",
- "curve25519-dalek",
+ "curve25519-dalek 4.1.3",
"ed25519-dalek",
"hkdf",
"parity-scale-codec",
@@ -20698,11 +22051,11 @@ dependencies = [
"scale-info",
"sha2 0.10.8",
"sp-api",
- "sp-application-crypto",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-externalities 0.25.0",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-runtime-interface 24.0.0",
"thiserror",
"x25519-dalek",
@@ -20717,6 +22070,12 @@ source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf5
name = "sp-std"
version = "14.0.0"
+[[package]]
+name = "sp-std"
+version = "14.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834"
+
[[package]]
name = "sp-storage"
version = "13.0.0"
@@ -20741,6 +22100,20 @@ dependencies = [
"sp-debug-derive 14.0.0",
]
+[[package]]
+name = "sp-storage"
+version = "20.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8dba5791cb3978e95daf99dad919ecb3ec35565604e88cd38d805d9d4981e8bd"
+dependencies = [
+ "impl-serde",
+ "parity-scale-codec",
+ "ref-cast",
+ "serde",
+ "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
[[package]]
name = "sp-test-primitives"
version = "2.0.0"
@@ -20748,9 +22121,9 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-application-crypto",
- "sp-core",
- "sp-runtime",
+ "sp-application-crypto 30.0.0",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -20760,7 +22133,7 @@ dependencies = [
"async-trait",
"parity-scale-codec",
"sp-inherents",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"thiserror",
]
@@ -20786,12 +22159,25 @@ dependencies = [
"tracing-subscriber 0.3.18",
]
+[[package]]
+name = "sp-tracing"
+version = "16.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0351810b9d074df71c4514c5228ed05c250607cba131c1c9d1526760ab69c05c"
+dependencies = [
+ "parity-scale-codec",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber 0.2.25",
+]
+
[[package]]
name = "sp-transaction-pool"
version = "26.0.0"
dependencies = [
"sp-api",
- "sp-runtime",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -20801,10 +22187,10 @@ dependencies = [
"async-trait",
"parity-scale-codec",
"scale-info",
- "sp-core",
+ "sp-core 28.0.0",
"sp-inherents",
- "sp-runtime",
- "sp-trie",
+ "sp-runtime 31.0.1",
+ "sp-trie 29.0.0",
]
[[package]]
@@ -20823,17 +22209,42 @@ dependencies = [
"rand",
"scale-info",
"schnellru",
- "sp-core",
+ "sp-core 28.0.0",
"sp-externalities 0.25.0",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"thiserror",
"tracing",
"trie-bench",
- "trie-db",
+ "trie-db 0.29.1",
"trie-root",
"trie-standardmap",
]
+[[package]]
+name = "sp-trie"
+version = "32.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1aa91ad26c62b93d73e65f9ce7ebd04459c4bad086599348846a81988d6faa4"
+dependencies = [
+ "ahash 0.8.11",
+ "hash-db",
+ "lazy_static",
+ "memory-db",
+ "nohash-hasher",
+ "parity-scale-codec",
+ "parking_lot 0.12.3",
+ "rand",
+ "scale-info",
+ "schnellru",
+ "sp-core 31.0.0",
+ "sp-externalities 0.27.0",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "thiserror",
+ "tracing",
+ "trie-db 0.28.0",
+ "trie-root",
+]
+
[[package]]
name = "sp-version"
version = "29.0.0"
@@ -20844,7 +22255,7 @@ dependencies = [
"scale-info",
"serde",
"sp-crypto-hashing-proc-macro",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"sp-version-proc-macro",
"thiserror",
@@ -20855,10 +22266,11 @@ name = "sp-version-proc-macro"
version = "13.0.0"
dependencies = [
"parity-scale-codec",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "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]]
@@ -20885,6 +22297,20 @@ dependencies = [
"wasmtime",
]
+[[package]]
+name = "sp-wasm-interface"
+version = "20.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ef97172c42eb4c6c26506f325f48463e9bc29b2034a587f1b9e48c751229bee"
+dependencies = [
+ "anyhow",
+ "impl-trait-for-tuples",
+ "log",
+ "parity-scale-codec",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "wasmtime",
+]
+
[[package]]
name = "sp-weights"
version = "27.0.0"
@@ -20895,10 +22321,26 @@ dependencies = [
"schemars",
"serde",
"smallvec",
- "sp-arithmetic",
+ "sp-arithmetic 23.0.0",
"sp-debug-derive 14.0.0",
]
+[[package]]
+name = "sp-weights"
+version = "30.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9af6c661fe3066b29f9e1d258000f402ff5cc2529a9191972d214e5871d0ba87"
+dependencies = [
+ "bounded-collections",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "smallvec",
+ "sp-arithmetic 25.0.0",
+ "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
[[package]]
name = "spin"
version = "0.5.2"
@@ -20913,9 +22355,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",
@@ -20940,8 +22382,8 @@ checksum = "5e6915280e2d0db8911e5032a5c275571af6bdded2916abd691a659be25d3439"
dependencies = [
"Inflector",
"num-format",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"serde",
"serde_json",
"unicode-xid 0.2.4",
@@ -20965,8 +22407,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -20980,11 +22422,13 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
name = "staging-chain-spec-builder"
version = "1.6.1"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"log",
"sc-chain-spec",
+ "serde",
"serde_json",
"sp-tracing 16.0.0",
+ "substrate-test-runtime",
]
[[package]]
@@ -20993,11 +22437,11 @@ version = "3.0.0-dev"
dependencies = [
"array-bytes",
"assert_cmd",
- "clap 4.5.3",
+ "clap 4.5.11",
"clap_complete",
"criterion",
"futures",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"kitchensink-runtime",
"log",
"nix 0.28.0",
@@ -21007,6 +22451,7 @@ dependencies = [
"parity-scale-codec",
"platforms",
"polkadot-sdk",
+ "pretty_assertions",
"rand",
"regex",
"sc-service-test",
@@ -21027,15 +22472,15 @@ dependencies = [
name = "staging-node-inspect"
version = "0.12.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"parity-scale-codec",
"sc-cli",
"sc-client-api",
"sc-service",
"sp-blockchain",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-statement-store",
"thiserror",
]
@@ -21049,8 +22494,7 @@ dependencies = [
"frame-system",
"parity-scale-codec",
"scale-info",
- "sp-runtime",
- "sp-std 14.0.0",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -21073,8 +22517,9 @@ dependencies = [
"scale-info",
"schemars",
"serde",
- "sp-io",
- "sp-weights",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
+ "sp-weights 27.0.0",
"xcm-procedural",
]
@@ -21087,6 +22532,7 @@ dependencies = [
"frame-system",
"impl-trait-for-tuples",
"log",
+ "pallet-asset-conversion",
"pallet-assets",
"pallet-balances",
"pallet-salary",
@@ -21099,11 +22545,11 @@ dependencies = [
"polkadot-test-runtime",
"primitive-types",
"scale-info",
- "sp-arithmetic",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
- "sp-weights",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
+ "sp-weights 27.0.0",
"staging-xcm",
"staging-xcm-executor",
]
@@ -21116,16 +22562,15 @@ dependencies = [
"frame-benchmarking",
"frame-support",
"impl-trait-for-tuples",
- "log",
"parity-scale-codec",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0",
- "sp-weights",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
+ "sp-weights 27.0.0",
"staging-xcm",
+ "tracing",
]
[[package]]
@@ -21141,7 +22586,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6"
dependencies = [
"bitflags 1.3.2",
- "cfg_aliases",
+ "cfg_aliases 0.1.1",
"libc",
"parking_lot 0.11.2",
"parking_lot_core 0.8.6",
@@ -21155,33 +22600,13 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf"
dependencies = [
- "cfg_aliases",
+ "cfg_aliases 0.1.1",
"memchr",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "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"
@@ -21189,7 +22614,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c6a0d765f5807e98a091107bae0a56ea3799f66a5de47b2c84c94a39c09974e"
dependencies = [
"cfg-if",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"serde",
]
@@ -21207,9 +22632,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "strsim"
-version = "0.11.0"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "structopt"
@@ -21230,8 +22655,8 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
dependencies = [
"heck 0.3.3",
"proc-macro-error",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -21266,8 +22691,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"rustversion",
"syn 1.0.109",
]
@@ -21279,10 +22704,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"rustversion",
- "syn 2.0.61",
+ "syn 2.0.65",
]
[[package]]
@@ -21292,17 +22717,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.35",
+ "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.3",
+ "clap 4.5.11",
"sc-cli",
]
@@ -21319,6 +22744,19 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "substrate-bip39"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2b564c293e6194e8b222e52436bcb99f60de72043c7f845cf6c4406db4df121"
+dependencies = [
+ "hmac 0.12.1",
+ "pbkdf2",
+ "schnorrkel 0.11.4",
+ "sha2 0.10.8",
+ "zeroize",
+]
+
[[package]]
name = "substrate-build-script-utils"
version = "11.0.0"
@@ -21346,13 +22784,13 @@ version = "29.0.0"
dependencies = [
"frame-support",
"frame-system",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"parity-scale-codec",
"sc-rpc-api",
"scale-info",
"serde",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-storage 19.0.0",
"tokio",
]
@@ -21365,7 +22803,7 @@ dependencies = [
"docify",
"frame-system-rpc-runtime-api",
"futures",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"parity-scale-codec",
"sc-rpc-api",
@@ -21374,8 +22812,8 @@ dependencies = [
"sp-api",
"sp-block-builder",
"sp-blockchain",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"sp-tracing 16.0.0",
"substrate-test-runtime-client",
"tokio",
@@ -21407,9 +22845,7 @@ dependencies = [
"bp-polkadot-core",
"bp-relayers",
"bp-runtime",
- "bridge-runtime-common",
"equivocation-detector",
- "finality-grandpa",
"finality-relay",
"frame-support",
"frame-system",
@@ -21429,9 +22865,12 @@ dependencies = [
"rbtag",
"relay-substrate-client",
"relay-utils",
+ "rustc-hex",
+ "scale-info",
"sp-consensus-grandpa",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
+ "sp-trie 29.0.0",
"structopt",
"strum 0.26.2",
"thiserror",
@@ -21442,12 +22881,12 @@ name = "substrate-rpc-client"
version = "0.33.0"
dependencies = [
"async-trait",
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"log",
"sc-rpc-api",
"serde",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"tokio",
]
@@ -21455,17 +22894,17 @@ dependencies = [
name = "substrate-state-trie-migration-rpc"
version = "27.0.0"
dependencies = [
- "jsonrpsee",
+ "jsonrpsee 0.24.3",
"parity-scale-codec",
"sc-client-api",
"sc-rpc-api",
"serde",
"serde_json",
- "sp-core",
- "sp-runtime",
- "sp-state-machine",
- "sp-trie",
- "trie-db",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
+ "sp-trie 29.0.0",
+ "trie-db 0.29.1",
]
[[package]]
@@ -21486,11 +22925,11 @@ dependencies = [
"serde_json",
"sp-blockchain",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-keystore",
- "sp-runtime",
- "sp-state-machine",
+ "sp-keystore 0.34.0",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"tokio",
]
@@ -21505,7 +22944,6 @@ dependencies = [
"frame-system",
"frame-system-rpc-runtime-api",
"futures",
- "hex-literal",
"log",
"pallet-babe",
"pallet-balances",
@@ -21520,30 +22958,31 @@ dependencies = [
"serde",
"serde_json",
"sp-api",
- "sp-application-crypto",
+ "sp-application-crypto 30.0.0",
"sp-block-builder",
"sp-consensus",
"sp-consensus-aura",
"sp-consensus-babe",
"sp-consensus-grandpa",
- "sp-core",
- "sp-crypto-hashing",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
"sp-externalities 0.25.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
- "sp-state-machine",
+ "sp-state-machine 0.35.0",
"sp-tracing 16.0.0",
"sp-transaction-pool",
- "sp-trie",
+ "sp-trie 29.0.0",
"sp-version",
"substrate-test-runtime-client",
"substrate-wasm-builder",
- "trie-db",
+ "tracing",
+ "trie-db 0.29.1",
]
[[package]]
@@ -21557,8 +22996,8 @@ dependencies = [
"sp-api",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"substrate-test-client",
"substrate-test-runtime",
]
@@ -21573,7 +23012,7 @@ dependencies = [
"sc-transaction-pool",
"sc-transaction-pool-api",
"sp-blockchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"substrate-test-runtime-client",
"thiserror",
]
@@ -21597,20 +23036,21 @@ dependencies = [
"cargo_metadata",
"console",
"filetime",
- "frame-metadata",
+ "frame-metadata 16.0.0",
+ "jobserver",
"merkleized-metadata",
"parity-scale-codec",
"parity-wasm",
- "polkavm-linker",
+ "polkavm-linker 0.9.2",
"sc-executor",
- "sp-core",
- "sp-io",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
"sp-maybe-compressed-blob",
"sp-tracing 16.0.0",
"sp-version",
"strum 0.26.2",
"tempfile",
- "toml 0.8.8",
+ "toml 0.8.12",
"walkdir",
"wasm-opt",
]
@@ -21628,10 +23068,163 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
[[package]]
-name = "subtle-ng"
-version = "2.5.0"
+name = "subtle-ng"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142"
+
+[[package]]
+name = "subxt"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a160cba1edbf3ec4fbbeaea3f1a185f70448116a6bccc8276bb39adb3b3053bd"
+dependencies = [
+ "async-trait",
+ "derive-where",
+ "either",
+ "frame-metadata 16.0.0",
+ "futures",
+ "hex",
+ "impl-serde",
+ "instant",
+ "jsonrpsee 0.22.5",
+ "parity-scale-codec",
+ "primitive-types",
+ "reconnecting-jsonrpsee-ws-client",
+ "scale-bits",
+ "scale-decode",
+ "scale-encode",
+ "scale-info",
+ "scale-value",
+ "serde",
+ "serde_json",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "subxt-core",
+ "subxt-lightclient",
+ "subxt-macro",
+ "subxt-metadata",
+ "thiserror",
+ "tokio-util",
+ "tracing",
+ "url",
+]
+
+[[package]]
+name = "subxt-codegen"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d703dca0905cc5272d7cc27a4ac5f37dcaae7671acc7fef0200057cc8c317786"
+dependencies = [
+ "frame-metadata 16.0.0",
+ "heck 0.5.0",
+ "hex",
+ "jsonrpsee 0.22.5",
+ "parity-scale-codec",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "scale-info",
+ "scale-typegen",
+ "subxt-metadata",
+ "syn 2.0.65",
+ "thiserror",
+ "tokio",
+]
+
+[[package]]
+name = "subxt-core"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59f41eb2e2eea6ed45649508cc735f92c27f1fcfb15229e75f8270ea73177345"
+dependencies = [
+ "base58",
+ "blake2 0.10.6",
+ "derive-where",
+ "frame-metadata 16.0.0",
+ "hashbrown 0.14.5",
+ "hex",
+ "impl-serde",
+ "parity-scale-codec",
+ "primitive-types",
+ "scale-bits",
+ "scale-decode",
+ "scale-encode",
+ "scale-info",
+ "scale-value",
+ "serde",
+ "serde_json",
+ "sp-core 31.0.0",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sp-runtime 34.0.0",
+ "subxt-metadata",
+ "tracing",
+]
+
+[[package]]
+name = "subxt-lightclient"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d9406fbdb9548c110803cb8afa750f8b911d51eefdf95474b11319591d225d9"
+dependencies = [
+ "futures",
+ "futures-util",
+ "serde",
+ "serde_json",
+ "smoldot-light 0.14.0",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+ "tracing",
+]
+
+[[package]]
+name = "subxt-macro"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c195f803d70687e409aba9be6c87115b5da8952cd83c4d13f2e043239818fcd"
+dependencies = [
+ "darling 0.20.10",
+ "parity-scale-codec",
+ "proc-macro-error",
+ "quote 1.0.37",
+ "scale-typegen",
+ "subxt-codegen",
+ "syn 2.0.65",
+]
+
+[[package]]
+name = "subxt-metadata"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "738be5890fdeff899bbffff4d9c0f244fe2a952fb861301b937e3aa40ebb55da"
+dependencies = [
+ "frame-metadata 16.0.0",
+ "hashbrown 0.14.5",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "subxt-signer"
+version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142"
+checksum = "f49888ae6ae90fe01b471193528eea5bd4ed52d8eecd2d13f4a2333b87388850"
+dependencies = [
+ "bip39",
+ "cfg-if",
+ "hex",
+ "hmac 0.12.1",
+ "parity-scale-codec",
+ "pbkdf2",
+ "regex",
+ "schnorrkel 0.11.4",
+ "secp256k1",
+ "secrecy",
+ "sha2 0.10.8",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "subxt-core",
+ "zeroize",
+]
[[package]]
name = "sval"
@@ -21741,19 +23334,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.35",
+ "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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"unicode-ident",
]
@@ -21764,9 +23357,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86b837ef12ab88835251726eb12237655e61ec8dc8a280085d1961cdc3dfd047"
dependencies = [
"paste",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -21775,8 +23368,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
"unicode-xid 0.2.4",
]
@@ -21787,9 +23380,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -21864,6 +23457,17 @@ dependencies = [
"windows-sys 0.48.0",
]
+[[package]]
+name = "template-zombienet-tests"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "env_logger 0.11.3",
+ "log",
+ "tokio",
+ "zombienet-sdk",
+]
+
[[package]]
name = "termcolor"
version = "1.2.0"
@@ -21906,9 +23510,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -21918,8 +23522,7 @@ dependencies = [
"dlmalloc",
"parity-scale-codec",
"polkadot-parachain-primitives",
- "sp-io",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
"substrate-wasm-builder",
"tiny-keccak",
]
@@ -21928,7 +23531,7 @@ dependencies = [
name = "test-parachain-adder-collator"
version = "1.0.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"futures",
"futures-timer",
"log",
@@ -21943,7 +23546,7 @@ dependencies = [
"polkadot-test-service",
"sc-cli",
"sc-service",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
"substrate-test-utils",
"test-parachain-adder",
@@ -21966,8 +23569,7 @@ dependencies = [
"log",
"parity-scale-codec",
"polkadot-parachain-primitives",
- "sp-io",
- "sp-std 14.0.0",
+ "sp-io 30.0.0",
"substrate-wasm-builder",
"tiny-keccak",
]
@@ -21976,7 +23578,7 @@ dependencies = [
name = "test-parachain-undying-collator"
version = "1.0.0"
dependencies = [
- "clap 4.5.3",
+ "clap 4.5.11",
"futures",
"futures-timer",
"log",
@@ -21991,7 +23593,7 @@ dependencies = [
"polkadot-test-service",
"sc-cli",
"sc-service",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
"substrate-test-utils",
"test-parachain-undying",
@@ -22003,7 +23605,7 @@ name = "test-parachains"
version = "1.0.0"
dependencies = [
"parity-scale-codec",
- "sp-core",
+ "sp-core 28.0.0",
"test-parachain-adder",
"test-parachain-halt",
"tiny-keccak",
@@ -22016,7 +23618,7 @@ dependencies = [
"frame-support",
"polkadot-primitives",
"smallvec",
- "sp-runtime",
+ "sp-runtime 31.0.1",
]
[[package]]
@@ -22028,7 +23630,7 @@ dependencies = [
"polkadot-core-primitives",
"rococo-runtime-constants",
"smallvec",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"staging-xcm",
"westend-runtime-constants",
]
@@ -22072,8 +23674,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"syn 1.0.109",
]
@@ -22083,9 +23685,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -22122,7 +23724,7 @@ dependencies = [
"byteorder",
"integer-encoding",
"log",
- "ordered-float",
+ "ordered-float 1.1.1",
"threadpool",
]
@@ -22159,14 +23761,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",
@@ -22174,16 +23778,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",
]
@@ -22233,22 +23838,42 @@ dependencies = [
"mio",
"num_cpus",
"parking_lot 0.12.3",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"signal-hook-registry",
"socket2 0.5.7",
"tokio-macros",
"windows-sys 0.48.0",
]
+[[package]]
+name = "tokio-io-timeout"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf"
+dependencies = [
+ "pin-project-lite",
+ "tokio",
+]
+
[[package]]
name = "tokio-macros"
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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
+]
+
+[[package]]
+name = "tokio-native-tls"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
+dependencies = [
+ "native-tls",
+ "tokio",
]
[[package]]
@@ -22272,6 +23897,17 @@ dependencies = [
"tokio",
]
+[[package]]
+name = "tokio-rustls"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
+dependencies = [
+ "rustls 0.22.4",
+ "rustls-pki-types",
+ "tokio",
+]
+
[[package]]
name = "tokio-rustls"
version = "0.26.0"
@@ -22285,12 +23921,12 @@ dependencies = [
[[package]]
name = "tokio-stream"
-version = "0.1.14"
+version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
+checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1"
dependencies = [
"futures-core",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"tokio",
"tokio-util",
]
@@ -22333,7 +23969,8 @@ dependencies = [
"futures-core",
"futures-io",
"futures-sink",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
+ "slab",
"tokio",
]
@@ -22348,14 +23985,26 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.8.8"
+version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
- "toml_edit 0.21.0",
+ "toml_edit 0.19.15",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.22.12",
]
[[package]]
@@ -22374,8 +24023,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [
"indexmap 2.2.3",
+ "serde",
+ "serde_spanned",
"toml_datetime",
- "winnow",
+ "winnow 0.5.15",
]
[[package]]
@@ -22383,12 +24034,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]]
@@ -22400,8 +24062,30 @@ dependencies = [
"futures-core",
"futures-util",
"pin-project",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"tokio",
+ "tokio-util",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-http"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140"
+dependencies = [
+ "base64 0.21.7",
+ "bitflags 2.6.0",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "http 0.2.9",
+ "http-body 0.4.5",
+ "http-range-header",
+ "mime",
+ "pin-project-lite",
"tower-layer",
"tower-service",
"tracing",
@@ -22418,7 +24102,7 @@ dependencies = [
"http 1.1.0",
"http-body 1.0.0",
"http-body-util",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"tower-layer",
"tower-service",
]
@@ -22442,7 +24126,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
dependencies = [
"log",
- "pin-project-lite 0.2.12",
+ "pin-project-lite",
"tracing-attributes",
"tracing-core",
]
@@ -22453,9 +24137,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -22495,9 +24179,9 @@ dependencies = [
"assert_matches",
"expander",
"proc-macro-crate 3.1.0",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -22569,6 +24253,7 @@ dependencies = [
"sharded-slab",
"smallvec",
"thread_local",
+ "time",
"tracing",
"tracing-core",
"tracing-log 0.2.0",
@@ -22585,16 +24270,29 @@ dependencies = [
"keccak-hasher",
"memory-db",
"parity-scale-codec",
- "trie-db",
+ "trie-db 0.29.1",
"trie-root",
"trie-standardmap",
]
[[package]]
name = "trie-db"
-version = "0.29.0"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff28e0f815c2fea41ebddf148e008b077d2faddb026c9555b29696114d602642"
+dependencies = [
+ "hash-db",
+ "hashbrown 0.13.2",
+ "log",
+ "rustc-hex",
+ "smallvec",
+]
+
+[[package]]
+name = "trie-db"
+version = "0.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65ed83be775d85ebb0e272914fff6462c39b3ddd6dc67b5c1c41271aad280c69"
+checksum = "0c992b4f40c234a074d48a757efeabb1a6be88af84c0c23f7ca158950cb0ae7f"
dependencies = [
"hash-db",
"log",
@@ -22886,13 +24584,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "url"
-version = "2.4.0"
+version = "2.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
dependencies = [
"form_urlencoded",
- "idna 0.4.0",
+ "idna 0.5.0",
"percent-encoding",
+ "serde",
]
[[package]]
@@ -22912,6 +24611,9 @@ name = "uuid"
version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
+dependencies = [
+ "getrandom",
+]
[[package]]
name = "valuable"
@@ -22996,7 +24698,7 @@ dependencies = [
"digest 0.10.7",
"rand",
"rand_chacha",
- "rand_core",
+ "rand_core 0.6.4",
"sha2 0.10.8",
"sha3",
"thiserror",
@@ -23020,9 +24722,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",
@@ -23045,11 +24747,12 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5"
dependencies = [
"cfg-if",
+ "once_cell",
"serde",
"serde_json",
"wasm-bindgen-macro",
@@ -23057,16 +24760,16 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b"
dependencies = [
"bumpalo",
"log",
"once_cell",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
"wasm-bindgen-shared",
]
@@ -23084,32 +24787,32 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf"
dependencies = [
- "quote 1.0.35",
+ "quote 1.0.37",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836"
dependencies = [
- "proc-macro2 1.0.82",
- "quote 1.0.35",
- "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.87"
+version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484"
[[package]]
name = "wasm-bindgen-test"
@@ -23131,8 +24834,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.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
]
[[package]]
@@ -23251,7 +24954,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c128c039340ffd50d4195c3f8ce31aac357f06804cfc494c8b9508d4b30dca4"
dependencies = [
"ahash 0.8.11",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"string-interner",
]
@@ -23342,7 +25045,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213"
dependencies = [
"anyhow",
- "base64 0.21.2",
+ "base64 0.21.7",
"bincode",
"directories-next",
"file-per-thread-logger",
@@ -23561,8 +25264,8 @@ dependencies = [
"sp-authority-discovery",
"sp-consensus-babe",
"sp-consensus-beefy",
- "sp-core",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
"staging-xcm",
"westend-runtime",
"westend-runtime-constants",
@@ -23615,6 +25318,7 @@ dependencies = [
"pallet-nomination-pools-runtime-api",
"pallet-offences",
"pallet-offences-benchmarking",
+ "pallet-parameters",
"pallet-preimage",
"pallet-proxy",
"pallet-recovery",
@@ -23625,7 +25329,6 @@ dependencies = [
"pallet-session-benchmarking",
"pallet-society",
"pallet-staking",
- "pallet-staking-reward-curve",
"pallet-staking-runtime-api",
"pallet-state-trie-migration",
"pallet-sudo",
@@ -23649,24 +25352,23 @@ dependencies = [
"serde_json",
"smallvec",
"sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
+ "sp-application-crypto 30.0.0",
+ "sp-arithmetic 23.0.0",
"sp-authority-discovery",
"sp-block-builder",
"sp-consensus-babe",
"sp-consensus-beefy",
- "sp-core",
+ "sp-core 28.0.0",
"sp-genesis-builder",
"sp-inherents",
- "sp-io",
+ "sp-io 30.0.0",
"sp-keyring",
"sp-mmr-primitives",
"sp-npos-elections",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 31.0.1",
"sp-session",
"sp-staking",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
"sp-tracing 16.0.0",
"sp-transaction-pool",
@@ -23689,9 +25391,9 @@ dependencies = [
"polkadot-primitives",
"polkadot-runtime-common",
"smallvec",
- "sp-core",
- "sp-runtime",
- "sp-weights",
+ "sp-core 28.0.0",
+ "sp-runtime 31.0.1",
+ "sp-weights 27.0.0",
"staging-xcm",
"staging-xcm-builder",
]
@@ -23703,23 +25405,13 @@ dependencies = [
"asset-hub-westend-emulated-chain",
"bridge-hub-westend-emulated-chain",
"collectives-westend-emulated-chain",
+ "coretime-westend-emulated-chain",
"emulated-integration-tests-common",
"penpal-emulated-chain",
"people-westend-emulated-chain",
"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"
@@ -23814,21 +25506,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"
@@ -24036,6 +25713,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"
@@ -24061,8 +25747,8 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96"
dependencies = [
- "curve25519-dalek",
- "rand_core",
+ "curve25519-dalek 4.1.3",
+ "rand_core 0.6.4",
"serde",
"zeroize",
]
@@ -24125,8 +25811,8 @@ dependencies = [
"polkadot-sdk-frame",
"scale-info",
"simple-mermaid 0.1.0",
- "sp-io",
- "sp-runtime",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"staging-xcm",
"staging-xcm-builder",
@@ -24157,11 +25843,11 @@ dependencies = [
"polkadot-parachain-primitives",
"polkadot-primitives",
"polkadot-runtime-parachains",
- "sp-arithmetic",
- "sp-core",
- "sp-crypto-hashing",
- "sp-io",
- "sp-runtime",
+ "sp-arithmetic 23.0.0",
+ "sp-core 28.0.0",
+ "sp-crypto-hashing 0.1.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"sp-tracing 16.0.0",
"staging-xcm",
@@ -24183,10 +25869,10 @@ dependencies = [
"polkadot-test-runtime",
"polkadot-test-service",
"sp-consensus",
- "sp-core",
+ "sp-core 28.0.0",
"sp-keyring",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 31.0.1",
+ "sp-state-machine 0.35.0",
"sp-tracing 16.0.0",
"staging-xcm",
"staging-xcm-executor",
@@ -24197,10 +25883,10 @@ name = "xcm-procedural"
version = "7.0.0"
dependencies = [
"Inflector",
- "proc-macro2 1.0.82",
- "quote 1.0.35",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
"staging-xcm",
- "syn 2.0.61",
+ "syn 2.0.65",
"trybuild",
]
@@ -24208,7 +25894,6 @@ dependencies = [
name = "xcm-runtime-apis"
version = "0.1.0"
dependencies = [
- "env_logger 0.11.3",
"frame-executive",
"frame-support",
"frame-system",
@@ -24220,9 +25905,9 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-api",
- "sp-io",
- "sp-std 14.0.0",
- "sp-weights",
+ "sp-io 30.0.0",
+ "sp-tracing 16.0.0",
+ "sp-weights 27.0.0",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -24241,8 +25926,8 @@ dependencies = [
"polkadot-primitives",
"polkadot-runtime-parachains",
"scale-info",
- "sp-io",
- "sp-runtime",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"staging-xcm",
"staging-xcm-builder",
@@ -24265,9 +25950,9 @@ dependencies = [
"polkadot-parachain-primitives",
"polkadot-runtime-parachains",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"sp-tracing 16.0.0",
"staging-xcm",
@@ -24294,9 +25979,9 @@ dependencies = [
"polkadot-parachain-primitives",
"polkadot-runtime-parachains",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 28.0.0",
+ "sp-io 30.0.0",
+ "sp-runtime 31.0.1",
"sp-std 14.0.0",
"staging-xcm",
"staging-xcm-builder",
@@ -24340,6 +26025,12 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
+[[package]]
+name = "yap"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff4524214bc4629eba08d78ceb1d6507070cc0bcbbed23af74e19e6e924a24cf"
+
[[package]]
name = "yasna"
version = "0.5.2"
@@ -24364,9 +26055,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -24384,9 +26075,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.35",
- "syn 2.0.61",
+ "proc-macro2 1.0.86",
+ "quote 1.0.37",
+ "syn 2.0.65",
]
[[package]]
@@ -24406,6 +26097,135 @@ dependencies = [
"url",
]
+[[package]]
+name = "zombienet-configuration"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23322e411b8d19b41b5c20ab8e88c10822189a4fcfd069c7fcd1542b8d3035aa"
+dependencies = [
+ "anyhow",
+ "lazy_static",
+ "multiaddr 0.18.1",
+ "regex",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "toml 0.7.8",
+ "url",
+ "zombienet-support",
+]
+
+[[package]]
+name = "zombienet-orchestrator"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "381f701565b3918a909132743b3674569ce3da25b5c3a6493883abaf1046577a"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "futures",
+ "glob-match",
+ "hex",
+ "libp2p",
+ "libsecp256k1",
+ "multiaddr 0.18.1",
+ "rand",
+ "regex",
+ "reqwest",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+ "sp-core 31.0.0",
+ "subxt",
+ "subxt-signer",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "uuid",
+ "zombienet-configuration",
+ "zombienet-prom-metrics-parser",
+ "zombienet-provider",
+ "zombienet-support",
+]
+
+[[package]]
+name = "zombienet-prom-metrics-parser"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dab79fa58bcfecbcd41485c6f13052853ccde8b09f173b601f78747d7abc2b7f"
+dependencies = [
+ "pest",
+ "pest_derive",
+ "thiserror",
+]
+
+[[package]]
+name = "zombienet-provider"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6af0264938da61b25da89f17ee0630393a4ba793582a4a8a1650eb15b47fc1ef"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "flate2",
+ "futures",
+ "hex",
+ "k8s-openapi",
+ "kube",
+ "nix 0.27.1",
+ "regex",
+ "reqwest",
+ "serde",
+ "serde_json",
+ "serde_yaml",
+ "sha2 0.10.8",
+ "tar",
+ "thiserror",
+ "tokio",
+ "tokio-util",
+ "tracing",
+ "url",
+ "uuid",
+ "zombienet-configuration",
+ "zombienet-support",
+]
+
+[[package]]
+name = "zombienet-sdk"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bc5b7ebfba4ab62486c8cb5bcd7345c4376487487cfe3481476cb4d4accc75e"
+dependencies = [
+ "async-trait",
+ "futures",
+ "lazy_static",
+ "subxt",
+ "tokio",
+ "zombienet-configuration",
+ "zombienet-orchestrator",
+ "zombienet-provider",
+ "zombienet-support",
+]
+
+[[package]]
+name = "zombienet-support"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f5b80d34a0eecca69dd84c2e13f84f1fae0cc378baf4f15f769027af068418b"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "futures",
+ "nix 0.27.1",
+ "rand",
+ "regex",
+ "reqwest",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "uuid",
+]
+
[[package]]
name = "zstd"
version = "0.11.2+zstd.1.5.2"
diff --git a/Cargo.toml b/Cargo.toml
index db9a2bd7227357b7d4f03f616bfb8e12dfa8eb09..a3c89a74bd682e39ed187632f19df72f08162fb9 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"
@@ -61,6 +61,7 @@ members = [
"bridges/snowbridge/primitives/router",
"bridges/snowbridge/runtime/runtime-common",
"bridges/snowbridge/runtime/test-common",
+ "cumulus/bin/pov-validator",
"cumulus/client/cli",
"cumulus/client/collator",
"cumulus/client/consensus/aura",
@@ -90,6 +91,8 @@ members = [
"cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-rococo",
"cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend",
"cumulus/parachains/integration-tests/emulated/chains/parachains/collectives/collectives-westend",
+ "cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo",
+ "cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-westend",
"cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-rococo",
"cumulus/parachains/integration-tests/emulated/chains/parachains/people/people-westend",
"cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal",
@@ -104,6 +107,8 @@ members = [
"cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo",
"cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend",
"cumulus/parachains/integration-tests/emulated/tests/collectives/collectives-westend",
+ "cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-rococo",
+ "cumulus/parachains/integration-tests/emulated/tests/coretime/coretime-westend",
"cumulus/parachains/integration-tests/emulated/tests/people/people-rococo",
"cumulus/parachains/integration-tests/emulated/tests/people/people-westend",
"cumulus/parachains/pallets/collective-content",
@@ -131,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",
@@ -389,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",
@@ -517,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",
@@ -527,42 +537,46 @@ members = [
"templates/solochain/node",
"templates/solochain/pallets/template",
"templates/solochain/runtime",
+ "templates/zombienet",
"umbrella",
]
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" }
@@ -571,8 +585,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" }
-ansi_term = { version = "0.12.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 }
@@ -589,7 +602,7 @@ ark-ed-on-bls12-381-bandersnatch-ext = { version = "0.4.1", default-features = f
ark-scale = { version = "0.0.12", default-features = false }
array-bytes = { version = "6.2.2", default-features = false }
arrayvec = { version = "0.7.4" }
-assert_cmd = { version = "2.0.10" }
+assert_cmd = { version = "2.0.14" }
assert_matches = { version = "1.5.0" }
asset-hub-rococo-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-rococo" }
asset-hub-rococo-runtime = { path = "cumulus/parachains/runtimes/assets/asset-hub-rococo", default-features = false }
@@ -602,14 +615,14 @@ async-std = { version = "1.9.0" }
async-trait = { version = "0.1.79" }
asynchronous-codec = { version = "0.6" }
backoff = { version = "0.4" }
-backtrace = { version = "0.3.64" }
+backtrace = { version = "0.3.71" }
binary-merkle-tree = { path = "substrate/utils/binary-merkle-tree", default-features = false }
bincode = { version = "1.3.3" }
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" }
@@ -642,7 +655,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 }
@@ -654,20 +667,22 @@ chain-spec-builder = { path = "substrate/bin/utils/chain-spec-builder", default-
chain-spec-guide-runtime = { path = "docs/sdk/src/reference_docs/chain_spec_runtime" }
chrono = { version = "0.4.31" }
cid = { version = "0.9.0" }
-clap = { version = "4.5.3" }
+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 }
console = { version = "0.15.8" }
contracts-rococo-runtime = { path = "cumulus/parachains/runtimes/contracts/contracts-rococo" }
+coretime-rococo-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-rococo" }
coretime-rococo-runtime = { path = "cumulus/parachains/runtimes/coretime/coretime-rococo" }
+coretime-westend-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/coretime/coretime-westend" }
coretime-westend-runtime = { path = "cumulus/parachains/runtimes/coretime/coretime-westend" }
cpu-time = { version = "1.0.0" }
criterion = { version = "0.5.1", default-features = false }
@@ -720,8 +735,7 @@ ed25519-zebra = { version = "4.0.3", default-features = false }
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.12" }
-env_logger = { version = "0.11.3" }
+enumn = { version = "0.1.13" }
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" }
@@ -797,9 +811,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" }
@@ -807,19 +823,19 @@ 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" }
-libc = { version = "0.2.153" }
+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" }
-log = { version = "0.4.21", default-features = false }
-macro_magic = { version = "0.5.0" }
+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" }
memmap2 = { version = "0.9.3" }
memory-db = { version = "0.32.0", default-features = false }
@@ -855,7 +871,7 @@ num-rational = { version = "0.4.1" }
num-traits = { version = "0.2.17", default-features = false }
num_cpus = { version = "1.13.1" }
once_cell = { version = "1.19.0" }
-orchestra = { version = "0.3.5", default-features = false }
+orchestra = { version = "0.4.0", default-features = false }
pallet-alliance = { path = "substrate/frame/alliance", default-features = false }
pallet-asset-conversion = { path = "substrate/frame/asset-conversion", default-features = false }
pallet-asset-conversion-ops = { path = "substrate/frame/asset-conversion/ops", default-features = false }
@@ -885,7 +901,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 }
@@ -941,6 +957,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" }
@@ -986,7 +1007,7 @@ parity-util-mem = { version = "0.12.0" }
parity-wasm = { version = "0.45.0" }
parking_lot = { version = "0.12.1", default-features = false }
partial_sort = { version = "0.2.0" }
-paste = { version = "1.0.14", default-features = false }
+paste = { version = "1.0.15", default-features = false }
pbkdf2 = { version = "0.12.2", default-features = false }
penpal-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal" }
penpal-runtime = { path = "cumulus/parachains/runtimes/testing/penpal" }
@@ -1034,6 +1055,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" }
@@ -1050,7 +1072,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" }
@@ -1058,7 +1080,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" }
@@ -1069,7 +1091,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.33" }
+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" }
@@ -1077,7 +1099,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" }
@@ -1095,7 +1117,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 }
@@ -1157,17 +1179,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.197", 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.114", 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" }
@@ -1254,7 +1276,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 }
@@ -1276,7 +1298,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" }
@@ -1300,7 +1322,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" }
@@ -1311,10 +1333,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 }
@@ -1323,7 +1345,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" }
@@ -1349,22 +1371,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 92901d070db0854dd4b1daef8c3ed7a3fd3893f2..702c853684cda347fe6c9f7ec7d2e6fcedc25ae6 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 d69a064aab81a41c946b073f232ebb8c778b9609..b8835d55f0da2ad9a88a94f10539f4312950600a 100644
--- a/bridges/bin/runtime-common/Cargo.toml
+++ b/bridges/bin/runtime-common/Cargo.toml
@@ -12,14 +12,12 @@ workspace = true
[dependencies]
codec = { features = ["derive"], workspace = true }
-hash-db = { workspace = true }
log = { workspace = true }
scale-info = { features = ["derive"], workspace = true }
static_assertions = { optional = true, workspace = true, default-features = true }
tuplex = { workspace = true }
# Bridge dependencies
-
bp-header-chain = { workspace = true }
bp-messages = { workspace = true }
bp-parachains = { workspace = true }
@@ -27,32 +25,32 @@ 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 }
pallet-bridge-relayers = { workspace = true }
# Substrate dependencies
-
frame-support = { workspace = true }
frame-system = { workspace = true }
pallet-transaction-payment = { workspace = true }
pallet-utility = { workspace = true }
-sp-api = { workspace = true }
-sp-core = { workspace = true }
sp-io = { workspace = true }
sp-runtime = { workspace = true }
sp-std = { workspace = true }
-sp-trie = { workspace = true }
+sp-trie = { optional = true, workspace = true }
# Polkadot dependencies
xcm = { workspace = true }
-xcm-builder = { workspace = true }
[dev-dependencies]
-bp-test-utils = { workspace = true, default-features = true }
-pallet-balances = { workspace = true, default-features = true }
+bp-test-utils = { workspace = true }
+pallet-balances = { workspace = true }
+pallet-bridge-messages = { features = [
+ "std",
+ "test-helpers",
+], workspace = true }
+sp-core = { workspace = true }
[features]
default = ["std"]
@@ -63,13 +61,13 @@ std = [
"bp-polkadot-core/std",
"bp-relayers/std",
"bp-runtime/std",
- "bp-xcm-bridge-hub-router/std",
+ "bp-test-utils/std",
"bp-xcm-bridge-hub/std",
"codec/std",
"frame-support/std",
"frame-system/std",
- "hash-db/std",
"log/std",
+ "pallet-balances/std",
"pallet-bridge-grandpa/std",
"pallet-bridge-messages/std",
"pallet-bridge-parachains/std",
@@ -77,26 +75,27 @@ std = [
"pallet-transaction-payment/std",
"pallet-utility/std",
"scale-info/std",
- "sp-api/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 = [
+ "bp-runtime/test-helpers",
"frame-support/runtime-benchmarks",
"frame-system/runtime-benchmarks",
"pallet-balances/runtime-benchmarks",
"pallet-bridge-grandpa/runtime-benchmarks",
"pallet-bridge-messages/runtime-benchmarks",
+ "pallet-bridge-messages/test-helpers",
"pallet-bridge-parachains/runtime-benchmarks",
"pallet-bridge-relayers/runtime-benchmarks",
"pallet-utility/runtime-benchmarks",
"sp-runtime/runtime-benchmarks",
- "xcm-builder/runtime-benchmarks",
+ "sp-trie",
]
integrity-test = ["static_assertions"]
+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 df75092af6e8b89fb76003cf0bfff508214ea825..dc7e14de28f311817b7bced78e62ff1b5b037b1d 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 d3827a14dd6cc24e088a8d05d26aba9d769eb213..2ff6c4c9165aade8899bc4d8fea47da43f59ec8b 100644
--- a/bridges/bin/runtime-common/src/integrity.rs
+++ b/bridges/bin/runtime-common/src/integrity.rs
@@ -19,26 +19,33 @@
//! Most of the tests in this module assume that the bridge is using standard (see `crate::messages`
//! module for details) configuration.
-use crate::{messages, messages::MessageBridge};
-
-use bp_messages::{InboundLaneData, MessageNonce};
-use bp_runtime::{Chain, ChainId};
+use bp_header_chain::ChainWithGrandpa;
+use bp_messages::{ChainWithMessages, InboundLaneData, MessageNonce};
+use bp_runtime::Chain;
use codec::Encode;
use frame_support::{storage::generator::StorageValue, traits::Get, weights::Weight};
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>);
@@ -50,23 +57,6 @@ macro_rules! assert_chain_types(
}
);
-/// Macro that ensures that the bridge GRANDPA pallet is configured properly to bridge with given
-/// chain.
-#[macro_export]
-macro_rules! assert_bridge_grandpa_pallet_types(
- ( runtime: $r:path, with_bridged_chain_grandpa_instance: $i:path, bridged_chain: $bridged:path ) => {
- {
- // 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 pallet_bridge_grandpa::Config as GrandpaConfig;
- use static_assertions::assert_type_eq_all;
-
- assert_type_eq_all!(<$r as GrandpaConfig<$i>>::BridgedChain, $bridged);
- }
- }
-);
-
/// Macro that ensures that the bridge messages pallet is configured properly to bridge using given
/// configuration.
#[macro_export]
@@ -74,32 +64,31 @@ macro_rules! assert_bridge_messages_pallet_types(
(
runtime: $r:path,
with_bridged_chain_messages_instance: $i:path,
- bridge: $bridge:path
+ this_chain: $this:path,
+ 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::{
- source::{FromThisChainMessagePayload, TargetHeaderChainAdapter},
- target::{FromBridgedChainMessagePayload, SourceHeaderChainAdapter},
- AccountIdOf, BalanceOf, BridgedChain, ThisChain,
- };
- use pallet_bridge_messages::Config as MessagesConfig;
- use static_assertions::assert_type_eq_all;
-
- assert_type_eq_all!(<$r as MessagesConfig<$i>>::OutboundPayload, FromThisChainMessagePayload);
- assert_type_eq_all!(<$r as MessagesConfig<$i>>::InboundRelayer, AccountIdOf>);
+ 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>>::TargetHeaderChain, TargetHeaderChainAdapter<$bridge>);
- assert_type_eq_all!(<$r as MessagesConfig<$i>>::SourceHeaderChain, SourceHeaderChainAdapter<$bridge>);
+ assert_type_eq_all!(<$r as BridgeMessagesConfig<$i>>::OutboundPayload, XcmAsPlainPayload);
+ assert_type_eq_all!(<$r as BridgeMessagesConfig<$i>>::InboundPayload, XcmAsPlainPayload);
}
}
);
/// Macro that combines four other macro calls - `assert_chain_types`, `assert_bridge_types`,
-/// `assert_bridge_grandpa_pallet_types` and `assert_bridge_messages_pallet_types`. It may be used
+/// and `assert_bridge_messages_pallet_types`. It may be used
/// at the chain that is implementing complete standard messages bridge (i.e. with bridge GRANDPA
/// and messages pallets deployed).
#[macro_export]
@@ -108,20 +97,15 @@ macro_rules! assert_complete_bridge_types(
runtime: $r:path,
with_bridged_chain_grandpa_instance: $gi:path,
with_bridged_chain_messages_instance: $mi:path,
- bridge: $bridge:path,
this_chain: $this:path,
bridged_chain: $bridged:path,
) => {
$crate::assert_chain_types!(runtime: $r, this_chain: $this);
- $crate::assert_bridge_grandpa_pallet_types!(
- runtime: $r,
- with_bridged_chain_grandpa_instance: $gi,
- bridged_chain: $bridged
- );
$crate::assert_bridge_messages_pallet_types!(
runtime: $r,
with_bridged_chain_messages_instance: $mi,
- bridge: $bridge
+ this_chain: $this,
+ bridged_chain: $bridged,
);
}
);
@@ -184,50 +168,27 @@ where
);
}
-/// Parameters for asserting messages pallet constants.
-#[derive(Debug)]
-pub struct AssertBridgeMessagesPalletConstants {
- /// Maximal number of unrewarded relayer entries in a confirmation transaction at the bridged
- /// chain.
- pub max_unrewarded_relayers_in_bridged_confirmation_tx: MessageNonce,
- /// Maximal number of unconfirmed messages in a confirmation transaction at the bridged chain.
- pub max_unconfirmed_messages_in_bridged_confirmation_tx: MessageNonce,
- /// Identifier of the bridged chain.
- pub bridged_chain_id: ChainId,
-}
-
/// Test that the constants, used in messages pallet configuration are valid.
-pub fn assert_bridge_messages_pallet_constants(params: AssertBridgeMessagesPalletConstants)
+pub fn assert_bridge_messages_pallet_constants()
where
R: pallet_bridge_messages::Config,
MI: 'static,
{
assert!(
- !R::ActiveOutboundLanes::get().is_empty(),
- "ActiveOutboundLanes ({:?}) must not be empty",
- R::ActiveOutboundLanes::get(),
- );
- assert!(
- R::MaxUnrewardedRelayerEntriesAtInboundLane::get() <= params.max_unrewarded_relayers_in_bridged_confirmation_tx,
- "MaxUnrewardedRelayerEntriesAtInboundLane ({}) must be <= than the hardcoded value for bridged chain: {}",
- R::MaxUnrewardedRelayerEntriesAtInboundLane::get(),
- params.max_unrewarded_relayers_in_bridged_confirmation_tx,
- );
- assert!(
- R::MaxUnconfirmedMessagesAtInboundLane::get() <= params.max_unconfirmed_messages_in_bridged_confirmation_tx,
- "MaxUnrewardedRelayerEntriesAtInboundLane ({}) must be <= than the hardcoded value for bridged chain: {}",
- R::MaxUnconfirmedMessagesAtInboundLane::get(),
- params.max_unconfirmed_messages_in_bridged_confirmation_tx,
+ pallet_bridge_messages::BridgedChainOf::::MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX
+ <= pallet_bridge_messages::BridgedChainOf::::MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX,
+ "MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX ({}) of {:?} is larger than \
+ its MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX ({}). This makes \
+ no sense",
+ pallet_bridge_messages::BridgedChainOf::::MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX,
+ pallet_bridge_messages::BridgedChainOf::::ID,
+ pallet_bridge_messages::BridgedChainOf::::MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX,
);
- assert_eq!(R::BridgedChainId::get(), params.bridged_chain_id);
}
/// Parameters for asserting bridge pallet names.
#[derive(Debug)]
pub struct AssertBridgePalletNames<'a> {
- /// Name of the messages pallet, deployed at the bridged chain and used to bridge with this
- /// chain.
- pub with_this_chain_messages_pallet_name: &'a str,
/// Name of the GRANDPA pallet, deployed at this chain and used to bridge with the bridged
/// chain.
pub with_bridged_chain_grandpa_pallet_name: &'a str,
@@ -238,18 +199,22 @@ pub struct AssertBridgePalletNames<'a> {
/// Tests that bridge pallet names used in `construct_runtime!()` macro call are matching constants
/// from chain primitives crates.
-pub fn assert_bridge_pallet_names(params: AssertBridgePalletNames)
+fn assert_bridge_pallet_names(params: AssertBridgePalletNames)
where
- B: MessageBridge,
R: pallet_bridge_grandpa::Config + pallet_bridge_messages::Config,
GI: 'static,
MI: 'static,
{
- assert_eq!(B::BRIDGED_MESSAGES_PALLET_NAME, params.with_this_chain_messages_pallet_name);
+ // check that the bridge GRANDPA pallet has required name
assert_eq!(
pallet_bridge_grandpa::PalletOwner::::storage_value_final_key().to_vec(),
- bp_runtime::storage_value_key(params.with_bridged_chain_grandpa_pallet_name, "PalletOwner",).0,
+ bp_runtime::storage_value_key(
+ params.with_bridged_chain_grandpa_pallet_name,
+ "PalletOwner",
+ ).0,
);
+
+ // check that the bridge messages pallet has required name
assert_eq!(
pallet_bridge_messages::PalletOwner::::storage_value_final_key().to_vec(),
bp_runtime::storage_value_key(
@@ -262,35 +227,58 @@ where
/// Parameters for asserting complete standard messages bridge.
#[derive(Debug)]
-pub struct AssertCompleteBridgeConstants<'a> {
+pub struct AssertCompleteBridgeConstants {
/// Parameters to assert this chain constants.
pub this_chain_constants: AssertChainConstants,
- /// Parameters to assert messages pallet constants.
- pub messages_pallet_constants: AssertBridgeMessagesPalletConstants,
- /// Parameters to assert pallet names constants.
- pub pallet_names: AssertBridgePalletNames<'a>,
}
-/// All bridge-related constants tests for the complete standard messages bridge (i.e. with bridge
-/// GRANDPA and messages pallets deployed).
-pub fn assert_complete_bridge_constants(params: AssertCompleteBridgeConstants)
-where
+/// All bridge-related constants tests for the complete standard relay-chain messages bridge
+/// (i.e. with bridge GRANDPA and messages pallets deployed).
+pub fn assert_complete_with_relay_chain_bridge_constants(
+ params: AssertCompleteBridgeConstants,
+) where
R: frame_system::Config
+ pallet_bridge_grandpa::Config
+ pallet_bridge_messages::Config,
GI: 'static,
MI: 'static,
- B: MessageBridge,
{
assert_chain_constants::(params.this_chain_constants);
assert_bridge_grandpa_pallet_constants::();
- assert_bridge_messages_pallet_constants::(params.messages_pallet_constants);
- assert_bridge_pallet_names::(params.pallet_names);
+ assert_bridge_messages_pallet_constants::();
+ assert_bridge_pallet_names::(AssertBridgePalletNames {
+ with_bridged_chain_grandpa_pallet_name:
+ >::BridgedChain::WITH_CHAIN_GRANDPA_PALLET_NAME,
+ with_bridged_chain_messages_pallet_name:
+ >::BridgedChain::WITH_CHAIN_MESSAGES_PALLET_NAME,
+ });
+}
+
+/// All bridge-related constants tests for the complete standard parachain messages bridge
+/// (i.e. with bridge GRANDPA, parachains and messages pallets deployed).
+pub fn assert_complete_with_parachain_bridge_constants(
+ params: AssertCompleteBridgeConstants,
+) where
+ R: frame_system::Config
+ + pallet_bridge_grandpa::Config
+ + pallet_bridge_messages::Config,
+ GI: 'static,
+ MI: 'static,
+ RelayChain: ChainWithGrandpa,
+{
+ assert_chain_constants::(params.this_chain_constants);
+ assert_bridge_grandpa_pallet_constants::();
+ assert_bridge_messages_pallet_constants::();
+ assert_bridge_pallet_names::(AssertBridgePalletNames {
+ with_bridged_chain_grandpa_pallet_name: RelayChain::WITH_CHAIN_GRANDPA_PALLET_NAME,
+ with_bridged_chain_messages_pallet_name:
+ >::BridgedChain::WITH_CHAIN_MESSAGES_PALLET_NAME,
+ });
}
/// Check that the message lane weights are correct.
pub fn check_message_lane_weights<
- C: Chain,
+ C: ChainWithMessages,
T: frame_system::Config + pallet_bridge_messages::Config,
MessagesPalletInstance: 'static,
>(
@@ -308,14 +296,20 @@ pub fn check_message_lane_weights<
// check basic weight assumptions
pallet_bridge_messages::ensure_weights_are_correct::>();
+ // check that the maximal message dispatch weight is below hardcoded limit
+ pallet_bridge_messages::ensure_maximal_message_dispatch::>(
+ C::maximal_incoming_message_size(),
+ C::maximal_incoming_message_dispatch_weight(),
+ );
+
// check that weights allow us to receive messages
- let max_incoming_message_proof_size = bridged_chain_extra_storage_proof_size
- .saturating_add(messages::target::maximal_incoming_message_size(C::max_extrinsic_size()));
+ let max_incoming_message_proof_size =
+ bridged_chain_extra_storage_proof_size.saturating_add(C::maximal_incoming_message_size());
pallet_bridge_messages::ensure_able_to_receive_message::>(
C::max_extrinsic_size(),
C::max_extrinsic_weight(),
max_incoming_message_proof_size,
- messages::target::maximal_incoming_message_dispatch_weight(C::max_extrinsic_weight()),
+ C::maximal_incoming_message_dispatch_weight(),
);
// check that weights allow us to receive delivery confirmations
diff --git a/bridges/bin/runtime-common/src/lib.rs b/bridges/bin/runtime-common/src/lib.rs
index 5679acd6006ccb8540f940f0f90363f902d643f7..ac8b013086b1bd63da2ed2e14d40002341be1758 100644
--- a/bridges/bin/runtime-common/src/lib.rs
+++ b/bridges/bin/runtime-common/src/lib.rs
@@ -20,17 +20,11 @@
#![cfg_attr(not(feature = "std"), no_std)]
pub mod extensions;
-pub mod messages;
pub mod messages_api;
pub mod messages_benchmarking;
-pub mod messages_call_ext;
-pub mod messages_generation;
-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.rs b/bridges/bin/runtime-common/src/messages.rs
deleted file mode 100644
index 03801d5279d0a8453542336d8089f5c887a3d005..0000000000000000000000000000000000000000
--- a/bridges/bin/runtime-common/src/messages.rs
+++ /dev/null
@@ -1,704 +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 .
-
-//! Types that allow runtime to act as a source/target endpoint of message lanes.
-//!
-//! Messages are assumed to be encoded `Call`s of the target chain. Call-dispatch
-//! pallet is used to dispatch incoming messages. Message identified by a tuple
-//! of to elements - message lane id and message nonce.
-
-pub use bp_runtime::{RangeInclusiveExt, UnderlyingChainOf, UnderlyingChainProvider};
-
-use bp_header_chain::HeaderChain;
-use bp_messages::{
- source_chain::TargetHeaderChain,
- target_chain::{ProvedLaneMessages, ProvedMessages, SourceHeaderChain},
- InboundLaneData, LaneId, Message, MessageKey, MessageNonce, MessagePayload, OutboundLaneData,
- VerificationError,
-};
-use bp_runtime::{Chain, RawStorageProof, Size, StorageProofChecker};
-use codec::{Decode, Encode};
-use frame_support::{traits::Get, weights::Weight};
-use hash_db::Hasher;
-use scale_info::TypeInfo;
-use sp_runtime::RuntimeDebug;
-use sp_std::{marker::PhantomData, vec::Vec};
-
-/// Bidirectional message bridge.
-pub trait MessageBridge {
- /// Name of the paired messages pallet instance at the Bridged chain.
- ///
- /// Should be the name that is used in the `construct_runtime!()` macro.
- const BRIDGED_MESSAGES_PALLET_NAME: &'static str;
-
- /// This chain in context of message bridge.
- type ThisChain: ThisChainWithMessages;
- /// Bridged chain in context of message bridge.
- type BridgedChain: BridgedChainWithMessages;
- /// Bridged header chain.
- type BridgedHeaderChain: HeaderChain>;
-}
-
-/// This chain that has `pallet-bridge-messages` module.
-pub trait ThisChainWithMessages: UnderlyingChainProvider {
- /// Call origin on the chain.
- type RuntimeOrigin;
-}
-
-/// Bridged chain that has `pallet-bridge-messages` module.
-pub trait BridgedChainWithMessages: UnderlyingChainProvider {}
-
-/// This chain in context of message bridge.
-pub type ThisChain = ::ThisChain;
-/// Bridged chain in context of message bridge.
-pub type BridgedChain = ::BridgedChain;
-/// Hash used on the chain.
-pub type HashOf = bp_runtime::HashOf<::Chain>;
-/// Hasher used on the chain.
-pub type HasherOf = bp_runtime::HasherOf>;
-/// Account id used on the chain.
-pub type AccountIdOf = bp_runtime::AccountIdOf>;
-/// Type of balances that is used on the chain.
-pub type BalanceOf = bp_runtime::BalanceOf>;
-
-/// Sub-module that is declaring types required for processing This -> Bridged chain messages.
-pub mod source {
- use super::*;
-
- /// Message payload for This -> Bridged chain messages.
- pub type FromThisChainMessagePayload = crate::messages_xcm_extension::XcmAsPlainPayload;
-
- /// Maximal size of outbound message payload.
- pub struct FromThisChainMaximalOutboundPayloadSize(PhantomData);
-
- impl Get for FromThisChainMaximalOutboundPayloadSize {
- fn get() -> u32 {
- maximal_message_size::()
- }
- }
-
- /// Messages delivery proof from bridged chain:
- ///
- /// - hash of finalized header;
- /// - storage proof of inbound lane state;
- /// - lane id.
- #[derive(Clone, Decode, Encode, Eq, PartialEq, RuntimeDebug, TypeInfo)]
- pub struct FromBridgedChainMessagesDeliveryProof {
- /// Hash of the bridge header the proof is for.
- pub bridged_header_hash: BridgedHeaderHash,
- /// Storage trie proof generated for [`Self::bridged_header_hash`].
- pub storage_proof: RawStorageProof,
- /// Lane id of which messages were delivered and the proof is for.
- pub lane: LaneId,
- }
-
- impl Size for FromBridgedChainMessagesDeliveryProof {
- fn size(&self) -> u32 {
- u32::try_from(
- self.storage_proof
- .iter()
- .fold(0usize, |sum, node| sum.saturating_add(node.len())),
- )
- .unwrap_or(u32::MAX)
- }
- }
-
- /// 'Parsed' message delivery proof - inbound lane id and its state.
- pub type ParsedMessagesDeliveryProofFromBridgedChain =
- (LaneId, InboundLaneData>>);
-
- /// Return maximal message size of This -> Bridged chain message.
- pub fn maximal_message_size() -> u32 {
- super::target::maximal_incoming_message_size(
- UnderlyingChainOf::>::max_extrinsic_size(),
- )
- }
-
- /// `TargetHeaderChain` implementation that is using default types and perform default checks.
- pub struct TargetHeaderChainAdapter(PhantomData);
-
- impl TargetHeaderChain>>
- for TargetHeaderChainAdapter
- {
- type MessagesDeliveryProof = FromBridgedChainMessagesDeliveryProof>>;
-
- fn verify_message(payload: &FromThisChainMessagePayload) -> Result<(), VerificationError> {
- verify_chain_message::(payload)
- }
-
- fn verify_messages_delivery_proof(
- proof: Self::MessagesDeliveryProof,
- ) -> Result<(LaneId, InboundLaneData>>), VerificationError> {
- verify_messages_delivery_proof::(proof)
- }
- }
-
- /// Do basic Bridged-chain specific verification of This -> Bridged chain message.
- ///
- /// Ok result from this function means that the delivery transaction with this message
- /// may be 'mined' by the target chain.
- pub fn verify_chain_message(
- payload: &FromThisChainMessagePayload,
- ) -> Result<(), VerificationError> {
- // IMPORTANT: any error that is returned here is fatal for the bridge, because
- // this code is executed at the bridge hub and message sender actually lives
- // at some sibling parachain. So we are failing **after** the message has been
- // sent and we can't report it back to sender (unless error report mechanism is
- // embedded into message and its dispatcher).
-
- // apart from maximal message size check (see below), we should also check the message
- // dispatch weight here. But we assume that the bridged chain will just push the message
- // to some queue (XCMP, UMP, DMP), so the weight is constant and fits the block.
-
- // The maximal size of extrinsic at Substrate-based chain depends on the
- // `frame_system::Config::MaximumBlockLength` and
- // `frame_system::Config::AvailableBlockRatio` constants. This check is here to be sure that
- // the lane won't stuck because message is too large to fit into delivery transaction.
- //
- // **IMPORTANT NOTE**: the delivery transaction contains storage proof of the message, not
- // the message itself. The proof is always larger than the message. But unless chain state
- // is enormously large, it should be several dozens/hundreds of bytes. The delivery
- // transaction also contains signatures and signed extensions. Because of this, we reserve
- // 1/3 of the the maximal extrinsic size for this data.
- if payload.len() > maximal_message_size::() as usize {
- return Err(VerificationError::MessageTooLarge)
- }
-
- Ok(())
- }
-
- /// Verify proof of This -> Bridged chain messages delivery.
- ///
- /// This function is used when Bridged chain is directly using GRANDPA finality. For Bridged
- /// parachains, please use the `verify_messages_delivery_proof_from_parachain`.
- pub fn verify_messages_delivery_proof(
- proof: FromBridgedChainMessagesDeliveryProof>>,
- ) -> Result, VerificationError> {
- let FromBridgedChainMessagesDeliveryProof { bridged_header_hash, storage_proof, lane } =
- proof;
- let mut storage =
- B::BridgedHeaderChain::storage_proof_checker(bridged_header_hash, storage_proof)
- .map_err(VerificationError::HeaderChain)?;
- // Messages delivery proof is just proof of single storage key read => any error
- // is fatal.
- let storage_inbound_lane_data_key = bp_messages::storage_keys::inbound_lane_data_key(
- B::BRIDGED_MESSAGES_PALLET_NAME,
- &lane,
- );
- let inbound_lane_data = storage
- .read_and_decode_mandatory_value(storage_inbound_lane_data_key.0.as_ref())
- .map_err(VerificationError::InboundLaneStorage)?;
-
- // check that the storage proof doesn't have any untouched trie nodes
- storage.ensure_no_unused_nodes().map_err(VerificationError::StorageProof)?;
-
- Ok((lane, inbound_lane_data))
- }
-}
-
-/// Sub-module that is declaring types required for processing Bridged -> This chain messages.
-pub mod target {
- use super::*;
-
- /// Decoded Bridged -> This message payload.
- pub type FromBridgedChainMessagePayload = crate::messages_xcm_extension::XcmAsPlainPayload;
-
- /// Messages proof from bridged chain:
- ///
- /// - hash of finalized header;
- /// - storage proof of messages and (optionally) outbound lane state;
- /// - lane id;
- /// - nonces (inclusive range) of messages which are included in this proof.
- #[derive(Clone, Decode, Encode, Eq, PartialEq, RuntimeDebug, TypeInfo)]
- pub struct FromBridgedChainMessagesProof {
- /// Hash of the finalized bridged header the proof is for.
- pub bridged_header_hash: BridgedHeaderHash,
- /// A storage trie proof of messages being delivered.
- pub storage_proof: RawStorageProof,
- /// Messages in this proof are sent over this lane.
- pub lane: LaneId,
- /// Nonce of the first message being delivered.
- pub nonces_start: MessageNonce,
- /// Nonce of the last message being delivered.
- pub nonces_end: MessageNonce,
- }
-
- impl Size for FromBridgedChainMessagesProof {
- fn size(&self) -> u32 {
- u32::try_from(
- self.storage_proof
- .iter()
- .fold(0usize, |sum, node| sum.saturating_add(node.len())),
- )
- .unwrap_or(u32::MAX)
- }
- }
-
- /// Return maximal dispatch weight of the message we're able to receive.
- pub fn maximal_incoming_message_dispatch_weight(maximal_extrinsic_weight: Weight) -> Weight {
- maximal_extrinsic_weight / 2
- }
-
- /// Return maximal message size given maximal extrinsic size.
- pub fn maximal_incoming_message_size(maximal_extrinsic_size: u32) -> u32 {
- maximal_extrinsic_size / 3 * 2
- }
-
- /// `SourceHeaderChain` implementation that is using default types and perform default checks.
- pub struct SourceHeaderChainAdapter(PhantomData);
-
- impl SourceHeaderChain for SourceHeaderChainAdapter {
- type MessagesProof = FromBridgedChainMessagesProof>>;
-
- fn verify_messages_proof(
- proof: Self::MessagesProof,
- messages_count: u32,
- ) -> Result, VerificationError> {
- verify_messages_proof::(proof, messages_count)
- }
- }
-
- /// Verify proof of Bridged -> This chain messages.
- ///
- /// This function is used when Bridged chain is directly using GRANDPA finality. For Bridged
- /// parachains, please use the `verify_messages_proof_from_parachain`.
- ///
- /// The `messages_count` argument verification (sane limits) is supposed to be made
- /// outside of this function. This function only verifies that the proof declares exactly
- /// `messages_count` messages.
- pub fn verify_messages_proof(
- proof: FromBridgedChainMessagesProof>>,
- messages_count: u32,
- ) -> Result, VerificationError> {
- let FromBridgedChainMessagesProof {
- bridged_header_hash,
- storage_proof,
- lane,
- nonces_start,
- nonces_end,
- } = proof;
- let storage =
- B::BridgedHeaderChain::storage_proof_checker(bridged_header_hash, storage_proof)
- .map_err(VerificationError::HeaderChain)?;
- let mut parser = StorageProofCheckerAdapter::<_, B> { storage, _dummy: Default::default() };
- let nonces_range = nonces_start..=nonces_end;
-
- // receiving proofs where end < begin is ok (if proof includes outbound lane state)
- let messages_in_the_proof = nonces_range.checked_len().unwrap_or(0);
- if messages_in_the_proof != MessageNonce::from(messages_count) {
- return Err(VerificationError::MessagesCountMismatch)
- }
-
- // Read messages first. All messages that are claimed to be in the proof must
- // be in the proof. So any error in `read_value`, or even missing value is fatal.
- //
- // Mind that we allow proofs with no messages if outbound lane state is proved.
- let mut messages = Vec::with_capacity(messages_in_the_proof as _);
- for nonce in nonces_range {
- let message_key = MessageKey { lane_id: lane, nonce };
- let message_payload = parser.read_and_decode_message_payload(&message_key)?;
- messages.push(Message { key: message_key, payload: message_payload });
- }
-
- // Now let's check if proof contains outbound lane state proof. It is optional, so
- // we simply ignore `read_value` errors and missing value.
- let proved_lane_messages = ProvedLaneMessages {
- lane_state: parser.read_and_decode_outbound_lane_data(&lane)?,
- messages,
- };
-
- // Now we may actually check if the proof is empty or not.
- if proved_lane_messages.lane_state.is_none() && proved_lane_messages.messages.is_empty() {
- return Err(VerificationError::EmptyMessageProof)
- }
-
- // check that the storage proof doesn't have any untouched trie nodes
- parser
- .storage
- .ensure_no_unused_nodes()
- .map_err(VerificationError::StorageProof)?;
-
- // We only support single lane messages in this generated_schema
- let mut proved_messages = ProvedMessages::new();
- proved_messages.insert(lane, proved_lane_messages);
-
- Ok(proved_messages)
- }
-
- struct StorageProofCheckerAdapter {
- storage: StorageProofChecker,
- _dummy: sp_std::marker::PhantomData,
- }
-
- impl StorageProofCheckerAdapter {
- fn read_and_decode_outbound_lane_data(
- &mut self,
- lane_id: &LaneId,
- ) -> Result, VerificationError> {
- let storage_outbound_lane_data_key = bp_messages::storage_keys::outbound_lane_data_key(
- B::BRIDGED_MESSAGES_PALLET_NAME,
- lane_id,
- );
-
- self.storage
- .read_and_decode_opt_value(storage_outbound_lane_data_key.0.as_ref())
- .map_err(VerificationError::OutboundLaneStorage)
- }
-
- fn read_and_decode_message_payload(
- &mut self,
- message_key: &MessageKey,
- ) -> Result {
- let storage_message_key = bp_messages::storage_keys::message_key(
- B::BRIDGED_MESSAGES_PALLET_NAME,
- &message_key.lane_id,
- message_key.nonce,
- );
- self.storage
- .read_and_decode_mandatory_value(storage_message_key.0.as_ref())
- .map_err(VerificationError::MessageStorage)
- }
- }
-}
-
-/// The `BridgeMessagesCall` used by a chain.
-pub type BridgeMessagesCallOf = bp_messages::BridgeMessagesCall<
- bp_runtime::AccountIdOf,
- target::FromBridgedChainMessagesProof>,
- source::FromBridgedChainMessagesDeliveryProof>,
->;
-
-#[cfg(test)]
-mod tests {
- use super::*;
- use crate::{
- messages_generation::{
- encode_all_messages, encode_lane_data, prepare_messages_storage_proof,
- },
- mock::*,
- };
- use bp_header_chain::{HeaderChainError, StoredHeaderDataBuilder};
- use bp_runtime::{HeaderId, StorageProofError};
- use codec::Encode;
- use sp_core::H256;
- use sp_runtime::traits::Header as _;
- use sp_trie::accessed_nodes_tracker::Error as AccessedNodesTrackerError;
-
- #[test]
- fn verify_chain_message_rejects_message_with_too_large_declared_weight() {
- assert!(source::verify_chain_message::(&vec![
- 42;
- BRIDGED_CHAIN_MAX_EXTRINSIC_WEIGHT -
- 1
- ])
- .is_err());
- }
-
- #[test]
- fn verify_chain_message_rejects_message_too_large_message() {
- assert!(source::verify_chain_message::(&vec![
- 0;
- source::maximal_message_size::()
- as usize + 1
- ],)
- .is_err());
- }
-
- #[test]
- fn verify_chain_message_accepts_maximal_message() {
- assert_eq!(
- source::verify_chain_message::(&vec![
- 0;
- source::maximal_message_size::()
- as _
- ],),
- Ok(()),
- );
- }
-
- fn using_messages_proof(
- nonces_end: MessageNonce,
- outbound_lane_data: Option,
- encode_message: impl Fn(MessageNonce, &MessagePayload) -> Option>,
- encode_outbound_lane_data: impl Fn(&OutboundLaneData) -> Vec,
- test: impl Fn(target::FromBridgedChainMessagesProof) -> R,
- ) -> R {
- let (state_root, storage_proof) = prepare_messages_storage_proof::(
- TEST_LANE_ID,
- 1..=nonces_end,
- outbound_lane_data,
- bp_runtime::StorageProofSize::Minimal(0),
- vec![42],
- encode_message,
- encode_outbound_lane_data,
- );
-
- sp_io::TestExternalities::new(Default::default()).execute_with(move || {
- let bridged_header = BridgedChainHeader::new(
- 0,
- Default::default(),
- state_root,
- Default::default(),
- Default::default(),
- );
- let bridged_header_hash = bridged_header.hash();
-
- pallet_bridge_grandpa::BestFinalized::::put(HeaderId(
- 0,
- bridged_header_hash,
- ));
- pallet_bridge_grandpa::ImportedHeaders::::insert(
- bridged_header_hash,
- bridged_header.build(),
- );
- test(target::FromBridgedChainMessagesProof {
- bridged_header_hash,
- storage_proof,
- lane: TEST_LANE_ID,
- nonces_start: 1,
- nonces_end,
- })
- })
- }
-
- #[test]
- fn messages_proof_is_rejected_if_declared_less_than_actual_number_of_messages() {
- assert_eq!(
- using_messages_proof(10, None, encode_all_messages, encode_lane_data, |proof| {
- target::verify_messages_proof::(proof, 5)
- }),
- Err(VerificationError::MessagesCountMismatch),
- );
- }
-
- #[test]
- fn messages_proof_is_rejected_if_declared_more_than_actual_number_of_messages() {
- assert_eq!(
- using_messages_proof(10, None, encode_all_messages, encode_lane_data, |proof| {
- target::verify_messages_proof::(proof, 15)
- }),
- Err(VerificationError::MessagesCountMismatch),
- );
- }
-
- #[test]
- fn message_proof_is_rejected_if_header_is_missing_from_the_chain() {
- assert_eq!(
- using_messages_proof(10, None, encode_all_messages, encode_lane_data, |proof| {
- let bridged_header_hash =
- pallet_bridge_grandpa::BestFinalized::::get().unwrap().1;
- pallet_bridge_grandpa::ImportedHeaders::::remove(bridged_header_hash);
- target::verify_messages_proof::(proof, 10)
- }),
- Err(VerificationError::HeaderChain(HeaderChainError::UnknownHeader)),
- );
- }
-
- #[test]
- fn message_proof_is_rejected_if_header_state_root_mismatches() {
- assert_eq!(
- using_messages_proof(10, None, encode_all_messages, encode_lane_data, |proof| {
- let bridged_header_hash =
- pallet_bridge_grandpa::BestFinalized::::get().unwrap().1;
- pallet_bridge_grandpa::ImportedHeaders::::insert(
- bridged_header_hash,
- BridgedChainHeader::new(
- 0,
- Default::default(),
- Default::default(),
- Default::default(),
- Default::default(),
- )
- .build(),
- );
- target::verify_messages_proof::(proof, 10)
- }),
- Err(VerificationError::HeaderChain(HeaderChainError::StorageProof(
- StorageProofError::StorageRootMismatch
- ))),
- );
- }
-
- #[test]
- fn message_proof_is_rejected_if_it_has_duplicate_trie_nodes() {
- assert_eq!(
- using_messages_proof(10, None, encode_all_messages, encode_lane_data, |mut proof| {
- let node = proof.storage_proof.pop().unwrap();
- proof.storage_proof.push(node.clone());
- proof.storage_proof.push(node);
- target::verify_messages_proof::(proof, 10)
- },),
- Err(VerificationError::HeaderChain(HeaderChainError::StorageProof(
- StorageProofError::StorageProof(sp_trie::StorageProofError::DuplicateNodes.into())
- ))),
- );
- }
-
- #[test]
- fn message_proof_is_rejected_if_it_has_unused_trie_nodes() {
- assert_eq!(
- using_messages_proof(10, None, encode_all_messages, encode_lane_data, |mut proof| {
- proof.storage_proof.push(vec![42]);
- target::verify_messages_proof::(proof, 10)
- },),
- Err(VerificationError::StorageProof(StorageProofError::AccessedNodesTracker(
- AccessedNodesTrackerError::UnusedNodes.into()
- ))),
- );
- }
-
- #[test]
- fn message_proof_is_rejected_if_required_message_is_missing() {
- matches!(
- using_messages_proof(
- 10,
- None,
- |n, m| if n != 5 { Some(m.encode()) } else { None },
- encode_lane_data,
- |proof| target::verify_messages_proof::(proof, 10)
- ),
- Err(VerificationError::MessageStorage(StorageProofError::StorageValueEmpty)),
- );
- }
-
- #[test]
- fn message_proof_is_rejected_if_message_decode_fails() {
- matches!(
- using_messages_proof(
- 10,
- None,
- |n, m| {
- let mut m = m.encode();
- if n == 5 {
- m = vec![42]
- }
- Some(m)
- },
- encode_lane_data,
- |proof| target::verify_messages_proof::(proof, 10),
- ),
- Err(VerificationError::MessageStorage(StorageProofError::StorageValueDecodeFailed(_))),
- );
- }
-
- #[test]
- fn message_proof_is_rejected_if_outbound_lane_state_decode_fails() {
- matches!(
- using_messages_proof(
- 10,
- Some(OutboundLaneData {
- oldest_unpruned_nonce: 1,
- latest_received_nonce: 1,
- latest_generated_nonce: 1,
- }),
- encode_all_messages,
- |d| {
- let mut d = d.encode();
- d.truncate(1);
- d
- },
- |proof| target::verify_messages_proof::(proof, 10),
- ),
- Err(VerificationError::OutboundLaneStorage(
- StorageProofError::StorageValueDecodeFailed(_)
- )),
- );
- }
-
- #[test]
- fn message_proof_is_rejected_if_it_is_empty() {
- assert_eq!(
- using_messages_proof(0, None, encode_all_messages, encode_lane_data, |proof| {
- target::verify_messages_proof::(proof, 0)
- },),
- Err(VerificationError::EmptyMessageProof),
- );
- }
-
- #[test]
- fn non_empty_message_proof_without_messages_is_accepted() {
- assert_eq!(
- using_messages_proof(
- 0,
- Some(OutboundLaneData {
- oldest_unpruned_nonce: 1,
- latest_received_nonce: 1,
- latest_generated_nonce: 1,
- }),
- encode_all_messages,
- encode_lane_data,
- |proof| target::verify_messages_proof::(proof, 0),
- ),
- Ok(vec![(
- TEST_LANE_ID,
- ProvedLaneMessages {
- lane_state: Some(OutboundLaneData {
- oldest_unpruned_nonce: 1,
- latest_received_nonce: 1,
- latest_generated_nonce: 1,
- }),
- messages: Vec::new(),
- },
- )]
- .into_iter()
- .collect()),
- );
- }
-
- #[test]
- fn non_empty_message_proof_is_accepted() {
- assert_eq!(
- using_messages_proof(
- 1,
- Some(OutboundLaneData {
- oldest_unpruned_nonce: 1,
- latest_received_nonce: 1,
- latest_generated_nonce: 1,
- }),
- encode_all_messages,
- encode_lane_data,
- |proof| target::verify_messages_proof::(proof, 1),
- ),
- Ok(vec![(
- TEST_LANE_ID,
- ProvedLaneMessages {
- lane_state: Some(OutboundLaneData {
- oldest_unpruned_nonce: 1,
- latest_received_nonce: 1,
- latest_generated_nonce: 1,
- }),
- messages: vec![Message {
- key: MessageKey { lane_id: TEST_LANE_ID, nonce: 1 },
- payload: vec![42],
- }],
- },
- )]
- .into_iter()
- .collect()),
- );
- }
-
- #[test]
- fn verify_messages_proof_does_not_panic_if_messages_count_mismatches() {
- assert_eq!(
- using_messages_proof(1, None, encode_all_messages, encode_lane_data, |mut proof| {
- proof.nonces_end = u64::MAX;
- target::verify_messages_proof::(proof, u32::MAX)
- },),
- Err(VerificationError::MessagesCountMismatch),
- );
- }
-}
diff --git a/bridges/bin/runtime-common/src/messages_benchmarking.rs b/bridges/bin/runtime-common/src/messages_benchmarking.rs
index 74494f7908045fac601b4c3f64a456ad12dacd6f..1880e65547fe6d5e0af71e6ec7c6e0e214f20866 100644
--- a/bridges/bin/runtime-common/src/messages_benchmarking.rs
+++ b/bridges/bin/runtime-common/src/messages_benchmarking.rs
@@ -19,23 +19,22 @@
#![cfg(feature = "runtime-benchmarks")]
-use crate::{
- messages::{
- source::FromBridgedChainMessagesDeliveryProof, target::FromBridgedChainMessagesProof,
- AccountIdOf, BridgedChain, HashOf, MessageBridge, ThisChain,
- },
+use bp_messages::{
+ source_chain::FromBridgedChainMessagesDeliveryProof,
+ target_chain::FromBridgedChainMessagesProof, MessagePayload,
+};
+use bp_polkadot_core::parachains::ParaHash;
+use bp_runtime::{AccountIdOf, Chain, HashOf, Parachain};
+use codec::Encode;
+use frame_support::weights::Weight;
+use pallet_bridge_messages::{
+ benchmarking::{MessageDeliveryProofParams, MessageProofParams},
messages_generation::{
encode_all_messages, encode_lane_data, prepare_message_delivery_storage_proof,
prepare_messages_storage_proof,
},
+ BridgedChainOf, ThisChainOf,
};
-
-use bp_messages::MessagePayload;
-use bp_polkadot_core::parachains::ParaHash;
-use bp_runtime::{Chain, Parachain, StorageProofSize, UnderlyingChainOf};
-use codec::Encode;
-use frame_support::weights::Weight;
-use pallet_bridge_messages::benchmarking::{MessageDeliveryProofParams, MessageProofParams};
use sp_runtime::traits::{Header, Zero};
use sp_std::prelude::*;
use xcm::latest::prelude::*;
@@ -45,11 +44,7 @@ fn prepare_inbound_message(
params: &MessageProofParams,
successful_dispatch_message_generator: impl Fn(usize) -> MessagePayload,
) -> MessagePayload {
- // we only care about **this** message size when message proof needs to be `Minimal`
- let expected_size = match params.size {
- StorageProofSize::Minimal(size) => size as usize,
- _ => 0,
- };
+ let expected_size = params.proof_params.db_size.unwrap_or(0) as usize;
// if we don't need a correct message, then we may just return some random blob
if !params.is_successful_dispatch_expected {
@@ -75,25 +70,32 @@ fn prepare_inbound_message(
/// This method is intended to be used when benchmarking pallet, linked to the chain that
/// uses GRANDPA finality. For parachains, please use the `prepare_message_proof_from_parachain`
/// function.
-pub fn prepare_message_proof_from_grandpa_chain(
+pub fn prepare_message_proof_from_grandpa_chain(
params: MessageProofParams,
message_generator: impl Fn(usize) -> MessagePayload,
-) -> (FromBridgedChainMessagesProof>>, Weight)
+) -> (FromBridgedChainMessagesProof>>, Weight)
where
- R: pallet_bridge_grandpa::Config>>,
+ R: pallet_bridge_grandpa::Config>
+ + pallet_bridge_messages::Config<
+ MI,
+ BridgedHeaderChain = pallet_bridge_grandpa::Pallet,
+ >,
FI: 'static,
- B: MessageBridge,
+ MI: 'static,
{
// prepare storage proof
- let (state_root, storage_proof) = prepare_messages_storage_proof::(
- params.lane,
- params.message_nonces.clone(),
- params.outbound_lane_data.clone(),
- params.size,
- prepare_inbound_message(¶ms, message_generator),
- encode_all_messages,
- encode_lane_data,
- );
+ let (state_root, storage_proof) =
+ prepare_messages_storage_proof::, ThisChainOf>(
+ params.lane,
+ params.message_nonces.clone(),
+ params.outbound_lane_data.clone(),
+ params.proof_params,
+ |_| prepare_inbound_message(¶ms, &message_generator),
+ encode_all_messages,
+ encode_lane_data,
+ false,
+ false,
+ );
// update runtime storage
let (_, bridged_header_hash) = insert_header_to_grandpa_pallet::(state_root);
@@ -118,30 +120,33 @@ where
/// This method is intended to be used when benchmarking pallet, linked to the chain that
/// uses parachain finality. For GRANDPA chains, please use the
/// `prepare_message_proof_from_grandpa_chain` function.
-pub fn prepare_message_proof_from_parachain(
+pub fn prepare_message_proof_from_parachain(
params: MessageProofParams,
message_generator: impl Fn(usize) -> MessagePayload,
-) -> (FromBridgedChainMessagesProof>>, Weight)
+) -> (FromBridgedChainMessagesProof>>, Weight)
where
- R: pallet_bridge_parachains::Config,
+ R: pallet_bridge_parachains::Config + pallet_bridge_messages::Config,
PI: 'static,
- B: MessageBridge,
- UnderlyingChainOf>: Chain + Parachain,
+ MI: 'static,
+ BridgedChainOf: Chain + Parachain,
{
// prepare storage proof
- let (state_root, storage_proof) = prepare_messages_storage_proof::(
- params.lane,
- params.message_nonces.clone(),
- params.outbound_lane_data.clone(),
- params.size,
- prepare_inbound_message(¶ms, message_generator),
- encode_all_messages,
- encode_lane_data,
- );
+ let (state_root, storage_proof) =
+ prepare_messages_storage_proof::, ThisChainOf>(
+ params.lane,
+ params.message_nonces.clone(),
+ params.outbound_lane_data.clone(),
+ params.proof_params,
+ |_| prepare_inbound_message(¶ms, &message_generator),
+ encode_all_messages,
+ encode_lane_data,
+ false,
+ false,
+ );
// update runtime storage
let (_, bridged_header_hash) =
- insert_header_to_parachains_pallet::>>(state_root);
+ insert_header_to_parachains_pallet::>(state_root);
(
FromBridgedChainMessagesProof {
@@ -160,21 +165,24 @@ where
/// This method is intended to be used when benchmarking pallet, linked to the chain that
/// uses GRANDPA finality. For parachains, please use the
/// `prepare_message_delivery_proof_from_parachain` function.
-pub fn prepare_message_delivery_proof_from_grandpa_chain(
- params: MessageDeliveryProofParams>>,
-) -> FromBridgedChainMessagesDeliveryProof>>
+pub fn prepare_message_delivery_proof_from_grandpa_chain(
+ params: MessageDeliveryProofParams>>,
+) -> FromBridgedChainMessagesDeliveryProof>>
where
- R: pallet_bridge_grandpa::Config>>,
+ R: pallet_bridge_grandpa::Config>
+ + pallet_bridge_messages::Config<
+ MI,
+ BridgedHeaderChain = pallet_bridge_grandpa::Pallet,
+ >,
FI: 'static,
- B: MessageBridge,
+ MI: 'static,
{
// prepare storage proof
let lane = params.lane;
- let (state_root, storage_proof) = prepare_message_delivery_storage_proof::(
- params.lane,
- params.inbound_lane_data,
- params.size,
- );
+ let (state_root, storage_proof) = prepare_message_delivery_storage_proof::<
+ BridgedChainOf,
+ ThisChainOf,
+ >(params.lane, params.inbound_lane_data, params.proof_params);
// update runtime storage
let (_, bridged_header_hash) = insert_header_to_grandpa_pallet::(state_root);
@@ -191,26 +199,25 @@ where
/// This method is intended to be used when benchmarking pallet, linked to the chain that
/// uses parachain finality. For GRANDPA chains, please use the
/// `prepare_message_delivery_proof_from_grandpa_chain` function.
-pub fn prepare_message_delivery_proof_from_parachain(
- params: MessageDeliveryProofParams>>,
-) -> FromBridgedChainMessagesDeliveryProof>>
+pub fn prepare_message_delivery_proof_from_parachain(
+ params: MessageDeliveryProofParams>>,
+) -> FromBridgedChainMessagesDeliveryProof>>
where
- R: pallet_bridge_parachains::Config,
+ R: pallet_bridge_parachains::Config + pallet_bridge_messages::Config,
PI: 'static,
- B: MessageBridge,
- UnderlyingChainOf>: Chain + Parachain,
+ MI: 'static,
+ BridgedChainOf: Chain + Parachain,
{
// prepare storage proof
let lane = params.lane;
- let (state_root, storage_proof) = prepare_message_delivery_storage_proof::(
- params.lane,
- params.inbound_lane_data,
- params.size,
- );
+ let (state_root, storage_proof) = prepare_message_delivery_storage_proof::<
+ BridgedChainOf,
+ ThisChainOf,
+ >(params.lane, params.inbound_lane_data, params.proof_params);
// update runtime storage
let (_, bridged_header_hash) =
- insert_header_to_parachains_pallet::>>(state_root);
+ insert_header_to_parachains_pallet::>(state_root);
FromBridgedChainMessagesDeliveryProof {
bridged_header_hash: bridged_header_hash.into(),
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 46ed4da0d85481fcc7223740084945924f9c710f..0000000000000000000000000000000000000000
--- 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>>;
- /// An XCM message that is sent to the sending chain when the bridge queue becomes not
- /// congested.
- type UncongestedMessage: Get >>;
-
- /// Returns `true` if we want to handle congestion.
- fn supports_congestion_detection() -> bool {
- Self::CongestedMessage::get().is_some() || Self::UncongestedMessage::get().is_some()
- }
-}
-
-/// XCM bridge adapter which connects [`XcmBlobHauler`] with [`pallet_bridge_messages`] and
-/// makes sure that XCM blob is sent to the outbound lane to be relayed.
-///
-/// It needs to be used at the source bridge hub.
-pub struct XcmBlobHaulerAdapter(
- sp_std::marker::PhantomData<(XcmBlobHauler, Lanes)>,
-);
-
-impl<
- H: XcmBlobHauler,
- Lanes: Get>,
- > OnMessagesDelivered for XcmBlobHaulerAdapter
-{
- fn on_messages_delivered(lane: LaneId, enqueued_messages: MessageNonce) {
- if let Some(sender_and_lane) =
- Lanes::get().iter().find(|link| link.0.lane == lane).map(|link| &link.0)
- {
- // notify XCM queue manager about updated lane state
- LocalXcmQueueManager::::on_bridge_messages_delivered(
- sender_and_lane,
- enqueued_messages,
- );
- }
- }
-}
-
-/// Manager of local XCM queues (and indirectly - underlying transport channels) that
-/// controls the queue state.
-///
-/// It needs to be used at the source bridge hub.
-pub struct LocalXcmQueueManager(PhantomData);
-
-/// Maximal number of messages in the outbound bridge queue. Once we reach this limit, we
-/// send a "congestion" XCM message to the sending chain.
-const OUTBOUND_LANE_CONGESTED_THRESHOLD: MessageNonce = 8_192;
-
-/// After we have sent "congestion" XCM message to the sending chain, we wait until number
-/// of messages in the outbound bridge queue drops to this count, before sending `uncongestion`
-/// XCM message.
-const OUTBOUND_LANE_UNCONGESTED_THRESHOLD: MessageNonce = 1_024;
-
-impl LocalXcmQueueManager {
- /// Must be called whenever we push a message to the bridge lane.
- pub fn on_bridge_message_enqueued(
- sender_and_lane: &SenderAndLane,
- enqueued_messages: MessageNonce,
- ) {
- // skip if we dont want to handle congestion
- if !H::supports_congestion_detection() {
- return
- }
-
- // if we have already sent the congestion signal, we don't want to do anything
- if Self::is_congested_signal_sent(sender_and_lane.lane) {
- return
- }
-
- // if the bridge queue is not congested, we don't want to do anything
- let is_congested = enqueued_messages > OUTBOUND_LANE_CONGESTED_THRESHOLD;
- if !is_congested {
- return
- }
-
- log::info!(
- target: crate::LOG_TARGET_BRIDGE_DISPATCH,
- "Sending 'congested' XCM message to {:?} to avoid overloading lane {:?}: there are\
- {} messages queued at the bridge queue",
- sender_and_lane.location,
- sender_and_lane.lane,
- enqueued_messages,
- );
-
- if let Err(e) = Self::send_congested_signal(sender_and_lane) {
- log::info!(
- target: crate::LOG_TARGET_BRIDGE_DISPATCH,
- "Failed to send the 'congested' XCM message to {:?}: {:?}",
- sender_and_lane.location,
- e,
- );
- }
- }
-
- /// Must be called whenever we receive a message delivery confirmation.
- pub fn on_bridge_messages_delivered(
- sender_and_lane: &SenderAndLane,
- enqueued_messages: MessageNonce,
- ) {
- // skip if we don't want to handle congestion
- if !H::supports_congestion_detection() {
- return
- }
-
- // if we have not sent the congestion signal before, we don't want to do anything
- if !Self::is_congested_signal_sent(sender_and_lane.lane) {
- return
- }
-
- // if the bridge queue is still congested, we don't want to do anything
- let is_congested = enqueued_messages > OUTBOUND_LANE_UNCONGESTED_THRESHOLD;
- if is_congested {
- return
- }
-
- log::info!(
- target: crate::LOG_TARGET_BRIDGE_DISPATCH,
- "Sending 'uncongested' XCM message to {:?}. Lane {:?}: there are\
- {} messages queued at the bridge queue",
- sender_and_lane.location,
- sender_and_lane.lane,
- enqueued_messages,
- );
-
- if let Err(e) = Self::send_uncongested_signal(sender_and_lane) {
- log::info!(
- target: crate::LOG_TARGET_BRIDGE_DISPATCH,
- "Failed to send the 'uncongested' XCM message to {:?}: {:?}",
- sender_and_lane.location,
- e,
- );
- }
- }
-
- /// Returns true if we have sent "congested" signal to the `sending_chain_location`.
- fn is_congested_signal_sent(lane: LaneId) -> bool {
- OutboundLanesCongestedSignals::::get(lane)
- }
-
- /// Send congested signal to the `sending_chain_location`.
- fn send_congested_signal(sender_and_lane: &SenderAndLane) -> Result<(), SendError> {
- if let Some(msg) = H::CongestedMessage::get() {
- send_xcm::(sender_and_lane.location.clone(), msg)?;
- OutboundLanesCongestedSignals::::insert(
- sender_and_lane.lane,
- true,
- );
- }
- Ok(())
- }
-
- /// Send `uncongested` signal to the `sending_chain_location`.
- fn send_uncongested_signal(sender_and_lane: &SenderAndLane) -> Result<(), SendError> {
- if let Some(msg) = H::UncongestedMessage::get() {
- send_xcm::(sender_and_lane.location.clone(), msg)?;
- OutboundLanesCongestedSignals::::remove(
- sender_and_lane.lane,
- );
- }
- Ok(())
- }
-}
-
-/// Adapter for the implementation of `GetVersion`, which attempts to find the minimal
-/// configured XCM version between the destination `dest` and the bridge hub location provided as
-/// `Get`.
-pub struct XcmVersionOfDestAndRemoteBridge(
- sp_std::marker::PhantomData<(Version, RemoteBridge)>,
-);
-impl> GetVersion
- for XcmVersionOfDestAndRemoteBridge
-{
- fn get_version_for(dest: &Location) -> Option {
- let dest_version = Version::get_version_for(dest);
- let bridge_hub_version = Version::get_version_for(&RemoteBridge::get());
-
- match (dest_version, bridge_hub_version) {
- (Some(dv), Some(bhv)) => Some(sp_std::cmp::min(dv, bhv)),
- (Some(dv), None) => Some(dv),
- (None, Some(bhv)) => Some(bhv),
- (None, None) => None,
- }
- }
-}
-
-#[cfg(test)]
-mod tests {
- use super::*;
- use crate::mock::*;
-
- use bp_messages::OutboundLaneData;
- use frame_support::parameter_types;
- use pallet_bridge_messages::OutboundLanes;
-
- parameter_types! {
- pub TestSenderAndLane: SenderAndLane = SenderAndLane {
- location: Location::new(1, [Parachain(1000)]),
- lane: TEST_LANE_ID,
- };
- pub TestLanes: sp_std::vec::Vec<(SenderAndLane, (NetworkId, InteriorLocation))> = sp_std::vec![
- (TestSenderAndLane::get(), (NetworkId::ByGenesis([0; 32]), InteriorLocation::Here))
- ];
- pub DummyXcmMessage: Xcm<()> = Xcm::new();
- }
-
- struct DummySendXcm;
-
- impl DummySendXcm {
- fn messages_sent() -> u32 {
- frame_support::storage::unhashed::get(b"DummySendXcm").unwrap_or(0)
- }
- }
-
- impl SendXcm for DummySendXcm {
- type Ticket = ();
-
- fn validate(
- _destination: &mut Option