From be8bb186d87b9d2b47a2907c9b51ae1e252362c3 Mon Sep 17 00:00:00 2001
From: Benjamin Kampmann
Date: Thu, 20 Aug 2020 17:04:42 +0200
Subject: [PATCH] prepping for releasing rc6 (#6922)
* Bump version
* update test-utils crates to be ready for publishing
* adding changelog
* Adding automaticly generated READMEs
* fixing versions
* another version mishap
---
Cargo.lock | 370 +++++++++---------
bin/node-template/node/Cargo.toml | 52 +--
bin/node-template/pallets/template/Cargo.toml | 12 +-
bin/node-template/pallets/template/README.md | 1 +
bin/node-template/runtime/Cargo.toml | 50 +--
bin/node/bench/Cargo.toml | 34 +-
bin/node/browser-testing/Cargo.toml | 6 +-
bin/node/cli/Cargo.toml | 122 +++---
bin/node/executor/Cargo.toml | 50 +--
bin/node/inspect/Cargo.toml | 14 +-
bin/node/primitives/Cargo.toml | 12 +-
bin/node/rpc-client/Cargo.toml | 6 +-
bin/node/rpc/Cargo.toml | 42 +-
bin/node/runtime/Cargo.toml | 116 +++---
bin/node/testing/Cargo.toml | 68 ++--
bin/utils/chain-spec-builder/Cargo.toml | 10 +-
bin/utils/chain-spec-builder/README.md | 1 +
bin/utils/subkey/Cargo.toml | 14 +-
bin/utils/subkey/README.md | 1 +
client/api/Cargo.toml | 44 +--
client/api/README.md | 3 +
client/authority-discovery/Cargo.toml | 24 +-
client/authority-discovery/README.md | 9 +
client/basic-authorship/Cargo.toml | 30 +-
client/basic-authorship/README.md | 32 ++
client/block-builder/Cargo.toml | 22 +-
client/block-builder/README.md | 9 +
client/chain-spec/Cargo.toml | 14 +-
client/chain-spec/README.md | 92 +++++
client/chain-spec/derive/Cargo.toml | 2 +-
client/cli/Cargo.toml | 34 +-
client/cli/README.md | 3 +
client/consensus/aura/Cargo.toml | 50 +--
client/consensus/aura/README.md | 15 +
client/consensus/babe/Cargo.toml | 60 +--
client/consensus/babe/README.md | 48 +++
client/consensus/babe/rpc/Cargo.toml | 30 +-
client/consensus/babe/rpc/README.md | 3 +
client/consensus/common/Cargo.toml | 10 +-
client/consensus/common/README.md | 3 +
client/consensus/epochs/Cargo.toml | 10 +-
client/consensus/epochs/README.md | 3 +
client/consensus/manual-seal/Cargo.toml | 26 +-
client/consensus/manual-seal/README.md | 4 +
client/consensus/pow/Cargo.toml | 24 +-
client/consensus/pow/README.md | 16 +
client/consensus/slots/Cargo.toml | 26 +-
client/consensus/slots/README.md | 7 +
client/consensus/uncles/Cargo.toml | 14 +-
client/consensus/uncles/README.md | 3 +
client/db/Cargo.toml | 30 +-
client/db/README.md | 11 +
client/executor/Cargo.toml | 40 +-
client/executor/README.md | 13 +
client/executor/common/Cargo.toml | 12 +-
client/executor/common/README.md | 3 +
client/executor/runtime-test/Cargo.toml | 14 +-
client/executor/wasmi/Cargo.toml | 12 +-
client/executor/wasmi/README.md | 3 +
client/executor/wasmtime/Cargo.toml | 12 +-
client/executor/wasmtime/README.md | 1 +
client/finality-grandpa/Cargo.toml | 56 +--
client/finality-grandpa/README.md | 39 ++
client/finality-grandpa/rpc/Cargo.toml | 26 +-
client/finality-grandpa/rpc/README.md | 3 +
client/informant/Cargo.toml | 10 +-
client/informant/README.md | 3 +
client/keystore/Cargo.toml | 6 +-
client/keystore/README.md | 3 +
client/light/Cargo.toml | 2 +-
client/light/README.md | 3 +
client/network-gossip/Cargo.toml | 8 +-
client/network-gossip/README.md | 41 ++
client/network/Cargo.toml | 32 +-
client/network/README.md | 226 +++++++++++
client/network/test/Cargo.toml | 26 +-
client/offchain/Cargo.toml | 26 +-
client/offchain/README.md | 18 +
client/peerset/Cargo.toml | 4 +-
client/peerset/README.md | 4 +
client/proposer-metrics/Cargo.toml | 4 +-
client/proposer-metrics/README.md | 3 +
client/rpc-api/Cargo.toml | 14 +-
client/rpc-api/README.md | 5 +
client/rpc-servers/Cargo.toml | 4 +-
client/rpc-servers/README.md | 3 +
client/rpc/Cargo.toml | 44 +--
client/rpc/README.md | 5 +
client/service/Cargo.toml | 72 ++--
client/service/README.md | 4 +
client/service/test/Cargo.toml | 42 +-
client/state-db/Cargo.toml | 6 +-
client/state-db/README.md | 16 +
client/telemetry/Cargo.toml | 2 +-
client/telemetry/README.md | 45 +++
client/tracing/Cargo.toml | 4 +-
client/tracing/README.md | 11 +
client/transaction-pool/Cargo.toml | 32 +-
client/transaction-pool/README.md | 3 +
client/transaction-pool/graph/Cargo.toml | 14 +-
client/transaction-pool/graph/README.md | 8 +
docs/CHANGELOG.md | 37 ++
frame/assets/Cargo.toml | 14 +-
frame/assets/README.md | 116 ++++++
frame/atomic-swap/Cargo.toml | 16 +-
frame/atomic-swap/README.md | 23 ++
frame/aura/Cargo.toml | 26 +-
frame/aura/README.md | 28 ++
frame/authority-discovery/Cargo.toml | 22 +-
frame/authority-discovery/README.md | 6 +
frame/authorship/Cargo.toml | 18 +-
frame/authorship/README.md | 5 +
frame/babe/Cargo.toml | 46 +--
frame/babe/README.md | 4 +
frame/balances/Cargo.toml | 18 +-
frame/balances/README.md | 122 ++++++
frame/benchmark/Cargo.toml | 14 +-
frame/benchmark/README.md | 5 +
frame/benchmarking/Cargo.toml | 18 +-
frame/benchmarking/README.md | 3 +
frame/collective/Cargo.toml | 18 +-
frame/collective/README.md | 22 ++
frame/contracts/Cargo.toml | 26 +-
frame/contracts/README.md | 64 +++
frame/contracts/common/Cargo.toml | 6 +-
frame/contracts/common/README.md | 3 +
frame/contracts/rpc/Cargo.toml | 16 +-
frame/contracts/rpc/README.md | 3 +
frame/contracts/rpc/runtime-api/Cargo.toml | 10 +-
frame/contracts/rpc/runtime-api/README.md | 7 +
frame/democracy/Cargo.toml | 24 +-
frame/democracy/README.md | 135 +++++++
frame/elections-phragmen/Cargo.toml | 22 +-
frame/elections-phragmen/README.md | 67 ++++
frame/elections/Cargo.toml | 16 +-
frame/elections/README.md | 7 +
frame/evm/Cargo.toml | 18 +-
frame/evm/README.md | 3 +
frame/example-offchain-worker/Cargo.toml | 14 +-
frame/example-offchain-worker/README.md | 26 ++
frame/example/Cargo.toml | 18 +-
frame/example/README.md | 237 +++++++++++
frame/executive/Cargo.toml | 26 +-
frame/executive/README.md | 61 +++
frame/finality-tracker/Cargo.toml | 18 +-
frame/finality-tracker/README.md | 3 +
frame/generic-asset/Cargo.toml | 14 +-
frame/generic-asset/README.md | 131 +++++++
frame/grandpa/Cargo.toml | 44 +--
frame/grandpa/README.md | 12 +
frame/identity/Cargo.toml | 18 +-
frame/identity/README.md | 56 +++
frame/im-online/Cargo.toml | 24 +-
frame/im-online/README.md | 51 +++
frame/indices/Cargo.toml | 20 +-
frame/indices/README.md | 4 +
frame/membership/Cargo.toml | 14 +-
frame/membership/README.md | 6 +
frame/metadata/Cargo.toml | 6 +-
frame/metadata/README.md | 7 +
frame/multisig/Cargo.toml | 20 +-
frame/multisig/README.md | 29 ++
frame/nicks/Cargo.toml | 16 +-
frame/nicks/README.md | 23 ++
frame/offences/Cargo.toml | 18 +-
frame/offences/README.md | 5 +
frame/offences/benchmarking/Cargo.toml | 36 +-
frame/offences/benchmarking/README.md | 3 +
frame/proxy/Cargo.toml | 22 +-
frame/proxy/README.md | 17 +
frame/randomness-collective-flip/Cargo.toml | 14 +-
frame/randomness-collective-flip/README.md | 38 ++
frame/recovery/Cargo.toml | 16 +-
frame/recovery/README.md | 134 +++++++
frame/scheduler/Cargo.toml | 18 +-
frame/scheduler/README.md | 34 ++
frame/scored-pool/Cargo.toml | 16 +-
frame/scored-pool/README.md | 66 ++++
frame/session/Cargo.toml | 24 +-
frame/session/README.md | 83 ++++
frame/session/benchmarking/Cargo.toml | 28 +-
frame/session/benchmarking/README.md | 3 +
frame/society/Cargo.toml | 16 +-
frame/society/README.md | 228 +++++++++++
frame/staking/Cargo.toml | 38 +-
frame/staking/README.md | 249 ++++++++++++
frame/staking/fuzzer/Cargo.toml | 26 +-
frame/staking/reward-curve/Cargo.toml | 4 +-
frame/sudo/Cargo.toml | 14 +-
frame/sudo/README.md | 70 ++++
frame/support/Cargo.toml | 24 +-
frame/support/README.md | 3 +
frame/support/procedural/Cargo.toml | 4 +-
frame/support/procedural/tools/Cargo.toml | 4 +-
.../procedural/tools/derive/Cargo.toml | 2 +-
frame/support/test/Cargo.toml | 16 +-
frame/system/Cargo.toml | 18 +-
frame/system/README.md | 75 ++++
frame/system/benchmarking/Cargo.toml | 16 +-
frame/system/benchmarking/README.md | 1 +
frame/system/rpc/runtime-api/Cargo.toml | 4 +-
frame/system/rpc/runtime-api/README.md | 7 +
frame/timestamp/Cargo.toml | 22 +-
frame/timestamp/README.md | 74 ++++
frame/transaction-payment/Cargo.toml | 20 +-
frame/transaction-payment/README.md | 16 +
frame/transaction-payment/rpc/Cargo.toml | 14 +-
frame/transaction-payment/rpc/README.md | 3 +
.../rpc/runtime-api/Cargo.toml | 10 +-
.../rpc/runtime-api/README.md | 3 +
frame/treasury/Cargo.toml | 20 +-
frame/treasury/README.md | 72 ++++
frame/utility/Cargo.toml | 20 +-
frame/utility/README.md | 38 ++
frame/vesting/Cargo.toml | 20 +-
frame/vesting/README.md | 31 ++
primitives/allocator/Cargo.toml | 8 +-
primitives/allocator/README.md | 6 +
primitives/api/Cargo.toml | 16 +-
primitives/api/README.md | 17 +
primitives/api/proc-macro/Cargo.toml | 2 +-
primitives/api/test/Cargo.toml | 22 +-
primitives/application-crypto/Cargo.toml | 8 +-
primitives/application-crypto/README.md | 3 +
primitives/application-crypto/test/Cargo.toml | 12 +-
primitives/arithmetic/Cargo.toml | 6 +-
primitives/arithmetic/README.md | 3 +
primitives/arithmetic/fuzzer/Cargo.toml | 4 +-
primitives/authority-discovery/Cargo.toml | 10 +-
primitives/authority-discovery/README.md | 3 +
primitives/authorship/Cargo.toml | 8 +-
primitives/authorship/README.md | 3 +
primitives/block-builder/Cargo.toml | 10 +-
primitives/block-builder/README.md | 3 +
primitives/blockchain/Cargo.toml | 12 +-
primitives/blockchain/README.md | 3 +
primitives/chain-spec/Cargo.toml | 2 +-
primitives/chain-spec/README.md | 3 +
primitives/consensus/aura/Cargo.toml | 14 +-
primitives/consensus/aura/README.md | 3 +
primitives/consensus/babe/Cargo.toml | 22 +-
primitives/consensus/babe/README.md | 3 +
primitives/consensus/common/Cargo.toml | 24 +-
primitives/consensus/common/README.md | 7 +
primitives/consensus/pow/Cargo.toml | 10 +-
primitives/consensus/pow/README.md | 3 +
primitives/consensus/slots/Cargo.toml | 2 +-
primitives/consensus/slots/README.md | 3 +
primitives/consensus/vrf/Cargo.toml | 8 +-
primitives/consensus/vrf/README.md | 3 +
primitives/core/Cargo.toml | 14 +-
primitives/database/Cargo.toml | 2 +-
primitives/database/README.md | 3 +
primitives/debug-derive/Cargo.toml | 2 +-
primitives/externalities/Cargo.toml | 6 +-
primitives/externalities/README.md | 9 +
primitives/finality-grandpa/Cargo.toml | 12 +-
primitives/finality-grandpa/README.md | 3 +
primitives/finality-tracker/Cargo.toml | 6 +-
primitives/finality-tracker/README.md | 3 +
primitives/inherents/Cargo.toml | 6 +-
primitives/inherents/README.md | 17 +
primitives/io/Cargo.toml | 18 +-
primitives/io/README.md | 3 +
primitives/keyring/Cargo.toml | 6 +-
primitives/keyring/README.md | 3 +
primitives/npos-elections/Cargo.toml | 12 +-
primitives/npos-elections/README.md | 12 +
primitives/npos-elections/compact/Cargo.toml | 2 +-
primitives/npos-elections/fuzzer/Cargo.toml | 6 +-
primitives/offchain/Cargo.toml | 10 +-
primitives/offchain/README.md | 3 +
primitives/panic-handler/Cargo.toml | 2 +-
primitives/panic-handler/README.md | 10 +
primitives/rpc/Cargo.toml | 4 +-
primitives/rpc/README.md | 3 +
primitives/runtime-interface/Cargo.toml | 22 +-
primitives/runtime-interface/README.md | 88 +++++
.../runtime-interface/proc-macro/Cargo.toml | 2 +-
.../test-wasm-deprecated/Cargo.toml | 10 +-
.../runtime-interface/test-wasm/Cargo.toml | 10 +-
primitives/runtime-interface/test/Cargo.toml | 18 +-
primitives/runtime/Cargo.toml | 16 +-
primitives/runtime/README.md | 3 +
primitives/sandbox/Cargo.toml | 10 +-
primitives/sandbox/README.md | 21 +
primitives/serializer/Cargo.toml | 2 +-
primitives/serializer/README.md | 6 +
primitives/session/Cargo.toml | 12 +-
primitives/session/README.md | 3 +
primitives/staking/Cargo.toml | 6 +-
primitives/staking/README.md | 4 +
primitives/state-machine/Cargo.toml | 12 +-
primitives/state-machine/README.md | 3 +
primitives/std/Cargo.toml | 2 +-
primitives/std/README.md | 4 +
primitives/storage/Cargo.toml | 6 +-
primitives/storage/README.md | 3 +
primitives/test-primitives/Cargo.toml | 8 +-
primitives/timestamp/Cargo.toml | 10 +-
primitives/timestamp/README.md | 3 +
primitives/tracing/Cargo.toml | 2 +-
primitives/tracing/README.md | 15 +
primitives/transaction-pool/Cargo.toml | 8 +-
primitives/transaction-pool/README.md | 3 +
primitives/trie/Cargo.toml | 8 +-
primitives/trie/README.md | 3 +
primitives/utils/Cargo.toml | 2 +-
primitives/utils/README.md | 3 +
primitives/version/Cargo.toml | 6 +-
primitives/version/README.md | 3 +
primitives/wasm-interface/Cargo.toml | 4 +-
primitives/wasm-interface/README.md | 3 +
test-utils/Cargo.toml | 7 +-
test-utils/client/Cargo.toml | 26 +-
test-utils/derive/Cargo.toml | 3 +-
test-utils/runtime/Cargo.toml | 60 +--
test-utils/runtime/client/Cargo.toml | 26 +-
.../runtime/transaction-pool/Cargo.toml | 12 +-
test-utils/test-crate/Cargo.toml | 5 +-
utils/browser/Cargo.toml | 12 +-
utils/browser/README.md | 1 +
utils/build-script-utils/Cargo.toml | 2 +-
utils/build-script-utils/README.md | 3 +
utils/fork-tree/Cargo.toml | 2 +-
utils/fork-tree/README.md | 4 +
utils/frame/benchmarking-cli/Cargo.toml | 20 +-
utils/frame/benchmarking-cli/README.md | 1 +
utils/frame/frame-utilities-cli/Cargo.toml | 10 +-
utils/frame/frame-utilities-cli/README.md | 3 +
utils/frame/rpc/support/Cargo.toml | 10 +-
utils/frame/rpc/support/README.md | 4 +
utils/frame/rpc/system/Cargo.toml | 24 +-
utils/frame/rpc/system/README.md | 3 +
utils/prometheus/Cargo.toml | 2 +-
335 files changed, 5490 insertions(+), 1879 deletions(-)
create mode 100644 bin/node-template/pallets/template/README.md
create mode 100644 bin/utils/chain-spec-builder/README.md
create mode 100644 bin/utils/subkey/README.md
create mode 100644 client/api/README.md
create mode 100644 client/authority-discovery/README.md
create mode 100644 client/basic-authorship/README.md
create mode 100644 client/block-builder/README.md
create mode 100644 client/chain-spec/README.md
create mode 100644 client/cli/README.md
create mode 100644 client/consensus/aura/README.md
create mode 100644 client/consensus/babe/README.md
create mode 100644 client/consensus/babe/rpc/README.md
create mode 100644 client/consensus/common/README.md
create mode 100644 client/consensus/epochs/README.md
create mode 100644 client/consensus/manual-seal/README.md
create mode 100644 client/consensus/pow/README.md
create mode 100644 client/consensus/slots/README.md
create mode 100644 client/consensus/uncles/README.md
create mode 100644 client/db/README.md
create mode 100644 client/executor/README.md
create mode 100644 client/executor/common/README.md
create mode 100644 client/executor/wasmi/README.md
create mode 100644 client/executor/wasmtime/README.md
create mode 100644 client/finality-grandpa/README.md
create mode 100644 client/finality-grandpa/rpc/README.md
create mode 100644 client/informant/README.md
create mode 100644 client/keystore/README.md
create mode 100644 client/light/README.md
create mode 100644 client/network-gossip/README.md
create mode 100644 client/network/README.md
create mode 100644 client/offchain/README.md
create mode 100644 client/peerset/README.md
create mode 100644 client/proposer-metrics/README.md
create mode 100644 client/rpc-api/README.md
create mode 100644 client/rpc-servers/README.md
create mode 100644 client/rpc/README.md
create mode 100644 client/service/README.md
create mode 100644 client/state-db/README.md
create mode 100644 client/telemetry/README.md
create mode 100644 client/tracing/README.md
create mode 100644 client/transaction-pool/README.md
create mode 100644 client/transaction-pool/graph/README.md
create mode 100644 frame/assets/README.md
create mode 100644 frame/atomic-swap/README.md
create mode 100644 frame/aura/README.md
create mode 100644 frame/authority-discovery/README.md
create mode 100644 frame/authorship/README.md
create mode 100644 frame/babe/README.md
create mode 100644 frame/balances/README.md
create mode 100644 frame/benchmark/README.md
create mode 100644 frame/benchmarking/README.md
create mode 100644 frame/collective/README.md
create mode 100644 frame/contracts/README.md
create mode 100644 frame/contracts/common/README.md
create mode 100644 frame/contracts/rpc/README.md
create mode 100644 frame/contracts/rpc/runtime-api/README.md
create mode 100644 frame/democracy/README.md
create mode 100644 frame/elections-phragmen/README.md
create mode 100644 frame/elections/README.md
create mode 100644 frame/evm/README.md
create mode 100644 frame/example-offchain-worker/README.md
create mode 100644 frame/example/README.md
create mode 100644 frame/executive/README.md
create mode 100644 frame/finality-tracker/README.md
create mode 100644 frame/generic-asset/README.md
create mode 100644 frame/grandpa/README.md
create mode 100644 frame/identity/README.md
create mode 100644 frame/im-online/README.md
create mode 100644 frame/indices/README.md
create mode 100644 frame/membership/README.md
create mode 100644 frame/metadata/README.md
create mode 100644 frame/multisig/README.md
create mode 100644 frame/nicks/README.md
create mode 100644 frame/offences/README.md
create mode 100644 frame/offences/benchmarking/README.md
create mode 100644 frame/proxy/README.md
create mode 100644 frame/randomness-collective-flip/README.md
create mode 100644 frame/recovery/README.md
create mode 100644 frame/scheduler/README.md
create mode 100644 frame/scored-pool/README.md
create mode 100644 frame/session/README.md
create mode 100644 frame/session/benchmarking/README.md
create mode 100644 frame/society/README.md
create mode 100644 frame/staking/README.md
create mode 100644 frame/sudo/README.md
create mode 100644 frame/support/README.md
create mode 100644 frame/system/README.md
create mode 100644 frame/system/benchmarking/README.md
create mode 100644 frame/system/rpc/runtime-api/README.md
create mode 100644 frame/timestamp/README.md
create mode 100644 frame/transaction-payment/README.md
create mode 100644 frame/transaction-payment/rpc/README.md
create mode 100644 frame/transaction-payment/rpc/runtime-api/README.md
create mode 100644 frame/treasury/README.md
create mode 100644 frame/utility/README.md
create mode 100644 frame/vesting/README.md
create mode 100644 primitives/allocator/README.md
create mode 100644 primitives/api/README.md
create mode 100644 primitives/application-crypto/README.md
create mode 100644 primitives/arithmetic/README.md
create mode 100644 primitives/authority-discovery/README.md
create mode 100644 primitives/authorship/README.md
create mode 100644 primitives/block-builder/README.md
create mode 100644 primitives/blockchain/README.md
create mode 100644 primitives/chain-spec/README.md
create mode 100644 primitives/consensus/aura/README.md
create mode 100644 primitives/consensus/babe/README.md
create mode 100644 primitives/consensus/common/README.md
create mode 100644 primitives/consensus/pow/README.md
create mode 100644 primitives/consensus/slots/README.md
create mode 100644 primitives/consensus/vrf/README.md
create mode 100644 primitives/database/README.md
create mode 100644 primitives/externalities/README.md
create mode 100644 primitives/finality-grandpa/README.md
create mode 100644 primitives/finality-tracker/README.md
create mode 100644 primitives/inherents/README.md
create mode 100644 primitives/io/README.md
create mode 100644 primitives/keyring/README.md
create mode 100644 primitives/npos-elections/README.md
create mode 100644 primitives/offchain/README.md
create mode 100644 primitives/panic-handler/README.md
create mode 100644 primitives/rpc/README.md
create mode 100644 primitives/runtime-interface/README.md
create mode 100644 primitives/runtime/README.md
create mode 100644 primitives/sandbox/README.md
create mode 100644 primitives/serializer/README.md
create mode 100644 primitives/session/README.md
create mode 100644 primitives/staking/README.md
create mode 100644 primitives/state-machine/README.md
create mode 100644 primitives/std/README.md
create mode 100644 primitives/storage/README.md
create mode 100644 primitives/timestamp/README.md
create mode 100644 primitives/tracing/README.md
create mode 100644 primitives/transaction-pool/README.md
create mode 100644 primitives/trie/README.md
create mode 100644 primitives/utils/README.md
create mode 100644 primitives/version/README.md
create mode 100644 primitives/wasm-interface/README.md
create mode 100644 utils/browser/README.md
create mode 100644 utils/build-script-utils/README.md
create mode 100644 utils/fork-tree/README.md
create mode 100644 utils/frame/benchmarking-cli/README.md
create mode 100644 utils/frame/frame-utilities-cli/README.md
create mode 100644 utils/frame/rpc/support/README.md
create mode 100644 utils/frame/rpc/system/README.md
diff --git a/Cargo.lock b/Cargo.lock
index 1b0291023e83e..70b3581bb9045 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -717,7 +717,7 @@ dependencies = [
[[package]]
name = "chain-spec-builder"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"ansi_term 0.12.1",
"node-cli",
@@ -1596,14 +1596,14 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "fork-tree"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
]
[[package]]
name = "frame-benchmarking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -1621,7 +1621,7 @@ dependencies = [
[[package]]
name = "frame-benchmarking-cli"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"parity-scale-codec",
@@ -1638,7 +1638,7 @@ dependencies = [
[[package]]
name = "frame-executive"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -1658,7 +1658,7 @@ dependencies = [
[[package]]
name = "frame-metadata"
-version = "11.0.0-rc5"
+version = "11.0.0-rc6"
dependencies = [
"parity-scale-codec",
"serde",
@@ -1668,7 +1668,7 @@ dependencies = [
[[package]]
name = "frame-support"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"bitmask",
"frame-metadata",
@@ -1695,7 +1695,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support-procedural-tools",
"proc-macro2",
@@ -1705,7 +1705,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural-tools"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate",
@@ -1716,7 +1716,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural-tools-derive"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"proc-macro2",
"quote",
@@ -1725,7 +1725,7 @@ dependencies = [
[[package]]
name = "frame-support-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -1743,7 +1743,7 @@ dependencies = [
[[package]]
name = "frame-system"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"criterion 0.2.11",
"frame-support",
@@ -1761,7 +1761,7 @@ dependencies = [
[[package]]
name = "frame-system-benchmarking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -1776,7 +1776,7 @@ dependencies = [
[[package]]
name = "frame-system-rpc-runtime-api"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -3769,7 +3769,7 @@ dependencies = [
[[package]]
name = "node-bench"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"derive_more",
"fs_extra",
@@ -3807,7 +3807,7 @@ dependencies = [
[[package]]
name = "node-browser-testing"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"futures 0.3.5",
"futures-timer 3.0.2",
@@ -3824,7 +3824,7 @@ dependencies = [
[[package]]
name = "node-cli"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"assert_cmd",
"frame-benchmarking-cli",
@@ -3901,7 +3901,7 @@ dependencies = [
[[package]]
name = "node-executor"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"criterion 0.3.3",
"frame-benchmarking",
@@ -3935,7 +3935,7 @@ dependencies = [
[[package]]
name = "node-inspect"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"derive_more",
"log",
@@ -3951,7 +3951,7 @@ dependencies = [
[[package]]
name = "node-primitives"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-system",
"parity-scale-codec",
@@ -3964,7 +3964,7 @@ dependencies = [
[[package]]
name = "node-rpc"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"jsonrpc-core",
"jsonrpc-pubsub",
@@ -3992,7 +3992,7 @@ dependencies = [
[[package]]
name = "node-rpc-client"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"env_logger",
"futures 0.1.29",
@@ -4005,7 +4005,7 @@ dependencies = [
[[package]]
name = "node-runtime"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-executive",
@@ -4074,7 +4074,7 @@ dependencies = [
[[package]]
name = "node-template"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"jsonrpc-core",
"node-template-runtime",
@@ -4107,7 +4107,7 @@ dependencies = [
[[package]]
name = "node-template-runtime"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-executive",
"frame-support",
@@ -4140,7 +4140,7 @@ dependencies = [
[[package]]
name = "node-testing"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"criterion 0.3.3",
"frame-support",
@@ -4348,7 +4348,7 @@ dependencies = [
[[package]]
name = "pallet-assets"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4362,7 +4362,7 @@ dependencies = [
[[package]]
name = "pallet-atomic-swap"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4377,7 +4377,7 @@ dependencies = [
[[package]]
name = "pallet-aura"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4399,7 +4399,7 @@ dependencies = [
[[package]]
name = "pallet-authority-discovery"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4417,7 +4417,7 @@ dependencies = [
[[package]]
name = "pallet-authorship"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4433,7 +4433,7 @@ dependencies = [
[[package]]
name = "pallet-babe"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4462,7 +4462,7 @@ dependencies = [
[[package]]
name = "pallet-balances"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4478,7 +4478,7 @@ dependencies = [
[[package]]
name = "pallet-benchmark"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4492,7 +4492,7 @@ dependencies = [
[[package]]
name = "pallet-collective"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4509,7 +4509,7 @@ dependencies = [
[[package]]
name = "pallet-contracts"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"assert_matches",
"bitflags",
@@ -4537,7 +4537,7 @@ dependencies = [
[[package]]
name = "pallet-contracts-primitives"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"sp-runtime",
@@ -4546,7 +4546,7 @@ dependencies = [
[[package]]
name = "pallet-contracts-rpc"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"jsonrpc-core",
"jsonrpc-core-client",
@@ -4565,7 +4565,7 @@ dependencies = [
[[package]]
name = "pallet-contracts-rpc-runtime-api"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"pallet-contracts-primitives",
"parity-scale-codec",
@@ -4576,7 +4576,7 @@ dependencies = [
[[package]]
name = "pallet-democracy"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4596,7 +4596,7 @@ dependencies = [
[[package]]
name = "pallet-elections"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4612,7 +4612,7 @@ dependencies = [
[[package]]
name = "pallet-elections-phragmen"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4631,7 +4631,7 @@ dependencies = [
[[package]]
name = "pallet-evm"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"evm",
"frame-support",
@@ -4653,7 +4653,7 @@ dependencies = [
[[package]]
name = "pallet-example"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4669,7 +4669,7 @@ dependencies = [
[[package]]
name = "pallet-example-offchain-worker"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4684,7 +4684,7 @@ dependencies = [
[[package]]
name = "pallet-finality-tracker"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4701,7 +4701,7 @@ dependencies = [
[[package]]
name = "pallet-generic-asset"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4715,7 +4715,7 @@ dependencies = [
[[package]]
name = "pallet-grandpa"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"finality-grandpa",
"frame-benchmarking",
@@ -4744,7 +4744,7 @@ dependencies = [
[[package]]
name = "pallet-identity"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"enumflags2",
"frame-benchmarking",
@@ -4761,7 +4761,7 @@ dependencies = [
[[package]]
name = "pallet-im-online"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4780,7 +4780,7 @@ dependencies = [
[[package]]
name = "pallet-indices"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4797,7 +4797,7 @@ dependencies = [
[[package]]
name = "pallet-membership"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4811,7 +4811,7 @@ dependencies = [
[[package]]
name = "pallet-multisig"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4827,7 +4827,7 @@ dependencies = [
[[package]]
name = "pallet-nicks"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4842,7 +4842,7 @@ dependencies = [
[[package]]
name = "pallet-offences"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4858,7 +4858,7 @@ dependencies = [
[[package]]
name = "pallet-offences-benchmarking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4883,7 +4883,7 @@ dependencies = [
[[package]]
name = "pallet-proxy"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4900,7 +4900,7 @@ dependencies = [
[[package]]
name = "pallet-randomness-collective-flip"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4914,7 +4914,7 @@ dependencies = [
[[package]]
name = "pallet-recovery"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"enumflags2",
"frame-support",
@@ -4930,7 +4930,7 @@ dependencies = [
[[package]]
name = "pallet-scheduler"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4946,7 +4946,7 @@ dependencies = [
[[package]]
name = "pallet-scored-pool"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4961,7 +4961,7 @@ dependencies = [
[[package]]
name = "pallet-session"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -4982,7 +4982,7 @@ dependencies = [
[[package]]
name = "pallet-session-benchmarking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5004,7 +5004,7 @@ dependencies = [
[[package]]
name = "pallet-society"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -5020,7 +5020,7 @@ dependencies = [
[[package]]
name = "pallet-staking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"env_logger",
"frame-benchmarking",
@@ -5071,7 +5071,7 @@ dependencies = [
[[package]]
name = "pallet-staking-reward-curve"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -5082,7 +5082,7 @@ dependencies = [
[[package]]
name = "pallet-sudo"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -5096,7 +5096,7 @@ dependencies = [
[[package]]
name = "pallet-template"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -5108,7 +5108,7 @@ dependencies = [
[[package]]
name = "pallet-timestamp"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5126,7 +5126,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -5144,7 +5144,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment-rpc"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"jsonrpc-core",
"jsonrpc-core-client",
@@ -5161,7 +5161,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment-rpc-runtime-api"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -5174,7 +5174,7 @@ dependencies = [
[[package]]
name = "pallet-treasury"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5191,7 +5191,7 @@ dependencies = [
[[package]]
name = "pallet-utility"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5207,7 +5207,7 @@ dependencies = [
[[package]]
name = "pallet-vesting"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"enumflags2",
"frame-benchmarking",
@@ -6379,7 +6379,7 @@ dependencies = [
[[package]]
name = "sc-authority-discovery"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"bytes 0.5.6",
"derive_more",
@@ -6409,7 +6409,7 @@ dependencies = [
[[package]]
name = "sc-basic-authorship"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"futures 0.3.5",
"futures-timer 3.0.2",
@@ -6435,7 +6435,7 @@ dependencies = [
[[package]]
name = "sc-block-builder"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"parity-scale-codec",
"sc-client-api",
@@ -6453,7 +6453,7 @@ dependencies = [
[[package]]
name = "sc-chain-spec"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"impl-trait-for-tuples",
"sc-chain-spec-derive",
@@ -6468,7 +6468,7 @@ dependencies = [
[[package]]
name = "sc-chain-spec-derive"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -6478,7 +6478,7 @@ dependencies = [
[[package]]
name = "sc-cli"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"ansi_term 0.12.1",
"atty",
@@ -6527,7 +6527,7 @@ dependencies = [
[[package]]
name = "sc-client-api"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"derive_more",
"fnv",
@@ -6565,7 +6565,7 @@ dependencies = [
[[package]]
name = "sc-client-db"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"blake2-rfc",
"env_logger",
@@ -6599,7 +6599,7 @@ dependencies = [
[[package]]
name = "sc-consensus"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"sc-client-api",
"sp-blockchain",
@@ -6609,7 +6609,7 @@ dependencies = [
[[package]]
name = "sc-consensus-aura"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"derive_more",
"env_logger",
@@ -6647,7 +6647,7 @@ dependencies = [
[[package]]
name = "sc-consensus-babe"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"derive_more",
"env_logger",
@@ -6700,7 +6700,7 @@ dependencies = [
[[package]]
name = "sc-consensus-babe-rpc"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"derive_more",
"futures 0.3.5",
@@ -6728,7 +6728,7 @@ dependencies = [
[[package]]
name = "sc-consensus-epochs"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"fork-tree",
"parity-scale-codec",
@@ -6740,7 +6740,7 @@ dependencies = [
[[package]]
name = "sc-consensus-manual-seal"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"assert_matches",
"derive_more",
@@ -6770,7 +6770,7 @@ dependencies = [
[[package]]
name = "sc-consensus-pow"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"derive_more",
"futures 0.3.5",
@@ -6791,7 +6791,7 @@ dependencies = [
[[package]]
name = "sc-consensus-slots"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"futures 0.3.5",
"futures-timer 3.0.2",
@@ -6814,7 +6814,7 @@ dependencies = [
[[package]]
name = "sc-consensus-uncles"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"log",
"sc-client-api",
@@ -6827,7 +6827,7 @@ dependencies = [
[[package]]
name = "sc-executor"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"assert_matches",
"derive_more",
@@ -6865,7 +6865,7 @@ dependencies = [
[[package]]
name = "sc-executor-common"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"derive_more",
"log",
@@ -6881,7 +6881,7 @@ dependencies = [
[[package]]
name = "sc-executor-wasmi"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"log",
"parity-scale-codec",
@@ -6895,7 +6895,7 @@ dependencies = [
[[package]]
name = "sc-executor-wasmtime"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"assert_matches",
"log",
@@ -6913,7 +6913,7 @@ dependencies = [
[[package]]
name = "sc-finality-grandpa"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"assert_matches",
"derive_more",
@@ -6958,7 +6958,7 @@ dependencies = [
[[package]]
name = "sc-finality-grandpa-rpc"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"derive_more",
"finality-grandpa",
@@ -6987,7 +6987,7 @@ dependencies = [
[[package]]
name = "sc-informant"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"ansi_term 0.12.1",
"futures 0.3.5",
@@ -7004,7 +7004,7 @@ dependencies = [
[[package]]
name = "sc-keystore"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"derive_more",
"hex",
@@ -7020,7 +7020,7 @@ dependencies = [
[[package]]
name = "sc-light"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"hash-db",
"lazy_static",
@@ -7038,7 +7038,7 @@ dependencies = [
[[package]]
name = "sc-network"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"assert_matches",
"async-std",
@@ -7098,7 +7098,7 @@ dependencies = [
[[package]]
name = "sc-network-gossip"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"async-std",
"futures 0.3.5",
@@ -7116,7 +7116,7 @@ dependencies = [
[[package]]
name = "sc-network-test"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"env_logger",
"futures 0.3.5",
@@ -7142,7 +7142,7 @@ dependencies = [
[[package]]
name = "sc-offchain"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"bytes 0.5.6",
"env_logger",
@@ -7175,7 +7175,7 @@ dependencies = [
[[package]]
name = "sc-peerset"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"futures 0.3.5",
"libp2p 0.23.0",
@@ -7188,7 +7188,7 @@ dependencies = [
[[package]]
name = "sc-proposer-metrics"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"log",
"substrate-prometheus-endpoint",
@@ -7196,7 +7196,7 @@ dependencies = [
[[package]]
name = "sc-rpc"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"assert_matches",
"futures 0.1.29",
@@ -7235,7 +7235,7 @@ dependencies = [
[[package]]
name = "sc-rpc-api"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"derive_more",
"futures 0.3.5",
@@ -7258,7 +7258,7 @@ dependencies = [
[[package]]
name = "sc-rpc-server"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"jsonrpc-core",
"jsonrpc-http-server",
@@ -7273,7 +7273,7 @@ dependencies = [
[[package]]
name = "sc-runtime-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"sp-allocator",
"sp-core",
@@ -7286,7 +7286,7 @@ dependencies = [
[[package]]
name = "sc-service"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"async-std",
"derive_more",
@@ -7352,7 +7352,7 @@ dependencies = [
[[package]]
name = "sc-service-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"env_logger",
"fdlimit",
@@ -7388,7 +7388,7 @@ dependencies = [
[[package]]
name = "sc-state-db"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"env_logger",
"log",
@@ -7402,7 +7402,7 @@ dependencies = [
[[package]]
name = "sc-telemetry"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"futures 0.3.5",
"futures-timer 3.0.2",
@@ -7422,7 +7422,7 @@ dependencies = [
[[package]]
name = "sc-tracing"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"erased-serde",
"log",
@@ -7439,7 +7439,7 @@ dependencies = [
[[package]]
name = "sc-transaction-graph"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"assert_matches",
"criterion 0.3.3",
@@ -7463,7 +7463,7 @@ dependencies = [
[[package]]
name = "sc-transaction-pool"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"assert_matches",
"derive_more",
@@ -7909,7 +7909,7 @@ dependencies = [
[[package]]
name = "sp-allocator"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"derive_more",
"log",
@@ -7920,7 +7920,7 @@ dependencies = [
[[package]]
name = "sp-api"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"hash-db",
"parity-scale-codec",
@@ -7935,7 +7935,7 @@ dependencies = [
[[package]]
name = "sp-api-proc-macro"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"blake2-rfc",
"proc-macro-crate",
@@ -7946,7 +7946,7 @@ dependencies = [
[[package]]
name = "sp-api-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"criterion 0.3.3",
"parity-scale-codec",
@@ -7965,7 +7965,7 @@ dependencies = [
[[package]]
name = "sp-application-crypto"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"serde",
@@ -7976,7 +7976,7 @@ dependencies = [
[[package]]
name = "sp-application-crypto-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"sp-api",
"sp-application-crypto",
@@ -7987,7 +7987,7 @@ dependencies = [
[[package]]
name = "sp-arithmetic"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"criterion 0.3.3",
"integer-sqrt",
@@ -8003,7 +8003,7 @@ dependencies = [
[[package]]
name = "sp-arithmetic-fuzzer"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"honggfuzz",
"num-bigint",
@@ -8014,7 +8014,7 @@ dependencies = [
[[package]]
name = "sp-authority-discovery"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -8025,7 +8025,7 @@ dependencies = [
[[package]]
name = "sp-authorship"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"sp-inherents",
@@ -8035,7 +8035,7 @@ dependencies = [
[[package]]
name = "sp-block-builder"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -8046,7 +8046,7 @@ dependencies = [
[[package]]
name = "sp-blockchain"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"derive_more",
"log",
@@ -8062,7 +8062,7 @@ dependencies = [
[[package]]
name = "sp-chain-spec"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"serde",
"serde_json",
@@ -8070,7 +8070,7 @@ dependencies = [
[[package]]
name = "sp-consensus"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"derive_more",
"futures 0.3.5",
@@ -8096,7 +8096,7 @@ dependencies = [
[[package]]
name = "sp-consensus-aura"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -8109,7 +8109,7 @@ dependencies = [
[[package]]
name = "sp-consensus-babe"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"merlin",
"parity-scale-codec",
@@ -8127,7 +8127,7 @@ dependencies = [
[[package]]
name = "sp-consensus-pow"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -8138,7 +8138,7 @@ dependencies = [
[[package]]
name = "sp-consensus-slots"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"parity-scale-codec",
"sp-runtime",
@@ -8146,7 +8146,7 @@ dependencies = [
[[package]]
name = "sp-consensus-vrf"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"parity-scale-codec",
"schnorrkel",
@@ -8157,7 +8157,7 @@ dependencies = [
[[package]]
name = "sp-core"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"base58",
"blake2-rfc",
@@ -8206,7 +8206,7 @@ dependencies = [
[[package]]
name = "sp-database"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"kvdb 0.7.0",
"parking_lot 0.10.2",
@@ -8214,7 +8214,7 @@ dependencies = [
[[package]]
name = "sp-debug-derive"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"proc-macro2",
"quote",
@@ -8223,7 +8223,7 @@ dependencies = [
[[package]]
name = "sp-externalities"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -8233,7 +8233,7 @@ dependencies = [
[[package]]
name = "sp-finality-grandpa"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"finality-grandpa",
"log",
@@ -8248,7 +8248,7 @@ dependencies = [
[[package]]
name = "sp-finality-tracker"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"sp-inherents",
@@ -8257,7 +8257,7 @@ dependencies = [
[[package]]
name = "sp-inherents"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"derive_more",
"parity-scale-codec",
@@ -8268,7 +8268,7 @@ dependencies = [
[[package]]
name = "sp-io"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"futures 0.3.5",
"hash-db",
@@ -8288,7 +8288,7 @@ dependencies = [
[[package]]
name = "sp-keyring"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"lazy_static",
"sp-core",
@@ -8298,7 +8298,7 @@ dependencies = [
[[package]]
name = "sp-npos-elections"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"rand 0.7.3",
@@ -8312,7 +8312,7 @@ dependencies = [
[[package]]
name = "sp-npos-elections-compact"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -8333,7 +8333,7 @@ dependencies = [
[[package]]
name = "sp-offchain"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"sp-api",
"sp-core",
@@ -8343,7 +8343,7 @@ dependencies = [
[[package]]
name = "sp-panic-handler"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"backtrace",
"log",
@@ -8351,7 +8351,7 @@ dependencies = [
[[package]]
name = "sp-rpc"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"serde",
"serde_json",
@@ -8360,7 +8360,7 @@ dependencies = [
[[package]]
name = "sp-runtime"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"either",
"hash256-std-hasher",
@@ -8383,7 +8383,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"primitive-types",
@@ -8404,7 +8404,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface-proc-macro"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"Inflector",
"proc-macro-crate",
@@ -8415,7 +8415,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"sc-executor",
"sp-core",
@@ -8430,7 +8430,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface-test-wasm"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"sp-core",
"sp-io",
@@ -8441,7 +8441,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface-test-wasm-deprecated"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"sp-core",
"sp-io",
@@ -8452,7 +8452,7 @@ dependencies = [
[[package]]
name = "sp-sandbox"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"assert_matches",
"parity-scale-codec",
@@ -8466,7 +8466,7 @@ dependencies = [
[[package]]
name = "sp-serializer"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"serde",
"serde_json",
@@ -8474,7 +8474,7 @@ dependencies = [
[[package]]
name = "sp-session"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -8486,7 +8486,7 @@ dependencies = [
[[package]]
name = "sp-staking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"sp-runtime",
@@ -8495,7 +8495,7 @@ dependencies = [
[[package]]
name = "sp-state-machine"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"hash-db",
"hex-literal",
@@ -8518,11 +8518,11 @@ dependencies = [
[[package]]
name = "sp-std"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
[[package]]
name = "sp-storage"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"impl-serde 0.2.3",
"parity-scale-codec",
@@ -8534,7 +8534,7 @@ dependencies = [
[[package]]
name = "sp-test-primitives"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"parity-scale-codec",
"parity-util-mem 0.7.0",
@@ -8546,7 +8546,7 @@ dependencies = [
[[package]]
name = "sp-timestamp"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
@@ -8559,7 +8559,7 @@ dependencies = [
[[package]]
name = "sp-tracing"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"log",
"rental",
@@ -8568,7 +8568,7 @@ dependencies = [
[[package]]
name = "sp-transaction-pool"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"derive_more",
"futures 0.3.5",
@@ -8582,7 +8582,7 @@ dependencies = [
[[package]]
name = "sp-trie"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"criterion 0.2.11",
"hash-db",
@@ -8600,7 +8600,7 @@ dependencies = [
[[package]]
name = "sp-utils"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"futures 0.3.5",
"futures-core",
@@ -8611,7 +8611,7 @@ dependencies = [
[[package]]
name = "sp-version"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"impl-serde 0.2.3",
"parity-scale-codec",
@@ -8622,7 +8622,7 @@ dependencies = [
[[package]]
name = "sp-wasm-interface"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
@@ -8737,7 +8737,7 @@ dependencies = [
[[package]]
name = "subkey"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-system",
"node-primitives",
@@ -8762,7 +8762,7 @@ dependencies = [
[[package]]
name = "substrate-browser-utils"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"chrono",
"console_error_panic_hook",
@@ -8787,14 +8787,14 @@ dependencies = [
[[package]]
name = "substrate-build-script-utils"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"platforms",
]
[[package]]
name = "substrate-frame-cli"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-system",
"sc-cli",
@@ -8805,7 +8805,7 @@ dependencies = [
[[package]]
name = "substrate-frame-rpc-support"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"frame-support",
"frame-system",
@@ -8821,7 +8821,7 @@ dependencies = [
[[package]]
name = "substrate-frame-rpc-system"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"env_logger",
"frame-system-rpc-runtime-api",
@@ -8846,7 +8846,7 @@ dependencies = [
[[package]]
name = "substrate-prometheus-endpoint"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"async-std",
"derive_more",
@@ -8859,7 +8859,7 @@ dependencies = [
[[package]]
name = "substrate-test-client"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"futures 0.1.29",
"futures 0.3.5",
@@ -8884,7 +8884,7 @@ dependencies = [
[[package]]
name = "substrate-test-runtime"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"cfg-if",
"frame-executive",
@@ -8927,7 +8927,7 @@ dependencies = [
[[package]]
name = "substrate-test-runtime-client"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"futures 0.3.5",
"parity-scale-codec",
@@ -8947,7 +8947,7 @@ dependencies = [
[[package]]
name = "substrate-test-runtime-transaction-pool"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"derive_more",
"futures 0.3.5",
@@ -8962,7 +8962,7 @@ dependencies = [
[[package]]
name = "substrate-test-utils"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
dependencies = [
"futures 0.3.5",
"sc-service",
@@ -8973,7 +8973,7 @@ dependencies = [
[[package]]
name = "substrate-test-utils-derive"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
dependencies = [
"proc-macro-crate",
"quote",
diff --git a/bin/node-template/node/Cargo.toml b/bin/node-template/node/Cargo.toml
index 0c988ebd1a22b..d8cc9478bbda8 100644
--- a/bin/node-template/node/Cargo.toml
+++ b/bin/node-template/node/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-template"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Anonymous"]
description = "A new FRAME-based Substrate node, ready for hacking."
edition = "2018"
@@ -18,34 +18,34 @@ name = "node-template"
[dependencies]
structopt = "0.3.8"
-sc-cli = { version = "0.8.0-rc5", path = "../../../client/cli", features = ["wasmtime"] }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sc-executor = { version = "0.8.0-rc5", path = "../../../client/executor", features = ["wasmtime"] }
-sc-service = { version = "0.8.0-rc5", path = "../../../client/service", features = ["wasmtime"] }
-sp-inherents = { version = "2.0.0-rc5", path = "../../../primitives/inherents" }
-sc-transaction-pool = { version = "2.0.0-rc5", path = "../../../client/transaction-pool" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../../primitives/transaction-pool" }
-sc-consensus-aura = { version = "0.8.0-rc5", path = "../../../client/consensus/aura" }
-sp-consensus-aura = { version = "0.8.0-rc5", path = "../../../primitives/consensus/aura" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sc-consensus = { version = "0.8.0-rc5", path = "../../../client/consensus/common" }
-sc-finality-grandpa = { version = "0.8.0-rc5", path = "../../../client/finality-grandpa" }
-sp-finality-grandpa = { version = "2.0.0-rc5", path = "../../../primitives/finality-grandpa" }
-sc-client-api = { version = "2.0.0-rc5", path = "../../../client/api" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
+sc-cli = { version = "0.8.0-rc6", path = "../../../client/cli", features = ["wasmtime"] }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sc-executor = { version = "0.8.0-rc6", path = "../../../client/executor", features = ["wasmtime"] }
+sc-service = { version = "0.8.0-rc6", path = "../../../client/service", features = ["wasmtime"] }
+sp-inherents = { version = "2.0.0-rc6", path = "../../../primitives/inherents" }
+sc-transaction-pool = { version = "2.0.0-rc6", path = "../../../client/transaction-pool" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../../primitives/transaction-pool" }
+sc-consensus-aura = { version = "0.8.0-rc6", path = "../../../client/consensus/aura" }
+sp-consensus-aura = { version = "0.8.0-rc6", path = "../../../primitives/consensus/aura" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sc-consensus = { version = "0.8.0-rc6", path = "../../../client/consensus/common" }
+sc-finality-grandpa = { version = "0.8.0-rc6", path = "../../../client/finality-grandpa" }
+sp-finality-grandpa = { version = "2.0.0-rc6", path = "../../../primitives/finality-grandpa" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../../client/api" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
# These dependencies are used for the node template's RPCs
jsonrpc-core = "14.0.3"
-sc-rpc = { version = "2.0.0-rc5", path = "../../../client/rpc" }
-sp-api = { version = "2.0.0-rc5", path = "../../../primitives/api" }
-sc-rpc-api = { version = "0.8.0-rc5", path = "../../../client/rpc-api" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-block-builder = { version = "2.0.0-rc5", path = "../../../primitives/block-builder" }
-sc-basic-authorship = { version = "0.8.0-rc5", path = "../../../client/basic-authorship" }
-substrate-frame-rpc-system = { version = "2.0.0-rc5", path = "../../../utils/frame/rpc/system" }
-pallet-transaction-payment-rpc = { version = "2.0.0-rc5", path = "../../../frame/transaction-payment/rpc/" }
+sc-rpc = { version = "2.0.0-rc6", path = "../../../client/rpc" }
+sp-api = { version = "2.0.0-rc6", path = "../../../primitives/api" }
+sc-rpc-api = { version = "0.8.0-rc6", path = "../../../client/rpc-api" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-block-builder = { version = "2.0.0-rc6", path = "../../../primitives/block-builder" }
+sc-basic-authorship = { version = "0.8.0-rc6", path = "../../../client/basic-authorship" }
+substrate-frame-rpc-system = { version = "2.0.0-rc6", path = "../../../utils/frame/rpc/system" }
+pallet-transaction-payment-rpc = { version = "2.0.0-rc6", path = "../../../frame/transaction-payment/rpc/" }
-node-template-runtime = { version = "2.0.0-rc5", path = "../runtime" }
+node-template-runtime = { version = "2.0.0-rc6", path = "../runtime" }
[build-dependencies]
-substrate-build-script-utils = { version = "2.0.0-rc5", path = "../../../utils/build-script-utils" }
+substrate-build-script-utils = { version = "2.0.0-rc6", path = "../../../utils/build-script-utils" }
diff --git a/bin/node-template/pallets/template/Cargo.toml b/bin/node-template/pallets/template/Cargo.toml
index 6d8868386e38c..106e4af37a8f8 100644
--- a/bin/node-template/pallets/template/Cargo.toml
+++ b/bin/node-template/pallets/template/Cargo.toml
@@ -2,7 +2,7 @@
authors = ['Anonymous']
edition = '2018'
name = 'pallet-template'
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
license = "Unlicense"
homepage = "https://substrate.dev"
repository = "https://github.com/paritytech/substrate/"
@@ -16,27 +16,27 @@ codec = { package = "parity-scale-codec", version = "1.3.4", default-features =
[dependencies.frame-support]
default-features = false
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
path = "../../../../frame/support"
[dependencies.frame-system]
default-features = false
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
path = "../../../../frame/system"
[dev-dependencies.sp-core]
default-features = false
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
path = "../../../../primitives/core"
[dev-dependencies.sp-io]
default-features = false
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
path = "../../../../primitives/io"
[dev-dependencies.sp-runtime]
default-features = false
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
path = "../../../../primitives/runtime"
diff --git a/bin/node-template/pallets/template/README.md b/bin/node-template/pallets/template/README.md
new file mode 100644
index 0000000000000..8d751a42207dd
--- /dev/null
+++ b/bin/node-template/pallets/template/README.md
@@ -0,0 +1 @@
+License: Unlicense
\ No newline at end of file
diff --git a/bin/node-template/runtime/Cargo.toml b/bin/node-template/runtime/Cargo.toml
index f4e8697a47d0d..3cb0754089d91 100644
--- a/bin/node-template/runtime/Cargo.toml
+++ b/bin/node-template/runtime/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-template-runtime"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Anonymous"]
edition = "2018"
license = "Unlicense"
@@ -13,34 +13,34 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-pallet-aura = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/aura" }
-pallet-balances = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/balances" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/support" }
-pallet-grandpa = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/grandpa" }
-pallet-randomness-collective-flip = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/randomness-collective-flip" }
-pallet-sudo = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/sudo" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/system" }
-pallet-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/timestamp" }
-pallet-transaction-payment = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/transaction-payment" }
-frame-executive = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/executive" }
+pallet-aura = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/aura" }
+pallet-balances = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/balances" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/support" }
+pallet-grandpa = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/grandpa" }
+pallet-randomness-collective-flip = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/randomness-collective-flip" }
+pallet-sudo = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/sudo" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/system" }
+pallet-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/timestamp" }
+pallet-transaction-payment = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/transaction-payment" }
+frame-executive = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/executive" }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/api" }
-sp-block-builder = { path = "../../../primitives/block-builder", default-features = false, version = "2.0.0-rc5"}
-sp-consensus-aura = { version = "0.8.0-rc5", default-features = false, path = "../../../primitives/consensus/aura" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/core" }
-sp-inherents = { path = "../../../primitives/inherents", default-features = false, version = "2.0.0-rc5"}
-sp-offchain = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/offchain" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/runtime" }
-sp-session = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/session" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/std" }
-sp-transaction-pool = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/transaction-pool" }
-sp-version = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/version" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/api" }
+sp-block-builder = { path = "../../../primitives/block-builder", default-features = false, version = "2.0.0-rc6"}
+sp-consensus-aura = { version = "0.8.0-rc6", default-features = false, path = "../../../primitives/consensus/aura" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/core" }
+sp-inherents = { path = "../../../primitives/inherents", default-features = false, version = "2.0.0-rc6"}
+sp-offchain = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/offchain" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/runtime" }
+sp-session = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/session" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/std" }
+sp-transaction-pool = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/transaction-pool" }
+sp-version = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/version" }
# Used for the node template's RPCs
-frame-system-rpc-runtime-api = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/system/rpc/runtime-api/" }
-pallet-transaction-payment-rpc-runtime-api = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/transaction-payment/rpc/runtime-api/" }
+frame-system-rpc-runtime-api = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/system/rpc/runtime-api/" }
+pallet-transaction-payment-rpc-runtime-api = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/transaction-payment/rpc/runtime-api/" }
-template = { version = "2.0.0-rc5", default-features = false, path = "../pallets/template", package = "pallet-template" }
+template = { version = "2.0.0-rc6", default-features = false, path = "../pallets/template", package = "pallet-template" }
[build-dependencies]
wasm-builder-runner = { version = "1.0.5", package = "substrate-wasm-builder-runner", path = "../../../utils/wasm-builder-runner" }
diff --git a/bin/node/bench/Cargo.toml b/bin/node/bench/Cargo.toml
index 0f93039c3c1eb..adefbd07082a3 100644
--- a/bin/node/bench/Cargo.toml
+++ b/bin/node/bench/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-bench"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Substrate node integration benchmarks."
edition = "2018"
@@ -10,27 +10,27 @@ license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
[dependencies]
log = "0.4.8"
-node-primitives = { version = "2.0.0-rc5", path = "../primitives" }
-node-testing = { version = "2.0.0-rc5", path = "../testing" }
-node-runtime = { version = "2.0.0-rc5", path = "../runtime" }
-sc-cli = { version = "0.8.0-rc5", path = "../../../client/cli" }
-sc-client-api = { version = "2.0.0-rc5", path = "../../../client/api/" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../../primitives/state-machine" }
+node-primitives = { version = "2.0.0-rc6", path = "../primitives" }
+node-testing = { version = "2.0.0-rc6", path = "../testing" }
+node-runtime = { version = "2.0.0-rc6", path = "../runtime" }
+sc-cli = { version = "0.8.0-rc6", path = "../../../client/cli" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../../client/api/" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../../primitives/state-machine" }
serde = "1.0.101"
serde_json = "1.0.41"
structopt = "0.3"
derive_more = "0.99.2"
kvdb = "0.7"
kvdb-rocksdb = "0.9"
-sp-trie = { version = "2.0.0-rc5", path = "../../../primitives/trie" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../../primitives/transaction-pool" }
-sc-basic-authorship = { version = "0.8.0-rc5", path = "../../../client/basic-authorship" }
-sp-inherents = { version = "2.0.0-rc5", path = "../../../primitives/inherents" }
-sp-finality-tracker = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/finality-tracker" }
-sp-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/timestamp" }
+sp-trie = { version = "2.0.0-rc6", path = "../../../primitives/trie" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../../primitives/transaction-pool" }
+sc-basic-authorship = { version = "0.8.0-rc6", path = "../../../client/basic-authorship" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../../primitives/inherents" }
+sp-finality-tracker = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/finality-tracker" }
+sp-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/timestamp" }
hash-db = "0.15.2"
tempfile = "3.1.0"
fs_extra = "1"
@@ -39,5 +39,5 @@ rand = { version = "0.7.2", features = ["small_rng"] }
lazy_static = "1.4.0"
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
parity-db = { version = "0.1.2" }
-sc-transaction-pool = { version = "2.0.0-rc5", path = "../../../client/transaction-pool" }
+sc-transaction-pool = { version = "2.0.0-rc6", path = "../../../client/transaction-pool" }
futures = { version = "0.3.4", features = ["thread-pool"] }
diff --git a/bin/node/browser-testing/Cargo.toml b/bin/node/browser-testing/Cargo.toml
index 1f5db1053d741..977a602e1da83 100644
--- a/bin/node/browser-testing/Cargo.toml
+++ b/bin/node/browser-testing/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-browser-testing"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
description = "Tests for the in-browser light client."
edition = "2018"
@@ -17,5 +17,5 @@ wasm-bindgen-futures = "0.4.10"
wasm-bindgen-test = "0.3.10"
futures = "0.3.4"
-node-cli = { path = "../cli", default-features = false, features = ["browser"] , version = "2.0.0-rc5"}
-sc-rpc-api = { path = "../../../client/rpc-api" , version = "0.8.0-rc5"}
+node-cli = { path = "../cli", default-features = false, features = ["browser"] , version = "2.0.0-rc6"}
+sc-rpc-api = { path = "../../../client/rpc-api" , version = "0.8.0-rc6"}
diff --git a/bin/node/cli/Cargo.toml b/bin/node/cli/Cargo.toml
index d8ed12f296bb3..09ed51616d590 100644
--- a/bin/node/cli/Cargo.toml
+++ b/bin/node/cli/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-cli"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
description = "Generic Substrate node implementation in Rust."
build = "build.rs"
@@ -47,77 +47,77 @@ tracing = "0.1.18"
parking_lot = "0.10.0"
# primitives
-sp-authority-discovery = { version = "2.0.0-rc5", path = "../../../primitives/authority-discovery" }
-sp-consensus-babe = { version = "0.8.0-rc5", path = "../../../primitives/consensus/babe" }
-grandpa-primitives = { version = "2.0.0-rc5", package = "sp-finality-grandpa", path = "../../../primitives/finality-grandpa" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/timestamp" }
-sp-finality-tracker = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/finality-tracker" }
-sp-inherents = { version = "2.0.0-rc5", path = "../../../primitives/inherents" }
-sp-keyring = { version = "2.0.0-rc5", path = "../../../primitives/keyring" }
-sp-io = { version = "2.0.0-rc5", path = "../../../primitives/io" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../../primitives/transaction-pool" }
+sp-authority-discovery = { version = "2.0.0-rc6", path = "../../../primitives/authority-discovery" }
+sp-consensus-babe = { version = "0.8.0-rc6", path = "../../../primitives/consensus/babe" }
+grandpa-primitives = { version = "2.0.0-rc6", package = "sp-finality-grandpa", path = "../../../primitives/finality-grandpa" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/timestamp" }
+sp-finality-tracker = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/finality-tracker" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../../primitives/inherents" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../../primitives/keyring" }
+sp-io = { version = "2.0.0-rc6", path = "../../../primitives/io" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../../primitives/transaction-pool" }
# client dependencies
-sc-client-api = { version = "2.0.0-rc5", path = "../../../client/api" }
-sc-chain-spec = { version = "2.0.0-rc5", path = "../../../client/chain-spec" }
-sc-consensus = { version = "0.8.0-rc5", path = "../../../client/consensus/common" }
-sc-transaction-pool = { version = "2.0.0-rc5", path = "../../../client/transaction-pool" }
-sc-network = { version = "0.8.0-rc5", path = "../../../client/network" }
-sc-consensus-babe = { version = "0.8.0-rc5", path = "../../../client/consensus/babe" }
-grandpa = { version = "0.8.0-rc5", package = "sc-finality-grandpa", path = "../../../client/finality-grandpa" }
-sc-client-db = { version = "0.8.0-rc5", default-features = false, path = "../../../client/db" }
-sc-offchain = { version = "2.0.0-rc5", path = "../../../client/offchain" }
-sc-rpc = { version = "2.0.0-rc5", path = "../../../client/rpc" }
-sc-basic-authorship = { version = "0.8.0-rc5", path = "../../../client/basic-authorship" }
-sc-service = { version = "0.8.0-rc5", default-features = false, path = "../../../client/service" }
-sc-tracing = { version = "2.0.0-rc5", path = "../../../client/tracing" }
-sc-telemetry = { version = "2.0.0-rc5", path = "../../../client/telemetry" }
-sc-authority-discovery = { version = "0.8.0-rc5", path = "../../../client/authority-discovery" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../../client/api" }
+sc-chain-spec = { version = "2.0.0-rc6", path = "../../../client/chain-spec" }
+sc-consensus = { version = "0.8.0-rc6", path = "../../../client/consensus/common" }
+sc-transaction-pool = { version = "2.0.0-rc6", path = "../../../client/transaction-pool" }
+sc-network = { version = "0.8.0-rc6", path = "../../../client/network" }
+sc-consensus-babe = { version = "0.8.0-rc6", path = "../../../client/consensus/babe" }
+grandpa = { version = "0.8.0-rc6", package = "sc-finality-grandpa", path = "../../../client/finality-grandpa" }
+sc-client-db = { version = "0.8.0-rc6", default-features = false, path = "../../../client/db" }
+sc-offchain = { version = "2.0.0-rc6", path = "../../../client/offchain" }
+sc-rpc = { version = "2.0.0-rc6", path = "../../../client/rpc" }
+sc-basic-authorship = { version = "0.8.0-rc6", path = "../../../client/basic-authorship" }
+sc-service = { version = "0.8.0-rc6", default-features = false, path = "../../../client/service" }
+sc-tracing = { version = "2.0.0-rc6", path = "../../../client/tracing" }
+sc-telemetry = { version = "2.0.0-rc6", path = "../../../client/telemetry" }
+sc-authority-discovery = { version = "0.8.0-rc6", path = "../../../client/authority-discovery" }
# frame dependencies
-pallet-indices = { version = "2.0.0-rc5", path = "../../../frame/indices" }
-pallet-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/timestamp" }
-pallet-contracts = { version = "2.0.0-rc5", path = "../../../frame/contracts" }
-frame-system = { version = "2.0.0-rc5", path = "../../../frame/system" }
-pallet-balances = { version = "2.0.0-rc5", path = "../../../frame/balances" }
-pallet-transaction-payment = { version = "2.0.0-rc5", path = "../../../frame/transaction-payment" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/support" }
-pallet-im-online = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/im-online" }
-pallet-authority-discovery = { version = "2.0.0-rc5", path = "../../../frame/authority-discovery" }
-pallet-staking = { version = "2.0.0-rc5", path = "../../../frame/staking" }
-pallet-grandpa = { version = "2.0.0-rc5", path = "../../../frame/grandpa" }
+pallet-indices = { version = "2.0.0-rc6", path = "../../../frame/indices" }
+pallet-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/timestamp" }
+pallet-contracts = { version = "2.0.0-rc6", path = "../../../frame/contracts" }
+frame-system = { version = "2.0.0-rc6", path = "../../../frame/system" }
+pallet-balances = { version = "2.0.0-rc6", path = "../../../frame/balances" }
+pallet-transaction-payment = { version = "2.0.0-rc6", path = "../../../frame/transaction-payment" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/support" }
+pallet-im-online = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/im-online" }
+pallet-authority-discovery = { version = "2.0.0-rc6", path = "../../../frame/authority-discovery" }
+pallet-staking = { version = "2.0.0-rc6", path = "../../../frame/staking" }
+pallet-grandpa = { version = "2.0.0-rc6", path = "../../../frame/grandpa" }
# node-specific dependencies
-node-runtime = { version = "2.0.0-rc5", path = "../runtime" }
-node-rpc = { version = "2.0.0-rc5", path = "../rpc" }
-node-primitives = { version = "2.0.0-rc5", path = "../primitives" }
-node-executor = { version = "2.0.0-rc5", path = "../executor" }
+node-runtime = { version = "2.0.0-rc6", path = "../runtime" }
+node-rpc = { version = "2.0.0-rc6", path = "../rpc" }
+node-primitives = { version = "2.0.0-rc6", path = "../primitives" }
+node-executor = { version = "2.0.0-rc6", path = "../executor" }
# CLI-specific dependencies
-sc-cli = { version = "0.8.0-rc5", optional = true, path = "../../../client/cli" }
-frame-benchmarking-cli = { version = "2.0.0-rc5", optional = true, path = "../../../utils/frame/benchmarking-cli" }
-node-inspect = { version = "0.8.0-rc5", optional = true, path = "../inspect" }
+sc-cli = { version = "0.8.0-rc6", optional = true, path = "../../../client/cli" }
+frame-benchmarking-cli = { version = "2.0.0-rc6", optional = true, path = "../../../utils/frame/benchmarking-cli" }
+node-inspect = { version = "0.8.0-rc6", optional = true, path = "../inspect" }
# WASM-specific dependencies
wasm-bindgen = { version = "0.2.57", optional = true }
wasm-bindgen-futures = { version = "0.4.7", optional = true }
-browser-utils = { package = "substrate-browser-utils", path = "../../../utils/browser", optional = true, version = "0.8.0-rc5"}
+browser-utils = { package = "substrate-browser-utils", path = "../../../utils/browser", optional = true, version = "0.8.0-rc6"}
[target.'cfg(target_arch="x86_64")'.dependencies]
-node-executor = { version = "2.0.0-rc5", path = "../executor", features = [ "wasmtime" ] }
-sc-cli = { version = "0.8.0-rc5", optional = true, path = "../../../client/cli", features = [ "wasmtime" ] }
-sc-service = { version = "0.8.0-rc5", default-features = false, path = "../../../client/service", features = [ "wasmtime" ] }
-sp-trie = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/trie", features = ["memory-tracker"] }
+node-executor = { version = "2.0.0-rc6", path = "../executor", features = [ "wasmtime" ] }
+sc-cli = { version = "0.8.0-rc6", optional = true, path = "../../../client/cli", features = [ "wasmtime" ] }
+sc-service = { version = "0.8.0-rc6", default-features = false, path = "../../../client/service", features = [ "wasmtime" ] }
+sp-trie = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/trie", features = ["memory-tracker"] }
[dev-dependencies]
-sc-keystore = { version = "2.0.0-rc5", path = "../../../client/keystore" }
-sc-consensus = { version = "0.8.0-rc5", path = "../../../client/consensus/common" }
-sc-consensus-babe = { version = "0.8.0-rc5", features = ["test-helpers"], path = "../../../client/consensus/babe" }
-sc-consensus-epochs = { version = "0.8.0-rc5", path = "../../../client/consensus/epochs" }
-sc-service-test = { version = "2.0.0-rc5", path = "../../../client/service/test" }
+sc-keystore = { version = "2.0.0-rc6", path = "../../../client/keystore" }
+sc-consensus = { version = "0.8.0-rc6", path = "../../../client/consensus/common" }
+sc-consensus-babe = { version = "0.8.0-rc6", features = ["test-helpers"], path = "../../../client/consensus/babe" }
+sc-consensus-epochs = { version = "0.8.0-rc6", path = "../../../client/consensus/epochs" }
+sc-service-test = { version = "2.0.0-rc6", path = "../../../client/service/test" }
futures = "0.3.4"
tempfile = "3.1.0"
assert_cmd = "1.0"
@@ -128,13 +128,13 @@ platforms = "0.2.1"
[build-dependencies]
structopt = { version = "0.3.8", optional = true }
-node-inspect = { version = "0.8.0-rc5", optional = true, path = "../inspect" }
-frame-benchmarking-cli = { version = "2.0.0-rc5", optional = true, path = "../../../utils/frame/benchmarking-cli" }
-substrate-build-script-utils = { version = "2.0.0-rc5", optional = true, path = "../../../utils/build-script-utils" }
-substrate-frame-cli = { version = "2.0.0-rc5", optional = true, path = "../../../utils/frame/frame-utilities-cli" }
+node-inspect = { version = "0.8.0-rc6", optional = true, path = "../inspect" }
+frame-benchmarking-cli = { version = "2.0.0-rc6", optional = true, path = "../../../utils/frame/benchmarking-cli" }
+substrate-build-script-utils = { version = "2.0.0-rc6", optional = true, path = "../../../utils/build-script-utils" }
+substrate-frame-cli = { version = "2.0.0-rc6", optional = true, path = "../../../utils/frame/frame-utilities-cli" }
[build-dependencies.sc-cli]
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
package = "sc-cli"
path = "../../../client/cli"
optional = true
diff --git a/bin/node/executor/Cargo.toml b/bin/node/executor/Cargo.toml
index 6c6920d62be54..d8fb2e4078bd1 100644
--- a/bin/node/executor/Cargo.toml
+++ b/bin/node/executor/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-executor"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
description = "Substrate node implementation in Rust."
edition = "2018"
@@ -13,34 +13,34 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4" }
-node-primitives = { version = "2.0.0-rc5", path = "../primitives" }
-node-runtime = { version = "2.0.0-rc5", path = "../runtime" }
-sc-executor = { version = "0.8.0-rc5", path = "../../../client/executor" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-io = { version = "2.0.0-rc5", path = "../../../primitives/io" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../../primitives/state-machine" }
-sp-trie = { version = "2.0.0-rc5", path = "../../../primitives/trie" }
+node-primitives = { version = "2.0.0-rc6", path = "../primitives" }
+node-runtime = { version = "2.0.0-rc6", path = "../runtime" }
+sc-executor = { version = "0.8.0-rc6", path = "../../../client/executor" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-io = { version = "2.0.0-rc6", path = "../../../primitives/io" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../../primitives/state-machine" }
+sp-trie = { version = "2.0.0-rc6", path = "../../../primitives/trie" }
trie-root = "0.16.0"
-frame-benchmarking = { version = "2.0.0-rc5", path = "../../../frame/benchmarking" }
+frame-benchmarking = { version = "2.0.0-rc6", path = "../../../frame/benchmarking" }
[dev-dependencies]
criterion = "0.3.0"
-frame-support = { version = "2.0.0-rc5", path = "../../../frame/support" }
-frame-system = { version = "2.0.0-rc5", path = "../../../frame/system" }
-node-testing = { version = "2.0.0-rc5", path = "../testing" }
-pallet-balances = { version = "2.0.0-rc5", path = "../../../frame/balances" }
-pallet-contracts = { version = "2.0.0-rc5", path = "../../../frame/contracts" }
-pallet-grandpa = { version = "2.0.0-rc5", path = "../../../frame/grandpa" }
-pallet-im-online = { version = "2.0.0-rc5", path = "../../../frame/im-online" }
-pallet-indices = { version = "2.0.0-rc5", path = "../../../frame/indices" }
-pallet-session = { version = "2.0.0-rc5", path = "../../../frame/session" }
-pallet-timestamp = { version = "2.0.0-rc5", path = "../../../frame/timestamp" }
-pallet-transaction-payment = { version = "2.0.0-rc5", path = "../../../frame/transaction-payment" }
-pallet-treasury = { version = "2.0.0-rc5", path = "../../../frame/treasury" }
-sp-application-crypto = { version = "2.0.0-rc5", path = "../../../primitives/application-crypto" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-externalities = { version = "0.8.0-rc5", path = "../../../primitives/externalities" }
-substrate-test-client = { version = "2.0.0-rc5", path = "../../../test-utils/client" }
+frame-support = { version = "2.0.0-rc6", path = "../../../frame/support" }
+frame-system = { version = "2.0.0-rc6", path = "../../../frame/system" }
+node-testing = { version = "2.0.0-rc6", path = "../testing" }
+pallet-balances = { version = "2.0.0-rc6", path = "../../../frame/balances" }
+pallet-contracts = { version = "2.0.0-rc6", path = "../../../frame/contracts" }
+pallet-grandpa = { version = "2.0.0-rc6", path = "../../../frame/grandpa" }
+pallet-im-online = { version = "2.0.0-rc6", path = "../../../frame/im-online" }
+pallet-indices = { version = "2.0.0-rc6", path = "../../../frame/indices" }
+pallet-session = { version = "2.0.0-rc6", path = "../../../frame/session" }
+pallet-timestamp = { version = "2.0.0-rc6", path = "../../../frame/timestamp" }
+pallet-transaction-payment = { version = "2.0.0-rc6", path = "../../../frame/transaction-payment" }
+pallet-treasury = { version = "2.0.0-rc6", path = "../../../frame/treasury" }
+sp-application-crypto = { version = "2.0.0-rc6", path = "../../../primitives/application-crypto" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-externalities = { version = "0.8.0-rc6", path = "../../../primitives/externalities" }
+substrate-test-client = { version = "2.0.0-rc6", path = "../../../test-utils/client" }
wabt = "0.9.2"
[features]
diff --git a/bin/node/inspect/Cargo.toml b/bin/node/inspect/Cargo.toml
index b7f828a5f1e56..f8dc32f1e0587 100644
--- a/bin/node/inspect/Cargo.toml
+++ b/bin/node/inspect/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-inspect"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -14,10 +14,10 @@ targets = ["x86_64-unknown-linux-gnu"]
codec = { package = "parity-scale-codec", version = "1.3.4" }
derive_more = "0.99"
log = "0.4.8"
-sc-cli = { version = "0.8.0-rc5", path = "../../../client/cli" }
-sc-client-api = { version = "2.0.0-rc5", path = "../../../client/api" }
-sc-service = { version = "0.8.0-rc5", default-features = false, path = "../../../client/service" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
+sc-cli = { version = "0.8.0-rc6", path = "../../../client/cli" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../../client/api" }
+sc-service = { version = "0.8.0-rc6", default-features = false, path = "../../../client/service" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
structopt = "0.3.8"
diff --git a/bin/node/primitives/Cargo.toml b/bin/node/primitives/Cargo.toml
index 6ff8a05d61432..15fc493289fee 100644
--- a/bin/node/primitives/Cargo.toml
+++ b/bin/node/primitives/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-primitives"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,13 +12,13 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/system" }
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/application-crypto" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/runtime" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/system" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/application-crypto" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/runtime" }
[dev-dependencies]
-sp-serializer = { version = "2.0.0-rc5", path = "../../../primitives/serializer" }
+sp-serializer = { version = "2.0.0-rc6", path = "../../../primitives/serializer" }
pretty_assertions = "0.6.1"
[features]
diff --git a/bin/node/rpc-client/Cargo.toml b/bin/node/rpc-client/Cargo.toml
index d1a76f2ab3754..698aa8f08aea5 100644
--- a/bin/node/rpc-client/Cargo.toml
+++ b/bin/node/rpc-client/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-rpc-client"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -16,5 +16,5 @@ futures = "0.1.29"
hyper = "0.12.35"
jsonrpc-core-client = { version = "14.2.0", default-features = false, features = ["http"] }
log = "0.4.8"
-node-primitives = { version = "2.0.0-rc5", path = "../primitives" }
-sc-rpc = { version = "2.0.0-rc5", path = "../../../client/rpc" }
+node-primitives = { version = "2.0.0-rc6", path = "../primitives" }
+sc-rpc = { version = "2.0.0-rc6", path = "../../../client/rpc" }
diff --git a/bin/node/rpc/Cargo.toml b/bin/node/rpc/Cargo.toml
index ee11ff4ac8c49..9ed8c22fbe320 100644
--- a/bin/node/rpc/Cargo.toml
+++ b/bin/node/rpc/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-rpc"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,23 +13,23 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
jsonrpc-core = "14.2.0"
jsonrpc-pubsub = "14.2.0"
-node-primitives = { version = "2.0.0-rc5", path = "../primitives" }
-node-runtime = { version = "2.0.0-rc5", path = "../runtime" }
-pallet-contracts-rpc = { version = "0.8.0-rc5", path = "../../../frame/contracts/rpc/" }
-pallet-transaction-payment-rpc = { version = "2.0.0-rc5", path = "../../../frame/transaction-payment/rpc/" }
-sc-client-api = { version = "2.0.0-rc5", path = "../../../client/api" }
-sc-consensus-babe = { version = "0.8.0-rc5", path = "../../../client/consensus/babe" }
-sc-consensus-babe-rpc = { version = "0.8.0-rc5", path = "../../../client/consensus/babe/rpc" }
-sc-consensus-epochs = { version = "0.8.0-rc5", path = "../../../client/consensus/epochs" }
-sc-finality-grandpa = { version = "0.8.0-rc5", path = "../../../client/finality-grandpa" }
-sc-finality-grandpa-rpc = { version = "0.8.0-rc5", path = "../../../client/finality-grandpa/rpc" }
-sc-keystore = { version = "2.0.0-rc5", path = "../../../client/keystore" }
-sc-rpc-api = { version = "0.8.0-rc5", path = "../../../client/rpc-api" }
-sc-rpc = { version = "2.0.0-rc5", path = "../../../client/rpc" }
-sp-api = { version = "2.0.0-rc5", path = "../../../primitives/api" }
-sp-block-builder = { version = "2.0.0-rc5", path = "../../../primitives/block-builder" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sp-consensus-babe = { version = "0.8.0-rc5", path = "../../../primitives/consensus/babe" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../../primitives/transaction-pool" }
-substrate-frame-rpc-system = { version = "2.0.0-rc5", path = "../../../utils/frame/rpc/system" }
+node-primitives = { version = "2.0.0-rc6", path = "../primitives" }
+node-runtime = { version = "2.0.0-rc6", path = "../runtime" }
+pallet-contracts-rpc = { version = "0.8.0-rc6", path = "../../../frame/contracts/rpc/" }
+pallet-transaction-payment-rpc = { version = "2.0.0-rc6", path = "../../../frame/transaction-payment/rpc/" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../../client/api" }
+sc-consensus-babe = { version = "0.8.0-rc6", path = "../../../client/consensus/babe" }
+sc-consensus-babe-rpc = { version = "0.8.0-rc6", path = "../../../client/consensus/babe/rpc" }
+sc-consensus-epochs = { version = "0.8.0-rc6", path = "../../../client/consensus/epochs" }
+sc-finality-grandpa = { version = "0.8.0-rc6", path = "../../../client/finality-grandpa" }
+sc-finality-grandpa-rpc = { version = "0.8.0-rc6", path = "../../../client/finality-grandpa/rpc" }
+sc-keystore = { version = "2.0.0-rc6", path = "../../../client/keystore" }
+sc-rpc-api = { version = "0.8.0-rc6", path = "../../../client/rpc-api" }
+sc-rpc = { version = "2.0.0-rc6", path = "../../../client/rpc" }
+sp-api = { version = "2.0.0-rc6", path = "../../../primitives/api" }
+sp-block-builder = { version = "2.0.0-rc6", path = "../../../primitives/block-builder" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sp-consensus-babe = { version = "0.8.0-rc6", path = "../../../primitives/consensus/babe" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../../primitives/transaction-pool" }
+substrate-frame-rpc-system = { version = "2.0.0-rc6", path = "../../../utils/frame/rpc/system" }
diff --git a/bin/node/runtime/Cargo.toml b/bin/node/runtime/Cargo.toml
index 35ed7400459f2..303db4c2d2e97 100644
--- a/bin/node/runtime/Cargo.toml
+++ b/bin/node/runtime/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-runtime"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
build = "build.rs"
@@ -21,70 +21,70 @@ static_assertions = "1.1.0"
hex-literal = { version = "0.2.1", optional = true }
# primitives
-sp-authority-discovery = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/authority-discovery" }
-sp-consensus-babe = { version = "0.8.0-rc5", default-features = false, path = "../../../primitives/consensus/babe" }
-sp-block-builder = { path = "../../../primitives/block-builder", default-features = false, version = "2.0.0-rc5"}
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/inherents" }
-node-primitives = { version = "2.0.0-rc5", default-features = false, path = "../primitives" }
-sp-offchain = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/offchain" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/std" }
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/api" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/runtime" }
-sp-staking = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/staking" }
-sp-keyring = { version = "2.0.0-rc5", optional = true, path = "../../../primitives/keyring" }
-sp-session = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/session" }
-sp-transaction-pool = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/transaction-pool" }
-sp-version = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/version" }
+sp-authority-discovery = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/authority-discovery" }
+sp-consensus-babe = { version = "0.8.0-rc6", default-features = false, path = "../../../primitives/consensus/babe" }
+sp-block-builder = { path = "../../../primitives/block-builder", default-features = false, version = "2.0.0-rc6"}
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/inherents" }
+node-primitives = { version = "2.0.0-rc6", default-features = false, path = "../primitives" }
+sp-offchain = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/offchain" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/std" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/api" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/runtime" }
+sp-staking = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/staking" }
+sp-keyring = { version = "2.0.0-rc6", optional = true, path = "../../../primitives/keyring" }
+sp-session = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/session" }
+sp-transaction-pool = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/transaction-pool" }
+sp-version = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/version" }
# frame dependencies
-frame-executive = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/executive" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/benchmarking", optional = true }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/system" }
-frame-system-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/system/benchmarking", optional = true }
-frame-system-rpc-runtime-api = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/system/rpc/runtime-api/" }
-pallet-authority-discovery = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/authority-discovery" }
-pallet-authorship = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/authorship" }
-pallet-babe = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/babe" }
-pallet-balances = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/balances" }
-pallet-collective = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/collective" }
-pallet-contracts = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/contracts" }
-pallet-contracts-primitives = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/contracts/common/" }
-pallet-contracts-rpc-runtime-api = { version = "0.8.0-rc5", default-features = false, path = "../../../frame/contracts/rpc/runtime-api/" }
-pallet-democracy = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/democracy" }
-pallet-elections-phragmen = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/elections-phragmen" }
-pallet-finality-tracker = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/finality-tracker" }
-pallet-grandpa = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/grandpa" }
-pallet-im-online = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/im-online" }
-pallet-indices = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/indices" }
-pallet-identity = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/identity" }
-pallet-membership = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/membership" }
-pallet-multisig = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/multisig" }
-pallet-offences = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/offences" }
-pallet-offences-benchmarking = { version = "2.0.0-rc5", path = "../../../frame/offences/benchmarking", default-features = false, optional = true }
-pallet-proxy = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/proxy" }
-pallet-randomness-collective-flip = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/randomness-collective-flip" }
-pallet-recovery = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/recovery" }
-pallet-session = { version = "2.0.0-rc5", features = ["historical"], path = "../../../frame/session", default-features = false }
-pallet-session-benchmarking = { version = "2.0.0-rc5", path = "../../../frame/session/benchmarking", default-features = false, optional = true }
-pallet-staking = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/staking" }
-pallet-staking-reward-curve = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/staking/reward-curve" }
-pallet-scheduler = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/scheduler" }
-pallet-society = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/society" }
-pallet-sudo = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/sudo" }
-pallet-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/timestamp" }
-pallet-treasury = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/treasury" }
-pallet-utility = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/utility" }
-pallet-transaction-payment = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/transaction-payment" }
-pallet-transaction-payment-rpc-runtime-api = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/transaction-payment/rpc/runtime-api/" }
-pallet-vesting = { version = "2.0.0-rc5", default-features = false, path = "../../../frame/vesting" }
+frame-executive = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/executive" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/benchmarking", optional = true }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/system" }
+frame-system-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/system/benchmarking", optional = true }
+frame-system-rpc-runtime-api = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/system/rpc/runtime-api/" }
+pallet-authority-discovery = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/authority-discovery" }
+pallet-authorship = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/authorship" }
+pallet-babe = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/babe" }
+pallet-balances = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/balances" }
+pallet-collective = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/collective" }
+pallet-contracts = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/contracts" }
+pallet-contracts-primitives = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/contracts/common/" }
+pallet-contracts-rpc-runtime-api = { version = "0.8.0-rc6", default-features = false, path = "../../../frame/contracts/rpc/runtime-api/" }
+pallet-democracy = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/democracy" }
+pallet-elections-phragmen = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/elections-phragmen" }
+pallet-finality-tracker = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/finality-tracker" }
+pallet-grandpa = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/grandpa" }
+pallet-im-online = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/im-online" }
+pallet-indices = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/indices" }
+pallet-identity = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/identity" }
+pallet-membership = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/membership" }
+pallet-multisig = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/multisig" }
+pallet-offences = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/offences" }
+pallet-offences-benchmarking = { version = "2.0.0-rc6", path = "../../../frame/offences/benchmarking", default-features = false, optional = true }
+pallet-proxy = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/proxy" }
+pallet-randomness-collective-flip = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/randomness-collective-flip" }
+pallet-recovery = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/recovery" }
+pallet-session = { version = "2.0.0-rc6", features = ["historical"], path = "../../../frame/session", default-features = false }
+pallet-session-benchmarking = { version = "2.0.0-rc6", path = "../../../frame/session/benchmarking", default-features = false, optional = true }
+pallet-staking = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/staking" }
+pallet-staking-reward-curve = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/staking/reward-curve" }
+pallet-scheduler = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/scheduler" }
+pallet-society = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/society" }
+pallet-sudo = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/sudo" }
+pallet-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/timestamp" }
+pallet-treasury = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/treasury" }
+pallet-utility = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/utility" }
+pallet-transaction-payment = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/transaction-payment" }
+pallet-transaction-payment-rpc-runtime-api = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/transaction-payment/rpc/runtime-api/" }
+pallet-vesting = { version = "2.0.0-rc6", default-features = false, path = "../../../frame/vesting" }
[build-dependencies]
wasm-builder-runner = { version = "1.0.5", package = "substrate-wasm-builder-runner", path = "../../../utils/wasm-builder-runner" }
[dev-dependencies]
-sp-io = { version = "2.0.0-rc5", path = "../../../primitives/io" }
+sp-io = { version = "2.0.0-rc6", path = "../../../primitives/io" }
[features]
default = ["std"]
diff --git a/bin/node/testing/Cargo.toml b/bin/node/testing/Cargo.toml
index a61a344cceed1..23bf10336dcfe 100644
--- a/bin/node/testing/Cargo.toml
+++ b/bin/node/testing/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "node-testing"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
description = "Test utilities for Substrate node."
edition = "2018"
@@ -13,40 +13,40 @@ publish = true
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-pallet-balances = { version = "2.0.0-rc5", path = "../../../frame/balances" }
-sc-service = { version = "0.8.0-rc5", features = ["test-helpers", "db"], path = "../../../client/service" }
-sc-client-db = { version = "0.8.0-rc5", path = "../../../client/db/", features = ["kvdb-rocksdb", "parity-db"] }
-sc-client-api = { version = "2.0.0-rc5", path = "../../../client/api/" }
+pallet-balances = { version = "2.0.0-rc6", path = "../../../frame/balances" }
+sc-service = { version = "0.8.0-rc6", features = ["test-helpers", "db"], path = "../../../client/service" }
+sc-client-db = { version = "0.8.0-rc6", path = "../../../client/db/", features = ["kvdb-rocksdb", "parity-db"] }
+sc-client-api = { version = "2.0.0-rc6", path = "../../../client/api/" }
codec = { package = "parity-scale-codec", version = "1.3.4" }
-pallet-contracts = { version = "2.0.0-rc5", path = "../../../frame/contracts" }
-pallet-grandpa = { version = "2.0.0-rc5", path = "../../../frame/grandpa" }
-pallet-indices = { version = "2.0.0-rc5", path = "../../../frame/indices" }
-sp-keyring = { version = "2.0.0-rc5", path = "../../../primitives/keyring" }
-node-executor = { version = "2.0.0-rc5", path = "../executor" }
-node-primitives = { version = "2.0.0-rc5", path = "../primitives" }
-node-runtime = { version = "2.0.0-rc5", path = "../runtime" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-io = { version = "2.0.0-rc5", path = "../../../primitives/io" }
-frame-support = { version = "2.0.0-rc5", path = "../../../frame/support" }
-pallet-session = { version = "2.0.0-rc5", path = "../../../frame/session" }
-pallet-society = { version = "2.0.0-rc5", path = "../../../frame/society" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-pallet-staking = { version = "2.0.0-rc5", path = "../../../frame/staking" }
-sc-executor = { version = "0.8.0-rc5", path = "../../../client/executor", features = ["wasmtime"] }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-frame-system = { version = "2.0.0-rc5", path = "../../../frame/system" }
-substrate-test-client = { version = "2.0.0-rc5", path = "../../../test-utils/client" }
-pallet-timestamp = { version = "2.0.0-rc5", path = "../../../frame/timestamp" }
-pallet-transaction-payment = { version = "2.0.0-rc5", path = "../../../frame/transaction-payment" }
-pallet-treasury = { version = "2.0.0-rc5", path = "../../../frame/treasury" }
+pallet-contracts = { version = "2.0.0-rc6", path = "../../../frame/contracts" }
+pallet-grandpa = { version = "2.0.0-rc6", path = "../../../frame/grandpa" }
+pallet-indices = { version = "2.0.0-rc6", path = "../../../frame/indices" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../../primitives/keyring" }
+node-executor = { version = "2.0.0-rc6", path = "../executor" }
+node-primitives = { version = "2.0.0-rc6", path = "../primitives" }
+node-runtime = { version = "2.0.0-rc6", path = "../runtime" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-io = { version = "2.0.0-rc6", path = "../../../primitives/io" }
+frame-support = { version = "2.0.0-rc6", path = "../../../frame/support" }
+pallet-session = { version = "2.0.0-rc6", path = "../../../frame/session" }
+pallet-society = { version = "2.0.0-rc6", path = "../../../frame/society" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+pallet-staking = { version = "2.0.0-rc6", path = "../../../frame/staking" }
+sc-executor = { version = "0.8.0-rc6", path = "../../../client/executor", features = ["wasmtime"] }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+frame-system = { version = "2.0.0-rc6", path = "../../../frame/system" }
+substrate-test-client = { version = "2.0.0-rc6", path = "../../../test-utils/client" }
+pallet-timestamp = { version = "2.0.0-rc6", path = "../../../frame/timestamp" }
+pallet-transaction-payment = { version = "2.0.0-rc6", path = "../../../frame/transaction-payment" }
+pallet-treasury = { version = "2.0.0-rc6", path = "../../../frame/treasury" }
wabt = "0.9.2"
-sp-api = { version = "2.0.0-rc5", path = "../../../primitives/api" }
-sp-finality-tracker = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/finality-tracker" }
-sp-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/timestamp" }
-sp-block-builder = { version = "2.0.0-rc5", path = "../../../primitives/block-builder" }
-sc-block-builder = { version = "0.8.0-rc5", path = "../../../client/block-builder" }
-sp-inherents = { version = "2.0.0-rc5", path = "../../../primitives/inherents" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
+sp-api = { version = "2.0.0-rc6", path = "../../../primitives/api" }
+sp-finality-tracker = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/finality-tracker" }
+sp-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/timestamp" }
+sp-block-builder = { version = "2.0.0-rc6", path = "../../../primitives/block-builder" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../../../client/block-builder" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../../primitives/inherents" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
log = "0.4.8"
tempfile = "3.1.0"
fs_extra = "1"
@@ -54,4 +54,4 @@ futures = "0.3.1"
[dev-dependencies]
criterion = "0.3.0"
-sc-cli = { version = "0.8.0-rc5", path = "../../../client/cli" }
+sc-cli = { version = "0.8.0-rc6", path = "../../../client/cli" }
diff --git a/bin/utils/chain-spec-builder/Cargo.toml b/bin/utils/chain-spec-builder/Cargo.toml
index e90ef12f6815c..f6d03d4f3d107 100644
--- a/bin/utils/chain-spec-builder/Cargo.toml
+++ b/bin/utils/chain-spec-builder/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "chain-spec-builder"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
build = "build.rs"
@@ -13,9 +13,9 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
ansi_term = "0.12.1"
-sc-keystore = { version = "2.0.0-rc5", path = "../../../client/keystore" }
-sc-chain-spec = { version = "2.0.0-rc5", path = "../../../client/chain-spec" }
-node-cli = { version = "2.0.0-rc5", path = "../../node/cli" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
+sc-keystore = { version = "2.0.0-rc6", path = "../../../client/keystore" }
+sc-chain-spec = { version = "2.0.0-rc6", path = "../../../client/chain-spec" }
+node-cli = { version = "2.0.0-rc6", path = "../../node/cli" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
rand = "0.7.2"
structopt = "0.3.8"
diff --git a/bin/utils/chain-spec-builder/README.md b/bin/utils/chain-spec-builder/README.md
new file mode 100644
index 0000000000000..3e9ac0bddbdc1
--- /dev/null
+++ b/bin/utils/chain-spec-builder/README.md
@@ -0,0 +1 @@
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/bin/utils/subkey/Cargo.toml b/bin/utils/subkey/Cargo.toml
index 1b0288faeed4a..0dc1a1b5970c9 100644
--- a/bin/utils/subkey/Cargo.toml
+++ b/bin/utils/subkey/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "subkey"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -15,13 +15,13 @@ name = "subkey"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-node-runtime = { version = "2.0.0-rc5", path = "../../node/runtime" }
-node-primitives = { version = "2.0.0-rc5", path = "../../node/primitives" }
-sc-cli = { version = "0.8.0-rc5", path = "../../../client/cli" }
-substrate-frame-cli = { version = "2.0.0-rc5", path = "../../../utils/frame/frame-utilities-cli" }
+node-runtime = { version = "2.0.0-rc6", path = "../../node/runtime" }
+node-primitives = { version = "2.0.0-rc6", path = "../../node/primitives" }
+sc-cli = { version = "0.8.0-rc6", path = "../../../client/cli" }
+substrate-frame-cli = { version = "2.0.0-rc6", path = "../../../utils/frame/frame-utilities-cli" }
structopt = "0.3.14"
-frame-system = { version = "2.0.0-rc5", path = "../../../frame/system" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
+frame-system = { version = "2.0.0-rc6", path = "../../../frame/system" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
[features]
bench = []
diff --git a/bin/utils/subkey/README.md b/bin/utils/subkey/README.md
new file mode 100644
index 0000000000000..3e9ac0bddbdc1
--- /dev/null
+++ b/bin/utils/subkey/README.md
@@ -0,0 +1 @@
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/api/Cargo.toml b/client/api/Cargo.toml
index 45601771a4033..e84c3642bcf54 100644
--- a/client/api/Cargo.toml
+++ b/client/api/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-client-api"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -14,36 +14,36 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-consensus = { version = "0.8.0-rc5", path = "../../primitives/consensus/common" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../primitives/consensus/common" }
derive_more = { version = "0.99.2" }
-sc-executor = { version = "0.8.0-rc5", path = "../executor" }
-sp-externalities = { version = "0.8.0-rc5", path = "../../primitives/externalities" }
+sc-executor = { version = "0.8.0-rc6", path = "../executor" }
+sp-externalities = { version = "0.8.0-rc6", path = "../../primitives/externalities" }
fnv = { version = "1.0.6" }
futures = { version = "0.3.1" }
hash-db = { version = "0.15.2", default-features = false }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
hex-literal = { version = "0.2.1" }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/inherents" }
-sp-keyring = { version = "2.0.0-rc5", path = "../../primitives/keyring" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/inherents" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../primitives/keyring" }
kvdb = "0.7.0"
log = { version = "0.4.8" }
parking_lot = "0.10.0"
lazy_static = "1.4.0"
-sp-database = { version = "2.0.0-rc5", path = "../../primitives/database" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-version = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/version" }
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
-sp-utils = { version = "2.0.0-rc5", path = "../../primitives/utils" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
-sc-telemetry = { version = "2.0.0-rc5", path = "../telemetry" }
-sp-trie = { version = "2.0.0-rc5", path = "../../primitives/trie" }
-sp-storage = { version = "2.0.0-rc5", path = "../../primitives/storage" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../primitives/transaction-pool" }
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.8.0-rc5", path = "../../utils/prometheus" }
+sp-database = { version = "2.0.0-rc6", path = "../../primitives/database" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-version = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/version" }
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api" }
+sp-utils = { version = "2.0.0-rc6", path = "../../primitives/utils" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
+sc-telemetry = { version = "2.0.0-rc6", path = "../telemetry" }
+sp-trie = { version = "2.0.0-rc6", path = "../../primitives/trie" }
+sp-storage = { version = "2.0.0-rc6", path = "../../primitives/storage" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../primitives/transaction-pool" }
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.8.0-rc6", path = "../../utils/prometheus" }
[dev-dependencies]
kvdb-memorydb = "0.6.0"
-sp-test-primitives = { version = "2.0.0-rc5", path = "../../primitives/test-primitives" }
-substrate-test-runtime = { version = "2.0.0-rc5", path = "../../test-utils/runtime" }
+sp-test-primitives = { version = "2.0.0-rc6", path = "../../primitives/test-primitives" }
+substrate-test-runtime = { version = "2.0.0-rc6", path = "../../test-utils/runtime" }
diff --git a/client/api/README.md b/client/api/README.md
new file mode 100644
index 0000000000000..142f5b32dd9a8
--- /dev/null
+++ b/client/api/README.md
@@ -0,0 +1,3 @@
+Substrate client interfaces.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/authority-discovery/Cargo.toml b/client/authority-discovery/Cargo.toml
index 3f3e5b5589473..b651dbbbc94c6 100644
--- a/client/authority-discovery/Cargo.toml
+++ b/client/authority-discovery/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-authority-discovery"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
build = "build.rs"
@@ -23,21 +23,21 @@ futures = "0.3.4"
futures-timer = "3.0.1"
libp2p = { version = "0.23.0", default-features = false, features = ["kad"] }
log = "0.4.8"
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc5"}
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc6"}
prost = "0.6.1"
rand = "0.7.2"
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sc-keystore = { version = "2.0.0-rc5", path = "../keystore" }
-sc-network = { version = "0.8.0-rc5", path = "../network" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sc-keystore = { version = "2.0.0-rc6", path = "../keystore" }
+sc-network = { version = "0.8.0-rc6", path = "../network" }
serde_json = "1.0.41"
-sp-authority-discovery = { version = "2.0.0-rc5", path = "../../primitives/authority-discovery" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
+sp-authority-discovery = { version = "2.0.0-rc6", path = "../../primitives/authority-discovery" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api" }
[dev-dependencies]
env_logger = "0.7.0"
quickcheck = "0.9.0"
-sc-peerset = { version = "2.0.0-rc5", path = "../peerset" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client"}
+sc-peerset = { version = "2.0.0-rc6", path = "../peerset" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../test-utils/runtime/client"}
diff --git a/client/authority-discovery/README.md b/client/authority-discovery/README.md
new file mode 100644
index 0000000000000..54c51d5ba04f4
--- /dev/null
+++ b/client/authority-discovery/README.md
@@ -0,0 +1,9 @@
+Substrate authority discovery.
+
+This crate enables Substrate authorities to discover and directly connect to
+other authorities. It is split into two components the [`Worker`] and the
+[`Service`].
+
+See [`Worker`] and [`Service`] for more documentation.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/basic-authorship/Cargo.toml b/client/basic-authorship/Cargo.toml
index 6160a41fdef43..6c9da3f3d8aa5 100644
--- a/client/basic-authorship/Cargo.toml
+++ b/client/basic-authorship/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-basic-authorship"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -16,21 +16,21 @@ codec = { package = "parity-scale-codec", version = "1.3.4" }
futures = "0.3.4"
futures-timer = "3.0.1"
log = "0.4.8"
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc5"}
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../primitives/consensus/common" }
-sp-inherents = { version = "2.0.0-rc5", path = "../../primitives/inherents" }
-sc-telemetry = { version = "2.0.0-rc5", path = "../telemetry" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../primitives/transaction-pool" }
-sc-block-builder = { version = "0.8.0-rc5", path = "../block-builder" }
-sc-proposer-metrics = { version = "0.8.0-rc5", path = "../proposer-metrics" }
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc6"}
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../primitives/consensus/common" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../primitives/inherents" }
+sc-telemetry = { version = "2.0.0-rc6", path = "../telemetry" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../primitives/transaction-pool" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../block-builder" }
+sc-proposer-metrics = { version = "0.8.0-rc6", path = "../proposer-metrics" }
tokio-executor = { version = "0.2.0-alpha.6", features = ["blocking"] }
[dev-dependencies]
-sc-transaction-pool = { version = "2.0.0-rc5", path = "../../client/transaction-pool" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client" }
+sc-transaction-pool = { version = "2.0.0-rc6", path = "../../client/transaction-pool" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../test-utils/runtime/client" }
parking_lot = "0.10.0"
diff --git a/client/basic-authorship/README.md b/client/basic-authorship/README.md
new file mode 100644
index 0000000000000..1a20593c09eaa
--- /dev/null
+++ b/client/basic-authorship/README.md
@@ -0,0 +1,32 @@
+Basic implementation of block-authoring logic.
+
+# Example
+
+```rust
+// The first step is to create a `ProposerFactory`.
+let mut proposer_factory = ProposerFactory::new(client.clone(), txpool.clone(), None);
+
+// From this factory, we create a `Proposer`.
+let proposer = proposer_factory.init(
+ &client.header(&BlockId::number(0)).unwrap().unwrap(),
+);
+
+// The proposer is created asynchronously.
+let proposer = futures::executor::block_on(proposer).unwrap();
+
+// This `Proposer` allows us to create a block proposition.
+// The proposer will grab transactions from the transaction pool, and put them into the block.
+let future = proposer.propose(
+ Default::default(),
+ Default::default(),
+ Duration::from_secs(2),
+ RecordProof::Yes,
+);
+
+// We wait until the proposition is performed.
+let block = futures::executor::block_on(future).unwrap();
+println!("Generated block: {:?}", block.block);
+```
+
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/block-builder/Cargo.toml b/client/block-builder/Cargo.toml
index ac1d0265fd9e2..94d6b70eeeb9d 100644
--- a/client/block-builder/Cargo.toml
+++ b/client/block-builder/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-block-builder"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -13,17 +13,17 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../primitives/consensus/common" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-block-builder = { version = "2.0.0-rc5", path = "../../primitives/block-builder" }
-sp-inherents = { version = "2.0.0-rc5", path = "../../primitives/inherents" }
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../primitives/consensus/common" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-block-builder = { version = "2.0.0-rc6", path = "../../primitives/block-builder" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../primitives/inherents" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
codec = { package = "parity-scale-codec", version = "1.3.4", features = ["derive"] }
[dev-dependencies]
substrate-test-runtime-client = { path = "../../test-utils/runtime/client" }
-sp-trie = { version = "2.0.0-rc5", path = "../../primitives/trie" }
+sp-trie = { version = "2.0.0-rc6", path = "../../primitives/trie" }
diff --git a/client/block-builder/README.md b/client/block-builder/README.md
new file mode 100644
index 0000000000000..c691f6692abff
--- /dev/null
+++ b/client/block-builder/README.md
@@ -0,0 +1,9 @@
+Substrate block builder
+
+This crate provides the [`BlockBuilder`] utility and the corresponding runtime api
+[`BlockBuilder`](sp_block_builder::BlockBuilder).Error
+
+The block builder utility is used in the node as an abstraction over the runtime api to
+initialize a block, to push extrinsics and to finalize a block.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/chain-spec/Cargo.toml b/client/chain-spec/Cargo.toml
index 5a4759cbf17ec..fb0addf461abd 100644
--- a/client/chain-spec/Cargo.toml
+++ b/client/chain-spec/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-chain-spec"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -12,12 +12,12 @@ description = "Substrate chain configurations."
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sc-chain-spec-derive = { version = "2.0.0-rc5", path = "./derive" }
+sc-chain-spec-derive = { version = "2.0.0-rc6", path = "./derive" }
impl-trait-for-tuples = "0.1.3"
-sc-network = { version = "0.8.0-rc5", path = "../network" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
+sc-network = { version = "0.8.0-rc6", path = "../network" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
serde = { version = "1.0.101", features = ["derive"] }
serde_json = "1.0.41"
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-chain-spec = { version = "2.0.0-rc5", path = "../../primitives/chain-spec" }
-sc-telemetry = { version = "2.0.0-rc5", path = "../telemetry" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-chain-spec = { version = "2.0.0-rc6", path = "../../primitives/chain-spec" }
+sc-telemetry = { version = "2.0.0-rc6", path = "../telemetry" }
diff --git a/client/chain-spec/README.md b/client/chain-spec/README.md
new file mode 100644
index 0000000000000..6475c811045b1
--- /dev/null
+++ b/client/chain-spec/README.md
@@ -0,0 +1,92 @@
+Substrate chain configurations.
+
+This crate contains structs and utilities to declare
+a runtime-specific configuration file (a.k.a chain spec).
+
+Basic chain spec type containing all required parameters is
+[`ChainSpec`](./struct.ChainSpec.html). It can be extended with
+additional options that contain configuration specific to your chain.
+Usually the extension is going to be an amalgamate of types exposed
+by Substrate core modules. To allow the core modules to retrieve
+their configuration from your extension you should use `ChainSpecExtension`
+macro exposed by this crate.
+
+```rust
+use std::collections::HashMap;
+use sc_chain_spec::{GenericChainSpec, ChainSpecExtension};
+
+#[derive(Clone, Debug, serde::Serialize, serde::Deserialize, ChainSpecExtension)]
+pub struct MyExtension {
+ pub known_blocks: HashMap,
+}
+
+pub type MyChainSpec = GenericChainSpec;
+```
+
+Some parameters may require different values depending on the
+current blockchain height (a.k.a. forks). You can use `ChainSpecGroup`
+macro and provided [`Forks`](./struct.Forks.html) structure to put
+such parameters to your chain spec.
+This will allow to override a single parameter starting at specific
+block number.
+
+```rust
+use sc_chain_spec::{Forks, ChainSpecGroup, ChainSpecExtension, GenericChainSpec};
+
+#[derive(Clone, Debug, serde::Serialize, serde::Deserialize, ChainSpecGroup)]
+pub struct ClientParams {
+ max_block_size: usize,
+ max_extrinsic_size: usize,
+}
+
+#[derive(Clone, Debug, serde::Serialize, serde::Deserialize, ChainSpecGroup)]
+pub struct PoolParams {
+ max_transaction_size: usize,
+}
+
+#[derive(Clone, Debug, serde::Serialize, serde::Deserialize, ChainSpecGroup, ChainSpecExtension)]
+pub struct Extension {
+ pub client: ClientParams,
+ pub pool: PoolParams,
+}
+
+pub type BlockNumber = u64;
+
+/// A chain spec supporting forkable `ClientParams`.
+pub type MyChainSpec1 = GenericChainSpec>;
+
+/// A chain spec supporting forkable `Extension`.
+pub type MyChainSpec2 = GenericChainSpec>;
+```
+
+It's also possible to have a set of parameters that is allowed to change
+with block numbers (i.e. is forkable), and another set that is not subject to changes.
+This is also possible by declaring an extension that contains `Forks` within it.
+
+
+```rust
+use serde::{Serialize, Deserialize};
+use sc_chain_spec::{Forks, GenericChainSpec, ChainSpecGroup, ChainSpecExtension};
+
+#[derive(Clone, Debug, Serialize, Deserialize, ChainSpecGroup)]
+pub struct ClientParams {
+ max_block_size: usize,
+ max_extrinsic_size: usize,
+}
+
+#[derive(Clone, Debug, Serialize, Deserialize, ChainSpecGroup)]
+pub struct PoolParams {
+ max_transaction_size: usize,
+}
+
+#[derive(Clone, Debug, Serialize, Deserialize, ChainSpecExtension)]
+pub struct Extension {
+ pub client: ClientParams,
+ #[forks]
+ pub pool: Forks,
+}
+
+pub type MyChainSpec = GenericChainSpec;
+```
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/chain-spec/derive/Cargo.toml b/client/chain-spec/derive/Cargo.toml
index b7eb03d7fbb23..a3112e10faca9 100644
--- a/client/chain-spec/derive/Cargo.toml
+++ b/client/chain-spec/derive/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-chain-spec-derive"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
diff --git a/client/cli/Cargo.toml b/client/cli/Cargo.toml
index 2fe1b30ab14d6..57bc622deb4f6 100644
--- a/client/cli/Cargo.toml
+++ b/client/cli/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-cli"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Substrate CLI interface."
edition = "2018"
@@ -29,24 +29,24 @@ hex = "0.4.2"
rand = "0.7.3"
bip39 = "0.6.0-beta.1"
serde_json = "1.0.41"
-sc-keystore = { version = "2.0.0-rc5", path = "../keystore" }
-sc-informant = { version = "0.8.0-rc5", path = "../informant" }
-sp-panic-handler = { version = "2.0.0-rc5", path = "../../primitives/panic-handler" }
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
-sc-network = { version = "0.8.0-rc5", path = "../network" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-utils = { version = "2.0.0-rc5", path = "../../primitives/utils" }
-sp-version = { version = "2.0.0-rc5", path = "../../primitives/version" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sc-service = { version = "0.8.0-rc5", default-features = false, path = "../service" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
-sc-telemetry = { version = "2.0.0-rc5", path = "../telemetry" }
-substrate-prometheus-endpoint = { path = "../../utils/prometheus" , version = "0.8.0-rc5"}
-sp-keyring = { version = "2.0.0-rc5", path = "../../primitives/keyring" }
+sc-keystore = { version = "2.0.0-rc6", path = "../keystore" }
+sc-informant = { version = "0.8.0-rc6", path = "../informant" }
+sp-panic-handler = { version = "2.0.0-rc6", path = "../../primitives/panic-handler" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
+sc-network = { version = "0.8.0-rc6", path = "../network" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-utils = { version = "2.0.0-rc6", path = "../../primitives/utils" }
+sp-version = { version = "2.0.0-rc6", path = "../../primitives/version" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sc-service = { version = "0.8.0-rc6", default-features = false, path = "../service" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
+sc-telemetry = { version = "2.0.0-rc6", path = "../telemetry" }
+substrate-prometheus-endpoint = { path = "../../utils/prometheus" , version = "0.8.0-rc6"}
+sp-keyring = { version = "2.0.0-rc6", path = "../../primitives/keyring" }
names = "0.11.0"
structopt = "0.3.8"
-sc-tracing = { version = "2.0.0-rc5", path = "../tracing" }
+sc-tracing = { version = "2.0.0-rc6", path = "../tracing" }
chrono = "0.4.10"
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
serde = "1.0.111"
diff --git a/client/cli/README.md b/client/cli/README.md
new file mode 100644
index 0000000000000..2504dbb0c03b5
--- /dev/null
+++ b/client/cli/README.md
@@ -0,0 +1,3 @@
+Substrate CLI library.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/consensus/aura/Cargo.toml b/client/consensus/aura/Cargo.toml
index 6bf60335b7bd5..b107499daf48b 100644
--- a/client/consensus/aura/Cargo.toml
+++ b/client/consensus/aura/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-consensus-aura"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Aura consensus algorithm for substrate"
edition = "2018"
@@ -12,37 +12,37 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-application-crypto = { version = "2.0.0-rc5", path = "../../../primitives/application-crypto" }
-sp-consensus-aura = { version = "0.8.0-rc5", path = "../../../primitives/consensus/aura" }
-sp-block-builder = { version = "2.0.0-rc5", path = "../../../primitives/block-builder" }
-sc-block-builder = { version = "0.8.0-rc5", path = "../../../client/block-builder" }
-sc-client-api = { version = "2.0.0-rc5", path = "../../api" }
+sp-application-crypto = { version = "2.0.0-rc6", path = "../../../primitives/application-crypto" }
+sp-consensus-aura = { version = "0.8.0-rc6", path = "../../../primitives/consensus/aura" }
+sp-block-builder = { version = "2.0.0-rc6", path = "../../../primitives/block-builder" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../../../client/block-builder" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../api" }
codec = { package = "parity-scale-codec", version = "1.3.4" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
derive_more = "0.99.2"
futures = "0.3.4"
futures-timer = "3.0.1"
-sp-inherents = { version = "2.0.0-rc5", path = "../../../primitives/inherents" }
-sc-keystore = { version = "2.0.0-rc5", path = "../../keystore" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../../primitives/inherents" }
+sc-keystore = { version = "2.0.0-rc6", path = "../../keystore" }
log = "0.4.8"
parking_lot = "0.10.0"
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-io = { version = "2.0.0-rc5", path = "../../../primitives/io" }
-sp-version = { version = "2.0.0-rc5", path = "../../../primitives/version" }
-sc-consensus-slots = { version = "0.8.0-rc5", path = "../slots" }
-sp-api = { version = "2.0.0-rc5", path = "../../../primitives/api" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-timestamp = { version = "2.0.0-rc5", path = "../../../primitives/timestamp" }
-sc-telemetry = { version = "2.0.0-rc5", path = "../../telemetry" }
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.8.0-rc5"}
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-io = { version = "2.0.0-rc6", path = "../../../primitives/io" }
+sp-version = { version = "2.0.0-rc6", path = "../../../primitives/version" }
+sc-consensus-slots = { version = "0.8.0-rc6", path = "../slots" }
+sp-api = { version = "2.0.0-rc6", path = "../../../primitives/api" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-timestamp = { version = "2.0.0-rc6", path = "../../../primitives/timestamp" }
+sc-telemetry = { version = "2.0.0-rc6", path = "../../telemetry" }
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.8.0-rc6"}
[dev-dependencies]
-sp-keyring = { version = "2.0.0-rc5", path = "../../../primitives/keyring" }
-sc-executor = { version = "0.8.0-rc5", path = "../../executor" }
-sc-network = { version = "0.8.0-rc5", path = "../../network" }
-sc-network-test = { version = "0.8.0-rc5", path = "../../network/test" }
-sc-service = { version = "0.8.0-rc5", default-features = false, path = "../../service" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../../test-utils/runtime/client" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../../primitives/keyring" }
+sc-executor = { version = "0.8.0-rc6", path = "../../executor" }
+sc-network = { version = "0.8.0-rc6", path = "../../network" }
+sc-network-test = { version = "0.8.0-rc6", path = "../../network/test" }
+sc-service = { version = "0.8.0-rc6", default-features = false, path = "../../service" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../../test-utils/runtime/client" }
env_logger = "0.7.0"
tempfile = "3.1.0"
diff --git a/client/consensus/aura/README.md b/client/consensus/aura/README.md
new file mode 100644
index 0000000000000..85d82cd7dfd3b
--- /dev/null
+++ b/client/consensus/aura/README.md
@@ -0,0 +1,15 @@
+Aura (Authority-round) consensus in substrate.
+
+Aura works by having a list of authorities A who are expected to roughly
+agree on the current time. Time is divided up into discrete slots of t
+seconds each. For each slot s, the author of that slot is A[s % |A|].
+
+The author is allowed to issue one block but not more during that slot,
+and it will be built upon the longest valid chain that has been seen.
+
+Blocks from future steps will be either deferred or rejected depending on how
+far in the future they are.
+
+NOTE: Aura itself is designed to be generic over the crypto used.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/consensus/babe/Cargo.toml b/client/consensus/babe/Cargo.toml
index 1b6b705139cf5..5838567096706 100644
--- a/client/consensus/babe/Cargo.toml
+++ b/client/consensus/babe/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-consensus-babe"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "BABE consensus algorithm for substrate"
edition = "2018"
@@ -14,32 +14,32 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", features = ["derive"] }
-sp-consensus-babe = { version = "0.8.0-rc5", path = "../../../primitives/consensus/babe" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-application-crypto = { version = "2.0.0-rc5", path = "../../../primitives/application-crypto" }
+sp-consensus-babe = { version = "0.8.0-rc6", path = "../../../primitives/consensus/babe" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-application-crypto = { version = "2.0.0-rc6", path = "../../../primitives/application-crypto" }
num-bigint = "0.2.3"
num-rational = "0.2.2"
num-traits = "0.2.8"
serde = { version = "1.0.104", features = ["derive"] }
-sp-version = { version = "2.0.0-rc5", path = "../../../primitives/version" }
-sp-io = { version = "2.0.0-rc5", path = "../../../primitives/io" }
-sp-inherents = { version = "2.0.0-rc5", path = "../../../primitives/inherents" }
-sp-timestamp = { version = "2.0.0-rc5", path = "../../../primitives/timestamp" }
-sc-telemetry = { version = "2.0.0-rc5", path = "../../telemetry" }
-sc-keystore = { version = "2.0.0-rc5", path = "../../keystore" }
-sc-client-api = { version = "2.0.0-rc5", path = "../../api" }
-sc-consensus-epochs = { version = "0.8.0-rc5", path = "../epochs" }
-sp-api = { version = "2.0.0-rc5", path = "../../../primitives/api" }
-sp-block-builder = { version = "2.0.0-rc5", path = "../../../primitives/block-builder" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sp-consensus-vrf = { version = "0.8.0-rc5", path = "../../../primitives/consensus/vrf" }
-sc-consensus-uncles = { version = "0.8.0-rc5", path = "../uncles" }
-sc-consensus-slots = { version = "0.8.0-rc5", path = "../slots" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-utils = { version = "2.0.0-rc5", path = "../../../primitives/utils" }
-fork-tree = { version = "2.0.0-rc5", path = "../../../utils/fork-tree" }
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.8.0-rc5"}
+sp-version = { version = "2.0.0-rc6", path = "../../../primitives/version" }
+sp-io = { version = "2.0.0-rc6", path = "../../../primitives/io" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../../primitives/inherents" }
+sp-timestamp = { version = "2.0.0-rc6", path = "../../../primitives/timestamp" }
+sc-telemetry = { version = "2.0.0-rc6", path = "../../telemetry" }
+sc-keystore = { version = "2.0.0-rc6", path = "../../keystore" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../api" }
+sc-consensus-epochs = { version = "0.8.0-rc6", path = "../epochs" }
+sp-api = { version = "2.0.0-rc6", path = "../../../primitives/api" }
+sp-block-builder = { version = "2.0.0-rc6", path = "../../../primitives/block-builder" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sp-consensus-vrf = { version = "0.8.0-rc6", path = "../../../primitives/consensus/vrf" }
+sc-consensus-uncles = { version = "0.8.0-rc6", path = "../uncles" }
+sc-consensus-slots = { version = "0.8.0-rc6", path = "../slots" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-utils = { version = "2.0.0-rc6", path = "../../../primitives/utils" }
+fork-tree = { version = "2.0.0-rc6", path = "../../../utils/fork-tree" }
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.8.0-rc6"}
futures = "0.3.4"
futures-timer = "3.0.1"
parking_lot = "0.10.0"
@@ -52,13 +52,13 @@ derive_more = "0.99.2"
retain_mut = "0.1.1"
[dev-dependencies]
-sp-keyring = { version = "2.0.0-rc5", path = "../../../primitives/keyring" }
-sc-executor = { version = "0.8.0-rc5", path = "../../executor" }
-sc-network = { version = "0.8.0-rc5", path = "../../network" }
-sc-network-test = { version = "0.8.0-rc5", path = "../../network/test" }
-sc-service = { version = "0.8.0-rc5", default-features = false, path = "../../service" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../../test-utils/runtime/client" }
-sc-block-builder = { version = "0.8.0-rc5", path = "../../block-builder" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../../primitives/keyring" }
+sc-executor = { version = "0.8.0-rc6", path = "../../executor" }
+sc-network = { version = "0.8.0-rc6", path = "../../network" }
+sc-network-test = { version = "0.8.0-rc6", path = "../../network/test" }
+sc-service = { version = "0.8.0-rc6", default-features = false, path = "../../service" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../../test-utils/runtime/client" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../../block-builder" }
env_logger = "0.7.0"
rand_chacha = "0.2.2"
tempfile = "3.1.0"
diff --git a/client/consensus/babe/README.md b/client/consensus/babe/README.md
new file mode 100644
index 0000000000000..faba3948ed715
--- /dev/null
+++ b/client/consensus/babe/README.md
@@ -0,0 +1,48 @@
+# BABE (Blind Assignment for Blockchain Extension)
+
+BABE is a slot-based block production mechanism which uses a VRF PRNG to
+randomly perform the slot allocation. On every slot, all the authorities
+generate a new random number with the VRF function and if it is lower than a
+given threshold (which is proportional to their weight/stake) they have a
+right to produce a block. The proof of the VRF function execution will be
+used by other peer to validate the legitimacy of the slot claim.
+
+The engine is also responsible for collecting entropy on-chain which will be
+used to seed the given VRF PRNG. An epoch is a contiguous number of slots
+under which we will be using the same authority set. During an epoch all VRF
+outputs produced as a result of block production will be collected on an
+on-chain randomness pool. Epoch changes are announced one epoch in advance,
+i.e. when ending epoch N, we announce the parameters (randomness,
+authorities, etc.) for epoch N+2.
+
+Since the slot assignment is randomized, it is possible that a slot is
+assigned to multiple validators in which case we will have a temporary fork,
+or that a slot is assigned to no validator in which case no block is
+produced. Which means that block times are not deterministic.
+
+The protocol has a parameter `c` [0, 1] for which `1 - c` is the probability
+of a slot being empty. The choice of this parameter affects the security of
+the protocol relating to maximum tolerable network delays.
+
+In addition to the VRF-based slot assignment described above, which we will
+call primary slots, the engine also supports a deterministic secondary slot
+assignment. Primary slots take precedence over secondary slots, when
+authoring the node starts by trying to claim a primary slot and falls back
+to a secondary slot claim attempt. The secondary slot assignment is done
+by picking the authority at index:
+
+`blake2_256(epoch_randomness ++ slot_number) % authorities_len`.
+
+The secondary slots supports either a `SecondaryPlain` or `SecondaryVRF`
+variant. Comparing with `SecondaryPlain` variant, the `SecondaryVRF` variant
+generates an additional VRF output. The output is not included in beacon
+randomness, but can be consumed by parachains.
+
+The fork choice rule is weight-based, where weight equals the number of
+primary blocks in the chain. We will pick the heaviest chain (more primary
+blocks) and will go with the longest one in case of a tie.
+
+An in-depth description and analysis of the protocol can be found here:
+
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/consensus/babe/rpc/Cargo.toml b/client/consensus/babe/rpc/Cargo.toml
index 280b38f4d6c32..4d2e89af3b0ed 100644
--- a/client/consensus/babe/rpc/Cargo.toml
+++ b/client/consensus/babe/rpc/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-consensus-babe-rpc"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "RPC extensions for the BABE consensus algorithm"
edition = "2018"
@@ -12,27 +12,27 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sc-consensus-babe = { version = "0.8.0-rc5", path = "../" }
-sc-rpc-api = { version = "0.8.0-rc5", path = "../../../rpc-api" }
+sc-consensus-babe = { version = "0.8.0-rc6", path = "../" }
+sc-rpc-api = { version = "0.8.0-rc6", path = "../../../rpc-api" }
jsonrpc-core = "14.2.0"
jsonrpc-core-client = "14.2.0"
jsonrpc-derive = "14.2.1"
-sp-consensus-babe = { version = "0.8.0-rc5", path = "../../../../primitives/consensus/babe" }
+sp-consensus-babe = { version = "0.8.0-rc6", path = "../../../../primitives/consensus/babe" }
serde = { version = "1.0.104", features=["derive"] }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../../primitives/blockchain" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../../primitives/runtime" }
-sc-consensus-epochs = { version = "0.8.0-rc5", path = "../../epochs" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../../primitives/blockchain" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../../primitives/runtime" }
+sc-consensus-epochs = { version = "0.8.0-rc6", path = "../../epochs" }
futures = { version = "0.3.4", features = ["compat"] }
derive_more = "0.99.2"
-sp-api = { version = "2.0.0-rc5", path = "../../../../primitives/api" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../../primitives/consensus/common" }
-sp-core = { version = "2.0.0-rc5", path = "../../../../primitives/core" }
-sp-application-crypto = { version = "2.0.0-rc5", path = "../../../../primitives/application-crypto" }
-sc-keystore = { version = "2.0.0-rc5", path = "../../../keystore" }
+sp-api = { version = "2.0.0-rc6", path = "../../../../primitives/api" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../../primitives/consensus/common" }
+sp-core = { version = "2.0.0-rc6", path = "../../../../primitives/core" }
+sp-application-crypto = { version = "2.0.0-rc6", path = "../../../../primitives/application-crypto" }
+sc-keystore = { version = "2.0.0-rc6", path = "../../../keystore" }
[dev-dependencies]
-sc-consensus = { version = "0.8.0-rc5", path = "../../../consensus/common" }
+sc-consensus = { version = "0.8.0-rc6", path = "../../../consensus/common" }
serde_json = "1.0.50"
-sp-keyring = { version = "2.0.0-rc5", path = "../../../../primitives/keyring" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../../../test-utils/runtime/client" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../../../primitives/keyring" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../../../test-utils/runtime/client" }
tempfile = "3.1.0"
diff --git a/client/consensus/babe/rpc/README.md b/client/consensus/babe/rpc/README.md
new file mode 100644
index 0000000000000..e76dd3dc67f81
--- /dev/null
+++ b/client/consensus/babe/rpc/README.md
@@ -0,0 +1,3 @@
+RPC api for babe.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/consensus/common/Cargo.toml b/client/consensus/common/Cargo.toml
index a617cf77af3dd..69d5eae851643 100644
--- a/client/consensus/common/Cargo.toml
+++ b/client/consensus/common/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-consensus"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -12,7 +12,7 @@ description = "Collection of common consensus specific imlementations for Substr
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sc-client-api = { version = "2.0.0-rc5", path = "../../api" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../api" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
diff --git a/client/consensus/common/README.md b/client/consensus/common/README.md
new file mode 100644
index 0000000000000..a6717a1d7a6df
--- /dev/null
+++ b/client/consensus/common/README.md
@@ -0,0 +1,3 @@
+Collection of common consensus specific implementations
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/consensus/epochs/Cargo.toml b/client/consensus/epochs/Cargo.toml
index 4a26611a75886..7bcc30e3cff9b 100644
--- a/client/consensus/epochs/Cargo.toml
+++ b/client/consensus/epochs/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-consensus-epochs"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Generic epochs-based utilities for consensus"
edition = "2018"
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", features = ["derive"] }
parking_lot = "0.10.0"
-fork-tree = { version = "2.0.0-rc5", path = "../../../utils/fork-tree" }
-sp-runtime = { path = "../../../primitives/runtime" , version = "2.0.0-rc5"}
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sc-client-api = { path = "../../api" , version = "2.0.0-rc5"}
+fork-tree = { version = "2.0.0-rc6", path = "../../../utils/fork-tree" }
+sp-runtime = { path = "../../../primitives/runtime" , version = "2.0.0-rc6"}
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sc-client-api = { path = "../../api" , version = "2.0.0-rc6"}
diff --git a/client/consensus/epochs/README.md b/client/consensus/epochs/README.md
new file mode 100644
index 0000000000000..1e74e04172c24
--- /dev/null
+++ b/client/consensus/epochs/README.md
@@ -0,0 +1,3 @@
+Generic utilities for epoch-based consensus engines.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/consensus/manual-seal/Cargo.toml b/client/consensus/manual-seal/Cargo.toml
index ab77f355bfade..b557f171c35db 100644
--- a/client/consensus/manual-seal/Cargo.toml
+++ b/client/consensus/manual-seal/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-consensus-manual-seal"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Manual sealing engine for Substrate"
edition = "2018"
@@ -22,20 +22,20 @@ parking_lot = "0.10.0"
serde = { version = "1.0", features=["derive"] }
assert_matches = "1.3.0"
-sc-client-api = { path = "../../../client/api", version = "2.0.0-rc5" }
-sc-transaction-pool = { path = "../../transaction-pool", version = "2.0.0-rc5" }
-sp-blockchain = { path = "../../../primitives/blockchain", version = "2.0.0-rc5" }
-sp-consensus = { package = "sp-consensus", path = "../../../primitives/consensus/common", version = "0.8.0-rc5" }
-sp-inherents = { path = "../../../primitives/inherents", version = "2.0.0-rc5" }
-sp-runtime = { path = "../../../primitives/runtime", version = "2.0.0-rc5" }
-sp-core = { path = "../../../primitives/core", version = "2.0.0-rc5" }
-sp-transaction-pool = { path = "../../../primitives/transaction-pool", version = "2.0.0-rc5" }
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.8.0-rc5" }
+sc-client-api = { path = "../../../client/api", version = "2.0.0-rc6" }
+sc-transaction-pool = { path = "../../transaction-pool", version = "2.0.0-rc6" }
+sp-blockchain = { path = "../../../primitives/blockchain", version = "2.0.0-rc6" }
+sp-consensus = { package = "sp-consensus", path = "../../../primitives/consensus/common", version = "0.8.0-rc6" }
+sp-inherents = { path = "../../../primitives/inherents", version = "2.0.0-rc6" }
+sp-runtime = { path = "../../../primitives/runtime", version = "2.0.0-rc6" }
+sp-core = { path = "../../../primitives/core", version = "2.0.0-rc6" }
+sp-transaction-pool = { path = "../../../primitives/transaction-pool", version = "2.0.0-rc6" }
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.8.0-rc6" }
[dev-dependencies]
-sc-basic-authorship = { path = "../../basic-authorship", version = "0.8.0-rc5" }
-substrate-test-runtime-client = { path = "../../../test-utils/runtime/client", version = "2.0.0-rc5" }
-substrate-test-runtime-transaction-pool = { path = "../../../test-utils/runtime/transaction-pool", version = "2.0.0-rc5" }
+sc-basic-authorship = { path = "../../basic-authorship", version = "0.8.0-rc6" }
+substrate-test-runtime-client = { path = "../../../test-utils/runtime/client", version = "2.0.0-rc6" }
+substrate-test-runtime-transaction-pool = { path = "../../../test-utils/runtime/transaction-pool", version = "2.0.0-rc6" }
tokio = { version = "0.2", features = ["rt-core", "macros"] }
env_logger = "0.7.0"
tempfile = "3.1.0"
diff --git a/client/consensus/manual-seal/README.md b/client/consensus/manual-seal/README.md
new file mode 100644
index 0000000000000..b355f8b73183c
--- /dev/null
+++ b/client/consensus/manual-seal/README.md
@@ -0,0 +1,4 @@
+A manual sealing engine: the engine listens for rpc calls to seal blocks and create forks.
+This is suitable for a testing environment.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/consensus/pow/Cargo.toml b/client/consensus/pow/Cargo.toml
index b72166f9ce9b2..993502972f2d0 100644
--- a/client/consensus/pow/Cargo.toml
+++ b/client/consensus/pow/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-consensus-pow"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "PoW consensus algorithm for substrate"
edition = "2018"
@@ -13,17 +13,17 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", features = ["derive"] }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-api = { version = "2.0.0-rc5", path = "../../../primitives/api" }
-sc-client-api = { version = "2.0.0-rc5", path = "../../api" }
-sp-block-builder = { version = "2.0.0-rc5", path = "../../../primitives/block-builder" }
-sp-inherents = { version = "2.0.0-rc5", path = "../../../primitives/inherents" }
-sp-consensus-pow = { version = "0.8.0-rc5", path = "../../../primitives/consensus/pow" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-api = { version = "2.0.0-rc6", path = "../../../primitives/api" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../api" }
+sp-block-builder = { version = "2.0.0-rc6", path = "../../../primitives/block-builder" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../../primitives/inherents" }
+sp-consensus-pow = { version = "0.8.0-rc6", path = "../../../primitives/consensus/pow" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
log = "0.4.8"
futures = { version = "0.3.1", features = ["compat"] }
-sp-timestamp = { version = "2.0.0-rc5", path = "../../../primitives/timestamp" }
+sp-timestamp = { version = "2.0.0-rc6", path = "../../../primitives/timestamp" }
derive_more = "0.99.2"
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.8.0-rc5"}
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.8.0-rc6"}
diff --git a/client/consensus/pow/README.md b/client/consensus/pow/README.md
new file mode 100644
index 0000000000000..a335ec367047b
--- /dev/null
+++ b/client/consensus/pow/README.md
@@ -0,0 +1,16 @@
+Proof of work consensus for Substrate.
+
+To use this engine, you can need to have a struct that implements
+`PowAlgorithm`. After that, pass an instance of the struct, along
+with other necessary client references to `import_queue` to setup
+the queue. Use the `start_mine` function for basic CPU mining.
+
+The auxiliary storage for PoW engine only stores the total difficulty.
+For other storage requirements for particular PoW algorithm (such as
+the actual difficulty for each particular blocks), you can take a client
+reference in your `PowAlgorithm` implementation, and use a separate prefix
+for the auxiliary storage. It is also possible to just use the runtime
+as the storage, but it is not recommended as it won't work well with light
+clients.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/consensus/slots/Cargo.toml b/client/consensus/slots/Cargo.toml
index 9fe82d8505365..1ba015b0801e4 100644
--- a/client/consensus/slots/Cargo.toml
+++ b/client/consensus/slots/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-consensus-slots"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Generic slots-based utilities for consensus"
edition = "2018"
@@ -14,21 +14,21 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4" }
-sc-client-api = { version = "2.0.0-rc5", path = "../../api" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-application-crypto = { version = "2.0.0-rc5", path = "../../../primitives/application-crypto" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-consensus-slots = { version = "0.8.0-rc5", path = "../../../primitives/consensus/slots" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../../primitives/state-machine" }
-sp-api = { version = "2.0.0-rc5", path = "../../../primitives/api" }
-sc-telemetry = { version = "2.0.0-rc5", path = "../../telemetry" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sp-inherents = { version = "2.0.0-rc5", path = "../../../primitives/inherents" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../api" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-application-crypto = { version = "2.0.0-rc6", path = "../../../primitives/application-crypto" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-consensus-slots = { version = "0.8.0-rc6", path = "../../../primitives/consensus/slots" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../../primitives/state-machine" }
+sp-api = { version = "2.0.0-rc6", path = "../../../primitives/api" }
+sc-telemetry = { version = "2.0.0-rc6", path = "../../telemetry" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../../primitives/inherents" }
futures = "0.3.4"
futures-timer = "3.0.1"
parking_lot = "0.10.0"
log = "0.4.8"
[dev-dependencies]
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../../test-utils/runtime/client" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../../test-utils/runtime/client" }
diff --git a/client/consensus/slots/README.md b/client/consensus/slots/README.md
new file mode 100644
index 0000000000000..9ab3c3742f330
--- /dev/null
+++ b/client/consensus/slots/README.md
@@ -0,0 +1,7 @@
+Slots functionality for Substrate.
+
+Some consensus algorithms have a concept of *slots*, which are intervals in
+time during which certain events can and/or must occur. This crate
+provides generic functionality for slots.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/consensus/uncles/Cargo.toml b/client/consensus/uncles/Cargo.toml
index 757daeea55170..106fb57b6e60d 100644
--- a/client/consensus/uncles/Cargo.toml
+++ b/client/consensus/uncles/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-consensus-uncles"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Generic uncle inclusion utilities for consensus"
edition = "2018"
@@ -12,10 +12,10 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sc-client-api = { version = "2.0.0-rc5", path = "../../api" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-authorship = { version = "2.0.0-rc5", path = "../../../primitives/authorship" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sp-inherents = { version = "2.0.0-rc5", path = "../../../primitives/inherents" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../api" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-authorship = { version = "2.0.0-rc6", path = "../../../primitives/authorship" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../../primitives/inherents" }
log = "0.4.8"
diff --git a/client/consensus/uncles/README.md b/client/consensus/uncles/README.md
new file mode 100644
index 0000000000000..1b6fed5b9772a
--- /dev/null
+++ b/client/consensus/uncles/README.md
@@ -0,0 +1,3 @@
+Uncles functionality for Substrate.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/db/Cargo.toml b/client/db/Cargo.toml
index 50e14fcaae602..28ef90cf231e2 100644
--- a/client/db/Cargo.toml
+++ b/client/db/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-client-db"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -23,23 +23,23 @@ parity-util-mem = { version = "0.7.0", default-features = false, features = ["st
codec = { package = "parity-scale-codec", version = "1.3.4", features = ["derive"] }
blake2-rfc = "0.2.18"
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sp-arithmetic = { version = "2.0.0-rc5", path = "../../primitives/arithmetic" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
-sc-executor = { version = "0.8.0-rc5", path = "../executor" }
-sc-state-db = { version = "0.8.0-rc5", path = "../state-db" }
-sp-trie = { version = "2.0.0-rc5", path = "../../primitives/trie" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../primitives/consensus/common" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
-sp-database = { version = "2.0.0-rc5", path = "../../primitives/database" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sp-arithmetic = { version = "2.0.0-rc6", path = "../../primitives/arithmetic" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
+sc-executor = { version = "0.8.0-rc6", path = "../executor" }
+sc-state-db = { version = "0.8.0-rc6", path = "../state-db" }
+sp-trie = { version = "2.0.0-rc6", path = "../../primitives/trie" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../primitives/consensus/common" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
+sp-database = { version = "2.0.0-rc6", path = "../../primitives/database" }
parity-db = { version = "0.1.2", optional = true }
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.8.0-rc5", path = "../../utils/prometheus" }
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.8.0-rc6", path = "../../utils/prometheus" }
[dev-dependencies]
-sp-keyring = { version = "2.0.0-rc5", path = "../../primitives/keyring" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../primitives/keyring" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../test-utils/runtime/client" }
env_logger = "0.7.0"
quickcheck = "0.9"
kvdb-rocksdb = "0.9"
diff --git a/client/db/README.md b/client/db/README.md
new file mode 100644
index 0000000000000..e5fb3fce1d976
--- /dev/null
+++ b/client/db/README.md
@@ -0,0 +1,11 @@
+Client backend that is backed by a database.
+
+# Canonicality vs. Finality
+
+Finality indicates that a block will not be reverted, according to the consensus algorithm,
+while canonicality indicates that the block may be reverted, but we will be unable to do so,
+having discarded heavy state that will allow a chain reorganization.
+
+Finality implies canonicality but not vice-versa.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/executor/Cargo.toml b/client/executor/Cargo.toml
index f59c89a9d70e3..c25c9479c82b8 100644
--- a/client/executor/Cargo.toml
+++ b/client/executor/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-executor"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -15,22 +15,22 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
derive_more = "0.99.2"
codec = { package = "parity-scale-codec", version = "1.3.4" }
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-trie = { version = "2.0.0-rc5", path = "../../primitives/trie" }
-sp-serializer = { version = "2.0.0-rc5", path = "../../primitives/serializer" }
-sp-version = { version = "2.0.0-rc5", path = "../../primitives/version" }
-sp-panic-handler = { version = "2.0.0-rc5", path = "../../primitives/panic-handler" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-trie = { version = "2.0.0-rc6", path = "../../primitives/trie" }
+sp-serializer = { version = "2.0.0-rc6", path = "../../primitives/serializer" }
+sp-version = { version = "2.0.0-rc6", path = "../../primitives/version" }
+sp-panic-handler = { version = "2.0.0-rc6", path = "../../primitives/panic-handler" }
wasmi = "0.6.2"
parity-wasm = "0.41.0"
lazy_static = "1.4.0"
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
-sp-wasm-interface = { version = "2.0.0-rc5", path = "../../primitives/wasm-interface" }
-sp-runtime-interface = { version = "2.0.0-rc5", path = "../../primitives/runtime-interface" }
-sp-externalities = { version = "0.8.0-rc5", path = "../../primitives/externalities" }
-sc-executor-common = { version = "0.8.0-rc5", path = "common" }
-sc-executor-wasmi = { version = "0.8.0-rc5", path = "wasmi" }
-sc-executor-wasmtime = { version = "0.8.0-rc5", path = "wasmtime", optional = true }
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api" }
+sp-wasm-interface = { version = "2.0.0-rc6", path = "../../primitives/wasm-interface" }
+sp-runtime-interface = { version = "2.0.0-rc6", path = "../../primitives/runtime-interface" }
+sp-externalities = { version = "0.8.0-rc6", path = "../../primitives/externalities" }
+sc-executor-common = { version = "0.8.0-rc6", path = "common" }
+sc-executor-wasmi = { version = "0.8.0-rc6", path = "wasmi" }
+sc-executor-wasmtime = { version = "0.8.0-rc6", path = "wasmtime", optional = true }
parking_lot = "0.10.0"
log = "0.4.8"
libsecp256k1 = "0.3.4"
@@ -39,13 +39,13 @@ libsecp256k1 = "0.3.4"
assert_matches = "1.3.0"
wabt = "0.9.2"
hex-literal = "0.2.1"
-sc-runtime-test = { version = "2.0.0-rc5", path = "runtime-test" }
-substrate-test-runtime = { version = "2.0.0-rc5", path = "../../test-utils/runtime" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
+sc-runtime-test = { version = "2.0.0-rc6", path = "runtime-test" }
+substrate-test-runtime = { version = "2.0.0-rc6", path = "../../test-utils/runtime" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
test-case = "0.3.3"
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-tracing = { version = "2.0.0-rc5", path = "../../primitives/tracing" }
-sc-tracing = { version = "2.0.0-rc5", path = "../tracing" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-tracing = { version = "2.0.0-rc6", path = "../../primitives/tracing" }
+sc-tracing = { version = "2.0.0-rc6", path = "../tracing" }
tracing = "0.1.18"
[features]
diff --git a/client/executor/README.md b/client/executor/README.md
new file mode 100644
index 0000000000000..ab7b3d45206f9
--- /dev/null
+++ b/client/executor/README.md
@@ -0,0 +1,13 @@
+A crate that provides means of executing/dispatching calls into the runtime.
+
+There are a few responsibilities of this crate at the moment:
+
+- It provides an implementation of a common entrypoint for calling into the runtime, both
+wasm and compiled.
+- It defines the environment for the wasm execution, namely the host functions that are to be
+provided into the wasm runtime module.
+- It also provides the required infrastructure for executing the current wasm runtime (specified
+by the current value of `:code` in the provided externalities), i.e. interfacing with
+wasm engine used, instance cache.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/executor/common/Cargo.toml b/client/executor/common/Cargo.toml
index 2189d89b12d71..bdbc5071323a4 100644
--- a/client/executor/common/Cargo.toml
+++ b/client/executor/common/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-executor-common"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -18,11 +18,11 @@ derive_more = "0.99.2"
parity-wasm = "0.41.0"
codec = { package = "parity-scale-codec", version = "1.3.4" }
wasmi = "0.6.2"
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-allocator = { version = "2.0.0-rc5", path = "../../../primitives/allocator" }
-sp-wasm-interface = { version = "2.0.0-rc5", path = "../../../primitives/wasm-interface" }
-sp-runtime-interface = { version = "2.0.0-rc5", path = "../../../primitives/runtime-interface" }
-sp-serializer = { version = "2.0.0-rc5", path = "../../../primitives/serializer" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-allocator = { version = "2.0.0-rc6", path = "../../../primitives/allocator" }
+sp-wasm-interface = { version = "2.0.0-rc6", path = "../../../primitives/wasm-interface" }
+sp-runtime-interface = { version = "2.0.0-rc6", path = "../../../primitives/runtime-interface" }
+sp-serializer = { version = "2.0.0-rc6", path = "../../../primitives/serializer" }
[features]
default = []
diff --git a/client/executor/common/README.md b/client/executor/common/README.md
new file mode 100644
index 0000000000000..0c0d3bf08bcb2
--- /dev/null
+++ b/client/executor/common/README.md
@@ -0,0 +1,3 @@
+A set of common definitions that are needed for defining execution engines.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/executor/runtime-test/Cargo.toml b/client/executor/runtime-test/Cargo.toml
index 9645dd90694b6..037359ac9eef6 100644
--- a/client/executor/runtime-test/Cargo.toml
+++ b/client/executor/runtime-test/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-runtime-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
build = "build.rs"
@@ -13,12 +13,12 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/io" }
-sp-sandbox = { version = "0.8.0-rc5", default-features = false, path = "../../../primitives/sandbox" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/runtime" }
-sp-allocator = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/allocator" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/io" }
+sp-sandbox = { version = "0.8.0-rc6", default-features = false, path = "../../../primitives/sandbox" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/runtime" }
+sp-allocator = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/allocator" }
[build-dependencies]
wasm-builder-runner = { version = "1.0.5", package = "substrate-wasm-builder-runner", path = "../../../utils/wasm-builder-runner" }
diff --git a/client/executor/wasmi/Cargo.toml b/client/executor/wasmi/Cargo.toml
index 74456f06671d3..14468e71fd60e 100644
--- a/client/executor/wasmi/Cargo.toml
+++ b/client/executor/wasmi/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-executor-wasmi"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -16,8 +16,8 @@ targets = ["x86_64-unknown-linux-gnu"]
log = "0.4.8"
wasmi = "0.6.2"
codec = { package = "parity-scale-codec", version = "1.3.4" }
-sc-executor-common = { version = "0.8.0-rc5", path = "../common" }
-sp-wasm-interface = { version = "2.0.0-rc5", path = "../../../primitives/wasm-interface" }
-sp-runtime-interface = { version = "2.0.0-rc5", path = "../../../primitives/runtime-interface" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-allocator = { version = "2.0.0-rc5", path = "../../../primitives/allocator" }
+sc-executor-common = { version = "0.8.0-rc6", path = "../common" }
+sp-wasm-interface = { version = "2.0.0-rc6", path = "../../../primitives/wasm-interface" }
+sp-runtime-interface = { version = "2.0.0-rc6", path = "../../../primitives/runtime-interface" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-allocator = { version = "2.0.0-rc6", path = "../../../primitives/allocator" }
diff --git a/client/executor/wasmi/README.md b/client/executor/wasmi/README.md
new file mode 100644
index 0000000000000..ad613aa1245e3
--- /dev/null
+++ b/client/executor/wasmi/README.md
@@ -0,0 +1,3 @@
+This crate provides an implementation of `WasmModule` that is baked by wasmi.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/executor/wasmtime/Cargo.toml b/client/executor/wasmtime/Cargo.toml
index 6eea4e6b14ab1..9618a659f5262 100644
--- a/client/executor/wasmtime/Cargo.toml
+++ b/client/executor/wasmtime/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-executor-wasmtime"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -16,11 +16,11 @@ log = "0.4.8"
scoped-tls = "1.0"
parity-wasm = "0.41.0"
codec = { package = "parity-scale-codec", version = "1.3.4" }
-sc-executor-common = { version = "0.8.0-rc5", path = "../common" }
-sp-wasm-interface = { version = "2.0.0-rc5", path = "../../../primitives/wasm-interface" }
-sp-runtime-interface = { version = "2.0.0-rc5", path = "../../../primitives/runtime-interface" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-allocator = { version = "2.0.0-rc5", path = "../../../primitives/allocator" }
+sc-executor-common = { version = "0.8.0-rc6", path = "../common" }
+sp-wasm-interface = { version = "2.0.0-rc6", path = "../../../primitives/wasm-interface" }
+sp-runtime-interface = { version = "2.0.0-rc6", path = "../../../primitives/runtime-interface" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-allocator = { version = "2.0.0-rc6", path = "../../../primitives/allocator" }
wasmtime = "0.19"
pwasm-utils = "0.14.0"
diff --git a/client/executor/wasmtime/README.md b/client/executor/wasmtime/README.md
new file mode 100644
index 0000000000000..3e9ac0bddbdc1
--- /dev/null
+++ b/client/executor/wasmtime/README.md
@@ -0,0 +1 @@
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/finality-grandpa/Cargo.toml b/client/finality-grandpa/Cargo.toml
index 7cd3548a7628c..b73fbbd8d1728 100644
--- a/client/finality-grandpa/Cargo.toml
+++ b/client/finality-grandpa/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-finality-grandpa"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -15,46 +15,46 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
derive_more = "0.99.2"
-fork-tree = { version = "2.0.0-rc5", path = "../../utils/fork-tree" }
+fork-tree = { version = "2.0.0-rc6", path = "../../utils/fork-tree" }
futures = "0.3.4"
futures-timer = "3.0.1"
log = "0.4.8"
parking_lot = "0.10.0"
rand = "0.7.2"
parity-scale-codec = { version = "1.3.4", features = ["derive"] }
-sp-application-crypto = { version = "2.0.0-rc5", path = "../../primitives/application-crypto" }
-sp-arithmetic = { version = "2.0.0-rc5", path = "../../primitives/arithmetic" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-utils = { version = "2.0.0-rc5", path = "../../primitives/utils" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../primitives/consensus/common" }
-sc-consensus = { version = "0.8.0-rc5", path = "../../client/consensus/common" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
-sc-telemetry = { version = "2.0.0-rc5", path = "../telemetry" }
-sc-keystore = { version = "2.0.0-rc5", path = "../keystore" }
+sp-application-crypto = { version = "2.0.0-rc6", path = "../../primitives/application-crypto" }
+sp-arithmetic = { version = "2.0.0-rc6", path = "../../primitives/arithmetic" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-utils = { version = "2.0.0-rc6", path = "../../primitives/utils" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../primitives/consensus/common" }
+sc-consensus = { version = "0.8.0-rc6", path = "../../client/consensus/common" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api" }
+sc-telemetry = { version = "2.0.0-rc6", path = "../telemetry" }
+sc-keystore = { version = "2.0.0-rc6", path = "../keystore" }
serde_json = "1.0.41"
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sp-inherents = { version = "2.0.0-rc5", path = "../../primitives/inherents" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
-sc-network = { version = "0.8.0-rc5", path = "../network" }
-sc-network-gossip = { version = "0.8.0-rc5", path = "../network-gossip" }
-sp-finality-tracker = { version = "2.0.0-rc5", path = "../../primitives/finality-tracker" }
-sp-finality-grandpa = { version = "2.0.0-rc5", path = "../../primitives/finality-grandpa" }
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc5"}
-sc-block-builder = { version = "0.8.0-rc5", path = "../block-builder" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../primitives/inherents" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
+sc-network = { version = "0.8.0-rc6", path = "../network" }
+sc-network-gossip = { version = "0.8.0-rc6", path = "../network-gossip" }
+sp-finality-tracker = { version = "2.0.0-rc6", path = "../../primitives/finality-tracker" }
+sp-finality-grandpa = { version = "2.0.0-rc6", path = "../../primitives/finality-grandpa" }
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc6"}
+sc-block-builder = { version = "0.8.0-rc6", path = "../block-builder" }
finality-grandpa = { version = "0.12.3", features = ["derive-codec"] }
pin-project = "0.4.6"
[dev-dependencies]
assert_matches = "1.3.0"
finality-grandpa = { version = "0.12.3", features = ["derive-codec", "test-helpers"] }
-sc-network = { version = "0.8.0-rc5", path = "../network" }
-sc-network-test = { version = "0.8.0-rc5", path = "../network/test" }
-sp-keyring = { version = "2.0.0-rc5", path = "../../primitives/keyring" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client" }
-sp-consensus-babe = { version = "0.8.0-rc5", path = "../../primitives/consensus/babe" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
+sc-network = { version = "0.8.0-rc6", path = "../network" }
+sc-network-test = { version = "0.8.0-rc6", path = "../network/test" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../primitives/keyring" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../test-utils/runtime/client" }
+sp-consensus-babe = { version = "0.8.0-rc6", path = "../../primitives/consensus/babe" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
env_logger = "0.7.0"
tokio = { version = "0.2", features = ["rt-core"] }
tempfile = "3.1.0"
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api" }
diff --git a/client/finality-grandpa/README.md b/client/finality-grandpa/README.md
new file mode 100644
index 0000000000000..64a7e70bc6a52
--- /dev/null
+++ b/client/finality-grandpa/README.md
@@ -0,0 +1,39 @@
+Integration of the GRANDPA finality gadget into substrate.
+
+This crate is unstable and the API and usage may change.
+
+This crate provides a long-running future that produces finality notifications.
+
+# Usage
+
+First, create a block-import wrapper with the `block_import` function. The
+GRANDPA worker needs to be linked together with this block import object, so
+a `LinkHalf` is returned as well. All blocks imported (from network or
+consensus or otherwise) must pass through this wrapper, otherwise consensus
+is likely to break in unexpected ways.
+
+Next, use the `LinkHalf` and a local configuration to `run_grandpa_voter`.
+This requires a `Network` implementation. The returned future should be
+driven to completion and will finalize blocks in the background.
+
+# Changing authority sets
+
+The rough idea behind changing authority sets in GRANDPA is that at some point,
+we obtain agreement for some maximum block height that the current set can
+finalize, and once a block with that height is finalized the next set will
+pick up finalization from there.
+
+Technically speaking, this would be implemented as a voting rule which says,
+"if there is a signal for a change in N blocks in block B, only vote on
+chains with length NUM(B) + N if they contain B". This conditional-inclusion
+logic is complex to compute because it requires looking arbitrarily far
+back in the chain.
+
+Instead, we keep track of a list of all signals we've seen so far (across
+all forks), sorted ascending by the block number they would be applied at.
+We never vote on chains with number higher than the earliest handoff block
+number (this is num(signal) + N). When finalizing a block, we either apply
+or prune any signaled changes based on whether the signaling block is
+included in the newly-finalized chain.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/finality-grandpa/rpc/Cargo.toml b/client/finality-grandpa/rpc/Cargo.toml
index ca405eaec9dcb..28197405c8db7 100644
--- a/client/finality-grandpa/rpc/Cargo.toml
+++ b/client/finality-grandpa/rpc/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-finality-grandpa-rpc"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "RPC extensions for the GRANDPA finality gadget"
repository = "https://github.com/paritytech/substrate/"
@@ -8,9 +8,9 @@ edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
[dependencies]
-sc-rpc = { version = "2.0.0-rc5", path = "../../rpc" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sc-finality-grandpa = { version = "0.8.0-rc5", path = "../" }
+sc-rpc = { version = "2.0.0-rc6", path = "../../rpc" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sc-finality-grandpa = { version = "0.8.0-rc6", path = "../" }
finality-grandpa = { version = "0.12.3", features = ["derive-codec"] }
jsonrpc-core = "14.2.0"
jsonrpc-core-client = "14.2.0"
@@ -24,13 +24,13 @@ derive_more = "0.99.2"
parity-scale-codec = { version = "1.3.0", features = ["derive"] }
[dev-dependencies]
-sc-block-builder = { version = "0.8.0-rc5", path = "../../block-builder" }
-sc-network-test = { version = "0.8.0-rc5", path = "../../network/test" }
-sc-rpc = { version = "2.0.0-rc5", path = "../../rpc", features = ["test-helpers"] }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-finality-grandpa = { version = "2.0.0-rc5", path = "../../../primitives/finality-grandpa" }
-sp-keyring = { version = "2.0.0-rc5", path = "../../../primitives/keyring" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../../test-utils/runtime/client" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../../block-builder" }
+sc-network-test = { version = "0.8.0-rc6", path = "../../network/test" }
+sc-rpc = { version = "2.0.0-rc6", path = "../../rpc", features = ["test-helpers"] }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-finality-grandpa = { version = "2.0.0-rc6", path = "../../../primitives/finality-grandpa" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../../primitives/keyring" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../../test-utils/runtime/client" }
lazy_static = "1.4"
diff --git a/client/finality-grandpa/rpc/README.md b/client/finality-grandpa/rpc/README.md
new file mode 100644
index 0000000000000..0007f55dbd4db
--- /dev/null
+++ b/client/finality-grandpa/rpc/README.md
@@ -0,0 +1,3 @@
+RPC API for GRANDPA.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/informant/Cargo.toml b/client/informant/Cargo.toml
index 917052041ba38..6e6dc01f91e53 100644
--- a/client/informant/Cargo.toml
+++ b/client/informant/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-informant"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Substrate informant."
edition = "2018"
@@ -16,10 +16,10 @@ ansi_term = "0.12.1"
futures = "0.3.4"
log = "0.4.8"
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sc-network = { version = "0.8.0-rc5", path = "../network" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sc-network = { version = "0.8.0-rc6", path = "../network" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
sp-utils = { version = "2.0.0-rc2", path = "../../primitives/utils" }
sp-transaction-pool = { version = "2.0.0-rc2", path = "../../primitives/transaction-pool" }
wasm-timer = "0.2"
diff --git a/client/informant/README.md b/client/informant/README.md
new file mode 100644
index 0000000000000..b494042590a42
--- /dev/null
+++ b/client/informant/README.md
@@ -0,0 +1,3 @@
+Console informant. Prints sync progress and block events. Runs on the calling thread.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/keystore/Cargo.toml b/client/keystore/Cargo.toml
index 0fe4ab5a9ba0e..004d829bbfa0e 100644
--- a/client/keystore/Cargo.toml
+++ b/client/keystore/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-keystore"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -15,8 +15,8 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
derive_more = "0.99.2"
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-application-crypto = { version = "2.0.0-rc5", path = "../../primitives/application-crypto" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-application-crypto = { version = "2.0.0-rc6", path = "../../primitives/application-crypto" }
hex = "0.4.0"
merlin = { version = "2.0", default-features = false }
parking_lot = "0.10.0"
diff --git a/client/keystore/README.md b/client/keystore/README.md
new file mode 100644
index 0000000000000..9946a61d6fde6
--- /dev/null
+++ b/client/keystore/README.md
@@ -0,0 +1,3 @@
+Keystore (and session key management) for ed25519 based chains like Polkadot.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/light/Cargo.toml b/client/light/Cargo.toml
index 53e84ae318641..23b306d178e37 100644
--- a/client/light/Cargo.toml
+++ b/client/light/Cargo.toml
@@ -1,7 +1,7 @@
[package]
description = "components for a light client"
name = "sc-light"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
authors = ["Parity Technologies "]
edition = "2018"
diff --git a/client/light/README.md b/client/light/README.md
new file mode 100644
index 0000000000000..1ba1f155b1652
--- /dev/null
+++ b/client/light/README.md
@@ -0,0 +1,3 @@
+Light client components.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/network-gossip/Cargo.toml b/client/network-gossip/Cargo.toml
index 90d606238b6a5..7af59a68dfe41 100644
--- a/client/network-gossip/Cargo.toml
+++ b/client/network-gossip/Cargo.toml
@@ -1,7 +1,7 @@
[package]
description = "Gossiping for the Substrate network protocol"
name = "sc-network-gossip"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
authors = ["Parity Technologies "]
edition = "2018"
@@ -19,12 +19,12 @@ futures-timer = "3.0.1"
libp2p = { version = "0.23.0", default-features = false }
log = "0.4.8"
lru = "0.4.3"
-sc-network = { version = "0.8.0-rc5", path = "../network" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
+sc-network = { version = "0.8.0-rc6", path = "../network" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
wasm-timer = "0.2"
[dev-dependencies]
async-std = "1.6.2"
quickcheck = "0.9.0"
rand = "0.7.2"
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../test-utils/runtime/client" }
diff --git a/client/network-gossip/README.md b/client/network-gossip/README.md
new file mode 100644
index 0000000000000..9030fac056407
--- /dev/null
+++ b/client/network-gossip/README.md
@@ -0,0 +1,41 @@
+Polite gossiping.
+
+This crate provides gossiping capabilities on top of a network.
+
+Gossip messages are separated by two categories: "topics" and consensus engine ID.
+The consensus engine ID is sent over the wire with the message, while the topic is not,
+with the expectation that the topic can be derived implicitly from the content of the
+message, assuming it is valid.
+
+Topics are a single 32-byte tag associated with a message, used to group those messages
+in an opaque way. Consensus code can invoke `broadcast_topic` to attempt to send all messages
+under a single topic to all peers who don't have them yet, and `send_topic` to
+send all messages under a single topic to a specific peer.
+
+# Usage
+
+- Implement the `Network` trait, representing the low-level networking primitives. It is
+ already implemented on `sc_network::NetworkService`.
+- Implement the `Validator` trait. See the section below.
+- Decide on a `ConsensusEngineId`. Each gossiping protocol should have a different one.
+- Build a `GossipEngine` using these three elements.
+- Use the methods of the `GossipEngine` in order to send out messages and receive incoming
+ messages.
+
+# What is a validator?
+
+The primary role of a `Validator` is to process incoming messages from peers, and decide
+whether to discard them or process them. It also decides whether to re-broadcast the message.
+
+The secondary role of the `Validator` is to check if a message is allowed to be sent to a given
+peer. All messages, before being sent, will be checked against this filter.
+This enables the validator to use information it's aware of about connected peers to decide
+whether to send messages to them at any given moment in time - In particular, to wait until
+peers can accept and process the message before sending it.
+
+Lastly, the fact that gossip validators can decide not to rebroadcast messages
+opens the door for neighbor status packets to be baked into the gossip protocol.
+These status packets will typically contain light pieces of information
+used to inform peers of a current view of protocol state.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/network/Cargo.toml b/client/network/Cargo.toml
index de4f484535e94..a5020507b504d 100644
--- a/client/network/Cargo.toml
+++ b/client/network/Cargo.toml
@@ -1,7 +1,7 @@
[package]
description = "Substrate network protocol"
name = "sc-network"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
authors = ["Parity Technologies "]
edition = "2018"
@@ -25,7 +25,7 @@ derive_more = "0.99.2"
either = "1.5.3"
erased-serde = "0.3.9"
fnv = "1.0.6"
-fork-tree = { version = "2.0.0-rc5", path = "../../utils/fork-tree" }
+fork-tree = { version = "2.0.0-rc6", path = "../../utils/fork-tree" }
futures = "0.3.4"
futures-timer = "3.0.2"
futures_codec = "0.4.0"
@@ -38,23 +38,23 @@ lru = "0.4.0"
nohash-hasher = "0.2.0"
parking_lot = "0.10.0"
pin-project = "0.4.6"
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.8.0-rc5", path = "../../utils/prometheus" }
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.8.0-rc6", path = "../../utils/prometheus" }
prost = "0.6.1"
rand = "0.7.2"
-sc-block-builder = { version = "0.8.0-rc5", path = "../block-builder" }
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sc-peerset = { version = "2.0.0-rc5", path = "../peerset" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../block-builder" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sc-peerset = { version = "2.0.0-rc6", path = "../peerset" }
serde = { version = "1.0.101", features = ["derive"] }
serde_json = "1.0.41"
slog = { version = "2.5.2", features = ["nested-values"] }
slog_derive = "0.2.0"
smallvec = "0.6.10"
-sp-arithmetic = { version = "2.0.0-rc5", path = "../../primitives/arithmetic" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../primitives/consensus/common" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-utils = { version = "2.0.0-rc5", path = "../../primitives/utils" }
+sp-arithmetic = { version = "2.0.0-rc6", path = "../../primitives/arithmetic" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../primitives/consensus/common" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-utils = { version = "2.0.0-rc6", path = "../../primitives/utils" }
thiserror = "1"
unsigned-varint = { version = "0.4.0", features = ["futures", "futures-codec"] }
void = "1.0.2"
@@ -72,10 +72,10 @@ env_logger = "0.7.0"
libp2p = { version = "0.23.0", default-features = false, features = ["secio"] }
quickcheck = "0.9.0"
rand = "0.7.2"
-sp-keyring = { version = "2.0.0-rc5", path = "../../primitives/keyring" }
-sp-test-primitives = { version = "2.0.0-rc5", path = "../../primitives/test-primitives" }
-substrate-test-runtime = { version = "2.0.0-rc5", path = "../../test-utils/runtime" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../primitives/keyring" }
+sp-test-primitives = { version = "2.0.0-rc6", path = "../../primitives/test-primitives" }
+substrate-test-runtime = { version = "2.0.0-rc6", path = "../../test-utils/runtime" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../test-utils/runtime/client" }
tempfile = "3.1.0"
[features]
diff --git a/client/network/README.md b/client/network/README.md
new file mode 100644
index 0000000000000..e0bd691043bee
--- /dev/null
+++ b/client/network/README.md
@@ -0,0 +1,226 @@
+Substrate-specific P2P networking.
+
+**Important**: This crate is unstable and the API and usage may change.
+
+# Node identities and addresses
+
+In a decentralized network, each node possesses a network private key and a network public key.
+In Substrate, the keys are based on the ed25519 curve.
+
+From a node's public key, we can derive its *identity*. In Substrate and libp2p, a node's
+identity is represented with the [`PeerId`] struct. All network communications between nodes on
+the network use encryption derived from both sides's keys, which means that **identities cannot
+be faked**.
+
+A node's identity uniquely identifies a machine on the network. If you start two or more
+clients using the same network key, large interferences will happen.
+
+# Substrate's network protocol
+
+Substrate's networking protocol is based upon libp2p. It is at the moment not possible and not
+planned to permit using something else than the libp2p network stack and the rust-libp2p
+library. However the libp2p framework is very flexible and the rust-libp2p library could be
+extended to support a wider range of protocols than what is offered by libp2p.
+
+## Discovery mechanisms
+
+In order for our node to join a peer-to-peer network, it has to know a list of nodes that are
+part of said network. This includes nodes identities and their address (how to reach them).
+Building such a list is called the **discovery** mechanism. There are three mechanisms that
+Substrate uses:
+
+- Bootstrap nodes. These are hard-coded node identities and addresses passed alongside with
+the network configuration.
+- mDNS. We perform a UDP broadcast on the local network. Nodes that listen may respond with
+their identity. More info [here](https://github.com/libp2p/specs/blob/master/discovery/mdns.md).
+mDNS can be disabled in the network configuration.
+- Kademlia random walk. Once connected, we perform random Kademlia `FIND_NODE` requests on the
+configured Kademlia DHTs (one per configured chain protocol) in order for nodes to propagate to
+us their view of the network. More information about Kademlia can be found [on
+Wikipedia](https://en.wikipedia.org/wiki/Kademlia).
+
+## Connection establishment
+
+When node Alice knows node Bob's identity and address, it can establish a connection with Bob.
+All connections must always use encryption and multiplexing. While some node addresses (eg.
+addresses using `/quic`) already imply which encryption and/or multiplexing to use, for others
+the **multistream-select** protocol is used in order to negotiate an encryption layer and/or a
+multiplexing layer.
+
+The connection establishment mechanism is called the **transport**.
+
+As of the writing of this documentation, the following base-layer protocols are supported by
+Substrate:
+
+- TCP/IP for addresses of the form `/ip4/1.2.3.4/tcp/5`. Once the TCP connection is open, an
+encryption and a multiplexing layer are negotiated on top.
+- WebSockets for addresses of the form `/ip4/1.2.3.4/tcp/5/ws`. A TCP/IP connection is open and
+the WebSockets protocol is negotiated on top. Communications then happen inside WebSockets data
+frames. Encryption and multiplexing are additionally negotiated again inside this channel.
+- DNS for addresses of the form `/dns/example.com/tcp/5` or `/dns/example.com/tcp/5/ws`. A
+node's address can contain a domain name.
+- (All of the above using IPv6 instead of IPv4.)
+
+On top of the base-layer protocol, the [Noise](https://noiseprotocol.org/) protocol is
+negotiated and applied. The exact handshake protocol is experimental and is subject to change.
+
+The following multiplexing protocols are supported:
+
+- [Mplex](https://github.com/libp2p/specs/tree/master/mplex). Support for mplex will likely
+be deprecated in the future.
+- [Yamux](https://github.com/hashicorp/yamux/blob/master/spec.md).
+
+## Substreams
+
+Once a connection has been established and uses multiplexing, substreams can be opened. When
+a substream is open, the **multistream-select** protocol is used to negotiate which protocol
+to use on that given substream.
+
+Protocols that are specific to a certain chain have a `` in their name. This
+"protocol ID" is defined in the chain specifications. For example, the protocol ID of Polkadot
+is "dot". In the protocol names below, `` must be replaced with the corresponding
+protocol ID.
+
+> **Note**: It is possible for the same connection to be used for multiple chains. For example,
+> one can use both the `/dot/sync/2` and `/sub/sync/2` protocols on the same
+> connection, provided that the remote supports them.
+
+Substrate uses the following standard libp2p protocols:
+
+- **`/ipfs/ping/1.0.0`**. We periodically open an ephemeral substream in order to ping the
+remote and check whether the connection is still alive. Failure for the remote to reply leads
+to a disconnection.
+- **[`/ipfs/id/1.0.0`](https://github.com/libp2p/specs/tree/master/identify)**. We
+periodically open an ephemeral substream in order to ask information from the remote.
+- **[`//kad`](https://github.com/libp2p/specs/pull/108)**. We periodically open
+ephemeral substreams for Kademlia random walk queries. Each Kademlia query is done in a
+separate substream.
+
+Additionally, Substrate uses the following non-libp2p-standard protocols:
+
+- **`/substrate//`** (where `` must be replaced with the
+protocol ID of the targeted chain, and `` is a number between 2 and 6). For each
+connection we optionally keep an additional substream for all Substrate-based communications alive.
+This protocol is considered legacy, and is progressively being replaced with alternatives.
+This is designated as "The legacy Substrate substream" in this documentation. See below for
+more details.
+- **`//sync/2`** is a request-response protocol (see below) that lets one perform
+requests for information about blocks. Each request is the encoding of a `BlockRequest` and
+each response is the encoding of a `BlockResponse`, as defined in the `api.v1.proto` file in
+this source tree.
+- **`//light/2`** is a request-response protocol (see below) that lets one perform
+light-client-related requests for information about the state. Each request is the encoding of
+a `light::Request` and each response is the encoding of a `light::Response`, as defined in the
+`light.v1.proto` file in this source tree.
+- **`//transactions/1`** is a notifications protocol (see below) where
+transactions are pushed to other nodes. The handshake is empty on both sides. The message
+format is a SCALE-encoded list of transactions, where each transaction is an opaque list of
+bytes.
+- **`//block-announces/1`** is a notifications protocol (see below) where
+block announces are pushed to other nodes. The handshake is empty on both sides. The message
+format is a SCALE-encoded tuple containing a block header followed with an opaque list of
+bytes containing some data associated with this block announcement, e.g. a candidate message.
+- Notifications protocols that are registered using the `register_notifications_protocol`
+method. For example: `/paritytech/grandpa/1`. See below for more information.
+
+## The legacy Substrate substream
+
+Substrate uses a component named the **peerset manager (PSM)**. Through the discovery
+mechanism, the PSM is aware of the nodes that are part of the network and decides which nodes
+we should perform Substrate-based communications with. For these nodes, we open a connection
+if necessary and open a unique substream for Substrate-based communications. If the PSM decides
+that we should disconnect a node, then that substream is closed.
+
+For more information about the PSM, see the *sc-peerset* crate.
+
+Note that at the moment there is no mechanism in place to solve the issues that arise where the
+two sides of a connection open the unique substream simultaneously. In order to not run into
+issues, only the dialer of a connection is allowed to open the unique substream. When the
+substream is closed, the entire connection is closed as well. This is a bug that will be
+resolved by deprecating the protocol entirely.
+
+Within the unique Substrate substream, messages encoded using
+[*parity-scale-codec*](https://github.com/paritytech/parity-scale-codec) are exchanged.
+The detail of theses messages is not totally in place, but they can be found in the
+`message.rs` file.
+
+Once the substream is open, the first step is an exchange of a *status* message from both
+sides, containing information such as the chain root hash, head of chain, and so on.
+
+Communications within this substream include:
+
+- Syncing. Blocks are announced and requested from other nodes.
+- Light-client requests. When a light client requires information, a random node we have a
+substream open with is chosen, and the information is requested from it.
+- Gossiping. Used for example by grandpa.
+
+## Request-response protocols
+
+A so-called request-response protocol is defined as follow:
+
+- When a substream is opened, the opening side sends a message whose content is
+protocol-specific. The message must be prefixed with an
+[LEB128-encoded number](https://en.wikipedia.org/wiki/LEB128) indicating its length. After the
+message has been sent, the writing side is closed.
+- The remote sends back the response prefixed with a LEB128-encoded length, and closes its
+side as well.
+
+Each request is performed in a new separate substream.
+
+## Notifications protocols
+
+A so-called notifications protocol is defined as follow:
+
+- When a substream is opened, the opening side sends a handshake message whose content is
+protocol-specific. The handshake message must be prefixed with an
+[LEB128-encoded number](https://en.wikipedia.org/wiki/LEB128) indicating its length. The
+handshake message can be of length 0, in which case the sender has to send a single `0`.
+- The receiver then either immediately closes the substream, or answers with its own
+LEB128-prefixed protocol-specific handshake response. The message can be of length 0, in which
+case a single `0` has to be sent back.
+- Once the handshake has completed, the notifications protocol is unidirectional. Only the
+node which initiated the substream can push notifications. If the remote wants to send
+notifications as well, it has to open its own undirectional substream.
+- Each notification must be prefixed with an LEB128-encoded length. The encoding of the
+messages is specific to each protocol.
+- Either party can signal that it doesn't want a notifications substream anymore by closing
+its writing side. The other party should respond by closing its own writing side soon after.
+
+The API of `sc-network` allows one to register user-defined notification protocols.
+`sc-network` automatically tries to open a substream towards each node for which the legacy
+Substream substream is open. The handshake is then performed automatically.
+
+For example, the `sc-finality-grandpa` crate registers the `/paritytech/grandpa/1`
+notifications protocol.
+
+At the moment, for backwards-compatibility, notification protocols are tied to the legacy
+Substrate substream. Additionally, the handshake message is hardcoded to be a single 8-bits
+integer representing the role of the node:
+
+- 1 for a full node.
+- 2 for a light node.
+- 4 for an authority.
+
+In the future, though, these restrictions will be removed.
+
+# Usage
+
+Using the `sc-network` crate is done through the [`NetworkWorker`] struct. Create this
+struct by passing a [`config::Params`], then poll it as if it was a `Future`. You can extract an
+`Arc` from the `NetworkWorker`, which can be shared amongst multiple places
+in order to give orders to the networking.
+
+See the [`config`] module for more information about how to configure the networking.
+
+After the `NetworkWorker` has been created, the important things to do are:
+
+- Calling `NetworkWorker::poll` in order to advance the network. This can be done by
+dispatching a background task with the [`NetworkWorker`].
+- Calling `on_block_import` whenever a block is added to the client.
+- Calling `on_block_finalized` whenever a block is finalized.
+- Calling `trigger_repropagate` when a transaction is added to the pool.
+
+More precise usage details are still being worked on and will likely change in the future.
+
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/network/test/Cargo.toml b/client/network/test/Cargo.toml
index 7c157ce1c608e..f9e7ec4c89ec6 100644
--- a/client/network/test/Cargo.toml
+++ b/client/network/test/Cargo.toml
@@ -1,7 +1,7 @@
[package]
description = "Integration tests for Substrate network protocol"
name = "sc-network-test"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
authors = ["Parity Technologies "]
edition = "2018"
@@ -13,23 +13,23 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sc-network = { version = "0.8.0-rc5", path = "../" }
+sc-network = { version = "0.8.0-rc6", path = "../" }
log = "0.4.8"
parking_lot = "0.10.0"
futures = "0.3.4"
futures-timer = "3.0.1"
rand = "0.7.2"
libp2p = { version = "0.23.0", default-features = false }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sc-consensus = { version = "0.8.0-rc5", path = "../../../client/consensus/common" }
-sc-client-api = { version = "2.0.0-rc5", path = "../../api" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sc-block-builder = { version = "0.8.0-rc5", path = "../../block-builder" }
-sp-consensus-babe = { version = "0.8.0-rc5", path = "../../../primitives/consensus/babe" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sc-consensus = { version = "0.8.0-rc6", path = "../../../client/consensus/common" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../api" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../../block-builder" }
+sp-consensus-babe = { version = "0.8.0-rc6", path = "../../../primitives/consensus/babe" }
env_logger = "0.7.0"
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../../test-utils/runtime/client" }
-substrate-test-runtime = { version = "2.0.0-rc5", path = "../../../test-utils/runtime" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../../test-utils/runtime/client" }
+substrate-test-runtime = { version = "2.0.0-rc6", path = "../../../test-utils/runtime" }
tempfile = "3.1.0"
-sc-service = { version = "0.8.0-rc5", default-features = false, features = ["test-helpers"], path = "../../service" }
+sc-service = { version = "0.8.0-rc6", default-features = false, features = ["test-helpers"], path = "../../service" }
diff --git a/client/offchain/Cargo.toml b/client/offchain/Cargo.toml
index ef2b00daab4d3..9f574ff9ebe46 100644
--- a/client/offchain/Cargo.toml
+++ b/client/offchain/Cargo.toml
@@ -1,7 +1,7 @@
[package]
description = "Substrate offchain workers"
name = "sc-offchain"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
authors = ["Parity Technologies "]
edition = "2018"
@@ -13,23 +13,23 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
bytes = "0.5"
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api" }
fnv = "1.0.6"
futures = "0.3.4"
futures-timer = "3.0.1"
log = "0.4.8"
threadpool = "1.7"
num_cpus = "1.10"
-sp-offchain = { version = "2.0.0-rc5", path = "../../primitives/offchain" }
+sp-offchain = { version = "2.0.0-rc6", path = "../../primitives/offchain" }
codec = { package = "parity-scale-codec", version = "1.3.4", features = ["derive"] }
parking_lot = "0.10.0"
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
rand = "0.7.2"
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-utils = { version = "2.0.0-rc5", path = "../../primitives/utils" }
-sc-network = { version = "0.8.0-rc5", path = "../network" }
-sc-keystore = { version = "2.0.0-rc5", path = "../keystore" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-utils = { version = "2.0.0-rc6", path = "../../primitives/utils" }
+sc-network = { version = "0.8.0-rc6", path = "../network" }
+sc-keystore = { version = "2.0.0-rc6", path = "../keystore" }
[target.'cfg(not(target_os = "unknown"))'.dependencies]
hyper = "0.13.2"
@@ -37,10 +37,10 @@ hyper-rustls = "0.21.0"
[dev-dependencies]
env_logger = "0.7.0"
-sc-client-db = { version = "0.8.0-rc5", default-features = true, path = "../db/" }
-sc-transaction-pool = { version = "2.0.0-rc5", path = "../../client/transaction-pool" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../primitives/transaction-pool" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client" }
+sc-client-db = { version = "0.8.0-rc6", default-features = true, path = "../db/" }
+sc-transaction-pool = { version = "2.0.0-rc6", path = "../../client/transaction-pool" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../primitives/transaction-pool" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../test-utils/runtime/client" }
tokio = "0.2"
lazy_static = "1.4.0"
diff --git a/client/offchain/README.md b/client/offchain/README.md
new file mode 100644
index 0000000000000..f7c097e8e0b2a
--- /dev/null
+++ b/client/offchain/README.md
@@ -0,0 +1,18 @@
+Substrate offchain workers.
+
+The offchain workers is a special function of the runtime that
+gets executed after block is imported. During execution
+it's able to asynchronously submit extrinsics that will either
+be propagated to other nodes or added to the next block
+produced by the node as unsigned transactions.
+
+Offchain workers can be used for computation-heavy tasks
+that are not feasible for execution during regular block processing.
+It can either be tasks that no consensus is required for,
+or some form of consensus over the data can be built on-chain
+for instance via:
+1. Challenge period for incorrect computations
+2. Majority voting for results
+3. etc
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/peerset/Cargo.toml b/client/peerset/Cargo.toml
index 8a9aa0adb1807..550217c2b06e1 100644
--- a/client/peerset/Cargo.toml
+++ b/client/peerset/Cargo.toml
@@ -3,7 +3,7 @@ description = "Connectivity manager based on reputation"
homepage = "http://parity.io"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
name = "sc-peerset"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
repository = "https://github.com/paritytech/substrate/"
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
futures = "0.3.4"
libp2p = { version = "0.23.0", default-features = false }
-sp-utils = { version = "2.0.0-rc5", path = "../../primitives/utils"}
+sp-utils = { version = "2.0.0-rc6", path = "../../primitives/utils"}
log = "0.4.8"
serde_json = "1.0.41"
wasm-timer = "0.2"
diff --git a/client/peerset/README.md b/client/peerset/README.md
new file mode 100644
index 0000000000000..1b54c52001caf
--- /dev/null
+++ b/client/peerset/README.md
@@ -0,0 +1,4 @@
+Peer Set Manager (PSM). Contains the strategy for choosing which nodes the network should be
+connected to.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/proposer-metrics/Cargo.toml b/client/proposer-metrics/Cargo.toml
index 8427786919f77..5708a970a1b4e 100644
--- a/client/proposer-metrics/Cargo.toml
+++ b/client/proposer-metrics/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-proposer-metrics"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -13,4 +13,4 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
log = "0.4.8"
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc5"}
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc6"}
diff --git a/client/proposer-metrics/README.md b/client/proposer-metrics/README.md
new file mode 100644
index 0000000000000..9669c7d35191d
--- /dev/null
+++ b/client/proposer-metrics/README.md
@@ -0,0 +1,3 @@
+Prometheus basic proposer metrics.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/rpc-api/Cargo.toml b/client/rpc-api/Cargo.toml
index 7701befbf71a4..95080911320d1 100644
--- a/client/rpc-api/Cargo.toml
+++ b/client/rpc-api/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-rpc-api"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -21,11 +21,11 @@ jsonrpc-derive = "14.2.1"
jsonrpc-pubsub = "14.2.0"
log = "0.4.8"
parking_lot = "0.10.0"
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-version = { version = "2.0.0-rc5", path = "../../primitives/version" }
-sp-runtime = { path = "../../primitives/runtime" , version = "2.0.0-rc5"}
-sp-chain-spec = { path = "../../primitives/chain-spec" , version = "2.0.0-rc5"}
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-version = { version = "2.0.0-rc6", path = "../../primitives/version" }
+sp-runtime = { path = "../../primitives/runtime" , version = "2.0.0-rc6"}
+sp-chain-spec = { path = "../../primitives/chain-spec" , version = "2.0.0-rc6"}
serde = { version = "1.0.101", features = ["derive"] }
serde_json = "1.0.41"
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../primitives/transaction-pool" }
-sp-rpc = { version = "2.0.0-rc5", path = "../../primitives/rpc" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../primitives/transaction-pool" }
+sp-rpc = { version = "2.0.0-rc6", path = "../../primitives/rpc" }
diff --git a/client/rpc-api/README.md b/client/rpc-api/README.md
new file mode 100644
index 0000000000000..e860e0c2334da
--- /dev/null
+++ b/client/rpc-api/README.md
@@ -0,0 +1,5 @@
+Substrate RPC interfaces.
+
+A collection of RPC methods and subscriptions supported by all substrate clients.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/rpc-servers/Cargo.toml b/client/rpc-servers/Cargo.toml
index f6a1b470249ef..3af5cdd039d8b 100644
--- a/client/rpc-servers/Cargo.toml
+++ b/client/rpc-servers/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-rpc-server"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -17,7 +17,7 @@ pubsub = { package = "jsonrpc-pubsub", version = "14.2.0" }
log = "0.4.8"
serde = "1.0.101"
serde_json = "1.0.41"
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
[target.'cfg(not(target_os = "unknown"))'.dependencies]
http = { package = "jsonrpc-http-server", version = "14.2.0" }
diff --git a/client/rpc-servers/README.md b/client/rpc-servers/README.md
new file mode 100644
index 0000000000000..cf00b3169a627
--- /dev/null
+++ b/client/rpc-servers/README.md
@@ -0,0 +1,3 @@
+Substrate RPC servers.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/rpc/Cargo.toml b/client/rpc/Cargo.toml
index 5681672cc3457..fe4a02aa83f2c 100644
--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-rpc"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -12,29 +12,29 @@ description = "Substrate Client RPC"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sc-rpc-api = { version = "0.8.0-rc5", path = "../rpc-api" }
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
+sc-rpc-api = { version = "0.8.0-rc6", path = "../rpc-api" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api" }
codec = { package = "parity-scale-codec", version = "1.3.4" }
futures = { version = "0.3.1", features = ["compat"] }
jsonrpc-pubsub = "14.2.0"
log = "0.4.8"
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
rpc = { package = "jsonrpc-core", version = "14.2.0" }
-sp-version = { version = "2.0.0-rc5", path = "../../primitives/version" }
+sp-version = { version = "2.0.0-rc6", path = "../../primitives/version" }
serde_json = "1.0.41"
-sp-session = { version = "2.0.0-rc5", path = "../../primitives/session" }
-sp-offchain = { version = "2.0.0-rc5", path = "../../primitives/offchain" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-utils = { version = "2.0.0-rc5", path = "../../primitives/utils" }
-sp-rpc = { version = "2.0.0-rc5", path = "../../primitives/rpc" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
-sp-chain-spec = { version = "2.0.0-rc5", path = "../../primitives/chain-spec" }
-sc-executor = { version = "0.8.0-rc5", path = "../executor" }
-sc-block-builder = { version = "0.8.0-rc5", path = "../../client/block-builder" }
-sc-keystore = { version = "2.0.0-rc5", path = "../keystore" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../primitives/transaction-pool" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
+sp-session = { version = "2.0.0-rc6", path = "../../primitives/session" }
+sp-offchain = { version = "2.0.0-rc6", path = "../../primitives/offchain" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-utils = { version = "2.0.0-rc6", path = "../../primitives/utils" }
+sp-rpc = { version = "2.0.0-rc6", path = "../../primitives/rpc" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
+sp-chain-spec = { version = "2.0.0-rc6", path = "../../primitives/chain-spec" }
+sc-executor = { version = "0.8.0-rc6", path = "../executor" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../../client/block-builder" }
+sc-keystore = { version = "2.0.0-rc6", path = "../keystore" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../primitives/transaction-pool" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
hash-db = { version = "0.15.2", default-features = false }
parking_lot = "0.10.0"
lazy_static = { version = "1.4.0", optional = true }
@@ -42,11 +42,11 @@ lazy_static = { version = "1.4.0", optional = true }
[dev-dependencies]
assert_matches = "1.3.0"
futures01 = { package = "futures", version = "0.1.29" }
-sc-network = { version = "0.8.0-rc5", path = "../network" }
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client" }
+sc-network = { version = "0.8.0-rc6", path = "../network" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../test-utils/runtime/client" }
tokio = "0.1.22"
-sc-transaction-pool = { version = "2.0.0-rc5", path = "../transaction-pool" }
+sc-transaction-pool = { version = "2.0.0-rc6", path = "../transaction-pool" }
[features]
test-helpers = ["lazy_static"]
diff --git a/client/rpc/README.md b/client/rpc/README.md
new file mode 100644
index 0000000000000..6066af4da71a3
--- /dev/null
+++ b/client/rpc/README.md
@@ -0,0 +1,5 @@
+Substrate RPC implementation.
+
+A core implementation of Substrate RPC interfaces.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/service/Cargo.toml b/client/service/Cargo.toml
index 6462549403b6f..fc4d3298a41d5 100644
--- a/client/service/Cargo.toml
+++ b/client/service/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-service"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -40,39 +40,39 @@ pin-project = "0.4.8"
hash-db = "0.15.2"
serde = "1.0.101"
serde_json = "1.0.41"
-sc-keystore = { version = "2.0.0-rc5", path = "../keystore" }
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-trie = { version = "2.0.0-rc5", path = "../../primitives/trie" }
-sp-externalities = { version = "0.8.0-rc5", path = "../../primitives/externalities" }
-sp-utils = { version = "2.0.0-rc5", path = "../../primitives/utils" }
-sp-version = { version = "2.0.0-rc5", path = "../../primitives/version" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-session = { version = "2.0.0-rc5", path = "../../primitives/session" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
-sp-application-crypto = { version = "2.0.0-rc5", path = "../../primitives/application-crypto" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../primitives/consensus/common" }
-sp-inherents = { version = "2.0.0-rc5", path = "../../primitives/inherents" }
-sc-network = { version = "0.8.0-rc5", path = "../network" }
-sc-chain-spec = { version = "2.0.0-rc5", path = "../chain-spec" }
-sc-light = { version = "2.0.0-rc5", path = "../light" }
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
-sc-client-db = { version = "0.8.0-rc5", default-features = false, path = "../db" }
+sc-keystore = { version = "2.0.0-rc6", path = "../keystore" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-trie = { version = "2.0.0-rc6", path = "../../primitives/trie" }
+sp-externalities = { version = "0.8.0-rc6", path = "../../primitives/externalities" }
+sp-utils = { version = "2.0.0-rc6", path = "../../primitives/utils" }
+sp-version = { version = "2.0.0-rc6", path = "../../primitives/version" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-session = { version = "2.0.0-rc6", path = "../../primitives/session" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
+sp-application-crypto = { version = "2.0.0-rc6", path = "../../primitives/application-crypto" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../primitives/consensus/common" }
+sp-inherents = { version = "2.0.0-rc6", path = "../../primitives/inherents" }
+sc-network = { version = "0.8.0-rc6", path = "../network" }
+sc-chain-spec = { version = "2.0.0-rc6", path = "../chain-spec" }
+sc-light = { version = "2.0.0-rc6", path = "../light" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api" }
+sc-client-db = { version = "0.8.0-rc6", default-features = false, path = "../db" }
codec = { package = "parity-scale-codec", version = "1.3.4" }
-sc-executor = { version = "0.8.0-rc5", path = "../executor" }
-sc-transaction-pool = { version = "2.0.0-rc5", path = "../transaction-pool" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../primitives/transaction-pool" }
-sc-rpc-server = { version = "2.0.0-rc5", path = "../rpc-servers" }
-sc-rpc = { version = "2.0.0-rc5", path = "../rpc" }
-sc-block-builder = { version = "0.8.0-rc5", path = "../block-builder" }
-sp-block-builder = { version = "2.0.0-rc5", path = "../../primitives/block-builder" }
+sc-executor = { version = "0.8.0-rc6", path = "../executor" }
+sc-transaction-pool = { version = "2.0.0-rc6", path = "../transaction-pool" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../primitives/transaction-pool" }
+sc-rpc-server = { version = "2.0.0-rc6", path = "../rpc-servers" }
+sc-rpc = { version = "2.0.0-rc6", path = "../rpc" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../block-builder" }
+sp-block-builder = { version = "2.0.0-rc6", path = "../../primitives/block-builder" }
sc-informant = { version = "0.8.0-rc2", path = "../informant" }
-sc-telemetry = { version = "2.0.0-rc5", path = "../telemetry" }
-sc-offchain = { version = "2.0.0-rc5", path = "../offchain" }
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc5"}
-sc-tracing = { version = "2.0.0-rc5", path = "../tracing" }
+sc-telemetry = { version = "2.0.0-rc6", path = "../telemetry" }
+sc-offchain = { version = "2.0.0-rc6", path = "../offchain" }
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc6"}
+sc-tracing = { version = "2.0.0-rc6", path = "../tracing" }
tracing = "0.1.18"
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
@@ -81,9 +81,9 @@ tempfile = "3.1.0"
directories = "2.0.2"
[dev-dependencies]
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client" }
-sp-consensus-babe = { version = "0.8.0-rc5", path = "../../primitives/consensus/babe" }
-grandpa = { version = "0.8.0-rc5", package = "sc-finality-grandpa", path = "../finality-grandpa" }
-grandpa-primitives = { version = "2.0.0-rc5", package = "sp-finality-grandpa", path = "../../primitives/finality-grandpa" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../test-utils/runtime/client" }
+sp-consensus-babe = { version = "0.8.0-rc6", path = "../../primitives/consensus/babe" }
+grandpa = { version = "0.8.0-rc6", package = "sc-finality-grandpa", path = "../finality-grandpa" }
+grandpa-primitives = { version = "2.0.0-rc6", package = "sp-finality-grandpa", path = "../../primitives/finality-grandpa" }
tokio = { version = "0.2", default-features = false }
async-std = { version = "1.6", default-features = false }
diff --git a/client/service/README.md b/client/service/README.md
new file mode 100644
index 0000000000000..26f940f16df02
--- /dev/null
+++ b/client/service/README.md
@@ -0,0 +1,4 @@
+Substrate service. Starts a thread that spins up the network, client, and extrinsic pool.
+Manages communication between them.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/service/test/Cargo.toml b/client/service/test/Cargo.toml
index d8f069eadfd72..016b6e37d2dde 100644
--- a/client/service/test/Cargo.toml
+++ b/client/service/test/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-service-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -20,25 +20,25 @@ log = "0.4.8"
env_logger = "0.7.0"
fdlimit = "0.1.4"
parking_lot = "0.10.0"
-sc-light = { version = "2.0.0-rc5", path = "../../light" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-api = { version = "2.0.0-rc5", path = "../../../primitives/api" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../../primitives/state-machine" }
-sp-externalities = { version = "0.8.0-rc5", path = "../../../primitives/externalities" }
-sp-trie = { version = "2.0.0-rc5", path = "../../../primitives/trie" }
-sp-storage = { version = "2.0.0-rc5", path = "../../../primitives/storage" }
-sc-client-db = { version = "0.8.0-rc5", default-features = false, path = "../../db" }
+sc-light = { version = "2.0.0-rc6", path = "../../light" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-api = { version = "2.0.0-rc6", path = "../../../primitives/api" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../../primitives/state-machine" }
+sp-externalities = { version = "0.8.0-rc6", path = "../../../primitives/externalities" }
+sp-trie = { version = "2.0.0-rc6", path = "../../../primitives/trie" }
+sp-storage = { version = "2.0.0-rc6", path = "../../../primitives/storage" }
+sc-client-db = { version = "0.8.0-rc6", default-features = false, path = "../../db" }
futures = { version = "0.3.1", features = ["compat"] }
-sc-service = { version = "0.8.0-rc5", default-features = false, features = ["test-helpers"], path = "../../service" }
-sc-network = { version = "0.8.0-rc5", path = "../../network" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../../primitives/transaction-pool" }
-substrate-test-runtime = { version = "2.0.0-rc5", path = "../../../test-utils/runtime" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../../test-utils/runtime/client" }
-sc-client-api = { version = "2.0.0-rc5", path = "../../api" }
-sc-block-builder = { version = "0.8.0-rc5", path = "../../block-builder" }
-sc-executor = { version = "0.8.0-rc5", path = "../../executor" }
-sp-panic-handler = { version = "2.0.0-rc5", path = "../../../primitives/panic-handler" }
+sc-service = { version = "0.8.0-rc6", default-features = false, features = ["test-helpers"], path = "../../service" }
+sc-network = { version = "0.8.0-rc6", path = "../../network" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../../primitives/transaction-pool" }
+substrate-test-runtime = { version = "2.0.0-rc6", path = "../../../test-utils/runtime" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../../test-utils/runtime/client" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../api" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../../block-builder" }
+sc-executor = { version = "0.8.0-rc6", path = "../../executor" }
+sp-panic-handler = { version = "2.0.0-rc6", path = "../../../primitives/panic-handler" }
parity-scale-codec = "1.3.4"
diff --git a/client/state-db/Cargo.toml b/client/state-db/Cargo.toml
index 685f68f083510..f78e0ca505a61 100644
--- a/client/state-db/Cargo.toml
+++ b/client/state-db/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-state-db"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -14,8 +14,8 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
parking_lot = "0.10.0"
log = "0.4.8"
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
codec = { package = "parity-scale-codec", version = "1.3.4", features = ["derive"] }
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
parity-util-mem-derive = "0.1.0"
diff --git a/client/state-db/README.md b/client/state-db/README.md
new file mode 100644
index 0000000000000..a02b3929088fc
--- /dev/null
+++ b/client/state-db/README.md
@@ -0,0 +1,16 @@
+State database maintenance. Handles canonicalization and pruning in the database. The input to
+this module is a `ChangeSet` which is basically a list of key-value pairs (trie nodes) that
+were added or deleted during block execution.
+
+# Canonicalization.
+Canonicalization window tracks a tree of blocks identified by header hash. The in-memory
+overlay allows to get any node that was inserted in any of the blocks within the window.
+The tree is journaled to the backing database and rebuilt on startup.
+Canonicalization function selects one root from the top of the tree and discards all other roots and
+their subtrees.
+
+# Pruning.
+See `RefWindow` for pruning algorithm details. `StateDb` prunes on each canonicalization until pruning
+constraints are satisfied.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/telemetry/Cargo.toml b/client/telemetry/Cargo.toml
index 4c9cc05b07fec..2f3601b17296c 100644
--- a/client/telemetry/Cargo.toml
+++ b/client/telemetry/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-telemetry"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
description = "Telemetry utils"
edition = "2018"
diff --git a/client/telemetry/README.md b/client/telemetry/README.md
new file mode 100644
index 0000000000000..8fdf9e500722d
--- /dev/null
+++ b/client/telemetry/README.md
@@ -0,0 +1,45 @@
+Telemetry utilities.
+
+Calling `init_telemetry` registers a global `slog` logger using `slog_scope::set_global_logger`.
+After that, calling `slog_scope::with_logger` will return a logger that sends information to
+the telemetry endpoints. The `telemetry!` macro is a short-cut for calling
+`slog_scope::with_logger` followed with `slog_log!`.
+
+Note that you are supposed to only ever use `telemetry!` and not `slog_scope::with_logger` at
+the moment. Substrate may eventually be reworked to get proper `slog` support, including sending
+information to the telemetry.
+
+The [`Telemetry`] struct implements `Stream` and must be polled regularly (or sent to a
+background thread/task) in order for the telemetry to properly function. Dropping the object
+will also deregister the global logger and replace it with a logger that discards messages.
+The `Stream` generates [`TelemetryEvent`]s.
+
+> **Note**: Cloning the [`Telemetry`] and polling from multiple clones has an unspecified behaviour.
+
+# Example
+
+```rust
+use futures::prelude::*;
+
+let telemetry = sc_telemetry::init_telemetry(sc_telemetry::TelemetryConfig {
+ endpoints: sc_telemetry::TelemetryEndpoints::new(vec![
+ // The `0` is the maximum verbosity level of messages to send to this endpoint.
+ ("wss://example.com".into(), 0)
+ ]).expect("Invalid URL or multiaddr provided"),
+ // Can be used to pass an external implementation of WebSockets.
+ wasm_external_transport: None,
+});
+
+// The `telemetry` object implements `Stream` and must be processed.
+std::thread::spawn(move || {
+ futures::executor::block_on(telemetry.for_each(|_| future::ready(())));
+});
+
+// Sends a message on the telemetry.
+sc_telemetry::telemetry!(sc_telemetry::SUBSTRATE_INFO; "test";
+ "foo" => "bar",
+)
+```
+
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/tracing/Cargo.toml b/client/tracing/Cargo.toml
index 0a692cbe57f84..40ab1bd460359 100644
--- a/client/tracing/Cargo.toml
+++ b/client/tracing/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-tracing"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
authors = ["Parity Technologies "]
edition = "2018"
@@ -23,4 +23,4 @@ tracing = "0.1.18"
tracing-subscriber = "0.2.10"
sp-tracing = { version = "2.0.0-rc2", path = "../../primitives/tracing" }
-sc-telemetry = { version = "2.0.0-rc5", path = "../telemetry" }
+sc-telemetry = { version = "2.0.0-rc6", path = "../telemetry" }
diff --git a/client/tracing/README.md b/client/tracing/README.md
new file mode 100644
index 0000000000000..b008436df9bbe
--- /dev/null
+++ b/client/tracing/README.md
@@ -0,0 +1,11 @@
+Instrumentation implementation for substrate.
+
+This crate is unstable and the API and usage may change.
+
+# Usage
+
+See `sp-tracing` for examples on how to use tracing.
+
+Currently we provide `Log` (default), `Telemetry` variants for `Receiver`
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/transaction-pool/Cargo.toml b/client/transaction-pool/Cargo.toml
index 56ea881d7a016..f6ef1b1322f81 100644
--- a/client/transaction-pool/Cargo.toml
+++ b/client/transaction-pool/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-transaction-pool"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -20,23 +20,23 @@ intervalier = "0.4.0"
log = "0.4.8"
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
parking_lot = "0.10.0"
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc5"}
-sc-client-api = { version = "2.0.0-rc5", path = "../api" }
-sc-transaction-graph = { version = "2.0.0-rc5", path = "./graph" }
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-tracing = { version = "2.0.0-rc5", path = "../../primitives/tracing" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../primitives/transaction-pool" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
-sp-utils = { version = "2.0.0-rc5", path = "../../primitives/utils" }
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc6"}
+sc-client-api = { version = "2.0.0-rc6", path = "../api" }
+sc-transaction-graph = { version = "2.0.0-rc6", path = "./graph" }
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-tracing = { version = "2.0.0-rc6", path = "../../primitives/tracing" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../primitives/transaction-pool" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
+sp-utils = { version = "2.0.0-rc6", path = "../../primitives/utils" }
wasm-timer = "0.2"
[dev-dependencies]
assert_matches = "1.3.0"
hex = "0.4"
-sp-keyring = { version = "2.0.0-rc5", path = "../../primitives/keyring" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../primitives/consensus/common" }
-substrate-test-runtime-transaction-pool = { version = "2.0.0-rc5", path = "../../test-utils/runtime/transaction-pool" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client" }
-sc-block-builder = { version = "0.8.0-rc5", path = "../block-builder" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../primitives/keyring" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../primitives/consensus/common" }
+substrate-test-runtime-transaction-pool = { version = "2.0.0-rc6", path = "../../test-utils/runtime/transaction-pool" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../test-utils/runtime/client" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../block-builder" }
diff --git a/client/transaction-pool/README.md b/client/transaction-pool/README.md
new file mode 100644
index 0000000000000..15e4641c1f48d
--- /dev/null
+++ b/client/transaction-pool/README.md
@@ -0,0 +1,3 @@
+Substrate transaction pool implementation.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/client/transaction-pool/graph/Cargo.toml b/client/transaction-pool/graph/Cargo.toml
index 8719a9c8fed23..7255cf3df30da 100644
--- a/client/transaction-pool/graph/Cargo.toml
+++ b/client/transaction-pool/graph/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sc-transaction-graph"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
@@ -18,11 +18,11 @@ log = "0.4.8"
parking_lot = "0.10.0"
serde = { version = "1.0.101", features = ["derive"] }
wasm-timer = "0.2"
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-utils = { version = "2.0.0-rc5", path = "../../../primitives/utils" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../../primitives/transaction-pool" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-utils = { version = "2.0.0-rc6", path = "../../../primitives/utils" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../../primitives/transaction-pool" }
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
linked-hash-map = "0.5.2"
retain_mut = "0.1.1"
@@ -30,7 +30,7 @@ retain_mut = "0.1.1"
[dev-dependencies]
assert_matches = "1.3.0"
codec = { package = "parity-scale-codec", version = "1.3.4" }
-substrate-test-runtime = { version = "2.0.0-rc5", path = "../../../test-utils/runtime" }
+substrate-test-runtime = { version = "2.0.0-rc6", path = "../../../test-utils/runtime" }
criterion = "0.3"
[[bench]]
diff --git a/client/transaction-pool/graph/README.md b/client/transaction-pool/graph/README.md
new file mode 100644
index 0000000000000..bc9cd929122f1
--- /dev/null
+++ b/client/transaction-pool/graph/README.md
@@ -0,0 +1,8 @@
+Generic Transaction Pool
+
+The pool is based on dependency graph between transactions
+and their priority.
+The pool is able to return an iterator that traverses transaction
+graph in the correct order taking into account priorities and dependencies.
+
+License: GPL-3.0-or-later WITH Classpath-exception-2.0
\ No newline at end of file
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 719059477e13e..254c64819bd6a 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -6,11 +6,48 @@ The format is based on [Keep a Changelog].
## Unreleased
+## 2.0.0-rc5 -> 2.0.0-rc6 – Rock Hyrax
+
+Runtime
+-------
+
+* Custom Codec Implenetation for NPoS Election (#6720)
+* Successful `note_imminent_preimage` is free (#6793)
+* pallet-democracy use of weightinfo (#6783)
+* Update Balances Pallet to use `WeightInfo` (#6610)
+* pallet-evm: add builtin support for the four basic Ethereum precompiles (#6743)
+* Allow `PostDispatchInfo` to disable fees (#6749)
+* pallet-evm: add support for tuple-based precompile declarations (#6681)
+* grandpa: allow noting that the set has stalled (#6725)
+
Client
------
+* Merge Subkey into sc-cli (#4954)
+* RpcHandlers Refactorings (#6846)
+* client/authority-discovery: Introduce AuthorityDiscoveryService (#6760)
+* Implement tracing::Event handling & parent_id for spans and events (#6672)
+* Move to upstream wasmtime, refactor globals snapshot (#6759)
+* Revalidate transactions only on latest best block (#6824)
+* Allow task manager to have children (#6771)
+* client/network: Expose DHT query duration to Prometheus (#6784)
+* client/network: Add peers to DHT only if protocols match (#6549)
+* Name all the tasks! (#6726)
* Child nodes can be handled by adding a child `TaskManager` to the parent's `TaskManager` (#6771)
+API
+---
+
+* pow: add access to pre-digest for algorithm verifiers (#6900)
+* babe, aura, pow: only call check_inherents if authoring version is compatible (#6862)
+* Implement 'transactional' annotation for runtime functions. (#6763)
+* seal: Change prefix and module name from "ext_" to "seal_" for contract callable functions (#6798)
+* Add Subscription RPC for Grandpa Finality (#5732)
+* seal: Fix and improve error reporting (#6773)
+* Allow blacklisting blocks from being finalized again after block revert (#6301)
+* BABE slot and epoch event notifications (#6563)
+* Add `memory-tracker` feature to `sp-trie` to fix wasm panic (#6745)
+
## 2.0.0-rc4 -> 2.0.0-rc5 – River Dolphin
Runtime
diff --git a/frame/assets/Cargo.toml b/frame/assets/Cargo.toml
index 47bf0cecf2117..bb7c2828c3062 100644
--- a/frame/assets/Cargo.toml
+++ b/frame/assets/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-assets"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -15,16 +15,16 @@ targets = ["x86_64-unknown-linux-gnu"]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
# Needed for various traits. In our case, `OnFinalize`.
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
# Needed for type-safe access to storage DB.
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
# `system` module provides us with all sorts of useful stuff and macros depend on it being around.
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-std = { version = "2.0.0-rc5", path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io" }
[features]
default = ["std"]
diff --git a/frame/assets/README.md b/frame/assets/README.md
new file mode 100644
index 0000000000000..dca51b7c296f1
--- /dev/null
+++ b/frame/assets/README.md
@@ -0,0 +1,116 @@
+# Assets Module
+
+A simple, secure module for dealing with fungible assets.
+
+## Overview
+
+The Assets module provides functionality for asset management of fungible asset classes
+with a fixed supply, including:
+
+* Asset Issuance
+* Asset Transfer
+* Asset Destruction
+
+To use it in your runtime, you need to implement the assets [`Trait`](./trait.Trait.html).
+
+The supported dispatchable functions are documented in the [`Call`](./enum.Call.html) enum.
+
+### Terminology
+
+* **Asset issuance:** The creation of a new asset, whose total supply will belong to the
+ account that issues the asset.
+* **Asset transfer:** The action of transferring assets from one account to another.
+* **Asset destruction:** The process of an account removing its entire holding of an asset.
+* **Fungible asset:** An asset whose units are interchangeable.
+* **Non-fungible asset:** An asset for which each unit has unique characteristics.
+
+### Goals
+
+The assets system in Substrate is designed to make the following possible:
+
+* Issue a unique asset to its creator's account.
+* Move assets between accounts.
+* Remove an account's balance of an asset when requested by that account's owner and update
+ the asset's total supply.
+
+## Interface
+
+### Dispatchable Functions
+
+* `issue` - Issues the total supply of a new fungible asset to the account of the caller of the function.
+* `transfer` - Transfers an `amount` of units of fungible asset `id` from the balance of
+the function caller's account (`origin`) to a `target` account.
+* `destroy` - Destroys the entire holding of a fungible asset `id` associated with the account
+that called the function.
+
+Please refer to the [`Call`](./enum.Call.html) enum and its associated variants for documentation on each function.
+
+### Public Functions
+
+
+* `balance` - Get the asset `id` balance of `who`.
+* `total_supply` - Get the total supply of an asset `id`.
+
+Please refer to the [`Module`](./struct.Module.html) struct for details on publicly available functions.
+
+## Usage
+
+The following example shows how to use the Assets module in your runtime by exposing public functions to:
+
+* Issue a new fungible asset for a token distribution event (airdrop).
+* Query the fungible asset holding balance of an account.
+* Query the total supply of a fungible asset that has been issued.
+
+### Prerequisites
+
+Import the Assets module and types and derive your runtime's configuration traits from the Assets module trait.
+
+### Simple Code Snippet
+
+```rust
+use pallet_assets as assets;
+use frame_support::{decl_module, dispatch, ensure};
+use frame_system::ensure_signed;
+
+pub trait Trait: assets::Trait { }
+
+decl_module! {
+ pub struct Module for enum Call where origin: T::Origin {
+ pub fn issue_token_airdrop(origin) -> dispatch::DispatchResult {
+ let sender = ensure_signed(origin).map_err(|e| e.as_str())?;
+
+ const ACCOUNT_ALICE: u64 = 1;
+ const ACCOUNT_BOB: u64 = 2;
+ const COUNT_AIRDROP_RECIPIENTS: u64 = 2;
+ const TOKENS_FIXED_SUPPLY: u64 = 100;
+
+ ensure!(!COUNT_AIRDROP_RECIPIENTS.is_zero(), "Divide by zero error.");
+
+ let asset_id = Self::next_asset_id();
+
+ >::mutate(|asset_id| *asset_id += 1);
+ >::insert((asset_id, &ACCOUNT_ALICE), TOKENS_FIXED_SUPPLY / COUNT_AIRDROP_RECIPIENTS);
+ >::insert((asset_id, &ACCOUNT_BOB), TOKENS_FIXED_SUPPLY / COUNT_AIRDROP_RECIPIENTS);
+ >::insert(asset_id, TOKENS_FIXED_SUPPLY);
+
+ Self::deposit_event(RawEvent::Issued(asset_id, sender, TOKENS_FIXED_SUPPLY));
+ Ok(())
+ }
+ }
+}
+```
+
+## Assumptions
+
+Below are assumptions that must be held when using this module. If any of
+them are violated, the behavior of this module is undefined.
+
+* The total count of assets should be less than
+ `Trait::AssetId::max_value()`.
+
+## Related Modules
+
+* [`System`](../frame_system/index.html)
+* [`Support`](../frame_support/index.html)
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/atomic-swap/Cargo.toml b/frame/atomic-swap/Cargo.toml
index 704d22ba780d5..982cd7d6cb88b 100644
--- a/frame/atomic-swap/Cargo.toml
+++ b/frame/atomic-swap/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-atomic-swap"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,15 +14,15 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
[dev-dependencies]
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
[features]
default = ["std"]
diff --git a/frame/atomic-swap/README.md b/frame/atomic-swap/README.md
new file mode 100644
index 0000000000000..f2be32554cb21
--- /dev/null
+++ b/frame/atomic-swap/README.md
@@ -0,0 +1,23 @@
+# Atomic Swap
+
+A module for atomically sending funds.
+
+- [`atomic_swap::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+- [`Module`](./struct.Module.html)
+
+## Overview
+
+A module for atomically sending funds from an origin to a target. A proof
+is used to allow the target to approve (claim) the swap. If the swap is not
+claimed within a specified duration of time, the sender may cancel it.
+
+## Interface
+
+### Dispatchable Functions
+
+* `create_swap` - called by a sender to register a new atomic swap
+* `claim_swap` - called by the target to approve a swap
+* `cancel_swap` - may be called by a sender after a specified duration
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/aura/Cargo.toml b/frame/aura/Cargo.toml
index cc9b1bf6f6602..283462f5cc601 100644
--- a/frame/aura/Cargo.toml
+++ b/frame/aura/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-aura"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,23 +12,23 @@ description = "FRAME AURA consensus pallet"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/application-crypto" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/application-crypto" }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/inherents" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/inherents" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
serde = { version = "1.0.101", optional = true }
-pallet-session = { version = "2.0.0-rc5", default-features = false, path = "../session" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-sp-consensus-aura = { version = "0.8.0-rc5", path = "../../primitives/consensus/aura", default-features = false }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-sp-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/timestamp" }
-pallet-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../timestamp" }
+pallet-session = { version = "2.0.0-rc6", default-features = false, path = "../session" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+sp-consensus-aura = { version = "0.8.0-rc6", path = "../../primitives/consensus/aura", default-features = false }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+sp-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/timestamp" }
+pallet-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../timestamp" }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-io ={ version = "2.0.0-rc5", path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-io ={ version = "2.0.0-rc6", path = "../../primitives/io" }
lazy_static = "1.4.0"
parking_lot = "0.10.0"
diff --git a/frame/aura/README.md b/frame/aura/README.md
new file mode 100644
index 0000000000000..59747493193ed
--- /dev/null
+++ b/frame/aura/README.md
@@ -0,0 +1,28 @@
+# Aura Module
+
+- [`aura::Trait`](./trait.Trait.html)
+- [`Module`](./struct.Module.html)
+
+## Overview
+
+The Aura module extends Aura consensus by managing offline reporting.
+
+## Interface
+
+### Public Functions
+
+- `slot_duration` - Determine the Aura slot-duration based on the Timestamp module configuration.
+
+## Related Modules
+
+- [Timestamp](../pallet_timestamp/index.html): The Timestamp module is used in Aura to track
+consensus rounds (via `slots`).
+
+## References
+
+If you're interested in hacking on this module, it is useful to understand the interaction with
+`substrate/primitives/inherents/src/lib.rs` and, specifically, the required implementation of
+[`ProvideInherent`](../sp_inherents/trait.ProvideInherent.html) and
+[`ProvideInherentData`](../sp_inherents/trait.ProvideInherentData.html) to create and check inherents.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/authority-discovery/Cargo.toml b/frame/authority-discovery/Cargo.toml
index bfd7017d06f30..26fa250d72034 100644
--- a/frame/authority-discovery/Cargo.toml
+++ b/frame/authority-discovery/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-authority-discovery"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,20 +12,20 @@ description = "FRAME pallet for authority discovery"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-authority-discovery = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/authority-discovery" }
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/application-crypto" }
+sp-authority-discovery = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/authority-discovery" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/application-crypto" }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
serde = { version = "1.0.101", optional = true }
-pallet-session = { version = "2.0.0-rc5", features = ["historical" ], path = "../session", default-features = false }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+pallet-session = { version = "2.0.0-rc6", features = ["historical" ], path = "../session", default-features = false }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
-sp-staking = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/staking" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io" }
+sp-staking = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/staking" }
[features]
default = ["std"]
diff --git a/frame/authority-discovery/README.md b/frame/authority-discovery/README.md
new file mode 100644
index 0000000000000..9a534dcbeb6f8
--- /dev/null
+++ b/frame/authority-discovery/README.md
@@ -0,0 +1,6 @@
+# Authority discovery module.
+
+This module is used by the `client/authority-discovery` to retrieve the
+current set of authorities.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/authorship/Cargo.toml b/frame/authorship/Cargo.toml
index 9ddd24888ca98..f351b2d6670ad 100644
--- a/frame/authorship/Cargo.toml
+++ b/frame/authorship/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-authorship"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
description = "Block and Uncle Author tracking for the FRAME"
authors = ["Parity Technologies "]
edition = "2018"
@@ -13,17 +13,17 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/inherents" }
-sp-authorship = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/authorship" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/inherents" }
+sp-authorship = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/authorship" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
impl-trait-for-tuples = "0.1.3"
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-io ={ version = "2.0.0-rc5", path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-io ={ version = "2.0.0-rc6", path = "../../primitives/io" }
[features]
default = ["std"]
diff --git a/frame/authorship/README.md b/frame/authorship/README.md
new file mode 100644
index 0000000000000..d61747da3e101
--- /dev/null
+++ b/frame/authorship/README.md
@@ -0,0 +1,5 @@
+Authorship tracking for FRAME runtimes.
+
+This tracks the current author of the block and recent uncles.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/babe/Cargo.toml b/frame/babe/Cargo.toml
index e2577e8daf11e..5b59dd6b27819 100644
--- a/frame/babe/Cargo.toml
+++ b/frame/babe/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-babe"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,31 +13,31 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-pallet-authorship = { version = "2.0.0-rc5", default-features = false, path = "../authorship" }
-pallet-session = { version = "2.0.0-rc5", default-features = false, path = "../session" }
-pallet-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../timestamp" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+pallet-authorship = { version = "2.0.0-rc6", default-features = false, path = "../authorship" }
+pallet-session = { version = "2.0.0-rc6", default-features = false, path = "../session" }
+pallet-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../timestamp" }
serde = { version = "1.0.101", optional = true }
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/application-crypto" }
-sp-consensus-babe = { version = "0.8.0-rc5", default-features = false, path = "../../primitives/consensus/babe" }
-sp-consensus-vrf = { version = "0.8.0-rc5", default-features = false, path = "../../primitives/consensus/vrf" }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/inherents" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-session = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/session" }
-sp-staking = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/staking" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/timestamp" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/application-crypto" }
+sp-consensus-babe = { version = "0.8.0-rc6", default-features = false, path = "../../primitives/consensus/babe" }
+sp-consensus-vrf = { version = "0.8.0-rc6", default-features = false, path = "../../primitives/consensus/vrf" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/inherents" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-session = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/session" }
+sp-staking = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/staking" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/timestamp" }
[dev-dependencies]
-frame-benchmarking = { version = "2.0.0-rc5", path = "../benchmarking" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
-pallet-offences = { version = "2.0.0-rc5", path = "../offences" }
-pallet-staking = { version = "2.0.0-rc5", path = "../staking" }
-pallet-staking-reward-curve = { version = "2.0.0-rc5", path = "../staking/reward-curve" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
+frame-benchmarking = { version = "2.0.0-rc6", path = "../benchmarking" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
+pallet-offences = { version = "2.0.0-rc6", path = "../offences" }
+pallet-staking = { version = "2.0.0-rc6", path = "../staking" }
+pallet-staking-reward-curve = { version = "2.0.0-rc6", path = "../staking/reward-curve" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
[features]
default = ["std"]
diff --git a/frame/babe/README.md b/frame/babe/README.md
new file mode 100644
index 0000000000000..6f20be89efc0c
--- /dev/null
+++ b/frame/babe/README.md
@@ -0,0 +1,4 @@
+Consensus extension module for BABE consensus. Collects on-chain randomness
+from VRF outputs and manages epoch transitions.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/balances/Cargo.toml b/frame/balances/Cargo.toml
index e6c8eec65ded2..3f1a088f8897d 100644
--- a/frame/balances/Cargo.toml
+++ b/frame/balances/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-balances"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,16 +14,16 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-pallet-transaction-payment = { version = "2.0.0-rc5", path = "../transaction-payment" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+pallet-transaction-payment = { version = "2.0.0-rc6", path = "../transaction-payment" }
[features]
default = ["std"]
diff --git a/frame/balances/README.md b/frame/balances/README.md
new file mode 100644
index 0000000000000..c5c578848faa1
--- /dev/null
+++ b/frame/balances/README.md
@@ -0,0 +1,122 @@
+# Balances Module
+
+The Balances module provides functionality for handling accounts and balances.
+
+- [`balances::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+- [`Module`](./struct.Module.html)
+
+## Overview
+
+The Balances module provides functions for:
+
+- Getting and setting free balances.
+- Retrieving total, reserved and unreserved balances.
+- Repatriating a reserved balance to a beneficiary account that exists.
+- Transferring a balance between accounts (when not reserved).
+- Slashing an account balance.
+- Account creation and removal.
+- Managing total issuance.
+- Setting and managing locks.
+
+### Terminology
+
+- **Existential Deposit:** The minimum balance required to create or keep an account open. This prevents
+"dust accounts" from filling storage. When the free plus the reserved balance (i.e. the total balance)
+ fall below this, then the account is said to be dead; and it loses its functionality as well as any
+ prior history and all information on it is removed from the chain's state.
+ No account should ever have a total balance that is strictly between 0 and the existential
+ deposit (exclusive). If this ever happens, it indicates either a bug in this module or an
+ erroneous raw mutation of storage.
+
+- **Total Issuance:** The total number of units in existence in a system.
+
+- **Reaping an account:** The act of removing an account by resetting its nonce. Happens after its
+total balance has become zero (or, strictly speaking, less than the Existential Deposit).
+
+- **Free Balance:** The portion of a balance that is not reserved. The free balance is the only
+ balance that matters for most operations.
+
+- **Reserved Balance:** Reserved balance still belongs to the account holder, but is suspended.
+ Reserved balance can still be slashed, but only after all the free balance has been slashed.
+
+- **Imbalance:** A condition when some funds were credited or debited without equal and opposite accounting
+(i.e. a difference between total issuance and account balances). Functions that result in an imbalance will
+return an object of the `Imbalance` trait that can be managed within your runtime logic. (If an imbalance is
+simply dropped, it should automatically maintain any book-keeping such as total issuance.)
+
+- **Lock:** A freeze on a specified amount of an account's free balance until a specified block number. Multiple
+locks always operate over the same funds, so they "overlay" rather than "stack".
+
+### Implementations
+
+The Balances module provides implementations for the following traits. If these traits provide the functionality
+that you need, then you can avoid coupling with the Balances module.
+
+- [`Currency`](../frame_support/traits/trait.Currency.html): Functions for dealing with a
+fungible assets system.
+- [`ReservableCurrency`](../frame_support/traits/trait.ReservableCurrency.html):
+Functions for dealing with assets that can be reserved from an account.
+- [`LockableCurrency`](../frame_support/traits/trait.LockableCurrency.html): Functions for
+dealing with accounts that allow liquidity restrictions.
+- [`Imbalance`](../frame_support/traits/trait.Imbalance.html): Functions for handling
+imbalances between total issuance in the system and account balances. Must be used when a function
+creates new funds (e.g. a reward) or destroys some funds (e.g. a system fee).
+- [`IsDeadAccount`](../frame_system/trait.IsDeadAccount.html): Determiner to say whether a
+given account is unused.
+
+## Interface
+
+### Dispatchable Functions
+
+- `transfer` - Transfer some liquid free balance to another account.
+- `set_balance` - Set the balances of a given account. The origin of this call must be root.
+
+## Usage
+
+The following examples show how to use the Balances module in your custom module.
+
+### Examples from the FRAME
+
+The Contract module uses the `Currency` trait to handle gas payment, and its types inherit from `Currency`:
+
+```rust
+use frame_support::traits::Currency;
+
+pub type BalanceOf = <::Currency as Currency<::AccountId>>::Balance;
+pub type NegativeImbalanceOf = <::Currency as Currency<::AccountId>>::NegativeImbalance;
+
+```
+
+The Staking module uses the `LockableCurrency` trait to lock a stash account's funds:
+
+```rust
+use frame_support::traits::{WithdrawReasons, LockableCurrency};
+use sp_runtime::traits::Bounded;
+pub trait Trait: frame_system::Trait {
+ type Currency: LockableCurrency;
+}
+
+fn update_ledger(
+ controller: &T::AccountId,
+ ledger: &StakingLedger
+) {
+ T::Currency::set_lock(
+ STAKING_ID,
+ &ledger.stash,
+ ledger.total,
+ WithdrawReasons::all()
+ );
+ // >::insert(controller, ledger); // Commented out as we don't have access to Staking's storage here.
+}
+```
+
+## Genesis config
+
+The Balances module depends on the [`GenesisConfig`](./struct.GenesisConfig.html).
+
+## Assumptions
+
+* Total issued balanced of all accounts should be less than `Trait::Balance::max_value()`.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/benchmark/Cargo.toml b/frame/benchmark/Cargo.toml
index 43e131c2dc764..f731ebcbacf54 100644
--- a/frame/benchmark/Cargo.toml
+++ b/frame/benchmark/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-benchmark"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,12 +14,12 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
[features]
default = ["std"]
diff --git a/frame/benchmark/README.md b/frame/benchmark/README.md
new file mode 100644
index 0000000000000..e00e11292e143
--- /dev/null
+++ b/frame/benchmark/README.md
@@ -0,0 +1,5 @@
+A pallet that contains common runtime patterns in an isolated manner.
+This pallet is **not** meant to be used in a production blockchain, just
+for benchmarking and testing purposes.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/benchmarking/Cargo.toml b/frame/benchmarking/Cargo.toml
index 917988a825fad..8011ce779df3a 100644
--- a/frame/benchmarking/Cargo.toml
+++ b/frame/benchmarking/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-benchmarking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -15,14 +15,14 @@ targets = ["x86_64-unknown-linux-gnu"]
linregress = "0.1"
paste = "0.1"
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
-sp-api = { version = "2.0.0-rc5", path = "../../primitives/api", default-features = false }
-sp-runtime-interface = { version = "2.0.0-rc5", path = "../../primitives/runtime-interface", default-features = false }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime", default-features = false }
-sp-std = { version = "2.0.0-rc5", path = "../../primitives/std", default-features = false }
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io", default-features = false }
-sp-storage = { version = "2.0.0-rc5", path = "../../primitives/storage", default-features = false }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-api = { version = "2.0.0-rc6", path = "../../primitives/api", default-features = false }
+sp-runtime-interface = { version = "2.0.0-rc6", path = "../../primitives/runtime-interface", default-features = false }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime", default-features = false }
+sp-std = { version = "2.0.0-rc6", path = "../../primitives/std", default-features = false }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io", default-features = false }
+sp-storage = { version = "2.0.0-rc6", path = "../../primitives/storage", default-features = false }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
hex-literal = "0.2.1"
diff --git a/frame/benchmarking/README.md b/frame/benchmarking/README.md
new file mode 100644
index 0000000000000..1e06135e345e7
--- /dev/null
+++ b/frame/benchmarking/README.md
@@ -0,0 +1,3 @@
+Macro for benchmarking a FRAME runtime.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/collective/Cargo.toml b/frame/collective/Cargo.toml
index b1db6fe6b97c8..38fb3d6cd3b83 100644
--- a/frame/collective/Cargo.toml
+++ b/frame/collective/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-collective"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,17 +14,17 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
hex-literal = "0.2.1"
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
[features]
default = ["std"]
diff --git a/frame/collective/README.md b/frame/collective/README.md
new file mode 100644
index 0000000000000..e4928dbcf2d05
--- /dev/null
+++ b/frame/collective/README.md
@@ -0,0 +1,22 @@
+Collective system: Members of a set of account IDs can make their collective feelings known
+through dispatched calls from one of two specialized origins.
+
+The membership can be provided in one of two ways: either directly, using the Root-dispatchable
+function `set_members`, or indirectly, through implementing the `ChangeMembers`.
+The pallet assumes that the amount of members stays at or below `MAX_MEMBERS` for its weight
+calculations, but enforces this neither in `set_members` nor in `change_members_sorted`.
+
+A "prime" member may be set allowing their vote to act as the default vote in case of any
+abstentions after the voting period.
+
+Voting happens through motions comprising a proposal (i.e. a curried dispatchable) plus a
+number of approvals required for it to pass and be called. Motions are open for members to
+vote on for a minimum period given by `MotionDuration`. As soon as the needed number of
+approvals is given, the motion is closed and executed. If the number of approvals is not reached
+during the voting period, then `close` may be called by any account in order to force the end
+the motion explicitly. If a prime member is defined then their vote is used in place of any
+abstentions and the proposal is executed if there are enough approvals counting the new votes.
+
+If there are not, or if no prime is set, then the motion is dropped without being executed.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/contracts/Cargo.toml b/frame/contracts/Cargo.toml
index 1a42af6833b8b..4d3083720a63e 100644
--- a/frame/contracts/Cargo.toml
+++ b/frame/contracts/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-contracts"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,27 +14,27 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
bitflags = "1.0"
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-pallet-contracts-primitives = { version = "2.0.0-rc5", default-features = false, path = "common" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+pallet-contracts-primitives = { version = "2.0.0-rc6", default-features = false, path = "common" }
parity-wasm = { version = "0.41.0", default-features = false }
pwasm-utils = { version = "0.14.0", default-features = false }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-sandbox = { version = "0.8.0-rc5", default-features = false, path = "../../primitives/sandbox" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-sandbox = { version = "0.8.0-rc6", default-features = false, path = "../../primitives/sandbox" }
wasmi-validation = { version = "0.3.0", default-features = false }
wat = { version = "1.0", optional = true, default-features = false }
[dev-dependencies]
assert_matches = "1.3.0"
hex-literal = "0.2.1"
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
-pallet-timestamp = { version = "2.0.0-rc5", path = "../timestamp" }
-pallet-randomness-collective-flip = { version = "2.0.0-rc5", path = "../randomness-collective-flip" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
+pallet-timestamp = { version = "2.0.0-rc6", path = "../timestamp" }
+pallet-randomness-collective-flip = { version = "2.0.0-rc6", path = "../randomness-collective-flip" }
pretty_assertions = "0.6.1"
wat = "1.0"
diff --git a/frame/contracts/README.md b/frame/contracts/README.md
new file mode 100644
index 0000000000000..f2d58048c34eb
--- /dev/null
+++ b/frame/contracts/README.md
@@ -0,0 +1,64 @@
+# Contract Module
+
+The Contract module provides functionality for the runtime to deploy and execute WebAssembly smart-contracts.
+
+- [`contract::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+This module extends accounts based on the `Currency` trait to have smart-contract functionality. It can
+be used with other modules that implement accounts based on `Currency`. These "smart-contract accounts"
+have the ability to instantiate smart-contracts and make calls to other contract and non-contract accounts.
+
+The smart-contract code is stored once in a `code_cache`, and later retrievable via its `code_hash`.
+This means that multiple smart-contracts can be instantiated from the same `code_cache`, without replicating
+the code each time.
+
+When a smart-contract is called, its associated code is retrieved via the code hash and gets executed.
+This call can alter the storage entries of the smart-contract account, instantiate new smart-contracts,
+or call other smart-contracts.
+
+Finally, when an account is reaped, its associated code and storage of the smart-contract account
+will also be deleted.
+
+### Gas
+
+Senders must specify a gas limit with every call, as all instructions invoked by the smart-contract require gas.
+Unused gas is refunded after the call, regardless of the execution outcome.
+
+If the gas limit is reached, then all calls and state changes (including balance transfers) are only
+reverted at the current call's contract level. For example, if contract A calls B and B runs out of gas mid-call,
+then all of B's calls are reverted. Assuming correct error handling by contract A, A's other calls and state
+changes still persist.
+
+### Notable Scenarios
+
+Contract call failures are not always cascading. When failures occur in a sub-call, they do not "bubble up",
+and the call will only revert at the specific contract level. For example, if contract A calls contract B, and B
+fails, A can decide how to handle that failure, either proceeding or reverting A's changes.
+
+## Interface
+
+### Dispatchable functions
+
+* `put_code` - Stores the given binary Wasm code into the chain's storage and returns its `code_hash`.
+* `instantiate` - Deploys a new contract from the given `code_hash`, optionally transferring some balance.
+This instantiates a new smart contract account and calls its contract deploy handler to
+initialize the contract.
+* `call` - Makes a call to an account, optionally transferring some balance.
+
+## Usage
+
+The Contract module is a work in progress. The following examples show how this Contract module
+can be used to instantiate and call contracts.
+
+* [`ink`](https://github.com/paritytech/ink) is
+an [`eDSL`](https://wiki.haskell.org/Embedded_domain_specific_language) that enables writing
+WebAssembly based smart contracts in the Rust programming language. This is a work in progress.
+
+## Related Modules
+
+* [Balances](../pallet_balances/index.html)
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/contracts/common/Cargo.toml b/frame/contracts/common/Cargo.toml
index a8f5e40760097..d397a2805918f 100644
--- a/frame/contracts/common/Cargo.toml
+++ b/frame/contracts/common/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-contracts-primitives"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,8 +14,8 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
# This crate should not rely on any of the frame primitives.
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/runtime" }
[features]
default = ["std"]
diff --git a/frame/contracts/common/README.md b/frame/contracts/common/README.md
new file mode 100644
index 0000000000000..12718cd86425b
--- /dev/null
+++ b/frame/contracts/common/README.md
@@ -0,0 +1,3 @@
+A crate that hosts a common definitions that are relevant for the pallet-contracts.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/contracts/rpc/Cargo.toml b/frame/contracts/rpc/Cargo.toml
index c6b8fc8ac10df..0de6bc105a9b1 100644
--- a/frame/contracts/rpc/Cargo.toml
+++ b/frame/contracts/rpc/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-contracts-rpc"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -16,14 +16,14 @@ codec = { package = "parity-scale-codec", version = "1.3.4" }
jsonrpc-core = "14.2.0"
jsonrpc-core-client = "14.2.0"
jsonrpc-derive = "14.2.1"
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-rpc = { version = "2.0.0-rc5", path = "../../../primitives/rpc" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-rpc = { version = "2.0.0-rc6", path = "../../../primitives/rpc" }
serde = { version = "1.0.101", features = ["derive"] }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-api = { version = "2.0.0-rc5", path = "../../../primitives/api" }
-pallet-contracts-primitives = { version = "2.0.0-rc5", path = "../common" }
-pallet-contracts-rpc-runtime-api = { version = "0.8.0-rc5", path = "./runtime-api" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-api = { version = "2.0.0-rc6", path = "../../../primitives/api" }
+pallet-contracts-primitives = { version = "2.0.0-rc6", path = "../common" }
+pallet-contracts-rpc-runtime-api = { version = "0.8.0-rc6", path = "./runtime-api" }
[dev-dependencies]
serde_json = "1.0.41"
diff --git a/frame/contracts/rpc/README.md b/frame/contracts/rpc/README.md
new file mode 100644
index 0000000000000..be6df237bf60d
--- /dev/null
+++ b/frame/contracts/rpc/README.md
@@ -0,0 +1,3 @@
+Node-specific RPC methods for interaction with contracts.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/contracts/rpc/runtime-api/Cargo.toml b/frame/contracts/rpc/runtime-api/Cargo.toml
index a9266b986c6ca..fcb57d0a69fc1 100644
--- a/frame/contracts/rpc/runtime-api/Cargo.toml
+++ b/frame/contracts/rpc/runtime-api/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-contracts-rpc-runtime-api"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,11 +12,11 @@ description = "Runtime API definition required by Contracts RPC extensions."
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../../../../primitives/api" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../../../../primitives/api" }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../../../primitives/runtime" }
-pallet-contracts-primitives = { version = "2.0.0-rc5", default-features = false, path = "../../common" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../../../primitives/runtime" }
+pallet-contracts-primitives = { version = "2.0.0-rc6", default-features = false, path = "../../common" }
[features]
default = ["std"]
diff --git a/frame/contracts/rpc/runtime-api/README.md b/frame/contracts/rpc/runtime-api/README.md
new file mode 100644
index 0000000000000..d57f29a93bd1d
--- /dev/null
+++ b/frame/contracts/rpc/runtime-api/README.md
@@ -0,0 +1,7 @@
+Runtime API definition required by Contracts RPC extensions.
+
+This API should be imported and implemented by the runtime,
+of a node that wants to use the custom RPC extension
+adding Contracts access methods.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/democracy/Cargo.toml b/frame/democracy/Cargo.toml
index 3d67b4d0ec578..ac3d44195021a 100644
--- a/frame/democracy/Cargo.toml
+++ b/frame/democracy/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-democracy"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,19 +14,19 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
-pallet-scheduler = { version = "2.0.0-rc5", path = "../scheduler" }
-sp-storage = { version = "2.0.0-rc5", path = "../../primitives/storage" }
-substrate-test-utils = { version = "2.0.0-rc5", path = "../../test-utils" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
+pallet-scheduler = { version = "2.0.0-rc6", path = "../scheduler" }
+sp-storage = { version = "2.0.0-rc6", path = "../../primitives/storage" }
+substrate-test-utils = { version = "2.0.0-rc6", path = "../../test-utils" }
hex-literal = "0.2.1"
[features]
diff --git a/frame/democracy/README.md b/frame/democracy/README.md
new file mode 100644
index 0000000000000..0f836f1158c8b
--- /dev/null
+++ b/frame/democracy/README.md
@@ -0,0 +1,135 @@
+# Democracy Pallet
+
+- [`democracy::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+The Democracy pallet handles the administration of general stakeholder voting.
+
+There are two different queues that a proposal can be added to before it
+becomes a referendum, 1) the proposal queue consisting of all public proposals
+and 2) the external queue consisting of a single proposal that originates
+from one of the _external_ origins (such as a collective group).
+
+Every launch period - a length defined in the runtime - the Democracy pallet
+launches a referendum from a proposal that it takes from either the proposal
+queue or the external queue in turn. Any token holder in the system can vote
+on referenda. The voting system
+uses time-lock voting by allowing the token holder to set their _conviction_
+behind a vote. The conviction will dictate the length of time the tokens
+will be locked, as well as the multiplier that scales the vote power.
+
+### Terminology
+
+- **Enactment Period:** The minimum period of locking and the period between a proposal being
+approved and enacted.
+- **Lock Period:** A period of time after proposal enactment that the tokens of _winning_ voters
+will be locked.
+- **Conviction:** An indication of a voter's strength of belief in their vote. An increase
+of one in conviction indicates that a token holder is willing to lock their tokens for twice
+as many lock periods after enactment.
+- **Vote:** A value that can either be in approval ("Aye") or rejection ("Nay")
+ of a particular referendum.
+- **Proposal:** A submission to the chain that represents an action that a proposer (either an
+account or an external origin) suggests that the system adopt.
+- **Referendum:** A proposal that is in the process of being voted on for
+ either acceptance or rejection as a change to the system.
+- **Delegation:** The act of granting your voting power to the decisions of another account for
+ up to a certain conviction.
+
+### Adaptive Quorum Biasing
+
+A _referendum_ can be either simple majority-carries in which 50%+1 of the
+votes decide the outcome or _adaptive quorum biased_. Adaptive quorum biasing
+makes the threshold for passing or rejecting a referendum higher or lower
+depending on how the referendum was originally proposed. There are two types of
+adaptive quorum biasing: 1) _positive turnout bias_ makes a referendum
+require a super-majority to pass that decreases as turnout increases and
+2) _negative turnout bias_ makes a referendum require a super-majority to
+reject that decreases as turnout increases. Another way to think about the
+quorum biasing is that _positive bias_ referendums will be rejected by
+default and _negative bias_ referendums get passed by default.
+
+## Interface
+
+### Dispatchable Functions
+
+#### Public
+
+These calls can be made from any externally held account capable of creating
+a signed extrinsic.
+
+Basic actions:
+- `propose` - Submits a sensitive action, represented as a hash. Requires a deposit.
+- `second` - Signals agreement with a proposal, moves it higher on the proposal queue, and
+ requires a matching deposit to the original.
+- `vote` - Votes in a referendum, either the vote is "Aye" to enact the proposal or "Nay" to
+ keep the status quo.
+- `unvote` - Cancel a previous vote, this must be done by the voter before the vote ends.
+- `delegate` - Delegates the voting power (tokens * conviction) to another account.
+- `undelegate` - Stops the delegation of voting power to another account.
+
+Administration actions that can be done to any account:
+- `reap_vote` - Remove some account's expired votes.
+- `unlock` - Redetermine the account's balance lock, potentially making tokens available.
+
+Preimage actions:
+- `note_preimage` - Registers the preimage for an upcoming proposal, requires
+ a deposit that is returned once the proposal is enacted.
+- `note_preimage_operational` - same but provided by `T::OperationalPreimageOrigin`.
+- `note_imminent_preimage` - Registers the preimage for an upcoming proposal.
+ Does not require a deposit, but the proposal must be in the dispatch queue.
+- `note_imminent_preimage_operational` - same but provided by `T::OperationalPreimageOrigin`.
+- `reap_preimage` - Removes the preimage for an expired proposal. Will only
+ work under the condition that it's the same account that noted it and
+ after the voting period, OR it's a different account after the enactment period.
+
+#### Cancellation Origin
+
+This call can only be made by the `CancellationOrigin`.
+
+- `emergency_cancel` - Schedules an emergency cancellation of a referendum.
+ Can only happen once to a specific referendum.
+
+#### ExternalOrigin
+
+This call can only be made by the `ExternalOrigin`.
+
+- `external_propose` - Schedules a proposal to become a referendum once it is is legal
+ for an externally proposed referendum.
+
+#### External Majority Origin
+
+This call can only be made by the `ExternalMajorityOrigin`.
+
+- `external_propose_majority` - Schedules a proposal to become a majority-carries
+ referendum once it is legal for an externally proposed referendum.
+
+#### External Default Origin
+
+This call can only be made by the `ExternalDefaultOrigin`.
+
+- `external_propose_default` - Schedules a proposal to become a negative-turnout-bias
+ referendum once it is legal for an externally proposed referendum.
+
+#### Fast Track Origin
+
+This call can only be made by the `FastTrackOrigin`.
+
+- `fast_track` - Schedules the current externally proposed proposal that
+ is "majority-carries" to become a referendum immediately.
+
+#### Veto Origin
+
+This call can only be made by the `VetoOrigin`.
+
+- `veto_external` - Vetoes and blacklists the external proposal hash.
+
+#### Root
+
+- `cancel_referendum` - Removes a referendum.
+- `cancel_queued` - Cancels a proposal that is queued for enactment.
+- `clear_public_proposal` - Removes all public proposals.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/elections-phragmen/Cargo.toml b/frame/elections-phragmen/Cargo.toml
index 83ac253a8ba82..3f27df1c56402 100644
--- a/frame/elections-phragmen/Cargo.toml
+++ b/frame/elections-phragmen/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-elections-phragmen"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,19 +14,19 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
serde = { version = "1.0.101", optional = true }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-npos-elections = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/npos-elections" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-npos-elections = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/npos-elections" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
[dev-dependencies]
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io" }
hex-literal = "0.2.1"
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-substrate-test-utils = { version = "2.0.0-rc5", path = "../../test-utils" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+substrate-test-utils = { version = "2.0.0-rc6", path = "../../test-utils" }
[features]
default = ["std"]
diff --git a/frame/elections-phragmen/README.md b/frame/elections-phragmen/README.md
new file mode 100644
index 0000000000000..651b8f6aa6941
--- /dev/null
+++ b/frame/elections-phragmen/README.md
@@ -0,0 +1,67 @@
+# Phragmén Election Module.
+
+An election module based on sequential phragmen.
+
+### Term and Round
+
+The election happens in _rounds_: every `N` blocks, all previous members are retired and a new
+set is elected (which may or may not have an intersection with the previous set). Each round
+lasts for some number of blocks defined by `TermDuration` storage item. The words _term_ and
+_round_ can be used interchangeably in this context.
+
+`TermDuration` might change during a round. This can shorten or extend the length of the round.
+The next election round's block number is never stored but rather always checked on the fly.
+Based on the current block number and `TermDuration`, the condition `BlockNumber % TermDuration
+== 0` being satisfied will always trigger a new election round.
+
+### Voting
+
+Voters can vote for any set of the candidates by providing a list of account ids. Invalid votes
+(voting for non-candidates) are ignored during election. Yet, a voter _might_ vote for a future
+candidate. Voters reserve a bond as they vote. Each vote defines a `value`. This amount is
+locked from the account of the voter and indicates the weight of the vote. Voters can update
+their votes at any time by calling `vote()` again. This keeps the bond untouched but can
+optionally change the locked `value`. After a round, votes are kept and might still be valid for
+further rounds. A voter is responsible for calling `remove_voter` once they are done to have
+their bond back and remove the lock.
+
+Voters also report other voters as being defunct to earn their bond. A voter is defunct once all
+of the candidates that they have voted for are neither a valid candidate anymore nor a member.
+Upon reporting, if the target voter is actually defunct, the reporter will be rewarded by the
+voting bond of the target. The target will lose their bond and get removed. If the target is not
+defunct, the reporter is slashed and removed. To prevent being reported, voters should manually
+submit a `remove_voter()` as soon as they are in the defunct state.
+
+### Candidacy and Members
+
+Candidates also reserve a bond as they submit candidacy. A candidate cannot take their candidacy
+back. A candidate can end up in one of the below situations:
+ - **Winner**: A winner is kept as a _member_. They must still have a bond in reserve and they
+ are automatically counted as a candidate for the next election.
+ - **Runner-up**: Runners-up are the best candidates immediately after the winners. The number
+ of runners_up to keep is configurable. Runners-up are used, in order that they are elected,
+ as replacements when a candidate is kicked by `[remove_member]`, or when an active member
+ renounces their candidacy. Runners are automatically counted as a candidate for the next
+ election.
+ - **Loser**: Any of the candidate who are not a winner are left as losers. A loser might be an
+ _outgoing member or runner_, meaning that they are an active member who failed to keep their
+ spot. An outgoing will always lose their bond.
+
+##### Renouncing candidacy.
+
+All candidates, elected or not, can renounce their candidacy. A call to [`Module::renounce_candidacy`]
+will always cause the candidacy bond to be refunded.
+
+Note that with the members being the default candidates for the next round and votes persisting
+in storage, the election system is entirely stable given no further input. This means that if
+the system has a particular set of candidates `C` and voters `V` that lead to a set of members
+`M` being elected, as long as `V` and `C` don't remove their candidacy and votes, `M` will keep
+being re-elected at the end of each round.
+
+### Module Information
+
+- [`election_sp_phragmen::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+- [`Module`](./struct.Module.html)
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/elections/Cargo.toml b/frame/elections/Cargo.toml
index 8226512a6263f..58dba26af980e 100644
--- a/frame/elections/Cargo.toml
+++ b/frame/elections/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-elections"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,16 +14,16 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
hex-literal = "0.2.1"
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
[features]
default = ["std"]
diff --git a/frame/elections/README.md b/frame/elections/README.md
new file mode 100644
index 0000000000000..1f6fd42331c15
--- /dev/null
+++ b/frame/elections/README.md
@@ -0,0 +1,7 @@
+Election module for stake-weighted membership selection of a collective.
+
+The composition of a set of account IDs works according to one or more approval votes
+weighted by stake. There is a partial carry-over facility to give greater weight to those
+whose voting is serially unsuccessful.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/evm/Cargo.toml b/frame/evm/Cargo.toml
index 43ecc6f3688cf..0f14f3afe4862 100644
--- a/frame/evm/Cargo.toml
+++ b/frame/evm/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-evm"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,14 +14,14 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-pallet-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../timestamp" }
-pallet-balances = { version = "2.0.0-rc5", default-features = false, path = "../balances" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+pallet-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../timestamp" }
+pallet-balances = { version = "2.0.0-rc6", default-features = false, path = "../balances" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
primitive-types = { version = "0.7.0", default-features = false, features = ["rlp"] }
rlp = { version = "0.4", default-features = false }
evm = { version = "0.17", default-features = false }
diff --git a/frame/evm/README.md b/frame/evm/README.md
new file mode 100644
index 0000000000000..f8feadbf58eb4
--- /dev/null
+++ b/frame/evm/README.md
@@ -0,0 +1,3 @@
+EVM execution module for Substrate
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/example-offchain-worker/Cargo.toml b/frame/example-offchain-worker/Cargo.toml
index 5f11bd54a45fc..d8bc2a697dba3 100644
--- a/frame/example-offchain-worker/Cargo.toml
+++ b/frame/example-offchain-worker/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-example-offchain-worker"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Unlicense"
@@ -13,13 +13,13 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
serde = { version = "1.0.101", optional = true }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
lite-json = { version = "0.1", default-features = false }
[features]
diff --git a/frame/example-offchain-worker/README.md b/frame/example-offchain-worker/README.md
new file mode 100644
index 0000000000000..51ddaa3a9ec73
--- /dev/null
+++ b/frame/example-offchain-worker/README.md
@@ -0,0 +1,26 @@
+# Offchain Worker Example Module
+
+The Offchain Worker Example: A simple pallet demonstrating
+concepts, APIs and structures common to most offchain workers.
+
+Run `cargo doc --package pallet-example-offchain-worker --open` to view this module's
+documentation.
+
+- [`pallet_example_offchain_worker::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+- [`Module`](./struct.Module.html)
+
+
+## Overview
+
+In this example we are going to build a very simplistic, naive and definitely NOT
+production-ready oracle for BTC/USD price.
+Offchain Worker (OCW) will be triggered after every block, fetch the current price
+and prepare either signed or unsigned transaction to feed the result back on chain.
+The on-chain logic will simply aggregate the results and store last `64` values to compute
+the average price.
+Additional logic in OCW is put in place to prevent spamming the network with both signed
+and unsigned transactions, and custom `UnsignedValidator` makes sure that there is only
+one unsigned transaction floating in the network.
+
+License: Unlicense
\ No newline at end of file
diff --git a/frame/example/Cargo.toml b/frame/example/Cargo.toml
index 2f7af90d76d2f..29e1208419d2b 100644
--- a/frame/example/Cargo.toml
+++ b/frame/example/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-example"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Unlicense"
@@ -14,17 +14,17 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-pallet-balances = { version = "2.0.0-rc5", default-features = false, path = "../balances" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+pallet-balances = { version = "2.0.0-rc6", default-features = false, path = "../balances" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core", default-features = false }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core", default-features = false }
[features]
default = ["std"]
diff --git a/frame/example/README.md b/frame/example/README.md
new file mode 100644
index 0000000000000..8f4729a4ce469
--- /dev/null
+++ b/frame/example/README.md
@@ -0,0 +1,237 @@
+# Example Pallet
+
+
+The Example: A simple example of a FRAME pallet demonstrating
+concepts, APIs and structures common to most FRAME runtimes.
+
+Run `cargo doc --package pallet-example --open` to view this pallet's documentation.
+
+### Documentation Guidelines:
+
+
+
+
+ - Documentation comments (i.e.
/// comment
) - should
+ accompany pallet functions and be restricted to the pallet interface,
+ not the internals of the pallet implementation. Only state inputs,
+ outputs, and a brief description that mentions whether calling it
+ requires root, but without repeating the source code details.
+ Capitalize the first word of each documentation comment and end it with
+ a full stop. See
+ Generic example of annotating source code with documentation comments
+ - Self-documenting code - Try to refactor code to be self-documenting.
+ - Code comments - Supplement complex code with a brief explanation, not every line of code.
+ - Identifiers - surround by backticks (i.e.
INHERENT_IDENTIFIER
, InherentType
,
+ u64
)
+ - Usage scenarios - should be simple doctests. The compiler should ensure they stay valid.
+ - Extended tutorials - should be moved to external files and refer to.
+
+ - Mandatory - include all of the sections/subsections where MUST is specified.
+ - Optional - optionally include sections/subsections where CAN is specified.
+
+
+### Documentation Template:
+
+Copy and paste this template from frame/example/src/lib.rs into file
+`frame//src/lib.rs` of your own custom pallet and complete it.
+
+// Add heading with custom pallet name
+
+\# Pallet
+
+// Add simple description
+
+// Include the following links that shows what trait needs to be implemented to use the pallet
+// and the supported dispatchables that are documented in the Call enum.
+
+- \[`::Trait`](./trait.Trait.html)
+- \[`Call`](./enum.Call.html)
+- \[`Module`](./struct.Module.html)
+
+\## Overview
+
+
+// Short description of pallet's purpose.
+// Links to Traits that should be implemented.
+// What this pallet is for.
+// What functionality the pallet provides.
+// When to use the pallet (use case examples).
+// How it is used.
+// Inputs it uses and the source of each input.
+// Outputs it produces.
+
+
+
+
+\## Terminology
+
+// Add terminology used in the custom pallet. Include concepts, storage items, or actions that you think
+// deserve to be noted to give context to the rest of the documentation or pallet usage. The author needs to
+// use some judgment about what is included. We don't want a list of every storage item nor types - the user
+// can go to the code for that. For example, "transfer fee" is obvious and should not be included, but
+// "free balance" and "reserved balance" should be noted to give context to the pallet.
+// Please do not link to outside resources. The reference docs should be the ultimate source of truth.
+
+
+
+\## Goals
+
+// Add goals that the custom pallet is designed to achieve.
+
+
+
+\### Scenarios
+
+
+
+\####
+
+// Describe requirements prior to interacting with the custom pallet.
+// Describe the process of interacting with the custom pallet for this scenario and public API functions used.
+
+\## Interface
+
+\### Supported Origins
+
+// What origins are used and supported in this pallet (root, signed, none)
+// i.e. root when \`ensure_root\`
used
+// i.e. none when \`ensure_none\`
used
+// i.e. signed when \`ensure_signed\`
used
+
+\`inherent\`
+
+
+
+
+\### Types
+
+// Type aliases. Include any associated types and where the user would typically define them.
+
+\`ExampleType\`
+
+
+
+// Reference documentation of aspects such as `storageItems` and `dispatchable` functions should only be
+// included in the https://docs.rs Rustdocs for Substrate and not repeated in the README file.
+
+\### Dispatchable Functions
+
+
+
+// A brief description of dispatchable functions and a link to the rustdoc with their actual documentation.
+
+// MUST have link to Call enum
+// MUST have origin information included in function doc
+// CAN have more info up to the user
+
+\### Public Functions
+
+
+
+// A link to the rustdoc and any notes about usage in the pallet, not for specific functions.
+// For example, in the Balances Pallet: "Note that when using the publicly exposed functions,
+// you (the runtime developer) are responsible for implementing any necessary checks
+// (e.g. that the sender is the signer) before calling a function that will affect storage."
+
+
+
+// It is up to the writer of the respective pallet (with respect to how much information to provide).
+
+\#### Public Inspection functions - Immutable (getters)
+
+// Insert a subheading for each getter function signature
+
+\##### \`example_getter_name()\`
+
+// What it returns
+// Why, when, and how often to call it
+// When it could panic or error
+// When safety issues to consider
+
+\#### Public Mutable functions (changing state)
+
+// Insert a subheading for each setter function signature
+
+\##### \`example_setter_name(origin, parameter_name: T::ExampleType)\`
+
+// What state it changes
+// Why, when, and how often to call it
+// When it could panic or error
+// When safety issues to consider
+// What parameter values are valid and why
+
+\### Storage Items
+
+// Explain any storage items included in this pallet
+
+\### Digest Items
+
+// Explain any digest items included in this pallet
+
+\### Inherent Data
+
+// Explain what inherent data (if any) is defined in the pallet and any other related types
+
+\### Events:
+
+// Insert events for this pallet if any
+
+\### Errors:
+
+// Explain what generates errors
+
+\## Usage
+
+// Insert 2-3 examples of usage and code snippets that show how to
+// use Pallet in a custom pallet.
+
+\### Prerequisites
+
+// Show how to include necessary imports for and derive
+// your pallet configuration trait with the `INSERT_CUSTOM_PALLET_NAME` trait.
+
+\```rust
+use ;
+
+pub trait Trait: ::Trait { }
+\```
+
+\### Simple Code Snippet
+
+// Show a simple example (e.g. how to query a public getter function of )
+
+\### Example from FRAME
+
+// Show a usage example in an actual runtime
+
+// See:
+// - Substrate TCR https://github.com/parity-samples/substrate-tcr
+// - Substrate Kitties https://shawntabrizi.github.io/substrate-collectables-workshop/#/
+
+\## Genesis Config
+
+
+
+\## Dependencies
+
+// Dependencies on other FRAME pallets and the genesis config should be mentioned,
+// but not the Rust Standard Library.
+// Genesis configuration modifications that may be made to incorporate this pallet
+// Interaction with other pallets
+
+
+
+\## Related Pallets
+
+// Interaction with other pallets in the form of a bullet point list
+
+\## References
+
+
+
+// Links to reference material, if applicable. For example, Phragmen, W3F research, etc.
+// that the implementation is based on.
+
+
+License: Unlicense
\ No newline at end of file
diff --git a/frame/executive/Cargo.toml b/frame/executive/Cargo.toml
index ea123bd6e7fb8..bb2cd57897872 100644
--- a/frame/executive/Cargo.toml
+++ b/frame/executive/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-executive"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,22 +13,22 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
serde = { version = "1.0.101", optional = true }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-tracing = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/tracing" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-tracing = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/tracing" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
[dev-dependencies]
hex-literal = "0.2.1"
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-io ={ version = "2.0.0-rc5", path = "../../primitives/io" }
-pallet-indices = { version = "2.0.0-rc5", path = "../indices" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
-pallet-transaction-payment = { version = "2.0.0-rc5", path = "../transaction-payment" }
-sp-version = { version = "2.0.0-rc5", path = "../../primitives/version" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-io ={ version = "2.0.0-rc6", path = "../../primitives/io" }
+pallet-indices = { version = "2.0.0-rc6", path = "../indices" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
+pallet-transaction-payment = { version = "2.0.0-rc6", path = "../transaction-payment" }
+sp-version = { version = "2.0.0-rc6", path = "../../primitives/version" }
[features]
default = ["std"]
diff --git a/frame/executive/README.md b/frame/executive/README.md
new file mode 100644
index 0000000000000..017aa5d044431
--- /dev/null
+++ b/frame/executive/README.md
@@ -0,0 +1,61 @@
+# Executive Module
+
+The Executive module acts as the orchestration layer for the runtime. It dispatches incoming
+extrinsic calls to the respective modules in the runtime.
+
+## Overview
+
+The executive module is not a typical pallet providing functionality around a specific feature.
+It is a cross-cutting framework component for the FRAME. It works in conjunction with the
+[FRAME System module](../frame_system/index.html) to perform these cross-cutting functions.
+
+The Executive module provides functions to:
+
+- Check transaction validity.
+- Initialize a block.
+- Apply extrinsics.
+- Execute a block.
+- Finalize a block.
+- Start an off-chain worker.
+
+### Implementations
+
+The Executive module provides the following implementations:
+
+- `ExecuteBlock`: Trait that can be used to execute a block.
+- `Executive`: Type that can be used to make the FRAME available from the runtime.
+
+## Usage
+
+The default Substrate node template declares the [`Executive`](./struct.Executive.html) type in its library.
+
+### Example
+
+`Executive` type declaration from the node template.
+
+```rust
+#
+/// Executive: handles dispatch to the various modules.
+pub type Executive = executive::Executive;
+```
+
+### Custom `OnRuntimeUpgrade` logic
+
+You can add custom logic that should be called in your runtime on a runtime upgrade. This is
+done by setting an optional generic parameter. The custom logic will be called before
+the on runtime upgrade logic of all modules is called.
+
+```rust
+#
+struct CustomOnRuntimeUpgrade;
+impl frame_support::traits::OnRuntimeUpgrade for CustomOnRuntimeUpgrade {
+ fn on_runtime_upgrade() -> frame_support::weights::Weight {
+ // Do whatever you want.
+ 0
+ }
+}
+
+pub type Executive = executive::Executive;
+```
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/finality-tracker/Cargo.toml b/frame/finality-tracker/Cargo.toml
index 9b54717e4dbb1..2f3d504879eb2 100644
--- a/frame/finality-tracker/Cargo.toml
+++ b/frame/finality-tracker/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-finality-tracker"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -16,17 +16,17 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", default-features = false, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/inherents" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-finality-tracker = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/finality-tracker" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/inherents" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-finality-tracker = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/finality-tracker" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
impl-trait-for-tuples = "0.1.3"
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
[features]
default = ["std"]
diff --git a/frame/finality-tracker/README.md b/frame/finality-tracker/README.md
new file mode 100644
index 0000000000000..bf42605ffc6f9
--- /dev/null
+++ b/frame/finality-tracker/README.md
@@ -0,0 +1,3 @@
+FRAME Pallet that tracks the last finalized block, as perceived by block authors.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/generic-asset/Cargo.toml b/frame/generic-asset/Cargo.toml
index e1e5903062796..9dfc76991589d 100644
--- a/frame/generic-asset/Cargo.toml
+++ b/frame/generic-asset/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-generic-asset"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Centrality Developers "]
edition = "2018"
license = "Apache-2.0"
@@ -14,14 +14,14 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
-sp-io ={ version = "2.0.0-rc5", path = "../../primitives/io" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
+sp-io ={ version = "2.0.0-rc6", path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
[features]
default = ["std"]
diff --git a/frame/generic-asset/README.md b/frame/generic-asset/README.md
new file mode 100644
index 0000000000000..ab82be54b2080
--- /dev/null
+++ b/frame/generic-asset/README.md
@@ -0,0 +1,131 @@
+# Generic Asset Module
+
+The Generic Asset module provides functionality for handling accounts and asset balances.
+
+## Overview
+
+The Generic Asset module provides functions for:
+
+- Creating a new kind of asset.
+- Setting permissions of an asset.
+- Getting and setting free balances.
+- Retrieving total, reserved and unreserved balances.
+- Repatriating a reserved balance to a beneficiary account.
+- Transferring a balance between accounts (when not reserved).
+- Slashing an account balance.
+- Managing total issuance.
+- Setting and managing locks.
+
+### Terminology
+
+- **Staking Asset:** The asset for staking, to participate as Validators in the network.
+- **Spending Asset:** The asset for payment, such as paying transfer fees, gas fees, etc.
+- **Permissions:** A set of rules for a kind of asset, defining the allowed operations to the asset, and which
+accounts are allowed to possess it.
+- **Total Issuance:** The total number of units in existence in a system.
+- **Free Balance:** The portion of a balance that is not reserved. The free balance is the only balance that matters
+for most operations. When this balance falls below the existential deposit, most functionality of the account is
+removed. When both it and the reserved balance are deleted, then the account is said to be dead.
+- **Reserved Balance:** Reserved balance still belongs to the account holder, but is suspended. Reserved balance
+can still be slashed, but only after all the free balance has been slashed. If the reserved balance falls below the
+existential deposit then it and any related functionality will be deleted. When both it and the free balance are
+deleted, then the account is said to be dead.
+- **Imbalance:** A condition when some assets were credited or debited without equal and opposite accounting
+(i.e. a difference between total issuance and account balances). Functions that result in an imbalance will
+return an object of the `Imbalance` trait that can be managed within your runtime logic. (If an imbalance is
+simply dropped, it should automatically maintain any book-keeping such as total issuance.)
+- **Lock:** A freeze on a specified amount of an account's free balance until a specified block number. Multiple
+locks always operate over the same funds, so they "overlay" rather than "stack".
+
+### Implementations
+
+The Generic Asset module provides `AssetCurrency`, which implements the following traits. If these traits provide
+the functionality that you need, you can avoid coupling with the Generic Asset module.
+
+- `Currency`: Functions for dealing with a fungible assets system.
+- `ReservableCurrency`: Functions for dealing with assets that can be reserved from an account.
+- `LockableCurrency`: Functions for dealing with accounts that allow liquidity restrictions.
+- `Imbalance`: Functions for handling imbalances between total issuance in the system and account balances.
+Must be used when a function creates new assets (e.g. a reward) or destroys some assets (e.g. a system fee).
+
+The Generic Asset module provides two types of `AssetCurrency` as follows.
+
+- `StakingAssetCurrency`: Currency for staking.
+- `SpendingAssetCurrency`: Currency for payments such as transfer fee, gas fee.
+
+## Interface
+
+### Dispatchable Functions
+
+- `create`: Create a new kind of asset.
+- `transfer`: Transfer some liquid free balance to another account.
+- `update_permission`: Updates permission for a given `asset_id` and an account. The origin of this call
+must have update permissions.
+- `mint`: Mint an asset, increases its total issuance. The origin of this call must have mint permissions.
+- `burn`: Burn an asset, decreases its total issuance. The origin of this call must have burn permissions.
+- `create_reserved`: Create a new kind of reserved asset. The origin of this call must be root.
+
+### Public Functions
+
+- `total_balance`: Get an account's total balance of an asset kind.
+- `free_balance`: Get an account's free balance of an asset kind.
+- `reserved_balance`: Get an account's reserved balance of an asset kind.
+- `create_asset`: Creates an asset.
+- `make_transfer`: Transfer some liquid free balance from one account to another.
+This will not emit the `Transferred` event.
+- `make_transfer_with_event`: Transfer some liquid free balance from one account to another.
+This will emit the `Transferred` event.
+- `reserve`: Moves an amount from free balance to reserved balance.
+- `unreserve`: Move up to an amount from reserved balance to free balance. This function cannot fail.
+- `mint_free`: Mint to an account's free balance.
+- `burn_free`: Burn an account's free balance.
+- `slash`: Deduct up to an amount from the combined balance of `who`, preferring to deduct from the
+ free balance. This function cannot fail.
+- `slash_reserved`: Deduct up to an amount from reserved balance of an account. This function cannot fail.
+- `repatriate_reserved`: Move up to an amount from reserved balance of an account to free balance of another
+account.
+- `check_permission`: Check permission to perform burn, mint or update.
+- `ensure_can_withdraw`: Check if the account is able to make a withdrawal of the given amount
+ for the given reason.
+
+### Usage
+
+The following examples show how to use the Generic Asset Pallet in your custom pallet.
+
+### Examples from the FRAME pallet
+
+The Fees Pallet uses the `Currency` trait to handle fee charge/refund, and its types inherit from `Currency`:
+
+```rust
+use frame_support::{
+ dispatch,
+ traits::{Currency, ExistenceRequirement, WithdrawReason},
+};
+type AssetOf = <::Currency as Currency<::AccountId>>::Balance;
+
+fn charge_fee(transactor: &T::AccountId, amount: AssetOf) -> dispatch::DispatchResult {
+ // ...
+ T::Currency::withdraw(
+ transactor,
+ amount,
+ WithdrawReason::TransactionPayment.into(),
+ ExistenceRequirement::KeepAlive,
+ )?;
+ // ...
+ Ok(())
+}
+
+fn refund_fee(transactor: &T::AccountId, amount: AssetOf) -> dispatch::DispatchResult {
+ // ...
+ T::Currency::deposit_into_existing(transactor, amount)?;
+ // ...
+ Ok(())
+}
+
+```
+
+## Genesis config
+
+The Generic Asset Pallet depends on the [`GenesisConfig`](./struct.GenesisConfig.html).
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/grandpa/Cargo.toml b/frame/grandpa/Cargo.toml
index 004255b9e1e33..fcfa15813dc03 100644
--- a/frame/grandpa/Cargo.toml
+++ b/frame/grandpa/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-grandpa"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,30 +14,30 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/application-crypto" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-finality-grandpa = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/finality-grandpa" }
-sp-session = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/session" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-staking = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/staking" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-pallet-authorship = { version = "2.0.0-rc5", default-features = false, path = "../authorship" }
-pallet-session = { version = "2.0.0-rc5", default-features = false, path = "../session" }
-pallet-finality-tracker = { version = "2.0.0-rc5", default-features = false, path = "../finality-tracker" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/application-crypto" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-finality-grandpa = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/finality-grandpa" }
+sp-session = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/session" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-staking = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/staking" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+pallet-authorship = { version = "2.0.0-rc6", default-features = false, path = "../authorship" }
+pallet-session = { version = "2.0.0-rc6", default-features = false, path = "../session" }
+pallet-finality-tracker = { version = "2.0.0-rc6", default-features = false, path = "../finality-tracker" }
[dev-dependencies]
-frame-benchmarking = { version = "2.0.0-rc5", path = "../benchmarking" }
+frame-benchmarking = { version = "2.0.0-rc6", path = "../benchmarking" }
grandpa = { package = "finality-grandpa", version = "0.12.3", features = ["derive-codec"] }
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
-sp-keyring = { version = "2.0.0-rc5", path = "../../primitives/keyring" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
-pallet-offences = { version = "2.0.0-rc5", path = "../offences" }
-pallet-staking = { version = "2.0.0-rc5", path = "../staking" }
-pallet-staking-reward-curve = { version = "2.0.0-rc5", path = "../staking/reward-curve" }
-pallet-timestamp = { version = "2.0.0-rc5", path = "../timestamp" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../primitives/keyring" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
+pallet-offences = { version = "2.0.0-rc6", path = "../offences" }
+pallet-staking = { version = "2.0.0-rc6", path = "../staking" }
+pallet-staking-reward-curve = { version = "2.0.0-rc6", path = "../staking/reward-curve" }
+pallet-timestamp = { version = "2.0.0-rc6", path = "../timestamp" }
[features]
default = ["std"]
diff --git a/frame/grandpa/README.md b/frame/grandpa/README.md
new file mode 100644
index 0000000000000..84b181a8b31e1
--- /dev/null
+++ b/frame/grandpa/README.md
@@ -0,0 +1,12 @@
+GRANDPA Consensus module for runtime.
+
+This manages the GRANDPA authority set ready for the native code.
+These authorities are only for GRANDPA finality, not for consensus overall.
+
+In the future, it will also handle misbehavior reports, and on-chain
+finality notifications.
+
+For full integration with GRANDPA, the `GrandpaApi` should be implemented.
+The necessary items are re-exported via the `fg_primitives` crate.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/identity/Cargo.toml b/frame/identity/Cargo.toml
index 99e147b3141ce..6e6289a9dea74 100644
--- a/frame/identity/Cargo.toml
+++ b/frame/identity/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-identity"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -15,16 +15,16 @@ targets = ["x86_64-unknown-linux-gnu"]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
enumflags2 = { version = "0.6.2" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
[features]
default = ["std"]
diff --git a/frame/identity/README.md b/frame/identity/README.md
new file mode 100644
index 0000000000000..de2f415cdf73e
--- /dev/null
+++ b/frame/identity/README.md
@@ -0,0 +1,56 @@
+# Identity Module
+
+- [`identity::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+A federated naming system, allowing for multiple registrars to be added from a specified origin.
+Registrars can set a fee to provide identity-verification service. Anyone can put forth a
+proposed identity for a fixed deposit and ask for review by any number of registrars (paying
+each of their fees). Registrar judgements are given as an `enum`, allowing for sophisticated,
+multi-tier opinions.
+
+Some judgements are identified as *sticky*, which means they cannot be removed except by
+complete removal of the identity, or by the registrar. Judgements are allowed to represent a
+portion of funds that have been reserved for the registrar.
+
+A super-user can remove accounts and in doing so, slash the deposit.
+
+All accounts may also have a limited number of sub-accounts which may be specified by the owner;
+by definition, these have equivalent ownership and each has an individual name.
+
+The number of registrars should be limited, and the deposit made sufficiently large, to ensure
+no state-bloat attack is viable.
+
+## Interface
+
+### Dispatchable Functions
+
+#### For general users
+* `set_identity` - Set the associated identity of an account; a small deposit is reserved if not
+ already taken.
+* `clear_identity` - Remove an account's associated identity; the deposit is returned.
+* `request_judgement` - Request a judgement from a registrar, paying a fee.
+* `cancel_request` - Cancel the previous request for a judgement.
+
+#### For general users with sub-identities
+* `set_subs` - Set the sub-accounts of an identity.
+* `add_sub` - Add a sub-identity to an identity.
+* `remove_sub` - Remove a sub-identity of an identity.
+* `rename_sub` - Rename a sub-identity of an identity.
+* `quit_sub` - Remove a sub-identity of an identity (called by the sub-identity).
+
+#### For registrars
+* `set_fee` - Set the fee required to be paid for a judgement to be given by the registrar.
+* `set_fields` - Set the fields that a registrar cares about in their judgements.
+* `provide_judgement` - Provide a judgement to an identity.
+
+#### For super-users
+* `add_registrar` - Add a new registrar to the system.
+* `kill_identity` - Forcibly remove the associated identity; the deposit is lost.
+
+[`Call`]: ./enum.Call.html
+[`Trait`]: ./trait.Trait.html
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/im-online/Cargo.toml b/frame/im-online/Cargo.toml
index 75fc4e2454cca..8541b46c9c879 100644
--- a/frame/im-online/Cargo.toml
+++ b/frame/im-online/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-im-online"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,20 +12,20 @@ description = "FRAME's I'm online pallet"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/application-crypto" }
-pallet-authorship = { version = "2.0.0-rc5", default-features = false, path = "../authorship" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/application-crypto" }
+pallet-authorship = { version = "2.0.0-rc6", default-features = false, path = "../authorship" }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
serde = { version = "1.0.101", optional = true }
-pallet-session = { version = "2.0.0-rc5", default-features = false, path = "../session" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-staking = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/staking" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+pallet-session = { version = "2.0.0-rc6", default-features = false, path = "../session" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-staking = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/staking" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
[features]
default = ["std", "pallet-session/historical"]
diff --git a/frame/im-online/README.md b/frame/im-online/README.md
new file mode 100644
index 0000000000000..c85705bd0ee6f
--- /dev/null
+++ b/frame/im-online/README.md
@@ -0,0 +1,51 @@
+# I'm online Module
+
+If the local node is a validator (i.e. contains an authority key), this module
+gossips a heartbeat transaction with each new session. The heartbeat functions
+as a simple mechanism to signal that the node is online in the current era.
+
+Received heartbeats are tracked for one era and reset with each new era. The
+module exposes two public functions to query if a heartbeat has been received
+in the current era or session.
+
+The heartbeat is a signed transaction, which was signed using the session key
+and includes the recent best block number of the local validators chain as well
+as the [NetworkState](../../client/offchain/struct.NetworkState.html).
+It is submitted as an Unsigned Transaction via off-chain workers.
+
+- [`im_online::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+- [`Module`](./struct.Module.html)
+
+## Interface
+
+### Public Functions
+
+- `is_online` - True if the validator sent a heartbeat in the current session.
+
+## Usage
+
+```rust
+use frame_support::{decl_module, dispatch};
+use frame_system::ensure_signed;
+use pallet_im_online::{self as im_online};
+
+pub trait Trait: im_online::Trait {}
+
+decl_module! {
+ pub struct Module for enum Call where origin: T::Origin {
+ #[weight = 0]
+ pub fn is_online(origin, authority_index: u32) -> dispatch::DispatchResult {
+ let _sender = ensure_signed(origin)?;
+ let _is_online = >::is_online(authority_index);
+ Ok(())
+ }
+ }
+}
+```
+
+## Dependencies
+
+This module depends on the [Session module](../pallet_session/index.html).
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/indices/Cargo.toml b/frame/indices/Cargo.toml
index 85ab36bc03905..25d5c2527a948 100644
--- a/frame/indices/Cargo.toml
+++ b/frame/indices/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-indices"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,18 +14,18 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-keyring = { version = "2.0.0-rc5", optional = true, path = "../../primitives/keyring" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-keyring = { version = "2.0.0-rc6", optional = true, path = "../../primitives/keyring" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
[dev-dependencies]
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
[features]
default = ["std"]
diff --git a/frame/indices/README.md b/frame/indices/README.md
new file mode 100644
index 0000000000000..243392780db28
--- /dev/null
+++ b/frame/indices/README.md
@@ -0,0 +1,4 @@
+An index is a short form of an address. This module handles allocation
+of indices for a newly created accounts.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/membership/Cargo.toml b/frame/membership/Cargo.toml
index fd138a97c7eac..8ebcce3de784c 100644
--- a/frame/membership/Cargo.toml
+++ b/frame/membership/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-membership"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,14 +14,14 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
[features]
default = ["std"]
diff --git a/frame/membership/README.md b/frame/membership/README.md
new file mode 100644
index 0000000000000..a769be497050e
--- /dev/null
+++ b/frame/membership/README.md
@@ -0,0 +1,6 @@
+# Membership Module
+
+Allows control of membership of a set of `AccountId`s, useful for managing membership of of a
+collective. A prime member may be set.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/metadata/Cargo.toml b/frame/metadata/Cargo.toml
index be508ef2c04ca..7e2cb28f5e43d 100644
--- a/frame/metadata/Cargo.toml
+++ b/frame/metadata/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-metadata"
-version = "11.0.0-rc5"
+version = "11.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,8 +14,8 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
[features]
default = ["std"]
diff --git a/frame/metadata/README.md b/frame/metadata/README.md
new file mode 100644
index 0000000000000..423af8602e3f0
--- /dev/null
+++ b/frame/metadata/README.md
@@ -0,0 +1,7 @@
+Decodable variant of the RuntimeMetadata.
+
+This really doesn't belong here, but is necessary for the moment. In the future
+it should be removed entirely to an external module for shimming on to the
+codec-encoded metadata.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/multisig/Cargo.toml b/frame/multisig/Cargo.toml
index aae3646644d0a..98db6477e3efb 100644
--- a/frame/multisig/Cargo.toml
+++ b/frame/multisig/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-multisig"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,18 +14,18 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
[features]
default = ["std"]
diff --git a/frame/multisig/README.md b/frame/multisig/README.md
new file mode 100644
index 0000000000000..c7694d8cb5969
--- /dev/null
+++ b/frame/multisig/README.md
@@ -0,0 +1,29 @@
+# Multisig Module
+A module for doing multisig dispatch.
+
+- [`multisig::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+This module contains functionality for multi-signature dispatch, a (potentially) stateful
+operation, allowing multiple signed
+origins (accounts) to coordinate and dispatch a call from a well-known origin, derivable
+deterministically from the set of account IDs and the threshold number of accounts from the
+set that must approve it. In the case that the threshold is just one then this is a stateless
+operation. This is useful for multisig wallets where cryptographic threshold signatures are
+not available or desired.
+
+## Interface
+
+### Dispatchable Functions
+
+* `as_multi` - Approve and if possible dispatch a call from a composite origin formed from a
+ number of signed origins.
+* `approve_as_multi` - Approve a call from a composite origin.
+* `cancel_as_multi` - Cancel a call from a composite origin.
+
+[`Call`]: ./enum.Call.html
+[`Trait`]: ./trait.Trait.html
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/nicks/Cargo.toml b/frame/nicks/Cargo.toml
index e63ed2c600d85..084469864994e 100644
--- a/frame/nicks/Cargo.toml
+++ b/frame/nicks/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-nicks"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,15 +14,15 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
[features]
default = ["std"]
diff --git a/frame/nicks/README.md b/frame/nicks/README.md
new file mode 100644
index 0000000000000..b021357bd7784
--- /dev/null
+++ b/frame/nicks/README.md
@@ -0,0 +1,23 @@
+# Nicks Module
+
+- [`nicks::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+Nicks is a trivial module for keeping track of account names on-chain. It makes no effort to
+create a name hierarchy, be a DNS replacement or provide reverse lookups.
+
+## Interface
+
+### Dispatchable Functions
+
+* `set_name` - Set the associated name of an account; a small deposit is reserved if not already
+ taken.
+* `clear_name` - Remove an account's associated name; the deposit is returned.
+* `kill_name` - Forcibly remove the associated name; the deposit is lost.
+
+[`Call`]: ./enum.Call.html
+[`Trait`]: ./trait.Trait.html
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/offences/Cargo.toml b/frame/offences/Cargo.toml
index db0c847e9a143..1585732a9f5ef 100644
--- a/frame/offences/Cargo.toml
+++ b/frame/offences/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-offences"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,18 +12,18 @@ description = "FRAME offences pallet"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-pallet-balances = { version = "2.0.0-rc5", default-features = false, path = "../balances" }
+pallet-balances = { version = "2.0.0-rc6", default-features = false, path = "../balances" }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
serde = { version = "1.0.101", optional = true }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-staking = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/staking" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-staking = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/staking" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
[features]
default = ["std"]
diff --git a/frame/offences/README.md b/frame/offences/README.md
new file mode 100644
index 0000000000000..454c7effaf36c
--- /dev/null
+++ b/frame/offences/README.md
@@ -0,0 +1,5 @@
+# Offences Module
+
+Tracks reported offences
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/offences/benchmarking/Cargo.toml b/frame/offences/benchmarking/Cargo.toml
index 12d4882e60bd0..d5bfe302cb5ea 100644
--- a/frame/offences/benchmarking/Cargo.toml
+++ b/frame/offences/benchmarking/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-offences-benchmarking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,26 +13,26 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../../benchmarking" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../../system" }
-pallet-babe = { version = "2.0.0-rc5", default-features = false, path = "../../babe" }
-pallet-balances = { version = "2.0.0-rc5", default-features = false, path = "../../balances" }
-pallet-grandpa = { version = "2.0.0-rc5", default-features = false, path = "../../grandpa" }
-pallet-im-online = { version = "2.0.0-rc5", default-features = false, path = "../../im-online" }
-pallet-offences = { version = "2.0.0-rc5", default-features = false, features = ["runtime-benchmarks"], path = "../../offences" }
-pallet-session = { version = "2.0.0-rc5", default-features = false, path = "../../session" }
-pallet-staking = { version = "2.0.0-rc5", default-features = false, features = ["runtime-benchmarks"], path = "../../staking" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/runtime" }
-sp-staking = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/staking" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/std" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../../benchmarking" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../../system" }
+pallet-babe = { version = "2.0.0-rc6", default-features = false, path = "../../babe" }
+pallet-balances = { version = "2.0.0-rc6", default-features = false, path = "../../balances" }
+pallet-grandpa = { version = "2.0.0-rc6", default-features = false, path = "../../grandpa" }
+pallet-im-online = { version = "2.0.0-rc6", default-features = false, path = "../../im-online" }
+pallet-offences = { version = "2.0.0-rc6", default-features = false, features = ["runtime-benchmarks"], path = "../../offences" }
+pallet-session = { version = "2.0.0-rc6", default-features = false, path = "../../session" }
+pallet-staking = { version = "2.0.0-rc6", default-features = false, features = ["runtime-benchmarks"], path = "../../staking" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/runtime" }
+sp-staking = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/staking" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/std" }
[dev-dependencies]
-pallet-staking-reward-curve = { version = "2.0.0-rc5", path = "../../staking/reward-curve" }
-pallet-timestamp = { version = "2.0.0-rc5", path = "../../timestamp" }
+pallet-staking-reward-curve = { version = "2.0.0-rc6", path = "../../staking/reward-curve" }
+pallet-timestamp = { version = "2.0.0-rc6", path = "../../timestamp" }
serde = { version = "1.0.101" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-io = { version = "2.0.0-rc5", path = "../../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-io = { version = "2.0.0-rc6", path = "../../../primitives/io" }
[features]
default = ["std"]
diff --git a/frame/offences/benchmarking/README.md b/frame/offences/benchmarking/README.md
new file mode 100644
index 0000000000000..cbfe91d73a6a7
--- /dev/null
+++ b/frame/offences/benchmarking/README.md
@@ -0,0 +1,3 @@
+Offences pallet benchmarking.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/proxy/Cargo.toml b/frame/proxy/Cargo.toml
index 155a139542006..77c9ae8bba6e1 100644
--- a/frame/proxy/Cargo.toml
+++ b/frame/proxy/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-proxy"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,19 +14,19 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
-pallet-utility = { version = "2.0.0-rc5", path = "../utility" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
+pallet-utility = { version = "2.0.0-rc6", path = "../utility" }
[features]
default = ["std"]
diff --git a/frame/proxy/README.md b/frame/proxy/README.md
new file mode 100644
index 0000000000000..105cf5561aee8
--- /dev/null
+++ b/frame/proxy/README.md
@@ -0,0 +1,17 @@
+# Proxy Module
+A module allowing accounts to give permission to other accounts to dispatch types of calls from
+their signed origin.
+
+- [`proxy::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+## Interface
+
+### Dispatchable Functions
+
+[`Call`]: ./enum.Call.html
+[`Trait`]: ./trait.Trait.html
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/randomness-collective-flip/Cargo.toml b/frame/randomness-collective-flip/Cargo.toml
index 28a16dc6411b6..0d0c5db0f49a5 100644
--- a/frame/randomness-collective-flip/Cargo.toml
+++ b/frame/randomness-collective-flip/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-randomness-collective-flip"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,14 +14,14 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
safe-mix = { version = "1.0", default-features = false }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io" }
[features]
default = ["std"]
diff --git a/frame/randomness-collective-flip/README.md b/frame/randomness-collective-flip/README.md
new file mode 100644
index 0000000000000..318f9d0f88b1e
--- /dev/null
+++ b/frame/randomness-collective-flip/README.md
@@ -0,0 +1,38 @@
+# Randomness Module
+
+The Randomness Collective Flip module provides a [`random`](./struct.Module.html#method.random)
+function that generates low-influence random values based on the block hashes from the previous
+`81` blocks. Low-influence randomness can be useful when defending against relatively weak
+adversaries. Using this pallet as a randomness source is advisable primarily in low-security
+situations like testing.
+
+## Public Functions
+
+See the [`Module`](./struct.Module.html) struct for details of publicly available functions.
+
+## Usage
+
+### Prerequisites
+
+Import the Randomness Collective Flip module and derive your module's configuration trait from
+the system trait.
+
+### Example - Get random seed for the current block
+
+```rust
+use frame_support::{decl_module, dispatch, traits::Randomness};
+
+pub trait Trait: frame_system::Trait {}
+
+decl_module! {
+ pub struct Module for enum Call where origin: T::Origin {
+ #[weight = 0]
+ pub fn random_module_example(origin) -> dispatch::DispatchResult {
+ let _random_value = >::random(&b"my context"[..]);
+ Ok(())
+ }
+ }
+}
+```
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/recovery/Cargo.toml b/frame/recovery/Cargo.toml
index 6302a817171c0..dfacac42fb44f 100644
--- a/frame/recovery/Cargo.toml
+++ b/frame/recovery/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-recovery"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -15,15 +15,15 @@ targets = ["x86_64-unknown-linux-gnu"]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
enumflags2 = { version = "0.6.2" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
[features]
default = ["std"]
diff --git a/frame/recovery/README.md b/frame/recovery/README.md
new file mode 100644
index 0000000000000..30631da1d9a44
--- /dev/null
+++ b/frame/recovery/README.md
@@ -0,0 +1,134 @@
+# Recovery Pallet
+
+- [`recovery::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+The Recovery pallet is an M-of-N social recovery tool for users to gain
+access to their accounts if the private key or other authentication mechanism
+is lost. Through this pallet, a user is able to make calls on-behalf-of another
+account which they have recovered. The recovery process is protected by trusted
+"friends" whom the original account owner chooses. A threshold (M) out of N
+friends are needed to give another account access to the recoverable account.
+
+### Recovery Configuration
+
+The recovery process for each recoverable account can be configured by the account owner.
+They are able to choose:
+* `friends` - The list of friends that the account owner trusts to protect the
+ recovery process for their account.
+* `threshold` - The number of friends that need to approve a recovery process for
+ the account to be successfully recovered.
+* `delay_period` - The minimum number of blocks after the beginning of the recovery
+ process that need to pass before the account can be successfully recovered.
+
+There is a configurable deposit that all users need to pay to create a recovery
+configuration. This deposit is composed of a base deposit plus a multiplier for
+the number of friends chosen. This deposit is returned in full when the account
+owner removes their recovery configuration.
+
+### Recovery Life Cycle
+
+The intended life cycle of a successful recovery takes the following steps:
+1. The account owner calls `create_recovery` to set up a recovery configuration
+ for their account.
+2. At some later time, the account owner loses access to their account and wants
+ to recover it. Likely, they will need to create a new account and fund it with
+ enough balance to support the transaction fees and the deposit for the
+ recovery process.
+3. Using this new account, they call `initiate_recovery`.
+4. Then the account owner would contact their configured friends to vouch for
+ the recovery attempt. The account owner would provide their old account id
+ and the new account id, and friends would call `vouch_recovery` with those
+ parameters.
+5. Once a threshold number of friends have vouched for the recovery attempt,
+ the account owner needs to wait until the delay period has passed, starting
+ when they initiated the recovery process.
+6. Now the account owner is able to call `claim_recovery`, which subsequently
+ allows them to call `as_recovered` and directly make calls on-behalf-of the lost
+ account.
+7. Using the now recovered account, the account owner can call `close_recovery`
+ on the recovery process they opened, reclaiming the recovery deposit they
+ placed.
+8. Then the account owner should then call `remove_recovery` to remove the recovery
+ configuration on the recovered account and reclaim the recovery configuration
+ deposit they placed.
+9. Using `as_recovered`, the account owner is able to call any other pallets
+ to clean up their state and reclaim any reserved or locked funds. They
+ can then transfer all funds from the recovered account to the new account.
+10. When the recovered account becomes reaped (i.e. its free and reserved
+ balance drops to zero), the final recovery link is removed.
+
+### Malicious Recovery Attempts
+
+Initializing a the recovery process for a recoverable account is open and
+permissionless. However, the recovery deposit is an economic deterrent that
+should disincentivize would-be attackers from trying to maliciously recover
+accounts.
+
+The recovery deposit can always be claimed by the account which is trying to
+to be recovered. In the case of a malicious recovery attempt, the account
+owner who still has access to their account can claim the deposit and
+essentially punish the malicious user.
+
+Furthermore, the malicious recovery attempt can only be successful if the
+attacker is also able to get enough friends to vouch for the recovery attempt.
+In the case where the account owner prevents a malicious recovery process,
+this pallet makes it near-zero cost to re-configure the recovery settings and
+remove/replace friends who are acting inappropriately.
+
+### Safety Considerations
+
+It is important to note that this is a powerful pallet that can compromise the
+security of an account if used incorrectly. Some recommended practices for users
+of this pallet are:
+
+* Configure a significant `delay_period` for your recovery process: As long as you
+ have access to your recoverable account, you need only check the blockchain once
+ every `delay_period` blocks to ensure that no recovery attempt is successful
+ against your account. Using off-chain notification systems can help with this,
+ but ultimately, setting a large `delay_period` means that even the most skilled
+ attacker will need to wait this long before they can access your account.
+* Use a high threshold of approvals: Setting a value of 1 for the threshold means
+ that any of your friends would be able to recover your account. They would
+ simply need to start a recovery process and approve their own process. Similarly,
+ a threshold of 2 would mean that any 2 friends could work together to gain
+ access to your account. The only way to prevent against these kinds of attacks
+ is to choose a high threshold of approvals and select from a diverse friend
+ group that would not be able to reasonably coordinate with one another.
+* Reset your configuration over time: Since the entire deposit of creating a
+ recovery configuration is returned to the user, the only cost of updating
+ your recovery configuration is the transaction fees for the calls. Thus,
+ it is strongly encouraged to regularly update your recovery configuration
+ as your life changes and your relationship with new and existing friends
+ change as well.
+
+## Interface
+
+### Dispatchable Functions
+
+#### For General Users
+
+* `create_recovery` - Create a recovery configuration for your account and make it recoverable.
+* `initiate_recovery` - Start the recovery process for a recoverable account.
+
+#### For Friends of a Recoverable Account
+* `vouch_recovery` - As a `friend` of a recoverable account, vouch for a recovery attempt on the account.
+
+#### For a User Who Successfully Recovered an Account
+
+* `claim_recovery` - Claim access to the account that you have successfully completed the recovery process for.
+* `as_recovered` - Send a transaction as an account that you have recovered. See other functions below.
+
+#### For the Recoverable Account
+
+* `close_recovery` - Close an active recovery process for your account and reclaim the recovery deposit.
+* `remove_recovery` - Remove the recovery configuration from the account, making it un-recoverable.
+
+#### For Super Users
+
+* `set_recovered` - The ROOT origin is able to skip the recovery process and directly allow
+ one account to access another.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/scheduler/Cargo.toml b/frame/scheduler/Cargo.toml
index 14a310ebe5041..ea759b15f9e5f 100644
--- a/frame/scheduler/Cargo.toml
+++ b/frame/scheduler/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-scheduler"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Unlicense"
@@ -11,17 +11,17 @@ description = "FRAME example pallet"
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.2.0", default-features = false }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core", default-features = false }
-substrate-test-utils = { version = "2.0.0-rc5", path = "../../test-utils" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core", default-features = false }
+substrate-test-utils = { version = "2.0.0-rc6", path = "../../test-utils" }
[features]
default = ["std"]
diff --git a/frame/scheduler/README.md b/frame/scheduler/README.md
new file mode 100644
index 0000000000000..f51d02a1d7bef
--- /dev/null
+++ b/frame/scheduler/README.md
@@ -0,0 +1,34 @@
+# Scheduler
+A module for scheduling dispatches.
+
+- [`scheduler::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+- [`Module`](./struct.Module.html)
+
+## Overview
+
+This module exposes capabilities for scheduling dispatches to occur at a
+specified block number or at a specified period. These scheduled dispatches
+may be named or anonymous and may be canceled.
+
+**NOTE:** The scheduled calls will be dispatched with the default filter
+for the origin: namely `frame_system::Trait::BaseCallFilter` for all origin
+except root which will get no filter. And not the filter contained in origin
+use to call `fn schedule`.
+
+If a call is scheduled using proxy or whatever mecanism which adds filter,
+then those filter will not be used when dispatching the schedule call.
+
+## Interface
+
+### Dispatchable Functions
+
+* `schedule` - schedule a dispatch, which may be periodic, to occur at a
+ specified block and with a specified priority.
+* `cancel` - cancel a scheduled dispatch, specified by block number and
+ index.
+* `schedule_named` - augments the `schedule` interface with an additional
+ `Vec` parameter that can be used for identification.
+* `cancel_named` - the named complement to the cancel function.
+
+License: Unlicense
\ No newline at end of file
diff --git a/frame/scored-pool/Cargo.toml b/frame/scored-pool/Cargo.toml
index 1c25b8abfdf04..cffb408422d1f 100644
--- a/frame/scored-pool/Cargo.toml
+++ b/frame/scored-pool/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-scored-pool"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,15 +14,15 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
serde = { version = "1.0.101", optional = true }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
[features]
default = ["std"]
diff --git a/frame/scored-pool/README.md b/frame/scored-pool/README.md
new file mode 100644
index 0000000000000..1cdbff72ef266
--- /dev/null
+++ b/frame/scored-pool/README.md
@@ -0,0 +1,66 @@
+# Scored Pool Module
+
+The module maintains a scored membership pool. Each entity in the
+pool can be attributed a `Score`. From this pool a set `Members`
+is constructed. This set contains the `MemberCount` highest
+scoring entities. Unscored entities are never part of `Members`.
+
+If an entity wants to be part of the pool a deposit is required.
+The deposit is returned when the entity withdraws or when it
+is removed by an entity with the appropriate authority.
+
+Every `Period` blocks the set of `Members` is refreshed from the
+highest scoring members in the pool and, no matter if changes
+occurred, `T::MembershipChanged::set_members_sorted` is invoked.
+On first load `T::MembershipInitialized::initialize_members` is
+invoked with the initial `Members` set.
+
+It is possible to withdraw candidacy/resign your membership at any
+time. If an entity is currently a member, this results in removal
+from the `Pool` and `Members`; the entity is immediately replaced
+by the next highest scoring candidate in the pool, if available.
+
+- [`scored_pool::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+- [`Module`](./struct.Module.html)
+
+## Interface
+
+### Public Functions
+
+- `submit_candidacy` - Submit candidacy to become a member. Requires a deposit.
+- `withdraw_candidacy` - Withdraw candidacy. Deposit is returned.
+- `score` - Attribute a quantitative score to an entity.
+- `kick` - Remove an entity from the pool and members. Deposit is returned.
+- `change_member_count` - Changes the amount of candidates taken into `Members`.
+
+## Usage
+
+```rust
+use frame_support::{decl_module, dispatch};
+use frame_system::ensure_signed;
+use pallet_scored_pool::{self as scored_pool};
+
+pub trait Trait: scored_pool::Trait {}
+
+decl_module! {
+ pub struct Module for enum Call where origin: T::Origin {
+ #[weight = 0]
+ pub fn candidate(origin) -> dispatch::DispatchResult {
+ let who = ensure_signed(origin)?;
+
+ let _ = >::submit_candidacy(
+ T::Origin::from(Some(who.clone()).into())
+ );
+ Ok(())
+ }
+ }
+}
+
+```
+
+## Dependencies
+
+This module depends on the [System module](../frame_system/index.html).
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/session/Cargo.toml b/frame/session/Cargo.toml
index b4150fb8e7836..81e2fc191f535 100644
--- a/frame/session/Cargo.toml
+++ b/frame/session/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-session"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,20 +14,20 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-session = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/session" }
-sp-staking = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/staking" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-pallet-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../timestamp" }
-sp-trie = { version = "2.0.0-rc5", optional = true, default-features = false, path = "../../primitives/trie" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-session = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/session" }
+sp-staking = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/staking" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+pallet-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../timestamp" }
+sp-trie = { version = "2.0.0-rc6", optional = true, default-features = false, path = "../../primitives/trie" }
impl-trait-for-tuples = "0.1.3"
[dev-dependencies]
-sp-application-crypto = { version = "2.0.0-rc5", path = "../../primitives/application-crypto" }
+sp-application-crypto = { version = "2.0.0-rc6", path = "../../primitives/application-crypto" }
lazy_static = "1.4.0"
[features]
diff --git a/frame/session/README.md b/frame/session/README.md
new file mode 100644
index 0000000000000..387f44798261a
--- /dev/null
+++ b/frame/session/README.md
@@ -0,0 +1,83 @@
+# Session Module
+
+The Session module allows validators to manage their session keys, provides a function for changing
+the session length, and handles session rotation.
+
+- [`session::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+- [`Module`](./struct.Module.html)
+
+## Overview
+
+### Terminology
+
+
+- **Session:** A session is a period of time that has a constant set of validators. Validators can only join
+or exit the validator set at a session change. It is measured in block numbers. The block where a session is
+ended is determined by the `ShouldEndSession` trait. When the session is ending, a new validator set
+can be chosen by `OnSessionEnding` implementations.
+- **Session key:** A session key is actually several keys kept together that provide the various signing
+functions required by network authorities/validators in pursuit of their duties.
+- **Validator ID:** Every account has an associated validator ID. For some simple staking systems, this
+may just be the same as the account ID. For staking systems using a stash/controller model,
+the validator ID would be the stash account ID of the controller.
+- **Session key configuration process:** Session keys are set using `set_keys` for use not in
+the next session, but the session after next. They are stored in `NextKeys`, a mapping between
+the caller's `ValidatorId` and the session keys provided. `set_keys` allows users to set their
+session key prior to being selected as validator.
+It is a public call since it uses `ensure_signed`, which checks that the origin is a signed account.
+As such, the account ID of the origin stored in `NextKeys` may not necessarily be associated with
+a block author or a validator. The session keys of accounts are removed once their account balance is zero.
+- **Session length:** This pallet does not assume anything about the length of each session.
+Rather, it relies on an implementation of `ShouldEndSession` to dictate a new session's start.
+This pallet provides the `PeriodicSessions` struct for simple periodic sessions.
+- **Session rotation configuration:** Configure as either a 'normal' (rewardable session where rewards are
+applied) or 'exceptional' (slashable) session rotation.
+- **Session rotation process:** At the beginning of each block, the `on_initialize` function
+queries the provided implementation of `ShouldEndSession`. If the session is to end the newly
+activated validator IDs and session keys are taken from storage and passed to the
+`SessionHandler`. The validator set supplied by `SessionManager::new_session` and the corresponding session
+keys, which may have been registered via `set_keys` during the previous session, are written
+to storage where they will wait one session before being passed to the `SessionHandler`
+themselves.
+
+### Goals
+
+The Session pallet is designed to make the following possible:
+
+- Set session keys of the validator set for upcoming sessions.
+- Control the length of sessions.
+- Configure and switch between either normal or exceptional session rotations.
+
+## Interface
+
+### Dispatchable Functions
+
+- `set_keys` - Set a validator's session keys for upcoming sessions.
+
+### Public Functions
+
+- `rotate_session` - Change to the next session. Register the new authority set. Queue changes
+for next session rotation.
+- `disable_index` - Disable a validator by index.
+- `disable` - Disable a validator by Validator ID
+
+## Usage
+
+### Example from the FRAME
+
+The [Staking pallet](../pallet_staking/index.html) uses the Session pallet to get the validator set.
+
+```rust
+use pallet_session as session;
+
+fn validators() -> Vec<::ValidatorId> {
+ >::validators()
+}
+```
+
+## Related Modules
+
+- [Staking](../pallet_staking/index.html)
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/session/benchmarking/Cargo.toml b/frame/session/benchmarking/Cargo.toml
index e784ff16e8523..c5e94aa61f0c3 100644
--- a/frame/session/benchmarking/Cargo.toml
+++ b/frame/session/benchmarking/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-session-benchmarking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,24 +12,24 @@ description = "FRAME sessions pallet benchmarking"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/std" }
-sp-session = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/session" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/runtime" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../../system" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../../benchmarking" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../../support" }
-pallet-staking = { version = "2.0.0-rc5", default-features = false, features = ["runtime-benchmarks"], path = "../../staking" }
-pallet-session = { version = "2.0.0-rc5", default-features = false, path = "../../session" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/std" }
+sp-session = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/session" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/runtime" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../../system" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../../benchmarking" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../../support" }
+pallet-staking = { version = "2.0.0-rc6", default-features = false, features = ["runtime-benchmarks"], path = "../../staking" }
+pallet-session = { version = "2.0.0-rc6", default-features = false, path = "../../session" }
rand = { version = "0.7.2", default-features = false }
[dev-dependencies]
serde = { version = "1.0.101" }
codec = { package = "parity-scale-codec", version = "1.3.4", features = ["derive"] }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-pallet-staking-reward-curve = { version = "2.0.0-rc5", path = "../../staking/reward-curve" }
-sp-io ={ version = "2.0.0-rc5", path = "../../../primitives/io" }
-pallet-timestamp = { version = "2.0.0-rc5", path = "../../timestamp" }
-pallet-balances = { version = "2.0.0-rc5", path = "../../balances" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+pallet-staking-reward-curve = { version = "2.0.0-rc6", path = "../../staking/reward-curve" }
+sp-io ={ version = "2.0.0-rc6", path = "../../../primitives/io" }
+pallet-timestamp = { version = "2.0.0-rc6", path = "../../timestamp" }
+pallet-balances = { version = "2.0.0-rc6", path = "../../balances" }
[features]
default = ["std"]
diff --git a/frame/session/benchmarking/README.md b/frame/session/benchmarking/README.md
new file mode 100644
index 0000000000000..d034a9ec73284
--- /dev/null
+++ b/frame/session/benchmarking/README.md
@@ -0,0 +1,3 @@
+Benchmarks for the Session Pallet.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/society/Cargo.toml b/frame/society/Cargo.toml
index 229191c3ccb80..2fd44446cc84d 100644
--- a/frame/society/Cargo.toml
+++ b/frame/society/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-society"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,16 +14,16 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
rand_chacha = { version = "0.2", default-features = false }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-io ={ version = "2.0.0-rc5", path = "../../primitives/io" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-io ={ version = "2.0.0-rc6", path = "../../primitives/io" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
[features]
default = ["std"]
diff --git a/frame/society/README.md b/frame/society/README.md
new file mode 100644
index 0000000000000..d73397cc99cbb
--- /dev/null
+++ b/frame/society/README.md
@@ -0,0 +1,228 @@
+# Society Module
+
+- [`society::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+The Society module is an economic game which incentivizes users to participate
+and maintain a membership society.
+
+### User Types
+
+At any point, a user in the society can be one of a:
+* Bidder - A user who has submitted intention of joining the society.
+* Candidate - A user who will be voted on to join the society.
+* Suspended Candidate - A user who failed to win a vote.
+* Member - A user who is a member of the society.
+* Suspended Member - A member of the society who has accumulated too many strikes
+or failed their membership challenge.
+
+Of the non-suspended members, there is always a:
+* Head - A member who is exempt from suspension.
+* Defender - A member whose membership is under question and voted on again.
+
+Of the non-suspended members of the society, a random set of them are chosen as
+"skeptics". The mechanics of skeptics is explained in the
+[member phase](#member-phase) below.
+
+### Mechanics
+
+#### Rewards
+
+Members are incentivized to participate in the society through rewards paid
+by the Society treasury. These payments have a maturity period that the user
+must wait before they are able to access the funds.
+
+#### Punishments
+
+Members can be punished by slashing the reward payouts that have not been
+collected. Additionally, members can accumulate "strikes", and when they
+reach a max strike limit, they become suspended.
+
+#### Skeptics
+
+During the voting period, a random set of members are selected as "skeptics".
+These skeptics are expected to vote on the current candidates. If they do not vote,
+their skeptic status is treated as a rejection vote, the member is deemed
+"lazy", and are given a strike per missing vote.
+
+#### Membership Challenges
+
+Every challenge rotation period, an existing member will be randomly selected
+to defend their membership into society. Then, other members can vote whether
+this defender should stay in society. A simple majority wins vote will determine
+the outcome of the user. Ties are treated as a failure of the challenge, but
+assuming no one else votes, the defender always get a free vote on their
+own challenge keeping them in the society. The Head member is exempt from the
+negative outcome of a membership challenge.
+
+#### Society Treasury
+
+The membership society is independently funded by a treasury managed by this
+module. Some subset of this treasury is placed in a Society Pot, which is used
+to determine the number of accepted bids.
+
+#### Rate of Growth
+
+The membership society can grow at a rate of 10 accepted candidates per rotation period up
+to the max membership threshold. Once this threshold is met, candidate selections
+are stalled until there is space for new members to join. This can be resolved by
+voting out existing members through the random challenges or by using governance
+to increase the maximum membership count.
+
+### User Life Cycle
+
+A user can go through the following phases:
+
+```rust
+ +-------> User <----------+
+ | + |
+ | | |
++----------------------------------------------+
+| | | | |
+| | v | |
+| | Bidder <-----------+ |
+| | + | |
+| | | + |
+| | v Suspended |
+| | Candidate +----> Candidate |
+| | + + |
+| | | | |
+| + | | |
+| Suspended +------>| | |
+| Member | | |
+| ^ | | |
+| | v | |
+| +-------+ Member <----------+ |
+| |
+| |
++------------------Society---------------------+
+```
+
+#### Initialization
+
+The society is initialized with a single member who is automatically chosen as the Head.
+
+#### Bid Phase
+
+New users must have a bid to join the society.
+
+A user can make a bid by reserving a deposit. Alternatively, an already existing member
+can create a bid on a user's behalf by "vouching" for them.
+
+A bid includes reward information that the user would like to receive for joining
+the society. A vouching bid can additionally request some portion of that reward as a tip
+to the voucher for vouching for the prospective candidate.
+
+Every rotation period, Bids are ordered by reward amount, and the module
+selects as many bids the Society Pot can support for that period.
+
+These selected bids become candidates and move on to the Candidate phase.
+Bids that were not selected stay in the bidder pool until they are selected or
+a user chooses to "unbid".
+
+#### Candidate Phase
+
+Once a bidder becomes a candidate, members vote whether to approve or reject
+that candidate into society. This voting process also happens during a rotation period.
+
+The approval and rejection criteria for candidates are not set on chain,
+and may change for different societies.
+
+At the end of the rotation period, we collect the votes for a candidate
+and randomly select a vote as the final outcome.
+
+```rust
+ [ a-accept, r-reject, s-skeptic ]
++----------------------------------+
+| |
+| Member |0|1|2|3|4|5|6|7|8|9| |
+| ----------------------------- |
+| Vote |a|a|a|r|s|r|a|a|s|a| |
+| ----------------------------- |
+| Selected | | | |x| | | | | | | |
+| |
++----------------------------------+
+
+Result: Rejected
+```
+
+Each member that voted opposite to this randomly selected vote is punished by
+slashing their unclaimed payouts and increasing the number of strikes they have.
+
+These slashed funds are given to a random user who voted the same as the
+selected vote as a reward for participating in the vote.
+
+If the candidate wins the vote, they receive their bid reward as a future payout.
+If the bid was placed by a voucher, they will receive their portion of the reward,
+before the rest is paid to the winning candidate.
+
+One winning candidate is selected as the Head of the members. This is randomly
+chosen, weighted by the number of approvals the winning candidates accumulated.
+
+If the candidate loses the vote, they are suspended and it is up to the Suspension
+Judgement origin to determine if the candidate should go through the bidding process
+again, should be accepted into the membership society, or rejected and their deposit
+slashed.
+
+#### Member Phase
+
+Once a candidate becomes a member, their role is to participate in society.
+
+Regular participation involves voting on candidates who want to join the membership
+society, and by voting in the right way, a member will accumulate future payouts.
+When a payout matures, members are able to claim those payouts.
+
+Members can also vouch for users to join the society, and request a "tip" from
+the fees the new member would collect by joining the society. This vouching
+process is useful in situations where a user may not have enough balance to
+satisfy the bid deposit. A member can only vouch one user at a time.
+
+During rotation periods, a random group of members are selected as "skeptics".
+These skeptics are expected to vote on the current candidates. If they do not vote,
+their skeptic status is treated as a rejection vote, the member is deemed
+"lazy", and are given a strike per missing vote.
+
+There is a challenge period in parallel to the rotation period. During a challenge period,
+a random member is selected to defend their membership to the society. Other members
+make a traditional majority-wins vote to determine if the member should stay in the society.
+Ties are treated as a failure of the challenge.
+
+If a member accumulates too many strikes or fails their membership challenge,
+they will become suspended. While a member is suspended, they are unable to
+claim matured payouts. It is up to the Suspension Judgement origin to determine
+if the member should re-enter society or be removed from society with all their
+future payouts slashed.
+
+## Interface
+
+### Dispatchable Functions
+
+#### For General Users
+
+* `bid` - A user can make a bid to join the membership society by reserving a deposit.
+* `unbid` - A user can withdraw their bid for entry, the deposit is returned.
+
+#### For Members
+
+* `vouch` - A member can place a bid on behalf of a user to join the membership society.
+* `unvouch` - A member can revoke their vouch for a user.
+* `vote` - A member can vote to approve or reject a candidate's request to join the society.
+* `defender_vote` - A member can vote to approve or reject a defender's continued membership
+to the society.
+* `payout` - A member can claim their first matured payment.
+* `unfound` - Allow the founder to unfound the society when they are the only member.
+
+#### For Super Users
+
+* `found` - The founder origin can initiate this society. Useful for bootstrapping the Society
+pallet on an already running chain.
+* `judge_suspended_member` - The suspension judgement origin is able to make
+judgement on a suspended member.
+* `judge_suspended_candidate` - The suspension judgement origin is able to
+make judgement on a suspended candidate.
+* `set_max_membership` - The ROOT origin can update the maximum member count for the society.
+The max membership count must be greater than 1.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/staking/Cargo.toml b/frame/staking/Cargo.toml
index f0bc0c0ac7ca6..2d1487afb03df 100644
--- a/frame/staking/Cargo.toml
+++ b/frame/staking/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-staking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -15,29 +15,29 @@ targets = ["x86_64-unknown-linux-gnu"]
static_assertions = "1.1.0"
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-npos-elections = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/npos-elections" }
-sp-io ={ version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-staking = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/staking" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-pallet-session = { version = "2.0.0-rc5", default-features = false, features = ["historical"], path = "../session" }
-pallet-authorship = { version = "2.0.0-rc5", default-features = false, path = "../authorship" }
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/application-crypto" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-npos-elections = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/npos-elections" }
+sp-io ={ version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-staking = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/staking" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+pallet-session = { version = "2.0.0-rc6", default-features = false, features = ["historical"], path = "../session" }
+pallet-authorship = { version = "2.0.0-rc6", default-features = false, path = "../authorship" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/application-crypto" }
# Optional imports for benchmarking
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
rand_chacha = { version = "0.2", default-features = false, optional = true }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-storage = { version = "2.0.0-rc5", path = "../../primitives/storage" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
-pallet-timestamp = { version = "2.0.0-rc5", path = "../timestamp" }
-pallet-staking-reward-curve = { version = "2.0.0-rc5", path = "../staking/reward-curve" }
-substrate-test-utils = { version = "2.0.0-rc5", path = "../../test-utils" }
-frame-benchmarking = { version = "2.0.0-rc5", path = "../benchmarking" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-storage = { version = "2.0.0-rc6", path = "../../primitives/storage" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
+pallet-timestamp = { version = "2.0.0-rc6", path = "../timestamp" }
+pallet-staking-reward-curve = { version = "2.0.0-rc6", path = "../staking/reward-curve" }
+substrate-test-utils = { version = "2.0.0-rc6", path = "../../test-utils" }
+frame-benchmarking = { version = "2.0.0-rc6", path = "../benchmarking" }
rand_chacha = { version = "0.2" }
parking_lot = "0.10.2"
env_logger = "0.7.1"
diff --git a/frame/staking/README.md b/frame/staking/README.md
new file mode 100644
index 0000000000000..02db98ab7f0c2
--- /dev/null
+++ b/frame/staking/README.md
@@ -0,0 +1,249 @@
+# Staking Module
+
+The Staking module is used to manage funds at stake by network maintainers.
+
+- [`staking::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+- [`Module`](./struct.Module.html)
+
+## Overview
+
+The Staking module is the means by which a set of network maintainers (known as _authorities_ in
+some contexts and _validators_ in others) are chosen based upon those who voluntarily place
+funds under deposit. Under deposit, those funds are rewarded under normal operation but are held
+at pain of _slash_ (expropriation) should the staked maintainer be found not to be discharging
+its duties properly.
+
+### Terminology
+
+
+- Staking: The process of locking up funds for some time, placing them at risk of slashing
+ (loss) in order to become a rewarded maintainer of the network.
+- Validating: The process of running a node to actively maintain the network, either by
+ producing blocks or guaranteeing finality of the chain.
+- Nominating: The process of placing staked funds behind one or more validators in order to
+ share in any reward, and punishment, they take.
+- Stash account: The account holding an owner's funds used for staking.
+- Controller account: The account that controls an owner's funds for staking.
+- Era: A (whole) number of sessions, which is the period that the validator set (and each
+ validator's active nominator set) is recalculated and where rewards are paid out.
+- Slash: The punishment of a staker by reducing its funds.
+
+### Goals
+
+
+The staking system in Substrate NPoS is designed to make the following possible:
+
+- Stake funds that are controlled by a cold wallet.
+- Withdraw some, or deposit more, funds without interrupting the role of an entity.
+- Switch between roles (nominator, validator, idle) with minimal overhead.
+
+### Scenarios
+
+#### Staking
+
+Almost any interaction with the Staking module requires a process of _**bonding**_ (also known
+as being a _staker_). To become *bonded*, a fund-holding account known as the _stash account_,
+which holds some or all of the funds that become frozen in place as part of the staking process,
+is paired with an active **controller** account, which issues instructions on how they shall be
+used.
+
+An account pair can become bonded using the [`bond`](./enum.Call.html#variant.bond) call.
+
+Stash accounts can change their associated controller using the
+[`set_controller`](./enum.Call.html#variant.set_controller) call.
+
+There are three possible roles that any staked account pair can be in: `Validator`, `Nominator`
+and `Idle` (defined in [`StakerStatus`](./enum.StakerStatus.html)). There are three
+corresponding instructions to change between roles, namely:
+[`validate`](./enum.Call.html#variant.validate),
+[`nominate`](./enum.Call.html#variant.nominate), and [`chill`](./enum.Call.html#variant.chill).
+
+#### Validating
+
+A **validator** takes the role of either validating blocks or ensuring their finality,
+maintaining the veracity of the network. A validator should avoid both any sort of malicious
+misbehavior and going offline. Bonded accounts that state interest in being a validator do NOT
+get immediately chosen as a validator. Instead, they are declared as a _candidate_ and they
+_might_ get elected at the _next era_ as a validator. The result of the election is determined
+by nominators and their votes.
+
+An account can become a validator candidate via the
+[`validate`](./enum.Call.html#variant.validate) call.
+
+#### Nomination
+
+A **nominator** does not take any _direct_ role in maintaining the network, instead, it votes on
+a set of validators to be elected. Once interest in nomination is stated by an account, it
+takes effect at the next election round. The funds in the nominator's stash account indicate the
+_weight_ of its vote. Both the rewards and any punishment that a validator earns are shared
+between the validator and its nominators. This rule incentivizes the nominators to NOT vote for
+the misbehaving/offline validators as much as possible, simply because the nominators will also
+lose funds if they vote poorly.
+
+An account can become a nominator via the [`nominate`](enum.Call.html#variant.nominate) call.
+
+#### Rewards and Slash
+
+The **reward and slashing** procedure is the core of the Staking module, attempting to _embrace
+valid behavior_ while _punishing any misbehavior or lack of availability_.
+
+Rewards must be claimed for each era before it gets too old by `$HISTORY_DEPTH` using the
+`payout_stakers` call. Any account can call `payout_stakers`, which pays the reward to the
+validator as well as its nominators. Only the [`Trait::MaxNominatorRewardedPerValidator`]
+biggest stakers can claim their reward. This is to limit the i/o cost to mutate storage for each
+nominator's account.
+
+Slashing can occur at any point in time, once misbehavior is reported. Once slashing is
+determined, a value is deducted from the balance of the validator and all the nominators who
+voted for this validator (values are deducted from the _stash_ account of the slashed entity).
+
+Slashing logic is further described in the documentation of the `slashing` module.
+
+Similar to slashing, rewards are also shared among a validator and its associated nominators.
+Yet, the reward funds are not always transferred to the stash account and can be configured. See
+[Reward Calculation](#reward-calculation) for more details.
+
+#### Chilling
+
+Finally, any of the roles above can choose to step back temporarily and just chill for a while.
+This means that if they are a nominator, they will not be considered as voters anymore and if
+they are validators, they will no longer be a candidate for the next election.
+
+An account can step back via the [`chill`](enum.Call.html#variant.chill) call.
+
+### Session managing
+
+The module implement the trait `SessionManager`. Which is the only API to query new validator
+set and allowing these validator set to be rewarded once their era is ended.
+
+## Interface
+
+### Dispatchable Functions
+
+The dispatchable functions of the Staking module enable the steps needed for entities to accept
+and change their role, alongside some helper functions to get/set the metadata of the module.
+
+### Public Functions
+
+The Staking module contains many public storage items and (im)mutable functions.
+
+## Usage
+
+### Example: Rewarding a validator by id.
+
+```rust
+use frame_support::{decl_module, dispatch};
+use frame_system::ensure_signed;
+use pallet_staking::{self as staking};
+
+pub trait Trait: staking::Trait {}
+
+decl_module! {
+ pub struct Module for enum Call where origin: T::Origin {
+ /// Reward a validator.
+ #[weight = 0]
+ pub fn reward_myself(origin) -> dispatch::DispatchResult {
+ let reported = ensure_signed(origin)?;
+ >::reward_by_ids(vec![(reported, 10)]);
+ Ok(())
+ }
+ }
+}
+```
+
+## Implementation Details
+
+### Era payout
+
+The era payout is computed using yearly inflation curve defined at
+[`T::RewardCurve`](./trait.Trait.html#associatedtype.RewardCurve) as such:
+
+```nocompile
+staker_payout = yearly_inflation(npos_token_staked / total_tokens) * total_tokens / era_per_year
+```
+This payout is used to reward stakers as defined in next section
+
+```nocompile
+remaining_payout = max_yearly_inflation * total_tokens / era_per_year - staker_payout
+```
+The remaining reward is send to the configurable end-point
+[`T::RewardRemainder`](./trait.Trait.html#associatedtype.RewardRemainder).
+
+### Reward Calculation
+
+Validators and nominators are rewarded at the end of each era. The total reward of an era is
+calculated using the era duration and the staking rate (the total amount of tokens staked by
+nominators and validators, divided by the total token supply). It aims to incentivize toward a
+defined staking rate. The full specification can be found
+[here](https://research.web3.foundation/en/latest/polkadot/Token%20Economics.html#inflation-model).
+
+Total reward is split among validators and their nominators depending on the number of points
+they received during the era. Points are added to a validator using
+[`reward_by_ids`](./enum.Call.html#variant.reward_by_ids) or
+[`reward_by_indices`](./enum.Call.html#variant.reward_by_indices).
+
+[`Module`](./struct.Module.html) implements
+[`pallet_authorship::EventHandler`](../pallet_authorship/trait.EventHandler.html) to add reward
+points to block producer and block producer of referenced uncles.
+
+The validator and its nominator split their reward as following:
+
+The validator can declare an amount, named
+[`commission`](./struct.ValidatorPrefs.html#structfield.commission), that does not get shared
+with the nominators at each reward payout through its
+[`ValidatorPrefs`](./struct.ValidatorPrefs.html). This value gets deducted from the total reward
+that is paid to the validator and its nominators. The remaining portion is split among the
+validator and all of the nominators that nominated the validator, proportional to the value
+staked behind this validator (_i.e._ dividing the
+[`own`](./struct.Exposure.html#structfield.own) or
+[`others`](./struct.Exposure.html#structfield.others) by
+[`total`](./struct.Exposure.html#structfield.total) in [`Exposure`](./struct.Exposure.html)).
+
+All entities who receive a reward have the option to choose their reward destination through the
+[`Payee`](./struct.Payee.html) storage item (see
+[`set_payee`](enum.Call.html#variant.set_payee)), to be one of the following:
+
+- Controller account, (obviously) not increasing the staked value.
+- Stash account, not increasing the staked value.
+- Stash account, also increasing the staked value.
+
+### Additional Fund Management Operations
+
+Any funds already placed into stash can be the target of the following operations:
+
+The controller account can free a portion (or all) of the funds using the
+[`unbond`](enum.Call.html#variant.unbond) call. Note that the funds are not immediately
+accessible. Instead, a duration denoted by [`BondingDuration`](./struct.BondingDuration.html)
+(in number of eras) must pass until the funds can actually be removed. Once the
+`BondingDuration` is over, the [`withdraw_unbonded`](./enum.Call.html#variant.withdraw_unbonded)
+call can be used to actually withdraw the funds.
+
+Note that there is a limitation to the number of fund-chunks that can be scheduled to be
+unlocked in the future via [`unbond`](enum.Call.html#variant.unbond). In case this maximum
+(`MAX_UNLOCKING_CHUNKS`) is reached, the bonded account _must_ first wait until a successful
+call to `withdraw_unbonded` to remove some of the chunks.
+
+### Election Algorithm
+
+The current election algorithm is implemented based on Phragmén. The reference implementation
+can be found [here](https://github.com/w3f/consensus/tree/master/NPoS).
+
+The election algorithm, aside from electing the validators with the most stake value and votes,
+tries to divide the nominator votes among candidates in an equal manner. To further assure this,
+an optional post-processing can be applied that iteratively normalizes the nominator staked
+values until the total difference among votes of a particular nominator are less than a
+threshold.
+
+## GenesisConfig
+
+The Staking module depends on the [`GenesisConfig`](./struct.GenesisConfig.html). The
+`GenesisConfig` is optional and allow to set some initial stakers.
+
+## Related Modules
+
+- [Balances](../pallet_balances/index.html): Used to manage values at stake.
+- [Session](../pallet_session/index.html): Used to manage sessions. Also, a list of new
+ validators is stored in the Session module's `Validators` at the end of each era.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/staking/fuzzer/Cargo.toml b/frame/staking/fuzzer/Cargo.toml
index 832ac622a976a..ee3e892867691 100644
--- a/frame/staking/fuzzer/Cargo.toml
+++ b/frame/staking/fuzzer/Cargo.toml
@@ -15,19 +15,19 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
honggfuzz = "0.5"
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-pallet-staking = { version = "2.0.0-rc5", path = "..", features = ["runtime-benchmarks"] }
-pallet-staking-reward-curve = { version = "2.0.0-rc5", path = "../reward-curve" }
-pallet-session = { version = "2.0.0-rc5", path = "../../session" }
-pallet-indices = { version = "2.0.0-rc5", path = "../../indices" }
-pallet-balances = { version = "2.0.0-rc5", path = "../../balances" }
-pallet-timestamp = { version = "2.0.0-rc5", path = "../../timestamp" }
-frame-system = { version = "2.0.0-rc5", path = "../../system" }
-frame-support = { version = "2.0.0-rc5", path = "../../support" }
-sp-std = { version = "2.0.0-rc5", path = "../../../primitives/std" }
-sp-io ={ version = "2.0.0-rc5", path = "../../../primitives/io" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-npos-elections = { version = "2.0.0-rc5", path = "../../../primitives/npos-elections" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
+pallet-staking = { version = "2.0.0-rc6", path = "..", features = ["runtime-benchmarks"] }
+pallet-staking-reward-curve = { version = "2.0.0-rc6", path = "../reward-curve" }
+pallet-session = { version = "2.0.0-rc6", path = "../../session" }
+pallet-indices = { version = "2.0.0-rc6", path = "../../indices" }
+pallet-balances = { version = "2.0.0-rc6", path = "../../balances" }
+pallet-timestamp = { version = "2.0.0-rc6", path = "../../timestamp" }
+frame-system = { version = "2.0.0-rc6", path = "../../system" }
+frame-support = { version = "2.0.0-rc6", path = "../../support" }
+sp-std = { version = "2.0.0-rc6", path = "../../../primitives/std" }
+sp-io ={ version = "2.0.0-rc6", path = "../../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-npos-elections = { version = "2.0.0-rc6", path = "../../../primitives/npos-elections" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
[[bin]]
name = "submit_solution"
diff --git a/frame/staking/reward-curve/Cargo.toml b/frame/staking/reward-curve/Cargo.toml
index 25cbffda1de93..a3ef91d3bc63d 100644
--- a/frame/staking/reward-curve/Cargo.toml
+++ b/frame/staking/reward-curve/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-staking-reward-curve"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -21,4 +21,4 @@ proc-macro2 = "1.0.6"
proc-macro-crate = "0.1.4"
[dev-dependencies]
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
diff --git a/frame/sudo/Cargo.toml b/frame/sudo/Cargo.toml
index ba68aa49470fd..eef6015055895 100644
--- a/frame/sudo/Cargo.toml
+++ b/frame/sudo/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-sudo"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,14 +14,14 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
[features]
default = ["std"]
diff --git a/frame/sudo/README.md b/frame/sudo/README.md
new file mode 100644
index 0000000000000..fb8d1974c121a
--- /dev/null
+++ b/frame/sudo/README.md
@@ -0,0 +1,70 @@
+# Sudo Module
+
+- [`sudo::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+The Sudo module allows for a single account (called the "sudo key")
+to execute dispatchable functions that require a `Root` call
+or designate a new account to replace them as the sudo key.
+Only one account can be the sudo key at a time.
+
+## Interface
+
+### Dispatchable Functions
+
+Only the sudo key can call the dispatchable functions from the Sudo module.
+
+* `sudo` - Make a `Root` call to a dispatchable function.
+* `set_key` - Assign a new account to be the sudo key.
+
+## Usage
+
+### Executing Privileged Functions
+
+The Sudo module itself is not intended to be used within other modules.
+Instead, you can build "privileged functions" (i.e. functions that require `Root` origin) in other modules.
+You can execute these privileged functions by calling `sudo` with the sudo key account.
+Privileged functions cannot be directly executed via an extrinsic.
+
+Learn more about privileged functions and `Root` origin in the [`Origin`] type documentation.
+
+### Simple Code Snippet
+
+This is an example of a module that exposes a privileged function:
+
+```rust
+use frame_support::{decl_module, dispatch};
+use frame_system::ensure_root;
+
+pub trait Trait: frame_system::Trait {}
+
+decl_module! {
+ pub struct Module for enum Call where origin: T::Origin {
+ #[weight = 0]
+ pub fn privileged_function(origin) -> dispatch::DispatchResult {
+ ensure_root(origin)?;
+
+ // do something...
+
+ Ok(())
+ }
+ }
+}
+```
+
+## Genesis Config
+
+The Sudo module depends on the [`GenesisConfig`](./struct.GenesisConfig.html).
+You need to set an initial superuser account as the sudo `key`.
+
+## Related Modules
+
+* [Democracy](../pallet_democracy/index.html)
+
+[`Call`]: ./enum.Call.html
+[`Trait`]: ./trait.Trait.html
+[`Origin`]: https://docs.substrate.dev/docs/substrate-types
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/support/Cargo.toml b/frame/support/Cargo.toml
index 24e898e1692fa..005638824b0ca 100644
--- a/frame/support/Cargo.toml
+++ b/frame/support/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-support"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -15,25 +15,25 @@ targets = ["x86_64-unknown-linux-gnu"]
log = "0.4"
serde = { version = "1.0.101", optional = true, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-frame-metadata = { version = "11.0.0-rc5", default-features = false, path = "../metadata" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-tracing = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/tracing" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-arithmetic = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/arithmetic" }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/inherents" }
-frame-support-procedural = { version = "2.0.0-rc5", path = "./procedural" }
+frame-metadata = { version = "11.0.0-rc6", default-features = false, path = "../metadata" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-tracing = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/tracing" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-arithmetic = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/arithmetic" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/inherents" }
+frame-support-procedural = { version = "2.0.0-rc6", path = "./procedural" }
paste = "0.1.6"
once_cell = { version = "1", default-features = false, optional = true }
-sp-state-machine = { version = "0.8.0-rc5", optional = true, path = "../../primitives/state-machine" }
+sp-state-machine = { version = "0.8.0-rc6", optional = true, path = "../../primitives/state-machine" }
bitmask = { version = "0.5.0", default-features = false }
impl-trait-for-tuples = "0.1.3"
smallvec = "1.4.1"
[dev-dependencies]
pretty_assertions = "0.6.1"
-frame-system = { version = "2.0.0-rc5", path = "../system" }
+frame-system = { version = "2.0.0-rc6", path = "../system" }
parity-util-mem = { version = "0.7.0", features = ["primitive-types"] }
[features]
diff --git a/frame/support/README.md b/frame/support/README.md
new file mode 100644
index 0000000000000..2282870aca05c
--- /dev/null
+++ b/frame/support/README.md
@@ -0,0 +1,3 @@
+Support code for the runtime.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/support/procedural/Cargo.toml b/frame/support/procedural/Cargo.toml
index 622b924665464..dc62a83791654 100644
--- a/frame/support/procedural/Cargo.toml
+++ b/frame/support/procedural/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-support-procedural"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
proc-macro = true
[dependencies]
-frame-support-procedural-tools = { version = "2.0.0-rc5", path = "./tools" }
+frame-support-procedural-tools = { version = "2.0.0-rc6", path = "./tools" }
proc-macro2 = "1.0.6"
quote = "1.0.3"
syn = { version = "1.0.7", features = ["full"] }
diff --git a/frame/support/procedural/tools/Cargo.toml b/frame/support/procedural/tools/Cargo.toml
index 2c9a66baac51d..131d47474e7f9 100644
--- a/frame/support/procedural/tools/Cargo.toml
+++ b/frame/support/procedural/tools/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-support-procedural-tools"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,7 +12,7 @@ description = "Proc macro helpers for procedural macros"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-frame-support-procedural-tools-derive = { version = "2.0.0-rc5", path = "./derive" }
+frame-support-procedural-tools-derive = { version = "2.0.0-rc6", path = "./derive" }
proc-macro2 = "1.0.6"
quote = "1.0.3"
syn = { version = "1.0.7", features = ["full", "visit"] }
diff --git a/frame/support/procedural/tools/derive/Cargo.toml b/frame/support/procedural/tools/derive/Cargo.toml
index fceaeaf08d2f1..327409692f464 100644
--- a/frame/support/procedural/tools/derive/Cargo.toml
+++ b/frame/support/procedural/tools/derive/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-support-procedural-tools-derive"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/frame/support/test/Cargo.toml b/frame/support/test/Cargo.toml
index 22d420a61751a..f2f70fb95279e 100644
--- a/frame/support/test/Cargo.toml
+++ b/frame/support/test/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-support-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,13 +14,13 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", default-features = false, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-io = { version = "2.0.0-rc5", path = "../../../primitives/io", default-features = false }
-sp-state-machine = { version = "0.8.0-rc5", optional = true, path = "../../../primitives/state-machine" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../" }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/inherents" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/runtime" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", path = "../../../primitives/io", default-features = false }
+sp-state-machine = { version = "0.8.0-rc6", optional = true, path = "../../../primitives/state-machine" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/inherents" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/runtime" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/std" }
trybuild = "1.0.17"
pretty_assertions = "0.6.1"
rustversion = "1.0.0"
diff --git a/frame/system/Cargo.toml b/frame/system/Cargo.toml
index e9a085f85be18..5a5643fec9aff 100644
--- a/frame/system/Cargo.toml
+++ b/frame/system/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-system"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,18 +14,18 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io", default-features = false }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-version = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/version" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io", default-features = false }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-version = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/version" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
impl-trait-for-tuples = "0.1.3"
[dev-dependencies]
criterion = "0.2.11"
-sp-externalities = { version = "0.8.0-rc5", path = "../../primitives/externalities" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client" }
+sp-externalities = { version = "0.8.0-rc6", path = "../../primitives/externalities" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../test-utils/runtime/client" }
[features]
default = ["std"]
diff --git a/frame/system/README.md b/frame/system/README.md
new file mode 100644
index 0000000000000..46e48b6d52762
--- /dev/null
+++ b/frame/system/README.md
@@ -0,0 +1,75 @@
+# System Module
+
+The System module provides low-level access to core types and cross-cutting utilities.
+It acts as the base layer for other pallets to interact with the Substrate framework components.
+
+- [`system::Trait`](./trait.Trait.html)
+
+## Overview
+
+The System module defines the core data types used in a Substrate runtime.
+It also provides several utility functions (see [`Module`](./struct.Module.html)) for other FRAME pallets.
+
+In addition, it manages the storage items for extrinsics data, indexes, event records, and digest items,
+among other things that support the execution of the current block.
+
+It also handles low-level tasks like depositing logs, basic set up and take down of
+temporary storage entries, and access to previous block hashes.
+
+## Interface
+
+### Dispatchable Functions
+
+The System module does not implement any dispatchable functions.
+
+### Public Functions
+
+See the [`Module`](./struct.Module.html) struct for details of publicly available functions.
+
+### Signed Extensions
+
+The System module defines the following extensions:
+
+ - [`CheckWeight`]: Checks the weight and length of the block and ensure that it does not
+ exceed the limits.
+ - [`CheckNonce`]: Checks the nonce of the transaction. Contains a single payload of type
+ `T::Index`.
+ - [`CheckEra`]: Checks the era of the transaction. Contains a single payload of type `Era`.
+ - [`CheckGenesis`]: Checks the provided genesis hash of the transaction. Must be a part of the
+ signed payload of the transaction.
+ - [`CheckSpecVersion`]: Checks that the runtime version is the same as the one used to sign the
+ transaction.
+ - [`CheckTxVersion`]: Checks that the transaction version is the same as the one used to sign the
+ transaction.
+
+Lookup the runtime aggregator file (e.g. `node/runtime`) to see the full list of signed
+extensions included in a chain.
+
+## Usage
+
+### Prerequisites
+
+Import the System module and derive your module's configuration trait from the system trait.
+
+### Example - Get extrinsic count and parent hash for the current block
+
+```rust
+use frame_support::{decl_module, dispatch};
+use frame_system::{self as system, ensure_signed};
+
+pub trait Trait: system::Trait {}
+
+decl_module! {
+ pub struct Module for enum Call where origin: T::Origin {
+ #[weight = 0]
+ pub fn system_module_example(origin) -> dispatch::DispatchResult {
+ let _sender = ensure_signed(origin)?;
+ let _extrinsic_count = >::extrinsic_count();
+ let _parent_hash = >::parent_hash();
+ Ok(())
+ }
+ }
+}
+```
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/system/benchmarking/Cargo.toml b/frame/system/benchmarking/Cargo.toml
index e8edab813242c..c0b5366b7a4cc 100644
--- a/frame/system/benchmarking/Cargo.toml
+++ b/frame/system/benchmarking/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-system-benchmarking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,16 +13,16 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/runtime" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../../benchmarking" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../../system" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../../support" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/runtime" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../../benchmarking" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../../system" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../../support" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../../primitives/core" }
[dev-dependencies]
serde = { version = "1.0.101" }
-sp-io ={ version = "2.0.0-rc5", path = "../../../primitives/io" }
+sp-io ={ version = "2.0.0-rc6", path = "../../../primitives/io" }
[features]
default = ["std"]
diff --git a/frame/system/benchmarking/README.md b/frame/system/benchmarking/README.md
new file mode 100644
index 0000000000000..9718db58b37e9
--- /dev/null
+++ b/frame/system/benchmarking/README.md
@@ -0,0 +1 @@
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/system/rpc/runtime-api/Cargo.toml b/frame/system/rpc/runtime-api/Cargo.toml
index fa2bd7dd1b859..3c6028b4f7a2b 100644
--- a/frame/system/rpc/runtime-api/Cargo.toml
+++ b/frame/system/rpc/runtime-api/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-system-rpc-runtime-api"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,7 +12,7 @@ description = "Runtime API definition required by System RPC extensions."
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../../../../primitives/api" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../../../../primitives/api" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
[features]
diff --git a/frame/system/rpc/runtime-api/README.md b/frame/system/rpc/runtime-api/README.md
new file mode 100644
index 0000000000000..ab46c22a8be33
--- /dev/null
+++ b/frame/system/rpc/runtime-api/README.md
@@ -0,0 +1,7 @@
+Runtime API definition required by System RPC extensions.
+
+This API should be imported and implemented by the runtime,
+of a node that wants to use the custom RPC extension
+adding System access methods.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/timestamp/Cargo.toml b/frame/timestamp/Cargo.toml
index bb9a3266e2d34..db8e488dd5d96 100644
--- a/frame/timestamp/Cargo.toml
+++ b/frame/timestamp/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-timestamp"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -16,19 +16,19 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io", optional = true }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/inherents" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-sp-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/timestamp" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io", optional = true }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/inherents" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+sp-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/timestamp" }
impl-trait-for-tuples = "0.1.3"
[dev-dependencies]
-sp-io ={ version = "2.0.0-rc5", path = "../../primitives/io" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
+sp-io ={ version = "2.0.0-rc6", path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
[features]
default = ["std"]
diff --git a/frame/timestamp/README.md b/frame/timestamp/README.md
new file mode 100644
index 0000000000000..7cdbdf0e79b13
--- /dev/null
+++ b/frame/timestamp/README.md
@@ -0,0 +1,74 @@
+# Timestamp Module
+
+The Timestamp module provides functionality to get and set the on-chain time.
+
+- [`timestamp::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+- [`Module`](./struct.Module.html)
+
+## Overview
+
+The Timestamp module allows the validators to set and validate a timestamp with each block.
+
+It uses inherents for timestamp data, which is provided by the block author and validated/verified
+by other validators. The timestamp can be set only once per block and must be set each block.
+There could be a constraint on how much time must pass before setting the new timestamp.
+
+**NOTE:** The Timestamp module is the recommended way to query the on-chain time instead of using
+an approach based on block numbers. The block number based time measurement can cause issues
+because of cumulative calculation errors and hence should be avoided.
+
+## Interface
+
+### Dispatchable Functions
+
+* `set` - Sets the current time.
+
+### Public functions
+
+* `get` - Gets the current time for the current block. If this function is called prior to
+setting the timestamp, it will return the timestamp of the previous block.
+
+### Trait Getters
+
+* `MinimumPeriod` - Gets the minimum (and advised) period between blocks for the chain.
+
+## Usage
+
+The following example shows how to use the Timestamp module in your custom module to query the current timestamp.
+
+### Prerequisites
+
+Import the Timestamp module into your custom module and derive the module configuration
+trait from the timestamp trait.
+
+### Get current timestamp
+
+```rust
+use frame_support::{decl_module, dispatch};
+use frame_system::ensure_signed;
+
+pub trait Trait: timestamp::Trait {}
+
+decl_module! {
+ pub struct Module for enum Call where origin: T::Origin {
+ #[weight = 0]
+ pub fn get_time(origin) -> dispatch::DispatchResult {
+ let _sender = ensure_signed(origin)?;
+ let _now = >::get();
+ Ok(())
+ }
+ }
+}
+```
+
+### Example from the FRAME
+
+The [Session module](https://github.com/paritytech/substrate/blob/master/frame/session/src/lib.rs) uses
+the Timestamp module for session management.
+
+## Related Modules
+
+* [Session](../pallet_session/index.html)
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/transaction-payment/Cargo.toml b/frame/transaction-payment/Cargo.toml
index e48488a7bcd78..e0381b20aa472 100644
--- a/frame/transaction-payment/Cargo.toml
+++ b/frame/transaction-payment/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-transaction-payment"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,18 +14,18 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
serde = { version = "1.0.101", optional = true }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-pallet-transaction-payment-rpc-runtime-api = { version = "2.0.0-rc5", default-features = false, path = "./rpc/runtime-api" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+pallet-transaction-payment-rpc-runtime-api = { version = "2.0.0-rc6", default-features = false, path = "./rpc/runtime-api" }
smallvec = "1.4.1"
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io", default-features = false }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core", default-features = false }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io", default-features = false }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core", default-features = false }
[dev-dependencies]
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
-sp-storage = { version = "2.0.0-rc5", path = "../../primitives/storage" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
+sp-storage = { version = "2.0.0-rc6", path = "../../primitives/storage" }
[features]
default = ["std"]
diff --git a/frame/transaction-payment/README.md b/frame/transaction-payment/README.md
new file mode 100644
index 0000000000000..10ad9579e92b7
--- /dev/null
+++ b/frame/transaction-payment/README.md
@@ -0,0 +1,16 @@
+# Transaction Payment Module
+
+This module provides the basic logic needed to pay the absolute minimum amount needed for a
+transaction to be included. This includes:
+ - _weight fee_: A fee proportional to amount of weight a transaction consumes.
+ - _length fee_: A fee proportional to the encoded length of the transaction.
+ - _tip_: An optional tip. Tip increases the priority of the transaction, giving it a higher
+ chance to be included by the transaction queue.
+
+Additionally, this module allows one to configure:
+ - The mapping between one unit of weight to one unit of fee via [`Trait::WeightToFee`].
+ - A means of updating the fee for the next block, via defining a multiplier, based on the
+ final state of the chain at the end of the previous block. This can be configured via
+ [`Trait::FeeMultiplierUpdate`]
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/transaction-payment/rpc/Cargo.toml b/frame/transaction-payment/rpc/Cargo.toml
index 280a4dc490eee..d3d03dd1a4d0c 100644
--- a/frame/transaction-payment/rpc/Cargo.toml
+++ b/frame/transaction-payment/rpc/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-transaction-payment-rpc"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -16,10 +16,10 @@ codec = { package = "parity-scale-codec", version = "1.3.1" }
jsonrpc-core = "14.2.0"
jsonrpc-core-client = "14.2.0"
jsonrpc-derive = "14.2.1"
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sp-rpc = { version = "2.0.0-rc5", path = "../../../primitives/rpc" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sp-rpc = { version = "2.0.0-rc6", path = "../../../primitives/rpc" }
serde = { version = "1.0.101", features = ["derive"] }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-api = { version = "2.0.0-rc5", path = "../../../primitives/api" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-pallet-transaction-payment-rpc-runtime-api = { version = "2.0.0-rc5", path = "./runtime-api" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-api = { version = "2.0.0-rc6", path = "../../../primitives/api" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+pallet-transaction-payment-rpc-runtime-api = { version = "2.0.0-rc6", path = "./runtime-api" }
diff --git a/frame/transaction-payment/rpc/README.md b/frame/transaction-payment/rpc/README.md
new file mode 100644
index 0000000000000..21a8a7d37cae0
--- /dev/null
+++ b/frame/transaction-payment/rpc/README.md
@@ -0,0 +1,3 @@
+RPC interface for the transaction payment module.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/transaction-payment/rpc/runtime-api/Cargo.toml b/frame/transaction-payment/rpc/runtime-api/Cargo.toml
index dacc7bc642372..42b9fb9e64d25 100644
--- a/frame/transaction-payment/rpc/runtime-api/Cargo.toml
+++ b/frame/transaction-payment/rpc/runtime-api/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-transaction-payment-rpc-runtime-api"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,11 +13,11 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../../../../primitives/api" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../../../../primitives/api" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../../../support" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../../../support" }
[dev-dependencies]
serde_json = "1.0.41"
diff --git a/frame/transaction-payment/rpc/runtime-api/README.md b/frame/transaction-payment/rpc/runtime-api/README.md
new file mode 100644
index 0000000000000..e453d9a3b7c8a
--- /dev/null
+++ b/frame/transaction-payment/rpc/runtime-api/README.md
@@ -0,0 +1,3 @@
+Runtime API definition for transaction payment module.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/treasury/Cargo.toml b/frame/treasury/Cargo.toml
index a2b316a6c6a6f..b6ef83b32eda8 100644
--- a/frame/treasury/Cargo.toml
+++ b/frame/treasury/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-treasury"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,18 +14,18 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-pallet-balances = { version = "2.0.0-rc5", default-features = false, path = "../balances" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+pallet-balances = { version = "2.0.0-rc6", default-features = false, path = "../balances" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
[dev-dependencies]
-sp-io ={ version = "2.0.0-rc5", path = "../../primitives/io" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-storage = { version = "2.0.0-rc5", path = "../../primitives/storage" }
+sp-io ={ version = "2.0.0-rc6", path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-storage = { version = "2.0.0-rc6", path = "../../primitives/storage" }
[features]
default = ["std"]
diff --git a/frame/treasury/README.md b/frame/treasury/README.md
new file mode 100644
index 0000000000000..befb581180284
--- /dev/null
+++ b/frame/treasury/README.md
@@ -0,0 +1,72 @@
+# Treasury Module
+
+The Treasury module provides a "pot" of funds that can be managed by stakeholders in the
+system and a structure for making spending proposals from this pot.
+
+- [`treasury::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+The Treasury Module itself provides the pot to store funds, and a means for stakeholders to
+propose, approve, and deny expenditures. The chain will need to provide a method (e.g.
+inflation, fees) for collecting funds.
+
+By way of example, the Council could vote to fund the Treasury with a portion of the block
+reward and use the funds to pay developers.
+
+### Tipping
+
+A separate subsystem exists to allow for an agile "tipping" process, whereby a reward may be
+given without first having a pre-determined stakeholder group come to consensus on how much
+should be paid.
+
+A group of `Tippers` is determined through the config `Trait`. After half of these have declared
+some amount that they believe a particular reported reason deserves, then a countdown period is
+entered where any remaining members can declare their tip amounts also. After the close of the
+countdown period, the median of all declared tips is paid to the reported beneficiary, along
+with any finders fee, in case of a public (and bonded) original report.
+
+### Terminology
+
+- **Proposal:** A suggestion to allocate funds from the pot to a beneficiary.
+- **Beneficiary:** An account who will receive the funds from a proposal iff
+the proposal is approved.
+- **Deposit:** Funds that a proposer must lock when making a proposal. The
+deposit will be returned or slashed if the proposal is approved or rejected
+respectively.
+- **Pot:** Unspent funds accumulated by the treasury module.
+
+Tipping protocol:
+- **Tipping:** The process of gathering declarations of amounts to tip and taking the median
+ amount to be transferred from the treasury to a beneficiary account.
+- **Tip Reason:** The reason for a tip; generally a URL which embodies or explains why a
+ particular individual (identified by an account ID) is worthy of a recognition by the
+ treasury.
+- **Finder:** The original public reporter of some reason for tipping.
+- **Finders Fee:** Some proportion of the tip amount that is paid to the reporter of the tip,
+ rather than the main beneficiary.
+
+## Interface
+
+### Dispatchable Functions
+
+General spending/proposal protocol:
+- `propose_spend` - Make a spending proposal and stake the required deposit.
+- `set_pot` - Set the spendable balance of funds.
+- `configure` - Configure the module's proposal requirements.
+- `reject_proposal` - Reject a proposal, slashing the deposit.
+- `approve_proposal` - Accept the proposal, returning the deposit.
+
+Tipping protocol:
+- `report_awesome` - Report something worthy of a tip and register for a finders fee.
+- `retract_tip` - Retract a previous (finders fee registered) report.
+- `tip_new` - Report an item worthy of a tip and declare a specific amount to tip.
+- `tip` - Declare or redeclare an amount to tip for a particular reason.
+- `close_tip` - Close and pay out a tip.
+
+## GenesisConfig
+
+The Treasury module depends on the [`GenesisConfig`](./struct.GenesisConfig.html).
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/utility/Cargo.toml b/frame/utility/Cargo.toml
index 6a1525dcfb475..5ccc2085d9713 100644
--- a/frame/utility/Cargo.toml
+++ b/frame/utility/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-utility"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,18 +14,18 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
[dev-dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
[features]
default = ["std"]
diff --git a/frame/utility/README.md b/frame/utility/README.md
new file mode 100644
index 0000000000000..84bb12f15b5bb
--- /dev/null
+++ b/frame/utility/README.md
@@ -0,0 +1,38 @@
+# Utility Module
+A stateless module with helpers for dispatch management which does no re-authentication.
+
+- [`utility::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+This module contains two basic pieces of functionality:
+- Batch dispatch: A stateless operation, allowing any origin to execute multiple calls in a
+ single dispatch. This can be useful to amalgamate proposals, combining `set_code` with
+ corresponding `set_storage`s, for efficient multiple payouts with just a single signature
+ verify, or in combination with one of the other two dispatch functionality.
+- Pseudonymal dispatch: A stateless operation, allowing a signed origin to execute a call from
+ an alternative signed origin. Each account has 2 * 2**16 possible "pseudonyms" (alternative
+ account IDs) and these can be stacked. This can be useful as a key management tool, where you
+ need multiple distinct accounts (e.g. as controllers for many staking accounts), but where
+ it's perfectly fine to have each of them controlled by the same underlying keypair.
+ Derivative accounts are, for the purposes of proxy filtering considered exactly the same as
+ the oigin and are thus hampered with the origin's filters.
+
+Since proxy filters are respected in all dispatches of this module, it should never need to be
+filtered by any proxy.
+
+## Interface
+
+### Dispatchable Functions
+
+#### For batch dispatch
+* `batch` - Dispatch multiple calls from the sender's origin.
+
+#### For pseudonymal dispatch
+* `as_derivative` - Dispatch a call from a derivative signed origin.
+
+[`Call`]: ./enum.Call.html
+[`Trait`]: ./trait.Trait.html
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/frame/vesting/Cargo.toml b/frame/vesting/Cargo.toml
index 67d796a6a980f..41f144503e424 100644
--- a/frame/vesting/Cargo.toml
+++ b/frame/vesting/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-vesting"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -15,17 +15,17 @@ targets = ["x86_64-unknown-linux-gnu"]
serde = { version = "1.0.101", optional = true }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
enumflags2 = { version = "0.6.2" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
-frame-benchmarking = { version = "2.0.0-rc5", default-features = false, path = "../benchmarking", optional = true }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../support" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../system" }
+frame-benchmarking = { version = "2.0.0-rc6", default-features = false, path = "../benchmarking", optional = true }
[dev-dependencies]
-sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-pallet-balances = { version = "2.0.0-rc5", path = "../balances" }
-sp-storage = { version = "2.0.0-rc5", path = "../../primitives/storage" }
+sp-io = { version = "2.0.0-rc6", path = "../../primitives/io" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+pallet-balances = { version = "2.0.0-rc6", path = "../balances" }
+sp-storage = { version = "2.0.0-rc6", path = "../../primitives/storage" }
hex-literal = "0.2.1"
[features]
diff --git a/frame/vesting/README.md b/frame/vesting/README.md
new file mode 100644
index 0000000000000..56f49db2647f1
--- /dev/null
+++ b/frame/vesting/README.md
@@ -0,0 +1,31 @@
+# Vesting Module
+
+- [`vesting::Trait`](./trait.Trait.html)
+- [`Call`](./enum.Call.html)
+
+## Overview
+
+A simple module providing a means of placing a linear curve on an account's locked balance. This
+module ensures that there is a lock in place preventing the balance to drop below the *unvested*
+amount for any reason other than transaction fee payment.
+
+As the amount vested increases over time, the amount unvested reduces. However, locks remain in
+place and explicit action is needed on behalf of the user to ensure that the amount locked is
+equivalent to the amount remaining to be vested. This is done through a dispatchable function,
+either `vest` (in typical case where the sender is calling on their own behalf) or `vest_other`
+in case the sender is calling on another account's behalf.
+
+## Interface
+
+This module implements the `VestingSchedule` trait.
+
+### Dispatchable Functions
+
+- `vest` - Update the lock, reducing it in line with the amount "vested" so far.
+- `vest_other` - Update the lock of another account, reducing it in line with the amount
+ "vested" so far.
+
+[`Call`]: ./enum.Call.html
+[`Trait`]: ./trait.Trait.html
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/allocator/Cargo.toml b/primitives/allocator/Cargo.toml
index d38eb9aa51f0a..6ee6c333344aa 100644
--- a/primitives/allocator/Cargo.toml
+++ b/primitives/allocator/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-allocator"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,9 +13,9 @@ documentation = "https://docs.rs/sp-allocator"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-std = { version = "2.0.0-rc5", path = "../std", default-features = false }
-sp-core = { version = "2.0.0-rc5", path = "../core", default-features = false }
-sp-wasm-interface = { version = "2.0.0-rc5", path = "../wasm-interface", default-features = false }
+sp-std = { version = "2.0.0-rc6", path = "../std", default-features = false }
+sp-core = { version = "2.0.0-rc6", path = "../core", default-features = false }
+sp-wasm-interface = { version = "2.0.0-rc6", path = "../wasm-interface", default-features = false }
log = { version = "0.4.8", optional = true }
derive_more = { version = "0.99.2", optional = true }
diff --git a/primitives/allocator/README.md b/primitives/allocator/README.md
new file mode 100644
index 0000000000000..361feaae591f9
--- /dev/null
+++ b/primitives/allocator/README.md
@@ -0,0 +1,6 @@
+Collection of allocator implementations.
+
+This crate provides the following allocator implementations:
+- A freeing-bump allocator: [`FreeingBumpHeapAllocator`](freeing_bump::FreeingBumpHeapAllocator)
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/api/Cargo.toml b/primitives/api/Cargo.toml
index 8ad9fdfdbb730..e1e3dd76d4725 100644
--- a/primitives/api/Cargo.toml
+++ b/primitives/api/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-api"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,16 +13,16 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
-sp-api-proc-macro = { version = "2.0.0-rc5", path = "proc-macro" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../runtime" }
-sp-version = { version = "2.0.0-rc5", default-features = false, path = "../version" }
-sp-state-machine = { version = "0.8.0-rc5", optional = true, path = "../../primitives/state-machine" }
+sp-api-proc-macro = { version = "2.0.0-rc6", path = "proc-macro" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../runtime" }
+sp-version = { version = "2.0.0-rc6", default-features = false, path = "../version" }
+sp-state-machine = { version = "0.8.0-rc6", optional = true, path = "../../primitives/state-machine" }
hash-db = { version = "0.15.2", optional = true }
[dev-dependencies]
-sp-test-primitives = { version = "2.0.0-rc5", path = "../test-primitives" }
+sp-test-primitives = { version = "2.0.0-rc6", path = "../test-primitives" }
[features]
default = [ "std" ]
diff --git a/primitives/api/README.md b/primitives/api/README.md
new file mode 100644
index 0000000000000..551de2f82e365
--- /dev/null
+++ b/primitives/api/README.md
@@ -0,0 +1,17 @@
+Substrate runtime api
+
+The Substrate runtime api is the crucial interface between the node and the runtime.
+Every call that goes into the runtime is done with a runtime api. The runtime apis are not fixed.
+Every Substrate user can define its own apis with
+[`decl_runtime_apis`](macro.decl_runtime_apis.html) and implement them in
+the runtime with [`impl_runtime_apis`](macro.impl_runtime_apis.html).
+
+Every Substrate runtime needs to implement the [`Core`] runtime api. This api provides the basic
+functionality that every runtime needs to export.
+
+Besides the macros and the [`Core`] runtime api, this crates provides the [`Metadata`] runtime
+api, the [`ApiExt`] trait, the [`CallApiAt`] trait and the [`ConstructRuntimeApi`] trait.
+
+On a meta level this implies, the client calls the generated API from the client perspective.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/api/proc-macro/Cargo.toml b/primitives/api/proc-macro/Cargo.toml
index e267b86c8eda1..b7d0bd16050c3 100644
--- a/primitives/api/proc-macro/Cargo.toml
+++ b/primitives/api/proc-macro/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-api-proc-macro"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/primitives/api/test/Cargo.toml b/primitives/api/test/Cargo.toml
index 6b4b82e9a9e8a..0c321429e13d4 100644
--- a/primitives/api/test/Cargo.toml
+++ b/primitives/api/test/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-api-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,22 +12,22 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-api = { version = "2.0.0-rc5", path = "../" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../../test-utils/runtime/client" }
-sp-version = { version = "2.0.0-rc5", path = "../../version" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../runtime" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../blockchain" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sc-block-builder = { version = "0.8.0-rc5", path = "../../../client/block-builder" }
+sp-api = { version = "2.0.0-rc6", path = "../" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../../test-utils/runtime/client" }
+sp-version = { version = "2.0.0-rc6", path = "../../version" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../runtime" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../blockchain" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../../../client/block-builder" }
codec = { package = "parity-scale-codec", version = "1.3.1" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../../primitives/state-machine" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../../primitives/state-machine" }
trybuild = "1.0.17"
rustversion = "1.0.0"
[dev-dependencies]
criterion = "0.3.0"
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../../test-utils/runtime/client" }
-sp-core = { version = "2.0.0-rc5", path = "../../core" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../../test-utils/runtime/client" }
+sp-core = { version = "2.0.0-rc6", path = "../../core" }
[[bench]]
name = "bench"
diff --git a/primitives/application-crypto/Cargo.toml b/primitives/application-crypto/Cargo.toml
index 4366894dcf352..cbfb5d3623446 100644
--- a/primitives/application-crypto/Cargo.toml
+++ b/primitives/application-crypto/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-application-crypto"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
description = "Provides facilities for generating application specific crypto wrapper types."
@@ -14,11 +14,11 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../core" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../core" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
[features]
default = [ "std" ]
diff --git a/primitives/application-crypto/README.md b/primitives/application-crypto/README.md
new file mode 100644
index 0000000000000..c86e33552f606
--- /dev/null
+++ b/primitives/application-crypto/README.md
@@ -0,0 +1,3 @@
+Traits and macros for constructing application specific strongly typed crypto wrappers.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/application-crypto/test/Cargo.toml b/primitives/application-crypto/test/Cargo.toml
index 554e4d2532027..1fb03856dd12a 100644
--- a/primitives/application-crypto/test/Cargo.toml
+++ b/primitives/application-crypto/test/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-application-crypto-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
description = "Integration tests for application-crypto"
@@ -13,8 +13,8 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../core" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../../test-utils/runtime/client" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../runtime" }
-sp-api = { version = "2.0.0-rc5", path = "../../api" }
-sp-application-crypto = { version = "2.0.0-rc5", path = "../" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../core" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../../test-utils/runtime/client" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../runtime" }
+sp-api = { version = "2.0.0-rc6", path = "../../api" }
+sp-application-crypto = { version = "2.0.0-rc6", path = "../" }
diff --git a/primitives/arithmetic/Cargo.toml b/primitives/arithmetic/Cargo.toml
index 83963d0c984c1..b4dd90736a215 100644
--- a/primitives/arithmetic/Cargo.toml
+++ b/primitives/arithmetic/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-arithmetic"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -17,9 +17,9 @@ targets = ["x86_64-unknown-linux-gnu"]
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
integer-sqrt = "0.1.2"
num-traits = { version = "0.2.8", default-features = false }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-sp-debug-derive = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/debug-derive" }
+sp-debug-derive = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/debug-derive" }
[dev-dependencies]
rand = "0.7.2"
diff --git a/primitives/arithmetic/README.md b/primitives/arithmetic/README.md
new file mode 100644
index 0000000000000..e6e52c2a82696
--- /dev/null
+++ b/primitives/arithmetic/README.md
@@ -0,0 +1,3 @@
+Minimal fixed point arithmetic primitives and types for runtime.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/arithmetic/fuzzer/Cargo.toml b/primitives/arithmetic/fuzzer/Cargo.toml
index e82821aebafae..3da97b18433e4 100644
--- a/primitives/arithmetic/fuzzer/Cargo.toml
+++ b/primitives/arithmetic/fuzzer/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-arithmetic-fuzzer"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,7 +14,7 @@ publish = false
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-arithmetic = { version = "2.0.0-rc5", path = ".." }
+sp-arithmetic = { version = "2.0.0-rc6", path = ".." }
honggfuzz = "0.5.49"
primitive-types = "0.7.0"
num-bigint = "0.2"
diff --git a/primitives/authority-discovery/Cargo.toml b/primitives/authority-discovery/Cargo.toml
index 4bce99247fe94..d201f6a70ac05 100644
--- a/primitives/authority-discovery/Cargo.toml
+++ b/primitives/authority-discovery/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-authority-discovery"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
description = "Authority discovery primitives"
edition = "2018"
@@ -12,11 +12,11 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../application-crypto" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../application-crypto" }
codec = { package = "parity-scale-codec", default-features = false, version = "1.3.1" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../api" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../api" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../runtime" }
[features]
default = ["std"]
diff --git a/primitives/authority-discovery/README.md b/primitives/authority-discovery/README.md
new file mode 100644
index 0000000000000..65c2e22dde004
--- /dev/null
+++ b/primitives/authority-discovery/README.md
@@ -0,0 +1,3 @@
+Runtime Api to help discover authorities.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/authorship/Cargo.toml b/primitives/authorship/Cargo.toml
index 514bde6a55308..a5a4977c696d6 100644
--- a/primitives/authorship/Cargo.toml
+++ b/primitives/authorship/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-authorship"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
description = "Authorship primitives"
edition = "2018"
@@ -12,9 +12,9 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../inherents" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../inherents" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
[features]
diff --git a/primitives/authorship/README.md b/primitives/authorship/README.md
new file mode 100644
index 0000000000000..1aa1805cfc5e7
--- /dev/null
+++ b/primitives/authorship/README.md
@@ -0,0 +1,3 @@
+Authorship Primitives
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/block-builder/Cargo.toml b/primitives/block-builder/Cargo.toml
index f9a52b7505bc8..d6ac505c1b7dd 100644
--- a/primitives/block-builder/Cargo.toml
+++ b/primitives/block-builder/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-block-builder"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,11 +12,11 @@ description = "The block builder runtime api."
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../runtime" }
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../api" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../runtime" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../api" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../inherents" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../inherents" }
[features]
default = [ "std" ]
diff --git a/primitives/block-builder/README.md b/primitives/block-builder/README.md
new file mode 100644
index 0000000000000..433197d3be9e4
--- /dev/null
+++ b/primitives/block-builder/README.md
@@ -0,0 +1,3 @@
+The block builder runtime api.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/blockchain/Cargo.toml b/primitives/blockchain/Cargo.toml
index 7d77ae2faa726..044130c08e592 100644
--- a/primitives/blockchain/Cargo.toml
+++ b/primitives/blockchain/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-blockchain"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -18,8 +18,8 @@ lru = "0.4.0"
parking_lot = "0.10.0"
derive_more = "0.99.2"
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-consensus = { version = "0.8.0-rc5", path = "../consensus/common" }
-sp-runtime = { version = "2.0.0-rc5", path = "../runtime" }
-sp-block-builder = { version = "2.0.0-rc5", path = "../block-builder" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../state-machine" }
-sp-database = { version = "2.0.0-rc5", path = "../database" }
+sp-consensus = { version = "0.8.0-rc6", path = "../consensus/common" }
+sp-runtime = { version = "2.0.0-rc6", path = "../runtime" }
+sp-block-builder = { version = "2.0.0-rc6", path = "../block-builder" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../state-machine" }
+sp-database = { version = "2.0.0-rc6", path = "../database" }
diff --git a/primitives/blockchain/README.md b/primitives/blockchain/README.md
new file mode 100644
index 0000000000000..8298bfd7ae60a
--- /dev/null
+++ b/primitives/blockchain/README.md
@@ -0,0 +1,3 @@
+Substrate blockchain traits and primitives.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/chain-spec/Cargo.toml b/primitives/chain-spec/Cargo.toml
index 20915d2f2fabf..6abbf80a6dbea 100644
--- a/primitives/chain-spec/Cargo.toml
+++ b/primitives/chain-spec/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-chain-spec"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/primitives/chain-spec/README.md b/primitives/chain-spec/README.md
new file mode 100644
index 0000000000000..375f14a441ab6
--- /dev/null
+++ b/primitives/chain-spec/README.md
@@ -0,0 +1,3 @@
+Types and traits related to chain specifications.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/consensus/aura/Cargo.toml b/primitives/consensus/aura/Cargo.toml
index 9ed9e840d1c9a..b708f34efa47d 100644
--- a/primitives/consensus/aura/Cargo.toml
+++ b/primitives/consensus/aura/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-consensus-aura"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Primitives for Aura consensus"
edition = "2018"
@@ -12,13 +12,13 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../../application-crypto" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../../application-crypto" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../std" }
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../../api" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../runtime" }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../inherents" }
-sp-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../timestamp" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../std" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../../api" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../runtime" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../inherents" }
+sp-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../timestamp" }
[features]
default = ["std"]
diff --git a/primitives/consensus/aura/README.md b/primitives/consensus/aura/README.md
new file mode 100644
index 0000000000000..0f360ae67eb28
--- /dev/null
+++ b/primitives/consensus/aura/README.md
@@ -0,0 +1,3 @@
+Primitives for Aura.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/consensus/babe/Cargo.toml b/primitives/consensus/babe/Cargo.toml
index de540ebb106d5..e817a017cbec6 100644
--- a/primitives/consensus/babe/Cargo.toml
+++ b/primitives/consensus/babe/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-consensus-babe"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Primitives for BABE consensus"
edition = "2018"
@@ -12,18 +12,18 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../../application-crypto" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../../application-crypto" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
merlin = { version = "2.0", default-features = false }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../std" }
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../../api" }
-sp-consensus = { version = "0.8.0-rc5", optional = true, path = "../common" }
-sp-consensus-slots = { version = "0.8.0-rc5", default-features = false, path = "../slots" }
-sp-consensus-vrf = { version = "0.8.0-rc5", path = "../vrf", default-features = false }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../core" }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../inherents" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../runtime" }
-sp-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../timestamp" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../std" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../../api" }
+sp-consensus = { version = "0.8.0-rc6", optional = true, path = "../common" }
+sp-consensus-slots = { version = "0.8.0-rc6", default-features = false, path = "../slots" }
+sp-consensus-vrf = { version = "0.8.0-rc6", path = "../vrf", default-features = false }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../core" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../inherents" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../runtime" }
+sp-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../timestamp" }
[features]
default = ["std"]
diff --git a/primitives/consensus/babe/README.md b/primitives/consensus/babe/README.md
new file mode 100644
index 0000000000000..54bae05fd6db7
--- /dev/null
+++ b/primitives/consensus/babe/README.md
@@ -0,0 +1,3 @@
+Primitives for BABE.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/consensus/common/Cargo.toml b/primitives/consensus/common/Cargo.toml
index d8c5073274d75..4c5a0197de257 100644
--- a/primitives/consensus/common/Cargo.toml
+++ b/primitives/consensus/common/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-consensus"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -17,25 +17,25 @@ targets = ["x86_64-unknown-linux-gnu"]
derive_more = "0.99.2"
libp2p = { version = "0.23.0", default-features = false }
log = "0.4.8"
-sp-core = { path= "../../core", version = "2.0.0-rc5"}
-sp-inherents = { version = "2.0.0-rc5", path = "../../inherents" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../../primitives/state-machine" }
+sp-core = { path= "../../core", version = "2.0.0-rc6"}
+sp-inherents = { version = "2.0.0-rc6", path = "../../inherents" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../../primitives/state-machine" }
futures = { version = "0.3.1", features = ["thread-pool"] }
futures-timer = "3.0.1"
-sp-std = { version = "2.0.0-rc5", path = "../../std" }
-sp-version = { version = "2.0.0-rc5", path = "../../version" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../runtime" }
-sp-utils = { version = "2.0.0-rc5", path = "../../utils" }
-sp-trie = { version = "2.0.0-rc5", path = "../../trie" }
-sp-api = { version = "2.0.0-rc5", path = "../../api" }
+sp-std = { version = "2.0.0-rc6", path = "../../std" }
+sp-version = { version = "2.0.0-rc6", path = "../../version" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../runtime" }
+sp-utils = { version = "2.0.0-rc6", path = "../../utils" }
+sp-trie = { version = "2.0.0-rc6", path = "../../trie" }
+sp-api = { version = "2.0.0-rc6", path = "../../api" }
codec = { package = "parity-scale-codec", version = "1.3.1", features = ["derive"] }
parking_lot = "0.10.0"
serde = { version = "1.0", features = ["derive"] }
-prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.8.0-rc5"}
+prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.8.0-rc6"}
wasm-timer = "0.2.4"
[dev-dependencies]
-sp-test-primitives = { version = "2.0.0-rc5", path = "../../test-primitives" }
+sp-test-primitives = { version = "2.0.0-rc6", path = "../../test-primitives" }
[features]
default = []
diff --git a/primitives/consensus/common/README.md b/primitives/consensus/common/README.md
new file mode 100644
index 0000000000000..963bb0fbdba4a
--- /dev/null
+++ b/primitives/consensus/common/README.md
@@ -0,0 +1,7 @@
+Common utilities for building and using consensus engines in substrate.
+
+Much of this crate is _unstable_ and thus the API is likely to undergo
+change. Implementors of traits should not rely on the interfaces to remain
+the same.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/consensus/pow/Cargo.toml b/primitives/consensus/pow/Cargo.toml
index 598ff0ecb2949..03376907a93f2 100644
--- a/primitives/consensus/pow/Cargo.toml
+++ b/primitives/consensus/pow/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-consensus-pow"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Primitives for Aura consensus"
edition = "2018"
@@ -12,10 +12,10 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../../api" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../runtime" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../core" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../../api" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../runtime" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../core" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
[features]
diff --git a/primitives/consensus/pow/README.md b/primitives/consensus/pow/README.md
new file mode 100644
index 0000000000000..8818643776498
--- /dev/null
+++ b/primitives/consensus/pow/README.md
@@ -0,0 +1,3 @@
+Primitives for Substrate Proof-of-Work (PoW) consensus.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/consensus/slots/Cargo.toml b/primitives/consensus/slots/Cargo.toml
index ebf2be94a3fb4..ada913b645c7b 100644
--- a/primitives/consensus/slots/Cargo.toml
+++ b/primitives/consensus/slots/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-consensus-slots"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Primitives for slots-based consensus"
edition = "2018"
diff --git a/primitives/consensus/slots/README.md b/primitives/consensus/slots/README.md
new file mode 100644
index 0000000000000..f451c32888a47
--- /dev/null
+++ b/primitives/consensus/slots/README.md
@@ -0,0 +1,3 @@
+Primitives for slots-based consensus engines.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/consensus/vrf/Cargo.toml b/primitives/consensus/vrf/Cargo.toml
index b5934a8a26388..7cf064e9f6291 100644
--- a/primitives/consensus/vrf/Cargo.toml
+++ b/primitives/consensus/vrf/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-consensus-vrf"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Primitives for VRF based consensus"
edition = "2018"
@@ -14,9 +14,9 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { version = "1.0.0", package = "parity-scale-codec", default-features = false }
schnorrkel = { version = "0.9.1", features = ["preaudit_deprecated", "u64_backend"], default-features = false }
-sp-std = { version = "2.0.0-rc5", path = "../../std", default-features = false }
-sp-core = { version = "2.0.0-rc5", path = "../../core", default-features = false }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../runtime" }
+sp-std = { version = "2.0.0-rc6", path = "../../std", default-features = false }
+sp-core = { version = "2.0.0-rc6", path = "../../core", default-features = false }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../runtime" }
[features]
default = ["std"]
diff --git a/primitives/consensus/vrf/README.md b/primitives/consensus/vrf/README.md
new file mode 100644
index 0000000000000..d66490e023b38
--- /dev/null
+++ b/primitives/consensus/vrf/README.md
@@ -0,0 +1,3 @@
+Primitives for VRF-based consensus engines.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/core/Cargo.toml b/primitives/core/Cargo.toml
index 6787efbd845da..f74b0c2738e23 100644
--- a/primitives/core/Cargo.toml
+++ b/primitives/core/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-core"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
derive_more = "0.99.2"
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
log = { version = "0.4.8", default-features = false }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
@@ -34,9 +34,9 @@ zeroize = { version = "1.0.0", default-features = false }
secrecy = { version = "0.6.0", default-features = false }
lazy_static = { version = "1.4.0", default-features = false, optional = true }
parking_lot = { version = "0.10.0", optional = true }
-sp-debug-derive = { version = "2.0.0-rc5", path = "../debug-derive" }
-sp-externalities = { version = "0.8.0-rc5", optional = true, path = "../externalities" }
-sp-storage = { version = "2.0.0-rc5", default-features = false, path = "../storage" }
+sp-debug-derive = { version = "2.0.0-rc6", path = "../debug-derive" }
+sp-externalities = { version = "0.8.0-rc6", optional = true, path = "../externalities" }
+sp-storage = { version = "2.0.0-rc6", default-features = false, path = "../storage" }
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
futures = { version = "0.3.1", optional = true }
dyn-clonable = { version = "0.9.0", optional = true }
@@ -52,10 +52,10 @@ twox-hash = { version = "1.5.0", default-features = false, optional = true }
libsecp256k1 = { version = "0.3.2", default-features = false, features = ["hmac"], optional = true }
merlin = { version = "2.0", default-features = false, optional = true }
-sp-runtime-interface = { version = "2.0.0-rc5", default-features = false, path = "../runtime-interface" }
+sp-runtime-interface = { version = "2.0.0-rc6", default-features = false, path = "../runtime-interface" }
[dev-dependencies]
-sp-serializer = { version = "2.0.0-rc5", path = "../serializer" }
+sp-serializer = { version = "2.0.0-rc6", path = "../serializer" }
pretty_assertions = "0.6.1"
hex-literal = "0.2.1"
rand = "0.7.2"
diff --git a/primitives/database/Cargo.toml b/primitives/database/Cargo.toml
index dd9c580787532..da909ddc6518a 100644
--- a/primitives/database/Cargo.toml
+++ b/primitives/database/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-database"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/primitives/database/README.md b/primitives/database/README.md
new file mode 100644
index 0000000000000..cd0677eb9eb44
--- /dev/null
+++ b/primitives/database/README.md
@@ -0,0 +1,3 @@
+The main database trait, allowing Substrate to store data persistently.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/debug-derive/Cargo.toml b/primitives/debug-derive/Cargo.toml
index 38efaed1614b0..99481782693f3 100644
--- a/primitives/debug-derive/Cargo.toml
+++ b/primitives/debug-derive/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-debug-derive"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/primitives/externalities/Cargo.toml b/primitives/externalities/Cargo.toml
index 62a2413f3355d..17184ca69402f 100644
--- a/primitives/externalities/Cargo.toml
+++ b/primitives/externalities/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-externalities"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
license = "Apache-2.0"
authors = ["Parity Technologies "]
edition = "2018"
@@ -13,7 +13,7 @@ documentation = "https://docs.rs/sp-externalities"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-storage = { version = "2.0.0-rc5", path = "../storage" }
-sp-std = { version = "2.0.0-rc5", path = "../std" }
+sp-storage = { version = "2.0.0-rc6", path = "../storage" }
+sp-std = { version = "2.0.0-rc6", path = "../std" }
environmental = { version = "1.1.1" }
codec = { package = "parity-scale-codec", version = "1.3.1" }
diff --git a/primitives/externalities/README.md b/primitives/externalities/README.md
new file mode 100644
index 0000000000000..3141b2609e637
--- /dev/null
+++ b/primitives/externalities/README.md
@@ -0,0 +1,9 @@
+Substrate externalities abstraction
+
+The externalities mainly provide access to storage and to registered extensions. Extensions
+are for example the keystore or the offchain externalities. These externalities are used to
+access the node from the runtime via the runtime interfaces.
+
+This crate exposes the main [`Externalities`] trait.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/finality-grandpa/Cargo.toml b/primitives/finality-grandpa/Cargo.toml
index 8fc318df458fc..8309eccccb0b3 100644
--- a/primitives/finality-grandpa/Cargo.toml
+++ b/primitives/finality-grandpa/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-finality-grandpa"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,15 +14,15 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../application-crypto" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../application-crypto" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
grandpa = { package = "finality-grandpa", version = "0.12.3", default-features = false, features = ["derive-codec"] }
log = { version = "0.4.8", optional = true }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../api" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../core" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../api" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../core" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
[features]
default = ["std"]
diff --git a/primitives/finality-grandpa/README.md b/primitives/finality-grandpa/README.md
new file mode 100644
index 0000000000000..77a7abca2eef3
--- /dev/null
+++ b/primitives/finality-grandpa/README.md
@@ -0,0 +1,3 @@
+Primitives for GRANDPA integration, suitable for WASM compilation.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/finality-tracker/Cargo.toml b/primitives/finality-tracker/Cargo.toml
index 67a3e836567c6..31db1e683a819 100644
--- a/primitives/finality-tracker/Cargo.toml
+++ b/primitives/finality-tracker/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-finality-tracker"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,8 +13,8 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/inherents" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/inherents" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
[features]
default = ["std"]
diff --git a/primitives/finality-tracker/README.md b/primitives/finality-tracker/README.md
new file mode 100644
index 0000000000000..f9778e38a2bce
--- /dev/null
+++ b/primitives/finality-tracker/README.md
@@ -0,0 +1,3 @@
+FRAME module that tracks the last finalized block, as perceived by block authors.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/inherents/Cargo.toml b/primitives/inherents/Cargo.toml
index fee8449a3b2e9..c674492596659 100644
--- a/primitives/inherents/Cargo.toml
+++ b/primitives/inherents/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-inherents"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -15,8 +15,8 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
parking_lot = { version = "0.10.0", optional = true }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../core" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
derive_more = { version = "0.99.2", optional = true }
diff --git a/primitives/inherents/README.md b/primitives/inherents/README.md
new file mode 100644
index 0000000000000..78aa625fe8569
--- /dev/null
+++ b/primitives/inherents/README.md
@@ -0,0 +1,17 @@
+Provides types and traits for creating and checking inherents.
+
+Each inherent is added to a produced block. Each runtime decides on which inherents it
+wants to attach to its blocks. All data that is required for the runtime to create the inherents
+is stored in the `InherentData`. This `InherentData` is constructed by the node and given to
+the runtime.
+
+Types that provide data for inherents, should implement `InherentDataProvider` and need to be
+registered at `InherentDataProviders`.
+
+In the runtime, modules need to implement `ProvideInherent` when they can create and/or check
+inherents. By implementing `ProvideInherent`, a module is not enforced to create an inherent.
+A module can also just check given inherents. For using a module as inherent provider, it needs
+to be registered by the `construct_runtime!` macro. The macro documentation gives more
+information on how that is done.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/io/Cargo.toml b/primitives/io/Cargo.toml
index 04ee4efd97a24..a08451db24389 100644
--- a/primitives/io/Cargo.toml
+++ b/primitives/io/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-io"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -16,15 +16,15 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
hash-db = { version = "0.15.2", default-features = false }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
libsecp256k1 = { version = "0.3.4", optional = true }
-sp-state-machine = { version = "0.8.0-rc5", optional = true, path = "../../primitives/state-machine" }
-sp-wasm-interface = { version = "2.0.0-rc5", path = "../../primitives/wasm-interface", default-features = false }
-sp-runtime-interface = { version = "2.0.0-rc5", default-features = false, path = "../runtime-interface" }
-sp-trie = { version = "2.0.0-rc5", optional = true, path = "../../primitives/trie" }
-sp-externalities = { version = "0.8.0-rc5", optional = true, path = "../externalities" }
-sp-tracing = { version = "2.0.0-rc5", default-features = false, path = "../tracing" }
+sp-state-machine = { version = "0.8.0-rc6", optional = true, path = "../../primitives/state-machine" }
+sp-wasm-interface = { version = "2.0.0-rc6", path = "../../primitives/wasm-interface", default-features = false }
+sp-runtime-interface = { version = "2.0.0-rc6", default-features = false, path = "../runtime-interface" }
+sp-trie = { version = "2.0.0-rc6", optional = true, path = "../../primitives/trie" }
+sp-externalities = { version = "0.8.0-rc6", optional = true, path = "../externalities" }
+sp-tracing = { version = "2.0.0-rc6", default-features = false, path = "../tracing" }
log = { version = "0.4.8", optional = true }
futures = { version = "0.3.1", features = ["thread-pool"], optional = true }
parking_lot = { version = "0.10.0", optional = true }
diff --git a/primitives/io/README.md b/primitives/io/README.md
new file mode 100644
index 0000000000000..a24370cc566b3
--- /dev/null
+++ b/primitives/io/README.md
@@ -0,0 +1,3 @@
+I/O host interface for substrate runtime.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/keyring/Cargo.toml b/primitives/keyring/Cargo.toml
index 05ca468133296..e3634d9bb5f94 100644
--- a/primitives/keyring/Cargo.toml
+++ b/primitives/keyring/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-keyring"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../core" }
-sp-runtime = { version = "2.0.0-rc5", path = "../runtime" }
+sp-core = { version = "2.0.0-rc6", path = "../core" }
+sp-runtime = { version = "2.0.0-rc6", path = "../runtime" }
lazy_static = "1.4.0"
strum = { version = "0.16.0", features = ["derive"] }
diff --git a/primitives/keyring/README.md b/primitives/keyring/README.md
new file mode 100644
index 0000000000000..1610f237df97a
--- /dev/null
+++ b/primitives/keyring/README.md
@@ -0,0 +1,3 @@
+Support code for the runtime. A set of test accounts.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/npos-elections/Cargo.toml b/primitives/npos-elections/Cargo.toml
index ff843865d6727..26043df84f7a7 100644
--- a/primitives/npos-elections/Cargo.toml
+++ b/primitives/npos-elections/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-npos-elections"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -14,14 +14,14 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
-sp-npos-elections-compact = { version = "2.0.0-rc5", path = "./compact" }
-sp-arithmetic = { version = "2.0.0-rc5", default-features = false, path = "../arithmetic" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
+sp-npos-elections-compact = { version = "2.0.0-rc6", path = "./compact" }
+sp-arithmetic = { version = "2.0.0-rc6", default-features = false, path = "../arithmetic" }
[dev-dependencies]
-substrate-test-utils = { version = "2.0.0-rc5", path = "../../test-utils" }
+substrate-test-utils = { version = "2.0.0-rc6", path = "../../test-utils" }
rand = "0.7.3"
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
[features]
default = ["std"]
diff --git a/primitives/npos-elections/README.md b/primitives/npos-elections/README.md
new file mode 100644
index 0000000000000..a98351a6d89a7
--- /dev/null
+++ b/primitives/npos-elections/README.md
@@ -0,0 +1,12 @@
+A set of election algorithms to be used with a substrate runtime, typically within the staking
+sub-system. Notable implementation include
+
+- [`seq_phragmen`]: Implements the Phragmén Sequential Method. An un-ranked, relatively fast
+ election method that ensures PJR, but does not provide a constant factor approximation of the
+ maximin problem.
+- [`balance_solution`]: Implements the star balancing algorithm. This iterative process can
+ increase a solutions score, as described in [`evaluate_support`].
+
+More information can be found at: https://arxiv.org/abs/2004.12990
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/npos-elections/compact/Cargo.toml b/primitives/npos-elections/compact/Cargo.toml
index 4abe79b77f049..7f55fe6bea153 100644
--- a/primitives/npos-elections/compact/Cargo.toml
+++ b/primitives/npos-elections/compact/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-npos-elections-compact"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/primitives/npos-elections/fuzzer/Cargo.toml b/primitives/npos-elections/fuzzer/Cargo.toml
index 7969a68c6bcad..f0c9442aade5f 100644
--- a/primitives/npos-elections/fuzzer/Cargo.toml
+++ b/primitives/npos-elections/fuzzer/Cargo.toml
@@ -14,9 +14,9 @@ publish = false
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-npos-elections = { version = "2.0.0-rc5", path = ".." }
-sp-std = { version = "2.0.0-rc5", path = "../../std" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../runtime" }
+sp-npos-elections = { version = "2.0.0-rc6", path = ".." }
+sp-std = { version = "2.0.0-rc6", path = "../../std" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../runtime" }
honggfuzz = "0.5"
rand = { version = "0.7.3", features = ["std", "small_rng"] }
diff --git a/primitives/offchain/Cargo.toml b/primitives/offchain/Cargo.toml
index a2738ab26e134..46c4f2144f937 100644
--- a/primitives/offchain/Cargo.toml
+++ b/primitives/offchain/Cargo.toml
@@ -1,7 +1,7 @@
[package]
description = "Substrate offchain workers primitives"
name = "sp-offchain"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
license = "Apache-2.0"
authors = ["Parity Technologies "]
edition = "2018"
@@ -12,12 +12,12 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../core" }
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../api" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../runtime" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../core" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../api" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../runtime" }
[dev-dependencies]
-sp-state-machine = { version = "0.8.0-rc5", default-features = false, path = "../state-machine" }
+sp-state-machine = { version = "0.8.0-rc6", default-features = false, path = "../state-machine" }
[features]
default = ["std"]
diff --git a/primitives/offchain/README.md b/primitives/offchain/README.md
new file mode 100644
index 0000000000000..a8620d3bb9d5b
--- /dev/null
+++ b/primitives/offchain/README.md
@@ -0,0 +1,3 @@
+The Offchain Worker runtime api primitives.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/panic-handler/Cargo.toml b/primitives/panic-handler/Cargo.toml
index b778c1106b885..eb0e3bd9a2a85 100644
--- a/primitives/panic-handler/Cargo.toml
+++ b/primitives/panic-handler/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-panic-handler"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/primitives/panic-handler/README.md b/primitives/panic-handler/README.md
new file mode 100644
index 0000000000000..c08396960f4c9
--- /dev/null
+++ b/primitives/panic-handler/README.md
@@ -0,0 +1,10 @@
+Custom panic hook with bug report link
+
+This crate provides the [`set`] function, which wraps around [`std::panic::set_hook`] and
+sets up a panic hook that prints a backtrace and invites the user to open an issue to the
+given URL.
+
+By default, the panic handler aborts the process by calling [`std::process::exit`]. This can
+temporarily be disabled by using an [`AbortGuard`].
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/rpc/Cargo.toml b/primitives/rpc/Cargo.toml
index c2211f6fb9156..a524ccfe78597 100644
--- a/primitives/rpc/Cargo.toml
+++ b/primitives/rpc/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-rpc"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,7 +13,7 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", features = ["derive"] }
-sp-core = { version = "2.0.0-rc5", path = "../core" }
+sp-core = { version = "2.0.0-rc6", path = "../core" }
[dev-dependencies]
serde_json = "1.0.41"
diff --git a/primitives/rpc/README.md b/primitives/rpc/README.md
new file mode 100644
index 0000000000000..8a9c17edd4755
--- /dev/null
+++ b/primitives/rpc/README.md
@@ -0,0 +1,3 @@
+Substrate RPC primitives and utilities.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/runtime-interface/Cargo.toml b/primitives/runtime-interface/Cargo.toml
index f16000bff4924..466e5eeccf5eb 100644
--- a/primitives/runtime-interface/Cargo.toml
+++ b/primitives/runtime-interface/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-runtime-interface"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,21 +13,21 @@ documentation = "https://docs.rs/sp-runtime-interface/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-wasm-interface = { version = "2.0.0-rc5", path = "../wasm-interface", default-features = false }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
-sp-tracing = { version = "2.0.0-rc5", default-features = false, path = "../tracing" }
-sp-runtime-interface-proc-macro = { version = "2.0.0-rc5", path = "proc-macro" }
-sp-externalities = { version = "0.8.0-rc5", optional = true, path = "../externalities" }
+sp-wasm-interface = { version = "2.0.0-rc6", path = "../wasm-interface", default-features = false }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
+sp-tracing = { version = "2.0.0-rc6", default-features = false, path = "../tracing" }
+sp-runtime-interface-proc-macro = { version = "2.0.0-rc6", path = "proc-macro" }
+sp-externalities = { version = "0.8.0-rc6", optional = true, path = "../externalities" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
static_assertions = "1.0.0"
primitive-types = { version = "0.7.0", default-features = false }
-sp-storage = { version = "2.0.0-rc5", default-features = false, path = "../storage" }
+sp-storage = { version = "2.0.0-rc6", default-features = false, path = "../storage" }
[dev-dependencies]
-sp-runtime-interface-test-wasm = { version = "2.0.0-rc5", path = "test-wasm" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
-sp-core = { version = "2.0.0-rc5", path = "../core" }
-sp-io = { version = "2.0.0-rc5", path = "../io" }
+sp-runtime-interface-test-wasm = { version = "2.0.0-rc6", path = "test-wasm" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
+sp-core = { version = "2.0.0-rc6", path = "../core" }
+sp-io = { version = "2.0.0-rc6", path = "../io" }
rustversion = "1.0.0"
trybuild = "1.0.23"
diff --git a/primitives/runtime-interface/README.md b/primitives/runtime-interface/README.md
new file mode 100644
index 0000000000000..666bfe4d5a861
--- /dev/null
+++ b/primitives/runtime-interface/README.md
@@ -0,0 +1,88 @@
+Substrate runtime interface
+
+This crate provides types, traits and macros around runtime interfaces. A runtime interface is
+a fixed interface between a Substrate runtime and a Substrate node. For a native runtime the
+interface maps to a direct function call of the implementation. For a wasm runtime the interface
+maps to an external function call. These external functions are exported by the wasm executor
+and they map to the same implementation as the native calls.
+
+# Using a type in a runtime interface
+
+Any type that should be used in a runtime interface as argument or return value needs to
+implement [`RIType`]. The associated type [`FFIType`](RIType::FFIType) is the type that is used
+in the FFI function to represent the actual type. For example `[T]` is represented by an `u64`.
+The slice pointer and the length will be mapped to an `u64` value. For more information see
+this [table](#ffi-type-and-conversion). The FFI function definition is used when calling from
+the wasm runtime into the node.
+
+Traits are used to convert from a type to the corresponding [`RIType::FFIType`].
+Depending on where and how a type should be used in a function signature, a combination of the
+following traits need to be implemented:
+
+1. Pass as function argument: [`wasm::IntoFFIValue`] and [`host::FromFFIValue`]
+2. As function return value: [`wasm::FromFFIValue`] and [`host::IntoFFIValue`]
+3. Pass as mutable function argument: [`host::IntoPreallocatedFFIValue`]
+
+The traits are implemented for most of the common types like `[T]`, `Vec`, arrays and
+primitive types.
+
+For custom types, we provide the [`PassBy`](pass_by::PassBy) trait and strategies that define
+how a type is passed between the wasm runtime and the node. Each strategy also provides a derive
+macro to simplify the implementation.
+
+# Performance
+
+To not waste any more performance when calling into the node, not all types are SCALE encoded
+when being passed as arguments between the wasm runtime and the node. For most types that
+are raw bytes like `Vec`, `[u8]` or `[u8; N]` we pass them directly, without SCALE encoding
+them in front of. The implementation of [`RIType`] each type provides more information on how
+the data is passed.
+
+# Declaring a runtime interface
+
+Declaring a runtime interface is similar to declaring a trait in Rust:
+
+```rust
+#[sp_runtime_interface::runtime_interface]
+trait RuntimeInterface {
+ fn some_function(value: &[u8]) -> bool {
+ value.iter().all(|v| *v > 125)
+ }
+}
+```
+
+For more information on declaring a runtime interface, see
+[`#[runtime_interface]`](attr.runtime_interface.html).
+
+# FFI type and conversion
+
+The following table documents how values of types are passed between the wasm and
+the host side and how they are converted into the corresponding type.
+
+| Type | FFI type | Conversion |
+|----|----|----|
+| `u8` | `u8` | `Identity` |
+| `u16` | `u16` | `Identity` |
+| `u32` | `u32` | `Identity` |
+| `u64` | `u64` | `Identity` |
+| `i128` | `u32` | `v.as_ptr()` (pointer to a 16 byte array) |
+| `i8` | `i8` | `Identity` |
+| `i16` | `i16` | `Identity` |
+| `i32` | `i32` | `Identity` |
+| `i64` | `i64` | `Identity` |
+| `u128` | `u32` | `v.as_ptr()` (pointer to a 16 byte array) |
+| `bool` | `u8` | `if v { 1 } else { 0 }` |
+| `&str` | `u64` | v.len() 32bit << 32 | v.as_ptr() 32bit
|
+| `&[u8]` | `u64` | v.len() 32bit << 32 | v.as_ptr() 32bit
|
+| `Vec` | `u64` | v.len() 32bit << 32 | v.as_ptr() 32bit
|
+| `Vec where T: Encode` | `u64` | `let e = v.encode();`
e.len() 32bit << 32 | e.as_ptr() 32bit
|
+| `&[T] where T: Encode` | `u64` | `let e = v.encode();`
e.len() 32bit << 32 | e.as_ptr() 32bit
|
+| `[u8; N]` | `u32` | `v.as_ptr()` |
+| `*const T` | `u32` | `Identity` |
+| `Option` | `u64` | `let e = v.encode();`
e.len() 32bit << 32 | e.as_ptr() 32bit
|
+| [`T where T: PassBy`](pass_by::Inner) | Depends on inner | Depends on inner |
+| [`T where T: PassBy`](pass_by::Codec) | `u64`| v.len() 32bit << 32 | v.as_ptr() 32bit
|
+
+`Identity` means that the value is converted directly into the corresponding FFI type.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/runtime-interface/proc-macro/Cargo.toml b/primitives/runtime-interface/proc-macro/Cargo.toml
index 96a882471806d..006e8ec6c4694 100644
--- a/primitives/runtime-interface/proc-macro/Cargo.toml
+++ b/primitives/runtime-interface/proc-macro/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-runtime-interface-proc-macro"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/primitives/runtime-interface/test-wasm-deprecated/Cargo.toml b/primitives/runtime-interface/test-wasm-deprecated/Cargo.toml
index bd4f3f97ec7e3..ff86713c54362 100644
--- a/primitives/runtime-interface/test-wasm-deprecated/Cargo.toml
+++ b/primitives/runtime-interface/test-wasm-deprecated/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-runtime-interface-test-wasm-deprecated"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
build = "build.rs"
@@ -13,10 +13,10 @@ publish = false
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-runtime-interface = { version = "2.0.0-rc5", default-features = false, path = "../" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../io" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../core" }
+sp-runtime-interface = { version = "2.0.0-rc6", default-features = false, path = "../" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../io" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../core" }
[build-dependencies]
wasm-builder-runner = { version = "1.0.5", package = "substrate-wasm-builder-runner", path = "../../../utils/wasm-builder-runner" }
diff --git a/primitives/runtime-interface/test-wasm/Cargo.toml b/primitives/runtime-interface/test-wasm/Cargo.toml
index a1756883dede2..bfe2016ea5189 100644
--- a/primitives/runtime-interface/test-wasm/Cargo.toml
+++ b/primitives/runtime-interface/test-wasm/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-runtime-interface-test-wasm"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
build = "build.rs"
@@ -13,10 +13,10 @@ publish = false
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-runtime-interface = { version = "2.0.0-rc5", default-features = false, path = "../" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../io" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../core" }
+sp-runtime-interface = { version = "2.0.0-rc6", default-features = false, path = "../" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../io" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../core" }
[build-dependencies]
wasm-builder-runner = { version = "1.0.5", package = "substrate-wasm-builder-runner", path = "../../../utils/wasm-builder-runner" }
diff --git a/primitives/runtime-interface/test/Cargo.toml b/primitives/runtime-interface/test/Cargo.toml
index 48dbeedbdad3a..39a48d10b141e 100644
--- a/primitives/runtime-interface/test/Cargo.toml
+++ b/primitives/runtime-interface/test/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-runtime-interface-test"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,12 +12,12 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-runtime-interface = { version = "2.0.0-rc5", path = "../" }
-sc-executor = { version = "0.8.0-rc5", path = "../../../client/executor" }
-sp-runtime-interface-test-wasm = { version = "2.0.0-rc5", path = "../test-wasm" }
-sp-runtime-interface-test-wasm-deprecated = { version = "2.0.0-rc5", path = "../test-wasm-deprecated" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../../primitives/state-machine" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../runtime" }
-sp-core = { version = "2.0.0-rc5", path = "../../core" }
-sp-io = { version = "2.0.0-rc5", path = "../../io" }
+sp-runtime-interface = { version = "2.0.0-rc6", path = "../" }
+sc-executor = { version = "0.8.0-rc6", path = "../../../client/executor" }
+sp-runtime-interface-test-wasm = { version = "2.0.0-rc6", path = "../test-wasm" }
+sp-runtime-interface-test-wasm-deprecated = { version = "2.0.0-rc6", path = "../test-wasm-deprecated" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../../primitives/state-machine" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../runtime" }
+sp-core = { version = "2.0.0-rc6", path = "../../core" }
+sp-io = { version = "2.0.0-rc6", path = "../../io" }
tracing = "0.1.18"
diff --git a/primitives/runtime/Cargo.toml b/primitives/runtime/Cargo.toml
index 78c0bbcea8f85..f47b3605205ff 100644
--- a/primitives/runtime/Cargo.toml
+++ b/primitives/runtime/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-runtime"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -16,16 +16,16 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
serde = { version = "1.0.101", optional = true, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../core" }
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../application-crypto" }
-sp-arithmetic = { version = "2.0.0-rc5", default-features = false, path = "../arithmetic" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../io" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../core" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../application-crypto" }
+sp-arithmetic = { version = "2.0.0-rc6", default-features = false, path = "../arithmetic" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../io" }
log = { version = "0.4.8", optional = true }
paste = "0.1.6"
rand = { version = "0.7.2", optional = true }
impl-trait-for-tuples = "0.1.3"
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../inherents" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../inherents" }
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
hash256-std-hasher = { version = "0.15.2", default-features = false }
either = { version = "1.5", default-features = false }
@@ -33,7 +33,7 @@ either = { version = "1.5", default-features = false }
[dev-dependencies]
serde_json = "1.0.41"
rand = "0.7.2"
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
[features]
bench = []
diff --git a/primitives/runtime/README.md b/primitives/runtime/README.md
new file mode 100644
index 0000000000000..1515cd8e2961b
--- /dev/null
+++ b/primitives/runtime/README.md
@@ -0,0 +1,3 @@
+Runtime Modules shared primitive types.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/sandbox/Cargo.toml b/primitives/sandbox/Cargo.toml
index ca5cfa4fdc3cc..98376c77464d5 100755
--- a/primitives/sandbox/Cargo.toml
+++ b/primitives/sandbox/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-sandbox"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,10 +13,10 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
wasmi = { version = "0.6.2", optional = true }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../io" }
-sp-wasm-interface = { version = "2.0.0-rc5", default-features = false, path = "../wasm-interface" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../io" }
+sp-wasm-interface = { version = "2.0.0-rc6", default-features = false, path = "../wasm-interface" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
[dev-dependencies]
diff --git a/primitives/sandbox/README.md b/primitives/sandbox/README.md
new file mode 100644
index 0000000000000..9335b53ae1fb9
--- /dev/null
+++ b/primitives/sandbox/README.md
@@ -0,0 +1,21 @@
+This crate provides means to instantiate and execute wasm modules.
+
+It works even when the user of this library executes from
+inside the wasm VM. In this case the same VM is used for execution
+of both the sandbox owner and the sandboxed module, without compromising security
+and without the performance penalty of full wasm emulation inside wasm.
+
+This is achieved by using bindings to the wasm VM, which are published by the host API.
+This API is thin and consists of only a handful functions. It contains functions for instantiating
+modules and executing them, but doesn't contain functions for inspecting the module
+structure. The user of this library is supposed to read the wasm module.
+
+When this crate is used in the `std` environment all these functions are implemented by directly
+calling the wasm VM.
+
+Examples of possible use-cases for this library are not limited to the following:
+
+- implementing smart-contract runtimes that use wasm for contract code
+- executing a wasm substrate runtime inside of a wasm parachain
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/serializer/Cargo.toml b/primitives/serializer/Cargo.toml
index 05b8cc74f2c81..5fcaf9fe87f63 100644
--- a/primitives/serializer/Cargo.toml
+++ b/primitives/serializer/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-serializer"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/primitives/serializer/README.md b/primitives/serializer/README.md
new file mode 100644
index 0000000000000..083a0857cc0d2
--- /dev/null
+++ b/primitives/serializer/README.md
@@ -0,0 +1,6 @@
+Substrate customizable serde serializer.
+
+The idea is that we can later change the implementation
+to something more compact, but for now we're using JSON.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/session/Cargo.toml b/primitives/session/Cargo.toml
index 320e6adc1c7b5..b8bad3ed8daba 100644
--- a/primitives/session/Cargo.toml
+++ b/primitives/session/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-session"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,11 +13,11 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../api" }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
-sp-staking = { version = "2.0.0-rc5", default-features = false, path = "../staking" }
-sp-runtime = { version = "2.0.0-rc5", optional = true, path = "../runtime" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../api" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
+sp-staking = { version = "2.0.0-rc6", default-features = false, path = "../staking" }
+sp-runtime = { version = "2.0.0-rc6", optional = true, path = "../runtime" }
[features]
default = [ "std" ]
diff --git a/primitives/session/README.md b/primitives/session/README.md
new file mode 100644
index 0000000000000..2d1f9d9bc1d5b
--- /dev/null
+++ b/primitives/session/README.md
@@ -0,0 +1,3 @@
+Substrate core types around sessions.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/staking/Cargo.toml b/primitives/staking/Cargo.toml
index bb6ef06f34d61..8b324ca6bdb56 100644
--- a/primitives/staking/Cargo.toml
+++ b/primitives/staking/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-staking"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -13,8 +13,8 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../runtime" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
[features]
default = ["std"]
diff --git a/primitives/staking/README.md b/primitives/staking/README.md
new file mode 100644
index 0000000000000..892e1379d9a53
--- /dev/null
+++ b/primitives/staking/README.md
@@ -0,0 +1,4 @@
+A crate which contains primitives that are useful for implementation that uses staking
+approaches in general. Definitions related to sessions, slashing, etc go here.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/state-machine/Cargo.toml b/primitives/state-machine/Cargo.toml
index 781d3b068a857..c563fa5384d1c 100644
--- a/primitives/state-machine/Cargo.toml
+++ b/primitives/state-machine/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-state-machine"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Substrate State Machine"
edition = "2018"
@@ -18,19 +18,19 @@ parking_lot = "0.10.0"
hash-db = "0.15.2"
trie-db = "0.22.0"
trie-root = "0.16.0"
-sp-trie = { version = "2.0.0-rc5", path = "../trie" }
-sp-core = { version = "2.0.0-rc5", path = "../core" }
-sp-panic-handler = { version = "2.0.0-rc5", path = "../panic-handler" }
+sp-trie = { version = "2.0.0-rc6", path = "../trie" }
+sp-core = { version = "2.0.0-rc6", path = "../core" }
+sp-panic-handler = { version = "2.0.0-rc6", path = "../panic-handler" }
codec = { package = "parity-scale-codec", version = "1.3.1" }
num-traits = "0.2.8"
rand = "0.7.2"
-sp-externalities = { version = "0.8.0-rc5", path = "../externalities" }
+sp-externalities = { version = "0.8.0-rc6", path = "../externalities" }
itertools = "0.9"
smallvec = "1.4.1"
[dev-dependencies]
hex-literal = "0.2.1"
-sp-runtime = { version = "2.0.0-rc5", path = "../runtime" }
+sp-runtime = { version = "2.0.0-rc6", path = "../runtime" }
pretty_assertions = "0.6.1"
[features]
diff --git a/primitives/state-machine/README.md b/primitives/state-machine/README.md
new file mode 100644
index 0000000000000..aa244da62d50f
--- /dev/null
+++ b/primitives/state-machine/README.md
@@ -0,0 +1,3 @@
+Substrate state machine implementation.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/std/Cargo.toml b/primitives/std/Cargo.toml
index a43d1997f7f7c..1e788c43d5d6a 100644
--- a/primitives/std/Cargo.toml
+++ b/primitives/std/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-std"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/primitives/std/README.md b/primitives/std/README.md
new file mode 100644
index 0000000000000..6dddd8fbbdd9d
--- /dev/null
+++ b/primitives/std/README.md
@@ -0,0 +1,4 @@
+Lowest-abstraction level for the Substrate runtime: just exports useful primitives from std
+or client/alloc to be used with any code that depends on the runtime.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/storage/Cargo.toml b/primitives/storage/Cargo.toml
index 46d76fd7d2832..9f86736518f68 100644
--- a/primitives/storage/Cargo.toml
+++ b/primitives/storage/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-storage"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
description = "Storage related primitives"
@@ -13,11 +13,11 @@ documentation = "https://docs.rs/sp-storage/"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
impl-serde = { version = "0.2.3", optional = true }
ref-cast = "1.0.0"
-sp-debug-derive = { version = "2.0.0-rc5", path = "../debug-derive" }
+sp-debug-derive = { version = "2.0.0-rc6", path = "../debug-derive" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
[features]
diff --git a/primitives/storage/README.md b/primitives/storage/README.md
new file mode 100644
index 0000000000000..c33144fc4f662
--- /dev/null
+++ b/primitives/storage/README.md
@@ -0,0 +1,3 @@
+Primitive types for storage related stuff.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/test-primitives/Cargo.toml b/primitives/test-primitives/Cargo.toml
index 1101dd9ccc699..668a12aeca5f2 100644
--- a/primitives/test-primitives/Cargo.toml
+++ b/primitives/test-primitives/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-test-primitives"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,11 +12,11 @@ publish = false
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../application-crypto" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../application-crypto" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../core" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../core" }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../runtime" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../runtime" }
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
[features]
diff --git a/primitives/timestamp/Cargo.toml b/primitives/timestamp/Cargo.toml
index 794729f775435..deaa44ff39ea2 100644
--- a/primitives/timestamp/Cargo.toml
+++ b/primitives/timestamp/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-timestamp"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,11 +12,11 @@ description = "Substrate core types and inherents for timestamps."
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../api" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../runtime" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../api" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../runtime" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../inherents" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../inherents" }
impl-trait-for-tuples = "0.1.3"
wasm-timer = { version = "0.2", optional = true }
diff --git a/primitives/timestamp/README.md b/primitives/timestamp/README.md
new file mode 100644
index 0000000000000..a61a776912c93
--- /dev/null
+++ b/primitives/timestamp/README.md
@@ -0,0 +1,3 @@
+Substrate core types and inherents for timestamps.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/tracing/Cargo.toml b/primitives/tracing/Cargo.toml
index 03bec79685eda..136039475673a 100644
--- a/primitives/tracing/Cargo.toml
+++ b/primitives/tracing/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-tracing"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
license = "Apache-2.0"
authors = ["Parity Technologies "]
edition = "2018"
diff --git a/primitives/tracing/README.md b/primitives/tracing/README.md
new file mode 100644
index 0000000000000..d621a23ee3ec1
--- /dev/null
+++ b/primitives/tracing/README.md
@@ -0,0 +1,15 @@
+Substrate tracing primitives and macros.
+
+To trace functions or invidual code in Substrate, this crate provides [`tracing_span`]
+and [`enter_span`]. See the individual docs for how to use these macros.
+
+Note that to allow traces from wasm execution environment there are
+2 reserved identifiers for tracing `Field` recording, stored in the consts:
+`WASM_TARGET_KEY` and `WASM_NAME_KEY` - if you choose to record fields, you
+must ensure that your identifiers do not clash with either of these.
+
+Additionally, we have a const: `WASM_TRACE_IDENTIFIER`, which holds a span name used
+to signal that the 'actual' span name and target should be retrieved instead from
+the associated Fields mentioned above.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/transaction-pool/Cargo.toml b/primitives/transaction-pool/Cargo.toml
index 344f491e55f9f..9ec79ee66b487 100644
--- a/primitives/transaction-pool/Cargo.toml
+++ b/primitives/transaction-pool/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-transaction-pool"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -18,9 +18,9 @@ derive_more = { version = "0.99.2", optional = true }
futures = { version = "0.3.1", optional = true }
log = { version = "0.4.8", optional = true }
serde = { version = "1.0.101", features = ["derive"], optional = true}
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../api" }
-sp-blockchain = { version = "2.0.0-rc5", optional = true, path = "../blockchain" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../runtime" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../api" }
+sp-blockchain = { version = "2.0.0-rc6", optional = true, path = "../blockchain" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../runtime" }
[features]
default = [ "std" ]
diff --git a/primitives/transaction-pool/README.md b/primitives/transaction-pool/README.md
new file mode 100644
index 0000000000000..417565ebfce00
--- /dev/null
+++ b/primitives/transaction-pool/README.md
@@ -0,0 +1,3 @@
+Transaction pool primitives types & Runtime API.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/trie/Cargo.toml b/primitives/trie/Cargo.toml
index 8dd386e095109..3ebe53c680a7b 100644
--- a/primitives/trie/Cargo.toml
+++ b/primitives/trie/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-trie"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
description = "Patricia trie stuff using a parity-scale-codec node format"
repository = "https://github.com/paritytech/substrate/"
@@ -18,19 +18,19 @@ harness = false
[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
hash-db = { version = "0.15.2", default-features = false }
trie-db = { version = "0.22.0", default-features = false }
trie-root = { version = "0.16.0", default-features = false }
memory-db = { version = "0.24.0", default-features = false }
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../core" }
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../core" }
[dev-dependencies]
trie-bench = "0.24.0"
trie-standardmap = "0.15.2"
criterion = "0.2.11"
hex-literal = "0.2.1"
-sp-runtime = { version = "2.0.0-rc5", path = "../runtime" }
+sp-runtime = { version = "2.0.0-rc6", path = "../runtime" }
[features]
default = ["std"]
diff --git a/primitives/trie/README.md b/primitives/trie/README.md
new file mode 100644
index 0000000000000..634ba4bdead26
--- /dev/null
+++ b/primitives/trie/README.md
@@ -0,0 +1,3 @@
+Utility functions to interact with Substrate's Base-16 Modified Merkle Patricia tree ("trie").
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/utils/Cargo.toml b/primitives/utils/Cargo.toml
index a554a44ce44a6..b21dba40a9d9b 100644
--- a/primitives/utils/Cargo.toml
+++ b/primitives/utils/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-utils"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/primitives/utils/README.md b/primitives/utils/README.md
new file mode 100644
index 0000000000000..b0e04a3f4f198
--- /dev/null
+++ b/primitives/utils/README.md
@@ -0,0 +1,3 @@
+Utilities Primitives for Substrate
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/version/Cargo.toml b/primitives/version/Cargo.toml
index fb5bcaed77cbd..8dbf2000f0cd8 100644
--- a/primitives/version/Cargo.toml
+++ b/primitives/version/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-version"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -17,8 +17,8 @@ targets = ["x86_64-unknown-linux-gnu"]
impl-serde = { version = "0.2.3", optional = true }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../std" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../runtime" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../std" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../runtime" }
[features]
default = ["std"]
diff --git a/primitives/version/README.md b/primitives/version/README.md
new file mode 100644
index 0000000000000..84f0ae57d9dbe
--- /dev/null
+++ b/primitives/version/README.md
@@ -0,0 +1,3 @@
+Version module for the Substrate runtime; Provides a function that returns the runtime version.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/primitives/wasm-interface/Cargo.toml b/primitives/wasm-interface/Cargo.toml
index 00fbaf5f71372..e4ce84eaf0e6b 100644
--- a/primitives/wasm-interface/Cargo.toml
+++ b/primitives/wasm-interface/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sp-wasm-interface"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
wasmi = { version = "0.6.2", optional = true }
impl-trait-for-tuples = "0.1.2"
-sp-std = { version = "2.0.0-rc5", path = "../std", default-features = false }
+sp-std = { version = "2.0.0-rc6", path = "../std", default-features = false }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
[features]
diff --git a/primitives/wasm-interface/README.md b/primitives/wasm-interface/README.md
new file mode 100644
index 0000000000000..7e6c46581ae43
--- /dev/null
+++ b/primitives/wasm-interface/README.md
@@ -0,0 +1,3 @@
+Types and traits for interfacing between the host and the wasm runtime.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/test-utils/Cargo.toml b/test-utils/Cargo.toml
index 3b2a3702430e7..92bc9c71db5c8 100644
--- a/test-utils/Cargo.toml
+++ b/test-utils/Cargo.toml
@@ -1,20 +1,21 @@
[package]
name = "substrate-test-utils"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
homepage = "https://substrate.dev"
repository = "https://github.com/paritytech/substrate/"
+description = "Substrate test utilities"
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
futures = { version = "0.3.1", features = ["compat"] }
-substrate-test-utils-derive = { path = "./derive" }
+substrate-test-utils-derive = { version = "0.8.0-rc6", path = "./derive" }
tokio = { version = "0.2.13", features = ["macros"] }
[dev-dependencies]
-sc-service = { path = "../client/service" }
+sc-service = { version = "0.8.0-rc6", path = "../client/service" }
trybuild = { version = "1.0", features = ["diff"] }
diff --git a/test-utils/client/Cargo.toml b/test-utils/client/Cargo.toml
index 5e97be2e0b3d0..29f5acd5b38a4 100644
--- a/test-utils/client/Cargo.toml
+++ b/test-utils/client/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "substrate-test-client"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -19,15 +19,15 @@ hash-db = "0.15.2"
hex = "0.4"
serde = "1.0.55"
serde_json = "1.0.55"
-sc-client-api = { version = "2.0.0-rc5", path = "../../client/api" }
-sc-client-db = { version = "0.8.0-rc5", features = ["test-helpers"], path = "../../client/db" }
-sc-consensus = { version = "0.8.0-rc5", path = "../../client/consensus/common" }
-sc-executor = { version = "0.8.0-rc5", path = "../../client/executor" }
-sc-light = { version = "2.0.0-rc5", path = "../../client/light" }
-sc-service = { version = "0.8.0-rc5", default-features = false, features = ["test-helpers"], path = "../../client/service" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../primitives/consensus/common" }
-sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
-sp-keyring = { version = "2.0.0-rc5", path = "../../primitives/keyring" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../client/api" }
+sc-client-db = { version = "0.8.0-rc6", features = ["test-helpers"], path = "../../client/db" }
+sc-consensus = { version = "0.8.0-rc6", path = "../../client/consensus/common" }
+sc-executor = { version = "0.8.0-rc6", path = "../../client/executor" }
+sc-light = { version = "2.0.0-rc6", path = "../../client/light" }
+sc-service = { version = "0.8.0-rc6", default-features = false, features = ["test-helpers"], path = "../../client/service" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../primitives/blockchain" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../primitives/consensus/common" }
+sp-core = { version = "2.0.0-rc6", path = "../../primitives/core" }
+sp-keyring = { version = "2.0.0-rc6", path = "../../primitives/keyring" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../primitives/runtime" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
diff --git a/test-utils/derive/Cargo.toml b/test-utils/derive/Cargo.toml
index 5ec3e10108c03..e9dcc586c50dd 100644
--- a/test-utils/derive/Cargo.toml
+++ b/test-utils/derive/Cargo.toml
@@ -1,11 +1,12 @@
[package]
name = "substrate-test-utils-derive"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
homepage = "https://substrate.dev"
repository = "https://github.com/paritytech/substrate/"
+description = "Substrate test utilities macros"
[dependencies]
quote = "1.0.6"
diff --git a/test-utils/runtime/Cargo.toml b/test-utils/runtime/Cargo.toml
index 08e1b955ab43c..6b354f5f6e9f4 100644
--- a/test-utils/runtime/Cargo.toml
+++ b/test-utils/runtime/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "substrate-test-runtime"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
build = "build.rs"
@@ -13,35 +13,35 @@ publish = false
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sp-application-crypto = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/application-crypto" }
-sp-consensus-aura = { version = "0.8.0-rc5", default-features = false, path = "../../primitives/consensus/aura" }
-sp-consensus-babe = { version = "0.8.0-rc5", default-features = false, path = "../../primitives/consensus/babe" }
-sp-block-builder = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/block-builder" }
+sp-application-crypto = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/application-crypto" }
+sp-consensus-aura = { version = "0.8.0-rc6", default-features = false, path = "../../primitives/consensus/aura" }
+sp-consensus-babe = { version = "0.8.0-rc6", default-features = false, path = "../../primitives/consensus/babe" }
+sp-block-builder = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/block-builder" }
codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] }
-frame-executive = { version = "2.0.0-rc5", default-features = false, path = "../../frame/executive" }
-sp-inherents = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/inherents" }
-sp-keyring = { version = "2.0.0-rc5", optional = true, path = "../../primitives/keyring" }
+frame-executive = { version = "2.0.0-rc6", default-features = false, path = "../../frame/executive" }
+sp-inherents = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/inherents" }
+sp-keyring = { version = "2.0.0-rc6", optional = true, path = "../../primitives/keyring" }
memory-db = { version = "0.24.0", default-features = false }
-sp-offchain = { path = "../../primitives/offchain", default-features = false, version = "2.0.0-rc5"}
-sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
-sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }
-sp-runtime-interface = { path = "../../primitives/runtime-interface", default-features = false, version = "2.0.0-rc5"}
-sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
-frame-support = { version = "2.0.0-rc5", default-features = false, path = "../../frame/support" }
-sp-version = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/version" }
-sp-session = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/session" }
-sp-api = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/api" }
-sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
-pallet-babe = { version = "2.0.0-rc5", default-features = false, path = "../../frame/babe" }
-frame-system = { version = "2.0.0-rc5", default-features = false, path = "../../frame/system" }
-frame-system-rpc-runtime-api = { version = "2.0.0-rc5", default-features = false, path = "../../frame/system/rpc/runtime-api" }
-pallet-timestamp = { version = "2.0.0-rc5", default-features = false, path = "../../frame/timestamp" }
-sp-finality-grandpa = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/finality-grandpa" }
-sp-trie = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/trie" }
-sp-transaction-pool = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/transaction-pool" }
+sp-offchain = { path = "../../primitives/offchain", default-features = false, version = "2.0.0-rc6"}
+sp-core = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/core" }
+sp-std = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/std" }
+sp-runtime-interface = { path = "../../primitives/runtime-interface", default-features = false, version = "2.0.0-rc6"}
+sp-io = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/io" }
+frame-support = { version = "2.0.0-rc6", default-features = false, path = "../../frame/support" }
+sp-version = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/version" }
+sp-session = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/session" }
+sp-api = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/api" }
+sp-runtime = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/runtime" }
+pallet-babe = { version = "2.0.0-rc6", default-features = false, path = "../../frame/babe" }
+frame-system = { version = "2.0.0-rc6", default-features = false, path = "../../frame/system" }
+frame-system-rpc-runtime-api = { version = "2.0.0-rc6", default-features = false, path = "../../frame/system/rpc/runtime-api" }
+pallet-timestamp = { version = "2.0.0-rc6", default-features = false, path = "../../frame/timestamp" }
+sp-finality-grandpa = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/finality-grandpa" }
+sp-trie = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/trie" }
+sp-transaction-pool = { version = "2.0.0-rc6", default-features = false, path = "../../primitives/transaction-pool" }
trie-db = { version = "0.22.0", default-features = false }
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
-sc-service = { version = "0.8.0-rc5", default-features = false, optional = true, features = ["test-helpers"], path = "../../client/service" }
+sc-service = { version = "0.8.0-rc6", default-features = false, optional = true, features = ["test-helpers"], path = "../../client/service" }
# 3rd party
cfg-if = "0.1.10"
@@ -49,10 +49,10 @@ log = { version = "0.4.8", optional = true }
serde = { version = "1.0.101", optional = true, features = ["derive"] }
[dev-dependencies]
-sc-block-builder = { version = "0.8.0-rc5", path = "../../client/block-builder" }
-sc-executor = { version = "0.8.0-rc5", path = "../../client/executor" }
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "./client" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../../client/block-builder" }
+sc-executor = { version = "0.8.0-rc6", path = "../../client/executor" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "./client" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../primitives/state-machine" }
[build-dependencies]
wasm-builder-runner = { version = "1.0.5", package = "substrate-wasm-builder-runner", path = "../../utils/wasm-builder-runner" }
diff --git a/test-utils/runtime/client/Cargo.toml b/test-utils/runtime/client/Cargo.toml
index c67ceb720100c..3406ca6f95cc8 100644
--- a/test-utils/runtime/client/Cargo.toml
+++ b/test-utils/runtime/client/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "substrate-test-runtime-client"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,17 +12,17 @@ publish = false
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sc-light = { version = "2.0.0-rc5", path = "../../../client/light" }
-sp-consensus = { version = "0.8.0-rc5", path = "../../../primitives/consensus/common" }
-sc-block-builder = { version = "0.8.0-rc5", path = "../../../client/block-builder" }
-substrate-test-client = { version = "2.0.0-rc5", path = "../../client" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-substrate-test-runtime = { version = "2.0.0-rc5", path = "../../runtime" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-api = { version = "2.0.0-rc5", path = "../../../primitives/api" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
+sc-light = { version = "2.0.0-rc6", path = "../../../client/light" }
+sp-consensus = { version = "0.8.0-rc6", path = "../../../primitives/consensus/common" }
+sc-block-builder = { version = "0.8.0-rc6", path = "../../../client/block-builder" }
+substrate-test-client = { version = "2.0.0-rc6", path = "../../client" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+substrate-test-runtime = { version = "2.0.0-rc6", path = "../../runtime" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-api = { version = "2.0.0-rc6", path = "../../../primitives/api" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
codec = { package = "parity-scale-codec", version = "1.3.1" }
-sc-client-api = { version = "2.0.0-rc5", path = "../../../client/api" }
-sc-consensus = { version = "0.8.0-rc5", path = "../../../client/consensus/common" }
-sc-service = { version = "0.8.0-rc5", default-features = false, path = "../../../client/service" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../../client/api" }
+sc-consensus = { version = "0.8.0-rc6", path = "../../../client/consensus/common" }
+sc-service = { version = "0.8.0-rc6", default-features = false, path = "../../../client/service" }
futures = "0.3.4"
diff --git a/test-utils/runtime/transaction-pool/Cargo.toml b/test-utils/runtime/transaction-pool/Cargo.toml
index da4d2d592de4a..ee0992c44be46 100644
--- a/test-utils/runtime/transaction-pool/Cargo.toml
+++ b/test-utils/runtime/transaction-pool/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "substrate-test-runtime-transaction-pool"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,12 +12,12 @@ publish = false
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../client" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../client" }
parking_lot = "0.10.0"
codec = { package = "parity-scale-codec", version = "1.3.1" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../primitives/blockchain" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../../primitives/transaction-pool" }
-sc-transaction-graph = { version = "2.0.0-rc5", path = "../../../client/transaction-pool/graph" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../primitives/blockchain" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../../primitives/transaction-pool" }
+sc-transaction-graph = { version = "2.0.0-rc6", path = "../../../client/transaction-pool/graph" }
futures = { version = "0.3.1", features = ["compat"] }
derive_more = "0.99.2"
diff --git a/test-utils/test-crate/Cargo.toml b/test-utils/test-crate/Cargo.toml
index 6d16edde12c59..cf7f28151874e 100644
--- a/test-utils/test-crate/Cargo.toml
+++ b/test-utils/test-crate/Cargo.toml
@@ -6,11 +6,12 @@ edition = "2018"
license = "Apache-2.0"
homepage = "https://substrate.dev"
repository = "https://github.com/paritytech/substrate/"
+publish = false
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[dev-dependencies]
tokio = { version = "0.2.13", features = ["macros"] }
-test-utils = { path = "..", package = "substrate-test-utils" }
-sc-service = { path = "../../client/service" }
+test-utils = { version = "2.0.0-rc6", path = "..", package = "substrate-test-utils" }
+sc-service = { version = "0.8.0-rc6", path = "../../client/service" }
diff --git a/utils/browser/Cargo.toml b/utils/browser/Cargo.toml
index 20e04148fafc1..c4a6152b92479 100644
--- a/utils/browser/Cargo.toml
+++ b/utils/browser/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "substrate-browser-utils"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
authors = ["Parity Technologies "]
description = "Utilities for creating a browser light-client."
edition = "2018"
@@ -22,11 +22,11 @@ js-sys = "0.3.34"
wasm-bindgen = "0.2.57"
wasm-bindgen-futures = "0.4.7"
kvdb-web = "0.7"
-sp-database = { version = "2.0.0-rc5", path = "../../primitives/database" }
-sc-informant = { version = "0.8.0-rc5", path = "../../client/informant" }
-sc-service = { version = "0.8.0-rc5", path = "../../client/service", default-features = false }
-sc-network = { path = "../../client/network", version = "0.8.0-rc5"}
-sc-chain-spec = { path = "../../client/chain-spec", version = "2.0.0-rc5"}
+sp-database = { version = "2.0.0-rc6", path = "../../primitives/database" }
+sc-informant = { version = "0.8.0-rc6", path = "../../client/informant" }
+sc-service = { version = "0.8.0-rc6", path = "../../client/service", default-features = false }
+sc-network = { path = "../../client/network", version = "0.8.0-rc6"}
+sc-chain-spec = { path = "../../client/chain-spec", version = "2.0.0-rc6"}
# Imported just for the `wasm-bindgen` feature
rand6 = { package = "rand", version = "0.6", features = ["wasm-bindgen"] }
diff --git a/utils/browser/README.md b/utils/browser/README.md
new file mode 100644
index 0000000000000..9718db58b37e9
--- /dev/null
+++ b/utils/browser/README.md
@@ -0,0 +1 @@
+License: Apache-2.0
\ No newline at end of file
diff --git a/utils/build-script-utils/Cargo.toml b/utils/build-script-utils/Cargo.toml
index ecf15503c5482..383f38bcb0b12 100644
--- a/utils/build-script-utils/Cargo.toml
+++ b/utils/build-script-utils/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "substrate-build-script-utils"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/utils/build-script-utils/README.md b/utils/build-script-utils/README.md
new file mode 100644
index 0000000000000..1c184f67326e3
--- /dev/null
+++ b/utils/build-script-utils/README.md
@@ -0,0 +1,3 @@
+Crate with utility functions for `build.rs` scripts.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/utils/fork-tree/Cargo.toml b/utils/fork-tree/Cargo.toml
index 30a3854598010..b02fee519df09 100644
--- a/utils/fork-tree/Cargo.toml
+++ b/utils/fork-tree/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "fork-tree"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
diff --git a/utils/fork-tree/README.md b/utils/fork-tree/README.md
new file mode 100644
index 0000000000000..fef7db57f68f2
--- /dev/null
+++ b/utils/fork-tree/README.md
@@ -0,0 +1,4 @@
+Utility library for managing tree-like ordered data with logic for pruning
+the tree while finalizing nodes.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/utils/frame/benchmarking-cli/Cargo.toml b/utils/frame/benchmarking-cli/Cargo.toml
index c34404575e5fc..0ecb3b883e82b 100644
--- a/utils/frame/benchmarking-cli/Cargo.toml
+++ b/utils/frame/benchmarking-cli/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "frame-benchmarking-cli"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,15 +12,15 @@ description = "CLI for benchmarking FRAME"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-frame-benchmarking = { version = "2.0.0-rc5", path = "../../../frame/benchmarking" }
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sc-service = { version = "0.8.0-rc5", default-features = false, path = "../../../client/service" }
-sc-cli = { version = "0.8.0-rc5", path = "../../../client/cli" }
-sc-client-db = { version = "0.8.0-rc5", path = "../../../client/db" }
-sc-executor = { version = "0.8.0-rc5", path = "../../../client/executor" }
-sp-externalities = { version = "0.8.0-rc5", path = "../../../primitives/externalities" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
-sp-state-machine = { version = "0.8.0-rc5", path = "../../../primitives/state-machine" }
+frame-benchmarking = { version = "2.0.0-rc6", path = "../../../frame/benchmarking" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sc-service = { version = "0.8.0-rc6", default-features = false, path = "../../../client/service" }
+sc-cli = { version = "0.8.0-rc6", path = "../../../client/cli" }
+sc-client-db = { version = "0.8.0-rc6", path = "../../../client/db" }
+sc-executor = { version = "0.8.0-rc6", path = "../../../client/executor" }
+sp-externalities = { version = "0.8.0-rc6", path = "../../../primitives/externalities" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
+sp-state-machine = { version = "0.8.0-rc6", path = "../../../primitives/state-machine" }
structopt = "0.3.8"
codec = { version = "1.3.1", package = "parity-scale-codec" }
diff --git a/utils/frame/benchmarking-cli/README.md b/utils/frame/benchmarking-cli/README.md
new file mode 100644
index 0000000000000..9718db58b37e9
--- /dev/null
+++ b/utils/frame/benchmarking-cli/README.md
@@ -0,0 +1 @@
+License: Apache-2.0
\ No newline at end of file
diff --git a/utils/frame/frame-utilities-cli/Cargo.toml b/utils/frame/frame-utilities-cli/Cargo.toml
index 913297819c0b1..5be62eff0ab53 100644
--- a/utils/frame/frame-utilities-cli/Cargo.toml
+++ b/utils/frame/frame-utilities-cli/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "substrate-frame-cli"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -10,11 +10,11 @@ description = "cli interface for FRAME"
documentation = "https://docs.rs/substrate-frame-cli"
[dependencies]
-sp-core = { version = "2.0.0-rc5", path = "../../../primitives/core" }
-sc-cli = { version = "0.8.0-rc5", path = "../../../client/cli" }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../primitives/runtime" }
+sp-core = { version = "2.0.0-rc6", path = "../../../primitives/core" }
+sc-cli = { version = "0.8.0-rc6", path = "../../../client/cli" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../primitives/runtime" }
structopt = "0.3.8"
-frame-system = { version = "2.0.0-rc5", path = "../../../frame/system" }
+frame-system = { version = "2.0.0-rc6", path = "../../../frame/system" }
[dev-dependencies]
diff --git a/utils/frame/frame-utilities-cli/README.md b/utils/frame/frame-utilities-cli/README.md
new file mode 100644
index 0000000000000..b1e4f869af758
--- /dev/null
+++ b/utils/frame/frame-utilities-cli/README.md
@@ -0,0 +1,3 @@
+frame-system CLI utilities
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/utils/frame/rpc/support/Cargo.toml b/utils/frame/rpc/support/Cargo.toml
index d5f34fe2b2d0e..784fe90cdf304 100644
--- a/utils/frame/rpc/support/Cargo.toml
+++ b/utils/frame/rpc/support/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "substrate-frame-rpc-support"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies ", "Andrew Dirksen "]
edition = "2018"
license = "Apache-2.0"
@@ -17,10 +17,10 @@ jsonrpc-client-transports = { version = "14.2.0", default-features = false, feat
jsonrpc-core = "14.2.0"
codec = { package = "parity-scale-codec", version = "1.3.1" }
serde = "1"
-frame-support = { version = "2.0.0-rc5", path = "../../../../frame/support" }
-sp-storage = { version = "2.0.0-rc5", path = "../../../../primitives/storage" }
-sc-rpc-api = { version = "0.8.0-rc5", path = "../../../../client/rpc-api" }
+frame-support = { version = "2.0.0-rc6", path = "../../../../frame/support" }
+sp-storage = { version = "2.0.0-rc6", path = "../../../../primitives/storage" }
+sc-rpc-api = { version = "0.8.0-rc6", path = "../../../../client/rpc-api" }
[dev-dependencies]
-frame-system = { version = "2.0.0-rc5", path = "../../../../frame/system" }
+frame-system = { version = "2.0.0-rc6", path = "../../../../frame/system" }
tokio = "0.2"
diff --git a/utils/frame/rpc/support/README.md b/utils/frame/rpc/support/README.md
new file mode 100644
index 0000000000000..ca5750612931c
--- /dev/null
+++ b/utils/frame/rpc/support/README.md
@@ -0,0 +1,4 @@
+Combines [sc_rpc_api::state::StateClient] with [frame_support::storage::generator] traits
+to provide strongly typed chain state queries over rpc.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/utils/frame/rpc/system/Cargo.toml b/utils/frame/rpc/system/Cargo.toml
index 33a949fddd070..0f1e27efc7037 100644
--- a/utils/frame/rpc/system/Cargo.toml
+++ b/utils/frame/rpc/system/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "substrate-frame-rpc-system"
-version = "2.0.0-rc5"
+version = "2.0.0-rc6"
authors = ["Parity Technologies "]
edition = "2018"
license = "Apache-2.0"
@@ -12,7 +12,7 @@ description = "FRAME's system exposed over Substrate RPC"
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
-sc-client-api = { version = "2.0.0-rc5", path = "../../../../client/api" }
+sc-client-api = { version = "2.0.0-rc6", path = "../../../../client/api" }
codec = { package = "parity-scale-codec", version = "1.3.1" }
futures = { version = "0.3.4", features = ["compat"] }
jsonrpc-core = "14.2.0"
@@ -20,16 +20,16 @@ jsonrpc-core-client = "14.2.0"
jsonrpc-derive = "14.2.1"
log = "0.4.8"
serde = { version = "1.0.101", features = ["derive"] }
-sp-runtime = { version = "2.0.0-rc5", path = "../../../../primitives/runtime" }
-sp-api = { version = "2.0.0-rc5", path = "../../../../primitives/api" }
-frame-system-rpc-runtime-api = { version = "2.0.0-rc5", path = "../../../../frame/system/rpc/runtime-api" }
-sp-core = { version = "2.0.0-rc5", path = "../../../../primitives/core" }
-sp-blockchain = { version = "2.0.0-rc5", path = "../../../../primitives/blockchain" }
-sp-transaction-pool = { version = "2.0.0-rc5", path = "../../../../primitives/transaction-pool" }
-sp-block-builder = { version = "2.0.0-rc5", path = "../../../../primitives/block-builder" }
-sc-rpc-api = { version = "0.8.0-rc5", path = "../../../../client/rpc-api" }
+sp-runtime = { version = "2.0.0-rc6", path = "../../../../primitives/runtime" }
+sp-api = { version = "2.0.0-rc6", path = "../../../../primitives/api" }
+frame-system-rpc-runtime-api = { version = "2.0.0-rc6", path = "../../../../frame/system/rpc/runtime-api" }
+sp-core = { version = "2.0.0-rc6", path = "../../../../primitives/core" }
+sp-blockchain = { version = "2.0.0-rc6", path = "../../../../primitives/blockchain" }
+sp-transaction-pool = { version = "2.0.0-rc6", path = "../../../../primitives/transaction-pool" }
+sp-block-builder = { version = "2.0.0-rc6", path = "../../../../primitives/block-builder" }
+sc-rpc-api = { version = "0.8.0-rc6", path = "../../../../client/rpc-api" }
[dev-dependencies]
-substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../../../test-utils/runtime/client" }
+substrate-test-runtime-client = { version = "2.0.0-rc6", path = "../../../../test-utils/runtime/client" }
env_logger = "0.7.0"
-sc-transaction-pool = { version = "2.0.0-rc5", path = "../../../../client/transaction-pool" }
+sc-transaction-pool = { version = "2.0.0-rc6", path = "../../../../client/transaction-pool" }
diff --git a/utils/frame/rpc/system/README.md b/utils/frame/rpc/system/README.md
new file mode 100644
index 0000000000000..38986983d93c5
--- /dev/null
+++ b/utils/frame/rpc/system/README.md
@@ -0,0 +1,3 @@
+System FRAME specific RPC methods.
+
+License: Apache-2.0
\ No newline at end of file
diff --git a/utils/prometheus/Cargo.toml b/utils/prometheus/Cargo.toml
index 805ea19cdc61d..4ed4575ccf709 100644
--- a/utils/prometheus/Cargo.toml
+++ b/utils/prometheus/Cargo.toml
@@ -1,7 +1,7 @@
[package]
description = "Endpoint to expose Prometheus metrics"
name = "substrate-prometheus-endpoint"
-version = "0.8.0-rc5"
+version = "0.8.0-rc6"
license = "Apache-2.0"
authors = ["Parity Technologies "]
edition = "2018"