diff --git a/.github/scripts/check-workspace.py b/.github/scripts/check-workspace.py
index d200122fee9f7035dce8c811e7c24c003d9545a4..1f8f103e4e157a8c1c804a618652741193ca5a00 100644
--- a/.github/scripts/check-workspace.py
+++ b/.github/scripts/check-workspace.py
@@ -18,7 +18,7 @@ def parse_args():
parser.add_argument('workspace_dir', help='The directory to check', metavar='workspace_dir', type=str, nargs=1)
parser.add_argument('--exclude', help='Exclude crate paths from the check', metavar='exclude', type=str, nargs='*', default=[])
-
+
args = parser.parse_args()
return (args.workspace_dir[0], args.exclude)
@@ -26,7 +26,7 @@ def main(root, exclude):
workspace_crates = get_members(root, exclude)
all_crates = get_crates(root, exclude)
print(f'📦 Found {len(all_crates)} crates in total')
-
+
check_duplicates(workspace_crates)
check_missing(workspace_crates, all_crates)
check_links(all_crates)
@@ -48,14 +48,14 @@ def get_members(workspace_dir, exclude):
if not 'members' in root_manifest['workspace']:
return []
-
+
members = []
for member in root_manifest['workspace']['members']:
if member in exclude:
print(f'❌ Excluded member should not appear in the workspace {member}')
sys.exit(1)
members.append(member)
-
+
return members
# List all members of the workspace.
@@ -74,12 +74,12 @@ def get_crates(workspace_dir, exclude_crates) -> dict:
with open(path, "r") as f:
content = f.read()
manifest = toml.loads(content)
-
+
if 'workspace' in manifest:
if root != workspace_dir:
print("⏩ Excluded recursive workspace at %s" % path)
continue
-
+
# Cut off the root path and the trailing /Cargo.toml.
path = path[len(workspace_dir)+1:-11]
name = manifest['package']['name']
@@ -87,7 +87,7 @@ def get_crates(workspace_dir, exclude_crates) -> dict:
print("⏩ Excluded crate %s at %s" % (name, path))
continue
crates[name] = (path, manifest)
-
+
return crates
# Check that there are no duplicate entries in the workspace.
@@ -138,23 +138,23 @@ def check_links(all_crates):
if not 'path' in deps[dep]:
broken.append((name, dep_name, "crate must be linked via `path`"))
return
-
+
def check_crate(deps):
to_checks = ['dependencies', 'dev-dependencies', 'build-dependencies']
for to_check in to_checks:
if to_check in deps:
check_deps(deps[to_check])
-
+
# There could possibly target dependant deps:
if 'target' in manifest:
# Target dependant deps can only have one level of nesting:
for _, target in manifest['target'].items():
check_crate(target)
-
+
check_crate(manifest)
-
+
links.sort()
broken.sort()
diff --git a/.github/scripts/common/lib.sh b/.github/scripts/common/lib.sh
index bd12d9c6e6ff773f8513189a381d725243e53eb5..29dc269ffd23b1f51e1eb2b87a61544de0cbb57f 100755
--- a/.github/scripts/common/lib.sh
+++ b/.github/scripts/common/lib.sh
@@ -237,6 +237,61 @@ fetch_release_artifacts() {
popd > /dev/null
}
+# Fetch the release artifacts like binary and sigantures from S3. Assumes the ENV are set:
+# - RELEASE_ID
+# - GITHUB_TOKEN
+# - REPO in the form paritytech/polkadot
+fetch_release_artifacts_from_s3() {
+ echo "Version : $VERSION"
+ echo "Repo : $REPO"
+ echo "Binary : $BINARY"
+ OUTPUT_DIR=${OUTPUT_DIR:-"./release-artifacts/${BINARY}"}
+ echo "OUTPUT_DIR : $OUTPUT_DIR"
+
+ URL_BASE=$(get_s3_url_base $BINARY)
+ echo "URL_BASE=$URL_BASE"
+
+ URL_BINARY=$URL_BASE/$VERSION/$BINARY
+ URL_SHA=$URL_BASE/$VERSION/$BINARY.sha256
+ URL_ASC=$URL_BASE/$VERSION/$BINARY.asc
+
+ # Fetch artifacts
+ mkdir -p "$OUTPUT_DIR"
+ pushd "$OUTPUT_DIR" > /dev/null
+
+ echo "Fetching artifacts..."
+ for URL in $URL_BINARY $URL_SHA $URL_ASC; do
+ echo "Fetching %s" "$URL"
+ curl --progress-bar -LO "$URL" || echo "Missing $URL"
+ done
+
+ pwd
+ ls -al --color
+ popd > /dev/null
+
+}
+
+# Pass the name of the binary as input, it will
+# return the s3 base url
+function get_s3_url_base() {
+ name=$1
+ case $name in
+ polkadot | polkadot-execute-worker | polkadot-prepare-worker | staking-miner)
+ printf "https://releases.parity.io/polkadot"
+ ;;
+
+ polkadot-parachain)
+ printf "https://releases.parity.io/cumulus"
+ ;;
+
+ *)
+ printf "UNSUPPORTED BINARY $name"
+ exit 1
+ ;;
+ esac
+}
+
+
# Check the checksum for a given binary
function check_sha256() {
echo "Checking SHA256 for $1"
@@ -248,13 +303,11 @@ function check_sha256() {
function import_gpg_keys() {
GPG_KEYSERVER=${GPG_KEYSERVER:-"keyserver.ubuntu.com"}
SEC="9D4B2B6EB8F97156D19669A9FF0812D491B96798"
- WILL="2835EAF92072BC01D188AF2C4A092B93E97CE1E2"
EGOR="E6FC4D4782EB0FA64A4903CCDB7D3555DD3932D3"
- MARA="533C920F40E73A21EEB7E9EBF27AEA7E7594C9CF"
MORGAN="2E92A9D8B15D7891363D1AE8AF9E6C43F7F8C4CF"
echo "Importing GPG keys from $GPG_KEYSERVER in parallel"
- for key in $SEC $WILL $EGOR $MARA $MORGAN; do
+ for key in $SEC $EGOR $MORGAN; do
(
echo "Importing GPG key $key"
gpg --no-tty --quiet --keyserver $GPG_KEYSERVER --recv-keys $key
@@ -344,3 +397,40 @@ function find_runtimes() {
done
echo $JSON
}
+
+# Filter the version matches the particular pattern and return it.
+# input: version (v1.8.0 or v1.8.0-rc1)
+# output: none
+filter_version_from_input() {
+ version=$1
+ regex="(^v[0-9]+\.[0-9]+\.[0-9]+)$|(^v[0-9]+\.[0-9]+\.[0-9]+-rc[0-9]+)$"
+
+ if [[ $version =~ $regex ]]; then
+ if [ -n "${BASH_REMATCH[1]}" ]; then
+ echo "${BASH_REMATCH[1]}"
+ elif [ -n "${BASH_REMATCH[2]}" ]; then
+ echo "${BASH_REMATCH[2]}"
+ fi
+ else
+ echo "Invalid version: $version"
+ exit 1
+ fi
+
+}
+
+# Check if the release_id is valid number
+# input: release_id
+# output: release_id or exit 1
+check_release_id() {
+ input=$1
+
+ release_id=$(echo "$input" | sed 's/[^0-9]//g')
+
+ if [[ $release_id =~ ^[0-9]+$ ]]; then
+ echo "$release_id"
+ else
+ echo "Invalid release_id from input: $input"
+ exit 1
+ fi
+
+}
diff --git a/.github/workflows/check-licenses.yml b/.github/workflows/check-licenses.yml
index e1e92d288ceae235d23fa36c31d592092fe8b0ba..c32b6fcf89e06bb56cefc0517e1dcab1d1ef0f37 100644
--- a/.github/workflows/check-licenses.yml
+++ b/.github/workflows/check-licenses.yml
@@ -42,5 +42,4 @@ jobs:
shopt -s globstar
npx @paritytech/license-scanner scan \
--ensure-licenses ${{ env.LICENSES }} \
- --exclude ./substrate/bin/node-template \
-- ./substrate/**/*.rs
diff --git a/.github/workflows/release-50_publish-docker.yml b/.github/workflows/release-50_publish-docker.yml
index ecbac01cd3a5b2aaed679cfaf2ade0b04900531a..67e93ee96574de1f1e3e29f1bf6d90085865100d 100644
--- a/.github/workflows/release-50_publish-docker.yml
+++ b/.github/workflows/release-50_publish-docker.yml
@@ -36,7 +36,7 @@ on:
-H "Authorization: Bearer ${GITHUB_TOKEN}" https://api.github.com/repos/$OWNER/$REPO/releases | \
jq '.[] | { name: .name, id: .id }'
required: true
- type: string
+ type: number
registry:
description: Container registry
@@ -61,7 +61,6 @@ permissions:
contents: write
env:
- RELEASE_ID: ${{ inputs.release_id }}
ENGINE: docker
REGISTRY: ${{ inputs.registry }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -71,6 +70,7 @@ env:
# EVENT_ACTION: ${{ github.event.action }}
EVENT_NAME: ${{ github.event_name }}
IMAGE_TYPE: ${{ inputs.image_type }}
+ VERSION: ${{ inputs.version }}
jobs:
fetch-artifacts: # this job will be triggered for the polkadot-parachain rc and release or polkadot rc image build
@@ -95,13 +95,16 @@ jobs:
# chmod a+x $BINARY
# ls -al
- - name: Fetch rc artifacts or release artifacts based on release id
+ - name: Fetch rc artifacts or release artifacts from s3 based on version
#this step runs only if the workflow is triggered manually
if: ${{ env.EVENT_NAME == 'workflow_dispatch' }}
run: |
. ./.github/scripts/common/lib.sh
- fetch_release_artifacts
+ VERSION=$(filter_version_from_input "${{ inputs.version }}")
+ echo "VERSION=${VERSION}" >> $GITHUB_ENV
+
+ fetch_release_artifacts_from_s3
- name: Cache the artifacts
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3.3.3
@@ -147,7 +150,10 @@ jobs:
if: ${{ env.IMAGE_TYPE == 'rc' }}
id: fetch_rc_refs
run: |
- release=release-${{ inputs.release_id }} && \
+ . ./.github/scripts/common/lib.sh
+
+ RELEASE_ID=$(check_release_id "${{ inputs.release_id }}")
+ release=release-$RELEASE_ID && \
echo "release=${release}" >> $GITHUB_OUTPUT
commit=$(git rev-parse --short HEAD) && \
diff --git a/.github/workflows/release-99_notif-published.yml b/.github/workflows/release-99_notif-published.yml
index 732db15d9c0c056a9d037785bbce3c87f1bc2620..05c9d6a47f551860c51e318b01b495ca662e902e 100644
--- a/.github/workflows/release-99_notif-published.yml
+++ b/.github/workflows/release-99_notif-published.yml
@@ -16,12 +16,6 @@ jobs:
- name: "RelEng: Polkadot Release Coordination"
room: '!cqAmzdIcbOFwrdrubV:parity.io'
pre-release: true
- - name: 'General: Rust, Polkadot, Substrate'
- room: '!aJymqQYtCjjqImFLSb:parity.io'
- pre-release: false
- - name: 'Team: DevOps'
- room: '!lUslSijLMgNcEKcAiE:parity.io'
- pre-release: true
# External
- name: 'Ledger <> Polkadot Coordination'
@@ -48,7 +42,9 @@ jobs:
access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
server: m.parity.io
message: |
- A (pre)release has been ${{github.event.action}} in **${{github.event.repository.full_name}}:**
+ @room
+
+ A new node release has been ${{github.event.action}} in **${{github.event.repository.full_name}}:**
Release version: [${{github.event.release.tag_name}}](${{github.event.release.html_url}})
-----
diff --git a/.gitlab/pipeline/build.yml b/.gitlab/pipeline/build.yml
index 423587c1fb576ee7599f9db3783a9dfa816b0715..f8de6135572565d9d16465e68aa3f0bace915cc5 100644
--- a/.gitlab/pipeline/build.yml
+++ b/.gitlab/pipeline/build.yml
@@ -337,7 +337,7 @@ build-runtimes-polkavm:
- .common-refs
- .run-immediately
script:
- - SUBSTRATE_RUNTIME_TARGET=riscv cargo check -p minimal-runtime
+ - 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
diff --git a/.gitlab/pipeline/check.yml b/.gitlab/pipeline/check.yml
index 4d71a473372d3f0caaccfd6f791392c0d5c992f3..52da33550508ede16c9577346e6985d869b5e8ae 100644
--- a/.gitlab/pipeline/check.yml
+++ b/.gitlab/pipeline/check.yml
@@ -259,3 +259,19 @@ find-fail-ci-phrase:
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/test.yml b/.gitlab/pipeline/test.yml
index 9f774aab271938138bb78975c48e2de6caf35aa1..d244316000aaf152810c396e37e470694be506cc 100644
--- a/.gitlab/pipeline/test.yml
+++ b/.gitlab/pipeline/test.yml
@@ -25,6 +25,7 @@ test-linux-stable:
# "upgrade_version_checks_should_work" is currently failing
- |
time cargo nextest run \
+ --filter-expr 'not deps(/polkadot-subsystem-bench/)' \
--workspace \
--locked \
--release \
@@ -69,7 +70,7 @@ test-linux-stable-runtime-benchmarks:
# 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
+ - time cargo nextest run --filter-expr 'not deps(/polkadot-subsystem-bench/)' --workspace --features runtime-benchmarks benchmark --locked --cargo-profile testnet
# can be used to run all tests
# test-linux-stable-all:
@@ -493,3 +494,15 @@ test-syscalls:
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
allow_failure: false # this rarely triggers in practice
+
+subsystem-regression-tests:
+ stage: test
+ extends:
+ - .docker-env
+ - .common-refs
+ - .run-immediately
+ script:
+ - cargo bench --profile=testnet -p polkadot-availability-recovery --bench availability-recovery-regression-bench --features subsystem-benchmarks
+ tags:
+ - benchmark
+ allow_failure: true
diff --git a/.gitlab/pipeline/zombienet.yml b/.gitlab/pipeline/zombienet.yml
index 55120e66d0e53c740b16a7ee6276230f42c172ef..8d308714fab3cb44827bb202fce0939f52f730ad 100644
--- a/.gitlab/pipeline/zombienet.yml
+++ b/.gitlab/pipeline/zombienet.yml
@@ -1,7 +1,7 @@
.zombienet-refs:
extends: .build-refs
variables:
- ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.3.91"
+ ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.3.95"
include:
# substrate tests
diff --git a/Cargo.lock b/Cargo.lock
index 991541ee84eec9037fd8517b62c7c2077959d446..b055c79cbbf541ffe5dbad1a62bb30e621514705 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -191,7 +191,7 @@ checksum = "c0391754c09fab4eae3404d19d0d297aa1c670c1775ab51d8a5312afeca23157"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -202,11 +202,11 @@ checksum = "8a98ad1696a2e17f010ae8e43e9f2a1e930ed176a8e3ff77acfeff6dfb07b42c"
dependencies = [
"const-hex",
"dunce",
- "heck",
+ "heck 0.4.1",
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
"syn-solidity",
"tiny-keccak",
]
@@ -309,9 +309,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.75"
+version = "1.0.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
[[package]]
name = "approx"
@@ -347,7 +347,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -744,12 +744,6 @@ dependencies = [
"nodrop",
]
-[[package]]
-name = "arrayvec"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
-
[[package]]
name = "arrayvec"
version = "0.7.4"
@@ -847,6 +841,7 @@ dependencies = [
"pallet-xcm",
"parachains-common",
"parity-scale-codec",
+ "penpal-runtime",
"rococo-runtime",
"rococo-system-emulated-network",
"sp-runtime",
@@ -968,6 +963,7 @@ dependencies = [
"pallet-xcm",
"parachains-common",
"parity-scale-codec",
+ "penpal-runtime",
"polkadot-runtime-common",
"sp-runtime",
"staging-xcm",
@@ -1232,7 +1228,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -1249,7 +1245,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -1334,7 +1330,7 @@ dependencies = [
"ark-std 0.4.0",
"dleq_vrf",
"fflonk",
- "merlin 3.0.0",
+ "merlin",
"rand_chacha 0.3.1",
"rand_core 0.6.4",
"ring 0.1.0",
@@ -1431,7 +1427,7 @@ dependencies = [
"regex",
"rustc-hash",
"shlex",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -1440,9 +1436,7 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f"
dependencies = [
- "bitcoin_hashes",
- "rand",
- "rand_core 0.6.4",
+ "bitcoin_hashes 0.11.0",
"serde",
"unicode-normalization",
]
@@ -1462,12 +1456,28 @@ version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+[[package]]
+name = "bitcoin-internals"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb"
+
[[package]]
name = "bitcoin_hashes"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4"
+[[package]]
+name = "bitcoin_hashes"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b"
+dependencies = [
+ "bitcoin-internals",
+ "hex-conservative",
+]
+
[[package]]
name = "bitflags"
version = "1.3.2"
@@ -1559,18 +1569,6 @@ dependencies = [
"constant_time_eq 0.3.0",
]
-[[package]]
-name = "block-buffer"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
-dependencies = [
- "block-padding",
- "byte-tools",
- "byteorder",
- "generic-array 0.12.4",
-]
-
[[package]]
name = "block-buffer"
version = "0.9.0"
@@ -1589,15 +1587,6 @@ dependencies = [
"generic-array 0.14.7",
]
-[[package]]
-name = "block-padding"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
-dependencies = [
- "byte-tools",
-]
-
[[package]]
name = "blocking"
version = "1.3.1"
@@ -2624,28 +2613,28 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.1"
+version = "4.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
+checksum = "949626d00e063efc93b6dca932419ceb5432f99769911c0b995f7e884c778813"
dependencies = [
"clap_builder",
- "clap_derive 4.5.0",
+ "clap_derive 4.5.3",
]
[[package]]
name = "clap-num"
-version = "1.0.2"
+version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "488557e97528174edaa2ee268b23a809e0c598213a4bbcb4f34575a46fda147e"
+checksum = "0e063d263364859dc54fb064cedb7c122740cd4733644b14b176c097f51e8ab7"
dependencies = [
"num-traits",
]
[[package]]
name = "clap_builder"
-version = "4.5.1"
+version = "4.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
dependencies = [
"anstream",
"anstyle",
@@ -2660,7 +2649,7 @@ version = "4.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
]
[[package]]
@@ -2669,7 +2658,7 @@ version = "3.2.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
dependencies = [
- "heck",
+ "heck 0.4.1",
"proc-macro-error",
"proc-macro2",
"quote",
@@ -2678,14 +2667,14 @@ dependencies = [
[[package]]
name = "clap_derive"
-version = "4.5.0"
+version = "4.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
+checksum = "90239a040c80f5e14809ca132ddc4176ab33d5e17e49691793296e3fcb34d72f"
dependencies = [
- "heck",
+ "heck 0.5.0",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -2854,11 +2843,10 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "colored"
-version = "2.0.4"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
+checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
dependencies = [
- "is-terminal",
"lazy_static",
"windows-sys 0.48.0",
]
@@ -2886,7 +2874,7 @@ dependencies = [
"ark-std 0.4.0",
"fflonk",
"getrandom_or_panic",
- "merlin 3.0.0",
+ "merlin",
"rand_chacha 0.3.1",
]
@@ -3395,7 +3383,7 @@ dependencies = [
"anes",
"cast",
"ciborium",
- "clap 4.5.1",
+ "clap 4.5.3",
"criterion-plot",
"futures",
"is-terminal",
@@ -3526,16 +3514,6 @@ dependencies = [
"subtle 2.5.0",
]
-[[package]]
-name = "crypto-mac"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e"
-dependencies = [
- "generic-array 0.14.7",
- "subtle 2.5.0",
-]
-
[[package]]
name = "ctr"
version = "0.7.0"
@@ -3558,7 +3536,7 @@ dependencies = [
name = "cumulus-client-cli"
version = "0.7.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"parity-scale-codec",
"sc-chain-spec",
"sc-cli",
@@ -3917,7 +3895,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -4321,7 +4299,7 @@ name = "cumulus-test-service"
version = "0.1.0"
dependencies = [
"async-trait",
- "clap 4.5.1",
+ "clap 4.5.3",
"criterion 0.5.1",
"cumulus-client-cli",
"cumulus-client-consensus-common",
@@ -4394,19 +4372,6 @@ dependencies = [
"url",
]
-[[package]]
-name = "curve25519-dalek"
-version = "2.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216"
-dependencies = [
- "byteorder",
- "digest 0.8.1",
- "rand_core 0.5.1",
- "subtle 2.5.0",
- "zeroize",
-]
-
[[package]]
name = "curve25519-dalek"
version = "3.2.0"
@@ -4445,7 +4410,7 @@ checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -4485,7 +4450,7 @@ dependencies = [
"proc-macro2",
"quote",
"scratch",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -4502,7 +4467,7 @@ checksum = "50c49547d73ba8dcfd4ad7325d64c6d5391ff4224d498fc39a6f3f49825a530d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -4710,7 +4675,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -4780,7 +4745,7 @@ dependencies = [
"proc-macro2",
"quote",
"regex",
- "syn 2.0.50",
+ "syn 2.0.53",
"termcolor",
"walkdir",
]
@@ -4797,7 +4762,7 @@ dependencies = [
"proc-macro2",
"quote",
"regex",
- "syn 2.0.50",
+ "syn 2.0.53",
"termcolor",
"toml 0.8.8",
"walkdir",
@@ -4864,6 +4829,7 @@ dependencies = [
"digest 0.10.7",
"elliptic-curve",
"rfc6979",
+ "serdect",
"signature",
"spki",
]
@@ -4930,9 +4896,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
dependencies = [
"base16ct",
"crypto-bigint",
@@ -4943,6 +4909,7 @@ dependencies = [
"pkcs8",
"rand_core 0.6.4",
"sec1",
+ "serdect",
"subtle 2.5.0",
"zeroize",
]
@@ -4966,6 +4933,7 @@ dependencies = [
"parachains-common",
"parity-scale-codec",
"paste",
+ "polkadot-parachain-primitives",
"polkadot-primitives",
"polkadot-runtime-parachains",
"sc-consensus-grandpa",
@@ -4999,7 +4967,7 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116"
dependencies = [
- "heck",
+ "heck 0.4.1",
"proc-macro2",
"quote",
"syn 1.0.109",
@@ -5022,7 +4990,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -5033,7 +5001,7 @@ checksum = "c2ad8cef1d801a4686bfd8919f0b30eac4c8e48968c437a6405ded4fb5272d2b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -5086,9 +5054,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "erased-serde"
-version = "0.3.30"
+version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "837c0466252947ada828b975e12daf82e18bb5444e4df87be6038d4469e2a3d2"
+checksum = "2b73807008a3c7f171cc40312f37d95ef0396e048b5848d775f54b1a4dd4a0d3"
dependencies = [
"serde",
]
@@ -5223,7 +5191,7 @@ dependencies = [
"fs-err",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -5236,12 +5204,6 @@ dependencies = [
"once_cell",
]
-[[package]]
-name = "fake-simd"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
-
[[package]]
name = "fallible-iterator"
version = "0.2.0"
@@ -5351,7 +5313,7 @@ dependencies = [
"ark-poly",
"ark-serialize 0.4.2",
"ark-std 0.4.0",
- "merlin 3.0.0",
+ "merlin",
]
[[package]]
@@ -5550,7 +5512,7 @@ dependencies = [
"Inflector",
"array-bytes 6.1.0",
"chrono",
- "clap 4.5.1",
+ "clap 4.5.3",
"comfy-table",
"frame-benchmarking",
"frame-support",
@@ -5616,7 +5578,7 @@ dependencies = [
"quote",
"scale-info",
"sp-arithmetic",
- "syn 2.0.50",
+ "syn 2.0.53",
"trybuild",
]
@@ -5642,7 +5604,7 @@ dependencies = [
name = "frame-election-solution-type-fuzzer"
version = "2.0.0-alpha.5"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"frame-election-provider-solution-type",
"frame-election-provider-support",
"frame-support",
@@ -5750,6 +5712,7 @@ dependencies = [
"sp-staking",
"sp-state-machine",
"sp-std 14.0.0",
+ "sp-timestamp",
"sp-tracing 16.0.0",
"sp-weights",
"static_assertions",
@@ -5772,7 +5735,7 @@ dependencies = [
"quote",
"regex",
"sp-crypto-hashing",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -5783,7 +5746,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -5792,7 +5755,7 @@ version = "11.0.0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -6025,7 +5988,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -6308,9 +6271,9 @@ checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
[[package]]
name = "handlebars"
-version = "4.3.7"
+version = "5.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83c3372087601b532857d332f5957cbae686da52bb7810bf038c3e3c3cc2fa0d"
+checksum = "ab283476b99e66691dee3f1640fea91487a8d81f50fb5ecc75538f8f8879a1e4"
dependencies = [
"log",
"pest",
@@ -6379,6 +6342,12 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
[[package]]
name = "hermit-abi"
version = "0.1.19"
@@ -6400,6 +6369,12 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+[[package]]
+name = "hex-conservative"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30ed443af458ccb6d81c1e7e661545f94d3176752fb1df2f543b902a1e0f51e2"
+
[[package]]
name = "hex-literal"
version = "0.4.1"
@@ -6425,16 +6400,6 @@ dependencies = [
"digest 0.9.0",
]
-[[package]]
-name = "hmac"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"
-dependencies = [
- "crypto-mac 0.11.0",
- "digest 0.9.0",
-]
-
[[package]]
name = "hmac"
version = "0.12.1"
@@ -6976,7 +6941,7 @@ version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69fc56131589f82e57805f7338b87023db4aafef813555708b159787e34ad6bc"
dependencies = [
- "heck",
+ "heck 0.4.1",
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
@@ -7035,14 +7000,15 @@ dependencies = [
[[package]]
name = "k256"
-version = "0.13.1"
+version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc"
+checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b"
dependencies = [
"cfg-if",
"ecdsa",
"elliptic-curve",
"once_cell",
+ "serdect",
"sha2 0.10.7",
]
@@ -7626,7 +7592,7 @@ version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f"
dependencies = [
- "heck",
+ "heck 0.4.1",
"quote",
"syn 1.0.109",
]
@@ -7879,9 +7845,9 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.20"
+version = "0.4.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
dependencies = [
"serde",
"value-bag",
@@ -7967,7 +7933,7 @@ dependencies = [
"macro_magic_core",
"macro_magic_macros",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -7981,7 +7947,7 @@ dependencies = [
"macro_magic_core_macros",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -7992,7 +7958,7 @@ checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -8003,7 +7969,7 @@ checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3"
dependencies = [
"macro_magic_core",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -8121,18 +8087,6 @@ dependencies = [
"hash-db",
]
-[[package]]
-name = "merlin"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42"
-dependencies = [
- "byteorder",
- "keccak",
- "rand_core 0.5.1",
- "zeroize",
-]
-
[[package]]
name = "merlin"
version = "3.0.0"
@@ -8169,15 +8123,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
-name = "minimal-node"
-version = "4.0.0-dev"
+name = "minimal-template-node"
+version = "0.0.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"frame",
"futures",
"futures-timer",
"jsonrpsee",
- "minimal-runtime",
+ "minimal-template-runtime",
"sc-basic-authorship",
"sc-cli",
"sc-client-api",
@@ -8204,12 +8158,12 @@ dependencies = [
]
[[package]]
-name = "minimal-runtime"
-version = "0.1.0"
+name = "minimal-template-runtime"
+version = "0.0.0"
dependencies = [
"frame",
- "frame-support",
"pallet-balances",
+ "pallet-minimal-template",
"pallet-sudo",
"pallet-timestamp",
"pallet-transaction-payment",
@@ -8231,9 +8185,9 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.8"
+version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
dependencies = [
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
@@ -8641,7 +8595,7 @@ name = "node-bench"
version = "0.9.0-dev"
dependencies = [
"array-bytes 6.1.0",
- "clap 4.5.1",
+ "clap 4.5.3",
"derive_more",
"fs_extra",
"futures",
@@ -8718,60 +8672,16 @@ dependencies = [
name = "node-runtime-generate-bags"
version = "3.0.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"generate-bags",
"kitchensink-runtime",
]
-[[package]]
-name = "node-template"
-version = "4.0.0-dev"
-dependencies = [
- "clap 4.5.1",
- "frame-benchmarking",
- "frame-benchmarking-cli",
- "frame-system",
- "futures",
- "jsonrpsee",
- "node-template-runtime",
- "pallet-transaction-payment",
- "pallet-transaction-payment-rpc",
- "sc-basic-authorship",
- "sc-cli",
- "sc-client-api",
- "sc-consensus",
- "sc-consensus-aura",
- "sc-consensus-grandpa",
- "sc-executor",
- "sc-network",
- "sc-offchain",
- "sc-rpc-api",
- "sc-service",
- "sc-telemetry",
- "sc-transaction-pool",
- "sc-transaction-pool-api",
- "serde_json",
- "sp-api",
- "sp-block-builder",
- "sp-blockchain",
- "sp-consensus-aura",
- "sp-consensus-grandpa",
- "sp-core",
- "sp-inherents",
- "sp-io",
- "sp-keyring",
- "sp-runtime",
- "sp-timestamp",
- "substrate-build-script-utils",
- "substrate-frame-rpc-system",
- "try-runtime-cli",
-]
-
[[package]]
name = "node-template-release"
version = "3.0.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"flate2",
"fs_extra",
"glob",
@@ -8781,45 +8691,6 @@ dependencies = [
"toml_edit 0.19.15",
]
-[[package]]
-name = "node-template-runtime"
-version = "4.0.0-dev"
-dependencies = [
- "frame-benchmarking",
- "frame-executive",
- "frame-support",
- "frame-system",
- "frame-system-benchmarking",
- "frame-system-rpc-runtime-api",
- "frame-try-runtime",
- "pallet-aura",
- "pallet-balances",
- "pallet-grandpa",
- "pallet-sudo",
- "pallet-template",
- "pallet-timestamp",
- "pallet-transaction-payment",
- "pallet-transaction-payment-rpc-runtime-api",
- "parity-scale-codec",
- "scale-info",
- "serde_json",
- "sp-api",
- "sp-block-builder",
- "sp-consensus-aura",
- "sp-consensus-grandpa",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-offchain",
- "sp-runtime",
- "sp-session",
- "sp-std 14.0.0",
- "sp-storage 19.0.0",
- "sp-transaction-pool",
- "sp-version",
- "substrate-wasm-builder",
-]
-
[[package]]
name = "node-testing"
version = "3.0.0-dev"
@@ -9708,12 +9579,11 @@ dependencies = [
"anyhow",
"frame-system",
"parity-wasm",
- "polkavm-linker 0.5.0",
+ "polkavm-linker",
"sp-runtime",
"tempfile",
"toml 0.8.8",
"twox-hash",
- "wat",
]
[[package]]
@@ -9760,7 +9630,7 @@ version = "18.0.0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -9770,7 +9640,7 @@ dependencies = [
"bitflags 1.3.2",
"parity-scale-codec",
"paste",
- "polkavm-derive 0.5.0",
+ "polkavm-derive",
"scale-info",
]
@@ -10298,6 +10168,15 @@ dependencies = [
"sp-version",
]
+[[package]]
+name = "pallet-minimal-template"
+version = "0.0.0"
+dependencies = [
+ "frame",
+ "parity-scale-codec",
+ "scale-info",
+]
+
[[package]]
name = "pallet-mixnet"
version = "0.4.0"
@@ -10599,14 +10478,13 @@ dependencies = [
[[package]]
name = "pallet-parachain-template"
-version = "0.7.0"
+version = "0.0.0"
dependencies = [
"frame-benchmarking",
"frame-support",
"frame-system",
"parity-scale-codec",
"scale-info",
- "serde",
"sp-core",
"sp-io",
"sp-runtime",
@@ -10980,7 +10858,7 @@ dependencies = [
"proc-macro2",
"quote",
"sp-runtime",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -11061,7 +10939,7 @@ dependencies = [
[[package]]
name = "pallet-template"
-version = "4.0.0-dev"
+version = "0.0.0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -11071,7 +10949,6 @@ dependencies = [
"sp-core",
"sp-io",
"sp-runtime",
- "sp-std 14.0.0",
]
[[package]]
@@ -11384,9 +11261,9 @@ dependencies = [
[[package]]
name = "parachain-template-node"
-version = "0.1.0"
+version = "0.0.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"color-print",
"cumulus-client-cli",
"cumulus-client-collator",
@@ -11442,7 +11319,7 @@ dependencies = [
[[package]]
name = "parachain-template-runtime"
-version = "0.7.0"
+version = "0.0.0"
dependencies = [
"cumulus-pallet-aura-ext",
"cumulus-pallet-parachain-system",
@@ -11559,6 +11436,19 @@ dependencies = [
"substrate-wasm-builder",
]
+[[package]]
+name = "parity-bip39"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9"
+dependencies = [
+ "bitcoin_hashes 0.13.0",
+ "rand",
+ "rand_core 0.6.4",
+ "serde",
+ "unicode-normalization",
+]
+
[[package]]
name = "parity-bytes"
version = "0.1.2"
@@ -11714,19 +11604,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156"
[[package]]
-name = "paste"
-version = "1.0.14"
+name = "password-hash"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166"
+dependencies = [
+ "base64ct",
+ "rand_core 0.6.4",
+ "subtle 2.5.0",
+]
[[package]]
-name = "pbkdf2"
-version = "0.8.0"
+name = "paste"
+version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa"
-dependencies = [
- "crypto-mac 0.11.0",
-]
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
[[package]]
name = "pbkdf2"
@@ -11735,6 +11627,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2"
dependencies = [
"digest 0.10.7",
+ "password-hash",
]
[[package]]
@@ -11761,9 +11654,8 @@ dependencies = [
"frame-support",
"parachains-common",
"penpal-runtime",
- "rococo-emulated-chain",
"sp-core",
- "westend-emulated-chain",
+ "staging-xcm",
]
[[package]]
@@ -11825,7 +11717,6 @@ dependencies = [
"staging-xcm-builder",
"staging-xcm-executor",
"substrate-wasm-builder",
- "testnet-parachains-constants",
]
[[package]]
@@ -12062,7 +11953,7 @@ dependencies = [
"pest_meta",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -12103,7 +11994,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -12269,6 +12160,7 @@ dependencies = [
"polkadot-node-subsystem-util",
"polkadot-primitives",
"polkadot-primitives-test-helpers",
+ "polkadot-subsystem-bench",
"rand",
"sc-network",
"schnellru",
@@ -12300,6 +12192,7 @@ dependencies = [
"polkadot-node-subsystem-util",
"polkadot-primitives",
"polkadot-primitives-test-helpers",
+ "polkadot-subsystem-bench",
"rand",
"sc-network",
"schnellru",
@@ -12316,7 +12209,7 @@ name = "polkadot-cli"
version = "7.0.0"
dependencies = [
"cfg-if",
- "clap 4.5.1",
+ "clap 4.5.3",
"frame-benchmarking-cli",
"futures",
"log",
@@ -12503,6 +12396,7 @@ dependencies = [
"polkadot-node-subsystem-util",
"polkadot-primitives",
"polkadot-primitives-test-helpers",
+ "rstest",
"sp-core",
"sp-keyring",
"sp-maybe-compressed-blob",
@@ -12525,7 +12419,7 @@ dependencies = [
"kvdb",
"kvdb-memorydb",
"log",
- "merlin 3.0.0",
+ "merlin",
"parity-scale-codec",
"parking_lot 0.12.1",
"polkadot-node-jaeger",
@@ -12754,6 +12648,7 @@ dependencies = [
"polkadot-node-subsystem-util",
"polkadot-primitives",
"polkadot-primitives-test-helpers",
+ "rstest",
"sc-keystore",
"sp-application-crypto",
"sp-core",
@@ -12777,6 +12672,8 @@ dependencies = [
"polkadot-node-subsystem-util",
"polkadot-primitives",
"polkadot-primitives-test-helpers",
+ "rstest",
+ "schnellru",
"sp-application-crypto",
"sp-keystore",
"thiserror",
@@ -13163,7 +13060,7 @@ dependencies = [
"async-trait",
"bridge-hub-rococo-runtime",
"bridge-hub-westend-runtime",
- "clap 4.5.1",
+ "clap 4.5.3",
"collectives-westend-runtime",
"color-print",
"contracts-rococo-runtime",
@@ -13476,6 +13373,7 @@ dependencies = [
"frame-support",
"frame-system",
"kitchensink-runtime",
+ "pallet-assets",
"pallet-aura",
"pallet-authorship",
"pallet-balances",
@@ -13698,7 +13596,7 @@ dependencies = [
"async-trait",
"bincode",
"bitvec",
- "clap 4.5.1",
+ "clap 4.5.3",
"clap-num",
"color-eyre",
"colored",
@@ -13740,7 +13638,7 @@ dependencies = [
"sc-keystore",
"sc-network",
"sc-service",
- "schnorrkel 0.9.1",
+ "schnorrkel 0.11.4",
"serde",
"serde_yaml",
"sha1",
@@ -13792,7 +13690,7 @@ version = "1.0.0"
dependencies = [
"assert_matches",
"async-trait",
- "clap 4.5.1",
+ "clap 4.5.3",
"color-eyre",
"futures",
"futures-timer",
@@ -13939,106 +13837,94 @@ dependencies = [
name = "polkadot-voter-bags"
version = "7.0.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"generate-bags",
"sp-io",
"westend-runtime",
]
[[package]]
-name = "polkavm-common"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88b4e215c80fe876147f3d58158d5dfeae7dabdd6047e175af77095b78d0035c"
-
-[[package]]
-name = "polkavm-common"
-version = "0.8.0"
+name = "polkavm"
+version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92c99f7eee94e7be43ba37eef65ad0ee8cbaf89b7c00001c3f6d2be985cb1817"
+checksum = "8a3693e5efdb2bf74e449cd25fd777a28bd7ed87e41f5d5da75eb31b4de48b94"
+dependencies = [
+ "libc",
+ "log",
+ "polkavm-assembler",
+ "polkavm-common",
+ "polkavm-linux-raw",
+]
[[package]]
-name = "polkavm-derive"
-version = "0.5.0"
+name = "polkavm-assembler"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6380dbe1fb03ecc74ad55d841cfc75480222d153ba69ddcb00977866cbdabdb8"
+checksum = "1fa96d6d868243acc12de813dd48e756cbadcc8e13964c70d272753266deadc1"
dependencies = [
- "polkavm-derive-impl 0.5.0",
- "syn 2.0.50",
+ "log",
]
[[package]]
-name = "polkavm-derive"
-version = "0.8.0"
+name = "polkavm-common"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79fa916f7962348bd1bb1a65a83401675e6fc86c51a0fdbcf92a3108e58e6125"
+checksum = "1d9428a5cfcc85c5d7b9fc4b6a18c4b802d0173d768182a51cc7751640f08b92"
dependencies = [
- "polkavm-derive-impl-macro",
+ "log",
]
[[package]]
-name = "polkavm-derive-impl"
-version = "0.5.0"
+name = "polkavm-derive"
+version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc8211b3365bbafb2fb32057d68b0e1ca55d079f5cf6f9da9b98079b94b3987d"
+checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606"
dependencies = [
- "polkavm-common 0.5.0",
- "proc-macro2",
- "quote",
- "syn 2.0.50",
+ "polkavm-derive-impl-macro",
]
[[package]]
name = "polkavm-derive-impl"
-version = "0.8.0"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c10b2654a8a10a83c260bfb93e97b262cf0017494ab94a65d389e0eda6de6c9c"
+checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c"
dependencies = [
- "polkavm-common 0.8.0",
+ "polkavm-common",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
name = "polkavm-derive-impl-macro"
-version = "0.8.0"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15e85319a0d5129dc9f021c62607e0804f5fb777a05cdda44d750ac0732def66"
+checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429"
dependencies = [
- "polkavm-derive-impl 0.8.0",
- "syn 2.0.50",
+ "polkavm-derive-impl",
+ "syn 2.0.53",
]
[[package]]
name = "polkavm-linker"
-version = "0.5.0"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5a668bb33c7f0b5f4ca91adb1e1e71cf4930fef5e6909f46c2180d65cce37d0"
+checksum = "9c7be503e60cf56c0eb785f90aaba4b583b36bff00e93997d93fef97f9553c39"
dependencies = [
"gimli 0.28.0",
"hashbrown 0.14.3",
"log",
"object 0.32.2",
- "polkavm-common 0.5.0",
+ "polkavm-common",
"regalloc2 0.9.3",
"rustc-demangle",
]
[[package]]
-name = "polkavm-linker"
-version = "0.8.2"
+name = "polkavm-linux-raw"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdec1451cb18261d5d01de82acc15305e417fb59588cdcb3127d3dcc9672b925"
-dependencies = [
- "gimli 0.28.0",
- "hashbrown 0.14.3",
- "log",
- "object 0.32.2",
- "polkavm-common 0.8.0",
- "regalloc2 0.9.3",
- "rustc-demangle",
-]
+checksum = "26e85d3456948e650dff0cfc85603915847faf893ed1e66b020bb82ef4557120"
[[package]]
name = "polling"
@@ -14212,7 +14098,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62"
dependencies = [
"proc-macro2",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -14303,7 +14189,7 @@ checksum = "9b698b0b09d40e9b7c1a47b132d66a8b54bcd20583d9b6d06e4535e383b4405c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -14375,7 +14261,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -14437,7 +14323,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270"
dependencies = [
"bytes",
- "heck",
+ "heck 0.4.1",
"itertools 0.10.5",
"lazy_static",
"log",
@@ -14475,7 +14361,7 @@ dependencies = [
"itertools 0.11.0",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -14818,7 +14704,7 @@ checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -14906,7 +14792,7 @@ checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc"
name = "remote-ext-tests-bags-list"
version = "1.0.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"frame-system",
"log",
"pallet-bags-list-remote-tests",
@@ -14989,7 +14875,7 @@ dependencies = [
"blake2 0.10.6",
"common",
"fflonk",
- "merlin 3.0.0",
+ "merlin",
]
[[package]]
@@ -15309,7 +15195,7 @@ dependencies = [
"regex",
"relative-path",
"rustc_version 0.4.0",
- "syn 2.0.50",
+ "syn 2.0.53",
"unicode-ident",
]
@@ -15763,7 +15649,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -15771,9 +15657,8 @@ name = "sc-cli"
version = "0.36.0"
dependencies = [
"array-bytes 6.1.0",
- "bip39",
"chrono",
- "clap 4.5.1",
+ "clap 4.5.3",
"fdlimit",
"futures",
"futures-timer",
@@ -15781,6 +15666,7 @@ dependencies = [
"libp2p-identity",
"log",
"names",
+ "parity-bip39",
"parity-scale-codec",
"rand",
"regex",
@@ -16252,6 +16138,7 @@ dependencies = [
"paste",
"regex",
"sc-executor-common",
+ "sc-executor-polkavm",
"sc-executor-wasmtime",
"sc-runtime-test",
"sc-tracing",
@@ -16281,6 +16168,7 @@ dependencies = [
name = "sc-executor-common"
version = "0.29.0"
dependencies = [
+ "polkavm",
"sc-allocator",
"sp-maybe-compressed-blob",
"sp-wasm-interface 20.0.0",
@@ -16288,6 +16176,16 @@ dependencies = [
"wasm-instrument",
]
+[[package]]
+name = "sc-executor-polkavm"
+version = "0.29.0"
+dependencies = [
+ "log",
+ "polkavm",
+ "sc-executor-common",
+ "sp-wasm-interface 20.0.0",
+]
+
[[package]]
name = "sc-executor-wasmtime"
version = "0.29.0"
@@ -16735,7 +16633,6 @@ dependencies = [
"hyper",
"jsonrpsee",
"log",
- "pin-project",
"serde_json",
"substrate-prometheus-endpoint",
"tokio",
@@ -16932,7 +16829,7 @@ dependencies = [
name = "sc-storage-monitor"
version = "0.16.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"fs4",
"log",
"sp-core",
@@ -17034,7 +16931,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -17172,22 +17069,6 @@ dependencies = [
"hashbrown 0.13.2",
]
-[[package]]
-name = "schnorrkel"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862"
-dependencies = [
- "arrayref",
- "arrayvec 0.5.2",
- "curve25519-dalek 2.1.3",
- "merlin 2.0.1",
- "rand_core 0.5.1",
- "sha2 0.8.2",
- "subtle 2.5.0",
- "zeroize",
-]
-
[[package]]
name = "schnorrkel"
version = "0.10.2"
@@ -17197,7 +17078,7 @@ dependencies = [
"arrayref",
"arrayvec 0.7.4",
"curve25519-dalek-ng",
- "merlin 3.0.0",
+ "merlin",
"rand_core 0.6.4",
"sha2 0.9.9",
"subtle-ng",
@@ -17215,7 +17096,7 @@ dependencies = [
"arrayvec 0.7.4",
"curve25519-dalek 4.1.2",
"getrandom_or_panic",
- "merlin 3.0.0",
+ "merlin",
"rand_core 0.6.4",
"serde_bytes",
"sha2 0.10.7",
@@ -17261,6 +17142,7 @@ dependencies = [
"der",
"generic-array 0.14.7",
"pkcs8",
+ "serdect",
"subtle 2.5.0",
"zeroize",
]
@@ -17451,7 +17333,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -17508,9 +17390,9 @@ dependencies = [
[[package]]
name = "serde_yaml"
-version = "0.9.32"
+version = "0.9.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fd075d994154d4a774f95b51fb96bdc2832b0ea48425c92546073816cda1f2f"
+checksum = "a0623d197252096520c6f2a5e1171ee436e5af99a5d7caa2891e55e61950e6d9"
dependencies = [
"indexmap 2.2.3",
"itoa",
@@ -17519,6 +17401,16 @@ dependencies = [
"unsafe-libyaml",
]
+[[package]]
+name = "serdect"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177"
+dependencies = [
+ "base16ct",
+ "serde",
+]
+
[[package]]
name = "serial_test"
version = "2.0.0"
@@ -17541,7 +17433,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -17579,18 +17471,6 @@ dependencies = [
"digest 0.10.7",
]
-[[package]]
-name = "sha2"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
-dependencies = [
- "block-buffer 0.7.3",
- "digest 0.8.1",
- "fake-simd",
- "opaque-debug 0.2.3",
-]
-
[[package]]
name = "sha2"
version = "0.9.9"
@@ -17825,13 +17705,13 @@ dependencies = [
"hmac 0.12.1",
"itertools 0.11.0",
"libsecp256k1",
- "merlin 3.0.0",
+ "merlin",
"no-std-net",
"nom",
"num-bigint",
"num-rational",
"num-traits",
- "pbkdf2 0.12.2",
+ "pbkdf2",
"pin-project",
"poly1305 0.8.0",
"rand",
@@ -18347,6 +18227,87 @@ dependencies = [
"sha-1 0.9.8",
]
+[[package]]
+name = "solochain-template-node"
+version = "0.0.0"
+dependencies = [
+ "clap 4.5.3",
+ "frame-benchmarking-cli",
+ "frame-system",
+ "futures",
+ "jsonrpsee",
+ "pallet-transaction-payment",
+ "pallet-transaction-payment-rpc",
+ "sc-basic-authorship",
+ "sc-cli",
+ "sc-client-api",
+ "sc-consensus",
+ "sc-consensus-aura",
+ "sc-consensus-grandpa",
+ "sc-executor",
+ "sc-network",
+ "sc-offchain",
+ "sc-rpc-api",
+ "sc-service",
+ "sc-telemetry",
+ "sc-transaction-pool",
+ "sc-transaction-pool-api",
+ "serde_json",
+ "solochain-template-runtime",
+ "sp-api",
+ "sp-block-builder",
+ "sp-blockchain",
+ "sp-consensus-aura",
+ "sp-consensus-grandpa",
+ "sp-core",
+ "sp-inherents",
+ "sp-io",
+ "sp-keyring",
+ "sp-runtime",
+ "sp-timestamp",
+ "substrate-build-script-utils",
+ "substrate-frame-rpc-system",
+ "try-runtime-cli",
+]
+
+[[package]]
+name = "solochain-template-runtime"
+version = "0.0.0"
+dependencies = [
+ "frame-benchmarking",
+ "frame-executive",
+ "frame-support",
+ "frame-system",
+ "frame-system-benchmarking",
+ "frame-system-rpc-runtime-api",
+ "frame-try-runtime",
+ "pallet-aura",
+ "pallet-balances",
+ "pallet-grandpa",
+ "pallet-sudo",
+ "pallet-template",
+ "pallet-timestamp",
+ "pallet-transaction-payment",
+ "pallet-transaction-payment-rpc-runtime-api",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-api",
+ "sp-block-builder",
+ "sp-consensus-aura",
+ "sp-consensus-grandpa",
+ "sp-core",
+ "sp-genesis-builder",
+ "sp-inherents",
+ "sp-offchain",
+ "sp-runtime",
+ "sp-session",
+ "sp-std 14.0.0",
+ "sp-storage 19.0.0",
+ "sp-transaction-pool",
+ "sp-version",
+ "substrate-wasm-builder",
+]
+
[[package]]
name = "sp-api"
version = "26.0.0"
@@ -18380,7 +18341,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -18442,7 +18403,6 @@ dependencies = [
"scale-info",
"serde",
"sp-crypto-hashing",
- "sp-std 14.0.0",
"static_assertions",
]
@@ -18484,7 +18444,6 @@ dependencies = [
"sp-api",
"sp-application-crypto",
"sp-runtime",
- "sp-std 14.0.0",
]
[[package]]
@@ -18494,7 +18453,6 @@ dependencies = [
"sp-api",
"sp-inherents",
"sp-runtime",
- "sp-std 14.0.0",
]
[[package]]
@@ -18541,7 +18499,6 @@ dependencies = [
"sp-consensus-slots",
"sp-inherents",
"sp-runtime",
- "sp-std 14.0.0",
"sp-timestamp",
]
@@ -18559,7 +18516,6 @@ dependencies = [
"sp-core",
"sp-inherents",
"sp-runtime",
- "sp-std 14.0.0",
"sp-timestamp",
]
@@ -18580,7 +18536,6 @@ dependencies = [
"sp-keystore",
"sp-mmr-primitives",
"sp-runtime",
- "sp-std 14.0.0",
"strum 0.24.1",
"w3f-bls",
]
@@ -18599,7 +18554,6 @@ dependencies = [
"sp-core",
"sp-keystore",
"sp-runtime",
- "sp-std 14.0.0",
]
[[package]]
@@ -18610,7 +18564,6 @@ dependencies = [
"sp-api",
"sp-core",
"sp-runtime",
- "sp-std 14.0.0",
]
[[package]]
@@ -18625,7 +18578,6 @@ dependencies = [
"sp-consensus-slots",
"sp-core",
"sp-runtime",
- "sp-std 14.0.0",
]
[[package]]
@@ -18635,7 +18587,6 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-std 14.0.0",
"sp-timestamp",
]
@@ -18645,7 +18596,6 @@ version = "28.0.0"
dependencies = [
"array-bytes 6.1.0",
"bandersnatch_vrfs",
- "bip39",
"bitflags 1.3.2",
"blake2 0.10.6",
"bounded-collections",
@@ -18658,10 +18608,12 @@ dependencies = [
"hash256-std-hasher",
"impl-serde",
"itertools 0.10.5",
+ "k256",
"lazy_static",
"libsecp256k1",
"log",
- "merlin 3.0.0",
+ "merlin",
+ "parity-bip39",
"parity-scale-codec",
"parking_lot 0.12.1",
"paste",
@@ -18750,7 +18702,6 @@ dependencies = [
"ark-ed-on-bls12-381-bandersnatch-ext",
"ark-scale 0.0.12",
"sp-runtime-interface 24.0.0",
- "sp-std 14.0.0",
]
[[package]]
@@ -18773,7 +18724,7 @@ version = "0.0.0"
dependencies = [
"quote",
"sp-crypto-hashing",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -18791,7 +18742,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf5
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -18800,7 +18751,7 @@ version = "14.0.0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -18820,7 +18771,6 @@ version = "0.25.0"
dependencies = [
"environmental",
"parity-scale-codec",
- "sp-std 14.0.0",
"sp-storage 19.0.0",
]
@@ -18831,7 +18781,6 @@ dependencies = [
"serde_json",
"sp-api",
"sp-runtime",
- "sp-std 14.0.0",
]
[[package]]
@@ -18844,7 +18793,6 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-runtime",
- "sp-std 14.0.0",
"thiserror",
]
@@ -18857,6 +18805,7 @@ dependencies = [
"libsecp256k1",
"log",
"parity-scale-codec",
+ "polkavm-derive",
"rustversion",
"secp256k1",
"sp-core",
@@ -18908,7 +18857,6 @@ dependencies = [
"frame-metadata",
"parity-scale-codec",
"scale-info",
- "sp-std 14.0.0",
]
[[package]]
@@ -18919,7 +18867,6 @@ dependencies = [
"scale-info",
"sp-api",
"sp-application-crypto",
- "sp-std 14.0.0",
]
[[package]]
@@ -18936,7 +18883,6 @@ dependencies = [
"sp-core",
"sp-debug-derive 14.0.0",
"sp-runtime",
- "sp-std 14.0.0",
"thiserror",
]
@@ -18951,7 +18897,6 @@ dependencies = [
"sp-arithmetic",
"sp-core",
"sp-runtime",
- "sp-std 14.0.0",
"substrate-test-utils",
]
@@ -18959,7 +18904,7 @@ dependencies = [
name = "sp-npos-elections-fuzzer"
version = "2.0.0-alpha.5"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"honggfuzz",
"rand",
"sp-npos-elections",
@@ -19048,7 +18993,7 @@ dependencies = [
"bytes",
"impl-trait-for-tuples",
"parity-scale-codec",
- "polkavm-derive 0.8.0",
+ "polkavm-derive",
"primitive-types",
"rustversion",
"sp-core",
@@ -19074,7 +19019,7 @@ dependencies = [
"proc-macro-crate 1.3.1",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -19086,7 +19031,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -19138,7 +19083,6 @@ dependencies = [
"sp-keystore",
"sp-runtime",
"sp-staking",
- "sp-std 14.0.0",
]
[[package]]
@@ -19151,7 +19095,6 @@ dependencies = [
"serde",
"sp-core",
"sp-runtime",
- "sp-std 14.0.0",
]
[[package]]
@@ -19171,7 +19114,6 @@ dependencies = [
"sp-externalities 0.25.0",
"sp-panic-handler",
"sp-runtime",
- "sp-std 14.0.0",
"sp-trie",
"thiserror",
"tracing",
@@ -19197,7 +19139,6 @@ dependencies = [
"sp-externalities 0.25.0",
"sp-runtime",
"sp-runtime-interface 24.0.0",
- "sp-std 14.0.0",
"thiserror",
"x25519-dalek 2.0.0",
]
@@ -19233,7 +19174,6 @@ dependencies = [
"ref-cast",
"serde",
"sp-debug-derive 14.0.0",
- "sp-std 14.0.0",
]
[[package]]
@@ -19246,7 +19186,6 @@ dependencies = [
"sp-application-crypto",
"sp-core",
"sp-runtime",
- "sp-std 14.0.0",
]
[[package]]
@@ -19257,7 +19196,6 @@ dependencies = [
"parity-scale-codec",
"sp-inherents",
"sp-runtime",
- "sp-std 14.0.0",
"thiserror",
]
@@ -19278,7 +19216,6 @@ name = "sp-tracing"
version = "16.0.0"
dependencies = [
"parity-scale-codec",
- "sp-std 14.0.0",
"tracing",
"tracing-core",
"tracing-subscriber 0.2.25",
@@ -19302,7 +19239,6 @@ dependencies = [
"sp-core",
"sp-inherents",
"sp-runtime",
- "sp-std 14.0.0",
"sp-trie",
]
@@ -19325,7 +19261,6 @@ dependencies = [
"sp-core",
"sp-externalities 0.25.0",
"sp-runtime",
- "sp-std 14.0.0",
"thiserror",
"tracing",
"trie-bench",
@@ -19358,7 +19293,7 @@ dependencies = [
"proc-macro2",
"quote",
"sp-version",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -19382,7 +19317,6 @@ dependencies = [
"impl-trait-for-tuples",
"log",
"parity-scale-codec",
- "sp-std 14.0.0",
"wasmtime",
]
@@ -19398,7 +19332,6 @@ dependencies = [
"smallvec",
"sp-arithmetic",
"sp-debug-derive 14.0.0",
- "sp-std 14.0.0",
]
[[package]]
@@ -19482,7 +19415,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
name = "staging-chain-spec-builder"
version = "2.0.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"log",
"sc-chain-spec",
"serde_json",
@@ -19495,7 +19428,7 @@ version = "3.0.0-dev"
dependencies = [
"array-bytes 6.1.0",
"assert_cmd",
- "clap 4.5.1",
+ "clap 4.5.3",
"clap_complete",
"criterion 0.4.0",
"frame-benchmarking",
@@ -19605,7 +19538,7 @@ dependencies = [
name = "staging-node-inspect"
version = "0.12.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"parity-scale-codec",
"sc-cli",
"sc-client-api",
@@ -19786,7 +19719,7 @@ version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
dependencies = [
- "heck",
+ "heck 0.4.1",
"proc-macro2",
"quote",
"rustversion",
@@ -19799,31 +19732,31 @@ version = "0.25.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
dependencies = [
- "heck",
+ "heck 0.4.1",
"proc-macro2",
"quote",
"rustversion",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
name = "subkey"
version = "9.0.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"sc-cli",
]
[[package]]
name = "substrate-bip39"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e620c7098893ba667438b47169c00aacdd9e7c10e042250ce2b60b087ec97328"
+version = "0.4.7"
dependencies = [
- "hmac 0.11.0",
- "pbkdf2 0.8.0",
- "schnorrkel 0.9.1",
- "sha2 0.9.9",
+ "bip39",
+ "hmac 0.12.1",
+ "pbkdf2",
+ "rustc-hex",
+ "schnorrkel 0.11.4",
+ "sha2 0.10.7",
"zeroize",
]
@@ -19852,7 +19785,7 @@ dependencies = [
name = "substrate-frame-cli"
version = "32.0.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"frame-support",
"frame-system",
"sc-cli",
@@ -20009,7 +19942,6 @@ dependencies = [
"sp-runtime",
"sp-session",
"sp-state-machine",
- "sp-std 14.0.0",
"sp-tracing 16.0.0",
"sp-transaction-pool",
"sp-trie",
@@ -20070,7 +20002,7 @@ dependencies = [
"console",
"filetime",
"parity-wasm",
- "polkavm-linker 0.8.2",
+ "polkavm-linker",
"sp-maybe-compressed-blob",
"strum 0.24.1",
"tempfile",
@@ -20201,9 +20133,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.50"
+version = "2.0.53"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb"
+checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032"
dependencies = [
"proc-macro2",
"quote",
@@ -20219,7 +20151,7 @@ dependencies = [
"paste",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -20333,7 +20265,7 @@ dependencies = [
name = "test-parachain-adder-collator"
version = "1.0.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"futures",
"futures-timer",
"log",
@@ -20381,7 +20313,7 @@ dependencies = [
name = "test-parachain-undying-collator"
version = "1.0.0"
dependencies = [
- "clap 4.5.1",
+ "clap 4.5.3",
"futures",
"futures-timer",
"log",
@@ -20484,7 +20416,7 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -20645,7 +20577,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -20852,7 +20784,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -20894,7 +20826,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
@@ -21076,7 +21008,7 @@ version = "0.38.0"
dependencies = [
"assert_cmd",
"async-trait",
- "clap 4.5.1",
+ "clap 4.5.3",
"frame-remote-externalities",
"frame-try-runtime",
"hex",
@@ -21249,9 +21181,9 @@ dependencies = [
[[package]]
name = "unsafe-libyaml"
-version = "0.2.10"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
+checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
[[package]]
name = "unsigned-varint"
@@ -21314,9 +21246,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
name = "value-bag"
-version = "1.4.1"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d92ccd67fb88503048c01b59152a04effd0782d035a83a6d256ce6085f08f4a3"
+checksum = "8fec26a25bd6fca441cdd0f769fd7f891bae119f996de31f86a5eddccef54c1d"
dependencies = [
"value-bag-serde1",
"value-bag-sval2",
@@ -21324,9 +21256,9 @@ dependencies = [
[[package]]
name = "value-bag-serde1"
-version = "1.4.1"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0b9f3feef403a50d4d67e9741a6d8fc688bcbb4e4f31bd4aab72cc690284394"
+checksum = "ead5b693d906686203f19a49e88c477fb8c15798b68cf72f60b4b5521b4ad891"
dependencies = [
"erased-serde",
"serde",
@@ -21335,9 +21267,9 @@ dependencies = [
[[package]]
name = "value-bag-sval2"
-version = "1.4.1"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30b24f4146b6f3361e91cbf527d1fb35e9376c3c0cef72ca5ec5af6d640fad7d"
+checksum = "3b9d0f4a816370c3a0d7d82d603b62198af17675b12fe5e91de6b47ceb505882"
dependencies = [
"sval",
"sval_buffer",
@@ -21459,7 +21391,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
"wasm-bindgen-shared",
]
@@ -21493,7 +21425,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -22510,7 +22442,7 @@ dependencies = [
"proc-macro2",
"quote",
"staging-xcm",
- "syn 2.0.50",
+ "syn 2.0.53",
"trybuild",
]
@@ -22632,14 +22564,14 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
dependencies = [
"zeroize_derive",
]
@@ -22652,7 +22584,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.50",
+ "syn 2.0.53",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
index 48aa25f5c5a98ba951ffcb7525c1b0abb13b5611..01d6ef8e87bdaf4dcf0e4f73dfde59df76f500c4 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -3,6 +3,7 @@ authors = ["Parity Technologies "]
edition = "2021"
repository = "https://github.com/paritytech/polkadot-sdk.git"
license = "GPL-3.0-only"
+homepage = "https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/index.html"
[workspace]
resolver = "2"
@@ -74,9 +75,6 @@ members = [
"cumulus/pallets/solo-to-para",
"cumulus/pallets/xcm",
"cumulus/pallets/xcmp-queue",
- "cumulus/parachain-template/node",
- "cumulus/parachain-template/pallets/template",
- "cumulus/parachain-template/runtime",
"cumulus/parachains/common",
"cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-rococo",
"cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-westend",
@@ -219,11 +217,6 @@ members = [
"polkadot/xcm/xcm-simulator",
"polkadot/xcm/xcm-simulator/example",
"polkadot/xcm/xcm-simulator/fuzzer",
- "substrate/bin/minimal/node",
- "substrate/bin/minimal/runtime",
- "substrate/bin/node-template/node",
- "substrate/bin/node-template/pallets/template",
- "substrate/bin/node-template/runtime",
"substrate/bin/node/bench",
"substrate/bin/node/cli",
"substrate/bin/node/inspect",
@@ -256,6 +249,7 @@ members = [
"substrate/client/db",
"substrate/client/executor",
"substrate/client/executor/common",
+ "substrate/client/executor/polkavm",
"substrate/client/executor/runtime-test",
"substrate/client/executor/wasmtime",
"substrate/client/informant",
@@ -503,7 +497,20 @@ members = [
"substrate/utils/frame/rpc/system",
"substrate/utils/frame/try-runtime/cli",
"substrate/utils/prometheus",
+ "substrate/utils/substrate-bip39",
"substrate/utils/wasm-builder",
+
+ "templates/minimal/node",
+ "templates/minimal/pallets/template",
+ "templates/minimal/runtime",
+
+ "templates/solochain/node",
+ "templates/solochain/pallets/template",
+ "templates/solochain/runtime",
+
+ "templates/parachain/node",
+ "templates/parachain/pallets/template",
+ "templates/parachain/runtime",
]
default-members = ["polkadot", "substrate/bin/node/cli"]
@@ -537,16 +544,17 @@ extra-unused-type-parameters = { level = "allow", priority = 2 } # stylistic
default_constructed_unit_structs = { level = "allow", priority = 2 } # stylistic
[workspace.dependencies]
-polkavm-linker = "0.8.2"
-polkavm-derive = "0.8.0"
-log = { version = "0.4.20", default-features = false }
+polkavm = "0.9.3"
+polkavm-linker = "0.9.2"
+polkavm-derive = "0.9.1"
+log = { version = "0.4.21", default-features = false }
quote = { version = "1.0.33" }
serde = { version = "1.0.197", 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_yaml = { version = "0.9" }
-syn = { version = "2.0.50" }
+syn = { version = "2.0.53" }
thiserror = { version = "1.0.48" }
[profile.release]
diff --git a/bridges/bin/runtime-common/src/mock.rs b/bridges/bin/runtime-common/src/mock.rs
index 8877a4fd95ce33150824b78674f38860616cf820..deee4524e8586d45c01f08126e84b9c619cfeba2 100644
--- a/bridges/bin/runtime-common/src/mock.rs
+++ b/bridges/bin/runtime-common/src/mock.rs
@@ -141,7 +141,7 @@ parameter_types! {
pub const ReserveId: [u8; 8] = *b"brdgrlrs";
}
-#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for TestRuntime {
type Hash = ThisChainHash;
type Hashing = ThisChainHasher;
@@ -158,12 +158,13 @@ impl pallet_utility::Config for TestRuntime {
type WeightInfo = ();
}
-#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)]
+#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)]
impl pallet_balances::Config for TestRuntime {
type ReserveIdentifier = [u8; 8];
type AccountStore = System;
}
+#[derive_impl(pallet_transaction_payment::config_preludes::TestDefaultConfig)]
impl pallet_transaction_payment::Config for TestRuntime {
type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter;
type OperationalFeeMultiplier = ConstU8<5>;
diff --git a/bridges/modules/grandpa/README.md b/bridges/modules/grandpa/README.md
index 43ee5c316d1b76ec8fc94b0c3819b1340a6ce75c..992bd2cc47228249310c56747416b07be6e1e287 100644
--- a/bridges/modules/grandpa/README.md
+++ b/bridges/modules/grandpa/README.md
@@ -27,7 +27,7 @@ for provided header.
There are two main things in GRANDPA that help building light clients:
- there's no need to import all headers of the bridged chain. Light client may import finalized headers or just
- some of finalized headders that it consider useful. While the validators set stays the same, the client may
+ some of finalized headers that it consider useful. While the validators set stays the same, the client may
import any header that is finalized by this set;
- when validators set changes, the GRANDPA gadget adds next set to the header. So light client doesn't need to
diff --git a/bridges/modules/grandpa/src/mock.rs b/bridges/modules/grandpa/src/mock.rs
index e41e89341b312eb252bddce6e918e8367a5ce27f..4318d663a2e17fe80199830d443f5b6a85fae441 100644
--- a/bridges/modules/grandpa/src/mock.rs
+++ b/bridges/modules/grandpa/src/mock.rs
@@ -42,7 +42,7 @@ construct_runtime! {
}
}
-#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for TestRuntime {
type Block = Block;
}
diff --git a/bridges/modules/messages/src/mock.rs b/bridges/modules/messages/src/mock.rs
index af92120539854347111d0562e284dc59e6e251d9..ec63f15b94b5205d744b1379bd6697a4ae43534a 100644
--- a/bridges/modules/messages/src/mock.rs
+++ b/bridges/modules/messages/src/mock.rs
@@ -77,14 +77,14 @@ frame_support::construct_runtime! {
pub type DbWeight = RocksDbWeight;
-#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for TestRuntime {
type Block = Block;
type AccountData = pallet_balances::AccountData;
type DbWeight = DbWeight;
}
-#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)]
+#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)]
impl pallet_balances::Config for TestRuntime {
type ReserveIdentifier = [u8; 8];
type AccountStore = System;
diff --git a/bridges/modules/parachains/src/mock.rs b/bridges/modules/parachains/src/mock.rs
index 143f11d986371c4907f79fc4faf55143d3679034..3af3fd3e76398eaefdb7a9380344371ec44d27d7 100644
--- a/bridges/modules/parachains/src/mock.rs
+++ b/bridges/modules/parachains/src/mock.rs
@@ -161,7 +161,7 @@ construct_runtime! {
}
}
-#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for TestRuntime {
type Block = Block;
}
diff --git a/bridges/modules/relayers/src/mock.rs b/bridges/modules/relayers/src/mock.rs
index 667b10e5c125ed74bad2aa7796756f372578c2ce..3124787896c3e1ee20014fc21b87ccbc19e6a2c2 100644
--- a/bridges/modules/relayers/src/mock.rs
+++ b/bridges/modules/relayers/src/mock.rs
@@ -59,14 +59,14 @@ parameter_types! {
pub const Lease: BlockNumber = 8;
}
-#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for TestRuntime {
type Block = Block;
type AccountData = pallet_balances::AccountData;
type DbWeight = DbWeight;
}
-#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)]
+#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)]
impl pallet_balances::Config for TestRuntime {
type ReserveIdentifier = [u8; 8];
type AccountStore = System;
diff --git a/bridges/modules/xcm-bridge-hub-router/src/mock.rs b/bridges/modules/xcm-bridge-hub-router/src/mock.rs
index 6dbfba5f6fdc1f521fb2fdf000ffb778740435e6..54e10966d51b23e7be5010b39cb9cb7d6a3b0118 100644
--- a/bridges/modules/xcm-bridge-hub-router/src/mock.rs
+++ b/bridges/modules/xcm-bridge-hub-router/src/mock.rs
@@ -64,7 +64,7 @@ parameter_types! {
pub UnknownXcmVersionLocation: Location = Location::new(2, [GlobalConsensus(BridgedNetworkId::get()), Parachain(9999)]);
}
-#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for TestRuntime {
type Block = Block;
}
diff --git a/bridges/modules/xcm-bridge-hub/src/mock.rs b/bridges/modules/xcm-bridge-hub/src/mock.rs
index e40e1f9fb65157feffebeaa53e16c7def2ad22e0..4c09bce56d73eea717ad5149084e2ae337e48e87 100644
--- a/bridges/modules/xcm-bridge-hub/src/mock.rs
+++ b/bridges/modules/xcm-bridge-hub/src/mock.rs
@@ -64,7 +64,7 @@ parameter_types! {
pub const ExistentialDeposit: Balance = 1;
}
-#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for TestRuntime {
type AccountId = AccountId;
type AccountData = pallet_balances::AccountData;
@@ -72,7 +72,7 @@ impl frame_system::Config for TestRuntime {
type Lookup = IdentityLookup;
}
-#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)]
+#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)]
impl pallet_balances::Config for TestRuntime {
type AccountStore = System;
}
diff --git a/bridges/primitives/test-utils/src/lib.rs b/bridges/primitives/test-utils/src/lib.rs
index f23ddd1a10d3681900b024999aef279ea6fcb91d..1d80890779bf8310b393d585749e96f9577196a1 100644
--- a/bridges/primitives/test-utils/src/lib.rs
+++ b/bridges/primitives/test-utils/src/lib.rs
@@ -129,7 +129,7 @@ pub fn make_justification_for_header(
votes_ancestries.push(child.clone());
}
- // The header we need to use when pre-commiting is the one at the highest height
+ // The header we need to use when pre-committing is the one at the highest height
// on our chain.
let precommit_candidate = chain.last().map(|h| (h.hash(), *h.number())).unwrap();
unsigned_precommits.push(precommit_candidate);
diff --git a/bridges/snowbridge/pallets/ethereum-client/src/mock.rs b/bridges/snowbridge/pallets/ethereum-client/src/mock.rs
index 3ce34eee191ac48fa95789e03d88e54ff017a2d7..799b14f4773e421a37b75d226d7829ce8bb7dcf6 100644
--- a/bridges/snowbridge/pallets/ethereum-client/src/mock.rs
+++ b/bridges/snowbridge/pallets/ethereum-client/src/mock.rs
@@ -95,7 +95,7 @@ frame_support::construct_runtime!(
}
);
-#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for Test {
type Block = Block;
}
diff --git a/bridges/snowbridge/pallets/inbound-queue/src/mock.rs b/bridges/snowbridge/pallets/inbound-queue/src/mock.rs
index 749fb0367f332d743b01ad9d56238106ced36e72..086b27cb8280a5357b56e50065124c0d20f0e5a7 100644
--- a/bridges/snowbridge/pallets/inbound-queue/src/mock.rs
+++ b/bridges/snowbridge/pallets/inbound-queue/src/mock.rs
@@ -47,7 +47,7 @@ parameter_types! {
type Balance = u128;
-#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for Test {
type BaseCallFilter = Everything;
type RuntimeOrigin = RuntimeOrigin;
diff --git a/bridges/snowbridge/pallets/outbound-queue/src/mock.rs b/bridges/snowbridge/pallets/outbound-queue/src/mock.rs
index 6e78fb4467210e3cb5e1eb581b377cbbfeac74ad..850b13dcf310e0b5660f5d80685787761380bd2f 100644
--- a/bridges/snowbridge/pallets/outbound-queue/src/mock.rs
+++ b/bridges/snowbridge/pallets/outbound-queue/src/mock.rs
@@ -37,7 +37,7 @@ parameter_types! {
pub const BlockHashCount: u64 = 250;
}
-#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for Test {
type BaseCallFilter = Everything;
type RuntimeOrigin = RuntimeOrigin;
diff --git a/bridges/snowbridge/pallets/system/src/mock.rs b/bridges/snowbridge/pallets/system/src/mock.rs
index de2970dd550ba75fe42de08dc4d297cd5cccdf1f..a711eab5d3d4ea5068af634fedbbc173f8186395 100644
--- a/bridges/snowbridge/pallets/system/src/mock.rs
+++ b/bridges/snowbridge/pallets/system/src/mock.rs
@@ -95,7 +95,7 @@ frame_support::construct_runtime!(
}
);
-#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for Test {
type BaseCallFilter = frame_support::traits::Everything;
type RuntimeOrigin = RuntimeOrigin;
diff --git a/bridges/snowbridge/parachain/pallets/ethereum-beacon-client/src/mock.rs b/bridges/snowbridge/parachain/pallets/ethereum-beacon-client/src/mock.rs
index 77b5c1aa631db89a986837f258ee7dea45a580d0..d2cca373e92bd1a70f2ee68a7913214967b2dec0 100644
--- a/bridges/snowbridge/parachain/pallets/ethereum-beacon-client/src/mock.rs
+++ b/bridges/snowbridge/parachain/pallets/ethereum-beacon-client/src/mock.rs
@@ -34,7 +34,7 @@ pub mod minimal {
pub const SS58Prefix: u8 = 42;
}
- #[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+ #[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for Test {
type BaseCallFilter = frame_support::traits::Everything;
type RuntimeOrigin = RuntimeOrigin;
@@ -195,7 +195,7 @@ pub mod mainnet {
pub const SS58Prefix: u8 = 42;
}
- #[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
+ #[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for Test {
type BaseCallFilter = frame_support::traits::Everything;
type RuntimeOrigin = RuntimeOrigin;
diff --git a/bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh b/bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh
index 479ab833abfc38dd978c7b7d3abdd4c1fe37ad64..66c9ddc037b8efb005d2239b174eb5710dddaf53 100755
--- a/bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh
+++ b/bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh
@@ -24,12 +24,6 @@ source "$FRAMEWORK_PATH/utils/bridges.sh"
# &MultiLocation { parents: 2, interior: X1(GlobalConsensus(Rococo)) }).unwrap()
# ).to_ss58check_with_version(42_u16.into())
# );
-# println!("GLOBAL_CONSENSUS_ROCOCO_ASSET_HUB_ROCOCO_1000_SOVEREIGN_ACCOUNT=\"{}\"",
-# frame_support::sp_runtime::AccountId32::new(
-# GlobalConsensusParachainConvertsFor::::convert_location(
-# &MultiLocation { parents: 2, interior: X2(GlobalConsensus(Rococo), Parachain(1000)) }).unwrap()
-# ).to_ss58check_with_version(42_u16.into())
-# );
# println!("ASSET_HUB_WESTEND_SOVEREIGN_ACCOUNT_AT_BRIDGE_HUB_WESTEND=\"{}\"",
# frame_support::sp_runtime::AccountId32::new(
# SiblingParachainConvertsVia::::convert_location(
@@ -44,12 +38,6 @@ source "$FRAMEWORK_PATH/utils/bridges.sh"
# &MultiLocation { parents: 2, interior: X1(GlobalConsensus(Westend)) }).unwrap()
# ).to_ss58check_with_version(42_u16.into())
# );
-# println!("GLOBAL_CONSENSUS_WESTEND_ASSET_HUB_WESTEND_1000_SOVEREIGN_ACCOUNT=\"{}\"",
-# frame_support::sp_runtime::AccountId32::new(
-# GlobalConsensusParachainConvertsFor::::convert_location(
-# &MultiLocation { parents: 2, interior: X2(GlobalConsensus(Westend), Parachain(1000)) }).unwrap()
-# ).to_ss58check_with_version(42_u16.into())
-# );
# println!("ASSET_HUB_ROCOCO_SOVEREIGN_ACCOUNT_AT_BRIDGE_HUB_ROCOCO=\"{}\"",
# frame_support::sp_runtime::AccountId32::new(
# SiblingParachainConvertsVia::::convert_location(
@@ -58,10 +46,8 @@ source "$FRAMEWORK_PATH/utils/bridges.sh"
# );
# }
GLOBAL_CONSENSUS_ROCOCO_SOVEREIGN_ACCOUNT="5GxRGwT8bU1JeBPTUXc7LEjZMxNrK8MyL2NJnkWFQJTQ4sii"
-GLOBAL_CONSENSUS_ROCOCO_ASSET_HUB_ROCOCO_1000_SOVEREIGN_ACCOUNT="5CfNu7eH3SJvqqPt3aJh38T8dcFvhGzEohp9tsd41ANhXDnQ"
ASSET_HUB_WESTEND_SOVEREIGN_ACCOUNT_AT_BRIDGE_HUB_WESTEND="5Eg2fntNprdN3FgH4sfEaaZhYtddZQSQUqvYJ1f2mLtinVhV"
GLOBAL_CONSENSUS_WESTEND_SOVEREIGN_ACCOUNT="5He2Qdztyxxa4GoagY6q1jaiLMmKy1gXS7PdZkhfj8ZG9hk5"
-GLOBAL_CONSENSUS_WESTEND_ASSET_HUB_WESTEND_1000_SOVEREIGN_ACCOUNT="5GUD9X494SnhfBTNReHwhV1599McpyVrAqFY6WnTfVQVYNUM"
ASSET_HUB_ROCOCO_SOVEREIGN_ACCOUNT_AT_BRIDGE_HUB_ROCOCO="5Eg2fntNprdN3FgH4sfEaaZhYtddZQSQUqvYJ1f2mLtinVhV"
# Expected sovereign accounts for rewards on BridgeHubs.
@@ -201,12 +187,6 @@ case "$1" in
"$GLOBAL_CONSENSUS_WESTEND_SOVEREIGN_ACCOUNT" \
10000000000 \
true
- # drip SA which holds reserves
- transfer_balance \
- "ws://127.0.0.1:9910" \
- "//Alice" \
- "$GLOBAL_CONSENSUS_WESTEND_ASSET_HUB_WESTEND_1000_SOVEREIGN_ACCOUNT" \
- $((1000000000000 + 50000000000 * 20))
# HRMP
open_hrmp_channels \
"ws://127.0.0.1:9942" \
@@ -266,12 +246,6 @@ case "$1" in
"$GLOBAL_CONSENSUS_ROCOCO_SOVEREIGN_ACCOUNT" \
10000000000 \
true
- # drip SA which holds reserves
- transfer_balance \
- "ws://127.0.0.1:9010" \
- "//Alice" \
- "$GLOBAL_CONSENSUS_ROCOCO_ASSET_HUB_ROCOCO_1000_SOVEREIGN_ACCOUNT" \
- $((1000000000000000 + 50000000000 * 20))
# HRMP
open_hrmp_channels \
"ws://127.0.0.1:9945" \
diff --git a/bridges/testing/tests/0001-asset-transfer/roc-reaches-westend.zndsl b/bridges/testing/tests/0001-asset-transfer/roc-reaches-westend.zndsl
index a58520ccea65b50dd0db1f67a72f6f8a4c5cdb38..cdb7d28e940cf1ac90562e761cdbad00e95e1748 100644
--- a/bridges/testing/tests/0001-asset-transfer/roc-reaches-westend.zndsl
+++ b/bridges/testing/tests/0001-asset-transfer/roc-reaches-westend.zndsl
@@ -6,7 +6,7 @@ Creds: config
asset-hub-westend-collator1: run {{ENV_PATH}}/helper.sh with "reserve-transfer-assets-from-asset-hub-rococo-local 5000000000000" within 120 seconds
# check that //Alice received at least 4.8 ROC on Westend AH
-asset-hub-westend-collator1: js-script {{FRAMEWORK_PATH}}/js-helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,4800000000000,Rococo" within 300 seconds
+asset-hub-westend-collator1: js-script {{FRAMEWORK_PATH}}/js-helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,4800000000000,Rococo" within 600 seconds
# check that the relayer //Charlie is rewarded by Westend AH
bridge-hub-westend-collator1: js-script {{FRAMEWORK_PATH}}/js-helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x6268726F,ThisChain,0" within 30 seconds
diff --git a/bridges/testing/tests/0001-asset-transfer/wnd-reaches-rococo.zndsl b/bridges/testing/tests/0001-asset-transfer/wnd-reaches-rococo.zndsl
index fedb78cc2103555a1d15c446dd2f08fca94643e1..dbc03864e2b6e5e10636532ad965860b381fa8f2 100644
--- a/bridges/testing/tests/0001-asset-transfer/wnd-reaches-rococo.zndsl
+++ b/bridges/testing/tests/0001-asset-transfer/wnd-reaches-rococo.zndsl
@@ -6,7 +6,7 @@ Creds: config
asset-hub-rococo-collator1: run {{ENV_PATH}}/helper.sh with "reserve-transfer-assets-from-asset-hub-westend-local 5000000000000" within 120 seconds
# check that //Alice received at least 4.8 WND on Rococo AH
-asset-hub-rococo-collator1: js-script {{FRAMEWORK_PATH}}/js-helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,4800000000000,Westend" within 300 seconds
+asset-hub-rococo-collator1: js-script {{FRAMEWORK_PATH}}/js-helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,4800000000000,Westend" within 600 seconds
# check that the relayer //Charlie is rewarded by Rococo AH
bridge-hub-rococo-collator1: js-script {{FRAMEWORK_PATH}}/js-helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x62687764,ThisChain,0" within 30 seconds
diff --git a/bridges/testing/tests/0001-asset-transfer/wroc-reaches-rococo.zndsl b/bridges/testing/tests/0001-asset-transfer/wroc-reaches-rococo.zndsl
index 68b888b6858e86b8fe846b887bc101e221b2f21d..9967732cabe15e020060eb0a53fd8ce1440180e5 100644
--- a/bridges/testing/tests/0001-asset-transfer/wroc-reaches-rococo.zndsl
+++ b/bridges/testing/tests/0001-asset-transfer/wroc-reaches-rococo.zndsl
@@ -7,4 +7,4 @@ asset-hub-rococo-collator1: run {{ENV_PATH}}/helper.sh with "withdraw-reserve-as
# check that //Alice received at least 2.8 wROC on Rococo AH
# (we wait until //Alice account increases here - there are no other transactions that may increase it)
-asset-hub-rococo-collator1: js-script {{FRAMEWORK_PATH}}/js-helpers/native-assets-balance-increased.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,2800000000000" within 300 seconds
+asset-hub-rococo-collator1: js-script {{FRAMEWORK_PATH}}/js-helpers/native-assets-balance-increased.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,2800000000000" within 600 seconds
diff --git a/bridges/testing/tests/0001-asset-transfer/wwnd-reaches-westend.zndsl b/bridges/testing/tests/0001-asset-transfer/wwnd-reaches-westend.zndsl
index 1a8a161819542e281094aed0681d52167aaea8e6..2037b0baf3c0aac2a0e1a8f297c6baa155ac680f 100644
--- a/bridges/testing/tests/0001-asset-transfer/wwnd-reaches-westend.zndsl
+++ b/bridges/testing/tests/0001-asset-transfer/wwnd-reaches-westend.zndsl
@@ -7,4 +7,4 @@ asset-hub-westend-collator1: run {{ENV_PATH}}/helper.sh with "withdraw-reserve-a
# check that //Alice received at least 2.8 wWND on Westend AH
# (we wait until //Alice account increases here - there are no other transactions that may increase it)
-asset-hub-westend-collator1: js-script {{FRAMEWORK_PATH}}/js-helpers/native-assets-balance-increased.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,2800000000000" within 300 seconds
+asset-hub-westend-collator1: js-script {{FRAMEWORK_PATH}}/js-helpers/native-assets-balance-increased.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,2800000000000" within 600 seconds
diff --git a/cumulus/client/cli/Cargo.toml b/cumulus/client/cli/Cargo.toml
index eaf0d5d5d7f78e578644bf35f83d9543ad9af4bd..0b2edb593c405bef266fa7e389a996fe3a2fcec1 100644
--- a/cumulus/client/cli/Cargo.toml
+++ b/cumulus/client/cli/Cargo.toml
@@ -10,7 +10,7 @@ license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
workspace = true
[dependencies]
-clap = { version = "4.5.1", features = ["derive"] }
+clap = { version = "4.5.3", features = ["derive"] }
codec = { package = "parity-scale-codec", version = "3.0.0" }
url = "2.4.0"
diff --git a/cumulus/client/network/src/tests.rs b/cumulus/client/network/src/tests.rs
index d986635f961c914c9ec6fa970b20170f9f8b9cbc..3f5757d5eac13cd751a89e77545a937b3223c9a0 100644
--- a/cumulus/client/network/src/tests.rs
+++ b/cumulus/client/network/src/tests.rs
@@ -144,7 +144,7 @@ impl RelayChainInterface for DummyRelayChainInterface {
persisted_validation_data_hash: PHash::random(),
pov_hash: PHash::random(),
erasure_root: PHash::random(),
- signature: sp_core::sr25519::Signature([0u8; 64]).into(),
+ signature: sp_core::sr25519::Signature::default().into(),
validation_code_hash: ValidationCodeHash::from(PHash::random()),
},
commitments: CandidateCommitments {
@@ -325,7 +325,7 @@ async fn make_gossip_message_and_header(
persisted_validation_data_hash: PHash::random(),
pov_hash: PHash::random(),
erasure_root: PHash::random(),
- signature: sp_core::sr25519::Signature([0u8; 64]).into(),
+ signature: sp_core::sr25519::Signature::default().into(),
para_head: polkadot_parachain_primitives::primitives::HeadData(header.encode()).hash(),
validation_code_hash: ValidationCodeHash::from(PHash::random()),
},
@@ -516,7 +516,7 @@ async fn check_statement_seconded() {
persisted_validation_data_hash: PHash::random(),
pov_hash: PHash::random(),
erasure_root: PHash::random(),
- signature: sp_core::sr25519::Signature([0u8; 64]).into(),
+ signature: sp_core::sr25519::Signature::default().into(),
validation_code_hash: ValidationCodeHash::from(PHash::random()),
},
},
diff --git a/cumulus/client/parachain-inherent/src/lib.rs b/cumulus/client/parachain-inherent/src/lib.rs
index 57353638e197acf255b73080c6802e94647c2090..051eb6764c8ce97a8305a07bdddb8f06f61fe4bc 100644
--- a/cumulus/client/parachain-inherent/src/lib.rs
+++ b/cumulus/client/parachain-inherent/src/lib.rs
@@ -159,7 +159,7 @@ impl ParachainInherentDataProvider {
target: LOG_TARGET,
relay_parent = ?relay_parent,
error = ?e,
- "An error occured during requesting the downward messages.",
+ "An error occurred during requesting the downward messages.",
);
})
.ok()?;
@@ -171,7 +171,7 @@ impl ParachainInherentDataProvider {
target: LOG_TARGET,
relay_parent = ?relay_parent,
error = ?e,
- "An error occured during requesting the inbound HRMP messages.",
+ "An error occurred during requesting the inbound HRMP messages.",
);
})
.ok()?;
diff --git a/cumulus/client/relay-chain-minimal-node/src/blockchain_rpc_client.rs b/cumulus/client/relay-chain-minimal-node/src/blockchain_rpc_client.rs
index ab56b62c4ca59b3058e9724032e2e09264a45640..8d8a2920b4efaa70a9b59ba42ccd26a2e4cb64d5 100644
--- a/cumulus/client/relay-chain-minimal-node/src/blockchain_rpc_client.rs
+++ b/cumulus/client/relay-chain-minimal-node/src/blockchain_rpc_client.rs
@@ -14,7 +14,10 @@
// You should have received a copy of the GNU General Public License
// along with Cumulus. If not, see .
-use std::pin::Pin;
+use std::{
+ collections::{BTreeMap, VecDeque},
+ pin::Pin,
+};
use cumulus_relay_chain_interface::{RelayChainError, RelayChainResult};
use cumulus_relay_chain_rpc_interface::RelayChainRpcClient;
@@ -25,6 +28,7 @@ use polkadot_primitives::{
async_backing::{AsyncBackingParams, BackingState},
slashing,
vstaging::{ApprovalVotingParams, NodeFeatures},
+ CoreIndex,
};
use sc_authority_discovery::{AuthorityDiscovery, Error as AuthorityDiscoveryError};
use sc_client_api::AuxStore;
@@ -442,6 +446,13 @@ impl RuntimeApiSubsystemClient for BlockChainRpcClient {
async fn node_features(&self, at: Hash) -> Result {
Ok(self.rpc_client.parachain_host_node_features(at).await?)
}
+
+ async fn claim_queue(
+ &self,
+ at: Hash,
+ ) -> Result>, ApiError> {
+ Ok(self.rpc_client.parachain_host_claim_queue(at).await?)
+ }
}
#[async_trait::async_trait]
diff --git a/cumulus/client/relay-chain-rpc-interface/src/rpc_client.rs b/cumulus/client/relay-chain-rpc-interface/src/rpc_client.rs
index 6578210a259c956b1c817f579f66e84258a8ab3e..8cf5ccf0c707e5f8e3529462041f75a17ea6c117 100644
--- a/cumulus/client/relay-chain-rpc-interface/src/rpc_client.rs
+++ b/cumulus/client/relay-chain-rpc-interface/src/rpc_client.rs
@@ -24,6 +24,7 @@ use jsonrpsee::{
};
use serde::de::DeserializeOwned;
use serde_json::Value as JsonValue;
+use std::collections::VecDeque;
use tokio::sync::mpsc::Sender as TokioSender;
use parity_scale_codec::{Decode, Encode};
@@ -34,10 +35,10 @@ use cumulus_primitives_core::{
slashing,
vstaging::{ApprovalVotingParams, NodeFeatures},
BlockNumber, CandidateCommitments, CandidateEvent, CandidateHash,
- CommittedCandidateReceipt, CoreState, DisputeState, ExecutorParams, GroupRotationInfo,
- Hash as RelayHash, Header as RelayHeader, InboundHrmpMessage, OccupiedCoreAssumption,
- PvfCheckStatement, ScrapedOnChainVotes, SessionIndex, SessionInfo, ValidationCode,
- ValidationCodeHash, ValidatorId, ValidatorIndex, ValidatorSignature,
+ CommittedCandidateReceipt, CoreIndex, CoreState, DisputeState, ExecutorParams,
+ GroupRotationInfo, Hash as RelayHash, Header as RelayHeader, InboundHrmpMessage,
+ OccupiedCoreAssumption, PvfCheckStatement, ScrapedOnChainVotes, SessionIndex, SessionInfo,
+ ValidationCode, ValidationCodeHash, ValidatorId, ValidatorIndex, ValidatorSignature,
},
InboundDownwardMessage, ParaId, PersistedValidationData,
};
@@ -647,6 +648,14 @@ impl RelayChainRpcClient {
.await
}
+ pub async fn parachain_host_claim_queue(
+ &self,
+ at: RelayHash,
+ ) -> Result>, RelayChainError> {
+ self.call_remote_runtime_function("ParachainHost_claim_queue", at, None::<()>)
+ .await
+ }
+
pub async fn validation_code_hash(
&self,
at: RelayHash,
diff --git a/cumulus/pallets/aura-ext/src/consensus_hook.rs b/cumulus/pallets/aura-ext/src/consensus_hook.rs
index 089ab5c3198b98129e53e155dc4fcc009bf0e6d8..592029803391179785bb3b5606079d1bee6b553f 100644
--- a/cumulus/pallets/aura-ext/src/consensus_hook.rs
+++ b/cumulus/pallets/aura-ext/src/consensus_hook.rs
@@ -54,8 +54,8 @@ where
let velocity = V.max(1);
let relay_chain_slot = state_proof.read_slot().expect("failed to read relay chain slot");
- let (slot, authored) = pallet::Pallet::::slot_info()
- .expect("slot info is inserted on block initialization");
+ let (slot, authored) =
+ pallet::SlotInfo::::get().expect("slot info is inserted on block initialization");
// Convert relay chain timestamp.
let relay_chain_timestamp =
@@ -100,7 +100,7 @@ impl<
/// is more recent than the included block itself.
pub fn can_build_upon(included_hash: T::Hash, new_slot: Slot) -> bool {
let velocity = V.max(1);
- let (last_slot, authored_so_far) = match pallet::Pallet::::slot_info() {
+ let (last_slot, authored_so_far) = match pallet::SlotInfo::::get() {
None => return true,
Some(x) => x,
};
diff --git a/cumulus/pallets/aura-ext/src/lib.rs b/cumulus/pallets/aura-ext/src/lib.rs
index 31b571816a0c15837c6175ab233204565cc7eb36..7ca84dff7c513c2406d3c0de7b9c0ac26048f508 100644
--- a/cumulus/pallets/aura-ext/src/lib.rs
+++ b/cumulus/pallets/aura-ext/src/lib.rs
@@ -63,14 +63,14 @@ pub mod pallet {
impl Hooks> for Pallet {
fn on_finalize(_: BlockNumberFor) {
// Update to the latest AuRa authorities.
- Authorities::::put(Aura::::authorities());
+ Authorities::::put(pallet_aura::Authorities::::get());
}
fn on_initialize(_: BlockNumberFor) -> Weight {
// Fetch the authorities once to get them into the storage proof of the PoV.
Authorities::::get();
- let new_slot = Aura::::current_slot();
+ let new_slot = pallet_aura::CurrentSlot::::get();
let (new_slot, authored) = match SlotInfo::::get() {
Some((slot, authored)) if slot == new_slot => (slot, authored + 1),
@@ -103,7 +103,6 @@ pub mod pallet {
///
/// Updated on each block initialization.
#[pallet::storage]
- #[pallet::getter(fn slot_info)]
pub(crate) type SlotInfo = StorageValue<_, (Slot, u32), OptionQuery>;
#[pallet::genesis_config]
@@ -116,7 +115,7 @@ pub mod pallet {
#[pallet::genesis_build]
impl BuildGenesisConfig for GenesisConfig {
fn build(&self) {
- let authorities = Aura::::authorities();
+ let authorities = pallet_aura::Authorities::::get();
Authorities::::put(authorities);
}
}
diff --git a/cumulus/pallets/collator-selection/Cargo.toml b/cumulus/pallets/collator-selection/Cargo.toml
index 20f048b97d558962ea270ef51399f6d2905ab1a0..241a78466d61be3969930e031e1a52f4f3478482 100644
--- a/cumulus/pallets/collator-selection/Cargo.toml
+++ b/cumulus/pallets/collator-selection/Cargo.toml
@@ -77,5 +77,3 @@ try-runtime = [
"pallet-timestamp/try-runtime",
"sp-runtime/try-runtime",
]
-
-experimental = ["pallet-aura/experimental"]
diff --git a/cumulus/pallets/collator-selection/src/benchmarking.rs b/cumulus/pallets/collator-selection/src/benchmarking.rs
index 2c40f4dd0eac4a8a2ad3aed7f162a4379ccdbc93..c6b600445282534951b2c63a6c2a87181688acd1 100644
--- a/cumulus/pallets/collator-selection/src/benchmarking.rs
+++ b/cumulus/pallets/collator-selection/src/benchmarking.rs
@@ -22,9 +22,7 @@ use super::*;
#[allow(unused)]
use crate::Pallet as CollatorSelection;
use codec::Decode;
-use frame_benchmarking::{
- account, impl_benchmark_test_suite, v2::*, whitelisted_caller, BenchmarkError,
-};
+use frame_benchmarking::{account, v2::*, whitelisted_caller, BenchmarkError};
use frame_support::traits::{Currency, EnsureOrigin, Get, ReservableCurrency};
use frame_system::{pallet_prelude::BlockNumberFor, EventRecord, RawOrigin};
use pallet_authorship::EventHandler;
@@ -88,23 +86,23 @@ fn register_validators(count: u32) -> Vec(count: u32) {
let candidates = (0..count).map(|c| account("candidate", c, SEED)).collect::>();
- assert!(>::get() > 0u32.into(), "Bond cannot be zero!");
+ assert!(CandidacyBond::::get() > 0u32.into(), "Bond cannot be zero!");
for who in candidates {
- T::Currency::make_free_balance_be(&who, >::get() * 3u32.into());
+ T::Currency::make_free_balance_be(&who, CandidacyBond::::get() * 3u32.into());
>::register_as_candidate(RawOrigin::Signed(who).into()).unwrap();
}
}
fn min_candidates() -> u32 {
let min_collators = T::MinEligibleCollators::get();
- let invulnerable_length = >::get().len();
+ let invulnerable_length = Invulnerables::::get().len();
min_collators.saturating_sub(invulnerable_length.try_into().unwrap())
}
fn min_invulnerables() -> u32 {
let min_collators = T::MinEligibleCollators::get();
- let candidates_length = >::decode_len()
+ let candidates_length = CandidateList::::decode_len()
.unwrap_or_default()
.try_into()
.unwrap_or_default();
@@ -145,8 +143,8 @@ mod benchmarks {
T::UpdateOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?;
// need to fill up candidates
- >::put(T::Currency::minimum_balance());
- >::put(c);
+ CandidacyBond::::put(T::Currency::minimum_balance());
+ DesiredCandidates::::put(c);
// get accounts and keys for the `c` candidates
let mut candidates = (0..c).map(|cc| validator::(cc)).collect::>();
// add one more to the list. should not be in `b` (invulnerables) because it's the account
@@ -161,15 +159,15 @@ mod benchmarks {
}
// ... and register them.
for (who, _) in candidates.iter() {
- let deposit = >::get();
+ let deposit = CandidacyBond::::get();
T::Currency::make_free_balance_be(who, deposit * 1000_u32.into());
- >::try_mutate(|list| {
+ CandidateList::::try_mutate(|list| {
list.try_push(CandidateInfo { who: who.clone(), deposit }).unwrap();
Ok::<(), BenchmarkError>(())
})
.unwrap();
T::Currency::reserve(who, deposit)?;
- >::insert(
+ LastAuthoredBlock::::insert(
who.clone(),
frame_system::Pallet::::block_number() + T::KickThreshold::get(),
);
@@ -180,7 +178,7 @@ mod benchmarks {
invulnerables.sort();
let invulnerables: frame_support::BoundedVec<_, T::MaxInvulnerables> =
frame_support::BoundedVec::try_from(invulnerables).unwrap();
- >::put(invulnerables);
+ Invulnerables::::put(invulnerables);
#[extrinsic_call]
_(origin as T::RuntimeOrigin, new_invulnerable.clone());
@@ -199,8 +197,8 @@ mod benchmarks {
invulnerables.sort();
let invulnerables: frame_support::BoundedVec<_, T::MaxInvulnerables> =
frame_support::BoundedVec::try_from(invulnerables).unwrap();
- >::put(invulnerables);
- let to_remove = >::get().first().unwrap().clone();
+ Invulnerables::::put(invulnerables);
+ let to_remove = Invulnerables::::get().first().unwrap().clone();
#[extrinsic_call]
_(origin as T::RuntimeOrigin, to_remove.clone());
@@ -228,14 +226,14 @@ mod benchmarks {
k: Linear<0, { T::MaxCandidates::get() }>,
) -> Result<(), BenchmarkError> {
let initial_bond_amount: BalanceOf = T::Currency::minimum_balance() * 2u32.into();
- >::put(initial_bond_amount);
+ CandidacyBond::::put(initial_bond_amount);
register_validators::(c);
register_candidates::(c);
let kicked = cmp::min(k, c);
let origin =
T::UpdateOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?;
let bond_amount = if k > 0 {
- >::mutate(|candidates| {
+ CandidateList::::mutate(|candidates| {
for info in candidates.iter_mut().skip(kicked as usize) {
info.deposit = T::Currency::minimum_balance() * 3u32.into();
}
@@ -256,13 +254,13 @@ mod benchmarks {
fn update_bond(
c: Linear<{ min_candidates::() + 1 }, { T::MaxCandidates::get() }>,
) -> Result<(), BenchmarkError> {
- >::put(T::Currency::minimum_balance());
- >::put(c);
+ CandidacyBond::::put(T::Currency::minimum_balance());
+ DesiredCandidates::::put(c);
register_validators::(c);
register_candidates::(c);
- let caller = >::get()[0].who.clone();
+ let caller = CandidateList::::get()[0].who.clone();
v2::whitelist!(caller);
let bond_amount: BalanceOf =
@@ -275,7 +273,7 @@ mod benchmarks {
Event::CandidateBondUpdated { account_id: caller, deposit: bond_amount }.into(),
);
assert!(
- >::get().iter().last().unwrap().deposit ==
+ CandidateList::::get().iter().last().unwrap().deposit ==
T::Currency::minimum_balance() * 2u32.into()
);
Ok(())
@@ -285,8 +283,8 @@ mod benchmarks {
// one.
#[benchmark]
fn register_as_candidate(c: Linear<1, { T::MaxCandidates::get() - 1 }>) {
- >::put(T::Currency::minimum_balance());
- >::put(c + 1);
+ CandidacyBond::::put(T::Currency::minimum_balance());
+ DesiredCandidates::::put(c + 1);
register_validators::(c);
register_candidates::(c);
@@ -312,8 +310,8 @@ mod benchmarks {
#[benchmark]
fn take_candidate_slot(c: Linear<{ min_candidates::() + 1 }, { T::MaxCandidates::get() }>) {
- >::put(T::Currency::minimum_balance());
- >::put(1);
+ CandidacyBond::::put(T::Currency::minimum_balance());
+ DesiredCandidates::::put(1);
register_validators::(c);
register_candidates::(c);
@@ -329,7 +327,7 @@ mod benchmarks {
)
.unwrap();
- let target = >::get().iter().last().unwrap().who.clone();
+ let target = CandidateList::::get().iter().last().unwrap().who.clone();
#[extrinsic_call]
_(RawOrigin::Signed(caller.clone()), bond / 2u32.into(), target.clone());
@@ -343,13 +341,13 @@ mod benchmarks {
// worse case is the last candidate leaving.
#[benchmark]
fn leave_intent(c: Linear<{ min_candidates::() + 1 }, { T::MaxCandidates::get() }>) {
- >::put(T::Currency::minimum_balance());
- >::put(c);
+ CandidacyBond::::put(T::Currency::minimum_balance());
+ DesiredCandidates::::put(c);
register_validators::(c);
register_candidates::(c);
- let leaving = >::get().iter().last().unwrap().who.clone();
+ let leaving = CandidateList::::get().iter().last().unwrap().who.clone();
v2::whitelist!(leaving);
#[extrinsic_call]
@@ -361,7 +359,7 @@ mod benchmarks {
// worse case is paying a non-existing candidate account.
#[benchmark]
fn note_author() {
- >::put(T::Currency::minimum_balance());
+ CandidacyBond::::put(T::Currency::minimum_balance());
T::Currency::make_free_balance_be(
&>::account_id(),
T::Currency::minimum_balance() * 4u32.into(),
@@ -387,8 +385,8 @@ mod benchmarks {
r: Linear<1, { T::MaxCandidates::get() }>,
c: Linear<1, { T::MaxCandidates::get() }>,
) {
- >::put(T::Currency::minimum_balance());
- >::put(c);
+ CandidacyBond::::put(T::Currency::minimum_balance());
+ DesiredCandidates::::put(c);
frame_system::Pallet::::set_block_number(0u32.into());
register_validators::(c);
@@ -396,7 +394,7 @@ mod benchmarks {
let new_block: BlockNumberFor = T::KickThreshold::get();
let zero_block: BlockNumberFor = 0u32.into();
- let candidates: Vec = >::get()
+ let candidates: Vec = CandidateList::::get()
.iter()
.map(|candidate_info| candidate_info.who.clone())
.collect();
@@ -404,25 +402,25 @@ mod benchmarks {
let non_removals = c.saturating_sub(r);
for i in 0..c {
- >::insert(candidates[i as usize].clone(), zero_block);
+ LastAuthoredBlock::::insert(candidates[i as usize].clone(), zero_block);
}
if non_removals > 0 {
for i in 0..non_removals {
- >::insert(candidates[i as usize].clone(), new_block);
+ LastAuthoredBlock::::insert(candidates[i as usize].clone(), new_block);
}
} else {
for i in 0..c {
- >::insert(candidates[i as usize].clone(), new_block);
+ LastAuthoredBlock::::insert(candidates[i as usize].clone(), new_block);
}
}
let min_candidates = min_candidates::();
- let pre_length = >::decode_len().unwrap_or_default();
+ let pre_length = CandidateList::::decode_len().unwrap_or_default();
frame_system::Pallet::::set_block_number(new_block);
- let current_length: u32 = >::decode_len()
+ let current_length: u32 = CandidateList::::decode_len()
.unwrap_or_default()
.try_into()
.unwrap_or_default();
@@ -436,12 +434,12 @@ mod benchmarks {
// candidates > removals and remaining candidates > min candidates
// => remaining candidates should be shorter than before removal, i.e. some were
// actually removed.
- assert!(>::decode_len().unwrap_or_default() < pre_length);
+ assert!(CandidateList::::decode_len().unwrap_or_default() < pre_length);
} else if c > r && non_removals < min_candidates {
// candidates > removals and remaining candidates would be less than min candidates
// => remaining candidates should equal min candidates, i.e. some were removed up to
// the minimum, but then any more were "forced" to stay in candidates.
- let current_length: u32 = >::decode_len()
+ let current_length: u32 = CandidateList::::decode_len()
.unwrap_or_default()
.try_into()
.unwrap_or_default();
@@ -449,7 +447,7 @@ mod benchmarks {
} else {
// removals >= candidates, non removals must == 0
// can't remove more than exist
- assert!(>::decode_len().unwrap_or_default() == pre_length);
+ assert!(CandidateList::::decode_len().unwrap_or_default() == pre_length);
}
}
diff --git a/cumulus/pallets/collator-selection/src/lib.rs b/cumulus/pallets/collator-selection/src/lib.rs
index fb4c4a445df296b3650901326db9edccbbbd61cf..84bde5c9fac9f640692458f02b37f0ee108a734f 100644
--- a/cumulus/pallets/collator-selection/src/lib.rs
+++ b/cumulus/pallets/collator-selection/src/lib.rs
@@ -196,7 +196,6 @@ pub mod pallet {
/// The invulnerable, permissioned collators. This list must be sorted.
#[pallet::storage]
- #[pallet::getter(fn invulnerables)]
pub type Invulnerables =
StorageValue<_, BoundedVec, ValueQuery>;
@@ -206,7 +205,6 @@ pub mod pallet {
/// This list is sorted in ascending order by deposit and when the deposits are equal, the least
/// recently updated is considered greater.
#[pallet::storage]
- #[pallet::getter(fn candidate_list)]
pub type CandidateList = StorageValue<
_,
BoundedVec>, T::MaxCandidates>,
@@ -215,7 +213,6 @@ pub mod pallet {
/// Last block authored by collator.
#[pallet::storage]
- #[pallet::getter(fn last_authored_block)]
pub type LastAuthoredBlock =
StorageMap<_, Twox64Concat, T::AccountId, BlockNumberFor, ValueQuery>;
@@ -223,14 +220,12 @@ pub mod pallet {
///
/// This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct.
#[pallet::storage]
- #[pallet::getter(fn desired_candidates)]
pub type DesiredCandidates = StorageValue<_, u32, ValueQuery>;
/// Fixed amount to deposit to become a collator.
///
/// When a collator calls `leave_intent` they immediately receive the deposit back.
#[pallet::storage]
- #[pallet::getter(fn candidacy_bond)]
pub type CandidacyBond = StorageValue<_, BalanceOf, ValueQuery>;
#[pallet::genesis_config]
@@ -263,9 +258,9 @@ pub mod pallet {
bounded_invulnerables.sort();
- >::put(self.desired_candidates);
- >::put(self.candidacy_bond);
- >::put(bounded_invulnerables);
+ DesiredCandidates::::put(self.desired_candidates);
+ CandidacyBond::::put(self.candidacy_bond);
+ Invulnerables::::put(bounded_invulnerables);
}
}
@@ -424,7 +419,7 @@ pub mod pallet {
// Invulnerables must be sorted for removal.
bounded_invulnerables.sort();
- >::put(&bounded_invulnerables);
+ Invulnerables::::put(&bounded_invulnerables);
Self::deposit_event(Event::NewInvulnerables {
invulnerables: bounded_invulnerables.to_vec(),
});
@@ -448,7 +443,7 @@ pub mod pallet {
if max > T::MaxCandidates::get() {
log::warn!("max > T::MaxCandidates; you might need to run benchmarks again");
}
- >::put(max);
+ DesiredCandidates::::put(max);
Self::deposit_event(Event::NewDesiredCandidates { desired_candidates: max });
Ok(().into())
}
@@ -470,17 +465,17 @@ pub mod pallet {
bond: BalanceOf,
) -> DispatchResultWithPostInfo {
T::UpdateOrigin::ensure_origin(origin)?;
- let bond_increased = >::mutate(|old_bond| -> bool {
+ let bond_increased = CandidacyBond::::mutate(|old_bond| -> bool {
let bond_increased = *old_bond < bond;
*old_bond = bond;
bond_increased
});
- let initial_len = >::decode_len().unwrap_or_default();
+ let initial_len = CandidateList::::decode_len().unwrap_or_default();
let kicked = (bond_increased && initial_len > 0)
.then(|| {
// Closure below returns the number of candidates which were kicked because
// their deposits were lower than the new candidacy bond.
- >::mutate(|candidates| -> usize {
+ CandidateList::::mutate(|candidates| -> usize {
let first_safe_candidate = candidates
.iter()
.position(|candidate| candidate.deposit >= bond)
@@ -488,14 +483,18 @@ pub mod pallet {
let kicked_candidates = candidates.drain(..first_safe_candidate);
for candidate in kicked_candidates {
T::Currency::unreserve(&candidate.who, candidate.deposit);
- >::remove(candidate.who);
+ LastAuthoredBlock::::remove(candidate.who);
}
first_safe_candidate
})
})
.unwrap_or_default();
Self::deposit_event(Event::NewCandidacyBond { bond_amount: bond });
- Ok(Some(T::WeightInfo::set_candidacy_bond(initial_len as u32, kicked as u32)).into())
+ Ok(Some(T::WeightInfo::set_candidacy_bond(
+ bond_increased.then(|| initial_len as u32).unwrap_or_default(),
+ kicked as u32,
+ ))
+ .into())
}
/// Register this account as a collator candidate. The account must (a) already have
@@ -508,12 +507,12 @@ pub mod pallet {
let who = ensure_signed(origin)?;
// ensure we are below limit.
- let length: u32 = >::decode_len()
+ let length: u32 = CandidateList::::decode_len()
.unwrap_or_default()
.try_into()
.unwrap_or_default();
ensure!(length < T::MaxCandidates::get(), Error::::TooManyCandidates);
- ensure!(!Self::invulnerables().contains(&who), Error::::AlreadyInvulnerable);
+ ensure!(!Invulnerables::::get().contains(&who), Error::::AlreadyInvulnerable);
let validator_key = T::ValidatorIdOf::convert(who.clone())
.ok_or(Error::::NoAssociatedValidatorId)?;
@@ -522,15 +521,15 @@ pub mod pallet {
Error::::ValidatorNotRegistered
);
- let deposit = Self::candidacy_bond();
+ let deposit = CandidacyBond::::get();
// First authored block is current block plus kick threshold to handle session delay
- >::try_mutate(|candidates| -> Result<(), DispatchError> {
+ CandidateList::::try_mutate(|candidates| -> Result<(), DispatchError> {
ensure!(
!candidates.iter().any(|candidate_info| candidate_info.who == who),
Error::::AlreadyCandidate
);
T::Currency::reserve(&who, deposit)?;
- >::insert(
+ LastAuthoredBlock::::insert(
who.clone(),
frame_system::Pallet::::block_number() + T::KickThreshold::get(),
);
@@ -560,7 +559,7 @@ pub mod pallet {
Self::eligible_collators() > T::MinEligibleCollators::get(),
Error::::TooFewEligibleCollators
);
- let length = >::decode_len().unwrap_or_default();
+ let length = CandidateList::::decode_len().unwrap_or_default();
// Do remove their last authored block.
Self::try_remove_candidate(&who, true)?;
@@ -590,7 +589,7 @@ pub mod pallet {
Error::::ValidatorNotRegistered
);
- >::try_mutate(|invulnerables| -> DispatchResult {
+ Invulnerables::::try_mutate(|invulnerables| -> DispatchResult {
match invulnerables.binary_search(&who) {
Ok(_) => return Err(Error::::AlreadyInvulnerable)?,
Err(pos) => invulnerables
@@ -611,7 +610,7 @@ pub mod pallet {
.unwrap_or_default()
.try_into()
.unwrap_or(T::MaxInvulnerables::get().saturating_sub(1)),
- >::decode_len()
+ CandidateList::::decode_len()
.unwrap_or_default()
.try_into()
.unwrap_or(T::MaxCandidates::get()),
@@ -634,7 +633,7 @@ pub mod pallet {
Error::::TooFewEligibleCollators
);
- >::try_mutate(|invulnerables| -> DispatchResult {
+ Invulnerables::::try_mutate(|invulnerables| -> DispatchResult {
let pos =
invulnerables.binary_search(&who).map_err(|_| Error::::NotInvulnerable)?;
invulnerables.remove(pos);
@@ -659,12 +658,12 @@ pub mod pallet {
new_deposit: BalanceOf,
) -> DispatchResultWithPostInfo {
let who = ensure_signed(origin)?;
- ensure!(new_deposit >= >::get(), Error::::DepositTooLow);
+ ensure!(new_deposit >= CandidacyBond::::get(), Error::::DepositTooLow);
// The function below will try to mutate the `CandidateList` entry for the caller to
// update their deposit to the new value of `new_deposit`. The return value is the
// position of the entry in the list, used for weight calculation.
let length =
- >::try_mutate(|candidates| -> Result {
+ CandidateList::::try_mutate(|candidates| -> Result {
let idx = candidates
.iter()
.position(|candidate_info| candidate_info.who == who)
@@ -678,7 +677,7 @@ pub mod pallet {
} else if new_deposit < old_deposit {
// Casting `u32` to `usize` should be safe on all machines running this.
ensure!(
- idx.saturating_add(>::get() as usize) <
+ idx.saturating_add(DesiredCandidates::::get() as usize) <
candidate_count,
Error::::InvalidUnreserve
);
@@ -723,8 +722,8 @@ pub mod pallet {
) -> DispatchResultWithPostInfo {
let who = ensure_signed(origin)?;
- ensure!(!Self::invulnerables().contains(&who), Error::::AlreadyInvulnerable);
- ensure!(deposit >= Self::candidacy_bond(), Error::::InsufficientBond);
+ ensure!(!Invulnerables::::get().contains(&who), Error::::AlreadyInvulnerable);
+ ensure!(deposit >= CandidacyBond::::get(), Error::::InsufficientBond);
let validator_key = T::ValidatorIdOf::convert(who.clone())
.ok_or(Error::::NoAssociatedValidatorId)?;
@@ -733,12 +732,12 @@ pub mod pallet {
Error::::ValidatorNotRegistered
);
- let length = >::decode_len().unwrap_or_default();
+ let length = CandidateList::::decode_len().unwrap_or_default();
// The closure below iterates through all elements of the candidate list to ensure that
// the caller isn't already a candidate and to find the target it's trying to replace in
// the list. The return value is a tuple of the position of the candidate to be replaced
// in the list along with its candidate information.
- let target_info = >::try_mutate(
+ let target_info = CandidateList::::try_mutate(
|candidates| -> Result>, DispatchError> {
// Find the position in the list of the candidate that is being replaced.
let mut target_info_idx = None;
@@ -783,8 +782,8 @@ pub mod pallet {
)?;
T::Currency::reserve(&who, deposit)?;
T::Currency::unreserve(&target_info.who, target_info.deposit);
- >::remove(target_info.who.clone());
- >::insert(
+ LastAuthoredBlock::::remove(target_info.who.clone());
+ LastAuthoredBlock::::insert(
who.clone(),
frame_system::Pallet::::block_number() + T::KickThreshold::get(),
);
@@ -803,7 +802,7 @@ pub mod pallet {
/// Return the total number of accounts that are eligible collators (candidates and
/// invulnerables).
fn eligible_collators() -> u32 {
- >::decode_len()
+ CandidateList::::decode_len()
.unwrap_or_default()
.saturating_add(Invulnerables::::decode_len().unwrap_or_default())
.try_into()
@@ -815,7 +814,7 @@ pub mod pallet {
who: &T::AccountId,
remove_last_authored: bool,
) -> Result<(), DispatchError> {
- >::try_mutate(|candidates| -> Result<(), DispatchError> {
+ CandidateList::::try_mutate(|candidates| -> Result<(), DispatchError> {
let idx = candidates
.iter()
.position(|candidate_info| candidate_info.who == *who)
@@ -824,7 +823,7 @@ pub mod pallet {
T::Currency::unreserve(who, deposit);
candidates.remove(idx);
if remove_last_authored {
- >::remove(who.clone())
+ LastAuthoredBlock::::remove(who.clone())
};
Ok(())
})?;
@@ -837,10 +836,10 @@ pub mod pallet {
/// This is done on the fly, as frequent as we are told to do so, as the session manager.
pub fn assemble_collators() -> Vec {
// Casting `u32` to `usize` should be safe on all machines running this.
- let desired_candidates = >::get() as usize;
- let mut collators = Self::invulnerables().to_vec();
+ let desired_candidates = DesiredCandidates::::get() as usize;
+ let mut collators = Invulnerables::::get().to_vec();
collators.extend(
- >::get()
+ CandidateList::::get()
.iter()
.rev()
.cloned()
@@ -861,10 +860,10 @@ pub mod pallet {
candidates
.into_iter()
.filter_map(|c| {
- let last_block = >::get(c.clone());
+ let last_block = LastAuthoredBlock::::get(c.clone());
let since_last = now.saturating_sub(last_block);
- let is_invulnerable = Self::invulnerables().contains(&c);
+ let is_invulnerable = Invulnerables::::get().contains(&c);
let is_lazy = since_last >= kick_threshold;
if is_invulnerable {
@@ -903,7 +902,7 @@ pub mod pallet {
/// or equal to the minimum number of eligible collators.
#[cfg(any(test, feature = "try-runtime"))]
pub fn do_try_state() -> Result<(), sp_runtime::TryRuntimeError> {
- let desired_candidates = >::get();
+ let desired_candidates = DesiredCandidates::::get();
frame_support::ensure!(
desired_candidates <= T::MaxCandidates::get(),
@@ -935,7 +934,7 @@ pub mod pallet {
// `reward` is half of pot account minus ED, this should never fail.
let _success = T::Currency::transfer(&pot, &author, reward, KeepAlive);
debug_assert!(_success.is_ok());
- >::insert(author, frame_system::Pallet::::block_number());
+ LastAuthoredBlock::::insert(author, frame_system::Pallet::::block_number());
frame_system::Pallet::