diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index fdaa0c8628f7..4fc5b97caae0 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -13,7 +13,7 @@
# - Multiple owners are supported.
# - Either handle (e.g, @github_user or @github/team) or email can be used. Keep in mind,
# that handles might work better because they are more recognizable on GitHub,
-# eyou can use them for mentioning unlike an email.
+# you can use them for mentioning unlike an email.
# - The latest matching rule, if multiple, takes precedence.
# CI
diff --git a/.github/scripts/common/lib.sh b/.github/scripts/common/lib.sh
index 29dc269ffd23..932a6d546c37 100755
--- a/.github/scripts/common/lib.sh
+++ b/.github/scripts/common/lib.sh
@@ -237,7 +237,7 @@ fetch_release_artifacts() {
popd > /dev/null
}
-# Fetch the release artifacts like binary and sigantures from S3. Assumes the ENV are set:
+# Fetch the release artifacts like binary and signatures from S3. Assumes the ENV are set:
# - RELEASE_ID
# - GITHUB_TOKEN
# - REPO in the form paritytech/polkadot
diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml
index 903d7a3fcb3d..58065f369c9c 100644
--- a/.github/workflows/check-links.yml
+++ b/.github/workflows/check-links.yml
@@ -3,8 +3,8 @@ name: Check links
on:
pull_request:
paths:
- - "*.rs"
- - "*.prdoc"
+ - "**.rs"
+ - "**.prdoc"
- ".github/workflows/check-links.yml"
- ".config/lychee.toml"
types: [opened, synchronize, reopened, ready_for_review]
diff --git a/.github/workflows/subsystem-benchmarks.yml b/.github/workflows/subsystem-benchmarks.yml
new file mode 100644
index 000000000000..f0d56bf6e9d3
--- /dev/null
+++ b/.github/workflows/subsystem-benchmarks.yml
@@ -0,0 +1,54 @@
+# The actions takes json file as input and runs github-action-benchmark for it.
+
+on:
+ workflow_dispatch:
+ inputs:
+ benchmark-data-dir-path:
+ description: "Path to the benchmark data directory"
+ required: true
+ type: string
+ output-file-path:
+ description: "Path to the benchmark data file"
+ required: true
+ type: string
+
+jobs:
+ subsystem-benchmarks:
+ runs-on: ubuntu-latest
+ environment: subsystem-benchmarks
+ steps:
+ - name: Validate inputs
+ run: |
+ echo "${{ github.event.inputs.benchmark-data-dir-path }}" | grep -P '^[a-z\-]'
+ echo "${{ github.event.inputs.output-file-path }}" | grep -P '^[a-z\-]+\.json'
+
+ - name: Checkout Sources
+ uses: actions/checkout@v4.1.2
+ with:
+ fetch-depth: 0
+ ref: "gh-pages"
+
+ - name: Copy bench results
+ id: step_one
+ run: |
+ cp bench/gitlab/${{ github.event.inputs.output-file-path }} ${{ github.event.inputs.output-file-path }}
+
+ - name: Switch branch
+ id: step_two
+ run: |
+ git checkout master --
+
+ - uses: actions/create-github-app-token@v1
+ id: app-token
+ with:
+ app-id: ${{ secrets.POLKADOTSDK_GHPAGES_APP_ID }}
+ private-key: ${{ secrets.POLKADOTSDK_GHPAGES_APP_KEY }}
+
+ - name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: "customSmallerIsBetter"
+ output-file-path: ${{ github.event.inputs.output-file-path }}
+ benchmark-data-dir-path: "bench/${{ github.event.inputs.benchmark-data-dir-path }}"
+ github-token: ${{ steps.app-token.outputs.token }}
+ auto-push: true
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7f8796ca5124..93a6ccb9f8fb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -147,6 +147,13 @@ default:
- if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- if: $CI_COMMIT_REF_NAME =~ /^gh-readonly-queue.*$/ # merge queues
+.publish-gh-pages-refs:
+ rules:
+ - if: $CI_PIPELINE_SOURCE == "pipeline"
+ when: never
+ - if: $CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_REF_NAME == "master"
+ - if: $CI_COMMIT_REF_NAME == "master"
+
# handle the specific case where benches could store incorrect bench data because of the downstream staging runs
# exclude cargo-check-benches from such runs
.test-refs-check-benches:
diff --git a/.gitlab/pipeline/build.yml b/.gitlab/pipeline/build.yml
index f8de61355725..44d66eb2f5eb 100644
--- a/.gitlab/pipeline/build.yml
+++ b/.gitlab/pipeline/build.yml
@@ -350,7 +350,7 @@ build-runtimes-polkavm:
- .run-immediately
# - .collect-artifact
variables:
- # this variable gets overriden by "rusty-cachier environment inject", use the value as default
+ # this variable gets overridden by "rusty-cachier environment inject", use the value as default
CARGO_TARGET_DIR: "$CI_PROJECT_DIR/target"
before_script:
- mkdir -p ./artifacts/subkey
diff --git a/.gitlab/pipeline/publish.yml b/.gitlab/pipeline/publish.yml
index b73acb560f67..a37ba012a8a7 100644
--- a/.gitlab/pipeline/publish.yml
+++ b/.gitlab/pipeline/publish.yml
@@ -3,16 +3,13 @@
publish-rustdoc:
stage: publish
- extends: .kubernetes-env
+ extends:
+ - .kubernetes-env
+ - .publish-gh-pages-refs
variables:
CI_IMAGE: node:18
GIT_DEPTH: 100
RUSTDOCS_DEPLOY_REFS: "master"
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- when: never
- - if: $CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME == "master"
needs:
- job: build-rustdoc
artifacts: true
@@ -60,9 +57,76 @@ publish-rustdoc:
- git commit -m "___Updated docs for ${CI_COMMIT_REF_NAME}___" ||
echo "___Nothing to commit___"
- git push origin gh-pages --force
+ # artificial sleep to publish gh-pages
+ - sleep 300
+ after_script:
+ - rm -rf .git/ ./*
+
+publish-subsystem-benchmarks:
+ stage: publish
+ variables:
+ CI_IMAGE: "paritytech/tools:latest"
+ extends:
+ - .kubernetes-env
+ - .publish-gh-pages-refs
+ needs:
+ - job: subsystem-regression-tests
+ artifacts: true
+ - job: publish-rustdoc
+ artifacts: false
+ script:
+ # setup ssh
+ - eval $(ssh-agent)
+ - ssh-add - <<< ${GITHUB_SSH_PRIV_KEY}
+ - mkdir ~/.ssh && touch ~/.ssh/known_hosts
+ - ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
+ # Set git config
+ - rm -rf .git/config
+ - git config user.email "devops-team@parity.io"
+ - git config user.name "${GITHUB_USER}"
+ - git config remote.origin.url "git@github.com:/paritytech/${CI_PROJECT_NAME}.git"
+ - git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
+ - git fetch origin gh-pages
+ # Push result to github
+ - git checkout gh-pages --force
+ - mkdir -p bench/gitlab/ || echo "Directory exists"
+ - rm -rf bench/gitlab/*.json || echo "No json files"
+ - cp -r charts/*.json bench/gitlab/
+ - git add bench/gitlab/
+ - git commit -m "Add json files with benchmark results for ${CI_COMMIT_REF_NAME}"
+ - git push origin gh-pages
+ # artificial sleep to publish gh-pages
+ - sleep 300
+ allow_failure: true
after_script:
- rm -rf .git/ ./*
+trigger_workflow:
+ stage: deploy
+ extends:
+ - .kubernetes-env
+ - .publish-gh-pages-refs
+ needs:
+ - job: publish-subsystem-benchmarks
+ artifacts: false
+ - job: subsystem-regression-tests
+ artifacts: true
+ script:
+ - echo "Triggering workflow"
+ - |
+ for benchmark in $(ls charts/*.json); do
+ export bencmark_name=$(basename $benchmark)
+ echo "Benchmark: $bencmark_name"
+ export benchmark_dir=$(echo $bencmark_name | sed 's/\.json//')
+ curl -q -X POST \
+ -H "Accept: application/vnd.github.v3+json" \
+ -H "Authorization: token $GITHUB_TOKEN" \
+ https://api.github.com/repos/paritytech/${CI_PROJECT_NAME}/actions/workflows/subsystem-benchmarks.yml/dispatches \
+ -d '{"ref":"refs/heads/master","inputs":{"benchmark-data-dir-path":"'$benchmark_dir'","output-file-path":"'$bencmark_name'"}}'
+ sleep 300
+ done
+ allow_failure: true
+
# note: images are used not only in zombienet but also in rococo, wococo and versi
.build-push-image:
image: $BUILDAH_IMAGE
diff --git a/.gitlab/pipeline/test.yml b/.gitlab/pipeline/test.yml
index 26e55e9385f3..48c84b472b43 100644
--- a/.gitlab/pipeline/test.yml
+++ b/.gitlab/pipeline/test.yml
@@ -25,7 +25,6 @@ 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 \
@@ -70,7 +69,7 @@ test-linux-stable-runtime-benchmarks:
# but still want to have debug assertions.
RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings"
script:
- - time cargo nextest run --filter-expr 'not deps(/polkadot-subsystem-bench/)' --workspace --features runtime-benchmarks benchmark --locked --cargo-profile testnet
+ - time cargo nextest run --workspace --features runtime-benchmarks benchmark --locked --cargo-profile testnet
# can be used to run all tests
# test-linux-stable-all:
@@ -497,12 +496,19 @@ test-syscalls:
subsystem-regression-tests:
stage: test
+ artifacts:
+ name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
+ when: always
+ expire_in: 1 days
+ paths:
+ - charts/
extends:
- .docker-env
- .common-refs
- .run-immediately
script:
- - cargo test --profile=testnet -p polkadot-availability-recovery --test availability-recovery-regression-bench --features subsystem-benchmarks
+ - cargo bench --profile=testnet -p polkadot-availability-recovery --bench availability-recovery-regression-bench --features subsystem-benchmarks
+ - cargo bench --profile=testnet -p polkadot-availability-distribution --bench availability-distribution-regression-bench --features subsystem-benchmarks
tags:
- benchmark
allow_failure: true
diff --git a/.gitlab/pipeline/zombienet.yml b/.gitlab/pipeline/zombienet.yml
index 55120e66d0e5..52948e1eb719 100644
--- a/.gitlab/pipeline/zombienet.yml
+++ b/.gitlab/pipeline/zombienet.yml
@@ -1,7 +1,8 @@
.zombienet-refs:
extends: .build-refs
variables:
- ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.3.91"
+ ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.3.99"
+ PUSHGATEWAY_URL: "http://zombienet-prometheus-pushgateway.managed-monitoring:9091/metrics/job/zombie-metrics"
include:
# substrate tests
diff --git a/.gitlab/rust-features.sh b/.gitlab/rust-features.sh
index c0ac192a6ec6..c3ec61ab8714 100755
--- a/.gitlab/rust-features.sh
+++ b/.gitlab/rust-features.sh
@@ -15,7 +15,7 @@
#
# The steps of this script:
# 1. Check that all required dependencies are installed.
-# 2. Check that all rules are fullfilled for the whole workspace. If not:
+# 2. Check that all rules are fulfilled for the whole workspace. If not:
# 4. Check all crates to find the offending ones.
# 5. Print all offending crates and exit with code 1.
#
diff --git a/Cargo.lock b/Cargo.lock
index 8a0c21f8a4d3..492739ac4e2f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -191,7 +191,7 @@ checksum = "c0391754c09fab4eae3404d19d0d297aa1c670c1775ab51d8a5312afeca23157"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -206,7 +206,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
"syn-solidity",
"tiny-keccak",
]
@@ -275,9 +275,9 @@ dependencies = [
[[package]]
name = "anstyle"
-version = "1.0.2"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
[[package]]
name = "anstyle-parse"
@@ -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.52",
+ "syn 2.0.53",
]
[[package]]
@@ -867,6 +867,7 @@ dependencies = [
"cumulus-pallet-xcmp-queue",
"cumulus-primitives-aura",
"cumulus-primitives-core",
+ "cumulus-primitives-storage-weight-reclaim",
"cumulus-primitives-utility",
"frame-benchmarking",
"frame-executive",
@@ -989,6 +990,7 @@ dependencies = [
"cumulus-pallet-xcmp-queue",
"cumulus-primitives-aura",
"cumulus-primitives-core",
+ "cumulus-primitives-storage-weight-reclaim",
"cumulus-primitives-utility",
"frame-benchmarking",
"frame-executive",
@@ -1224,7 +1226,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -1235,13 +1237,13 @@ checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
[[package]]
name = "async-trait"
-version = "0.1.74"
+version = "0.1.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
+checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -1389,7 +1391,7 @@ name = "binary-merkle-tree"
version = "13.0.0"
dependencies = [
"array-bytes 6.1.0",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"hash-db",
"log",
"sp-core",
@@ -1423,7 +1425,7 @@ dependencies = [
"regex",
"rustc-hash",
"shlex",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -1985,6 +1987,7 @@ dependencies = [
"cumulus-pallet-xcmp-queue",
"cumulus-primitives-aura",
"cumulus-primitives-core",
+ "cumulus-primitives-storage-weight-reclaim",
"cumulus-primitives-utility",
"frame-benchmarking",
"frame-executive",
@@ -2121,6 +2124,7 @@ dependencies = [
"pallet-message-queue",
"pallet-xcm",
"parachains-common",
+ "parity-scale-codec",
"rococo-westend-system-emulated-network",
"sp-runtime",
"staging-xcm",
@@ -2153,6 +2157,7 @@ dependencies = [
"cumulus-pallet-xcmp-queue",
"cumulus-primitives-aura",
"cumulus-primitives-core",
+ "cumulus-primitives-storage-weight-reclaim",
"cumulus-primitives-utility",
"frame-benchmarking",
"frame-executive",
@@ -2594,9 +2599,9 @@ dependencies = [
[[package]]
name = "clap-num"
-version = "1.1.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e063d263364859dc54fb064cedb7c122740cd4733644b14b176c097f51e8ab7"
+checksum = "488557e97528174edaa2ee268b23a809e0c598213a4bbcb4f34575a46fda147e"
dependencies = [
"num-traits",
]
@@ -2645,7 +2650,7 @@ dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -2709,6 +2714,7 @@ dependencies = [
"cumulus-pallet-xcmp-queue",
"cumulus-primitives-aura",
"cumulus-primitives-core",
+ "cumulus-primitives-storage-weight-reclaim",
"cumulus-primitives-utility",
"frame-benchmarking",
"frame-executive",
@@ -2813,10 +2819,11 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "colored"
-version = "2.1.0"
+version = "2.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
+checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
dependencies = [
+ "is-terminal",
"lazy_static",
"windows-sys 0.48.0",
]
@@ -2962,6 +2969,7 @@ dependencies = [
"cumulus-pallet-xcmp-queue",
"cumulus-primitives-aura",
"cumulus-primitives-core",
+ "cumulus-primitives-storage-weight-reclaim",
"cumulus-primitives-utility",
"frame-benchmarking",
"frame-executive",
@@ -3055,6 +3063,7 @@ dependencies = [
"cumulus-pallet-xcmp-queue",
"cumulus-primitives-aura",
"cumulus-primitives-core",
+ "cumulus-primitives-storage-weight-reclaim",
"cumulus-primitives-utility",
"frame-benchmarking",
"frame-executive",
@@ -3118,6 +3127,7 @@ dependencies = [
"cumulus-pallet-xcmp-queue",
"cumulus-primitives-aura",
"cumulus-primitives-core",
+ "cumulus-primitives-storage-weight-reclaim",
"cumulus-primitives-utility",
"frame-benchmarking",
"frame-executive",
@@ -3768,6 +3778,7 @@ dependencies = [
"sp-blockchain",
"sp-consensus",
"sp-core",
+ "sp-io",
"sp-runtime",
"sp-transaction-pool",
]
@@ -3858,7 +3869,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -4001,7 +4012,7 @@ dependencies = [
"cumulus-primitives-core",
"cumulus-primitives-proof-size-hostfunction",
"cumulus-test-runtime",
- "docify 0.2.7",
+ "docify",
"frame-support",
"frame-system",
"log",
@@ -4269,7 +4280,6 @@ dependencies = [
"frame-system-rpc-runtime-api",
"futures",
"jsonrpsee",
- "pallet-im-online",
"pallet-timestamp",
"pallet-transaction-payment",
"parachains-common",
@@ -4359,7 +4369,7 @@ checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -4399,7 +4409,7 @@ dependencies = [
"proc-macro2",
"quote",
"scratch",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -4416,7 +4426,7 @@ checksum = "50c49547d73ba8dcfd4ad7325d64c6d5391ff4224d498fc39a6f3f49825a530d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -4519,6 +4529,17 @@ dependencies = [
"syn 1.0.109",
]
+[[package]]
+name = "derive-syn-parse"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.53",
+]
+
[[package]]
name = "derive_more"
version = "0.99.17"
@@ -4624,7 +4645,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -4666,52 +4687,26 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
[[package]]
name = "docify"
-version = "0.1.16"
+version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af1b04e6ef3d21119d3eb7b032bca17f99fe041e9c072f30f32cc0e1a2b1f3c4"
+checksum = "43a2f138ad521dc4a2ced1a4576148a6a610b4c5923933b062a263130a6802ce"
dependencies = [
- "docify_macros 0.1.16",
-]
-
-[[package]]
-name = "docify"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cc4fd38aaa9fb98ac70794c82a00360d1e165a87fbf96a8a91f9dfc602aaee2"
-dependencies = [
- "docify_macros 0.2.7",
+ "docify_macros",
]
[[package]]
name = "docify_macros"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b5610df7f2acf89a1bb5d1a66ae56b1c7fcdcfe3948856fb3ace3f644d70eb7"
-dependencies = [
- "common-path",
- "derive-syn-parse",
- "lazy_static",
- "proc-macro2",
- "quote",
- "regex",
- "syn 2.0.52",
- "termcolor",
- "walkdir",
-]
-
-[[package]]
-name = "docify_macros"
-version = "0.2.7"
+version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63fa215f3a0d40fb2a221b3aa90d8e1fbb8379785a990cb60d62ac71ebdc6460"
+checksum = "1a081e51fb188742f5a7a1164ad752121abcb22874b21e2c3b0dd040c515fdad"
dependencies = [
"common-path",
- "derive-syn-parse",
+ "derive-syn-parse 0.2.0",
"once_cell",
"proc-macro2",
"quote",
"regex",
- "syn 2.0.52",
+ "syn 2.0.53",
"termcolor",
"toml 0.8.8",
"walkdir",
@@ -4939,7 +4934,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -4950,14 +4945,14 @@ checksum = "c2ad8cef1d801a4686bfd8919f0b30eac4c8e48968c437a6405ded4fb5272d2b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
-name = "env_logger"
-version = "0.8.4"
+name = "env_filter"
+version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
+checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
dependencies = [
"log",
"regex",
@@ -4965,15 +4960,12 @@ dependencies = [
[[package]]
name = "env_logger"
-version = "0.9.3"
+version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7"
+checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
dependencies = [
- "atty",
- "humantime",
"log",
"regex",
- "termcolor",
]
[[package]]
@@ -4989,6 +4981,19 @@ dependencies = [
"termcolor",
]
+[[package]]
+name = "env_logger"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "env_filter",
+ "humantime",
+ "log",
+]
+
[[package]]
name = "environmental"
version = "1.1.4"
@@ -5140,7 +5145,7 @@ dependencies = [
"fs-err",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -5398,34 +5403,6 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa"
-[[package]]
-name = "frame"
-version = "0.0.1-dev"
-dependencies = [
- "docify 0.2.7",
- "frame-executive",
- "frame-support",
- "frame-system",
- "frame-system-rpc-runtime-api",
- "log",
- "pallet-examples",
- "parity-scale-codec",
- "scale-info",
- "sp-api",
- "sp-arithmetic",
- "sp-block-builder",
- "sp-consensus-aura",
- "sp-consensus-grandpa",
- "sp-core",
- "sp-inherents",
- "sp-io",
- "sp-offchain",
- "sp-runtime",
- "sp-session",
- "sp-transaction-pool",
- "sp-version",
-]
-
[[package]]
name = "frame-benchmarking"
version = "28.0.0"
@@ -5524,7 +5501,7 @@ dependencies = [
"quote",
"scale-info",
"sp-arithmetic",
- "syn 2.0.52",
+ "syn 2.0.53",
"trybuild",
]
@@ -5626,7 +5603,7 @@ dependencies = [
"array-bytes 6.1.0",
"assert_matches",
"bitflags 1.3.2",
- "docify 0.2.7",
+ "docify",
"environmental",
"frame-metadata",
"frame-support-procedural",
@@ -5668,7 +5645,7 @@ version = "23.0.0"
dependencies = [
"Inflector",
"cfg-expr",
- "derive-syn-parse",
+ "derive-syn-parse 0.2.0",
"expander 2.0.0",
"frame-support-procedural-tools",
"itertools 0.10.5",
@@ -5678,7 +5655,7 @@ dependencies = [
"quote",
"regex",
"sp-crypto-hashing",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -5689,7 +5666,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -5698,7 +5675,7 @@ version = "11.0.0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -5757,8 +5734,8 @@ dependencies = [
name = "frame-support-test-stg-frame-crate"
version = "0.1.0"
dependencies = [
- "frame",
"parity-scale-codec",
+ "polkadot-sdk-frame",
"scale-info",
]
@@ -5768,7 +5745,7 @@ version = "28.0.0"
dependencies = [
"cfg-if",
"criterion 0.4.0",
- "docify 0.2.7",
+ "docify",
"frame-support",
"log",
"parity-scale-codec",
@@ -5927,7 +5904,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -6710,7 +6687,7 @@ version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
dependencies = [
- "socket2 0.5.3",
+ "socket2 0.5.6",
"widestring",
"windows-sys 0.48.0",
"winreg",
@@ -6792,9 +6769,9 @@ checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd"
[[package]]
name = "jsonrpsee"
-version = "0.22.0"
+version = "0.22.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a95f7cc23d5fab0cdeeaf6bad8c8f5e7a3aa7f0d211957ea78232b327ab27b0"
+checksum = "87f3ae45a64cfc0882934f963be9431b2a165d667f53140358181f262aca0702"
dependencies = [
"jsonrpsee-core",
"jsonrpsee-http-client",
@@ -6808,9 +6785,9 @@ dependencies = [
[[package]]
name = "jsonrpsee-client-transport"
-version = "0.22.0"
+version = "0.22.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b1736cfa3845fd9f8f43751f2b8e0e83f7b6081e754502f7d63b6587692cc83"
+checksum = "455fc882e56f58228df2aee36b88a1340eafd707c76af2fa68cf94b37d461131"
dependencies = [
"futures-util",
"http",
@@ -6829,9 +6806,9 @@ dependencies = [
[[package]]
name = "jsonrpsee-core"
-version = "0.22.0"
+version = "0.22.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82030d038658974732103e623ba2e0abec03bbbe175b39c0a2fafbada60c5868"
+checksum = "b75568f4f9696e3a47426e1985b548e1a9fcb13372a5e320372acaf04aca30d1"
dependencies = [
"anyhow",
"async-lock 3.3.0",
@@ -6855,9 +6832,9 @@ dependencies = [
[[package]]
name = "jsonrpsee-http-client"
-version = "0.22.0"
+version = "0.22.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36a06ef0de060005fddf772d54597bb6a8b0413da47dcffd304b0306147b9678"
+checksum = "9e7a95e346f55df84fb167b7e06470e196e7d5b9488a21d69c5d9732043ba7ba"
dependencies = [
"async-trait",
"hyper",
@@ -6875,22 +6852,22 @@ dependencies = [
[[package]]
name = "jsonrpsee-proc-macros"
-version = "0.22.0"
+version = "0.22.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69fc56131589f82e57805f7338b87023db4aafef813555708b159787e34ad6bc"
+checksum = "30ca066e73dd70294aebc5c2675d8ffae43be944af027c857ce0d4c51785f014"
dependencies = [
"heck 0.4.1",
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn 2.0.53",
]
[[package]]
name = "jsonrpsee-server"
-version = "0.22.0"
+version = "0.22.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d85be77fe5b2a94589e3164fb780017f7aff7d646b49278c0d0346af16975c8e"
+checksum = "0e29c1bd1f9bba83c864977c73404e505f74f730fa0db89dd490ec174e36d7f0"
dependencies = [
"futures-util",
"http",
@@ -6912,9 +6889,9 @@ dependencies = [
[[package]]
name = "jsonrpsee-types"
-version = "0.22.0"
+version = "0.22.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a48fdc1202eafc51c63e00406575e59493284ace8b8b61aa16f3a6db5d64f1a"
+checksum = "3467fd35feeee179f71ab294516bdf3a81139e7aeebdd860e46897c12e1a3368"
dependencies = [
"anyhow",
"beef",
@@ -6925,9 +6902,9 @@ dependencies = [
[[package]]
name = "jsonrpsee-ws-client"
-version = "0.22.0"
+version = "0.22.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5ce25d70a8e4d3cc574bbc3cad0137c326ad64b194793d5e7bbdd3fa4504181"
+checksum = "68ca71e74983f624c0cb67828e480a981586074da8ad3a2f214c6a3f884edab9"
dependencies = [
"http",
"jsonrpsee-client-transport",
@@ -7870,7 +7847,7 @@ dependencies = [
"macro_magic_core",
"macro_magic_macros",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -7880,11 +7857,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "468155613a44cfd825f1fb0ffa532b018253920d404e6fca1e8d43155198a46d"
dependencies = [
"const-random",
- "derive-syn-parse",
+ "derive-syn-parse 0.1.5",
"macro_magic_core_macros",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -7895,7 +7872,7 @@ checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -7906,7 +7883,7 @@ checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3"
dependencies = [
"macro_magic_core",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -8064,11 +8041,11 @@ name = "minimal-template-node"
version = "0.0.0"
dependencies = [
"clap 4.5.3",
- "frame",
"futures",
"futures-timer",
"jsonrpsee",
"minimal-template-runtime",
+ "polkadot-sdk-frame",
"sc-basic-authorship",
"sc-cli",
"sc-client-api",
@@ -8098,7 +8075,6 @@ dependencies = [
name = "minimal-template-runtime"
version = "0.0.0"
dependencies = [
- "frame",
"pallet-balances",
"pallet-minimal-template",
"pallet-sudo",
@@ -8106,6 +8082,7 @@ dependencies = [
"pallet-transaction-payment",
"pallet-transaction-payment-rpc-runtime-api",
"parity-scale-codec",
+ "polkadot-sdk-frame",
"scale-info",
"sp-genesis-builder",
"substrate-wasm-builder",
@@ -9141,7 +9118,7 @@ name = "pallet-bags-list"
version = "27.0.0"
dependencies = [
"aquamarine 0.5.0",
- "docify 0.2.7",
+ "docify",
"frame-benchmarking",
"frame-election-provider-support",
"frame-support",
@@ -9187,7 +9164,7 @@ dependencies = [
name = "pallet-balances"
version = "28.0.0"
dependencies = [
- "docify 0.2.7",
+ "docify",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -9445,7 +9422,7 @@ dependencies = [
"array-bytes 6.1.0",
"assert_matches",
"bitflags 1.3.2",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"environmental",
"frame-benchmarking",
"frame-support",
@@ -9463,6 +9440,7 @@ dependencies = [
"pallet-timestamp",
"pallet-utility",
"parity-scale-codec",
+ "paste",
"pretty_assertions",
"rand",
"rand_pcg",
@@ -9539,7 +9517,7 @@ version = "18.0.0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -9682,7 +9660,7 @@ dependencies = [
"sp-npos-elections",
"sp-runtime",
"sp-tracing 16.0.0",
- "strum 0.24.1",
+ "strum 0.26.2",
]
[[package]]
@@ -9737,8 +9715,8 @@ dependencies = [
name = "pallet-example-frame-crate"
version = "0.0.1"
dependencies = [
- "frame",
"parity-scale-codec",
+ "polkadot-sdk-frame",
"scale-info",
]
@@ -9778,7 +9756,7 @@ dependencies = [
name = "pallet-example-single-block-migrations"
version = "0.0.1"
dependencies = [
- "docify 0.2.7",
+ "docify",
"frame-executive",
"frame-support",
"frame-system",
@@ -9841,7 +9819,7 @@ dependencies = [
name = "pallet-fast-unstake"
version = "27.0.0"
dependencies = [
- "docify 0.2.7",
+ "docify",
"frame-benchmarking",
"frame-election-provider-support",
"frame-support",
@@ -10032,7 +10010,7 @@ dependencies = [
name = "pallet-migrations"
version = "1.0.0"
dependencies = [
- "docify 0.1.16",
+ "docify",
"frame-benchmarking",
"frame-executive",
"frame-support",
@@ -10055,8 +10033,8 @@ dependencies = [
name = "pallet-minimal-template"
version = "0.0.0"
dependencies = [
- "frame",
"parity-scale-codec",
+ "polkadot-sdk-frame",
"scale-info",
]
@@ -10083,7 +10061,7 @@ name = "pallet-mmr"
version = "27.0.0"
dependencies = [
"array-bytes 6.1.0",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -10321,7 +10299,7 @@ dependencies = [
name = "pallet-paged-list"
version = "0.6.0"
dependencies = [
- "docify 0.2.7",
+ "docify",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -10362,7 +10340,7 @@ dependencies = [
name = "pallet-parameters"
version = "0.0.1"
dependencies = [
- "docify 0.2.7",
+ "docify",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -10514,7 +10492,7 @@ dependencies = [
name = "pallet-safe-mode"
version = "9.0.0"
dependencies = [
- "docify 0.2.7",
+ "docify",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -10568,7 +10546,7 @@ dependencies = [
name = "pallet-scheduler"
version = "29.0.0"
dependencies = [
- "docify 0.2.7",
+ "docify",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -10707,7 +10685,7 @@ dependencies = [
"proc-macro2",
"quote",
"sp-runtime",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -10772,7 +10750,7 @@ dependencies = [
name = "pallet-sudo"
version = "28.0.0"
dependencies = [
- "docify 0.2.7",
+ "docify",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -10801,7 +10779,7 @@ dependencies = [
name = "pallet-timestamp"
version = "27.0.0"
dependencies = [
- "docify 0.2.7",
+ "docify",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -10901,7 +10879,7 @@ dependencies = [
name = "pallet-treasury"
version = "27.0.0"
dependencies = [
- "docify 0.2.7",
+ "docify",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -10920,7 +10898,7 @@ dependencies = [
name = "pallet-tx-pause"
version = "9.0.0"
dependencies = [
- "docify 0.2.7",
+ "docify",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -11023,6 +11001,7 @@ dependencies = [
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
+ "xcm-fee-payment-runtime-api",
]
[[package]]
@@ -11593,6 +11572,7 @@ dependencies = [
"cumulus-pallet-xcmp-queue",
"cumulus-primitives-aura",
"cumulus-primitives-core",
+ "cumulus-primitives-storage-weight-reclaim",
"cumulus-primitives-utility",
"enumflags2",
"frame-benchmarking",
@@ -11691,6 +11671,7 @@ dependencies = [
"cumulus-pallet-xcmp-queue",
"cumulus-primitives-aura",
"cumulus-primitives-core",
+ "cumulus-primitives-storage-weight-reclaim",
"cumulus-primitives-utility",
"enumflags2",
"frame-benchmarking",
@@ -11779,7 +11760,7 @@ dependencies = [
"pest_meta",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -11820,7 +11801,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -11918,7 +11899,7 @@ version = "7.0.0"
dependencies = [
"assert_matches",
"bitvec",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"futures",
"futures-timer",
"itertools 0.10.5",
@@ -11948,7 +11929,7 @@ dependencies = [
"always-assert",
"assert_matches",
"bitvec",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"futures",
"futures-timer",
"log",
@@ -12004,7 +11985,7 @@ version = "7.0.0"
dependencies = [
"assert_matches",
"async-trait",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"fatality",
"futures",
"futures-timer",
@@ -12066,7 +12047,7 @@ version = "7.0.0"
dependencies = [
"assert_matches",
"bitvec",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"fatality",
"futures",
"futures-timer",
@@ -12221,6 +12202,7 @@ dependencies = [
"polkadot-node-subsystem-util",
"polkadot-primitives",
"polkadot-primitives-test-helpers",
+ "rstest",
"sp-core",
"sp-keyring",
"sp-maybe-compressed-blob",
@@ -12236,7 +12218,7 @@ dependencies = [
"async-trait",
"bitvec",
"derive_more",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"futures",
"futures-timer",
"itertools 0.10.5",
@@ -12278,7 +12260,7 @@ version = "7.0.0"
dependencies = [
"assert_matches",
"bitvec",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"futures",
"futures-timer",
"kvdb",
@@ -12720,7 +12702,7 @@ dependencies = [
"rand_chacha 0.3.1",
"sc-authority-discovery",
"sc-network",
- "strum 0.24.1",
+ "strum 0.26.2",
"thiserror",
"tracing-gum",
]
@@ -12812,7 +12794,7 @@ dependencies = [
"assert_matches",
"async-trait",
"derive_more",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"fatality",
"futures",
"futures-channel",
@@ -13185,8 +13167,7 @@ version = "0.0.1"
dependencies = [
"cumulus-pallet-aura-ext",
"cumulus-pallet-parachain-system",
- "docify 0.2.7",
- "frame",
+ "docify",
"frame-executive",
"frame-support",
"frame-system",
@@ -13194,7 +13175,9 @@ dependencies = [
"pallet-assets",
"pallet-aura",
"pallet-authorship",
+ "pallet-babe",
"pallet-balances",
+ "pallet-broker",
"pallet-collective",
"pallet-default-config-example",
"pallet-democracy",
@@ -13202,12 +13185,17 @@ dependencies = [
"pallet-example-single-block-migrations",
"pallet-examples",
"pallet-multisig",
+ "pallet-nfts",
+ "pallet-preimage",
"pallet-proxy",
+ "pallet-referenda",
"pallet-scheduler",
"pallet-timestamp",
"pallet-transaction-payment",
+ "pallet-uniques",
"pallet-utility",
"parity-scale-codec",
+ "polkadot-sdk-frame",
"sc-cli",
"sc-client-db",
"sc-consensus-aura",
@@ -13222,6 +13210,7 @@ dependencies = [
"scale-info",
"simple-mermaid",
"sp-api",
+ "sp-arithmetic",
"sp-core",
"sp-io",
"sp-keyring",
@@ -13236,6 +13225,35 @@ dependencies = [
"substrate-wasm-builder",
]
+[[package]]
+name = "polkadot-sdk-frame"
+version = "0.1.0"
+dependencies = [
+ "docify",
+ "frame-executive",
+ "frame-support",
+ "frame-system",
+ "frame-system-rpc-runtime-api",
+ "log",
+ "pallet-examples",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-api",
+ "sp-arithmetic",
+ "sp-block-builder",
+ "sp-consensus-aura",
+ "sp-consensus-grandpa",
+ "sp-core",
+ "sp-inherents",
+ "sp-io",
+ "sp-offchain",
+ "sp-runtime",
+ "sp-session",
+ "sp-std 14.0.0",
+ "sp-transaction-pool",
+ "sp-version",
+]
+
[[package]]
name = "polkadot-service"
version = "7.0.0"
@@ -13243,7 +13261,7 @@ dependencies = [
"assert_matches",
"async-trait",
"bitvec",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"frame-benchmarking",
"frame-benchmarking-cli",
"frame-support",
@@ -13257,7 +13275,6 @@ dependencies = [
"log",
"mmr-gadget",
"pallet-babe",
- "pallet-im-online",
"pallet-staking",
"pallet-transaction-payment",
"pallet-transaction-payment-rpc-runtime-api",
@@ -13354,12 +13371,14 @@ dependencies = [
"sp-transaction-pool",
"sp-version",
"sp-weights",
+ "staging-xcm",
"substrate-prometheus-endpoint",
"tempfile",
"thiserror",
"tracing-gum",
"westend-runtime",
"westend-runtime-constants",
+ "xcm-fee-payment-runtime-api",
]
[[package]]
@@ -13418,7 +13437,7 @@ dependencies = [
"clap-num",
"color-eyre",
"colored",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"futures",
"futures-timer",
"hex",
@@ -13458,6 +13477,7 @@ dependencies = [
"sc-service",
"schnorrkel 0.11.4",
"serde",
+ "serde_json",
"serde_yaml",
"sha1",
"sp-application-crypto",
@@ -13709,7 +13729,7 @@ dependencies = [
"polkavm-common",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -13719,7 +13739,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429"
dependencies = [
"polkavm-derive-impl",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -13915,7 +13935,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62"
dependencies = [
"proc-macro2",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -14006,7 +14026,7 @@ checksum = "9b698b0b09d40e9b7c1a47b132d66a8b54bcd20583d9b6d06e4535e383b4405c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -14078,7 +14098,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -14178,7 +14198,7 @@ dependencies = [
"itertools 0.11.0",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -14521,7 +14541,7 @@ checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -14786,6 +14806,7 @@ dependencies = [
"cumulus-ping",
"cumulus-primitives-aura",
"cumulus-primitives-core",
+ "cumulus-primitives-storage-weight-reclaim",
"cumulus-primitives-utility",
"frame-benchmarking",
"frame-executive",
@@ -14855,7 +14876,6 @@ dependencies = [
"pallet-elections-phragmen",
"pallet-grandpa",
"pallet-identity",
- "pallet-im-online",
"pallet-indices",
"pallet-membership",
"pallet-message-queue",
@@ -14925,6 +14945,7 @@ dependencies = [
"substrate-wasm-builder",
"tiny-keccak",
"tokio",
+ "xcm-fee-payment-runtime-api",
]
[[package]]
@@ -15010,7 +15031,7 @@ dependencies = [
"regex",
"relative-path",
"rustc_version 0.4.0",
- "syn 2.0.52",
+ "syn 2.0.53",
"unicode-ident",
]
@@ -15365,6 +15386,7 @@ dependencies = [
"futures-timer",
"ip_network",
"libp2p",
+ "linked_hash_set",
"log",
"multihash 0.18.1",
"multihash-codetable",
@@ -15433,7 +15455,7 @@ name = "sc-chain-spec"
version = "27.0.0"
dependencies = [
"array-bytes 6.1.0",
- "docify 0.2.7",
+ "docify",
"log",
"memmap2 0.9.3",
"parity-scale-codec",
@@ -15464,7 +15486,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -15946,7 +15968,7 @@ dependencies = [
"array-bytes 6.1.0",
"assert_matches",
"criterion 0.4.0",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"num_cpus",
"parity-scale-codec",
"parking_lot 0.12.1",
@@ -16382,7 +16404,7 @@ name = "sc-rpc"
version = "29.0.0"
dependencies = [
"assert_matches",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"futures",
"jsonrpsee",
"log",
@@ -16623,7 +16645,7 @@ dependencies = [
name = "sc-statement-store"
version = "10.0.0"
dependencies = [
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"log",
"parity-db",
"parking_lot 0.12.1",
@@ -16744,7 +16766,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -16814,9 +16836,9 @@ dependencies = [
[[package]]
name = "scale-info"
-version = "2.10.0"
+version = "2.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60"
+checksum = "788745a868b0e751750388f4e6546eb921ef714a4317fa6954f7cde114eb2eb7"
dependencies = [
"bitvec",
"cfg-if",
@@ -16828,9 +16850,9 @@ dependencies = [
[[package]]
name = "scale-info-derive"
-version = "2.10.0"
+version = "2.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19"
+checksum = "7dc2f4e8bc344b9fc3d5f74f72c2e55bfc38d28dc2ebc69c194a3df424e4d9ac"
dependencies = [
"proc-macro-crate 1.3.1",
"proc-macro2",
@@ -17145,7 +17167,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -17202,9 +17224,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",
@@ -17245,7 +17267,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -17699,7 +17721,7 @@ name = "snowbridge-outbound-queue-merkle-tree"
version = "0.3.0"
dependencies = [
"array-bytes 4.2.0",
- "env_logger 0.9.3",
+ "env_logger 0.11.3",
"hex",
"hex-literal",
"parity-scale-codec",
@@ -17998,12 +18020,12 @@ dependencies = [
[[package]]
name = "socket2"
-version = "0.5.3"
+version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
+checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
dependencies = [
"libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -18135,7 +18157,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -18188,6 +18210,7 @@ name = "sp-arithmetic"
version = "23.0.0"
dependencies = [
"criterion 0.4.0",
+ "docify",
"integer-sqrt",
"num-traits",
"parity-scale-codec",
@@ -18196,6 +18219,7 @@ dependencies = [
"scale-info",
"serde",
"sp-crypto-hashing",
+ "sp-std 14.0.0",
"static_assertions",
]
@@ -18329,7 +18353,7 @@ dependencies = [
"sp-keystore",
"sp-mmr-primitives",
"sp-runtime",
- "strum 0.24.1",
+ "strum 0.26.2",
"w3f-bls",
]
@@ -18516,7 +18540,7 @@ version = "0.0.0"
dependencies = [
"quote",
"sp-crypto-hashing",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -18534,7 +18558,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf5
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -18543,7 +18567,7 @@ version = "14.0.0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -18618,7 +18642,7 @@ version = "31.0.0"
dependencies = [
"sp-core",
"sp-runtime",
- "strum 0.24.1",
+ "strum 0.26.2",
]
[[package]]
@@ -18734,7 +18758,7 @@ dependencies = [
name = "sp-runtime"
version = "31.0.1"
dependencies = [
- "docify 0.2.7",
+ "docify",
"either",
"hash256-std-hasher",
"impl-trait-for-tuples",
@@ -18808,7 +18832,7 @@ dependencies = [
"proc-macro-crate 1.3.1",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -18820,7 +18844,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -19076,7 +19100,7 @@ dependencies = [
"proc-macro2",
"quote",
"sp-version",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -19493,6 +19517,15 @@ version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
+[[package]]
+name = "strum"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
+dependencies = [
+ "strum_macros 0.26.2",
+]
+
[[package]]
name = "strum_macros"
version = "0.24.3"
@@ -19516,7 +19549,20 @@ dependencies = [
"proc-macro2",
"quote",
"rustversion",
- "syn 2.0.52",
+ "syn 2.0.53",
+]
+
+[[package]]
+name = "strum_macros"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
+dependencies = [
+ "heck 0.4.1",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn 2.0.53",
]
[[package]]
@@ -19784,7 +19830,7 @@ dependencies = [
"parity-wasm",
"polkavm-linker",
"sp-maybe-compressed-blob",
- "strum 0.24.1",
+ "strum 0.26.2",
"tempfile",
"toml 0.8.8",
"walkdir",
@@ -19913,9 +19959,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.52"
+version = "2.0.53"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
+checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032"
dependencies = [
"proc-macro2",
"quote",
@@ -19931,7 +19977,7 @@ dependencies = [
"paste",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -20194,7 +20240,7 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -20330,9 +20376,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.33.0"
+version = "1.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653"
+checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
dependencies = [
"backtrace",
"bytes",
@@ -20342,20 +20388,20 @@ dependencies = [
"parking_lot 0.12.1",
"pin-project-lite 0.2.12",
"signal-hook-registry",
- "socket2 0.5.3",
+ "socket2 0.5.6",
"tokio-macros",
"windows-sys 0.48.0",
]
[[package]]
name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -20562,7 +20608,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -20604,7 +20650,7 @@ dependencies = [
"proc-macro-crate 3.0.0",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -20959,9 +21005,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"
@@ -21169,7 +21215,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
"wasm-bindgen-shared",
]
@@ -21203,7 +21249,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -21664,7 +21710,6 @@ dependencies = [
"pallet-fast-unstake",
"pallet-grandpa",
"pallet-identity",
- "pallet-im-online",
"pallet-indices",
"pallet-membership",
"pallet-message-queue",
@@ -21738,6 +21783,7 @@ dependencies = [
"tiny-keccak",
"tokio",
"westend-runtime-constants",
+ "xcm-fee-payment-runtime-api",
]
[[package]]
@@ -22210,6 +22256,20 @@ dependencies = [
"staging-xcm-executor",
]
+[[package]]
+name = "xcm-fee-payment-runtime-api"
+version = "0.1.0"
+dependencies = [
+ "frame-support",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-api",
+ "sp-runtime",
+ "sp-std 14.0.0",
+ "sp-weights",
+ "staging-xcm",
+]
+
[[package]]
name = "xcm-procedural"
version = "7.0.0"
@@ -22218,7 +22278,7 @@ dependencies = [
"proc-macro2",
"quote",
"staging-xcm",
- "syn 2.0.52",
+ "syn 2.0.53",
"trybuild",
]
@@ -22337,7 +22397,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
@@ -22357,7 +22417,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.53",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
index 7f62d8657b06..c10e6d6ef80b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -10,24 +10,24 @@ resolver = "2"
members = [
"bridges/bin/runtime-common",
+ "bridges/chains/chain-asset-hub-rococo",
+ "bridges/chains/chain-asset-hub-westend",
+ "bridges/chains/chain-bridge-hub-cumulus",
+ "bridges/chains/chain-bridge-hub-kusama",
+ "bridges/chains/chain-bridge-hub-polkadot",
+ "bridges/chains/chain-bridge-hub-rococo",
+ "bridges/chains/chain-bridge-hub-westend",
+ "bridges/chains/chain-kusama",
+ "bridges/chains/chain-polkadot",
+ "bridges/chains/chain-polkadot-bulletin",
+ "bridges/chains/chain-rococo",
+ "bridges/chains/chain-westend",
"bridges/modules/grandpa",
"bridges/modules/messages",
"bridges/modules/parachains",
"bridges/modules/relayers",
"bridges/modules/xcm-bridge-hub",
"bridges/modules/xcm-bridge-hub-router",
- "bridges/primitives/chain-asset-hub-rococo",
- "bridges/primitives/chain-asset-hub-westend",
- "bridges/primitives/chain-bridge-hub-cumulus",
- "bridges/primitives/chain-bridge-hub-kusama",
- "bridges/primitives/chain-bridge-hub-polkadot",
- "bridges/primitives/chain-bridge-hub-rococo",
- "bridges/primitives/chain-bridge-hub-westend",
- "bridges/primitives/chain-kusama",
- "bridges/primitives/chain-polkadot",
- "bridges/primitives/chain-polkadot-bulletin",
- "bridges/primitives/chain-rococo",
- "bridges/primitives/chain-westend",
"bridges/primitives/header-chain",
"bridges/primitives/messages",
"bridges/primitives/parachains",
@@ -214,6 +214,7 @@ members = [
"polkadot/xcm/xcm-builder",
"polkadot/xcm/xcm-executor",
"polkadot/xcm/xcm-executor/integration-tests",
+ "polkadot/xcm/xcm-fee-payment-runtime-api",
"polkadot/xcm/xcm-simulator",
"polkadot/xcm/xcm-simulator/example",
"polkadot/xcm/xcm-simulator/fuzzer",
@@ -553,7 +554,7 @@ 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.52" }
+syn = { version = "2.0.53" }
thiserror = { version = "1.0.48" }
[profile.release]
diff --git a/bridges/README.md b/bridges/README.md
index a2ce213d2541..8bfa39841f51 100644
--- a/bridges/README.md
+++ b/bridges/README.md
@@ -38,10 +38,10 @@ cargo test --all
```
Also you can build the repo with [Parity CI Docker
-image](https://github.com/paritytech/scripts/tree/master/dockerfiles/bridges-ci):
+image](https://github.com/paritytech/scripts/tree/master/dockerfiles/ci-unified):
```bash
-docker pull paritytech/bridges-ci:production
+docker pull paritytech/ci-unified:latest
mkdir ~/cache
chown 1000:1000 ~/cache #processes in the container runs as "nonroot" user with UID 1000
docker run --rm -it -w /shellhere/parity-bridges-common \
@@ -49,7 +49,7 @@ docker run --rm -it -w /shellhere/parity-bridges-common \
-v "$(pwd)":/shellhere/parity-bridges-common \
-e CARGO_HOME=/cache/cargo/ \
-e SCCACHE_DIR=/cache/sccache/ \
- -e CARGO_TARGET_DIR=/cache/target/ paritytech/bridges-ci:production cargo build --all
+ -e CARGO_TARGET_DIR=/cache/target/ paritytech/ci-unified:latest cargo build --all
#artifacts can be found in ~/cache/target
```
diff --git a/bridges/bin/runtime-common/Cargo.toml b/bridges/bin/runtime-common/Cargo.toml
index ce38488a77af..f4834f5b3da6 100644
--- a/bridges/bin/runtime-common/Cargo.toml
+++ b/bridges/bin/runtime-common/Cargo.toml
@@ -11,10 +11,10 @@ license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
workspace = true
[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, features = ["derive"] }
+codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
hash-db = { version = "0.16.0", default-features = false }
log = { workspace = true }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
+scale-info = { version = "2.11.1", default-features = false, features = ["derive"] }
static_assertions = { version = "1.1", optional = true }
# Bridge dependencies
diff --git a/bridges/bin/runtime-common/src/messages_api.rs b/bridges/bin/runtime-common/src/messages_api.rs
index d160bc9f5f45..0dfb0d9458f1 100644
--- a/bridges/bin/runtime-common/src/messages_api.rs
+++ b/bridges/bin/runtime-common/src/messages_api.rs
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Parity Bridges Common. If not, see .
-//! Helpers for implementing various message-related runtime API mthods.
+//! Helpers for implementing various message-related runtime API methods.
#[cfg(not(feature = "std"))]
use alloc::vec::Vec;
diff --git a/bridges/bin/runtime-common/src/messages_xcm_extension.rs b/bridges/bin/runtime-common/src/messages_xcm_extension.rs
index fbe2acfdf898..8e161ef254eb 100644
--- a/bridges/bin/runtime-common/src/messages_xcm_extension.rs
+++ b/bridges/bin/runtime-common/src/messages_xcm_extension.rs
@@ -248,7 +248,7 @@ impl LocalXcmQueueManager {
sender_and_lane: &SenderAndLane,
enqueued_messages: MessageNonce,
) {
- // skip if we dont want to handle congestion
+ // skip if we don't want to handle congestion
if !H::supports_congestion_detection() {
return
}
diff --git a/bridges/bin/runtime-common/src/mock.rs b/bridges/bin/runtime-common/src/mock.rs
index deee4524e858..8c4cb2233e17 100644
--- a/bridges/bin/runtime-common/src/mock.rs
+++ b/bridges/bin/runtime-common/src/mock.rs
@@ -379,7 +379,7 @@ impl Chain for BridgedUnderlyingChain {
impl ChainWithGrandpa for BridgedUnderlyingChain {
const WITH_CHAIN_GRANDPA_PALLET_NAME: &'static str = "";
const MAX_AUTHORITIES_COUNT: u32 = 16;
- const REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY: u32 = 8;
+ const REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY: u32 = 8;
const MAX_MANDATORY_HEADER_SIZE: u32 = 256;
const AVERAGE_HEADER_SIZE: u32 = 64;
}
diff --git a/bridges/bin/runtime-common/src/priority_calculator.rs b/bridges/bin/runtime-common/src/priority_calculator.rs
index a597fb9e2f49..5035553f508d 100644
--- a/bridges/bin/runtime-common/src/priority_calculator.rs
+++ b/bridges/bin/runtime-common/src/priority_calculator.rs
@@ -128,7 +128,7 @@ mod integrity_tests {
Runtime::RuntimeCall: Dispatchable,
BalanceOf: Send + Sync + FixedPointOperand,
{
- // esimate priority of transaction that delivers one message and has large tip
+ // estimate priority of transaction that delivers one message and has large tip
let maximal_messages_in_delivery_transaction =
Runtime::MaxUnconfirmedMessagesAtInboundLane::get();
let small_with_tip_priority =
@@ -163,7 +163,7 @@ mod integrity_tests {
{
// just an estimation of extra transaction bytes that are added to every transaction
// (including signature, signed extensions extra and etc + in our case it includes
- // all call arguments extept the proof itself)
+ // all call arguments except the proof itself)
let base_tx_size = 512;
// let's say we are relaying similar small messages and for every message we add more trie
// nodes to the proof (x0.5 because we expect some nodes to be reused)
diff --git a/bridges/bin/runtime-common/src/refund_relayer_extension.rs b/bridges/bin/runtime-common/src/refund_relayer_extension.rs
index f5fdfa07d24a..030e7d60e8e1 100644
--- a/bridges/bin/runtime-common/src/refund_relayer_extension.rs
+++ b/bridges/bin/runtime-common/src/refund_relayer_extension.rs
@@ -16,7 +16,7 @@
//! Signed extension that refunds relayer if he has delivered some new messages.
//! It also refunds transaction cost if the transaction is an `utility.batchAll()`
-//! with calls that are: delivering new messsage and all necessary underlying headers
+//! with calls that are: delivering new message and all necessary underlying headers
//! (parachain or relay chain).
use crate::messages_call_ext::{
@@ -1540,7 +1540,7 @@ mod tests {
}
#[test]
- fn validate_boosts_priority_of_message_delivery_transactons() {
+ fn validate_boosts_priority_of_message_delivery_transactions() {
run_test(|| {
initialize_environment(100, 100, 100);
@@ -1570,7 +1570,7 @@ mod tests {
}
#[test]
- fn validate_does_not_boost_priority_of_message_delivery_transactons_with_too_many_messages() {
+ fn validate_does_not_boost_priority_of_message_delivery_transactions_with_too_many_messages() {
run_test(|| {
initialize_environment(100, 100, 100);
diff --git a/bridges/primitives/chain-asset-hub-rococo/Cargo.toml b/bridges/chains/chain-asset-hub-rococo/Cargo.toml
similarity index 69%
rename from bridges/primitives/chain-asset-hub-rococo/Cargo.toml
rename to bridges/chains/chain-asset-hub-rococo/Cargo.toml
index 4dfa149e0ea9..9a6419a5b405 100644
--- a/bridges/primitives/chain-asset-hub-rococo/Cargo.toml
+++ b/bridges/chains/chain-asset-hub-rococo/Cargo.toml
@@ -5,19 +5,20 @@ version = "0.4.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
+codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false }
+scale-info = { version = "2.11.1", default-features = false, features = ["derive"] }
# Substrate Dependencies
frame-support = { path = "../../../substrate/frame/support", default-features = false }
# Bridge Dependencies
-bp-xcm-bridge-hub-router = { path = "../xcm-bridge-hub-router", default-features = false }
+bp-xcm-bridge-hub-router = { path = "../../primitives/xcm-bridge-hub-router", default-features = false }
[features]
default = ["std"]
diff --git a/bridges/primitives/chain-asset-hub-rococo/src/lib.rs b/bridges/chains/chain-asset-hub-rococo/src/lib.rs
similarity index 100%
rename from bridges/primitives/chain-asset-hub-rococo/src/lib.rs
rename to bridges/chains/chain-asset-hub-rococo/src/lib.rs
diff --git a/bridges/primitives/chain-asset-hub-westend/Cargo.toml b/bridges/chains/chain-asset-hub-westend/Cargo.toml
similarity index 69%
rename from bridges/primitives/chain-asset-hub-westend/Cargo.toml
rename to bridges/chains/chain-asset-hub-westend/Cargo.toml
index c9bd437562b8..1c08ee28e417 100644
--- a/bridges/primitives/chain-asset-hub-westend/Cargo.toml
+++ b/bridges/chains/chain-asset-hub-westend/Cargo.toml
@@ -5,19 +5,20 @@ version = "0.3.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
+codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false }
+scale-info = { version = "2.11.1", default-features = false, features = ["derive"] }
# Substrate Dependencies
frame-support = { path = "../../../substrate/frame/support", default-features = false }
# Bridge Dependencies
-bp-xcm-bridge-hub-router = { path = "../xcm-bridge-hub-router", default-features = false }
+bp-xcm-bridge-hub-router = { path = "../../primitives/xcm-bridge-hub-router", default-features = false }
[features]
default = ["std"]
diff --git a/bridges/primitives/chain-asset-hub-westend/src/lib.rs b/bridges/chains/chain-asset-hub-westend/src/lib.rs
similarity index 100%
rename from bridges/primitives/chain-asset-hub-westend/src/lib.rs
rename to bridges/chains/chain-asset-hub-westend/src/lib.rs
diff --git a/bridges/primitives/chain-bridge-hub-cumulus/Cargo.toml b/bridges/chains/chain-bridge-hub-cumulus/Cargo.toml
similarity index 76%
rename from bridges/primitives/chain-bridge-hub-cumulus/Cargo.toml
rename to bridges/chains/chain-bridge-hub-cumulus/Cargo.toml
index ea7401201aff..db68300aefc3 100644
--- a/bridges/primitives/chain-bridge-hub-cumulus/Cargo.toml
+++ b/bridges/chains/chain-bridge-hub-cumulus/Cargo.toml
@@ -5,6 +5,7 @@ version = "0.7.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
@@ -12,9 +13,9 @@ workspace = true
[dependencies]
# Bridge Dependencies
-bp-polkadot-core = { path = "../polkadot-core", default-features = false }
-bp-messages = { path = "../messages", default-features = false }
-bp-runtime = { path = "../runtime", default-features = false }
+bp-polkadot-core = { path = "../../primitives/polkadot-core", default-features = false }
+bp-messages = { path = "../../primitives/messages", default-features = false }
+bp-runtime = { path = "../../primitives/runtime", default-features = false }
# Substrate Based Dependencies
diff --git a/bridges/primitives/chain-bridge-hub-cumulus/src/lib.rs b/bridges/chains/chain-bridge-hub-cumulus/src/lib.rs
similarity index 100%
rename from bridges/primitives/chain-bridge-hub-cumulus/src/lib.rs
rename to bridges/chains/chain-bridge-hub-cumulus/src/lib.rs
diff --git a/bridges/primitives/chain-bridge-hub-kusama/Cargo.toml b/bridges/chains/chain-bridge-hub-kusama/Cargo.toml
similarity index 82%
rename from bridges/primitives/chain-bridge-hub-kusama/Cargo.toml
rename to bridges/chains/chain-bridge-hub-kusama/Cargo.toml
index 35aafea91a6a..7ab4a2b18884 100644
--- a/bridges/primitives/chain-bridge-hub-kusama/Cargo.toml
+++ b/bridges/chains/chain-bridge-hub-kusama/Cargo.toml
@@ -5,6 +5,7 @@ version = "0.6.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
@@ -13,8 +14,8 @@ workspace = true
# Bridge Dependencies
bp-bridge-hub-cumulus = { path = "../chain-bridge-hub-cumulus", default-features = false }
-bp-runtime = { path = "../runtime", default-features = false }
-bp-messages = { path = "../messages", default-features = false }
+bp-runtime = { path = "../../primitives/runtime", default-features = false }
+bp-messages = { path = "../../primitives/messages", default-features = false }
# Substrate Based Dependencies
diff --git a/bridges/primitives/chain-bridge-hub-kusama/src/lib.rs b/bridges/chains/chain-bridge-hub-kusama/src/lib.rs
similarity index 100%
rename from bridges/primitives/chain-bridge-hub-kusama/src/lib.rs
rename to bridges/chains/chain-bridge-hub-kusama/src/lib.rs
diff --git a/bridges/primitives/chain-bridge-hub-polkadot/Cargo.toml b/bridges/chains/chain-bridge-hub-polkadot/Cargo.toml
similarity index 82%
rename from bridges/primitives/chain-bridge-hub-polkadot/Cargo.toml
rename to bridges/chains/chain-bridge-hub-polkadot/Cargo.toml
index 771b160f190d..8d3505447ce6 100644
--- a/bridges/primitives/chain-bridge-hub-polkadot/Cargo.toml
+++ b/bridges/chains/chain-bridge-hub-polkadot/Cargo.toml
@@ -5,6 +5,7 @@ version = "0.6.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
@@ -14,8 +15,8 @@ workspace = true
# Bridge Dependencies
bp-bridge-hub-cumulus = { path = "../chain-bridge-hub-cumulus", default-features = false }
-bp-runtime = { path = "../runtime", default-features = false }
-bp-messages = { path = "../messages", default-features = false }
+bp-runtime = { path = "../../primitives/runtime", default-features = false }
+bp-messages = { path = "../../primitives/messages", default-features = false }
# Substrate Based Dependencies
diff --git a/bridges/primitives/chain-bridge-hub-polkadot/src/lib.rs b/bridges/chains/chain-bridge-hub-polkadot/src/lib.rs
similarity index 100%
rename from bridges/primitives/chain-bridge-hub-polkadot/src/lib.rs
rename to bridges/chains/chain-bridge-hub-polkadot/src/lib.rs
diff --git a/bridges/primitives/chain-bridge-hub-rococo/Cargo.toml b/bridges/chains/chain-bridge-hub-rococo/Cargo.toml
similarity index 82%
rename from bridges/primitives/chain-bridge-hub-rococo/Cargo.toml
rename to bridges/chains/chain-bridge-hub-rococo/Cargo.toml
index 73d30b61a1b8..c9676327c279 100644
--- a/bridges/primitives/chain-bridge-hub-rococo/Cargo.toml
+++ b/bridges/chains/chain-bridge-hub-rococo/Cargo.toml
@@ -5,6 +5,7 @@ version = "0.7.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
@@ -13,8 +14,8 @@ workspace = true
# Bridge Dependencies
bp-bridge-hub-cumulus = { path = "../chain-bridge-hub-cumulus", default-features = false }
-bp-runtime = { path = "../runtime", default-features = false }
-bp-messages = { path = "../messages", default-features = false }
+bp-runtime = { path = "../../primitives/runtime", default-features = false }
+bp-messages = { path = "../../primitives/messages", default-features = false }
# Substrate Based Dependencies
diff --git a/bridges/primitives/chain-bridge-hub-rococo/src/lib.rs b/bridges/chains/chain-bridge-hub-rococo/src/lib.rs
similarity index 100%
rename from bridges/primitives/chain-bridge-hub-rococo/src/lib.rs
rename to bridges/chains/chain-bridge-hub-rococo/src/lib.rs
diff --git a/bridges/primitives/chain-bridge-hub-westend/Cargo.toml b/bridges/chains/chain-bridge-hub-westend/Cargo.toml
similarity index 82%
rename from bridges/primitives/chain-bridge-hub-westend/Cargo.toml
rename to bridges/chains/chain-bridge-hub-westend/Cargo.toml
index b0c07c18a341..6bc9804f3ec1 100644
--- a/bridges/primitives/chain-bridge-hub-westend/Cargo.toml
+++ b/bridges/chains/chain-bridge-hub-westend/Cargo.toml
@@ -5,6 +5,7 @@ version = "0.3.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
@@ -14,8 +15,8 @@ workspace = true
# Bridge Dependencies
bp-bridge-hub-cumulus = { path = "../chain-bridge-hub-cumulus", default-features = false }
-bp-runtime = { path = "../runtime", default-features = false }
-bp-messages = { path = "../messages", default-features = false }
+bp-runtime = { path = "../../primitives/runtime", default-features = false }
+bp-messages = { path = "../../primitives/messages", default-features = false }
# Substrate Based Dependencies
diff --git a/bridges/primitives/chain-bridge-hub-westend/src/lib.rs b/bridges/chains/chain-bridge-hub-westend/src/lib.rs
similarity index 100%
rename from bridges/primitives/chain-bridge-hub-westend/src/lib.rs
rename to bridges/chains/chain-bridge-hub-westend/src/lib.rs
diff --git a/bridges/primitives/chain-kusama/Cargo.toml b/bridges/chains/chain-kusama/Cargo.toml
similarity index 68%
rename from bridges/primitives/chain-kusama/Cargo.toml
rename to bridges/chains/chain-kusama/Cargo.toml
index 63859214d1b0..868631251670 100644
--- a/bridges/primitives/chain-kusama/Cargo.toml
+++ b/bridges/chains/chain-kusama/Cargo.toml
@@ -5,6 +5,7 @@ version = "0.5.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
@@ -13,9 +14,9 @@ workspace = true
# Bridge Dependencies
-bp-header-chain = { path = "../header-chain", default-features = false }
-bp-polkadot-core = { path = "../polkadot-core", default-features = false }
-bp-runtime = { path = "../runtime", default-features = false }
+bp-header-chain = { path = "../../primitives/header-chain", default-features = false }
+bp-polkadot-core = { path = "../../primitives/polkadot-core", default-features = false }
+bp-runtime = { path = "../../primitives/runtime", default-features = false }
# Substrate Based Dependencies
diff --git a/bridges/primitives/chain-kusama/src/lib.rs b/bridges/chains/chain-kusama/src/lib.rs
similarity index 95%
rename from bridges/primitives/chain-kusama/src/lib.rs
rename to bridges/chains/chain-kusama/src/lib.rs
index 7dd4a1c7362b..77464cf4c3ed 100644
--- a/bridges/primitives/chain-kusama/src/lib.rs
+++ b/bridges/chains/chain-kusama/src/lib.rs
@@ -55,8 +55,8 @@ impl Chain for Kusama {
impl ChainWithGrandpa for Kusama {
const WITH_CHAIN_GRANDPA_PALLET_NAME: &'static str = WITH_KUSAMA_GRANDPA_PALLET_NAME;
const MAX_AUTHORITIES_COUNT: u32 = MAX_AUTHORITIES_COUNT;
- const REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY: u32 =
- REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY;
+ const REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY: u32 =
+ REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY;
const MAX_MANDATORY_HEADER_SIZE: u32 = MAX_MANDATORY_HEADER_SIZE;
const AVERAGE_HEADER_SIZE: u32 = AVERAGE_HEADER_SIZE;
}
diff --git a/bridges/primitives/chain-polkadot-bulletin/Cargo.toml b/bridges/chains/chain-polkadot-bulletin/Cargo.toml
similarity index 66%
rename from bridges/primitives/chain-polkadot-bulletin/Cargo.toml
rename to bridges/chains/chain-polkadot-bulletin/Cargo.toml
index 598e856be0ac..07143ad8789c 100644
--- a/bridges/primitives/chain-polkadot-bulletin/Cargo.toml
+++ b/bridges/chains/chain-polkadot-bulletin/Cargo.toml
@@ -5,20 +5,21 @@ version = "0.4.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, features = ["derive"] }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
+codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
+scale-info = { version = "2.11.1", default-features = false, features = ["derive"] }
# Bridge Dependencies
-bp-header-chain = { path = "../header-chain", default-features = false }
-bp-messages = { path = "../messages", default-features = false }
-bp-polkadot-core = { path = "../polkadot-core", default-features = false }
-bp-runtime = { path = "../runtime", default-features = false }
+bp-header-chain = { path = "../../primitives/header-chain", default-features = false }
+bp-messages = { path = "../../primitives/messages", default-features = false }
+bp-polkadot-core = { path = "../../primitives/polkadot-core", default-features = false }
+bp-runtime = { path = "../../primitives/runtime", default-features = false }
# Substrate Based Dependencies
diff --git a/bridges/primitives/chain-polkadot-bulletin/src/lib.rs b/bridges/chains/chain-polkadot-bulletin/src/lib.rs
similarity index 96%
rename from bridges/primitives/chain-polkadot-bulletin/src/lib.rs
rename to bridges/chains/chain-polkadot-bulletin/src/lib.rs
index 8ade729c2839..b4c7f49e252f 100644
--- a/bridges/primitives/chain-polkadot-bulletin/src/lib.rs
+++ b/bridges/chains/chain-polkadot-bulletin/src/lib.rs
@@ -45,7 +45,7 @@ use sp_runtime::{traits::DispatchInfoOf, transaction_validity::TransactionValidi
pub use bp_polkadot_core::{
AccountAddress, AccountId, Balance, Block, BlockNumber, Hash, Hasher, Header, Nonce, Signature,
SignedBlock, UncheckedExtrinsic, AVERAGE_HEADER_SIZE, EXTRA_STORAGE_PROOF_SIZE,
- MAX_MANDATORY_HEADER_SIZE, REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY,
+ MAX_MANDATORY_HEADER_SIZE, REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY,
};
/// Maximal number of GRANDPA authorities at Polkadot Bulletin chain.
@@ -64,7 +64,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(90);
// Re following constants - we are using the same values at Cumulus parachains. They are limited
// by the maximal transaction weight/size. Since block limits at Bulletin Chain are larger than
-// at the Cumulus Bridgeg Hubs, we could reuse the same values.
+// at the Cumulus Bridge Hubs, we could reuse the same values.
/// Maximal number of unrewarded relayer entries at inbound lane for Cumulus-based parachains.
pub const MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX: MessageNonce = 1024;
@@ -209,8 +209,8 @@ impl Chain for PolkadotBulletin {
impl ChainWithGrandpa for PolkadotBulletin {
const WITH_CHAIN_GRANDPA_PALLET_NAME: &'static str = WITH_POLKADOT_BULLETIN_GRANDPA_PALLET_NAME;
const MAX_AUTHORITIES_COUNT: u32 = MAX_AUTHORITIES_COUNT;
- const REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY: u32 =
- REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY;
+ const REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY: u32 =
+ REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY;
const MAX_MANDATORY_HEADER_SIZE: u32 = MAX_MANDATORY_HEADER_SIZE;
const AVERAGE_HEADER_SIZE: u32 = AVERAGE_HEADER_SIZE;
}
diff --git a/bridges/primitives/chain-polkadot/Cargo.toml b/bridges/chains/chain-polkadot/Cargo.toml
similarity index 68%
rename from bridges/primitives/chain-polkadot/Cargo.toml
rename to bridges/chains/chain-polkadot/Cargo.toml
index b38f3019c494..8fd320c25918 100644
--- a/bridges/primitives/chain-polkadot/Cargo.toml
+++ b/bridges/chains/chain-polkadot/Cargo.toml
@@ -5,6 +5,7 @@ version = "0.5.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
@@ -13,9 +14,9 @@ workspace = true
# Bridge Dependencies
-bp-header-chain = { path = "../header-chain", default-features = false }
-bp-polkadot-core = { path = "../polkadot-core", default-features = false }
-bp-runtime = { path = "../runtime", default-features = false }
+bp-header-chain = { path = "../../primitives/header-chain", default-features = false }
+bp-polkadot-core = { path = "../../primitives/polkadot-core", default-features = false }
+bp-runtime = { path = "../../primitives/runtime", default-features = false }
# Substrate Based Dependencies
diff --git a/bridges/primitives/chain-polkadot/src/lib.rs b/bridges/chains/chain-polkadot/src/lib.rs
similarity index 96%
rename from bridges/primitives/chain-polkadot/src/lib.rs
rename to bridges/chains/chain-polkadot/src/lib.rs
index 88cf72667215..0c1f18cb091c 100644
--- a/bridges/primitives/chain-polkadot/src/lib.rs
+++ b/bridges/chains/chain-polkadot/src/lib.rs
@@ -57,8 +57,8 @@ impl Chain for Polkadot {
impl ChainWithGrandpa for Polkadot {
const WITH_CHAIN_GRANDPA_PALLET_NAME: &'static str = WITH_POLKADOT_GRANDPA_PALLET_NAME;
const MAX_AUTHORITIES_COUNT: u32 = MAX_AUTHORITIES_COUNT;
- const REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY: u32 =
- REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY;
+ const REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY: u32 =
+ REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY;
const MAX_MANDATORY_HEADER_SIZE: u32 = MAX_MANDATORY_HEADER_SIZE;
const AVERAGE_HEADER_SIZE: u32 = AVERAGE_HEADER_SIZE;
}
diff --git a/bridges/primitives/chain-rococo/Cargo.toml b/bridges/chains/chain-rococo/Cargo.toml
similarity index 68%
rename from bridges/primitives/chain-rococo/Cargo.toml
rename to bridges/chains/chain-rococo/Cargo.toml
index 6d79ef8606d3..9141912bd30e 100644
--- a/bridges/primitives/chain-rococo/Cargo.toml
+++ b/bridges/chains/chain-rococo/Cargo.toml
@@ -5,6 +5,7 @@ version = "0.6.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
@@ -13,9 +14,9 @@ workspace = true
# Bridge Dependencies
-bp-header-chain = { path = "../header-chain", default-features = false }
-bp-polkadot-core = { path = "../polkadot-core", default-features = false }
-bp-runtime = { path = "../runtime", default-features = false }
+bp-header-chain = { path = "../../primitives/header-chain", default-features = false }
+bp-polkadot-core = { path = "../../primitives/polkadot-core", default-features = false }
+bp-runtime = { path = "../../primitives/runtime", default-features = false }
# Substrate Based Dependencies
diff --git a/bridges/primitives/chain-rococo/src/lib.rs b/bridges/chains/chain-rococo/src/lib.rs
similarity index 95%
rename from bridges/primitives/chain-rococo/src/lib.rs
rename to bridges/chains/chain-rococo/src/lib.rs
index 01cc06a1d6b5..857e8fe5dcd8 100644
--- a/bridges/primitives/chain-rococo/src/lib.rs
+++ b/bridges/chains/chain-rococo/src/lib.rs
@@ -55,8 +55,8 @@ impl Chain for Rococo {
impl ChainWithGrandpa for Rococo {
const WITH_CHAIN_GRANDPA_PALLET_NAME: &'static str = WITH_ROCOCO_GRANDPA_PALLET_NAME;
const MAX_AUTHORITIES_COUNT: u32 = MAX_AUTHORITIES_COUNT;
- const REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY: u32 =
- REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY;
+ const REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY: u32 =
+ REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY;
const MAX_MANDATORY_HEADER_SIZE: u32 = MAX_MANDATORY_HEADER_SIZE;
const AVERAGE_HEADER_SIZE: u32 = AVERAGE_HEADER_SIZE;
}
diff --git a/bridges/primitives/chain-westend/Cargo.toml b/bridges/chains/chain-westend/Cargo.toml
similarity index 68%
rename from bridges/primitives/chain-westend/Cargo.toml
rename to bridges/chains/chain-westend/Cargo.toml
index 731e388b929c..af666a94632d 100644
--- a/bridges/primitives/chain-westend/Cargo.toml
+++ b/bridges/chains/chain-westend/Cargo.toml
@@ -5,6 +5,7 @@ version = "0.3.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
@@ -13,9 +14,9 @@ workspace = true
# Bridge Dependencies
-bp-header-chain = { path = "../header-chain", default-features = false }
-bp-polkadot-core = { path = "../polkadot-core", default-features = false }
-bp-runtime = { path = "../runtime", default-features = false }
+bp-header-chain = { path = "../../primitives/header-chain", default-features = false }
+bp-polkadot-core = { path = "../../primitives/polkadot-core", default-features = false }
+bp-runtime = { path = "../../primitives/runtime", default-features = false }
# Substrate Based Dependencies
diff --git a/bridges/primitives/chain-westend/src/lib.rs b/bridges/chains/chain-westend/src/lib.rs
similarity index 95%
rename from bridges/primitives/chain-westend/src/lib.rs
rename to bridges/chains/chain-westend/src/lib.rs
index 1b98ff775693..222d548eb7e0 100644
--- a/bridges/primitives/chain-westend/src/lib.rs
+++ b/bridges/chains/chain-westend/src/lib.rs
@@ -55,8 +55,8 @@ impl Chain for Westend {
impl ChainWithGrandpa for Westend {
const WITH_CHAIN_GRANDPA_PALLET_NAME: &'static str = WITH_WESTEND_GRANDPA_PALLET_NAME;
const MAX_AUTHORITIES_COUNT: u32 = MAX_AUTHORITIES_COUNT;
- const REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY: u32 =
- REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY;
+ const REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY: u32 =
+ REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY;
const MAX_MANDATORY_HEADER_SIZE: u32 = MAX_MANDATORY_HEADER_SIZE;
const AVERAGE_HEADER_SIZE: u32 = AVERAGE_HEADER_SIZE;
}
diff --git a/bridges/docs/bridge-relayers-claim-rewards.png b/bridges/docs/bridge-relayers-claim-rewards.png
new file mode 100644
index 000000000000..d56b8dd871e8
Binary files /dev/null and b/bridges/docs/bridge-relayers-claim-rewards.png differ
diff --git a/bridges/docs/bridge-relayers-deregister.png b/bridges/docs/bridge-relayers-deregister.png
new file mode 100644
index 000000000000..e7706cee7891
Binary files /dev/null and b/bridges/docs/bridge-relayers-deregister.png differ
diff --git a/bridges/docs/bridge-relayers-register.png b/bridges/docs/bridge-relayers-register.png
new file mode 100644
index 000000000000..e9e3e1b5ac87
Binary files /dev/null and b/bridges/docs/bridge-relayers-register.png differ
diff --git a/bridges/docs/running-relayer.md b/bridges/docs/running-relayer.md
new file mode 100644
index 000000000000..710810a476e4
--- /dev/null
+++ b/bridges/docs/running-relayer.md
@@ -0,0 +1,343 @@
+# Running your own bridge relayer
+
+:warning: :construction: Please read the [Disclaimer](#disclaimer) section first :construction: :warning:
+
+## Disclaimer
+
+There are several things you should know before running your own relayer:
+
+- initial bridge version (we call it bridges v1) supports any number of relayers, but **there's no guaranteed
+compensation** for running a relayer and/or submitting valid bridge transactions. Most probably you'll end up
+spending more funds than getting from rewards - please accept this fact;
+
+- even if your relayer has managed to submit a valid bridge transaction that has been included into the bridge
+hub block, there's no guarantee that you will be able to claim your compensation for that transaction. That's
+because compensations are paid from the account, controlled by relay chain governance and it could have no funds
+to compensate your useful actions. We'll be working on a proper process to resupply it on-time, but we can't
+provide any guarantee until that process is well established.
+
+## A Brief Introduction into Relayers and our Compensations Scheme
+
+Omitting details, relayer is an offchain process that is connected to both bridged chains. It looks at the
+outbound bridge messages queue and submits message delivery transactions to the target chain. There's a lot
+of details behind that simple phrase - you could find more info in the
+[High-Level Bridge Overview](./high-level-overview.md) document.
+
+Reward that is paid to relayer has two parts. The first part static and is controlled by the governance.
+It is rather small initially - e.g. you need to deliver `10_000` Kusama -> Polkadot messages to gain single
+KSM token.
+
+The other reward part is dynamic. So to deliver an XCM message from one BridgeHub to another, we'll need to
+submit two transactions on different chains. Every transaction has its cost, which is:
+
+- dynamic, because e.g. message size can change and/or fee factor of the target chain may change;
+
+- quite large, because those transactions are quite heavy (mostly in terms of size, not weight).
+
+We are compensating the cost of **valid**, **minimal** and **useful** bridge-related transactions to
+relayer, that has submitted such transaction. Valid here means that the transaction doesn't fail. Minimal
+means that all data within transaction call is actually required for the transaction to succeed. Useful
+means that all supplied data in transaction is new and yet unknown to the target chain.
+
+We have implemented a relayer that is able to craft such transactions. The rest of document contains a detailed
+information on how to deploy this software on your own node.
+
+## Relayers Concurrency
+
+As it has been said above, we are not compensating cost of transactions that are not **useful**. For
+example, if message `100` has already been delivered from Kusama Bridge Hub to Polkadot Bridge Hub, then another
+transaction that delivers the same message `100` won't be **useful**. Hence, no compensation to relayer that
+has submitted that second transaction.
+
+But what if there are several relayers running? They are noticing the same queued message `100` and
+simultaneously submit identical message delivery transactions. You may expect that there'll be one lucky
+relayer, whose transaction would win the "race" and which will receive the compensation and reward. And
+there'll be several other relayers, losing some funds on their unuseful transactions.
+
+But actually, we have a solution that invalidates transactions of "unlucky" relayers before they are
+included into the block. So at least you may be sure that you won't waste your funds on duplicate transactions.
+
+
+Some details?
+
+All **unuseful** transactions are rejected by our
+[transaction extension](https://github.com/paritytech/polkadot-sdk/blob/master/bridges/bin/runtime-common/src/refund_relayer_extension.rs),
+which also handles transaction fee compensations. You may find more info on unuseful (aka obsolete) transactions
+by lurking in the code.
+
+We also have the WiP prototype of relayers coordination protocol, where relayers will get some guarantee
+that their transactions will be prioritized over other relayers transactions at their assigned slots.
+That is planned for the future version of bridge and the progress is
+[tracked here](https://github.com/paritytech/parity-bridges-common/issues/2486).
+
+
+
+## Prerequisites
+
+Let's focus on the bridge between Polkadot and Kusama Bridge Hubs. Let's also assume that we want to start
+a relayer that "serves" an initial lane [`0x00000001`](https://github.com/polkadot-fellows/runtimes/blob/9ce1bbbbcd7843b3c76ba4d43c036bc311959e9f/system-parachains/bridge-hubs/bridge-hub-kusama/src/bridge_to_polkadot_config.rs#L54).
+
+
+Lane?
+
+Think of lane as a queue of messages that need to be delivered to the other/bridged chain. The lane is
+bidirectional, meaning that there are four "endpoints". Two "outbound" endpoints (one at every chain), contain
+messages that need to be delivered to the bridged chain. Two "inbound" are accepting messages from the bridged
+chain and also remember the relayer, who has delivered message(s) to reward it later.
+
+
+
+The same steps may be performed for other lanes and bridges as well - you'll just need to change several parameters.
+
+So to start your relayer instance, you'll need to prepare:
+
+- an address of ws/wss RPC endpoint of the Kusama relay chain;
+
+- an address of ws/wss RPC endpoint of the Polkadot relay chain;
+
+- an address of ws/wss RPC endpoint of the Kusama Bridge Hub chain;
+
+- an address of ws/wss RPC endpoint of the Polkadot Bridge Hub chain;
+
+- an account on Kusama Bridge Hub;
+
+- an account on Polkadot Bridge Hub.
+
+For RPC endpoints, you could start your own nodes, or use some public community nodes. Nodes are not meant to be
+archive or provide access to insecure RPC calls.
+
+To create an account on Bridge Hubs, you could use XCM teleport functionality. E.g. if you have an account on
+the relay chain, you could use the `teleportAssets` call of `xcmPallet` and send asset
+`V3 { id: Concrete(0, Here), Fungible: }` to beneficiary `V3(0, X1(AccountId32()))`
+on destination `V3(0, X1(Parachain(1002)))`. To estimate amounts you need, please refer to the [Costs](#costs)
+section of the document.
+
+## Registering your Relayer Account (Optional, But Please Read)
+
+Bridge transactions are quite heavy and expensive. We want to minimize block space that can be occupied by
+invalid bridge transactions and prioritize valid transactions over invalid. That is achieved by **optional**
+relayer registration. Transactions, signed by relayers with active registration, gain huge priority boost.
+In exchange, such relayers may be slashed if they submit **invalid** or **non-minimal** transaction.
+
+Transactions, signed by relayers **without** active registration, on the other hand, receive no priority
+boost. It means that if there is active registered relayer, most likely all transactions from unregistered
+will be counted as **unuseful**, not included into the block and unregistered relayer won't get any reward
+for his operations.
+
+Before registering, you should know several things about your funds:
+
+- to register, you need to hold significant amount of funds on your relayer account. As of now, it is
+ [100 KSM](https://github.com/polkadot-fellows/runtimes/blob/9ce1bbbbcd7843b3c76ba4d43c036bc311959e9f/system-parachains/bridge-hubs/bridge-hub-kusama/src/bridge_to_polkadot_config.rs#L71C14-L71C43)
+ for registration on Kusama Bridge Hub and
+ [500 DOT](https://github.com/polkadot-fellows/runtimes/blob/9ce1bbbbcd7843b3c76ba4d43c036bc311959e9f/system-parachains/bridge-hubs/bridge-hub-polkadot/src/bridge_to_kusama_config.rs#L71C14-L71C43)
+ for registration on Polkadot Bridge Hub;
+
+- when you are registered, those funds are reserved on relayer account and you can't transfer them.
+
+The registration itself, has three states: active, inactive or expired. Initially, it is active, meaning that all
+your transactions that are **validated** on top of block, where it is active get priority boost. Registration
+becomes expired when the block with the number you have specified during registration is "mined". It is the
+`validTill` parameter of the `register` call (see below). After that `validTill` block, you may unregister and get
+your reserved funds back. There's also an intermediate point between those blocks - it is the `validTill - LEASE`,
+where `LEASE` is the the chain constant, controlled by the governance. Initially it is set to `300` blocks.
+All your transactions, **validated** between the `validTill - LEASE` and `validTill` blocks do not get the
+priority boost. Also, it is forbidden to specify `validTill` such that the `validTill - currentBlock` is less
+than the `LEASE`.
+
+
+Example?
+
+| Bridge Hub Block | Registration State | Comment |
+| ----------------- | ------------------ | ------------------------------------------------------ |
+| 100 | Active | You have submitted a tx with the `register(1000)` call |
+| 101 | Active | Your message delivery transactions are boosted |
+| 102 | Active | Your message delivery transactions are boosted |
+| ... | Active | Your message delivery transactions are boosted |
+| 700 | Inactive | Your message delivery transactions are not boosted |
+| 701 | Inactive | Your message delivery transactions are not boosted |
+| ... | Inactive | Your message delivery transactions are not boosted |
+| 1000 | Expired | Your may submit a tx with the `deregister` call |
+
+
+
+So once you have enough funds on your account and have selected the `validTill` parameter value, you
+could use the Polkadot JS apps to submit an extrinsic. If you want priority boost for your transactions
+on the Kusama Bridge Hub, open the
+[Polkadot JS Apps](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama-bridge-hub-rpc.polkadot.io#/extrinsics)
+and submit the `register` extrinsic from the `bridgeRelayers` pallet:
+
+![Register Extrinsic](./bridge-relayers-register.png)
+
+To deregister, submit the simple `deregister` extrinsic when registration is expired:
+
+![Deregister Extrinsic](./bridge-relayers-deregister.png)
+
+At any time, you can prolong your registration by calling the `register` with the larger `validTill`.
+
+## Costs
+
+Your relayer account (on both Bridge Hubs) must hold enough funds to be able to pay costs of bridge
+transactions. If your relayer behaves correctly, those costs will be compensated and you will be
+able to claim it later.
+
+**IMPORTANT**: you may add tip to your bridge transactions to boost their priority. But our
+compensation mechanism never refunds transaction tip, so all tip tokens will be lost.
+
+
+Types of bridge transactions
+
+There are two types of bridge transactions:
+
+- message delivery transaction brings queued message(s) from one Bridge Hub to another. We record
+ the fact that this specific (your) relayer has delivered those messages;
+
+- message confirmation transaction confirms that some message have been delivered and also brings
+ back information on how many messages (your) relayer has delivered. We use this information later
+ to register delivery rewards on the source chain.
+
+Several messages/confirmations may be included in a single bridge transaction. Apart from this
+data, bridge transaction may include finality and storage proofs, required to prove authenticity of
+this data.
+
+
+
+To deliver and get reward for a single message, the relayer needs to submit two transactions. One
+at the source Bridge Hub and one at the target Bridge Hub. Below are costs for Polkadot <> Kusama
+messages (as of today):
+
+- to deliver a single Polkadot -> Kusama message, you would need to pay around `0.06 KSM` at Kusama
+ Bridge Hub and around `1.62 DOT` at Polkadot Bridge Hub;
+
+- to deliver a single Kusama -> Polkadot message, you would need to pay around `1.70 DOT` at Polkadot
+ Bridge Hub and around `0.05 KSM` at Kusama Bridge Hub.
+
+Those values are not constants - they depend on call weights (that may change from release to release),
+on transaction sizes (that depends on message size and chain state) and congestion factor. In any
+case - it is your duty to make sure that the relayer has enough funds to pay transaction fees.
+
+## Claiming your Compensations and Rewards
+
+Hopefully you have successfully delivered some messages and now can claim your compensation and reward.
+This requires submitting several transactions. But first, let's check that you actually have something to
+claim. For that, let's check the state of the pallet that tracks all rewards.
+
+To check your rewards at the Kusama Bridge Hub, go to the
+[Polkadot JS Apps](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama-bridge-hub-rpc.polkadot.io#/chainstate)
+targeting Kusama Bridge Hub, select the `bridgeRelayers` pallet, choose `relayerRewards` map and
+your relayer account. Then:
+
+- set the `laneId` to `0x00000001`
+
+- set the `bridgedChainId` to `bhpd`;
+
+- check the both variants of the `owner` field: `ThisChain` is used to pay for message delivery transactions
+ and `BridgedChain` is used to pay for message confirmation transactions.
+
+If check shows that you have some rewards, you can craft the claim transaction, with similar parameters.
+For that, go to `Extrinsics` tab of the
+[Polkadot JS Apps](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama-bridge-hub-rpc.polkadot.io#/extrinsics)
+and submit the following transaction (make sure to change `owner` before):
+
+![Claim Rewards Extrinsic](./bridge-relayers-claim-rewards.png)
+
+To claim rewards on Polkadot Bridge Hub you can follow the same process. The only difference is that you
+need to set value of the `bridgedChainId` to `bhks`.
+
+## Starting your Relayer
+
+### Starting your Rococo <> Westend Relayer
+
+You may find the relayer image reference in the
+[Releases](https://github.com/paritytech/parity-bridges-common/releases)
+of this repository. Make sure to check supported (bundled) versions
+of release there. For Rococo <> Westend bridge, normally you may use the
+latest published release. The release notes always contain the docker
+image reference and source files, required to build relayer manually.
+
+Once you have the docker image, update variables and run the following script:
+```sh
+export DOCKER_IMAGE=
+
+export ROCOCO_HOST=
+export ROCOCO_PORT=
+# or set it to '--rococo-secure' if wss is used above
+export ROCOCO_IS_SECURE=
+export BRIDGE_HUB_ROCOCO_HOST=
+export BRIDGE_HUB_ROCOCO_PORT=
+# or set it to '--bridge-hub-rococo-secure' if wss is used above
+export BRIDGE_HUB_ROCOCO_IS_SECURE=
+export BRIDGE_HUB_ROCOCO_KEY_FILE=
+
+export WESTEND_HOST=
+export WESTEND_PORT=
+# or set it to '--westend-secure' if wss is used above
+export WESTEND_IS_SECURE=
+export BRIDGE_HUB_WESTEND_HOST=
+export BRIDGE_HUB_WESTEND_PORT=
+# or set it to '--bridge-hub-westend-secure ' if wss is used above
+export BRIDGE_HUB_WESTEND_IS_SECURE=
+export BRIDGE_HUB_WESTEND_KEY_FILE=
+
+# you can get extended relay logs (e.g. for debugging issues) by passing `-e RUST_LOG=bridge=trace`
+# argument to the `docker` binary
+docker run \
+ -v $BRIDGE_HUB_ROCOCO_KEY_FILE:/bhr.key \
+ -v $BRIDGE_HUB_WESTEND_KEY_FILE:/bhw.key \
+ $DOCKER_IMAGE \
+ relay-headers-and-messages bridge-hub-rococo-bridge-hub-westend \
+ --rococo-host $ROCOCO_HOST \
+ --rococo-port $ROCOCO_PORT \
+ $ROCOCO_IS_SECURE \
+ --rococo-version-mode Auto \
+ --bridge-hub-rococo-host $BRIDGE_HUB_ROCOCO_HOST \
+ --bridge-hub-rococo-port $BRIDGE_HUB_ROCOCO_PORT \
+ $BRIDGE_HUB_ROCOCO_IS_SECURE \
+ --bridge-hub-rococo-version-mode Auto \
+ --bridge-hub-rococo-signer-file /bhr.key \
+ --bridge-hub-rococo-transactions-mortality 16 \
+ --westend-host $WESTEND_HOST \
+ --westend-port $WESTEND_PORT \
+ $WESTEND_IS_SECURE \
+ --westend-version-mode Auto \
+ --bridge-hub-westend-host $BRIDGE_HUB_WESTEND_HOST \
+ --bridge-hub-westend-port $BRIDGE_HUB_WESTEND_PORT \
+ $BRIDGE_HUB_WESTEND_IS_SECURE \
+ --bridge-hub-westend-version-mode Auto \
+ --bridge-hub-westend-signer-file /bhw.key \
+ --bridge-hub-westend-transactions-mortality 16 \
+ --lane 00000002
+```
+
+### Starting your Polkadot <> Kusama Relayer
+
+*Work in progress, coming soon*
+
+### Watching your relayer state
+
+Our relayer provides some Prometheus metrics that you may convert into some fancy Grafana dashboards
+and alerts. By default, metrics are exposed at port `9616`. To expose endpoint to the localhost, change
+the docker command by adding following two lines:
+
+```sh
+docker run \
+ ..
+ -p 127.0.0.1:9616:9616 \ # tell Docker to bind container port 9616 to host port 9616
+ # and listen for connections on the host' localhost interface
+ ..
+ $DOCKER_IMAGE \
+ relay-headers-and-messages bridge-hub-rococo-bridge-hub-westend \
+ --prometheus-host 0.0.0.0 \ # tell `substrate-relay` binary to accept Prometheus endpoint
+ # connections from everywhere
+ ..
+```
+
+You can find more info on configuring Prometheus and Grafana in the
+[Monitor your node](https://wiki.polkadot.network/docs/maintain-guides-how-to-monitor-your-node)
+guide from Polkadot wiki.
+
+We have our own set of Grafana dashboards and alerts. You may use them for inspiration.
+Please find them in this folder:
+
+- for Rococo <> Westend bridge: [rococo-westend](https://github.com/paritytech/parity-bridges-common/tree/master/deployments/bridges/rococo-westend).
+
+- for Polkadot <> Kusama bridge: *work in progress, coming soon*
diff --git a/bridges/modules/grandpa/Cargo.toml b/bridges/modules/grandpa/Cargo.toml
index 02ef57a55974..4e78ca6829ee 100644
--- a/bridges/modules/grandpa/Cargo.toml
+++ b/bridges/modules/grandpa/Cargo.toml
@@ -5,6 +5,7 @@ description = "Module implementing GRANDPA on-chain light client used for bridgi
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
@@ -12,10 +13,10 @@ workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
+codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false }
finality-grandpa = { version = "0.16.2", default-features = false }
log = { workspace = true }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
+scale-info = { version = "2.11.1", default-features = false, features = ["derive"] }
# Bridge Dependencies
diff --git a/bridges/modules/grandpa/README.md b/bridges/modules/grandpa/README.md
index 992bd2cc4722..4a3099b8afc6 100644
--- a/bridges/modules/grandpa/README.md
+++ b/bridges/modules/grandpa/README.md
@@ -10,7 +10,7 @@ It is used by the parachains light client (bridge parachains pallet) and by mess
## A Brief Introduction into GRANDPA Finality
You can find detailed information on GRANDPA, by exploring its [repository](https://github.com/paritytech/finality-grandpa).
-Here is the minimal reqiuired GRANDPA information to understand how pallet works.
+Here is the minimal required GRANDPA information to understand how pallet works.
Any Substrate chain may use different block authorship algorithms (like BABE or Aura) to determine block producers and
generate blocks. This has nothing common with finality, though - the task of block authorship is to coordinate
diff --git a/bridges/modules/grandpa/src/call_ext.rs b/bridges/modules/grandpa/src/call_ext.rs
index bc1bbfdc1479..6d7770a89445 100644
--- a/bridges/modules/grandpa/src/call_ext.rs
+++ b/bridges/modules/grandpa/src/call_ext.rs
@@ -205,7 +205,7 @@ pub(crate) fn submit_finality_proof_info_from_args, I: 'static>(
// as an extra weight.
let votes_ancestries_len = justification.votes_ancestries.len().saturated_into();
let extra_weight =
- if votes_ancestries_len > T::BridgedChain::REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY {
+ if votes_ancestries_len > T::BridgedChain::REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY {
T::WeightInfo::submit_finality_proof(precommits_len, votes_ancestries_len)
} else {
Weight::zero()
@@ -396,11 +396,11 @@ mod tests {
let finality_target = test_header(1);
let mut justification_params = JustificationGeneratorParams {
header: finality_target.clone(),
- ancestors: TestBridgedChain::REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY,
+ ancestors: TestBridgedChain::REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY,
..Default::default()
};
- // when there are `REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY` headers => no refund
+ // when there are `REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY` headers => no refund
let justification = make_justification_for_header(justification_params.clone());
let call = RuntimeCall::Grandpa(crate::Call::submit_finality_proof_ex {
finality_target: Box::new(finality_target.clone()),
@@ -409,7 +409,7 @@ mod tests {
});
assert_eq!(call.submit_finality_proof_info().unwrap().extra_weight, Weight::zero());
- // when there are `REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY + 1` headers => full refund
+ // when there are `REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY + 1` headers => full refund
justification_params.ancestors += 1;
let justification = make_justification_for_header(justification_params);
let call_weight = ::WeightInfo::submit_finality_proof(
diff --git a/bridges/modules/grandpa/src/lib.rs b/bridges/modules/grandpa/src/lib.rs
index 2f787ebd7c31..7afdb4094d93 100644
--- a/bridges/modules/grandpa/src/lib.rs
+++ b/bridges/modules/grandpa/src/lib.rs
@@ -939,7 +939,7 @@ mod tests {
}
#[test]
- fn succesfully_imports_header_with_valid_finality() {
+ fn successfully_imports_header_with_valid_finality() {
run_test(|| {
initialize_substrate_bridge();
@@ -1196,7 +1196,7 @@ mod tests {
header.digest = change_log(0);
let justification = make_justification_for_header(JustificationGeneratorParams {
header: header.clone(),
- ancestors: TestBridgedChain::REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY + 1,
+ ancestors: TestBridgedChain::REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY + 1,
..Default::default()
});
diff --git a/bridges/modules/grandpa/src/mock.rs b/bridges/modules/grandpa/src/mock.rs
index 4318d663a2e1..e689e520c92f 100644
--- a/bridges/modules/grandpa/src/mock.rs
+++ b/bridges/modules/grandpa/src/mock.rs
@@ -87,7 +87,7 @@ impl Chain for TestBridgedChain {
impl ChainWithGrandpa for TestBridgedChain {
const WITH_CHAIN_GRANDPA_PALLET_NAME: &'static str = "";
const MAX_AUTHORITIES_COUNT: u32 = MAX_BRIDGED_AUTHORITIES;
- const REASONABLE_HEADERS_IN_JUSTIFICATON_ANCESTRY: u32 = 8;
+ const REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY: u32 = 8;
const MAX_MANDATORY_HEADER_SIZE: u32 = 256;
const AVERAGE_HEADER_SIZE: u32 = 64;
}
diff --git a/bridges/modules/messages/Cargo.toml b/bridges/modules/messages/Cargo.toml
index 038e3aa5da61..cf40df6a1c89 100644
--- a/bridges/modules/messages/Cargo.toml
+++ b/bridges/modules/messages/Cargo.toml
@@ -5,15 +5,16 @@ version = "0.7.0"
authors.workspace = true
edition.workspace = true
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+repository.workspace = true
[lints]
workspace = true
[dependencies]
-codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
+codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false }
log = { workspace = true }
num-traits = { version = "0.2", default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
+scale-info = { version = "2.11.1", default-features = false, features = ["derive"] }
# Bridge dependencies
diff --git a/bridges/modules/messages/src/inbound_lane.rs b/bridges/modules/messages/src/inbound_lane.rs
index ed3c6f11e7c1..f3b62222b59c 100644
--- a/bridges/modules/messages/src/inbound_lane.rs
+++ b/bridges/modules/messages/src/inbound_lane.rs
@@ -21,7 +21,7 @@ use crate::Config;
use bp_messages::{
target_chain::{DispatchMessage, DispatchMessageData, MessageDispatch},
DeliveredMessages, InboundLaneData, LaneId, MessageKey, MessageNonce, OutboundLaneData,
- ReceivalResult, UnrewardedRelayer,
+ ReceptionResult, UnrewardedRelayer,
};
use codec::{Decode, Encode, EncodeLike, MaxEncodedLen};
use core::cmp::PartialEq;
@@ -170,21 +170,21 @@ impl InboundLane {
relayer_at_bridged_chain: &S::Relayer,
nonce: MessageNonce,
message_data: DispatchMessageData,
- ) -> ReceivalResult {
+ ) -> ReceptionResult {
let mut data = self.storage.get_or_init_data();
if Some(nonce) != data.last_delivered_nonce().checked_add(1) {
- return ReceivalResult::InvalidNonce
+ return ReceptionResult::InvalidNonce
}
// if there are more unrewarded relayer entries than we may accept, reject this message
if data.relayers.len() as MessageNonce >= self.storage.max_unrewarded_relayer_entries() {
- return ReceivalResult::TooManyUnrewardedRelayers
+ return ReceptionResult::TooManyUnrewardedRelayers
}
// if there are more unconfirmed messages than we may accept, reject this message
let unconfirmed_messages_count = nonce.saturating_sub(data.last_confirmed_nonce);
if unconfirmed_messages_count > self.storage.max_unconfirmed_messages() {
- return ReceivalResult::TooManyUnconfirmedMessages
+ return ReceptionResult::TooManyUnconfirmedMessages
}
// then, dispatch message
@@ -207,7 +207,7 @@ impl InboundLane {
};
self.storage.set_data(data);
- ReceivalResult::Dispatched(dispatch_result)
+ ReceptionResult::Dispatched(dispatch_result)
}
}
@@ -235,7 +235,7 @@ mod tests {
nonce,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::Dispatched(dispatch_result(0))
+ ReceptionResult::Dispatched(dispatch_result(0))
);
}
@@ -362,7 +362,7 @@ mod tests {
10,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::InvalidNonce
+ ReceptionResult::InvalidNonce
);
assert_eq!(lane.storage.get_or_init_data().last_delivered_nonce(), 0);
});
@@ -381,7 +381,7 @@ mod tests {
current_nonce,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::Dispatched(dispatch_result(0))
+ ReceptionResult::Dispatched(dispatch_result(0))
);
}
// Fails to dispatch new message from different than latest relayer.
@@ -391,7 +391,7 @@ mod tests {
max_nonce + 1,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::TooManyUnrewardedRelayers,
+ ReceptionResult::TooManyUnrewardedRelayers,
);
// Fails to dispatch new messages from latest relayer. Prevents griefing attacks.
assert_eq!(
@@ -400,7 +400,7 @@ mod tests {
max_nonce + 1,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::TooManyUnrewardedRelayers,
+ ReceptionResult::TooManyUnrewardedRelayers,
);
});
}
@@ -417,7 +417,7 @@ mod tests {
current_nonce,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::Dispatched(dispatch_result(0))
+ ReceptionResult::Dispatched(dispatch_result(0))
);
}
// Fails to dispatch new message from different than latest relayer.
@@ -427,7 +427,7 @@ mod tests {
max_nonce + 1,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::TooManyUnconfirmedMessages,
+ ReceptionResult::TooManyUnconfirmedMessages,
);
// Fails to dispatch new messages from latest relayer.
assert_eq!(
@@ -436,7 +436,7 @@ mod tests {
max_nonce + 1,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::TooManyUnconfirmedMessages,
+ ReceptionResult::TooManyUnconfirmedMessages,
);
});
}
@@ -451,7 +451,7 @@ mod tests {
1,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::Dispatched(dispatch_result(0))
+ ReceptionResult::Dispatched(dispatch_result(0))
);
assert_eq!(
lane.receive_message::(
@@ -459,7 +459,7 @@ mod tests {
2,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::Dispatched(dispatch_result(0))
+ ReceptionResult::Dispatched(dispatch_result(0))
);
assert_eq!(
lane.receive_message::(
@@ -467,7 +467,7 @@ mod tests {
3,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::Dispatched(dispatch_result(0))
+ ReceptionResult::Dispatched(dispatch_result(0))
);
assert_eq!(
lane.storage.get_or_init_data().relayers,
@@ -490,7 +490,7 @@ mod tests {
1,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::Dispatched(dispatch_result(0))
+ ReceptionResult::Dispatched(dispatch_result(0))
);
assert_eq!(
lane.receive_message::(
@@ -498,7 +498,7 @@ mod tests {
1,
inbound_message_data(REGULAR_PAYLOAD)
),
- ReceivalResult::InvalidNonce,
+ ReceptionResult::InvalidNonce,
);
});
}
@@ -524,7 +524,7 @@ mod tests {
1,
inbound_message_data(payload)
),
- ReceivalResult::Dispatched(dispatch_result(1))
+ ReceptionResult::Dispatched(dispatch_result(1))
);
});
}
diff --git a/bridges/modules/messages/src/lib.rs b/bridges/modules/messages/src/lib.rs
index e5fd00a4a5a6..385d7a852145 100644
--- a/bridges/modules/messages/src/lib.rs
+++ b/bridges/modules/messages/src/lib.rs
@@ -49,7 +49,7 @@ pub use weights_ext::{
use crate::{
inbound_lane::{InboundLane, InboundLaneStorage},
- outbound_lane::{OutboundLane, OutboundLaneStorage, ReceivalConfirmationError},
+ outbound_lane::{OutboundLane, OutboundLaneStorage, ReceptionConfirmationError},
};
use bp_messages::{
@@ -92,7 +92,7 @@ pub const LOG_TARGET: &str = "runtime::bridge-messages";
#[frame_support::pallet]
pub mod pallet {
use super::*;
- use bp_messages::{ReceivalResult, ReceivedMessages};
+ use bp_messages::{ReceivedMessages, ReceptionResult};
use bp_runtime::RangeInclusiveExt;
use frame_support::pallet_prelude::*;
use frame_system::pallet_prelude::*;
@@ -378,13 +378,13 @@ pub mod pallet {
// delivery transaction cost anyway. And base cost covers everything except
// dispatch, so we have a balance here.
let unspent_weight = match &receival_result {
- ReceivalResult::Dispatched(dispatch_result) => {
+ ReceptionResult::Dispatched(dispatch_result) => {
valid_messages += 1;
dispatch_result.unspent_weight
},
- ReceivalResult::InvalidNonce |
- ReceivalResult::TooManyUnrewardedRelayers |
- ReceivalResult::TooManyUnconfirmedMessages => message_dispatch_weight,
+ ReceptionResult::InvalidNonce |
+ ReceptionResult::TooManyUnrewardedRelayers |
+ ReceptionResult::TooManyUnconfirmedMessages => message_dispatch_weight,
};
lane_messages_received_status.push(message.key.nonce, receival_result);
@@ -457,7 +457,7 @@ pub mod pallet {
last_delivered_nonce,
&lane_data.relayers,
)
- .map_err(Error::::ReceivalConfirmation)?;
+ .map_err(Error::::ReceptionConfirmation)?;
if let Some(confirmed_messages) = confirmed_messages {
// emit 'delivered' event
@@ -565,7 +565,7 @@ pub mod pallet {
/// The message someone is trying to work with (i.e. increase fee) is not yet sent.
MessageIsNotYetSent,
/// Error confirming messages receival.
- ReceivalConfirmation(ReceivalConfirmationError),
+ ReceptionConfirmation(ReceptionConfirmationError),
/// Error generated by the `OwnedBridgeModule` trait.
BridgeModule(bp_runtime::OwnedBridgeModuleError),
}
@@ -925,7 +925,7 @@ mod tests {
PAYLOAD_REJECTED_BY_TARGET_CHAIN, REGULAR_PAYLOAD, TEST_LANE_ID, TEST_LANE_ID_2,
TEST_LANE_ID_3, TEST_RELAYER_A, TEST_RELAYER_B,
},
- outbound_lane::ReceivalConfirmationError,
+ outbound_lane::ReceptionConfirmationError,
};
use bp_messages::{
source_chain::MessagesBridge, BridgeMessagesCall, UnrewardedRelayer,
@@ -952,11 +952,11 @@ mod tests {
let outbound_lane = outbound_lane::(lane_id);
let message_nonce = outbound_lane.data().latest_generated_nonce + 1;
- let prev_enqueud_messages = outbound_lane.data().queued_messages().saturating_len();
+ let prev_enqueued_messages = outbound_lane.data().queued_messages().saturating_len();
let valid_message = Pallet::::validate_message(lane_id, ®ULAR_PAYLOAD)
.expect("validate_message has failed");
let artifacts = Pallet::::send_message(valid_message);
- assert_eq!(artifacts.enqueued_messages, prev_enqueud_messages + 1);
+ assert_eq!(artifacts.enqueued_messages, prev_enqueued_messages + 1);
// check event with assigned nonce
assert_eq!(
@@ -1543,7 +1543,7 @@ mod tests {
}
#[test]
- fn actual_dispatch_weight_does_not_overlow() {
+ fn actual_dispatch_weight_does_not_overflow() {
run_test(|| {
let message1 = message(1, message_payload(0, u64::MAX / 2));
let message2 = message(2, message_payload(0, u64::MAX / 2));
@@ -1777,7 +1777,7 @@ mod tests {
// returns `last_confirmed_nonce`;
// 3) it means that we're going to confirm delivery of messages 1..=1;
// 4) so the number of declared messages (see `UnrewardedRelayersState`) is `0` and
- // numer of actually confirmed messages is `1`.
+ // number of actually confirmed messages is `1`.
assert_noop!(
Pallet::::receive_messages_delivery_proof(
RuntimeOrigin::signed(1),
@@ -1787,8 +1787,8 @@ mod tests {
))),
UnrewardedRelayersState { last_delivered_nonce: 1, ..Default::default() },
),
- Error::::ReceivalConfirmation(
- ReceivalConfirmationError::TryingToConfirmMoreMessagesThanExpected
+ Error::::ReceptionConfirmation(
+ ReceptionConfirmationError::TryingToConfirmMoreMessagesThanExpected
),
);
});
diff --git a/bridges/modules/messages/src/outbound_lane.rs b/bridges/modules/messages/src/outbound_lane.rs
index 9c2bc2e8971e..a082c4bc0652 100644
--- a/bridges/modules/messages/src/outbound_lane.rs
+++ b/bridges/modules/messages/src/outbound_lane.rs
@@ -53,7 +53,7 @@ pub type StoredMessagePayload = BoundedVec>::MaximalOu
/// Result of messages receival confirmation.
#[derive(Encode, Decode, RuntimeDebug, PartialEq, Eq, PalletError, TypeInfo)]
-pub enum ReceivalConfirmationError {
+pub enum ReceptionConfirmationError {
/// Bridged chain is trying to confirm more messages than we have generated. May be a result
/// of invalid bridged chain storage.
FailedToConfirmFutureMessages,
@@ -103,7 +103,7 @@ impl OutboundLane {
max_allowed_messages: MessageNonce,
latest_delivered_nonce: MessageNonce,
relayers: &VecDeque>,
- ) -> Result