diff --git a/.github/workflows/check-labels.yml b/.github/workflows/check-labels.yml
index ee03075176995..7180e7b509662 100644
--- a/.github/workflows/check-labels.yml
+++ b/.github/workflows/check-labels.yml
@@ -9,8 +9,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ ref: ${{ github.event.pull_request.head.ref }}
+ repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Check labels
run: bash ${{ github.workspace }}/.maintain/github/check_labels.sh
env:
GITHUB_PR: ${{ github.event.pull_request.number }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ HEAD_SHA: ${{ github.event.pull_request.head.sha }}
diff --git a/.gitignore b/.gitignore
index ce302c74e10a0..0486a1a716e5c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,4 @@ rls*.log
.cargo/
.cargo-remote.toml
*.bin
+*.iml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a7eedee9aa24a..e9f17f54503f4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -119,6 +119,11 @@ default:
- if: $CI_COMMIT_REF_NAME == "tags"
- if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
+.nightly-pipeline: &nightly-pipeline
+ rules:
+ # this job runs only on nightly pipeline with the mentioned variable, against `master` branch
+ - if: $CI_COMMIT_REF_NAME == "master" && $CI_PIPELINE_SOURCE == "schedule" && $PIPELINE == "nightly"
+
#### stage: .pre
skip-if-draft:
@@ -199,17 +204,7 @@ test-prometheus-alerting-rules:
cargo-deny:
stage: test
<<: *docker-env
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- when: never
- - changes:
- - "Cargo.lock"
- - "**/Cargo.toml"
- - if: $CI_PIPELINE_SOURCE == "web"
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME == "tags"
- - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
+ <<: *nightly-pipeline
script:
- cargo deny check --hide-inclusion-graph -c .maintain/deny.toml
after_script:
@@ -277,6 +272,7 @@ test-linux-stable: &test-linux
script:
# this job runs all tests in former runtime-benchmarks, frame-staking and wasmtime tests
- time cargo test --workspace --locked --release --verbose --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml
+ - time cargo test -p frame-support-test --features=conditional-storage --manifest-path frame/support/test/Cargo.toml
- SUBSTRATE_TEST_TIMEOUT=1 time cargo test -p substrate-test-utils --release --verbose --locked -- --ignored timeout
- sccache -s
@@ -340,7 +336,7 @@ check-web-wasm:
# Note: we don't need to test crates imported in `bin/node/cli`
- time cargo build --manifest-path=client/consensus/aura/Cargo.toml --target=wasm32-unknown-unknown --features getrandom
# Note: the command below is a bit weird because several Cargo issues prevent us from compiling the node in a more straight-forward way.
- - time cargo +nightly build --manifest-path=bin/node/cli/Cargo.toml --no-default-features --features browser --target=wasm32-unknown-unknown -Z features=itarget
+ - time cargo +nightly build --manifest-path=bin/node/cli/Cargo.toml --no-default-features --features browser --target=wasm32-unknown-unknown
# with-tracing must be explicitly activated, we run a test to ensure this works as expected in both cases
- time cargo +nightly test --manifest-path primitives/tracing/Cargo.toml --no-default-features
- time cargo +nightly test --manifest-path primitives/tracing/Cargo.toml --no-default-features --features=with-tracing
@@ -411,7 +407,7 @@ test-browser-node:
CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_RUNNER: "wasm-bindgen-test-runner"
WASM_BINDGEN_TEST_TIMEOUT: 120
script:
- - cargo +nightly test --target wasm32-unknown-unknown -p node-browser-testing -Z features=itarget
+ - cargo +nightly test --target wasm32-unknown-unknown -p node-browser-testing
build-linux-substrate: &build-binary
stage: build
@@ -523,6 +519,10 @@ build-rust-doc:
- buildah info
- buildah push --format=v2s2 "$IMAGE_NAME:$VERSION"
- buildah push --format=v2s2 "$IMAGE_NAME:latest"
+ # pass artifacts to the trigget-simnet job
+ - echo "VERSION=${VERSION}" > build.env
+ - echo "TRIGGERER=${CI_PROJECT_NAME}" >> build.env
+ after_script:
- buildah logout "$IMAGE_NAME"
publish-docker-substrate:
@@ -534,8 +534,6 @@ publish-docker-substrate:
variables:
<<: *docker-build-vars
PRODUCT: substrate
- after_script:
- - echo "VERSION=${VERSION}" >> build.env
artifacts:
reports:
# this artifact is used in trigger-simnet job
@@ -653,9 +651,7 @@ deploy-prometheus-alerting-rules:
trigger-simnet:
stage: deploy
- rules:
- # this job runs only on nightly pipeline with the mentioned variable, against `master` branch
- - if: $CI_COMMIT_REF_NAME == "master" && $CI_PIPELINE_SOURCE == "schedule" && $PIPELINE == "nightly"
+ <<: *nightly-pipeline
needs:
- job: publish-docker-substrate
trigger:
diff --git a/.maintain/common/lib.sh b/.maintain/common/lib.sh
index 1d4be0ecc7296..ce6c566d799ab 100755
--- a/.maintain/common/lib.sh
+++ b/.maintain/common/lib.sh
@@ -82,7 +82,7 @@ has_label(){
# Formats a message into a JSON string for posting to Matrix
# message: 'any plaintext message'
-# formatted_message: 'optional message formatted in html'
+# formatted_message: 'optional message formatted in html'
# Usage: structure_message $content $formatted_content (optional)
structure_message() {
if [ -z "$2" ]; then
@@ -101,3 +101,17 @@ structure_message() {
send_message() {
curl -XPOST -d "$1" "https://matrix.parity.io/_matrix/client/r0/rooms/$2/send/m.room.message?access_token=$3"
}
+
+# Check for runtime changes between two commits. This is defined as any changes
+# to bin/node/src/runtime, frame/ and primitives/sr_* trees.
+has_runtime_changes() {
+ from=$1
+ to=$2
+ if git diff --name-only "${from}...${to}" \
+ | grep -q -e '^frame/' -e '^primitives/'
+ then
+ return 0
+ else
+ return 1
+ fi
+}
diff --git a/.maintain/github/check_labels.sh b/.maintain/github/check_labels.sh
index 75190db6683fa..7b0aed9fe7345 100755
--- a/.maintain/github/check_labels.sh
+++ b/.maintain/github/check_labels.sh
@@ -1,4 +1,5 @@
#!/usr/bin/env bash
+set -e
#shellcheck source=../common/lib.sh
source "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )/../common/lib.sh"
@@ -24,10 +25,18 @@ releasenotes_labels=(
)
criticality_labels=(
- 'C1-low'
- 'C3-medium'
- 'C7-high'
- 'C9-critical'
+ 'C1-low 📌'
+ 'C3-medium 📣'
+ 'C7-high ❗️'
+ 'C9-critical ‼️'
+)
+
+audit_labels=(
+ 'D1-audited 👍'
+ 'D2-notlive 💤'
+ 'D3-trivial 🧸'
+ 'D5-nicetohaveaudit ⚠️'
+ 'D9-needsaudit 👮'
)
echo "[+] Checking release notes (B) labels"
@@ -46,4 +55,14 @@ else
exit 1
fi
+if has_runtime_changes origin/master "${HEAD_SHA}"; then
+ echo "[+] Runtime changes detected. Checking audit (D) labels"
+ if ensure_labels "${audit_labels[@]}"; then
+ echo "[+] Release audit label detected. All is well."
+ else
+ echo "[!] Release audit label not detected. Please add one of: ${audit_labels[*]}"
+ exit 1
+ fi
+fi
+
exit 0
diff --git a/.maintain/gitlab/check_polkadot_companion_build.sh b/.maintain/gitlab/check_polkadot_companion_build.sh
index bf8fbf5aaf410..c1fd7365237de 100755
--- a/.maintain/gitlab/check_polkadot_companion_build.sh
+++ b/.maintain/gitlab/check_polkadot_companion_build.sh
@@ -86,10 +86,9 @@ else
fi
# Patch all Substrate crates in Polkadot
-diener patch --crates-to-patch ../ --substrate
+diener patch --crates-to-patch ../ --substrate --path Cargo.toml
# Test Polkadot pr or master branch with this Substrate commit.
-cargo update -p sp-io
time cargo test --all --release --verbose --features=real-overseer
cd parachain/test-parachains/adder/collator/
diff --git a/.maintain/gitlab/check_polkadot_companion_status.sh b/.maintain/gitlab/check_polkadot_companion_status.sh
index 4714baf54fb2f..e0412c7b7bec7 100755
--- a/.maintain/gitlab/check_polkadot_companion_status.sh
+++ b/.maintain/gitlab/check_polkadot_companion_status.sh
@@ -56,7 +56,7 @@ fi
boldprint "companion pr: #${pr_companion}"
# check the status of that pull request - needs to be
-# mergable and approved
+# approved and mergable
curl -H "${github_header}" -sS -o companion_pr.json \
${github_api_polkadot_pull_url}/${pr_companion}
@@ -64,20 +64,6 @@ curl -H "${github_header}" -sS -o companion_pr.json \
pr_head_sha=$(jq -r -e '.head.sha' < companion_pr.json)
boldprint "Polkadot PR's HEAD SHA: $pr_head_sha"
-if jq -e .merged < companion_pr.json >/dev/null
-then
- boldprint "polkadot pr #${pr_companion} already merged"
- exit 0
-fi
-
-if jq -e '.mergeable' < companion_pr.json >/dev/null
-then
- boldprint "polkadot pr #${pr_companion} mergeable"
-else
- boldprint "polkadot pr #${pr_companion} not mergeable"
- exit 1
-fi
-
curl -H "${github_header}" -sS -o companion_pr_reviews.json \
${github_api_polkadot_pull_url}/${pr_companion}/reviews
@@ -98,6 +84,19 @@ if [ -z "$(jq -r -e '.[].state | select(. == "APPROVED")' < companion_pr_reviews
fi
boldprint "polkadot pr #${pr_companion} state APPROVED"
-exit 0
+if jq -e .merged < companion_pr.json >/dev/null
+then
+ boldprint "polkadot pr #${pr_companion} already merged"
+ exit 0
+fi
+
+if jq -e '.mergeable' < companion_pr.json >/dev/null
+then
+ boldprint "polkadot pr #${pr_companion} mergeable"
+else
+ boldprint "polkadot pr #${pr_companion} not mergeable"
+ exit 1
+fi
+exit 0
diff --git a/.maintain/gitlab/check_runtime.sh b/.maintain/gitlab/check_runtime.sh
index 6d009c5aafc6a..af392e1b7d118 100755
--- a/.maintain/gitlab/check_runtime.sh
+++ b/.maintain/gitlab/check_runtime.sh
@@ -8,12 +8,13 @@
set -e # fail on any error
-
+#shellcheck source=../common/lib.sh
+. "$(dirname "${0}")/../common/lib.sh"
VERSIONS_FILE="bin/node/runtime/src/lib.rs"
-boldprint () { printf "|\n| \033[1m${@}\033[0m\n|\n" ; }
-boldcat () { printf "|\n"; while read l; do printf "| \033[1m${l}\033[0m\n"; done; printf "|\n" ; }
+boldprint () { printf "|\n| \033[1m%s\033[0m\n|\n" "${@}"; }
+boldcat () { printf "|\n"; while read -r l; do printf "| \033[1m%s\033[0m\n" "${l}"; done; printf "|\n" ; }
github_label () {
echo
@@ -23,7 +24,7 @@ github_label () {
-F "ref=master" \
-F "variables[LABEL]=${1}" \
-F "variables[PRNO]=${CI_COMMIT_REF_NAME}" \
- ${GITLAB_API}/projects/${GITHUB_API_PROJECT}/trigger/pipeline
+ "${GITLAB_API}/projects/${GITHUB_API_PROJECT}/trigger/pipeline"
}
@@ -31,16 +32,14 @@ boldprint "latest 10 commits of ${CI_COMMIT_REF_NAME}"
git log --graph --oneline --decorate=short -n 10
boldprint "make sure the master branch and release tag are available in shallow clones"
-git fetch --depth=${GIT_DEPTH:-100} origin master
-git fetch --depth=${GIT_DEPTH:-100} origin release
+git fetch --depth="${GIT_DEPTH:-100}" origin master
+git fetch --depth="${GIT_DEPTH:-100}" origin release
git tag -f release FETCH_HEAD
git log -n1 release
boldprint "check if the wasm sources changed"
-if ! git diff --name-only origin/master...${CI_COMMIT_SHA} \
- | grep -v -e '^primitives/sr-arithmetic/fuzzer' \
- | grep -q -e '^bin/node/src/runtime' -e '^frame/' -e '^primitives/sr-'
+if ! has_runtime_changes origin/master "${CI_COMMIT_SHA}"
then
boldcat <<-EOT
@@ -57,9 +56,9 @@ fi
# consensus-critical logic that has changed. the runtime wasm blobs must be
# rebuilt.
-add_spec_version="$(git diff tags/release...${CI_COMMIT_SHA} ${VERSIONS_FILE} \
+add_spec_version="$(git diff "tags/release...${CI_COMMIT_SHA}" "${VERSIONS_FILE}" \
| sed -n -r "s/^\+[[:space:]]+spec_version: +([0-9]+),$/\1/p")"
-sub_spec_version="$(git diff tags/release...${CI_COMMIT_SHA} ${VERSIONS_FILE} \
+sub_spec_version="$(git diff "tags/release...${CI_COMMIT_SHA}" "${VERSIONS_FILE}" \
| sed -n -r "s/^\-[[:space:]]+spec_version: +([0-9]+),$/\1/p")"
@@ -67,8 +66,6 @@ sub_spec_version="$(git diff tags/release...${CI_COMMIT_SHA} ${VERSIONS_FILE} \
if [ "${add_spec_version}" != "${sub_spec_version}" ]
then
- github_label "D2-breaksapi"
-
boldcat <<-EOT
changes to the runtime sources and changes in the spec version.
@@ -82,9 +79,9 @@ else
# check for impl_version updates: if only the impl versions changed, we assume
# there is no consensus-critical logic that has changed.
- add_impl_version="$(git diff tags/release...${CI_COMMIT_SHA} ${VERSIONS_FILE} \
+ add_impl_version="$(git diff "tags/release...${CI_COMMIT_SHA}" "${VERSIONS_FILE}" \
| sed -n -r 's/^\+[[:space:]]+impl_version: +([0-9]+),$/\1/p')"
- sub_impl_version="$(git diff tags/release...${CI_COMMIT_SHA} ${VERSIONS_FILE} \
+ sub_impl_version="$(git diff "tags/release...${CI_COMMIT_SHA}" "${VERSIONS_FILE}" \
| sed -n -r 's/^\-[[:space:]]+impl_version: +([0-9]+),$/\1/p')"
diff --git a/.maintain/monitoring/alerting-rules/alerting-rules.yaml b/.maintain/monitoring/alerting-rules/alerting-rules.yaml
index 5ee2376677677..1aed87ad84f88 100644
--- a/.maintain/monitoring/alerting-rules/alerting-rules.yaml
+++ b/.maintain/monitoring/alerting-rules/alerting-rules.yaml
@@ -135,7 +135,7 @@ groups:
- alert: ContinuousTaskEnded
expr: '(polkadot_tasks_spawned_total{task_name != "basic-authorship-proposer"} == 1)
- - on(instance, task_name) (polkadot_tasks_ended_total == 1)'
+ - on(instance, task_name) group_left() (polkadot_tasks_ended_total == 1)'
for: 5m
labels:
severity: warning
diff --git a/.maintain/node-template-release.sh b/.maintain/node-template-release.sh
index 1a6c245320593..fd470a3dce17a 100755
--- a/.maintain/node-template-release.sh
+++ b/.maintain/node-template-release.sh
@@ -10,7 +10,7 @@ if [ "$#" -ne 1 ]; then
exit 1
fi
-PATH_TO_ARCHIVE=$(pwd)/$1
+PATH_TO_ARCHIVE=$1
cd $PROJECT_ROOT/.maintain/node-template-release
cargo run $PROJECT_ROOT/bin/node-template $PATH_TO_ARCHIVE
diff --git a/.maintain/node-template-release/Cargo.toml b/.maintain/node-template-release/Cargo.toml
index dd3166d58ddf4..c1d9f2da7faea 100644
--- a/.maintain/node-template-release/Cargo.toml
+++ b/.maintain/node-template-release/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-template-release"
-version = "2.0.0"
+version = "3.0.0"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0"
diff --git a/Cargo.lock b/Cargo.lock
index 3c8900a790f3b..f038ec8bed2dc 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -23,9 +23,9 @@ dependencies = [
[[package]]
name = "adler"
-version = "0.2.3"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "aead"
@@ -131,9 +131,9 @@ dependencies = [
[[package]]
name = "arbitrary"
-version = "0.4.7"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db55d72333851e17d572bec876e390cd3b11eb1ef53ae821dd9f3b653d2b4569"
+checksum = "698b65a961a9d730fb45b6b0327e20207810c9f61ee421b082b27ba003f49e2b"
[[package]]
name = "arrayref"
@@ -177,10 +177,11 @@ dependencies = [
[[package]]
name = "assert_cmd"
-version = "1.0.2"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dc1679af9a1ab4bea16f228b05d18f8363f8327b1fa8db00d2760cfafc6b61e"
+checksum = "f2475b58cd94eb4f70159f4fd8844ba3b807532fe3131b3373fae060bbe30396"
dependencies = [
+ "bstr",
"doc-comment",
"predicates",
"predicates-core",
@@ -190,9 +191,9 @@ dependencies = [
[[package]]
name = "assert_matches"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "695579f0f2520f3774bb40461e5adb066459d4e0af4d59d20175484fb8e9edf1"
+checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9"
[[package]]
name = "async-attributes"
@@ -206,9 +207,9 @@ dependencies = [
[[package]]
name = "async-channel"
-version = "1.5.1"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59740d83946db6a5af71ae25ddf9562c2b176b2ca42cf99a455f09f4a220d6b9"
+checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319"
dependencies = [
"concurrent-queue",
"event-listener",
@@ -285,13 +286,13 @@ dependencies = [
[[package]]
name = "async-process"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c8cea09c1fb10a317d1b5af8024eeba256d6554763e85ecd90ff8df31c7bbda"
+checksum = "ef37b86e2fa961bae5a4d212708ea0154f904ce31d1a4a7f47e1bbc33a0c040b"
dependencies = [
"async-io",
"blocking",
- "cfg-if 0.1.10",
+ "cfg-if 1.0.0",
"event-listener",
"futures-lite",
"once_cell",
@@ -311,7 +312,7 @@ dependencies = [
"async-io",
"async-lock",
"async-process",
- "crossbeam-utils 0.8.1",
+ "crossbeam-utils 0.8.3",
"futures-channel",
"futures-core",
"futures-io",
@@ -322,12 +323,26 @@ dependencies = [
"memchr",
"num_cpus",
"once_cell",
- "pin-project-lite 0.2.5",
+ "pin-project-lite 0.2.6",
"pin-utils",
"slab",
"wasm-bindgen-futures",
]
+[[package]]
+name = "async-std-resolver"
+version = "0.20.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f665c56111e244fe38e7708ee10948a4356ad6a548997c21f5a63a0f4e0edc4d"
+dependencies = [
+ "async-std",
+ "async-trait",
+ "futures-io",
+ "futures-util",
+ "pin-utils",
+ "trust-dns-resolver",
+]
+
[[package]]
name = "async-task"
version = "4.0.3"
@@ -336,9 +351,9 @@ checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0"
[[package]]
name = "async-trait"
-version = "0.1.42"
+version = "0.1.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d3a45e77e34375a7923b1e8febb049bb011f064714a8e17a1a616fef01da13d"
+checksum = "7e098e9c493fdf92832223594d9a164f96bdf17ba81a42aff86f85c76768726a"
dependencies = [
"proc-macro2",
"quote",
@@ -355,7 +370,7 @@ dependencies = [
"futures-sink",
"futures-util",
"memchr",
- "pin-project-lite 0.2.5",
+ "pin-project-lite 0.2.6",
]
[[package]]
@@ -368,7 +383,7 @@ dependencies = [
"futures-sink",
"futures-util",
"memchr",
- "pin-project-lite 0.2.5",
+ "pin-project-lite 0.2.6",
]
[[package]]
@@ -443,9 +458,9 @@ checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
[[package]]
name = "bincode"
-version = "1.3.1"
+version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30d3a39baa26f9651f17b375061f3233dde33424a8b72b0dbe93a68a0bc896d"
+checksum = "d175dfa69e619905c4c3cdb7c3c203fa3bdd5d51184e3afdb2742c0280493772"
dependencies = [
"byteorder",
"serde",
@@ -483,12 +498,22 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
[[package]]
name = "bitvec"
-version = "0.20.1"
+version = "0.17.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"
+dependencies = [
+ "either",
+ "radium 0.3.0",
+]
+
+[[package]]
+name = "bitvec"
+version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5011ffc90248764d7005b0e10c7294f5aa1bd87d9dd7248f4ad475b347c294d"
+checksum = "1f682656975d3a682daff957be4ddeb65d6ad656737cd821f2d00685ae466af1"
dependencies = [
"funty",
- "radium",
+ "radium 0.6.2",
"tap",
"wyz",
]
@@ -560,7 +585,7 @@ dependencies = [
"block-padding 0.1.5",
"byte-tools",
"byteorder",
- "generic-array 0.12.3",
+ "generic-array 0.12.4",
]
[[package]]
@@ -619,9 +644,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3"
[[package]]
name = "bstr"
-version = "0.2.14"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "473fc6b38233f9af7baa94fb5852dca389e3d95b8e21c8e3719301462c5d9faf"
+checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d"
dependencies = [
"lazy_static",
"memchr",
@@ -640,9 +665,15 @@ dependencies = [
[[package]]
name = "bumpalo"
-version = "3.6.0"
+version = "3.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "099e596ef14349721d9016f6b80dd3419ea1bf289ab9b44df8e4dfd3a005d5d9"
+checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"
+
+[[package]]
+name = "byte-slice-cast"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3"
[[package]]
name = "byte-slice-cast"
@@ -658,9 +689,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
[[package]]
name = "byteorder"
-version = "1.4.2"
+version = "1.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b"
+checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
[[package]]
name = "bytes"
@@ -724,9 +755,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.0.66"
+version = "1.0.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48"
+checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
dependencies = [
"jobserver",
]
@@ -806,9 +837,9 @@ dependencies = [
[[package]]
name = "cid"
-version = "0.6.0"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d88f30b1e74e7063df5711496f3ee6e74a9735d62062242d70cddf77717f18e"
+checksum = "ff0e3bc0b6446b3f9663c1a6aba6ef06c5aeaa1bc92bd18077be337198ab9768"
dependencies = [
"multibase",
"multihash",
@@ -887,12 +918,6 @@ dependencies = [
"wasm-bindgen",
]
-[[package]]
-name = "const_fn"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6"
-
[[package]]
name = "constant_time_eq"
version = "0.1.5"
@@ -1085,7 +1110,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775"
dependencies = [
"cfg-if 1.0.0",
- "crossbeam-utils 0.8.1",
+ "crossbeam-utils 0.8.3",
]
[[package]]
@@ -1106,8 +1131,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
dependencies = [
"cfg-if 1.0.0",
- "crossbeam-epoch 0.9.1",
- "crossbeam-utils 0.8.1",
+ "crossbeam-epoch 0.9.3",
+ "crossbeam-utils 0.8.3",
]
[[package]]
@@ -1127,13 +1152,12 @@ dependencies = [
[[package]]
name = "crossbeam-epoch"
-version = "0.9.1"
+version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1aaa739f95311c2c7887a76863f500026092fb1dce0161dab577e559ef3569d"
+checksum = "2584f639eb95fea8c798496315b297cf81b9b58b6d30ab066a75455333cf4b12"
dependencies = [
"cfg-if 1.0.0",
- "const_fn",
- "crossbeam-utils 0.8.1",
+ "crossbeam-utils 0.8.3",
"lazy_static",
"memoffset 0.6.1",
"scopeguard",
@@ -1163,9 +1187,9 @@ dependencies = [
[[package]]
name = "crossbeam-utils"
-version = "0.8.1"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d"
+checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49"
dependencies = [
"autocfg",
"cfg-if 1.0.0",
@@ -1184,7 +1208,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
dependencies = [
- "generic-array 0.12.3",
+ "generic-array 0.12.4",
"subtle 1.0.0",
]
@@ -1200,9 +1224,9 @@ dependencies = [
[[package]]
name = "csv"
-version = "1.1.5"
+version = "1.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9d58633299b24b515ac72a3f869f8b91306a3cec616a602843a383acd6f9e97"
+checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
dependencies = [
"bstr",
"csv-core",
@@ -1231,9 +1255,9 @@ dependencies = [
[[package]]
name = "ctor"
-version = "0.1.18"
+version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10bcb9d7dcbf7002aaffbb53eac22906b64cdcc127971dcc387d8eb7c95d5560"
+checksum = "e8f45d9ad417bcef4817d614a501ab55cdd96a6fdb24f49aab89a54acfd66b19"
dependencies = [
"quote",
"syn",
@@ -1325,7 +1349,7 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
dependencies = [
- "generic-array 0.12.3",
+ "generic-array 0.12.4",
]
[[package]]
@@ -1456,6 +1480,18 @@ version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
+[[package]]
+name = "enum-as-inner"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "enumflags2"
version = "0.6.4"
@@ -1491,9 +1527,9 @@ dependencies = [
[[package]]
name = "env_logger"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26ecb66b4bdca6c1409b40fb255eefc2bd4f6d135dab3c3124f80ffa2a9661e"
+checksum = "17392a012ea30ef05a610aa97dfb49496e71c9f676b27879922ea5bdf60d9d3f"
dependencies = [
"atty",
"humantime 2.1.0",
@@ -1550,7 +1586,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
]
[[package]]
@@ -1622,11 +1658,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6447e2f8178843749e8c8003206def83ec124a7859475395777a28b5338647c"
dependencies = [
"either",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"log",
"num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"rand 0.8.3",
]
@@ -1672,14 +1708,14 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
name = "fork-tree"
version = "3.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
]
[[package]]
name = "form_urlencoded"
-version = "1.0.0"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ece68d15c92e84fa4f19d3780f1294e5ca82a78a6d515f1efaabcc144688be00"
+checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
dependencies = [
"matches",
"percent-encoding 2.1.0",
@@ -1694,7 +1730,7 @@ dependencies = [
"hex-literal",
"linregress",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"paste 1.0.4",
"serde",
"sp-api",
@@ -1713,7 +1749,7 @@ dependencies = [
"chrono",
"frame-benchmarking",
"handlebars",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sc-cli",
"sc-client-db",
"sc-executor",
@@ -1727,6 +1763,19 @@ dependencies = [
"structopt",
]
+[[package]]
+name = "frame-election-provider-support"
+version = "3.0.0"
+dependencies = [
+ "frame-support",
+ "frame-system",
+ "parity-scale-codec 2.0.1",
+ "sp-arithmetic",
+ "sp-npos-elections",
+ "sp-runtime",
+ "sp-std",
+]
+
[[package]]
name = "frame-executive"
version = "3.0.0"
@@ -1737,7 +1786,7 @@ dependencies = [
"pallet-balances",
"pallet-indices",
"pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -1751,7 +1800,7 @@ dependencies = [
name = "frame-metadata"
version = "13.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-std",
@@ -1768,7 +1817,7 @@ dependencies = [
"impl-trait-for-tuples",
"log",
"once_cell",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-util-mem",
"paste 1.0.4",
"pretty_assertions",
@@ -1823,7 +1872,7 @@ dependencies = [
"frame-metadata",
"frame-support",
"frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"pretty_assertions",
"rustversion",
"serde",
@@ -1844,7 +1893,7 @@ dependencies = [
"frame-support",
"impl-trait-for-tuples",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-externalities",
@@ -1862,7 +1911,7 @@ dependencies = [
"frame-benchmarking",
"frame-support",
"frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -1874,7 +1923,7 @@ dependencies = [
name = "frame-system-rpc-runtime-api"
version = "3.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api",
]
@@ -1883,7 +1932,7 @@ name = "frame-try-runtime"
version = "0.9.0"
dependencies = [
"frame-support",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api",
"sp-runtime",
"sp-std",
@@ -1891,9 +1940,9 @@ dependencies = [
[[package]]
name = "fs-swap"
-version = "0.2.5"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5839fda247e24ca4919c87c71dd5ca658f1f39e4f06829f80e3f15c3bafcfc2c"
+checksum = "03d47dad3685eceed8488986cad3d5027165ea5edb164331770e2059555f10a5"
dependencies = [
"lazy_static",
"libc",
@@ -1901,6 +1950,16 @@ dependencies = [
"winapi 0.3.9",
]
+[[package]]
+name = "fs2"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
+dependencies = [
+ "libc",
+ "winapi 0.3.9",
+]
+
[[package]]
name = "fs_extra"
version = "1.2.0"
@@ -1937,15 +1996,15 @@ checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
[[package]]
name = "futures"
-version = "0.1.30"
+version = "0.1.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c7e4c2612746b0df8fed4ce0c69156021b704c9aefa360311c04e6e9e002eed"
+checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
[[package]]
name = "futures"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da9052a1a50244d8d5aa9bf55cbc2fb6f357c86cc52e46c62ed390a7180cf150"
+checksum = "7f55667319111d593ba876406af7c409c0ebb44dc4be6132a783ccf163ea14c1"
dependencies = [
"futures-channel",
"futures-core",
@@ -1958,9 +2017,9 @@ dependencies = [
[[package]]
name = "futures-channel"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2d31b7ec7efab6eefc7c57233bb10b847986139d88cc2f5a02a1ae6871a1846"
+checksum = "8c2dd2df839b57db9ab69c2c9d8f3e8c81984781937fe2807dc6dcf3b2ad2939"
dependencies = [
"futures-core",
"futures-sink",
@@ -1968,9 +2027,9 @@ dependencies = [
[[package]]
name = "futures-core"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79e5145dde8da7d1b3892dad07a9c98fc04bc39892b1ecc9692cf53e2b780a65"
+checksum = "15496a72fabf0e62bdc3df11a59a3787429221dd0710ba8ef163d6f7a9112c94"
[[package]]
name = "futures-cpupool"
@@ -1978,7 +2037,7 @@ version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
dependencies = [
- "futures 0.1.30",
+ "futures 0.1.31",
"num_cpus",
]
@@ -1988,8 +2047,8 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdcef58a173af8148b182684c9f2d5250875adbcaff7b5794073894f9d8634a9"
dependencies = [
- "futures 0.1.30",
- "futures 0.3.12",
+ "futures 0.1.31",
+ "futures 0.3.13",
"lazy_static",
"log",
"parking_lot 0.9.0",
@@ -2000,9 +2059,9 @@ dependencies = [
[[package]]
name = "futures-executor"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9e59fdc009a4b3096bf94f740a0f2424c082521f20a9b08c5c07c48d90fd9b9"
+checksum = "891a4b7b96d84d5940084b2a37632dd65deeae662c114ceaa2c879629c9c0ad1"
dependencies = [
"futures-core",
"futures-task",
@@ -2012,9 +2071,9 @@ dependencies = [
[[package]]
name = "futures-io"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28be053525281ad8259d47e4de5de657b25e7bac113458555bb4b70bc6870500"
+checksum = "d71c2c65c57704c32f5241c1223167c2c3294fd34ac020c807ddbe6db287ba59"
[[package]]
name = "futures-lite"
@@ -2027,15 +2086,15 @@ dependencies = [
"futures-io",
"memchr",
"parking",
- "pin-project-lite 0.2.5",
+ "pin-project-lite 0.2.6",
"waker-fn",
]
[[package]]
name = "futures-macro"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c287d25add322d9f9abdcdc5927ca398917996600182178774032e9f8258fedd"
+checksum = "ea405816a5139fb39af82c2beb921d52143f556038378d6db21183a5c37fbfb7"
dependencies = [
"proc-macro-hack",
"proc-macro2",
@@ -2056,18 +2115,15 @@ dependencies = [
[[package]]
name = "futures-sink"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "caf5c69029bda2e743fddd0582d1083951d65cc9539aebf8812f36c3491342d6"
+checksum = "85754d98985841b7d4f5e8e6fbfa4a4ac847916893ec511a2917ccd8525b8bb3"
[[package]]
name = "futures-task"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13de07eb8ea81ae445aca7b69f5f7bf15d7bf4912d8ca37d6645c77ae8a58d86"
-dependencies = [
- "once_cell",
-]
+checksum = "fa189ef211c15ee602667a6fcfe1c1fd9e07d42250d2156382820fba33c9df80"
[[package]]
name = "futures-timer"
@@ -2087,11 +2143,11 @@ dependencies = [
[[package]]
name = "futures-util"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "632a8cd0f2a4b3fdea1657f08bde063848c3bd00f9bbf6e256b8be78802e624b"
+checksum = "1812c7ab8aedf8d6f2701a43e1243acdbcc2b36ab26e2ad421eb99ac963d96d1"
dependencies = [
- "futures 0.1.30",
+ "futures 0.1.31",
"futures-channel",
"futures-core",
"futures-io",
@@ -2099,7 +2155,7 @@ dependencies = [
"futures-sink",
"futures-task",
"memchr",
- "pin-project-lite 0.2.5",
+ "pin-project-lite 0.2.6",
"pin-utils",
"proc-macro-hack",
"proc-macro-nested",
@@ -2114,18 +2170,18 @@ checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
[[package]]
name = "generic-array"
-version = "0.12.3"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
+checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
dependencies = [
"typenum",
]
[[package]]
name = "generic-array"
-version = "0.13.2"
+version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed1e761351b56f54eb9dcd0cfaca9fd0daecf93918e1cfc01c8a3d26ee7adcd"
+checksum = "f797e67af32588215eaaab8327027ee8e71b9dd0b2b26996aedf20c030fce309"
dependencies = [
"typenum",
]
@@ -2228,7 +2284,7 @@ dependencies = [
"byteorder",
"bytes 0.4.12",
"fnv",
- "futures 0.1.30",
+ "futures 0.1.31",
"http 0.1.21",
"indexmap",
"log",
@@ -2265,9 +2321,9 @@ checksum = "62aca2aba2d62b4a7f5b33f3712cb1b0692779a56fb510499d5c0aa594daeaf3"
[[package]]
name = "handlebars"
-version = "3.5.2"
+version = "3.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "964d0e99a61fe9b1b347389b77ebf8b7e1587b70293676aaca7d27e59b9073b2"
+checksum = "cdb0867bbc5a3da37a753e78021d5fcf8a4db00e18dd2dd90fd36e24190e162d"
dependencies = [
"log",
"pest",
@@ -2321,9 +2377,9 @@ dependencies = [
[[package]]
name = "hex"
-version = "0.4.2"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hex-literal"
@@ -2364,21 +2420,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b"
dependencies = [
"digest 0.8.1",
- "generic-array 0.12.3",
+ "generic-array 0.12.4",
"hmac 0.7.1",
]
[[package]]
name = "honggfuzz"
-version = "0.5.52"
+version = "0.5.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ead88897bcad1c396806d6ccba260a0363e11da997472e9e19ab9889969083a2"
+checksum = "bea09577d948a98a5f59b7c891e274c4fb35ad52f67782b3d0cb53b9c05301f1"
dependencies = [
"arbitrary",
"lazy_static",
"memmap",
]
+[[package]]
+name = "hostname"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
+dependencies = [
+ "libc",
+ "match_cfg",
+ "winapi 0.3.9",
+]
+
[[package]]
name = "http"
version = "0.1.21"
@@ -2408,7 +2475,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d"
dependencies = [
"bytes 0.4.12",
- "futures 0.1.30",
+ "futures 0.1.31",
"http 0.1.21",
"tokio-buf",
]
@@ -2425,9 +2492,9 @@ dependencies = [
[[package]]
name = "httparse"
-version = "1.3.4"
+version = "1.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
+checksum = "615caabe2c3160b313d52ccc905335f4ed5f10881dd63dc5699d47e90be85691"
[[package]]
name = "httpdate"
@@ -2452,12 +2519,12 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
[[package]]
name = "hyper"
-version = "0.12.35"
+version = "0.12.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dbe6ed1438e1f8ad955a4701e9a944938e9519f6888d12d8558b645e247d5f6"
+checksum = "5c843caf6296fc1f93444735205af9ed4e109a539005abb2564ae1d6fad34c52"
dependencies = [
"bytes 0.4.12",
- "futures 0.1.30",
+ "futures 0.1.31",
"futures-cpupool",
"h2 0.1.26",
"http 0.1.21",
@@ -2482,9 +2549,9 @@ dependencies = [
[[package]]
name = "hyper"
-version = "0.13.9"
+version = "0.13.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6ad767baac13b44d4529fcf58ba2cd0995e36e7b435bc5b039de6f47e880dbf"
+checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb"
dependencies = [
"bytes 0.5.6",
"futures-channel",
@@ -2496,8 +2563,8 @@ dependencies = [
"httparse",
"httpdate",
"itoa",
- "pin-project 1.0.4",
- "socket2",
+ "pin-project 1.0.5",
+ "socket2 0.3.19",
"tokio 0.2.25",
"tower-service",
"tracing",
@@ -2513,7 +2580,7 @@ dependencies = [
"bytes 0.5.6",
"ct-logs",
"futures-util",
- "hyper 0.13.9",
+ "hyper 0.13.10",
"log",
"rustls 0.18.1",
"rustls-native-certs",
@@ -2535,9 +2602,9 @@ dependencies = [
[[package]]
name = "idna"
-version = "0.2.0"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
+checksum = "89829a5d69c23d348314a7ac337fe39173b61149a9864deabd260983aed48c21"
dependencies = [
"matches",
"unicode-bidi",
@@ -2567,12 +2634,12 @@ dependencies = [
[[package]]
name = "if-watch"
-version = "0.1.8"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97b8538953a3f0d0d3868f0a706eb4273535e10d72acb5c82c1c23ae48835c85"
+checksum = "6a6d52908d4ea4ab2bc22474ba149bf1011c8e2c3ebc1ff593ae28ac44f494b6"
dependencies = [
"async-io",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-lite",
"if-addrs",
"ipnet",
@@ -2587,7 +2654,7 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df170efa359aebdd5cb7fe78edcc67107748e4737bdca8a8fb40d15ea7a877ed"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
]
[[package]]
@@ -2612,9 +2679,9 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "1.6.1"
+version = "1.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb1fa934250de4de8aef298d81c729a7d33d8c239daa3a7575e6b92bfc7313b"
+checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3"
dependencies = [
"autocfg",
"hashbrown",
@@ -2648,7 +2715,7 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 2.0.2",
]
@@ -2667,6 +2734,18 @@ version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ee15951c035f79eddbef745611ec962f63f4558f1dadf98ab723cc603487c6f"
+[[package]]
+name = "ipconfig"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7"
+dependencies = [
+ "socket2 0.3.19",
+ "widestring",
+ "winapi 0.3.9",
+ "winreg",
+]
+
[[package]]
name = "ipnet"
version = "2.3.0"
@@ -2708,9 +2787,9 @@ dependencies = [
[[package]]
name = "js-sys"
-version = "0.3.46"
+version = "0.3.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf3d7383929f7c9c7c2d0fa596f325832df98c3704f2c60553080f7127a58175"
+checksum = "5cfb73131c35423a367daf8cbd24100af0d077668c8c2943f0e7dd775fef0f65"
dependencies = [
"wasm-bindgen",
]
@@ -2722,8 +2801,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "489b9c612e60c766f751ab40fcb43cbb55a1e10bb44a9b4307ed510ca598cbd7"
dependencies = [
"failure",
- "futures 0.1.30",
- "hyper 0.12.35",
+ "futures 0.1.31",
+ "hyper 0.12.36",
"jsonrpc-core",
"jsonrpc-pubsub",
"log",
@@ -2738,7 +2817,7 @@ version = "15.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0745a6379e3edc893c84ec203589790774e4247420033e71a76d3ab4687991fa"
dependencies = [
- "futures 0.1.30",
+ "futures 0.1.31",
"log",
"serde",
"serde_derive",
@@ -2772,7 +2851,7 @@ version = "15.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fb5c4513b7b542f42da107942b7b759f27120b5cc894729f88254b28dff44b7"
dependencies = [
- "hyper 0.12.35",
+ "hyper 0.12.36",
"jsonrpc-core",
"jsonrpc-server-utils",
"log",
@@ -2845,8 +2924,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "124797a4ea7430d0675db78e065e53316e3f1a3cbf0ee4d6dbdd42db7b08e193"
dependencies = [
"async-trait",
- "futures 0.3.12",
- "hyper 0.13.9",
+ "futures 0.3.13",
+ "hyper 0.13.10",
"jsonrpsee-types",
"jsonrpsee-utils",
"log",
@@ -2854,7 +2933,7 @@ dependencies = [
"serde_json",
"thiserror",
"unicase",
- "url 2.2.0",
+ "url 2.2.1",
]
[[package]]
@@ -2876,7 +2955,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a8cd20c190e75dc56f7543b9d5713c3186351b301b5507ea6b85d8c403aac78"
dependencies = [
"async-trait",
- "futures 0.3.12",
+ "futures 0.3.13",
"log",
"serde",
"serde_json",
@@ -2890,9 +2969,9 @@ version = "0.2.0-alpha"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0e45394ec3175a767c3c5bac584560e6ad9b56ebd73216c85ec8bab49619244"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"globset",
- "hyper 0.13.9",
+ "hyper 0.13.10",
"jsonrpsee-types",
"lazy_static",
"log",
@@ -2980,7 +3059,7 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb1e98ba343d0b35f9009a8844cd2b87fa3192f7e79033ac05b00aeae0f3b0b5"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"js-sys",
"kvdb",
"kvdb-memorydb",
@@ -3012,9 +3091,9 @@ checksum = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a"
[[package]]
name = "libc"
-version = "0.2.84"
+version = "0.2.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cca32fa0182e8c0989459524dc356b8f2b5c10f1b9eb521b7d182c03cf8c5ff"
+checksum = "ba4aede83fc3617411dc6993bc8c70919750c1c257c6ca6a502aed6e0e2394ae"
[[package]]
name = "libloading"
@@ -3034,13 +3113,13 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
[[package]]
name = "libp2p"
-version = "0.35.1"
+version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adc225a49973cf9ab10d0cdd6a4b8f0cda299df9b760824bbb623f15f8f0c95a"
+checksum = "fe5759b526f75102829c15e4d8566603b4bf502ed19b5f35920d98113873470d"
dependencies = [
"atomic",
"bytes 1.0.1",
- "futures 0.3.12",
+ "futures 0.3.13",
"lazy_static",
"libp2p-core",
"libp2p-deflate",
@@ -3055,6 +3134,7 @@ dependencies = [
"libp2p-ping",
"libp2p-plaintext",
"libp2p-pnet",
+ "libp2p-relay",
"libp2p-request-response",
"libp2p-swarm",
"libp2p-swarm-derive",
@@ -3065,23 +3145,23 @@ dependencies = [
"libp2p-yamux",
"parity-multiaddr",
"parking_lot 0.11.1",
- "pin-project 1.0.4",
+ "pin-project 1.0.5",
"smallvec 1.6.1",
"wasm-timer",
]
[[package]]
name = "libp2p-core"
-version = "0.27.1"
+version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a2d56aadc2c2bf22cd7797f86e56a65b5b3994a0136b65be3106938acae7a26"
+checksum = "c1e1797734bbd4c453664fefb029628f77c356ffc5bce98f06b18a7db3ebb0f7"
dependencies = [
"asn1_der",
"bs58",
"ed25519-dalek",
"either",
"fnv",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"lazy_static",
"libsecp256k1",
@@ -3090,7 +3170,7 @@ dependencies = [
"multistream-select",
"parity-multiaddr",
"parking_lot 0.11.1",
- "pin-project 1.0.4",
+ "pin-project 1.0.5",
"prost",
"prost-build",
"rand 0.7.3",
@@ -3106,35 +3186,38 @@ dependencies = [
[[package]]
name = "libp2p-deflate"
-version = "0.27.1"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d42eed63305f0420736fa487f9acef720c4528bd7852a6a760f5ccde4813345"
+checksum = "a2181a641cd15f9b6ba71b1335800f309012a0a97a29ffaabbbf40e9d3d58f08"
dependencies = [
"flate2",
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p-core",
]
[[package]]
name = "libp2p-dns"
-version = "0.27.0"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5153b6db68fd4baa3b304e377db744dd8fea8ff4e4504509ee636abcde88d3e3"
+checksum = "9712eb3e9f7dcc77cc5ca7d943b6a85ce4b1faaf91a67e003442412a26d6d6f8"
dependencies = [
- "futures 0.3.12",
+ "async-std-resolver",
+ "futures 0.3.13",
"libp2p-core",
"log",
+ "smallvec 1.6.1",
+ "trust-dns-resolver",
]
[[package]]
name = "libp2p-floodsub"
-version = "0.27.0"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3c63dfa06581b24b1d12bf9815b43689a784424be217d6545c800c7c75a207f"
+checksum = "897645f99e9b396df256a6aa8ba8c4bc019ac6b7c62556f624b5feea9acc82bb"
dependencies = [
"cuckoofilter",
"fnv",
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p-core",
"libp2p-swarm",
"log",
@@ -3146,16 +3229,16 @@ dependencies = [
[[package]]
name = "libp2p-gossipsub"
-version = "0.28.0"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "502dc5fcbfec4aa1c63ef3f7307ffe20e90c1a1387bf23ed0bec087f2dde58a1"
+checksum = "794b0c85f5df1acbc1fc38414d37272594811193b6325c76d3931c3e3f5df8c0"
dependencies = [
"asynchronous-codec 0.6.0",
"base64 0.13.0",
"byteorder",
"bytes 1.0.1",
"fnv",
- "futures 0.3.12",
+ "futures 0.3.13",
"hex_fmt",
"libp2p-core",
"libp2p-swarm",
@@ -3172,11 +3255,11 @@ dependencies = [
[[package]]
name = "libp2p-identify"
-version = "0.27.0"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b40fb36a059b7a8cce1514bd8b546fa612e006c9937caa7f5950cb20021fe91e"
+checksum = "f88ebc841d744979176ab4b8b294a3e655a7ba4ef26a905d073a52b49ed4dff5"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p-core",
"libp2p-swarm",
"log",
@@ -3188,16 +3271,16 @@ dependencies = [
[[package]]
name = "libp2p-kad"
-version = "0.28.1"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf3da6c9acbcc05f93235d201d7d45ef4e8b88a45d8836f98becd8b4d443f066"
+checksum = "bbb5b90b6bda749023a85f60b49ea74b387c25f17d8df541ae72a3c75dd52e63"
dependencies = [
"arrayvec 0.5.2",
"asynchronous-codec 0.6.0",
"bytes 1.0.1",
"either",
"fnv",
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p-core",
"libp2p-swarm",
"log",
@@ -3214,34 +3297,34 @@ dependencies = [
[[package]]
name = "libp2p-mdns"
-version = "0.28.1"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e9e6374814d1b118d97ccabdfc975c8910bd16dc38a8bc058eeb08bf2080fe1"
+checksum = "be28ca13bb648d249a9baebd750ebc64ce7040ddd5f0ce1035ff1f4549fb596d"
dependencies = [
"async-io",
"data-encoding",
"dns-parser",
- "futures 0.3.12",
+ "futures 0.3.13",
"if-watch",
"lazy_static",
"libp2p-core",
"libp2p-swarm",
"log",
- "rand 0.7.3",
+ "rand 0.8.3",
"smallvec 1.6.1",
- "socket2",
+ "socket2 0.4.0",
"void",
]
[[package]]
name = "libp2p-mplex"
-version = "0.27.1"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "350ce8b3923594aedabd5d6e3f875d058435052a29c3f32df378bc70d10be464"
+checksum = "85e9b544335d1ed30af71daa96edbefadef6f19c7a55f078b9fc92c87163105d"
dependencies = [
"asynchronous-codec 0.6.0",
"bytes 1.0.1",
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p-core",
"log",
"nohash-hasher",
@@ -3253,13 +3336,13 @@ dependencies = [
[[package]]
name = "libp2p-noise"
-version = "0.29.0"
+version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4aca322b52a0c5136142a7c3971446fb1e9964923a526c9cc6ef3b7c94e57778"
+checksum = "36db0f0db3b0433f5b9463f1c0cd9eadc0a3734a9170439ce501ff99733a88bd"
dependencies = [
"bytes 1.0.1",
"curve25519-dalek 3.0.2",
- "futures 0.3.12",
+ "futures 0.3.13",
"lazy_static",
"libp2p-core",
"log",
@@ -3275,11 +3358,11 @@ dependencies = [
[[package]]
name = "libp2p-ping"
-version = "0.27.0"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3813276d0708c8db0f500d8beda1bda9ad955723b9cb272c41f4727256f73c"
+checksum = "dea10fc5209260915ea65b78f612d7ff78a29ab288e7aa3250796866af861c45"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p-core",
"libp2p-swarm",
"log",
@@ -3290,13 +3373,13 @@ dependencies = [
[[package]]
name = "libp2p-plaintext"
-version = "0.27.1"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d58defcadb646ae4b033e130b48d87410bf76394dc3335496cae99dac803e61"
+checksum = "0c8c37b4d2a075b4be8442760a5f8c037180f0c8dd5b5734b9978ab868b3aa11"
dependencies = [
"asynchronous-codec 0.6.0",
"bytes 1.0.1",
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p-core",
"log",
"prost",
@@ -3311,23 +3394,46 @@ version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ce3374f3b28162db9d3442c9347c4f14cb01e8290052615c7d341d40eae0599"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"log",
- "pin-project 1.0.4",
+ "pin-project 1.0.5",
"rand 0.7.3",
"salsa20",
"sha3",
]
+[[package]]
+name = "libp2p-relay"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ff268be6a9d6f3c6cca3b81bbab597b15217f9ad8787c6c40fc548c1af7cd24"
+dependencies = [
+ "asynchronous-codec 0.6.0",
+ "bytes 1.0.1",
+ "futures 0.3.13",
+ "futures-timer 3.0.2",
+ "libp2p-core",
+ "libp2p-swarm",
+ "log",
+ "pin-project 1.0.5",
+ "prost",
+ "prost-build",
+ "rand 0.7.3",
+ "smallvec 1.6.1",
+ "unsigned-varint 0.7.0",
+ "void",
+ "wasm-timer",
+]
+
[[package]]
name = "libp2p-request-response"
-version = "0.9.1"
+version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10e5552827c33d8326502682da73a0ba4bfa40c1b55b216af3c303f32169dd89"
+checksum = "725367dd2318c54c5ab1a6418592e5b01c63b0dedfbbfb8389220b2bcf691899"
dependencies = [
"async-trait",
"bytes 1.0.1",
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p-core",
"libp2p-swarm",
"log",
@@ -3341,12 +3447,12 @@ dependencies = [
[[package]]
name = "libp2p-swarm"
-version = "0.27.2"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7955b973e1fd2bd61ffd43ce261c1223f61f4aacd5bae362a924993f9a25fd98"
+checksum = "75c26980cadd7c25d89071cb23e1f7f5df4863128cc91d83c6ddc72338cecafa"
dependencies = [
"either",
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p-core",
"log",
"rand 0.7.3",
@@ -3367,40 +3473,40 @@ dependencies = [
[[package]]
name = "libp2p-tcp"
-version = "0.27.1"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88a5aef80e519a6cb8e2663605142f97baaaea1a252eecbf8756184765f7471b"
+checksum = "2b1a27d21c477951799e99d5c105d78868258502ce092988040a808d5a19bbd9"
dependencies = [
"async-io",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"if-watch",
"ipnet",
"libc",
"libp2p-core",
"log",
- "socket2",
+ "socket2 0.4.0",
]
[[package]]
name = "libp2p-uds"
-version = "0.27.0"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80ac51ce419f60be966e02103c17f67ff5dc4422ba83ba54d251d6c62a4ed487"
+checksum = "ffd6564bb3b7ff203661ccbb69003c2b551e34cef974f2d6c6a28306a12170b5"
dependencies = [
"async-std",
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p-core",
"log",
]
[[package]]
name = "libp2p-wasm-ext"
-version = "0.27.0"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6149c46cb76935c80bc8be6ec6e3ebd5f5e1679765a255fb34331d54610f15dd"
+checksum = "6df65fc13f6188edf7e6927b086330448b3ca27af86b49748c6d299d7c8d9040"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"js-sys",
"libp2p-core",
"parity-send-wrapper",
@@ -3410,29 +3516,29 @@ dependencies = [
[[package]]
name = "libp2p-websocket"
-version = "0.28.0"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3b1c6a3431045da8b925ed83384e4c5163e14b990572307fca9c507435d4d22"
+checksum = "cace60995ef6f637e4752cccbb2590f6bc358e8741a0d066307636c69a4b3a74"
dependencies = [
"either",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-rustls",
"libp2p-core",
"log",
"quicksink",
"rw-stream-sink",
"soketto",
- "url 2.2.0",
+ "url 2.2.1",
"webpki-roots",
]
[[package]]
name = "libp2p-yamux"
-version = "0.30.1"
+version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4819358c542a86ff95f6ae691efb4b94ddaf477079b01a686f5705b79bfc232a"
+checksum = "96d6144cc94143fb0a8dd1e7c2fbcc32a2808168bcd1d69920635424d5993b7b"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p-core",
"parking_lot 0.11.1",
"thiserror",
@@ -3558,6 +3664,15 @@ dependencies = [
"hashbrown",
]
+[[package]]
+name = "lru-cache"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
+dependencies = [
+ "linked-hash-map",
+]
+
[[package]]
name = "mach"
version = "0.3.2"
@@ -3573,6 +3688,12 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
+[[package]]
+name = "match_cfg"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
+
[[package]]
name = "matchers"
version = "0.0.1"
@@ -3621,9 +3742,9 @@ dependencies = [
[[package]]
name = "memmap2"
-version = "0.2.0"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e73be3b7d04a0123e933fea1d50d126cc7196bbc0362c0ce426694f777194eee"
+checksum = "04e3e85b970d650e2ae6d70592474087051c11c54da7f7b4949725c5735fbcc6"
dependencies = [
"libc",
]
@@ -3677,18 +3798,18 @@ dependencies = [
[[package]]
name = "minicbor"
-version = "0.7.1"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3265a9f5210bb726f81ef9c456ae0aff5321cd95748c0e71889b0e19d8f0332b"
+checksum = "ea79ce4ab9f445ec6b71833a2290ac0a29c9dde0fa7cae4c481eecae021d9bd9"
dependencies = [
"minicbor-derive",
]
[[package]]
name = "minicbor-derive"
-version = "0.6.1"
+version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "130b9455e28a3f308f6579671816a6f2621e2e0cbf55dc2f886345bef699481e"
+checksum = "19ce18b5423c573a13e80cb3046ea0af6379ef725dc3af4886bdb8f4e5093068"
dependencies = [
"proc-macro2",
"quote",
@@ -3697,9 +3818,9 @@ dependencies = [
[[package]]
name = "miniz_oxide"
-version = "0.4.3"
+version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f2d26ec3309788e423cfbf68ad1800f061638098d76a83681af979dc4eda19d"
+checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
dependencies = [
"adler",
"autocfg",
@@ -3777,7 +3898,7 @@ version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a33c1b55807fbed163481b5ba66db4b2fa6cde694a5027be10fb724206c5897"
dependencies = [
- "socket2",
+ "socket2 0.3.19",
"winapi 0.3.9",
]
@@ -3837,16 +3958,16 @@ checksum = "1255076139a83bb467426e7f8d0134968a8118844faa755985e077cf31850333"
[[package]]
name = "multistream-select"
-version = "0.10.0"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10ddc0eb0117736f19d556355464fc87efc8ad98b29e3fd84f02531eb6e90840"
+checksum = "7d91ec0a2440aaff5f78ec35631a7027d50386c6163aa975f7caa0d5da4b6ff8"
dependencies = [
"bytes 1.0.1",
- "futures 0.3.12",
+ "futures 0.3.13",
"log",
- "pin-project 1.0.4",
+ "pin-project 1.0.5",
"smallvec 1.6.1",
- "unsigned-varint 0.6.0",
+ "unsigned-varint 0.7.0",
]
[[package]]
@@ -3856,7 +3977,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6b6147c3d50b4f3cdabfe2ecc94a0191fd3d6ad58aefd9664cf396285883486"
dependencies = [
"approx",
- "generic-array 0.13.2",
+ "generic-array 0.13.3",
"matrixmultiply",
"num-complex",
"num-rational",
@@ -3883,7 +4004,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "670361df1bc2399ee1ff50406a0d422587dd3bb0da596e1978fe8e05dabddf4f"
dependencies = [
"libc",
- "socket2",
+ "socket2 0.3.19",
]
[[package]]
@@ -3915,7 +4036,7 @@ version = "0.8.0"
dependencies = [
"derive_more",
"fs_extra",
- "futures 0.3.12",
+ "futures 0.3.13",
"hash-db",
"hex",
"kvdb",
@@ -3951,7 +4072,7 @@ dependencies = [
name = "node-browser-testing"
version = "2.0.0"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"jsonrpc-core",
"libp2p",
@@ -3973,7 +4094,7 @@ dependencies = [
"frame-benchmarking-cli",
"frame-support",
"frame-system",
- "futures 0.3.12",
+ "futures 0.3.13",
"hex-literal",
"libp2p-wasm-ext",
"log",
@@ -3992,7 +4113,7 @@ dependencies = [
"pallet-staking",
"pallet-timestamp",
"pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"platforms",
"rand 0.7.3",
@@ -4052,6 +4173,7 @@ dependencies = [
"frame-benchmarking",
"frame-support",
"frame-system",
+ "futures 0.3.13",
"node-primitives",
"node-runtime",
"node-testing",
@@ -4064,7 +4186,7 @@ dependencies = [
"pallet-timestamp",
"pallet-transaction-payment",
"pallet-treasury",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sc-executor",
"sp-application-crypto",
"sp-consensus-babe",
@@ -4086,7 +4208,7 @@ version = "0.8.0"
dependencies = [
"derive_more",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sc-cli",
"sc-client-api",
"sc-service",
@@ -4101,7 +4223,7 @@ name = "node-primitives"
version = "2.0.0"
dependencies = [
"frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"pretty_assertions",
"sp-application-crypto",
"sp-core",
@@ -4145,8 +4267,8 @@ dependencies = [
name = "node-rpc-client"
version = "2.0.0"
dependencies = [
- "futures 0.1.30",
- "hyper 0.12.35",
+ "futures 0.1.31",
+ "hyper 0.12.36",
"jsonrpc-core-client",
"log",
"node-primitives",
@@ -4209,7 +4331,7 @@ dependencies = [
"pallet-treasury",
"pallet-utility",
"pallet-vesting",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-api",
"sp-authority-discovery",
@@ -4219,6 +4341,7 @@ dependencies = [
"sp-inherents",
"sp-io",
"sp-keyring",
+ "sp-npos-elections",
"sp-offchain",
"sp-runtime",
"sp-session",
@@ -4232,7 +4355,7 @@ dependencies = [
[[package]]
name = "node-template"
-version = "2.0.0"
+version = "3.0.0"
dependencies = [
"frame-benchmarking",
"frame-benchmarking-cli",
@@ -4269,7 +4392,7 @@ dependencies = [
[[package]]
name = "node-template-runtime"
-version = "2.0.0"
+version = "3.0.0"
dependencies = [
"frame-benchmarking",
"frame-executive",
@@ -4287,7 +4410,7 @@ dependencies = [
"pallet-timestamp",
"pallet-transaction-payment",
"pallet-transaction-payment-rpc-runtime-api",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-api",
"sp-block-builder",
@@ -4311,7 +4434,7 @@ dependencies = [
"frame-support",
"frame-system",
"fs_extra",
- "futures 0.3.12",
+ "futures 0.3.13",
"log",
"node-executor",
"node-primitives",
@@ -4326,7 +4449,7 @@ dependencies = [
"pallet-timestamp",
"pallet-transaction-payment",
"pallet-treasury",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sc-block-builder",
"sc-cli",
"sc-client-api",
@@ -4444,9 +4567,9 @@ dependencies = [
[[package]]
name = "once_cell"
-version = "1.5.2"
+version = "1.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0"
+checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
dependencies = [
"parking_lot 0.11.1",
]
@@ -4501,7 +4624,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4516,7 +4639,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4533,7 +4656,7 @@ dependencies = [
"lazy_static",
"pallet-session",
"pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"serde",
"sp-application-crypto",
@@ -4551,7 +4674,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-session",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-application-crypto",
"sp-authority-discovery",
@@ -4569,7 +4692,7 @@ dependencies = [
"frame-support",
"frame-system",
"impl-trait-for-tuples",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-authorship",
"sp-core",
@@ -4584,6 +4707,7 @@ name = "pallet-babe"
version = "3.0.0"
dependencies = [
"frame-benchmarking",
+ "frame-election-provider-support",
"frame-support",
"frame-system",
"log",
@@ -4594,13 +4718,12 @@ dependencies = [
"pallet-staking",
"pallet-staking-reward-curve",
"pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-application-crypto",
"sp-consensus-babe",
"sp-consensus-vrf",
"sp-core",
- "sp-election-providers",
"sp-io",
"sp-runtime",
"sp-session",
@@ -4617,7 +4740,7 @@ dependencies = [
"frame-system",
"log",
"pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4634,7 +4757,7 @@ dependencies = [
"frame-system",
"pallet-balances",
"pallet-treasury",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4653,7 +4776,7 @@ dependencies = [
"hex-literal",
"log",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4676,7 +4799,7 @@ dependencies = [
"pallet-contracts-proc-macro",
"pallet-randomness-collective-flip",
"pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-wasm 0.41.0",
"paste 1.0.4",
"pretty_assertions",
@@ -4698,7 +4821,7 @@ name = "pallet-contracts-primitives"
version = "3.0.0"
dependencies = [
"bitflags",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-runtime",
"sp-std",
]
@@ -4721,7 +4844,7 @@ dependencies = [
"jsonrpc-derive",
"pallet-contracts-primitives",
"pallet-contracts-rpc-runtime-api",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"serde_json",
"sp-api",
@@ -4736,7 +4859,7 @@ name = "pallet-contracts-rpc-runtime-api"
version = "3.0.0"
dependencies = [
"pallet-contracts-primitives",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api",
"sp-runtime",
"sp-std",
@@ -4752,7 +4875,7 @@ dependencies = [
"hex-literal",
"pallet-balances",
"pallet-scheduler",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4767,19 +4890,19 @@ name = "pallet-election-provider-multi-phase"
version = "3.0.0"
dependencies = [
"frame-benchmarking",
+ "frame-election-provider-support",
"frame-support",
"frame-system",
"hex-literal",
"log",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"paste 1.0.4",
"rand 0.7.3",
"serde",
"sp-arithmetic",
"sp-core",
- "sp-election-providers",
"sp-io",
"sp-npos-elections",
"sp-runtime",
@@ -4797,7 +4920,7 @@ dependencies = [
"frame-system",
"hex-literal",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4815,7 +4938,7 @@ dependencies = [
"hex-literal",
"log",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4827,13 +4950,14 @@ dependencies = [
[[package]]
name = "pallet-example"
-version = "2.0.0"
+version = "3.0.0"
dependencies = [
"frame-benchmarking",
"frame-support",
"frame-system",
+ "log",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4849,7 +4973,7 @@ dependencies = [
"frame-system",
"lite-json",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4864,7 +4988,7 @@ version = "2.0.1"
dependencies = [
"frame-support",
"frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4881,7 +5005,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-arithmetic",
"sp-core",
@@ -4896,6 +5020,7 @@ version = "3.0.0"
dependencies = [
"finality-grandpa",
"frame-benchmarking",
+ "frame-election-provider-support",
"frame-support",
"frame-system",
"log",
@@ -4906,11 +5031,10 @@ dependencies = [
"pallet-staking",
"pallet-staking-reward-curve",
"pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-application-crypto",
"sp-core",
- "sp-election-providers",
"sp-finality-grandpa",
"sp-io",
"sp-keyring",
@@ -4929,7 +5053,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4947,7 +5071,7 @@ dependencies = [
"log",
"pallet-authorship",
"pallet-session",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-application-crypto",
"sp-core",
@@ -4965,7 +5089,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4983,7 +5107,7 @@ dependencies = [
"frame-support-test",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -4997,7 +5121,7 @@ version = "3.0.0"
dependencies = [
"frame-support",
"frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5010,13 +5134,13 @@ name = "pallet-mmr"
version = "3.0.0"
dependencies = [
"ckb-merkle-mountain-range",
- "env_logger 0.8.2",
+ "env_logger 0.8.3",
"frame-benchmarking",
"frame-support",
"frame-system",
"hex-literal",
"pallet-mmr-primitives",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5032,7 +5156,7 @@ dependencies = [
"frame-system",
"hex-literal",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-api",
"sp-core",
@@ -5048,7 +5172,7 @@ dependencies = [
"jsonrpc-core-client",
"jsonrpc-derive",
"pallet-mmr-primitives",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"serde_json",
"sp-api",
@@ -5066,7 +5190,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5081,7 +5205,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5091,12 +5215,12 @@ dependencies = [
[[package]]
name = "pallet-node-authorization"
-version = "2.0.0"
+version = "3.0.0"
dependencies = [
"frame-support",
"frame-system",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5112,7 +5236,7 @@ dependencies = [
"frame-system",
"log",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5126,6 +5250,7 @@ name = "pallet-offences-benchmarking"
version = "3.0.0"
dependencies = [
"frame-benchmarking",
+ "frame-election-provider-support",
"frame-support",
"frame-system",
"pallet-babe",
@@ -5137,10 +5262,9 @@ dependencies = [
"pallet-staking",
"pallet-staking-reward-curve",
"pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
- "sp-election-providers",
"sp-io",
"sp-runtime",
"sp-staking",
@@ -5156,7 +5280,7 @@ dependencies = [
"frame-system",
"pallet-balances",
"pallet-utility",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5170,7 +5294,7 @@ version = "3.0.0"
dependencies = [
"frame-support",
"frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"safe-mix",
"serde",
"sp-core",
@@ -5187,7 +5311,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5203,7 +5327,7 @@ dependencies = [
"frame-support",
"frame-system",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5219,7 +5343,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5236,7 +5360,7 @@ dependencies = [
"impl-trait-for-tuples",
"lazy_static",
"pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-application-crypto",
"sp-core",
@@ -5253,6 +5377,7 @@ name = "pallet-session-benchmarking"
version = "3.0.0"
dependencies = [
"frame-benchmarking",
+ "frame-election-provider-support",
"frame-support",
"frame-system",
"pallet-balances",
@@ -5260,11 +5385,10 @@ dependencies = [
"pallet-staking",
"pallet-staking-reward-curve",
"pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"rand 0.7.3",
"serde",
"sp-core",
- "sp-election-providers",
"sp-io",
"sp-runtime",
"sp-session",
@@ -5279,7 +5403,7 @@ dependencies = [
"frame-support-test",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"rand_chacha 0.2.2",
"serde",
"sp-core",
@@ -5293,6 +5417,7 @@ name = "pallet-staking"
version = "3.0.0"
dependencies = [
"frame-benchmarking",
+ "frame-election-provider-support",
"frame-support",
"frame-system",
"hex",
@@ -5302,15 +5427,14 @@ dependencies = [
"pallet-session",
"pallet-staking-reward-curve",
"pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
+ "paste 1.0.4",
"rand_chacha 0.2.2",
"serde",
"sp-application-crypto",
"sp-core",
- "sp-election-providers",
"sp-io",
- "sp-npos-elections",
"sp-runtime",
"sp-staking",
"sp-std",
@@ -5320,29 +5444,6 @@ dependencies = [
"substrate-test-utils",
]
-[[package]]
-name = "pallet-staking-fuzz"
-version = "0.0.0"
-dependencies = [
- "frame-support",
- "frame-system",
- "honggfuzz",
- "pallet-balances",
- "pallet-indices",
- "pallet-session",
- "pallet-staking",
- "pallet-staking-reward-curve",
- "pallet-timestamp",
- "parity-scale-codec",
- "serde",
- "sp-core",
- "sp-election-providers",
- "sp-io",
- "sp-npos-elections",
- "sp-runtime",
- "sp-std",
-]
-
[[package]]
name = "pallet-staking-reward-curve"
version = "3.0.0"
@@ -5354,13 +5455,21 @@ dependencies = [
"syn",
]
+[[package]]
+name = "pallet-staking-reward-fn"
+version = "3.0.0"
+dependencies = [
+ "log",
+ "sp-arithmetic",
+]
+
[[package]]
name = "pallet-sudo"
version = "3.0.0"
dependencies = [
"frame-support",
"frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5370,12 +5479,12 @@ dependencies = [
[[package]]
name = "pallet-template"
-version = "2.0.0"
+version = "3.0.0"
dependencies = [
"frame-benchmarking",
"frame-support",
"frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5391,7 +5500,7 @@ dependencies = [
"frame-system",
"impl-trait-for-tuples",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-inherents",
@@ -5410,7 +5519,7 @@ dependencies = [
"frame-system",
"pallet-balances",
"pallet-treasury",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5426,7 +5535,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"serde_json",
"smallvec 1.6.1",
@@ -5445,7 +5554,7 @@ dependencies = [
"jsonrpc-core-client",
"jsonrpc-derive",
"pallet-transaction-payment-rpc-runtime-api",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api",
"sp-blockchain",
"sp-core",
@@ -5458,7 +5567,7 @@ name = "pallet-transaction-payment-rpc-runtime-api"
version = "3.0.0"
dependencies = [
"pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api",
"sp-runtime",
]
@@ -5472,7 +5581,7 @@ dependencies = [
"frame-system",
"impl-trait-for-tuples",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5489,7 +5598,7 @@ dependencies = [
"frame-support",
"frame-system",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5507,7 +5616,7 @@ dependencies = [
"frame-system",
"hex-literal",
"pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -5518,12 +5627,13 @@ dependencies = [
[[package]]
name = "parity-db"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "111e193c96758d476d272093a853882668da17489f76bf4361b8decae0b6c515"
+checksum = "495197c078e54b8735181aa35c00a327f7f3a3cc00a1ee8c95926dd010f0ec6b"
dependencies = [
"blake2-rfc",
"crc32fast",
+ "fs2",
"hex",
"libc",
"log",
@@ -5534,9 +5644,9 @@ dependencies = [
[[package]]
name = "parity-multiaddr"
-version = "0.11.1"
+version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2c6805f98667a3828afb2ec2c396a8d610497e8d546f5447188aae47c5a79ec"
+checksum = "58341485071825827b7f03cf7efd1cb21e6a709bea778fb50227fd45d2f361b4"
dependencies = [
"arrayref",
"bs58",
@@ -5547,27 +5657,39 @@ dependencies = [
"serde",
"static_assertions",
"unsigned-varint 0.7.0",
- "url 2.2.0",
+ "url 2.2.1",
]
[[package]]
name = "parity-scale-codec"
-version = "2.0.0"
+version = "1.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75c823fdae1bb5ff5708ee61a62697e6296175dc671710876871c853f48592b3"
+checksum = "a4b26b16c7687c3075982af47719e481815df30bc544f7a6690763a25ca16e9d"
dependencies = [
"arrayvec 0.5.2",
- "bitvec",
- "byte-slice-cast",
+ "bitvec 0.17.4",
+ "byte-slice-cast 0.3.5",
+ "serde",
+]
+
+[[package]]
+name = "parity-scale-codec"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0cd3dab59b5cf4bc81069ade0fc470341a1ef3ad5fa73e5a8943bed2ec12b2e8"
+dependencies = [
+ "arrayvec 0.5.2",
+ "bitvec 0.20.2",
+ "byte-slice-cast 1.0.0",
"parity-scale-codec-derive",
"serde",
]
[[package]]
name = "parity-scale-codec-derive"
-version = "2.0.0"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9029e65297c7fd6d7013f0579e193ec2b34ae78eabca854c9417504ad8a2d214"
+checksum = "fa04976a81fde04924b40cc4036c4d12841e8bb04325a5cf2ada75731a150a7d"
dependencies = [
"proc-macro-crate 0.1.5",
"proc-macro2",
@@ -5588,7 +5710,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e57fea504fea33f9fbb5f49f378359030e7e026a6ab849bb9e8f0787376f1bf"
dependencies = [
"bytes 0.4.12",
- "futures 0.1.30",
+ "futures 0.1.31",
"libc",
"log",
"mio-named-pipes",
@@ -5657,7 +5779,7 @@ dependencies = [
"rand 0.7.3",
"sha-1 0.8.2",
"slab",
- "url 2.2.0",
+ "url 2.2.1",
]
[[package]]
@@ -5695,7 +5817,7 @@ checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"
dependencies = [
"instant",
"lock_api 0.4.2",
- "parking_lot_core 0.8.2",
+ "parking_lot_core 0.8.3",
]
[[package]]
@@ -5729,14 +5851,14 @@ dependencies = [
[[package]]
name = "parking_lot_core"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ccb628cad4f84851442432c60ad8e1f607e29752d0bf072cbd0baf28aa34272"
+checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018"
dependencies = [
"cfg-if 1.0.0",
"instant",
"libc",
- "redox_syscall 0.1.57",
+ "redox_syscall 0.2.5",
"smallvec 1.6.1",
"winapi 0.3.9",
]
@@ -5873,11 +5995,11 @@ dependencies = [
[[package]]
name = "pin-project"
-version = "1.0.4"
+version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95b70b68509f17aa2857863b6fa00bf21fc93674c7a8893de2f469f6aa7ca2f2"
+checksum = "96fa8ebb90271c4477f144354485b8068bd8f6b78b428b01ba892ca26caf0b63"
dependencies = [
- "pin-project-internal 1.0.4",
+ "pin-project-internal 1.0.5",
]
[[package]]
@@ -5893,9 +6015,9 @@ dependencies = [
[[package]]
name = "pin-project-internal"
-version = "1.0.4"
+version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "caa25a6393f22ce819b0f50e0be89287292fda8d425be38ee0ca14c4931d9e71"
+checksum = "758669ae3558c6f74bd2a18b41f7ac0b5a195aea6639d6a9b5e5d1ad5ba24c0b"
dependencies = [
"proc-macro2",
"quote",
@@ -5910,9 +6032,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
[[package]]
name = "pin-project-lite"
-version = "0.2.5"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cf491442e4b033ed1c722cb9f0df5fcfcf4de682466c46469c36bc47dc5548a"
+checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
[[package]]
name = "pin-utils"
@@ -6228,7 +6350,7 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6"
dependencies = [
- "env_logger 0.8.2",
+ "env_logger 0.8.3",
"log",
"rand 0.8.3",
]
@@ -6246,13 +6368,19 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.8"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df"
+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
dependencies = [
"proc-macro2",
]
+[[package]]
+name = "radium"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "def50a86306165861203e7f84ecffbbdfdea79f0e51039b33de1e952358c47ac"
+
[[package]]
name = "radium"
version = "0.6.2"
@@ -6423,7 +6551,7 @@ checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a"
dependencies = [
"crossbeam-channel",
"crossbeam-deque 0.8.0",
- "crossbeam-utils 0.8.1",
+ "crossbeam-utils 0.8.3",
"lazy_static",
"num_cpus",
]
@@ -6445,9 +6573,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
[[package]]
name = "redox_syscall"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05ec8ca9416c5ea37062b502703cd7fcb207736bc294f6e0cf367ac6fc234570"
+checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
dependencies = [
"bitflags",
]
@@ -6470,7 +6598,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
dependencies = [
"getrandom 0.2.2",
- "redox_syscall 0.2.4",
+ "redox_syscall 0.2.5",
]
[[package]]
@@ -6549,16 +6677,17 @@ dependencies = [
name = "remote-externalities"
version = "0.9.0"
dependencies = [
- "async-std",
- "env_logger 0.8.2",
+ "env_logger 0.8.3",
"hex-literal",
"jsonrpsee-http-client",
"jsonrpsee-proc-macros",
"jsonrpsee-types",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-core",
"sp-io",
+ "sp-runtime",
+ "tokio 0.2.25",
]
[[package]]
@@ -6570,6 +6699,16 @@ dependencies = [
"winapi 0.3.9",
]
+[[package]]
+name = "resolv-conf"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00"
+dependencies = [
+ "hostname",
+ "quick-error 1.2.3",
+]
+
[[package]]
name = "retain_mut"
version = "0.1.2"
@@ -6578,9 +6717,9 @@ checksum = "53552c6c49e1e13f1a203ef0080ab3bbef0beb570a528993e83df057a9d9bba1"
[[package]]
name = "ring"
-version = "0.16.19"
+version = "0.16.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "024a1e66fea74c66c66624ee5622a7ff0e4b73a13b4f5c326ddb50c708944226"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
dependencies = [
"cc",
"libc",
@@ -6620,7 +6759,7 @@ dependencies = [
"base64 0.13.0",
"blake2b_simd",
"constant_time_eq",
- "crossbeam-utils 0.8.1",
+ "crossbeam-utils 0.8.3",
]
[[package]]
@@ -6700,7 +6839,7 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"pin-project 0.4.27",
"static_assertions",
]
@@ -6745,11 +6884,11 @@ dependencies = [
"async-trait",
"derive_more",
"either",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"libp2p",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"prost",
"prost-build",
"quickcheck",
@@ -6773,10 +6912,10 @@ dependencies = [
name = "sc-basic-authorship"
version = "0.9.0"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sc-block-builder",
"sc-client-api",
@@ -6798,7 +6937,7 @@ dependencies = [
name = "sc-block-builder"
version = "0.9.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sc-client-api",
"sp-api",
"sp-block-builder",
@@ -6816,7 +6955,7 @@ name = "sc-chain-spec"
version = "3.0.0"
dependencies = [
"impl-trait-for-tuples",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sc-chain-spec-derive",
"sc-consensus-babe",
"sc-consensus-epochs",
@@ -6847,12 +6986,12 @@ version = "0.9.0"
dependencies = [
"chrono",
"fdlimit",
- "futures 0.3.12",
+ "futures 0.3.13",
"hex",
"libp2p",
"log",
"names",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"rand 0.7.3",
"regex",
"rpassword",
@@ -6885,13 +7024,13 @@ version = "3.0.0"
dependencies = [
"derive_more",
"fnv",
- "futures 0.3.12",
+ "futures 0.3.13",
"hash-db",
"kvdb",
"kvdb-memorydb",
"lazy_static",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sc-executor",
"sp-api",
@@ -6928,7 +7067,7 @@ dependencies = [
"linked-hash-map",
"log",
"parity-db",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-util-mem",
"parking_lot 0.11.1",
"quickcheck",
@@ -6954,6 +7093,7 @@ dependencies = [
name = "sc-consensus"
version = "0.9.0"
dependencies = [
+ "parking_lot 0.11.1",
"sc-client-api",
"sp-blockchain",
"sp-consensus",
@@ -6964,12 +7104,13 @@ dependencies = [
name = "sc-consensus-aura"
version = "0.9.0"
dependencies = [
+ "async-trait",
"derive_more",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"getrandom 0.2.2",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sc-block-builder",
"sc-client-api",
@@ -7005,16 +7146,17 @@ dependencies = [
name = "sc-consensus-babe"
version = "0.9.0"
dependencies = [
+ "async-trait",
"derive_more",
"fork-tree",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"log",
"merlin",
"num-bigint",
"num-rational",
"num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"pdqselect",
"rand 0.7.3",
@@ -7061,7 +7203,7 @@ name = "sc-consensus-babe-rpc"
version = "0.9.0"
dependencies = [
"derive_more",
- "futures 0.3.12",
+ "futures 0.3.13",
"jsonrpc-core",
"jsonrpc-core-client",
"jsonrpc-derive",
@@ -7090,9 +7232,9 @@ name = "sc-consensus-epochs"
version = "0.9.0"
dependencies = [
"fork-tree",
- "parity-scale-codec",
- "parking_lot 0.11.1",
+ "parity-scale-codec 2.0.1",
"sc-client-api",
+ "sc-consensus",
"sp-blockchain",
"sp-runtime",
]
@@ -7102,13 +7244,14 @@ name = "sc-consensus-manual-seal"
version = "0.9.0"
dependencies = [
"assert_matches",
+ "async-trait",
"derive_more",
- "futures 0.3.12",
+ "futures 0.3.13",
"jsonrpc-core",
"jsonrpc-core-client",
"jsonrpc-derive",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sc-basic-authorship",
"sc-client-api",
@@ -7139,11 +7282,12 @@ dependencies = [
name = "sc-consensus-pow"
version = "0.9.0"
dependencies = [
+ "async-trait",
"derive_more",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sc-client-api",
"sp-api",
@@ -7162,11 +7306,11 @@ dependencies = [
name = "sc-consensus-slots"
version = "0.9.0"
dependencies = [
- "futures 0.3.12",
+ "async-trait",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"log",
- "parity-scale-codec",
- "parking_lot 0.11.1",
+ "parity-scale-codec 2.0.1",
"sc-client-api",
"sc-telemetry",
"sp-api",
@@ -7179,6 +7323,7 @@ dependencies = [
"sp-inherents",
"sp-runtime",
"sp-state-machine",
+ "sp-timestamp",
"sp-trie",
"substrate-test-runtime-client",
"thiserror",
@@ -7207,7 +7352,7 @@ dependencies = [
"lazy_static",
"libsecp256k1",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-wasm 0.41.0",
"parking_lot 0.11.1",
"paste 1.0.4",
@@ -7242,7 +7387,7 @@ name = "sc-executor-common"
version = "0.9.0"
dependencies = [
"derive_more",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-wasm 0.41.0",
"sp-allocator",
"sp-core",
@@ -7257,7 +7402,7 @@ name = "sc-executor-wasmi"
version = "0.9.0"
dependencies = [
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sc-executor-common",
"sp-allocator",
"sp-core",
@@ -7272,7 +7417,7 @@ version = "0.9.0"
dependencies = [
"assert_matches",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-wasm 0.41.0",
"pwasm-utils 0.14.0",
"sc-executor-common",
@@ -7289,17 +7434,18 @@ name = "sc-finality-grandpa"
version = "0.9.0"
dependencies = [
"assert_matches",
+ "async-trait",
"derive_more",
"dyn-clone",
"finality-grandpa",
"fork-tree",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"linked-hash-map",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
- "pin-project 1.0.4",
+ "pin-project 1.0.5",
"rand 0.7.3",
"sc-block-builder",
"sc-client-api",
@@ -7337,14 +7483,14 @@ version = "0.9.0"
dependencies = [
"derive_more",
"finality-grandpa",
- "futures 0.3.12",
+ "futures 0.3.13",
"jsonrpc-core",
"jsonrpc-core-client",
"jsonrpc-derive",
"jsonrpc-pubsub",
"lazy_static",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sc-block-builder",
"sc-client-api",
"sc-finality-grandpa",
@@ -7367,10 +7513,10 @@ version = "0.9.0"
dependencies = [
"derive_more",
"finality-grandpa",
- "futures 0.3.12",
+ "futures 0.3.13",
"log",
"num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"prost",
"rand 0.8.3",
@@ -7392,7 +7538,7 @@ name = "sc-informant"
version = "0.9.0"
dependencies = [
"ansi_term 0.12.1",
- "futures 0.3.12",
+ "futures 0.3.13",
"log",
"parity-util-mem",
"sc-client-api",
@@ -7410,7 +7556,7 @@ version = "3.0.0"
dependencies = [
"async-trait",
"derive_more",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-util",
"hex",
"merlin",
@@ -7430,7 +7576,7 @@ version = "3.0.0"
dependencies = [
"hash-db",
"lazy_static",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sc-client-api",
"sc-executor",
@@ -7459,7 +7605,7 @@ dependencies = [
"erased-serde",
"fnv",
"fork-tree",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"hex",
"ip_network",
@@ -7469,9 +7615,9 @@ dependencies = [
"log",
"lru",
"nohash-hasher",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
- "pin-project 1.0.4",
+ "pin-project 1.0.5",
"prost",
"prost-build",
"quickcheck",
@@ -7507,7 +7653,7 @@ name = "sc-network-gossip"
version = "0.9.0"
dependencies = [
"async-std",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"libp2p",
"log",
@@ -7518,6 +7664,7 @@ dependencies = [
"sp-runtime",
"substrate-prometheus-endpoint",
"substrate-test-runtime-client",
+ "tracing",
"wasm-timer",
]
@@ -7526,7 +7673,8 @@ name = "sc-network-test"
version = "0.8.0"
dependencies = [
"async-std",
- "futures 0.3.12",
+ "async-trait",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"libp2p",
"log",
@@ -7554,15 +7702,15 @@ version = "3.0.0"
dependencies = [
"bytes 0.5.6",
"fnv",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"hex",
- "hyper 0.13.9",
+ "hyper 0.13.10",
"hyper-rustls",
"lazy_static",
"log",
"num_cpus",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"rand 0.7.3",
"sc-block-builder",
@@ -7588,7 +7736,7 @@ dependencies = [
name = "sc-peerset"
version = "3.0.0"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p",
"log",
"rand 0.7.3",
@@ -7610,14 +7758,14 @@ name = "sc-rpc"
version = "3.0.0"
dependencies = [
"assert_matches",
- "futures 0.1.30",
- "futures 0.3.12",
+ "futures 0.1.31",
+ "futures 0.3.13",
"hash-db",
"jsonrpc-core",
"jsonrpc-pubsub",
"lazy_static",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sc-block-builder",
"sc-cli",
@@ -7652,13 +7800,13 @@ name = "sc-rpc-api"
version = "0.9.0"
dependencies = [
"derive_more",
- "futures 0.3.12",
+ "futures 0.3.13",
"jsonrpc-core",
"jsonrpc-core-client",
"jsonrpc-derive",
"jsonrpc-pubsub",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"serde",
"serde_json",
@@ -7674,7 +7822,7 @@ dependencies = [
name = "sc-rpc-server"
version = "3.0.0"
dependencies = [
- "futures 0.1.30",
+ "futures 0.1.31",
"jsonrpc-core",
"jsonrpc-http-server",
"jsonrpc-ipc-server",
@@ -7706,20 +7854,21 @@ name = "sc-service"
version = "0.9.0"
dependencies = [
"async-std",
+ "async-trait",
"directories",
"exit-future",
- "futures 0.1.30",
- "futures 0.3.12",
+ "futures 0.1.31",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"hash-db",
"jsonrpc-core",
"jsonrpc-pubsub",
"lazy_static",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-util-mem",
"parking_lot 0.11.1",
- "pin-project 1.0.4",
+ "pin-project 1.0.5",
"rand 0.7.3",
"sc-block-builder",
"sc-chain-spec",
@@ -7775,11 +7924,11 @@ name = "sc-service-test"
version = "2.0.0"
dependencies = [
"fdlimit",
- "futures 0.1.30",
- "futures 0.3.12",
+ "futures 0.1.31",
+ "futures 0.3.13",
"hex-literal",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sc-block-builder",
"sc-client-api",
@@ -7811,7 +7960,7 @@ name = "sc-state-db"
version = "0.9.0"
dependencies = [
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-util-mem",
"parity-util-mem-derive",
"parking_lot 0.11.1",
@@ -7844,11 +7993,11 @@ name = "sc-telemetry"
version = "3.0.0"
dependencies = [
"chrono",
- "futures 0.3.12",
+ "futures 0.3.13",
"libp2p",
"log",
"parking_lot 0.11.1",
- "pin-project 1.0.4",
+ "pin-project 1.0.5",
"rand 0.7.3",
"serde",
"serde_json",
@@ -7901,10 +8050,10 @@ dependencies = [
"assert_matches",
"criterion",
"derive_more",
- "futures 0.3.12",
+ "futures 0.3.13",
"linked-hash-map",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-util-mem",
"parking_lot 0.11.1",
"retain_mut",
@@ -7924,12 +8073,12 @@ name = "sc-transaction-pool"
version = "3.0.0"
dependencies = [
"assert_matches",
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-diagnose",
"hex",
"intervalier",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-util-mem",
"parking_lot 0.11.1",
"sc-block-builder",
@@ -8111,9 +8260,9 @@ checksum = "930c0acf610d3fdb5e2ab6213019aaa04e227ebe9547b0649ba599b16d788bd7"
[[package]]
name = "serde"
-version = "1.0.123"
+version = "1.0.124"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae"
+checksum = "bd761ff957cb2a45fbb9ab3da6512de9de55872866160b23c25f1a841e99d29f"
dependencies = [
"serde_derive",
]
@@ -8130,9 +8279,9 @@ dependencies = [
[[package]]
name = "serde_derive"
-version = "1.0.123"
+version = "1.0.124"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31"
+checksum = "1800f7693e94e186f5e25a28291ae1570da908aff7d97a095dec1e56ff99069b"
dependencies = [
"proc-macro2",
"quote",
@@ -8141,9 +8290,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.61"
+version = "1.0.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fceb2595057b6891a4ee808f70054bd2d12f0e97f1cbb78689b59f676df325a"
+checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
dependencies = [
"itoa",
"ryu",
@@ -8164,9 +8313,9 @@ dependencies = [
[[package]]
name = "sha-1"
-version = "0.9.2"
+version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce3cdf1b5e620a498ee6f2a171885ac7e22f0e12089ec4b3d22b84921792507c"
+checksum = "dfebf75d25bd900fd1e7d11501efab59bc846dbc76196839663e6637bba9f25f"
dependencies = [
"block-buffer 0.9.0",
"cfg-if 1.0.0",
@@ -8229,9 +8378,9 @@ checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
[[package]]
name = "signal-hook"
-version = "0.1.17"
+version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e31d442c16f047a671b5a71e2161d6e68814012b7f5379d269ebd915fac2729"
+checksum = "8a7f3f92a1da3d6b1d32245d0cbcbbab0cfc45996d8df619c42bccfa6d2bbb5f"
dependencies = [
"libc",
"signal-hook-registry",
@@ -8314,6 +8463,16 @@ dependencies = [
"winapi 0.3.9",
]
+[[package]]
+name = "socket2"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2"
+dependencies = [
+ "libc",
+ "winapi 0.3.9",
+]
+
[[package]]
name = "soketto"
version = "0.4.2"
@@ -8323,11 +8482,11 @@ dependencies = [
"base64 0.12.3",
"bytes 0.5.6",
"flate2",
- "futures 0.3.12",
+ "futures 0.3.13",
"httparse",
"log",
"rand 0.7.3",
- "sha-1 0.9.2",
+ "sha-1 0.9.4",
]
[[package]]
@@ -8347,7 +8506,7 @@ version = "3.0.0"
dependencies = [
"hash-db",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api-proc-macro",
"sp-core",
"sp-runtime",
@@ -8375,7 +8534,7 @@ version = "2.0.1"
dependencies = [
"criterion",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"rustversion",
"sc-block-builder",
"sp-api",
@@ -8394,7 +8553,7 @@ dependencies = [
name = "sp-application-crypto"
version = "3.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-core",
"sp-io",
@@ -8420,7 +8579,7 @@ dependencies = [
"criterion",
"integer-sqrt",
"num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"primitive-types",
"rand 0.7.3",
"serde",
@@ -8444,7 +8603,7 @@ dependencies = [
name = "sp-authority-discovery"
version = "3.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api",
"sp-application-crypto",
"sp-runtime",
@@ -8455,7 +8614,7 @@ dependencies = [
name = "sp-authorship"
version = "3.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-inherents",
"sp-runtime",
"sp-std",
@@ -8465,7 +8624,7 @@ dependencies = [
name = "sp-block-builder"
version = "3.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api",
"sp-inherents",
"sp-runtime",
@@ -8476,10 +8635,10 @@ dependencies = [
name = "sp-blockchain"
version = "3.0.0"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"log",
"lru",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sp-api",
"sp-consensus",
@@ -8501,11 +8660,12 @@ dependencies = [
name = "sp-consensus"
version = "0.9.0"
dependencies = [
- "futures 0.3.12",
+ "async-trait",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"libp2p",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"serde",
"sp-api",
@@ -8527,9 +8687,10 @@ dependencies = [
name = "sp-consensus-aura"
version = "0.9.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api",
"sp-application-crypto",
+ "sp-consensus",
"sp-consensus-slots",
"sp-inherents",
"sp-runtime",
@@ -8542,7 +8703,7 @@ name = "sp-consensus-babe"
version = "0.9.0"
dependencies = [
"merlin",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-api",
"sp-application-crypto",
@@ -8561,7 +8722,7 @@ dependencies = [
name = "sp-consensus-pow"
version = "0.9.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api",
"sp-core",
"sp-runtime",
@@ -8572,7 +8733,7 @@ dependencies = [
name = "sp-consensus-slots"
version = "0.9.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-arithmetic",
"sp-runtime",
]
@@ -8581,7 +8742,7 @@ dependencies = [
name = "sp-consensus-vrf"
version = "0.9.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"schnorrkel",
"sp-core",
"sp-runtime",
@@ -8598,7 +8759,7 @@ dependencies = [
"criterion",
"dyn-clonable",
"ed25519-dalek",
- "futures 0.3.12",
+ "futures 0.3.13",
"hash-db",
"hash256-std-hasher",
"hex",
@@ -8609,7 +8770,7 @@ dependencies = [
"log",
"merlin",
"num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-util-mem",
"parking_lot 0.11.1",
"pretty_assertions",
@@ -8654,23 +8815,12 @@ dependencies = [
"syn",
]
-[[package]]
-name = "sp-election-providers"
-version = "3.0.0"
-dependencies = [
- "parity-scale-codec",
- "sp-arithmetic",
- "sp-npos-elections",
- "sp-runtime",
- "sp-std",
-]
-
[[package]]
name = "sp-externalities"
version = "0.9.0"
dependencies = [
"environmental",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-std",
"sp-storage",
]
@@ -8681,7 +8831,7 @@ version = "3.0.0"
dependencies = [
"finality-grandpa",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-api",
"sp-application-crypto",
@@ -8695,7 +8845,7 @@ dependencies = [
name = "sp-inherents"
version = "3.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sp-core",
"sp-std",
@@ -8706,11 +8856,11 @@ dependencies = [
name = "sp-io"
version = "3.0.0"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"hash-db",
"libsecp256k1",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sp-core",
"sp-externalities",
@@ -8741,9 +8891,9 @@ version = "0.9.0"
dependencies = [
"async-trait",
"derive_more",
- "futures 0.3.12",
+ "futures 0.3.13",
"merlin",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"rand 0.7.3",
"rand_chacha 0.2.2",
@@ -8757,7 +8907,7 @@ dependencies = [
name = "sp-npos-elections"
version = "3.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"rand 0.7.3",
"serde",
"sp-arithmetic",
@@ -8772,10 +8922,14 @@ dependencies = [
name = "sp-npos-elections-compact"
version = "3.0.0"
dependencies = [
+ "parity-scale-codec 2.0.1",
"proc-macro-crate 1.0.0",
"proc-macro2",
"quote",
+ "sp-arithmetic",
+ "sp-npos-elections",
"syn",
+ "trybuild",
]
[[package]]
@@ -8783,7 +8937,7 @@ name = "sp-npos-elections-fuzzer"
version = "2.0.0-alpha.5"
dependencies = [
"honggfuzz",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"rand 0.7.3",
"sp-arithmetic",
"sp-npos-elections",
@@ -8826,7 +8980,7 @@ dependencies = [
"hash256-std-hasher",
"impl-trait-for-tuples",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-util-mem",
"paste 1.0.4",
"rand 0.7.3",
@@ -8848,7 +9002,7 @@ name = "sp-runtime-interface"
version = "3.0.0"
dependencies = [
"impl-trait-for-tuples",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"primitive-types",
"rustversion",
"sp-core",
@@ -8919,7 +9073,7 @@ name = "sp-sandbox"
version = "0.9.0"
dependencies = [
"assert_matches",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-core",
"sp-io",
"sp-std",
@@ -8940,7 +9094,7 @@ dependencies = [
name = "sp-session"
version = "3.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api",
"sp-core",
"sp-runtime",
@@ -8952,7 +9106,7 @@ dependencies = [
name = "sp-staking"
version = "3.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-runtime",
"sp-std",
]
@@ -8965,7 +9119,7 @@ dependencies = [
"hex-literal",
"log",
"num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"pretty_assertions",
"rand 0.7.3",
@@ -8990,7 +9144,7 @@ name = "sp-storage"
version = "3.0.0"
dependencies = [
"impl-serde",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"ref-cast",
"serde",
"sp-debug-derive",
@@ -9002,7 +9156,7 @@ name = "sp-tasks"
version = "3.0.0"
dependencies = [
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-core",
"sp-externalities",
"sp-io",
@@ -9014,7 +9168,7 @@ dependencies = [
name = "sp-test-primitives"
version = "2.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-util-mem",
"serde",
"sp-application-crypto",
@@ -9026,7 +9180,7 @@ dependencies = [
name = "sp-timestamp"
version = "3.0.0"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-api",
"sp-inherents",
"sp-runtime",
@@ -9039,7 +9193,7 @@ name = "sp-tracing"
version = "3.0.0"
dependencies = [
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-std",
"tracing",
"tracing-core",
@@ -9051,9 +9205,9 @@ name = "sp-transaction-pool"
version = "3.0.0"
dependencies = [
"derive_more",
- "futures 0.3.12",
+ "futures 0.3.13",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-api",
"sp-blockchain",
@@ -9069,7 +9223,7 @@ dependencies = [
"hash-db",
"hex-literal",
"memory-db",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-core",
"sp-runtime",
"sp-std",
@@ -9083,7 +9237,7 @@ dependencies = [
name = "sp-utils"
version = "3.0.0"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"futures-core",
"futures-timer 3.0.2",
"lazy_static",
@@ -9095,7 +9249,7 @@ name = "sp-version"
version = "3.0.0"
dependencies = [
"impl-serde",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"serde",
"sp-runtime",
"sp-std",
@@ -9106,7 +9260,7 @@ name = "sp-wasm-interface"
version = "3.0.0"
dependencies = [
"impl-trait-for-tuples",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sp-std",
"wasmi",
]
@@ -9235,8 +9389,8 @@ version = "0.9.0"
dependencies = [
"chrono",
"console_error_panic_hook",
- "futures 0.1.30",
- "futures 0.3.12",
+ "futures 0.1.31",
+ "futures 0.3.13",
"futures-timer 3.0.2",
"getrandom 0.2.2",
"js-sys",
@@ -9278,10 +9432,10 @@ version = "3.0.0"
dependencies = [
"frame-support",
"frame-system",
- "futures 0.3.12",
+ "futures 0.3.13",
"jsonrpc-client-transports",
"jsonrpc-core",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sc-rpc-api",
"serde",
"sp-storage",
@@ -9293,12 +9447,12 @@ name = "substrate-frame-rpc-system"
version = "3.0.0"
dependencies = [
"frame-system-rpc-runtime-api",
- "futures 0.3.12",
+ "futures 0.3.13",
"jsonrpc-core",
"jsonrpc-core-client",
"jsonrpc-derive",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sc-client-api",
"sc-rpc-api",
"sc-transaction-pool",
@@ -9320,7 +9474,7 @@ dependencies = [
"async-std",
"derive_more",
"futures-util",
- "hyper 0.13.9",
+ "hyper 0.13.10",
"log",
"prometheus",
"tokio 0.2.25",
@@ -9330,11 +9484,12 @@ dependencies = [
name = "substrate-test-client"
version = "2.0.1"
dependencies = [
- "futures 0.1.30",
- "futures 0.3.12",
+ "async-trait",
+ "futures 0.1.31",
+ "futures 0.3.13",
"hash-db",
"hex",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"sc-client-api",
"sc-client-db",
"sc-consensus",
@@ -9361,11 +9516,12 @@ dependencies = [
"frame-support",
"frame-system",
"frame-system-rpc-runtime-api",
+ "futures 0.3.13",
"log",
"memory-db",
"pallet-babe",
"pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"parity-util-mem",
"sc-block-builder",
"sc-executor",
@@ -9400,8 +9556,8 @@ dependencies = [
name = "substrate-test-runtime-client"
version = "2.0.0"
dependencies = [
- "futures 0.3.12",
- "parity-scale-codec",
+ "futures 0.3.13",
+ "parity-scale-codec 2.0.1",
"sc-block-builder",
"sc-client-api",
"sc-consensus",
@@ -9421,8 +9577,8 @@ name = "substrate-test-runtime-transaction-pool"
version = "2.0.0"
dependencies = [
"derive_more",
- "futures 0.3.12",
- "parity-scale-codec",
+ "futures 0.3.13",
+ "parity-scale-codec 2.0.1",
"parking_lot 0.11.1",
"sc-transaction-graph",
"sp-blockchain",
@@ -9435,7 +9591,7 @@ dependencies = [
name = "substrate-test-utils"
version = "3.0.0"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"sc-service",
"substrate-test-utils-derive",
"tokio 0.2.25",
@@ -9488,9 +9644,9 @@ checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2"
[[package]]
name = "syn"
-version = "1.0.60"
+version = "1.0.62"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081"
+checksum = "123a78a3596b24fee53a6464ce52d8ecbf62241e6294c7e7fe12086cd161f512"
dependencies = [
"proc-macro2",
"quote",
@@ -9517,15 +9673,15 @@ checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60"
[[package]]
name = "tap"
-version = "1.0.0"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36474e732d1affd3a6ed582781b3683df3d0563714c59c39591e8ff707cf078e"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "target-lexicon"
-version = "0.11.1"
+version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ee5a98e506fb7231a304c3a1bd7c132a55016cf65001e0282480665870dfcb9"
+checksum = "422045212ea98508ae3d28025bc5aaa2bd4a9cdaecd442a08da2ee620ee9ea95"
[[package]]
name = "tempfile"
@@ -9536,7 +9692,7 @@ dependencies = [
"cfg-if 1.0.0",
"libc",
"rand 0.8.3",
- "redox_syscall 0.2.4",
+ "redox_syscall 0.2.5",
"remove_dir_all",
"winapi 0.3.9",
]
@@ -9550,6 +9706,87 @@ dependencies = [
"winapi-util",
]
+[[package]]
+name = "test-runner"
+version = "0.9.0"
+dependencies = [
+ "env_logger 0.7.1",
+ "frame-system",
+ "futures 0.1.31",
+ "futures 0.3.13",
+ "jsonrpc-core",
+ "log",
+ "node-cli",
+ "parity-scale-codec 1.3.7",
+ "rand 0.7.3",
+ "sc-basic-authorship",
+ "sc-cli",
+ "sc-client-api",
+ "sc-consensus-babe",
+ "sc-consensus-manual-seal",
+ "sc-executor",
+ "sc-finality-grandpa",
+ "sc-informant",
+ "sc-network",
+ "sc-rpc",
+ "sc-rpc-server",
+ "sc-service",
+ "sc-transaction-graph",
+ "sc-transaction-pool",
+ "sp-api",
+ "sp-block-builder",
+ "sp-blockchain",
+ "sp-consensus",
+ "sp-consensus-babe",
+ "sp-core",
+ "sp-externalities",
+ "sp-inherents",
+ "sp-io",
+ "sp-keyring",
+ "sp-keystore",
+ "sp-offchain",
+ "sp-runtime",
+ "sp-runtime-interface",
+ "sp-session",
+ "sp-state-machine",
+ "sp-transaction-pool",
+ "sp-wasm-interface",
+ "tokio 0.2.25",
+]
+
+[[package]]
+name = "test-runner-example"
+version = "0.1.0"
+dependencies = [
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "log",
+ "node-cli",
+ "node-primitives",
+ "node-runtime",
+ "pallet-balances",
+ "pallet-sudo",
+ "pallet-transaction-payment",
+ "rand 0.8.3",
+ "sc-client-api",
+ "sc-consensus",
+ "sc-consensus-babe",
+ "sc-consensus-manual-seal",
+ "sc-executor",
+ "sc-finality-grandpa",
+ "sc-informant",
+ "sc-network",
+ "sc-service",
+ "sp-api",
+ "sp-consensus-babe",
+ "sp-inherents",
+ "sp-keyring",
+ "sp-keystore",
+ "sp-runtime",
+ "test-runner",
+]
+
[[package]]
name = "textwrap"
version = "0.11.0"
@@ -9637,9 +9874,9 @@ dependencies = [
[[package]]
name = "tinytemplate"
-version = "1.2.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2ada8616fad06a2d0c455adc530de4ef57605a8120cc65da9653e0e9623ca74"
+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
dependencies = [
"serde",
"serde_json",
@@ -9667,7 +9904,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
dependencies = [
"bytes 0.4.12",
- "futures 0.1.30",
+ "futures 0.1.31",
"mio",
"num_cpus",
"tokio-codec",
@@ -9698,6 +9935,7 @@ dependencies = [
"libc",
"memchr",
"mio",
+ "mio-named-pipes",
"mio-uds",
"num_cpus",
"pin-project-lite 0.1.12",
@@ -9715,7 +9953,7 @@ checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46"
dependencies = [
"bytes 0.4.12",
"either",
- "futures 0.1.30",
+ "futures 0.1.31",
]
[[package]]
@@ -9725,7 +9963,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b"
dependencies = [
"bytes 0.4.12",
- "futures 0.1.30",
+ "futures 0.1.31",
"tokio-io",
]
@@ -9735,7 +9973,7 @@ version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e"
dependencies = [
- "futures 0.1.30",
+ "futures 0.1.31",
"tokio-executor",
]
@@ -9746,7 +9984,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671"
dependencies = [
"crossbeam-utils 0.7.2",
- "futures 0.1.30",
+ "futures 0.1.31",
]
[[package]]
@@ -9755,7 +9993,7 @@ version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4"
dependencies = [
- "futures 0.1.30",
+ "futures 0.1.31",
"tokio-io",
"tokio-threadpool",
]
@@ -9767,7 +10005,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
dependencies = [
"bytes 0.4.12",
- "futures 0.1.30",
+ "futures 0.1.31",
"log",
]
@@ -9789,7 +10027,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d282d483052288b2308ba5ee795f5673b159c9bdf63c385a05609da782a5eae"
dependencies = [
"bytes 0.4.12",
- "futures 0.1.30",
+ "futures 0.1.31",
"mio",
"mio-named-pipes",
"tokio 0.1.22",
@@ -9802,7 +10040,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351"
dependencies = [
"crossbeam-utils 0.7.2",
- "futures 0.1.30",
+ "futures 0.1.31",
"lazy_static",
"log",
"mio",
@@ -9832,7 +10070,7 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162"
dependencies = [
- "futures 0.1.30",
+ "futures 0.1.31",
]
[[package]]
@@ -9842,7 +10080,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee"
dependencies = [
"fnv",
- "futures 0.1.30",
+ "futures 0.1.31",
]
[[package]]
@@ -9852,7 +10090,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72"
dependencies = [
"bytes 0.4.12",
- "futures 0.1.30",
+ "futures 0.1.31",
"iovec",
"mio",
"tokio-io",
@@ -9868,7 +10106,7 @@ dependencies = [
"crossbeam-deque 0.7.3",
"crossbeam-queue",
"crossbeam-utils 0.7.2",
- "futures 0.1.30",
+ "futures 0.1.31",
"lazy_static",
"log",
"num_cpus",
@@ -9883,7 +10121,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"
dependencies = [
"crossbeam-utils 0.7.2",
- "futures 0.1.30",
+ "futures 0.1.31",
"slab",
"tokio-executor",
]
@@ -9895,7 +10133,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82"
dependencies = [
"bytes 0.4.12",
- "futures 0.1.30",
+ "futures 0.1.31",
"log",
"mio",
"tokio-codec",
@@ -9910,7 +10148,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0"
dependencies = [
"bytes 0.4.12",
- "futures 0.1.30",
+ "futures 0.1.31",
"iovec",
"libc",
"log",
@@ -9958,16 +10196,16 @@ checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f"
dependencies = [
"cfg-if 1.0.0",
"log",
- "pin-project-lite 0.2.5",
+ "pin-project-lite 0.2.6",
"tracing-attributes",
"tracing-core",
]
[[package]]
name = "tracing-attributes"
-version = "0.1.14"
+version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41768be5b9f3489491825f56f01f25290aa1d3e7cc97e182d4d34360493ba6fa"
+checksum = "a8a9bd1db7706f2373a190b0d067146caa39350c486f3d455b0e33b431f94c07"
dependencies = [
"proc-macro2",
"quote",
@@ -9985,19 +10223,19 @@ dependencies = [
[[package]]
name = "tracing-futures"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab7bb6f14721aa00656086e9335d363c5c8747bae02ebe32ea2c7dece5689b4c"
+checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
dependencies = [
- "pin-project 0.4.27",
+ "pin-project 1.0.5",
"tracing",
]
[[package]]
name = "tracing-log"
-version = "0.1.1"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e0f8c7178e13481ff6765bd169b33e8d554c5d2bbede5e32c356194be02b9b9"
+checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3"
dependencies = [
"lazy_static",
"log",
@@ -10016,9 +10254,9 @@ dependencies = [
[[package]]
name = "tracing-subscriber"
-version = "0.2.15"
+version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1fa8f0c8f4c594e4fc9debc1990deab13238077271ba84dd853d54902ee3401"
+checksum = "8ab8966ac3ca27126141f7999361cc97dd6fb4b71da04c02044fa9045d98bb96"
dependencies = [
"ansi_term 0.12.1",
"chrono",
@@ -10052,7 +10290,7 @@ dependencies = [
"hash-db",
"keccak-hasher",
"memory-db",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"trie-db",
"trie-root",
"trie-standardmap",
@@ -10090,6 +10328,49 @@ dependencies = [
"keccak-hasher",
]
+[[package]]
+name = "trust-dns-proto"
+version = "0.20.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d57e219ba600dd96c2f6d82eb79645068e14edbc5c7e27514af40436b88150c"
+dependencies = [
+ "async-trait",
+ "cfg-if 1.0.0",
+ "data-encoding",
+ "enum-as-inner",
+ "futures-channel",
+ "futures-io",
+ "futures-util",
+ "idna 0.2.2",
+ "ipnet",
+ "lazy_static",
+ "log",
+ "rand 0.8.3",
+ "smallvec 1.6.1",
+ "thiserror",
+ "tinyvec",
+ "url 2.2.1",
+]
+
+[[package]]
+name = "trust-dns-resolver"
+version = "0.20.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0437eea3a6da51acc1e946545ff53d5b8fb2611ff1c3bed58522dde100536ae"
+dependencies = [
+ "cfg-if 1.0.0",
+ "futures-util",
+ "ipconfig",
+ "lazy_static",
+ "log",
+ "lru-cache",
+ "parking_lot 0.11.1",
+ "resolv-conf",
+ "smallvec 1.6.1",
+ "thiserror",
+ "trust-dns-proto",
+]
+
[[package]]
name = "try-lock"
version = "0.2.3"
@@ -10102,7 +10383,7 @@ version = "0.9.0"
dependencies = [
"frame-try-runtime",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 2.0.1",
"remote-externalities",
"sc-cli",
"sc-client-api",
@@ -10119,9 +10400,9 @@ dependencies = [
[[package]]
name = "trybuild"
-version = "1.0.39"
+version = "1.0.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c9594b802f041389d2baac680663573dde3103bb4a4926d61d6aba689465978"
+checksum = "99471a206425fba51842a9186315f32d91c56eadc21ea4c21f847b59cf778f8b"
dependencies = [
"dissimilar",
"glob",
@@ -10187,9 +10468,9 @@ dependencies = [
[[package]]
name = "unicode-normalization"
-version = "0.1.16"
+version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a13e63ab62dbe32aeee58d1c5408d35c36c392bba5d9d3142287219721afe606"
+checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"
dependencies = [
"tinyvec",
]
@@ -10271,12 +10552,12 @@ dependencies = [
[[package]]
name = "url"
-version = "2.2.0"
+version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5909f2b0817350449ed73e8bcd81c8c3c8d9a7a5d8acba4b27db277f1868976e"
+checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b"
dependencies = [
"form_urlencoded",
- "idna 0.2.0",
+ "idna 0.2.2",
"matches",
"percent-encoding 2.1.0",
]
@@ -10352,7 +10633,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230"
dependencies = [
- "futures 0.1.30",
+ "futures 0.1.31",
"log",
"try-lock",
]
@@ -10381,9 +10662,9 @@ checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
[[package]]
name = "wasm-bindgen"
-version = "0.2.70"
+version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55c0f7123de74f0dab9b7d00fd614e7b19349cd1e2f5252bbe9b1754b59433be"
+checksum = "7ee1280240b7c461d6a0071313e08f34a60b0365f14260362e5a2b17d1d31aa7"
dependencies = [
"cfg-if 1.0.0",
"serde",
@@ -10393,9 +10674,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.70"
+version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bc45447f0d4573f3d65720f636bbcc3dd6ce920ed704670118650bcd47764c7"
+checksum = "5b7d8b6942b8bb3a9b0e73fc79b98095a27de6fa247615e59d096754a3bc2aa8"
dependencies = [
"bumpalo",
"lazy_static",
@@ -10408,9 +10689,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.19"
+version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fe9756085a84584ee9457a002b7cdfe0bfff169f45d2591d8be1345a6780e35"
+checksum = "3de431a2910c86679c34283a33f66f4e4abd7e0aec27b6669060148872aadf94"
dependencies = [
"cfg-if 1.0.0",
"js-sys",
@@ -10420,9 +10701,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.70"
+version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b8853882eef39593ad4174dd26fc9865a64e84026d223f63bb2c42affcbba2c"
+checksum = "e5ac38da8ef716661f0f36c0d8320b89028efe10c7c0afde65baffb496ce0d3b"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -10430,9 +10711,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.70"
+version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4133b5e7f2a531fa413b3a1695e925038a05a71cf67e87dafa295cb645a01385"
+checksum = "cc053ec74d454df287b9374ee8abb36ffd5acb95ba87da3ba5b7d3fe20eb401e"
dependencies = [
"proc-macro2",
"quote",
@@ -10443,15 +10724,15 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.70"
+version = "0.2.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd4945e4943ae02d15c13962b38a5b1e81eadd4b71214eee75af64a4d6a4fd64"
+checksum = "7d6f8ec44822dd71f5f221a5847fb34acd9060535c1211b70a05844c0f6383b1"
[[package]]
name = "wasm-bindgen-test"
-version = "0.3.19"
+version = "0.3.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0355fa0c1f9b792a09b6dcb6a8be24d51e71e6d74972f9eb4a44c4c004d24a25"
+checksum = "f0d4da138503a4cf86801b94d95781ee3619faa8feca830569cc6b54997b8b5c"
dependencies = [
"console_error_panic_hook",
"js-sys",
@@ -10463,9 +10744,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-test-macro"
-version = "0.3.19"
+version = "0.3.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27e07b46b98024c2ba2f9e83a10c2ef0515f057f2da299c1762a2017de80438b"
+checksum = "c3199c33f06500c731d5544664c24d0c2b742b98debc6b1c6f0c6d6e8fb7c19b"
dependencies = [
"proc-macro2",
"quote",
@@ -10488,7 +10769,7 @@ version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"js-sys",
"parking_lot 0.11.1",
"pin-utils",
@@ -10748,9 +11029,9 @@ dependencies = [
[[package]]
name = "web-sys"
-version = "0.3.46"
+version = "0.3.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222b1ef9334f92a21d3fb53dc3fd80f30836959a90f9274a626d7e06315ba3c3"
+checksum = "c40dc691fc48003eba817c38da7113c15698142da971298003cac3ef175680b3"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -10803,6 +11084,12 @@ dependencies = [
"thiserror",
]
+[[package]]
+name = "widestring"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c"
+
[[package]]
name = "winapi"
version = "0.2.8"
@@ -10846,6 +11133,15 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+[[package]]
+name = "winreg"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
+dependencies = [
+ "winapi 0.3.9",
+]
+
[[package]]
name = "ws2_32-sys"
version = "0.2.1"
@@ -10879,7 +11175,7 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1cc7bd8c983209ed5d527f44b01c41b7dc146fd960c61cf9e1d25399841dc271"
dependencies = [
- "futures 0.3.12",
+ "futures 0.3.13",
"log",
"nohash-hasher",
"parking_lot 0.11.1",
diff --git a/Cargo.toml b/Cargo.toml
index 4d8cfc3e9754d..3e4787770e053 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,4 +1,6 @@
[workspace]
+resolver = "2"
+
members = [
"bin/node-template/node",
"bin/node-template/pallets/template",
@@ -6,6 +8,7 @@ members = [
"bin/node/bench",
"bin/node/browser-testing",
"bin/node/cli",
+ "bin/node/test-runner-example",
"bin/node/executor",
"bin/node/primitives",
"bin/node/rpc",
@@ -76,6 +79,7 @@ members = [
"frame/try-runtime",
"frame/elections",
"frame/election-provider-multi-phase",
+ "frame/election-provider-support",
"frame/example",
"frame/example-offchain-worker",
"frame/example-parallel",
@@ -104,8 +108,8 @@ members = [
"frame/session/benchmarking",
"frame/society",
"frame/staking",
- "frame/staking/fuzzer",
"frame/staking/reward-curve",
+ "frame/staking/reward-fn",
"frame/sudo",
"frame/support",
"frame/support/procedural",
@@ -145,7 +149,6 @@ members = [
"primitives/database",
"primitives/debug-derive",
"primitives/externalities",
- "primitives/election-providers",
"primitives/finality-grandpa",
"primitives/inherents",
"primitives/io",
@@ -184,6 +187,7 @@ members = [
"test-utils/runtime",
"test-utils/runtime/client",
"test-utils/runtime/transaction-pool",
+ "test-utils/test-runner",
"test-utils/test-crate",
"utils/browser",
"utils/build-script-utils",
diff --git a/bin/node-template/.editorconfig b/bin/node-template/.editorconfig
new file mode 100644
index 0000000000000..5adac74ca24b3
--- /dev/null
+++ b/bin/node-template/.editorconfig
@@ -0,0 +1,16 @@
+root = true
+
+[*]
+indent_style=space
+indent_size=2
+tab_width=2
+end_of_line=lf
+charset=utf-8
+trim_trailing_whitespace=true
+insert_final_newline = true
+
+[*.{rs,toml}]
+indent_style=tab
+indent_size=tab
+tab_width=4
+max_line_length=100
diff --git a/bin/node-template/README.md b/bin/node-template/README.md
index 8c8b82a14bb86..cd977fac84493 100644
--- a/bin/node-template/README.md
+++ b/bin/node-template/README.md
@@ -1,97 +1,71 @@
# Substrate Node Template
-A new FRAME-based Substrate node, ready for hacking :rocket:
+A fresh FRAME-based [Substrate](https://www.substrate.io/) node, ready for hacking :rocket:
-## Local Development
+## Getting Started
-Follow these steps to prepare a local Substrate development environment :hammer_and_wrench:
+Follow these steps to get started with the Node Template :hammer_and_wrench:
-### Simple Setup
+### Rust Setup
-Install all the required dependencies with a single command (be patient, this can take up to 30
-minutes).
+First, complete the [basic Rust setup instructions](./doc/rust-setup.md).
-```bash
-curl https://getsubstrate.io -sSf | bash -s -- --fast
-```
+### Run
-### Manual Setup
+Use Rust's native `cargo` command to build and launch the template node:
-Find manual setup instructions at the
-[Substrate Developer Hub](https://substrate.dev/docs/en/knowledgebase/getting-started/#manual-installation).
+```sh
+cargo run --release -- --dev --tmp
+```
### Build
-Once the development environment is set up, build the node template. This command will build the
-[Wasm](https://substrate.dev/docs/en/knowledgebase/advanced/executor#wasm-execution) and
-[native](https://substrate.dev/docs/en/knowledgebase/advanced/executor#native-execution) code:
+The `cargo run` command will perform an initial build. Use the following command to build the node
+without launching it:
-```bash
+```sh
cargo build --release
```
-## Run
-
-### Single Node Development Chain
+### Embedded Docs
-Purge any existing dev chain state:
+Once the project has been built, the following command can be used to explore all parameters and
+subcommands:
-```bash
-./target/release/node-template purge-chain --dev
+```sh
+./target/release/node-template -h
```
-Start a dev chain:
+## Run
-```bash
-./target/release/node-template --dev
-```
+The provided `cargo run` command will launch a temporary node and its state will be discarded after
+you terminate the process. After the project has been built, there are other ways to launch the
+node.
+
+### Single-Node Development Chain
-Or, start a dev chain with detailed logging:
+This command will start the single-node development chain with persistent state:
```bash
-RUST_LOG=debug RUST_BACKTRACE=1 ./target/release/node-template -lruntime=debug --dev
+./target/release/node-template --dev
```
-### Multi-Node Local Testnet
-
-To see the multi-node consensus algorithm in action, run a local testnet with two validator nodes,
-Alice and Bob, that have been [configured](./node/src/chain_spec.rs) as the initial
-authorities of the `local` testnet chain and endowed with testnet units.
-
-Note: this will require two terminal sessions (one for each node).
-
-Start Alice's node first. The command below uses the default TCP port (30333) and specifies
-`/tmp/alice` as the chain database location. Alice's node ID will be
-`12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp` (legacy representation:
-`QmRpheLN4JWdAnY7HGJfWFNbfkQCb6tFf4vvA6hgjMZKrR`); this is determined by the `node-key`.
+Purge the development chain's state:
```bash
-cargo run -- \
- --base-path /tmp/alice \
- --chain=local \
- --alice \
- --node-key 0000000000000000000000000000000000000000000000000000000000000001 \
- --telemetry-url 'ws://telemetry.polkadot.io:1024 0' \
- --validator
+./target/release/node-template purge-chain --dev
```
-In another terminal, use the following command to start Bob's node on a different TCP port (30334)
-and with a chain database location of `/tmp/bob`. The `--bootnodes` option will connect his node to
-Alice's on TCP port 30333:
+Start the development chain with detailed logging:
```bash
-cargo run -- \
- --base-path /tmp/bob \
- --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp \
- --chain=local \
- --bob \
- --port 30334 \
- --ws-port 9945 \
- --telemetry-url 'ws://telemetry.polkadot.io:1024 0' \
- --validator
+RUST_BACKTRACE=1 ./target/release/node-template -ldebug --dev
```
-Execute `cargo run -- --help` to learn more about the template node's CLI options.
+### Multi-Node Local Testnet
+
+If you want to see the multi-node consensus algorithm in action, refer to
+[our Start a Private Network tutorial](https://substrate.dev/docs/en/tutorials/start-a-private-network/).
## Template Structure
@@ -184,24 +158,28 @@ A FRAME pallet is compromised of a number of blockchain primitives:
- Config: The `Config` configuration interface is used to define the types and parameters upon
which a FRAME pallet depends.
-## Generate a Custom Node Template
+### Run in Docker
-Generate a Substrate node template based on a particular commit by running the following commands:
+First, install [Docker](https://docs.docker.com/get-docker/) and
+[Docker Compose](https://docs.docker.com/compose/install/).
+
+Then run the following command to start a single node development chain.
```bash
-# Clone from the main Substrate repo
-git clone https://github.com/paritytech/substrate.git
-cd substrate
+./scripts/docker_run.sh
+```
-# Switch to the branch or commit to base the template on
-git checkout
+This command will firstly compile your code, and then start a local development network. You can
+also replace the default command (`cargo build --release && ./target/release/node-template --dev --ws-external`)
+by appending your own. A few useful ones are as follow.
-# Run the helper script to generate a node template. This script compiles Substrate, so it will take
-# a while to complete. It expects a single parameter: the location for the script's output expressed
-# as a relative path.
-.maintain/node-template-release.sh ../node-template.tar.gz
-```
+```bash
+# Run Substrate node without re-compiling
+./scripts/docker_run.sh ./target/release/node-template --dev --ws-external
+
+# Purge the local dev chain
+./scripts/docker_run.sh ./target/release/node-template purge-chain --dev
-Custom node templates are not supported. Please use a recently tagged version of the
-[Substrate Developer Node Template](https://github.com/substrate-developer-hub/substrate-node-template)
-in order to receive support.
+# Check whether the code is compilable
+./scripts/docker_run.sh cargo check
+```
diff --git a/bin/node-template/docker-compose.yml b/bin/node-template/docker-compose.yml
new file mode 100644
index 0000000000000..cfc4437bbae41
--- /dev/null
+++ b/bin/node-template/docker-compose.yml
@@ -0,0 +1,17 @@
+version: "3.2"
+
+services:
+ dev:
+ container_name: node-template
+ image: paritytech/ci-linux:974ba3ac-20201006
+ working_dir: /var/www/node-template
+ ports:
+ - "9944:9944"
+ environment:
+ - CARGO_HOME=/var/www/node-template/.cargo
+ volumes:
+ - .:/var/www/node-template
+ - type: bind
+ source: ./.local
+ target: /root/.local
+ command: bash -c "cargo build --release && ./target/release/node-template --dev --ws-external"
diff --git a/bin/node-template/docs/rust-setup.md b/bin/node-template/docs/rust-setup.md
new file mode 100644
index 0000000000000..34f6e43e7f0dd
--- /dev/null
+++ b/bin/node-template/docs/rust-setup.md
@@ -0,0 +1,81 @@
+---
+title: Installation
+---
+
+This page will guide you through the steps needed to prepare a computer for development with the
+Substrate Node Template. Since Substrate is built with
+[the Rust programming language](https://www.rust-lang.org/), the first thing you will need to do is
+prepare the computer for Rust development - these steps will vary based on the computer's operating
+system. Once Rust is configured, you will use its toolchains to interact with Rust projects; the
+commands for Rust's toolchains will be the same for all supported, Unix-based operating systems.
+
+## Unix-Based Operating Systems
+
+Substrate development is easiest on Unix-based operating systems like macOS or Linux. The examples
+in the Substrate [Tutorials](https://substrate.dev/tutorials) and [Recipes](https://substrate.dev/recipes/)
+use Unix-style terminals to demonstrate how to interact with Substrate from the command line.
+
+### macOS
+
+Open the Terminal application and execute the following commands:
+
+```bash
+# Install Homebrew if necessary https://brew.sh/
+/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
+
+# Make sure Homebrew is up-to-date, install openssl and cmake
+brew update
+brew install openssl cmake
+```
+
+### Ubuntu/Debian
+
+Use a terminal shell to execute the following commands:
+
+```bash
+sudo apt update
+# May prompt for location information
+sudo apt install -y cmake pkg-config libssl-dev git build-essential clang libclang-dev curl
+```
+
+### Arch Linux
+
+Run these commands from a terminal:
+
+```bash
+pacman -Syu --needed --noconfirm cmake gcc openssl-1.0 pkgconf git clang
+export OPENSSL_LIB_DIR="/usr/lib/openssl-1.0"
+export OPENSSL_INCLUDE_DIR="/usr/include/openssl-1.0"
+```
+
+### Fedora/RHEL/CentOS
+
+Use a terminal to run the following commands:
+
+```bash
+# Update
+sudo dnf update
+# Install packages
+sudo dnf install cmake pkgconfig rocksdb rocksdb-devel llvm git libcurl libcurl-devel curl-devel clang
+```
+
+## Rust Developer Environment
+
+This project uses [`rustup`](https://rustup.rs/) to help manage the Rust toolchain. First install
+and configure `rustup`:
+
+```bash
+# Install
+curl https://sh.rustup.rs -sSf | sh
+# Configure
+source ~/.cargo/env
+```
+
+Finally, configure the Rust toolchain:
+
+```bash
+rustup default stable
+rustup update nightly
+rustup update stable
+rustup target add wasm32-unknown-unknown --toolchain nightly
+```
diff --git a/bin/node-template/node/Cargo.toml b/bin/node-template/node/Cargo.toml
index 2d36d3c469083..e53320c940510 100644
--- a/bin/node-template/node/Cargo.toml
+++ b/bin/node-template/node/Cargo.toml
@@ -1,13 +1,13 @@
[package]
name = "node-template"
-version = "2.0.0"
-authors = ["Anonymous"]
-description = "A new FRAME-based Substrate node, ready for hacking."
+version = "3.0.0"
+authors = ["Substrate DevHub "]
+description = "A fresh FRAME-based Substrate node, ready for hacking."
edition = "2018"
license = "Unlicense"
build = "build.rs"
homepage = "https://substrate.dev"
-repository = "https://github.com/paritytech/substrate/"
+repository = "https://github.com/substrate-developer-hub/substrate-node-template/"
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
@@ -51,7 +51,7 @@ pallet-transaction-payment-rpc = { version = "3.0.0", path = "../../../frame/tra
frame-benchmarking = { version = "3.1.0", path = "../../../frame/benchmarking" }
frame-benchmarking-cli = { version = "3.0.0", path = "../../../utils/frame/benchmarking-cli" }
-node-template-runtime = { version = "2.0.0", path = "../runtime" }
+node-template-runtime = { version = "3.0.0", path = "../runtime" }
[build-dependencies]
substrate-build-script-utils = { version = "3.0.0", path = "../../../utils/build-script-utils" }
diff --git a/bin/node-template/pallets/template/Cargo.toml b/bin/node-template/pallets/template/Cargo.toml
index 9f0c6ee182670..df76d20a4a7e1 100644
--- a/bin/node-template/pallets/template/Cargo.toml
+++ b/bin/node-template/pallets/template/Cargo.toml
@@ -1,11 +1,11 @@
[package]
-authors = ['Anonymous']
+authors = ['Substrate DevHub ']
edition = '2018'
name = 'pallet-template'
-version = "2.0.0"
+version = "3.0.0"
license = "Unlicense"
homepage = "https://substrate.dev"
-repository = "https://github.com/paritytech/substrate/"
+repository = "https://github.com/substrate-developer-hub/substrate-node-template/"
description = "FRAME pallet template for defining custom runtime logic."
readme = "README.md"
@@ -14,40 +14,15 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
-
-[dependencies.frame-support]
-default-features = false
-version = "3.0.0"
-path = "../../../../frame/support"
-
-[dependencies.frame-system]
-default-features = false
-version = "3.0.0"
-path = "../../../../frame/system"
-
-[dependencies.frame-benchmarking]
-default-features = false
-version = "3.1.0"
-path = "../../../../frame/benchmarking"
-optional = true
+frame-support = { default-features = false, version = "3.0.0", path = "../../../../frame/support" }
+frame-system = { default-features = false, version = "3.0.0", path = "../../../../frame/system" }
+frame-benchmarking = { default-features = false, version = "3.1.0", path = "../../../../frame/benchmarking", optional = true }
[dev-dependencies]
-serde = { version = "1.0.101" }
-
-[dev-dependencies.sp-core]
-default-features = false
-version = "3.0.0"
-path = "../../../../primitives/core"
-
-[dev-dependencies.sp-io]
-default-features = false
-version = "3.0.0"
-path = "../../../../primitives/io"
-
-[dev-dependencies.sp-runtime]
-default-features = false
-version = "3.0.0"
-path = "../../../../primitives/runtime"
+serde = { version = "1.0.119" }
+sp-core = { default-features = false, version = "3.0.0", path = "../../../../primitives/core" }
+sp-io = { default-features = false, version = "3.0.0", path = "../../../../primitives/io" }
+sp-runtime = { default-features = false, version = "3.0.0", path = "../../../../primitives/runtime" }
[features]
default = ['std']
@@ -57,5 +32,6 @@ std = [
'frame-system/std',
'frame-benchmarking/std',
]
+
runtime-benchmarks = ["frame-benchmarking"]
try-runtime = ["frame-support/try-runtime"]
diff --git a/bin/node-template/pallets/template/src/benchmarking.rs b/bin/node-template/pallets/template/src/benchmarking.rs
index 5296ed7261d98..93d7fa395ad6b 100644
--- a/bin/node-template/pallets/template/src/benchmarking.rs
+++ b/bin/node-template/pallets/template/src/benchmarking.rs
@@ -5,7 +5,7 @@ use super::*;
use frame_system::RawOrigin;
use frame_benchmarking::{benchmarks, whitelisted_caller, impl_benchmark_test_suite};
#[allow(unused)]
-use crate::Module as Template;
+use crate::Pallet as Template;
benchmarks! {
do_something {
diff --git a/bin/node-template/pallets/template/src/lib.rs b/bin/node-template/pallets/template/src/lib.rs
index 99a285492c77f..7b986a5186692 100644
--- a/bin/node-template/pallets/template/src/lib.rs
+++ b/bin/node-template/pallets/template/src/lib.rs
@@ -17,7 +17,7 @@ mod benchmarking;
#[frame_support::pallet]
pub mod pallet {
- use frame_support::{dispatch::DispatchResultWithPostInfo, pallet_prelude::*};
+ use frame_support::{dispatch::DispatchResult, pallet_prelude::*};
use frame_system::pallet_prelude::*;
/// Configure the pallet by specifying the parameters and types on which it depends.
@@ -70,7 +70,7 @@ pub mod pallet {
/// An example dispatchable that takes a singles value as a parameter, writes the value to
/// storage and emits an event. This function must be dispatched by a signed extrinsic.
#[pallet::weight(10_000 + T::DbWeight::get().writes(1))]
- pub fn do_something(origin: OriginFor, something: u32) -> DispatchResultWithPostInfo {
+ pub fn do_something(origin: OriginFor, something: u32) -> DispatchResult {
// Check that the extrinsic was signed and get the signer.
// This function will return an error if the extrinsic is not signed.
// https://substrate.dev/docs/en/knowledgebase/runtime/origin
@@ -82,12 +82,12 @@ pub mod pallet {
// Emit an event.
Self::deposit_event(Event::SomethingStored(something, who));
// Return a successful DispatchResultWithPostInfo
- Ok(().into())
+ Ok(())
}
/// An example dispatchable that may throw a custom error.
#[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))]
- pub fn cause_error(origin: OriginFor) -> DispatchResultWithPostInfo {
+ pub fn cause_error(origin: OriginFor) -> DispatchResult {
let _who = ensure_signed(origin)?;
// Read a value from storage.
@@ -99,7 +99,7 @@ pub mod pallet {
let new = old.checked_add(1).ok_or(Error::::StorageOverflow)?;
// Update the value in storage with the incremented result.
>::put(new);
- Ok(().into())
+ Ok(())
},
}
}
diff --git a/bin/node-template/pallets/template/src/mock.rs b/bin/node-template/pallets/template/src/mock.rs
index d33670f2e9cb0..1ebe3bee6090c 100644
--- a/bin/node-template/pallets/template/src/mock.rs
+++ b/bin/node-template/pallets/template/src/mock.rs
@@ -7,7 +7,7 @@ use sp_runtime::{
use frame_system as system;
type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic;
-type Block = frame_system::mocking::MockBlock;
+type Block = frame_system::mocking::MockBlock;
// Configure a mock runtime to test the pallet.
frame_support::construct_runtime!(
@@ -16,8 +16,8 @@ frame_support::construct_runtime!(
NodeBlock = Block,
UncheckedExtrinsic = UncheckedExtrinsic,
{
- System: frame_system::{Module, Call, Config, Storage, Event},
- TemplateModule: pallet_template::{Module, Call, Storage, Event},
+ System: frame_system::{Pallet, Call, Config, Storage, Event},
+ TemplateModule: pallet_template::{Pallet, Call, Storage, Event},
}
);
diff --git a/bin/node-template/runtime/Cargo.toml b/bin/node-template/runtime/Cargo.toml
index d4e202d688c87..5bba2a4e970b0 100644
--- a/bin/node-template/runtime/Cargo.toml
+++ b/bin/node-template/runtime/Cargo.toml
@@ -1,11 +1,11 @@
[package]
name = "node-template-runtime"
-version = "2.0.0"
-authors = ["Anonymous"]
+version = "3.0.0"
+authors = ["Substrate DevHub "]
edition = "2018"
license = "Unlicense"
homepage = "https://substrate.dev"
-repository = "https://github.com/paritytech/substrate/"
+repository = "https://github.com/substrate-developer-hub/substrate-node-template/"
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
@@ -45,7 +45,7 @@ frame-benchmarking = { version = "3.1.0", default-features = false, path = "../.
frame-system-benchmarking = { version = "3.0.0", default-features = false, path = "../../../frame/system/benchmarking", optional = true }
hex-literal = { version = "0.3.1", optional = true }
-template = { version = "2.0.0", default-features = false, path = "../pallets/template", package = "pallet-template" }
+pallet-template = { version = "3.0.0", default-features = false, path = "../pallets/template" }
[build-dependencies]
substrate-wasm-builder = { version = "4.0.0", path = "../../../utils/wasm-builder" }
@@ -56,14 +56,17 @@ std = [
"codec/std",
"frame-executive/std",
"frame-support/std",
+ "frame-system-rpc-runtime-api/std",
+ "frame-system/std",
"pallet-aura/std",
"pallet-balances/std",
"pallet-grandpa/std",
"pallet-randomness-collective-flip/std",
"pallet-sudo/std",
+ "pallet-template/std",
"pallet-timestamp/std",
- "pallet-transaction-payment/std",
"pallet-transaction-payment-rpc-runtime-api/std",
+ "pallet-transaction-payment/std",
"serde",
"sp-api/std",
"sp-block-builder/std",
@@ -76,18 +79,15 @@ std = [
"sp-std/std",
"sp-transaction-pool/std",
"sp-version/std",
- "frame-system/std",
- "frame-system-rpc-runtime-api/std",
- "template/std",
]
runtime-benchmarks = [
- "sp-runtime/runtime-benchmarks",
"frame-benchmarking",
"frame-support/runtime-benchmarks",
"frame-system-benchmarking",
- "hex-literal",
"frame-system/runtime-benchmarks",
+ "hex-literal",
"pallet-balances/runtime-benchmarks",
+ "pallet-template/runtime-benchmarks",
"pallet-timestamp/runtime-benchmarks",
- "template/runtime-benchmarks",
+ "sp-runtime/runtime-benchmarks",
]
diff --git a/bin/node-template/runtime/src/lib.rs b/bin/node-template/runtime/src/lib.rs
index 0f026db5735cc..1675b3d2a1cdc 100644
--- a/bin/node-template/runtime/src/lib.rs
+++ b/bin/node-template/runtime/src/lib.rs
@@ -40,7 +40,7 @@ pub use frame_support::{
use pallet_transaction_payment::CurrencyAdapter;
/// Import the template pallet.
-pub use template;
+pub use pallet_template;
/// An index to a block.
pub type BlockNumber = u32;
@@ -92,17 +92,24 @@ pub mod opaque {
}
}
+// To learn more about runtime versioning and what each of the following value means:
+// https://substrate.dev/docs/en/knowledgebase/runtime/upgrades#runtime-versioning
pub const VERSION: RuntimeVersion = RuntimeVersion {
spec_name: create_runtime_str!("node-template"),
impl_name: create_runtime_str!("node-template"),
authoring_version: 1,
- spec_version: 1,
+ // The version of the runtime specification. A full node will not attempt to use its native
+ // runtime in substitute for the on-chain Wasm runtime unless all of `spec_name`,
+ // `spec_version`, and `authoring_version` are the same between Wasm and native.
+ // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use
+ // the compatible custom types.
+ spec_version: 100,
impl_version: 1,
apis: RUNTIME_API_VERSIONS,
transaction_version: 1,
};
-/// This determines the average expected block time that we are targetting.
+/// This determines the average expected block time that we are targeting.
/// Blocks will be produced at a minimum duration defined by `SLOT_DURATION`.
/// `SLOT_DURATION` is picked up by `pallet_timestamp` which is in turn picked
/// up by `pallet_aura` to implement `fn slot_duration()`.
@@ -258,8 +265,8 @@ impl pallet_sudo::Config for Runtime {
type Call = Call;
}
-/// Configure the pallet template in pallets/template.
-impl template::Config for Runtime {
+/// Configure the pallet-template in pallets/template.
+impl pallet_template::Config for Runtime {
type Event = Event;
}
@@ -270,16 +277,16 @@ construct_runtime!(
NodeBlock = opaque::Block,
UncheckedExtrinsic = UncheckedExtrinsic
{
- System: frame_system::{Module, Call, Config, Storage, Event},
- RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Module, Call, Storage},
- Timestamp: pallet_timestamp::{Module, Call, Storage, Inherent},
- Aura: pallet_aura::{Module, Config},
- Grandpa: pallet_grandpa::{Module, Call, Storage, Config, Event},
- Balances: pallet_balances::{Module, Call, Storage, Config, Event},
- TransactionPayment: pallet_transaction_payment::{Module, Storage},
- Sudo: pallet_sudo::{Module, Call, Config, Storage, Event},
- // Include the custom logic from the template pallet in the runtime.
- TemplateModule: template::{Module, Call, Storage, Event},
+ System: frame_system::{Pallet, Call, Config, Storage, Event},
+ RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Call, Storage},
+ Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent},
+ Aura: pallet_aura::{Pallet, Config},
+ Grandpa: pallet_grandpa::{Pallet, Call, Storage, Config, Event},
+ Balances: pallet_balances::{Pallet, Call, Storage, Config, Event},
+ TransactionPayment: pallet_transaction_payment::{Pallet, Storage},
+ Sudo: pallet_sudo::{Pallet, Call, Config, Storage, Event},
+ // Include the custom logic from the pallet-template in the runtime.
+ TemplateModule: pallet_template::{Pallet, Call, Storage, Event},
}
);
@@ -313,7 +320,7 @@ pub type Executive = frame_executive::Executive<
Block,
frame_system::ChainContext,
Runtime,
- AllModules,
+ AllPallets,
>;
impl_runtime_apis! {
@@ -378,8 +385,8 @@ impl_runtime_apis! {
}
impl sp_consensus_aura::AuraApi for Runtime {
- fn slot_duration() -> u64 {
- Aura::slot_duration()
+ fn slot_duration() -> sp_consensus_aura::SlotDuration {
+ sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration())
}
fn authorities() -> Vec {
@@ -453,7 +460,7 @@ impl_runtime_apis! {
) -> Result, sp_runtime::RuntimeString> {
use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey};
- use frame_system_benchmarking::Module as SystemBench;
+ use frame_system_benchmarking::Pallet as SystemBench;
impl frame_system_benchmarking::Config for Runtime {}
let whitelist: Vec = vec![
@@ -475,7 +482,7 @@ impl_runtime_apis! {
add_benchmark!(params, batches, frame_system, SystemBench::);
add_benchmark!(params, batches, pallet_balances, Balances);
add_benchmark!(params, batches, pallet_timestamp, Timestamp);
- add_benchmark!(params, batches, template, TemplateModule);
+ add_benchmark!(params, batches, pallet_template, TemplateModule);
if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }
Ok(batches)
diff --git a/bin/node-template/scripts/docker_run.sh b/bin/node-template/scripts/docker_run.sh
new file mode 100644
index 0000000000000..0bac44b4cfb3b
--- /dev/null
+++ b/bin/node-template/scripts/docker_run.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# This script is meant to be run on Unix/Linux based systems
+set -e
+
+echo "*** Start Substrate node template ***"
+
+cd $(dirname ${BASH_SOURCE[0]})/..
+
+docker-compose down --remove-orphans
+docker-compose run --rm --service-ports dev $@
diff --git a/bin/node-template/scripts/init.sh b/bin/node-template/scripts/init.sh
index 1405a41ef333e..f976f7235d700 100755
--- a/bin/node-template/scripts/init.sh
+++ b/bin/node-template/scripts/init.sh
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
-
+# This script is meant to be run on Unix/Linux based systems
set -e
echo "*** Initializing WASM build environment"
diff --git a/bin/node/browser-testing/Cargo.toml b/bin/node/browser-testing/Cargo.toml
index fe83cc65ba632..292ee2cab6bf7 100644
--- a/bin/node/browser-testing/Cargo.toml
+++ b/bin/node/browser-testing/Cargo.toml
@@ -8,11 +8,11 @@ license = "Apache-2.0"
[dependencies]
futures-timer = "3.0.2"
-libp2p = { version = "0.35.1", default-features = false }
+libp2p = { version = "0.36.0", default-features = false }
jsonrpc-core = "15.0.0"
serde = "1.0.106"
serde_json = "1.0.48"
-wasm-bindgen = { version = "=0.2.70", features = ["serde-serialize"] }
+wasm-bindgen = { version = "=0.2.71", features = ["serde-serialize"] }
wasm-bindgen-futures = "0.4.18"
wasm-bindgen-test = "0.3.18"
futures = "0.3.9"
diff --git a/bin/node/cli/Cargo.toml b/bin/node/cli/Cargo.toml
index ebba2095e6be3..9449edfbf6e08 100644
--- a/bin/node/cli/Cargo.toml
+++ b/bin/node/cli/Cargo.toml
@@ -105,7 +105,7 @@ try-runtime-cli = { version = "0.9.0", optional = true, path = "../../../utils/f
wasm-bindgen = { version = "0.2.57", optional = true }
wasm-bindgen-futures = { version = "0.4.18", optional = true }
browser-utils = { package = "substrate-browser-utils", path = "../../../utils/browser", optional = true, version = "0.9.0"}
-libp2p-wasm-ext = { version = "0.27", features = ["websocket"], optional = true }
+libp2p-wasm-ext = { version = "0.28", features = ["websocket"], optional = true }
[target.'cfg(target_arch="x86_64")'.dependencies]
node-executor = { version = "2.0.0", path = "../executor", features = [ "wasmtime" ] }
@@ -116,7 +116,7 @@ sp-trie = { version = "3.0.0", default-features = false, path = "../../../primit
[dev-dependencies]
sc-keystore = { version = "3.0.0", path = "../../../client/keystore" }
sc-consensus = { version = "0.9.0", path = "../../../client/consensus/common" }
-sc-consensus-babe = { version = "0.9.0", features = ["test-helpers"], path = "../../../client/consensus/babe" }
+sc-consensus-babe = { version = "0.9.0", path = "../../../client/consensus/babe" }
sc-consensus-epochs = { version = "0.9.0", path = "../../../client/consensus/epochs" }
sc-service-test = { version = "2.0.0", path = "../../../client/service/test" }
futures = "0.3.9"
diff --git a/bin/node/cli/src/chain_spec.rs b/bin/node/cli/src/chain_spec.rs
index ae1418981f167..c30710d236acc 100644
--- a/bin/node/cli/src/chain_spec.rs
+++ b/bin/node/cli/src/chain_spec.rs
@@ -295,10 +295,9 @@ pub fn testnet_genesis(
phantom: Default::default(),
},
pallet_contracts: ContractsConfig {
- current_schedule: pallet_contracts::Schedule {
- enable_println, // this should only be enabled on development chains
- ..Default::default()
- },
+ // println should only be enabled on development chains
+ current_schedule: pallet_contracts::Schedule::default()
+ .enable_println(enable_println),
},
pallet_sudo: SudoConfig {
key: root_key,
diff --git a/bin/node/cli/src/service.rs b/bin/node/cli/src/service.rs
index 1351782315be7..ce0ffb2cecc0a 100644
--- a/bin/node/cli/src/service.rs
+++ b/bin/node/cli/src/service.rs
@@ -534,7 +534,7 @@ pub fn new_light(
#[cfg(test)]
mod tests {
- use std::{sync::Arc, borrow::Cow, any::Any, convert::TryInto};
+ use std::{sync::Arc, borrow::Cow, convert::TryInto};
use sc_consensus_babe::{CompatibleDigestItem, BabeIntermediate, INTERMEDIATE_KEY};
use sc_consensus_epochs::descendent_query;
use sp_consensus::{
@@ -638,27 +638,34 @@ mod tests {
None,
);
- let epoch_descriptor = babe_link.epoch_changes().lock().epoch_descriptor_for_child_of(
- descendent_query(&*service.client()),
- &parent_hash,
- parent_number,
- slot.into(),
- ).unwrap().unwrap();
-
let mut digest = Digest::::default();
// even though there's only one authority some slots might be empty,
// so we must keep trying the next slots until we can claim one.
- let babe_pre_digest = loop {
- inherent_data.replace_data(sp_timestamp::INHERENT_IDENTIFIER, &(slot * SLOT_DURATION));
- if let Some(babe_pre_digest) = sc_consensus_babe::test_helpers::claim_slot(
+ let (babe_pre_digest, epoch_descriptor) = loop {
+ inherent_data.replace_data(
+ sp_timestamp::INHERENT_IDENTIFIER,
+ &(slot * SLOT_DURATION),
+ );
+
+ let epoch_descriptor = babe_link.epoch_changes().shared_data().epoch_descriptor_for_child_of(
+ descendent_query(&*service.client()),
+ &parent_hash,
+ parent_number,
+ slot.into(),
+ ).unwrap().unwrap();
+
+ let epoch = babe_link.epoch_changes().shared_data().epoch_data(
+ &epoch_descriptor,
+ |slot| sc_consensus_babe::Epoch::genesis(&babe_link.config(), slot),
+ ).unwrap();
+
+ if let Some(babe_pre_digest) = sc_consensus_babe::authorship::claim_slot(
slot.into(),
- &parent_header,
- &*service.client(),
- keystore.clone(),
- &babe_link,
- ) {
- break babe_pre_digest;
+ &epoch,
+ &keystore,
+ ).map(|(digest, _)| digest) {
+ break (babe_pre_digest, epoch_descriptor)
}
slot += 1;
@@ -696,11 +703,11 @@ mod tests {
params.body = Some(new_body);
params.intermediates.insert(
Cow::from(INTERMEDIATE_KEY),
- Box::new(BabeIntermediate:: { epoch_descriptor }) as Box,
+ Box::new(BabeIntermediate:: { epoch_descriptor }) as Box<_>,
);
params.fork_choice = Some(ForkChoiceStrategy::LongestChain);
- block_import.import_block(params, Default::default())
+ futures::executor::block_on(block_import.import_block(params, Default::default()))
.expect("error importing test block");
},
|service, _| {
diff --git a/bin/node/executor/Cargo.toml b/bin/node/executor/Cargo.toml
index fb7fc9191141c..54a44d59c2591 100644
--- a/bin/node/executor/Cargo.toml
+++ b/bin/node/executor/Cargo.toml
@@ -44,6 +44,7 @@ sp-runtime = { version = "3.0.0", path = "../../../primitives/runtime" }
sp-externalities = { version = "0.9.0", path = "../../../primitives/externalities" }
substrate-test-client = { version = "2.0.0", path = "../../../test-utils/client" }
wat = "1.0"
+futures = "0.3.9"
[features]
wasmtime = [
diff --git a/bin/node/executor/tests/basic.rs b/bin/node/executor/tests/basic.rs
index 279b6a776031a..fe3ae5f14cc37 100644
--- a/bin/node/executor/tests/basic.rs
+++ b/bin/node/executor/tests/basic.rs
@@ -600,13 +600,13 @@ fn deploying_wasm_contract_should_work() {
let transfer_code = wat::parse_str(CODE_TRANSFER).unwrap();
let transfer_ch = ::Hashing::hash(&transfer_code);
- let addr = pallet_contracts::Module::::contract_address(
+ let addr = pallet_contracts::Pallet::::contract_address(
&charlie(),
&transfer_ch,
&[],
);
- let subsistence = pallet_contracts::Module::::subsistence_threshold();
+ let subsistence = pallet_contracts::Pallet::::subsistence_threshold();
let time = 42 * 1000;
let b = construct_block(
@@ -656,13 +656,10 @@ fn deploying_wasm_contract_should_work() {
).0.unwrap();
t.execute_with(|| {
- // Verify that the contract constructor worked well and code of TRANSFER contract is actually deployed.
- assert_eq!(
- &pallet_contracts::ContractInfoOf::::get(addr)
- .and_then(|c| c.get_alive())
- .unwrap()
- .code_hash,
- &transfer_ch
+ // Verify that the contract does exist by querying some of its storage items
+ // It does not matter that the storage item itself does not exist.
+ assert!(
+ &pallet_contracts::Pallet::::get_storage(addr, Default::default()).is_ok()
);
});
}
@@ -844,5 +841,5 @@ fn should_import_block_with_test_client() {
let block_data = block1.0;
let block = node_primitives::Block::decode(&mut &block_data[..]).unwrap();
- client.import(BlockOrigin::Own, block).unwrap();
+ futures::executor::block_on(client.import(BlockOrigin::Own, block)).unwrap();
}
diff --git a/bin/node/runtime/Cargo.toml b/bin/node/runtime/Cargo.toml
index 43ecca7e74456..f0cad60f2614d 100644
--- a/bin/node/runtime/Cargo.toml
+++ b/bin/node/runtime/Cargo.toml
@@ -36,6 +36,7 @@ sp-keyring = { version = "3.0.0", optional = true, path = "../../../primitives/k
sp-session = { version = "3.0.0", default-features = false, path = "../../../primitives/session" }
sp-transaction-pool = { version = "3.0.0", default-features = false, path = "../../../primitives/transaction-pool" }
sp-version = { version = "3.0.0", default-features = false, path = "../../../primitives/version" }
+sp-npos-elections = { version = "3.0.0", default-features = false, path = "../../../primitives/npos-elections" }
# frame dependencies
frame-executive = { version = "3.0.0", default-features = false, path = "../../../frame/executive" }
@@ -159,6 +160,7 @@ std = [
"pallet-vesting/std",
"log/std",
"frame-try-runtime/std",
+ "sp-npos-elections/std",
]
runtime-benchmarks = [
"frame-benchmarking",
diff --git a/bin/node/runtime/src/impls.rs b/bin/node/runtime/src/impls.rs
index c6a56e5ac0dab..416266119cb09 100644
--- a/bin/node/runtime/src/impls.rs
+++ b/bin/node/runtime/src/impls.rs
@@ -84,7 +84,7 @@ mod multiplier_tests {
let t1 = v * (s/m - ss/m);
let t2 = v.powi(2) * (s/m - ss/m).powi(2) / 2.0;
let next_float = previous_float * (1.0 + t1 + t2);
- Multiplier::from_fraction(next_float)
+ Multiplier::from_float(next_float)
}
fn run_with_system_weight(w: Weight, assertions: F) where F: Fn() -> () {
diff --git a/bin/node/runtime/src/lib.rs b/bin/node/runtime/src/lib.rs
index bb372f31c73b9..f790cf41a401b 100644
--- a/bin/node/runtime/src/lib.rs
+++ b/bin/node/runtime/src/lib.rs
@@ -114,7 +114,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
// implementation changes and behavior does not, then leave spec_version as
// is and increment impl_version.
spec_version: 265,
- impl_version: 0,
+ impl_version: 1,
apis: RUNTIME_API_VERSIONS,
transaction_version: 2,
};
@@ -379,7 +379,7 @@ impl pallet_balances::Config for Runtime {
type DustRemoval = ();
type Event = Event;
type ExistentialDeposit = ExistentialDeposit;
- type AccountStore = frame_system::Module;
+ type AccountStore = frame_system::Pallet;
type WeightInfo = pallet_balances::weights::SubstrateWeight;
}
@@ -468,17 +468,11 @@ parameter_types! {
pub const SlashDeferDuration: pallet_staking::EraIndex = 24 * 7; // 1/4 the bonding duration.
pub const RewardCurve: &'static PiecewiseLinear<'static> = &REWARD_CURVE;
pub const MaxNominatorRewardedPerValidator: u32 = 256;
- pub const ElectionLookahead: BlockNumber = EPOCH_DURATION_IN_BLOCKS / 4;
- pub const MaxIterations: u32 = 10;
- // 0.05%. The higher the value, the more strict solution acceptance becomes.
- pub MinSolutionScoreBump: Perbill = Perbill::from_rational_approximation(5u32, 10_000);
- pub OffchainSolutionWeightLimit: Weight = RuntimeBlockWeights::get()
- .get(DispatchClass::Normal)
- .max_extrinsic.expect("Normal extrinsics have a weight limit configured; qed")
- .saturating_sub(BlockExecutionWeight::get());
}
impl pallet_staking::Config for Runtime {
+ const MAX_NOMINATIONS: u32 =
+ ::LIMIT as u32;
type Currency = Balances;
type UnixTime = Timestamp;
type CurrencyToVote = U128CurrencyToVote;
@@ -496,17 +490,9 @@ impl pallet_staking::Config for Runtime {
pallet_collective::EnsureProportionAtLeast<_3, _4, AccountId, CouncilCollective>
>;
type SessionInterface = Self;
- type RewardCurve = RewardCurve;
+ type EraPayout = pallet_staking::ConvertCurve;
type NextNewSession = Session;
type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator;
- type ElectionLookahead = ElectionLookahead;
- type Call = Call;
- type MaxIterations = MaxIterations;
- type MinSolutionScoreBump = MinSolutionScoreBump;
- type UnsignedPriority = StakingUnsignedPriority;
- // The unsigned solution weight targeted by the OCW. We set it to the maximum possible value of
- // a single extrinsic.
- type OffchainSolutionWeightLimit = OffchainSolutionWeightLimit;
type ElectionProvider = ElectionProviderMultiPhase;
type WeightInfo = pallet_staking::weights::SubstrateWeight;
}
@@ -518,9 +504,9 @@ parameter_types! {
// fallback: no need to do on-chain phragmen initially.
pub const Fallback: pallet_election_provider_multi_phase::FallbackStrategy =
- pallet_election_provider_multi_phase::FallbackStrategy::Nothing;
+ pallet_election_provider_multi_phase::FallbackStrategy::OnChain;
- pub SolutionImprovementThreshold: Perbill = Perbill::from_rational_approximation(1u32, 10_000);
+ pub SolutionImprovementThreshold: Perbill = Perbill::from_rational(1u32, 10_000);
// miner configs
pub const MultiPhaseUnsignedPriority: TransactionPriority = StakingUnsignedPriority::get() - 1u64;
@@ -531,18 +517,27 @@ parameter_types! {
.saturating_sub(BlockExecutionWeight::get());
}
+sp_npos_elections::generate_solution_type!(
+ #[compact]
+ pub struct NposCompactSolution16::<
+ VoterIndex = u32,
+ TargetIndex = u16,
+ Accuracy = sp_runtime::PerU16,
+ >(16)
+);
+
impl pallet_election_provider_multi_phase::Config for Runtime {
type Event = Event;
type Currency = Balances;
type SignedPhase = SignedPhase;
type UnsignedPhase = UnsignedPhase;
- type SolutionImprovementThreshold = MinSolutionScoreBump;
+ type SolutionImprovementThreshold = SolutionImprovementThreshold;
type MinerMaxIterations = MinerMaxIterations;
type MinerMaxWeight = MinerMaxWeight;
type MinerTxPriority = MultiPhaseUnsignedPriority;
type DataProvider = Staking;
type OnChainAccuracy = Perbill;
- type CompactSolution = pallet_staking::CompactAssignments;
+ type CompactSolution = NposCompactSolution16;
type Fallback = Fallback;
type WeightInfo = pallet_election_provider_multi_phase::weights::SubstrateWeight;
type BenchmarkingConfig = ();
@@ -760,14 +755,14 @@ impl pallet_tips::Config for Runtime {
}
parameter_types! {
- pub const TombstoneDeposit: Balance = deposit(
+ pub TombstoneDeposit: Balance = deposit(
1,
- sp_std::mem::size_of::>() as u32
+ >::contract_info_size(),
);
- pub const DepositPerContract: Balance = TombstoneDeposit::get();
+ pub DepositPerContract: Balance = TombstoneDeposit::get();
pub const DepositPerStorageByte: Balance = deposit(0, 1);
pub const DepositPerStorageItem: Balance = deposit(1, 0);
- pub RentFraction: Perbill = Perbill::from_rational_approximation(1u32, 30 * DAYS);
+ pub RentFraction: Perbill = Perbill::from_rational(1u32, 30 * DAYS);
pub const SurchargeReward: Balance = 150 * MILLICENTS;
pub const SignedClaimHandicap: u32 = 2;
pub const MaxDepth: u32 = 32;
@@ -969,6 +964,7 @@ parameter_types! {
pub const PeriodSpend: Balance = 500 * DOLLARS;
pub const MaxLockDuration: BlockNumber = 36 * 30 * DAYS;
pub const ChallengePeriod: BlockNumber = 7 * DAYS;
+ pub const MaxCandidateIntake: u32 = 10;
pub const SocietyModuleId: ModuleId = ModuleId(*b"py/socie");
}
@@ -986,6 +982,7 @@ impl pallet_society::Config for Runtime {
type MaxLockDuration = MaxLockDuration;
type FounderSetOrigin = pallet_collective::EnsureProportionMoreThan<_1, _2, AccountId, CouncilCollective>;
type SuspensionJudgementOrigin = pallet_society::EnsureFounder;
+ type MaxCandidateIntake = MaxCandidateIntake;
type ChallengePeriod = ChallengePeriod;
}
@@ -1005,7 +1002,7 @@ impl pallet_mmr::Config for Runtime {
const INDEXING_PREFIX: &'static [u8] = b"mmr";
type Hashing = ::Hashing;
type Hash = ::Hash;
- type LeafData = frame_system::Module;
+ type LeafData = frame_system::Pallet;
type OnNewRoot = ();
type WeightInfo = ();
}
@@ -1048,6 +1045,8 @@ impl pallet_assets::Config for Runtime {
type MetadataDepositPerByte = MetadataDepositPerByte;
type ApprovalDeposit = ApprovalDeposit;
type StringLimit = StringLimit;
+ type Freezer = ();
+ type Extra = ();
type WeightInfo = pallet_assets::weights::SubstrateWeight;
}
@@ -1065,6 +1064,7 @@ parameter_types! {
impl pallet_gilt::Config for Runtime {
type Event = Event;
type Currency = Balances;
+ type CurrencyBalance = Balance;
type AdminOrigin = frame_system::EnsureRoot;
type Deficit = ();
type Surplus = ();
@@ -1085,44 +1085,44 @@ construct_runtime!(
NodeBlock = node_primitives::Block,
UncheckedExtrinsic = UncheckedExtrinsic
{
- System: frame_system::{Module, Call, Config, Storage, Event},
- Utility: pallet_utility::{Module, Call, Event},
- Babe: pallet_babe::{Module, Call, Storage, Config, ValidateUnsigned},
- Timestamp: pallet_timestamp::{Module, Call, Storage, Inherent},
- Authorship: pallet_authorship::{Module, Call, Storage, Inherent},
- Indices: pallet_indices::{Module, Call, Storage, Config, Event},
- Balances: pallet_balances::{Module, Call, Storage, Config, Event},
- TransactionPayment: pallet_transaction_payment::{Module, Storage},
- ElectionProviderMultiPhase: pallet_election_provider_multi_phase::{Module, Call, Storage, Event, ValidateUnsigned},
- Staking: pallet_staking::{Module, Call, Config, Storage, Event, ValidateUnsigned},
- Session: pallet_session::{Module, Call, Storage, Event, Config},
- Democracy: pallet_democracy::{Module, Call, Storage, Config, Event},
- Council: pallet_collective::::{Module, Call, Storage, Origin, Event, Config},
- TechnicalCommittee: pallet_collective::::{Module, Call, Storage, Origin, Event, Config},
- Elections: pallet_elections_phragmen::{Module, Call, Storage, Event, Config},
- TechnicalMembership: pallet_membership::::{Module, Call, Storage, Event, Config},
- Grandpa: pallet_grandpa::{Module, Call, Storage, Config, Event, ValidateUnsigned},
- Treasury: pallet_treasury::{Module, Call, Storage, Config, Event},
- Contracts: pallet_contracts::{Module, Call, Config, Storage, Event},
- Sudo: pallet_sudo::{Module, Call, Config, Storage, Event},
- ImOnline: pallet_im_online::{Module, Call, Storage, Event, ValidateUnsigned, Config},
- AuthorityDiscovery: pallet_authority_discovery::{Module, Call, Config},
- Offences: pallet_offences::{Module, Call, Storage, Event},
- Historical: pallet_session_historical::{Module},
- RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Module, Call, Storage},
- Identity: pallet_identity::{Module, Call, Storage, Event},
- Society: pallet_society::{Module, Call, Storage, Event, Config},
- Recovery: pallet_recovery::{Module, Call, Storage, Event},
- Vesting: pallet_vesting::{Module, Call, Storage, Event, Config},
- Scheduler: pallet_scheduler::{Module, Call, Storage, Event},
- Proxy: pallet_proxy::{Module, Call, Storage, Event},
- Multisig: pallet_multisig::{Module, Call, Storage, Event},
- Bounties: pallet_bounties::{Module, Call, Storage, Event},
- Tips: pallet_tips::{Module, Call, Storage, Event},
- Assets: pallet_assets::{Module, Call, Storage, Event},
- Mmr: pallet_mmr::{Module, Storage},
- Lottery: pallet_lottery::{Module, Call, Storage, Event},
- Gilt: pallet_gilt::{Module, Call, Storage, Event, Config},
+ System: frame_system::{Pallet, Call, Config, Storage, Event},
+ Utility: pallet_utility::{Pallet, Call, Event},
+ Babe: pallet_babe::{Pallet, Call, Storage, Config, ValidateUnsigned},
+ Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent},
+ Authorship: pallet_authorship::{Pallet, Call, Storage, Inherent},
+ Indices: pallet_indices::{Pallet, Call, Storage, Config, Event},
+ Balances: pallet_balances::{Pallet, Call, Storage, Config, Event},
+ TransactionPayment: pallet_transaction_payment::{Pallet, Storage},
+ ElectionProviderMultiPhase: pallet_election_provider_multi_phase::{Pallet, Call, Storage, Event, ValidateUnsigned},
+ Staking: pallet_staking::{Pallet, Call, Config, Storage, Event},
+ Session: pallet_session::{Pallet, Call, Storage, Event, Config},
+ Democracy: pallet_democracy::{Pallet, Call, Storage, Config, Event},
+ Council: pallet_collective::::{Pallet, Call, Storage, Origin, Event, Config},
+ TechnicalCommittee: pallet_collective::::{Pallet, Call, Storage, Origin, Event, Config},
+ Elections: pallet_elections_phragmen::{Pallet, Call, Storage, Event, Config},
+ TechnicalMembership: pallet_membership::::{Pallet, Call, Storage, Event, Config},
+ Grandpa: pallet_grandpa::{Pallet, Call, Storage, Config, Event, ValidateUnsigned},
+ Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event},
+ Contracts: pallet_contracts::{Pallet, Call, Config, Storage, Event},
+ Sudo: pallet_sudo::{Pallet, Call, Config, Storage, Event},
+ ImOnline: pallet_im_online::{Pallet, Call, Storage, Event, ValidateUnsigned, Config},
+ AuthorityDiscovery: pallet_authority_discovery::{Pallet, Call, Config},
+ Offences: pallet_offences::{Pallet, Call, Storage, Event},
+ Historical: pallet_session_historical::{Pallet},
+ RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Call, Storage},
+ Identity: pallet_identity::{Pallet, Call, Storage, Event},
+ Society: pallet_society::{Pallet, Call, Storage, Event, Config},
+ Recovery: pallet_recovery::{Pallet, Call, Storage, Event},
+ Vesting: pallet_vesting::{Pallet, Call, Storage, Event, Config},
+ Scheduler: pallet_scheduler::{Pallet, Call, Storage, Event},
+ Proxy: pallet_proxy::{Pallet, Call, Storage, Event},
+ Multisig: pallet_multisig::{Pallet, Call, Storage, Event},
+ Bounties: pallet_bounties::{Pallet, Call, Storage, Event},
+ Tips: pallet_tips::{Pallet, Call, Storage, Event},
+ Assets: pallet_assets::{Pallet, Call, Storage, Event},
+ Mmr: pallet_mmr::{Pallet, Storage},
+ Lottery: pallet_lottery::{Pallet, Call, Storage, Event},
+ Gilt: pallet_gilt::{Pallet, Call, Storage, Event, Config},
}
);
@@ -1162,7 +1162,7 @@ pub type Executive = frame_executive::Executive<
Block,
frame_system::ChainContext,
Runtime,
- AllModules,
+ AllPallets,
(),
>;
@@ -1434,9 +1434,9 @@ impl_runtime_apis! {
// Trying to add benchmarks directly to the Session Pallet caused cyclic dependency
// issues. To get around that, we separated the Session benchmarks into its own crate,
// which is why we need these two lines below.
- use pallet_session_benchmarking::Module as SessionBench;
- use pallet_offences_benchmarking::Module as OffencesBench;
- use frame_system_benchmarking::Module as SystemBench;
+ use pallet_session_benchmarking::Pallet as SessionBench;
+ use pallet_offences_benchmarking::Pallet as OffencesBench;
+ use frame_system_benchmarking::Pallet as SystemBench;
impl pallet_session_benchmarking::Config for Runtime {}
impl pallet_offences_benchmarking::Config for Runtime {}
diff --git a/bin/node/test-runner-example/Cargo.toml b/bin/node/test-runner-example/Cargo.toml
new file mode 100644
index 0000000000000..f94575e8e621b
--- /dev/null
+++ b/bin/node/test-runner-example/Cargo.toml
@@ -0,0 +1,40 @@
+[package]
+name = "test-runner-example"
+version = "0.1.0"
+authors = ["Parity Technologies "]
+edition = "2018"
+publish = false
+
+[dependencies]
+test-runner = { path = "../../../test-utils/test-runner", version = "0.9.0" }
+
+frame-system = { version = "3.0.0", path = "../../../frame/system" }
+frame-support = { path = "../../../frame/support", version = "3.0.0" }
+frame-benchmarking = { path = "../../../frame/benchmarking", version = "3.0.0" }
+pallet-balances = { path = "../../../frame/balances", version = "3.0.0" }
+pallet-sudo = { path = "../../../frame/sudo", version = "3.0.0" }
+pallet-transaction-payment = { version = "3.0.0", path = "../../../frame/transaction-payment" }
+
+node-runtime = { path = "../runtime", version = "2.0.1" }
+node-primitives = { version = "2.0.0", path = "../primitives" }
+node-cli = { path = "../cli", version = "2.0.0" }
+
+grandpa = { version = "0.9.0", package = "sc-finality-grandpa", path = "../../../client/finality-grandpa" }
+sp-consensus-babe = { version = "0.9.0", path = "../../../primitives/consensus/babe" }
+sc-consensus-babe = { version = "0.9.0", path = "../../../client/consensus/babe" }
+sc-consensus-manual-seal = { version = "0.9.0", path = "../../../client/consensus/manual-seal" }
+sc-service = { version = "0.9.0", default-features = false, path = "../../../client/service" }
+sc-executor = { version = "0.9.0", path = "../../../client/executor" }
+sc-client-api = { version = "3.0.0", path = "../../../client/api" }
+sc-network = { version = "0.9.0", path = "../../../client/network" }
+sc-informant = { version = "0.9.0", path = "../../../client/informant" }
+sc-consensus = { version = "0.9.0", path = "../../../client/consensus/common" }
+
+sp-runtime = { path = "../../../primitives/runtime", version = "3.0.0" }
+sp-keyring = { version = "3.0.0", path = "../../../primitives/keyring" }
+sp-api = { version = "3.0.0", path = "../../../primitives/api" }
+sp-inherents = { version = "3.0.0", path = "../../../primitives/inherents" }
+sp-keystore = { version = "0.9.0", path = "../../../primitives/keystore" }
+
+rand = "0.8.3"
+log = "0.4.14"
diff --git a/bin/node/test-runner-example/src/lib.rs b/bin/node/test-runner-example/src/lib.rs
new file mode 100644
index 0000000000000..22cfffa7f23a7
--- /dev/null
+++ b/bin/node/test-runner-example/src/lib.rs
@@ -0,0 +1,202 @@
+// This file is part of Substrate.
+
+// Copyright (C) 2021 Parity Technologies (UK) Ltd.
+// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+//! Basic example of end to end runtime tests.
+
+use test_runner::{Node, ChainInfo, SignatureVerificationOverride};
+use grandpa::GrandpaBlockImport;
+use sc_service::{TFullBackend, TFullClient, Configuration, TaskManager, new_full_parts};
+use std::sync::Arc;
+use sp_inherents::InherentDataProviders;
+use sc_consensus_babe::BabeBlockImport;
+use sp_keystore::SyncCryptoStorePtr;
+use sp_keyring::sr25519::Keyring::Alice;
+use sp_consensus_babe::AuthorityId;
+use sc_consensus_manual_seal::{ConsensusDataProvider, consensus::babe::BabeConsensusDataProvider};
+use sp_runtime::{traits::IdentifyAccount, MultiSigner, generic::Era};
+
+type BlockImport = BabeBlockImport>;
+
+sc_executor::native_executor_instance!(
+ pub Executor,
+ node_runtime::api::dispatch,
+ node_runtime::native_version,
+ (
+ frame_benchmarking::benchmarking::HostFunctions,
+ SignatureVerificationOverride,
+ )
+);
+
+/// ChainInfo implementation.
+struct NodeTemplateChainInfo;
+
+impl ChainInfo for NodeTemplateChainInfo {
+ type Block = node_primitives::Block;
+ type Executor = Executor;
+ type Runtime = node_runtime::Runtime;
+ type RuntimeApi = node_runtime::RuntimeApi;
+ type SelectChain = sc_consensus::LongestChain, Self::Block>;
+ type BlockImport = BlockImport<
+ Self::Block,
+ TFullBackend,
+ TFullClient,
+ Self::SelectChain,
+ >;
+ type SignedExtras = node_runtime::SignedExtra;
+
+ fn signed_extras(from: ::AccountId) -> Self::SignedExtras {
+ (
+ frame_system::CheckSpecVersion::::new(),
+ frame_system::CheckTxVersion::::new(),
+ frame_system::CheckGenesis::::new(),
+ frame_system::CheckMortality::::from(Era::Immortal),
+ frame_system::CheckNonce::::from(frame_system::Pallet::::account_nonce(from)),
+ frame_system::CheckWeight::::new(),
+ pallet_transaction_payment::ChargeTransactionPayment::::from(0),
+ )
+ }
+
+ fn create_client_parts(
+ config: &Configuration,
+ ) -> Result<
+ (
+ Arc>,
+ Arc>,
+ SyncCryptoStorePtr,
+ TaskManager,
+ InherentDataProviders,
+ Option<
+ Box<
+ dyn ConsensusDataProvider<
+ Self::Block,
+ Transaction = sp_api::TransactionFor<
+ TFullClient,
+ Self::Block,
+ >,
+ >,
+ >,
+ >,
+ Self::SelectChain,
+ Self::BlockImport,
+ ),
+ sc_service::Error,
+ > {
+ let (client, backend, keystore, task_manager) =
+ new_full_parts::(config, None)?;
+ let client = Arc::new(client);
+
+ let inherent_providers = InherentDataProviders::new();
+ let select_chain = sc_consensus::LongestChain::new(backend.clone());
+
+ let (grandpa_block_import, ..) =
+ grandpa::block_import(
+ client.clone(),
+ &(client.clone() as Arc<_>),
+ select_chain.clone(),
+ None
+ )?;
+
+ let (block_import, babe_link) = sc_consensus_babe::block_import(
+ sc_consensus_babe::Config::get_or_compute(&*client)?,
+ grandpa_block_import,
+ client.clone(),
+ )?;
+
+ let consensus_data_provider = BabeConsensusDataProvider::new(
+ client.clone(),
+ keystore.sync_keystore(),
+ &inherent_providers,
+ babe_link.epoch_changes().clone(),
+ vec![(AuthorityId::from(Alice.public()), 1000)],
+ )
+ .expect("failed to create ConsensusDataProvider");
+
+ Ok((
+ client,
+ backend,
+ keystore.sync_keystore(),
+ task_manager,
+ inherent_providers,
+ Some(Box::new(consensus_data_provider)),
+ select_chain,
+ block_import,
+ ))
+ }
+
+ fn dispatch_with_root(call: ::Call, node: &mut Node) {
+ let alice = MultiSigner::from(Alice.public()).into_account();
+ let call = pallet_sudo::Call::sudo(Box::new(call));
+ node.submit_extrinsic(call, alice);
+ node.seal_blocks(1);
+ }
+}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+ use test_runner::NodeConfig;
+ use log::LevelFilter;
+ use sc_client_api::execution_extensions::ExecutionStrategies;
+ use node_cli::chain_spec::development_config;
+
+ #[test]
+ fn test_runner() {
+ let config = NodeConfig {
+ execution_strategies: ExecutionStrategies {
+ syncing: sc_client_api::ExecutionStrategy::AlwaysWasm,
+ importing: sc_client_api::ExecutionStrategy::AlwaysWasm,
+ block_construction: sc_client_api::ExecutionStrategy::AlwaysWasm,
+ offchain_worker: sc_client_api::ExecutionStrategy::AlwaysWasm,
+ other: sc_client_api::ExecutionStrategy::AlwaysWasm,
+ },
+ chain_spec: Box::new(development_config()),
+ log_targets: vec![
+ ("yamux", LevelFilter::Off),
+ ("multistream_select", LevelFilter::Off),
+ ("libp2p", LevelFilter::Off),
+ ("jsonrpc_client_transports", LevelFilter::Off),
+ ("sc_network", LevelFilter::Off),
+ ("tokio_reactor", LevelFilter::Off),
+ ("parity-db", LevelFilter::Off),
+ ("sub-libp2p", LevelFilter::Off),
+ ("sync", LevelFilter::Off),
+ ("peerset", LevelFilter::Off),
+ ("ws", LevelFilter::Off),
+ ("sc_network", LevelFilter::Off),
+ ("sc_service", LevelFilter::Off),
+ ("sc_basic_authorship", LevelFilter::Off),
+ ("telemetry-logger", LevelFilter::Off),
+ ("sc_peerset", LevelFilter::Off),
+ ("rpc", LevelFilter::Off),
+ ("runtime", LevelFilter::Trace),
+ ("babe", LevelFilter::Debug)
+ ],
+ };
+ let mut node = Node::::new(config).unwrap();
+ // seals blocks
+ node.seal_blocks(1);
+ // submit extrinsics
+ let alice = MultiSigner::from(Alice.public()).into_account();
+ node.submit_extrinsic(frame_system::Call::remark((b"hello world").to_vec()), alice);
+
+ // look ma, I can read state.
+ let _events = node.with_state(|| frame_system::Pallet::::events());
+ // get access to the underlying client.
+ let _client = node.client();
+ }
+}
diff --git a/bin/node/testing/src/bench.rs b/bin/node/testing/src/bench.rs
index cc6d7587dd517..edb99c617771a 100644
--- a/bin/node/testing/src/bench.rs
+++ b/bin/node/testing/src/bench.rs
@@ -691,7 +691,7 @@ impl BenchContext {
assert_eq!(self.client.chain_info().best_number, 0);
assert_eq!(
- self.client.import_block(import_params, Default::default())
+ futures::executor::block_on(self.client.import_block(import_params, Default::default()))
.expect("Failed to import block"),
ImportResult::Imported(
ImportedAux {
diff --git a/bin/utils/subkey/README.adoc b/bin/utils/subkey/README.adoc
index 5ce0d2d324470..b82213777e93a 100644
--- a/bin/utils/subkey/README.adoc
+++ b/bin/utils/subkey/README.adoc
@@ -12,7 +12,7 @@ Subkey is a commandline utility included with Substrate that generates or restor
subkey generate
```
-Will output a mnemonic phrase and give you the seed, public key, and address of a new account. DO NOT SHARE your mnemonic or seed with ANYONE it will give them access to your funds. If someone is making a transfer to you they will only need your **Address**.
+Will output a secret phrase("mnemonic phrase") and give you the secret seed("Private Key"), public key("Account ID") and SS58 address("Public Address") of a new account. DO NOT SHARE your mnemonic phrase or secret seed with ANYONE it will give them access to your funds. If someone is making a transfer to you they will only need your **Public Address**.
=== Inspecting a key
@@ -80,4 +80,4 @@ Public Key URI `F3opxRbN5ZbjJNU511Kj2TLuzFcDq9BGduA9TgiECafpg29` is account:
Public key (hex): 0x6d6f646c70792f74727372790000000000000000000000000000000000000000
Account ID: 0x6d6f646c70792f74727372790000000000000000000000000000000000000000
SS58 Address: F3opxRbN5ZbjJNU511Kj2TLuzFcDq9BGduA9TgiECafpg29
-```
\ No newline at end of file
+```
diff --git a/client/api/src/backend.rs b/client/api/src/backend.rs
index e41b250269a11..14841d8d3e96f 100644
--- a/client/api/src/backend.rs
+++ b/client/api/src/backend.rs
@@ -22,11 +22,11 @@ use std::sync::Arc;
use std::collections::{HashMap, HashSet};
use sp_core::ChangesTrieConfigurationRange;
use sp_core::offchain::OffchainStorage;
-use sp_runtime::{generic::BlockId, Justification, Storage};
+use sp_runtime::{generic::BlockId, Justification, Justifications, Storage};
use sp_runtime::traits::{Block as BlockT, NumberFor, HashFor};
use sp_state_machine::{
ChangesTrieState, ChangesTrieStorage as StateChangesTrieStorage, ChangesTrieTransaction,
- StorageCollection, ChildStorageCollection, OffchainChangesCollection,
+ StorageCollection, ChildStorageCollection, OffchainChangesCollection, IndexOperation,
};
use sp_storage::{StorageData, StorageKey, PrefixedStorageKey, ChildInfo};
use crate::{
@@ -148,7 +148,7 @@ pub trait BlockImportOperation {
&mut self,
header: Block::Header,
body: Option>,
- justification: Option,
+ justifications: Option,
state: NewBlockState,
) -> sp_blockchain::Result<()>;
@@ -197,9 +197,13 @@ pub trait BlockImportOperation {
id: BlockId,
justification: Option,
) -> sp_blockchain::Result<()>;
+
/// Mark a block as new head. If both block import and set head are specified, set head
/// overrides block import's best block rule.
fn mark_head(&mut self, id: BlockId) -> sp_blockchain::Result<()>;
+
+ /// Add a transaction index operation.
+ fn update_transaction_index(&mut self, index: Vec) -> sp_blockchain::Result<()>;
}
/// Interface for performing operations on the backend.
@@ -230,7 +234,6 @@ pub trait Finalizer> {
notify: bool,
) -> sp_blockchain::Result<()>;
-
/// Finalize a block.
///
/// This will implicitly finalize all blocks up to it and
@@ -250,7 +253,6 @@ pub trait Finalizer> {
justification: Option,
notify: bool,
) -> sp_blockchain::Result<()>;
-
}
/// Provides access to an auxiliary database.
@@ -432,6 +434,15 @@ pub trait Backend: AuxStore + Send + Sync {
justification: Option,
) -> sp_blockchain::Result<()>;
+ /// Append justification to the block with the given Id.
+ ///
+ /// This should only be called for blocks that are already finalized.
+ fn append_justification(
+ &self,
+ block: BlockId,
+ justification: Justification,
+ ) -> sp_blockchain::Result<()>;
+
/// Returns reference to blockchain backend.
fn blockchain(&self) -> &Self::Blockchain;
diff --git a/client/api/src/client.rs b/client/api/src/client.rs
index 990a7908b62bb..4a0940b1f4bd3 100644
--- a/client/api/src/client.rs
+++ b/client/api/src/client.rs
@@ -23,7 +23,7 @@ use sp_core::storage::StorageKey;
use sp_runtime::{
traits::{Block as BlockT, NumberFor},
generic::{BlockId, SignedBlock},
- Justification,
+ Justifications,
};
use sp_consensus::BlockOrigin;
@@ -90,21 +90,24 @@ pub trait BlockBackend {
/// Get block status.
fn block_status(&self, id: &BlockId) -> sp_blockchain::Result;
- /// Get block justification set by id.
- fn justification(&self, id: &BlockId) -> sp_blockchain::Result