diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 60639116449..05b4dfb3be1 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -15,11 +15,13 @@ Describe what is changed and your reasoning. ### Sanity - [ ] I have incremented the runtime version number +- [ ] I have incremented `transaction_version` if needed ### Quality - [ ] I have added unit tests, and they are passing - [ ] I have added benchmarks to my pallet - [ ] I have added the benchmarks to the node +- [ ] I have added potential RPC calls to the node - [ ] I have added comments and documentation ### Testing diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 086b19151d2..5799e47eda8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: Create binaries for release +name: Create artefacts for release on: release: @@ -26,77 +26,4 @@ jobs: tag_with_ref: true dockerfile: '.maintain/docker/Dockerfile' cache_froms: nodlecode/chain/nodle-chain:latest - add_git_labels: true - - node: - name: Compile and make available binaries - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, macos-latest] - - steps: - - uses: actions/checkout@v2 - - - name: Cache cargo registry - uses: actions/cache@v1 - with: - path: ~/.cargo/registry - key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo-registry- - - - name: Cache cargo index - uses: actions/cache@v1 - with: - path: ~/.cargo/git - key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo-index- - - - name: Cache cargo build - uses: actions/cache@v1 - with: - path: target - key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo-build-target- - - - name: Install ubuntu native dependencies - if: matrix.os == 'ubuntu-latest' - run: sudo apt install -y cmake pkg-config libssl-dev git gcc build-essential clang libclang-dev - - - name: Cleanup ubuntu filesystem - if: matrix.os == 'ubuntu-latest' - run: sudo apt clean - - - name: Install mac os native dependencies - if: matrix.os == 'macos-latest' - run: brew install openssl cmake llvm - - - name: Setup toolchain - run: ./scripts/init.sh - - - name: Build in release mode - run: cargo build -p nodle-chain --release - - - name: Upload node binary - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./target/release/nodle-chain - asset_name: nodle-chain-${{ matrix.os }}-${{ github.event.release.tag_name }} - asset_content_type: binary/octet-stream - - - name: Upload runtime WASM blob - if: matrix.os == 'ubuntu-latest' # OS was chosen arbitrarily - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: target/release/wbuild/target/wasm32-unknown-unknown/release/nodle_chain_runtime.wasm - asset_name: runtime-${{ github.event.release.tag_name }}.wasm - asset_content_type: binary/octet-stream \ No newline at end of file + add_git_labels: true \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 531d612c010..fc869f843eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -112,18 +112,6 @@ version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85bb70cc08ec97ca5450e6eba421deeea5f172c0fc61f78b5357b2a8e8be195f" -[[package]] -name = "app_dirs" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e73a24bad9bd6a94d6395382a6c69fe071708ae4409f763c5475e14ee896313d" -dependencies = [ - "ole32-sys", - "shell32-sys", - "winapi 0.2.8", - "xdg", -] - [[package]] name = "approx" version = "0.3.2" @@ -176,7 +164,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d0864d84b8e07b145449be9a8537db86bf9de5ce03b913214694643b4743502" dependencies = [ "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -185,20 +173,30 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5" +[[package]] +name = "async-macros" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421d59b24c1feea2496e409b3e0a8de23e5fc130a2ddc0b012e551f3b272bba" +dependencies = [ + "futures-core-preview", + "pin-utils", +] + [[package]] name = "async-std" -version = "1.5.0" +version = "0.99.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "538ecb01eb64eecd772087e5b6f7540cbc917f047727339a472dafed2185b267" +checksum = "44501a9f7961bb539b67be0c428b3694e26557046a52759ca7eaf790030a64cc" dependencies = [ - "async-task", - "broadcaster", - "crossbeam-channel", + "async-macros", + "async-task 1.3.1", + "crossbeam-channel 0.3.9", "crossbeam-deque", - "crossbeam-utils", + "crossbeam-utils 0.6.6", "futures-core", "futures-io", - "futures-timer 2.0.2", + "futures-timer 1.0.3", "kv-log-macro", "log", "memchr", @@ -211,6 +209,30 @@ dependencies = [ "slab", ] +[[package]] +name = "async-std" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a45cee2749d880d7066e328a7e161c7470ced883b2fd000ca4643e9f1dd5083a" +dependencies = [ + "async-task 3.0.0", + "crossbeam-utils 0.7.2", + "futures-channel", + "futures-core", + "futures-io", + "futures-timer 3.0.2", + "kv-log-macro", + "log", + "memchr", + "num_cpus", + "once_cell", + "pin-project-lite", + "pin-utils", + "slab", + "smol", + "wasm-bindgen-futures", +] + [[package]] name = "async-task" version = "1.3.1" @@ -221,6 +243,12 @@ dependencies = [ "winapi 0.3.8", ] +[[package]] +name = "async-task" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17772156ef2829aadc587461c7753af20b7e8db1529bc66855add962a3b35d3" + [[package]] name = "async-tls" version = "0.7.0" @@ -417,20 +445,6 @@ dependencies = [ "byte-tools", ] -[[package]] -name = "broadcaster" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c972e21e0d055a36cf73e4daae870941fe7a8abcd5ac3396aab9e4c126bd87" -dependencies = [ - "futures-channel", - "futures-core", - "futures-sink", - "futures-util", - "parking_lot 0.10.2", - "slab", -] - [[package]] name = "bs58" version = "0.3.1" @@ -724,13 +738,36 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "crossbeam" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69323bff1fb41c635347b8ead484a5ca6c3f11914d784170b158d8449ab07f8e" +dependencies = [ + "cfg-if", + "crossbeam-channel 0.4.2", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils 0.7.2", +] + +[[package]] +name = "crossbeam-channel" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" +dependencies = [ + "crossbeam-utils 0.6.6", +] + [[package]] name = "crossbeam-channel" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cced8691919c02aac3cb0a1bc2e9b73d89e832bf9a06fc579d4e71b68a2da061" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.7.2", "maybe-uninit", ] @@ -741,7 +778,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" dependencies = [ "crossbeam-epoch", - "crossbeam-utils", + "crossbeam-utils 0.7.2", "maybe-uninit", ] @@ -753,7 +790,7 @@ checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" dependencies = [ "autocfg 1.0.0", "cfg-if", - "crossbeam-utils", + "crossbeam-utils 0.7.2", "lazy_static", "maybe-uninit", "memoffset", @@ -767,7 +804,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db" dependencies = [ "cfg-if", - "crossbeam-utils", + "crossbeam-utils 0.7.2", +] + +[[package]] +name = "crossbeam-utils" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" +dependencies = [ + "cfg-if", + "lazy_static", ] [[package]] @@ -831,9 +878,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11c0346158a19b3627234e15596f5e465c360fcdb97d817bcb255e0510f5a788" +checksum = "72aa14c04dfae8dd7d8a2b1cb7ca2152618cd01336dbfe704b8dcbf8d41dbd69" [[package]] name = "derive_more" @@ -843,7 +890,7 @@ checksum = "2127768764f1556535c01b5326ef94bd60ff08dcfbdc544d53e69ed155610f5d" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -939,7 +986,7 @@ checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -1033,7 +1080,7 @@ checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", "synstructure", ] @@ -1122,18 +1169,18 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e085ec973163e0c957a3e25beddb97944689ea526f057a4b4592728ab45a357a" +checksum = "48feabdc3cda303027446b7294dc6dc6dda712de8e14874f0e0df366a630326f" dependencies = [ "parity-scale-codec", ] [[package]] name = "frame-benchmarking" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d146476da2981e83811578fd5e21f84187f42393d23e1ce2fd4a14870e760f1" +checksum = "00e5f8abfba8a7f0a89e5aae4ca9be5b86b88e9c93ccfc11a4b44485f7c6a1dd" dependencies = [ "frame-support", "frame-system", @@ -1149,9 +1196,9 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6883afdada136802e51273ae7d6ebc03428f564fa8467c76a6d4c20dc5d6c9f" +checksum = "1ad58203d80eff3af6aab1a6b6fe1d19b588533fc00e8172fca5115e285f23ae" dependencies = [ "frame-benchmarking", "parity-scale-codec", @@ -1168,9 +1215,9 @@ dependencies = [ [[package]] name = "frame-executive" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad6747f1e57d9074911ddfa2c36506baa70895aba99a2d63293aaff4c8f5d788" +checksum = "ddad67072eaa82fea8b6089827fc6821dc2010016ce0b4a0f47afb8214cabf59" dependencies = [ "frame-support", "frame-system", @@ -1184,9 +1231,9 @@ dependencies = [ [[package]] name = "frame-metadata" -version = "11.0.0-alpha.8" +version = "11.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1f439f895a2969285d24d9e8903c2183a3378ca6ce58f1ffe4fa8cc7e3e40" +checksum = "cffe912dd479554338da6804c51704c901a3664a785746909bc1679df675839d" dependencies = [ "parity-scale-codec", "serde", @@ -1196,9 +1243,9 @@ dependencies = [ [[package]] name = "frame-support" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "801c1c348d96f817484b57250a7adf82c6e7d6efd90cc39c553b3bdad3a05cb2" +checksum = "9c68f90e4ca833a36a4ad87b40abaf8dc37805a28a7976d814765b33e8381b67" dependencies = [ "bitmask", "frame-metadata", @@ -1209,6 +1256,7 @@ dependencies = [ "parity-scale-codec", "paste", "serde", + "smallvec 1.4.0", "sp-arithmetic", "sp-core", "sp-inherents", @@ -1221,45 +1269,45 @@ dependencies = [ [[package]] name = "frame-support-procedural" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede36e595bf4deb14b39e3852c42572c63e87af587c10d3f034296175da18c47" +checksum = "e0590324d10b03bad1fcb9fe3572682dc94471dea07a8a07808a54a8ae4bb4f6" dependencies = [ "frame-support-procedural-tools", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] name = "frame-support-procedural-tools" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba02050eafbb4ae7751e9753ece93527e1c49902731517cb201463eef7f0a11" +checksum = "cc0f2b9861b48236d17601de09655e20352af6040189fa3d4fe9e440b4cc886f" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] name = "frame-support-procedural-tools-derive" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e52653168aa702585a80016110a9ea6889f0f38300c3233c50f0e2e7feefa5" +checksum = "2f34905d916c2027e9f114f8b76f17e2be0a7bca9116838979b05a1efc86224f" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] name = "frame-system" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f2f6a94c034bbd2348771cd2c0b3a258ea8f240de2365ff9554764458059af" +checksum = "acec04d2c2023ecb5a56a2d0ec71ee0c3195444df7ce07b095a311f5d8c568a4" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -1274,9 +1322,9 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a875054d7de286f58109000a05ffabf72512e9ba8227b47c0f295179d7f98e" +checksum = "cd5ddb08ba65a4146afe95182aaa541ea7f44407dd36327a4e4937a12914d5fc" dependencies = [ "parity-scale-codec", "sp-api", @@ -1421,7 +1469,7 @@ dependencies = [ "proc-macro-hack", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -1439,6 +1487,16 @@ dependencies = [ "once_cell", ] +[[package]] +name = "futures-timer" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7946248e9429ff093345d3e8fdf4eb0f9b2d79091611c9c14f744971a6f8be45" +dependencies = [ + "futures-core-preview", + "pin-utils", +] + [[package]] name = "futures-timer" version = "2.0.2" @@ -1450,6 +1508,10 @@ name = "futures-timer" version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +dependencies = [ + "gloo-timers", + "send_wrapper 0.4.0", +] [[package]] name = "futures-util" @@ -1583,6 +1645,19 @@ dependencies = [ "regex", ] +[[package]] +name = "gloo-timers" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "goblin" version = "0.1.3" @@ -1908,7 +1983,7 @@ checksum = "7ef5550a42e3740a0e71f909d4c861056a284060af885ae7aa6242820f920d9d" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -1966,6 +2041,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "0.4.5" @@ -2037,7 +2121,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -2115,9 +2199,9 @@ dependencies = [ [[package]] name = "kv-log-macro" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2d3beed37e5483887d81eb39de6de03a8346531410e1306ca48a9a89bd3a51" +checksum = "4ff57d6d215f7ca7eb35a9a64d656ba4d9d2bef114d741dc08048e75e2f5d418" dependencies = [ "log", ] @@ -2181,9 +2265,9 @@ checksum = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a" [[package]] name = "libc" -version = "0.2.70" +version = "0.2.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3baa92041a6fec78c687fa0cc2b3fae8884f743d672cf551bed1d6dac6988d0f" +checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" [[package]] name = "libflate" @@ -2221,9 +2305,9 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" [[package]] name = "libp2p" -version = "0.18.1" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32ea742c86405b659c358223a8f0f9f5a9eb27bb6083894c6340959b05269662" +checksum = "057eba5432d3e740e313c6e13c9153d0cb76b4f71bfc2e5242ae5bdb7d41af67" dependencies = [ "bytes 0.5.4", "futures 0.3.5", @@ -2244,7 +2328,7 @@ dependencies = [ "libp2p-websocket", "libp2p-yamux", "multihash", - "parity-multiaddr 0.8.0", + "parity-multiaddr 0.9.0", "parking_lot 0.10.2", "pin-project", "smallvec 1.4.0", @@ -2253,9 +2337,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d2c17158c4dca984a77a5927aac6f0862d7f50c013470a415f93be498b5739" +checksum = "4f5e30dcd8cb13a02ad534e214da234eca1595a76b5788b645dfa5c734d2124b" dependencies = [ "asn1_der", "bs58", @@ -2269,7 +2353,7 @@ dependencies = [ "log", "multihash", "multistream-select", - "parity-multiaddr 0.8.0", + "parity-multiaddr 0.9.0", "parking_lot 0.10.2", "pin-project", "prost", @@ -2287,19 +2371,19 @@ dependencies = [ [[package]] name = "libp2p-core-derive" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "329127858e4728db5ab60c33d5ae352a999325fdf190ed022ec7d3a4685ae2e6" +checksum = "f09548626b737ed64080fde595e06ce1117795b8b9fc4d2629fa36561c583171" dependencies = [ "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] name = "libp2p-dns" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0d0993481203d68e5ce2f787d033fb0cac6b850659ed6c784612db678977c71" +checksum = "3cc186d9a941fd0207cf8f08ef225a735e2d7296258f570155e525f6ee732f87" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2308,9 +2392,9 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38ca3eb807789e26f41c82ca7cd2b3843c66c5587b8b5f709a2f421f3061414" +checksum = "6438ed8ca240c7635c9caa3be6c5258bc0058553ae97ba81737f04e5d33804f5" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2324,9 +2408,9 @@ dependencies = [ [[package]] name = "libp2p-kad" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92cda1fb8149ea64d092a2b99d2bd7a2c309eee38ea322d02e4480bd6ee1759" +checksum = "41d6c1d5100973527ae70d82687465b17049c1b717a7964de38b8e65000878ff" dependencies = [ "arrayvec 0.5.1", "bytes 0.5.4", @@ -2351,11 +2435,11 @@ dependencies = [ [[package]] name = "libp2p-mdns" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41e908d2aaf8ff0ec6ad1f02fe1844fd777fb0b03a68a226423630750ab99471" +checksum = "51b00163d13f705aae67c427bea0575f8aaf63da6524f9bd4a5a093b8bda0b38" dependencies = [ - "async-std", + "async-std 0.99.12", "data-encoding", "dns-parser", "either", @@ -2373,9 +2457,9 @@ dependencies = [ [[package]] name = "libp2p-mplex" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0832882b06619b2e81d74e71447753ea3c068164a0bca67847d272e856a04a02" +checksum = "34ce63313ad4bce2d76e54c292a1293ea47a0ebbe16708f1513fa62184992f53" dependencies = [ "bytes 0.5.4", "fnv", @@ -2389,9 +2473,9 @@ dependencies = [ [[package]] name = "libp2p-noise" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "918e94a649e1139c24ee9f1f8c1f2adaba6d157b9471af787f2d9beac8c29c77" +checksum = "84fd504e27b0eadd451e06b67694ef714bd8374044e7db339bb0cdb83755ddf4" dependencies = [ "curve25519-dalek", "futures 0.3.5", @@ -2410,9 +2494,9 @@ dependencies = [ [[package]] name = "libp2p-ping" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9bfbf87eebb492d040f9899c5c81c9738730465ac5e78d9b7a7d086d0f07230" +checksum = "c189cf1dfe4b3f01e2c0fe5e97a6f5df8aeb6f3569e26981015eb7c08015ce5f" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2425,9 +2509,9 @@ dependencies = [ [[package]] name = "libp2p-secio" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a0509a7e47245259954fef58b85b81bf4d29ae33a4365e38d718a866698774" +checksum = "7b73f0cc119c83a5b619d6d11074a319fdb4aa4daf8088ade00d511418566e28" dependencies = [ "aes-ctr", "ctr", @@ -2455,9 +2539,9 @@ dependencies = [ [[package]] name = "libp2p-swarm" -version = "0.18.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44ab289ae44cc691da0a6fe96aefa43f26c86c6c7813998e203f6d80f1860f18" +checksum = "b4a8101a0e0d5f04562137a476bf5f5423cd5bdab2f7e43a75909668e63cb102" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2470,24 +2554,25 @@ dependencies = [ [[package]] name = "libp2p-tcp" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b37ea44823d3ed223e4605da94b50177bc520f05ae2452286700549a32d81669" +checksum = "309f95fce9bec755eff5406f8b822fd3969990830c2b54f752e1fc181d5ace3e" dependencies = [ - "async-std", + "async-std 0.99.12", "futures 0.3.5", "futures-timer 3.0.2", "get_if_addrs", "ipnet", "libp2p-core", "log", + "socket2", ] [[package]] name = "libp2p-wasm-ext" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ac7dbde0f88cad191dcdfd073b8bae28d01823e8ca313f117b6ecb914160c3" +checksum = "f59fdbb5706f2723ca108c088b1c7a37f735a8c328021f0508007162627e9885" dependencies = [ "futures 0.3.5", "js-sys", @@ -2499,9 +2584,9 @@ dependencies = [ [[package]] name = "libp2p-websocket" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6874c9069ce93d899df9dc7b29f129c706b2a0fdc048f11d878935352b580190" +checksum = "085fbe4c05c4116c2164ab4d5a521eb6e00516c444f61b3ee9f68c7b1e53580b" dependencies = [ "async-tls", "bytes 0.5.4", @@ -2520,9 +2605,9 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02f91aea50f6571e0bc6c058dc0e9b270afd41ec28dd94e9e4bf607e78b9ab87" +checksum = "0b305d3a8981e68f11c0e17f2d11d5c52fae95e0d7c283f9e462b5b2dab413b2" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2617,9 +2702,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "348b828e43d7d1d7a247a6ece0c041d95fb0e34d5496bb4c308428face25df6b" +checksum = "9e488db3a9e108382265a30764f43cfc87517322e5d04ae0603b32a33461dca3" dependencies = [ "hashbrown", ] @@ -2780,9 +2865,9 @@ checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" [[package]] name = "multihash" -version = "0.10.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47fbc227f7e2b1cb701f95404579ecb2668abbdd3c7ef7a6cbb3cc0d3b236869" +checksum = "f75db05d738947aa5389863aadafbcf2e509d7ba099dc2ddcdf4fc66bf7a9e03" dependencies = [ "blake2b_simd", "blake2s_simd", @@ -2801,9 +2886,9 @@ checksum = "d8883adfde9756c1d30b0f519c9b8c502a94b41ac62f696453c37c7fc0a958ce" [[package]] name = "multistream-select" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74cdcf7cfb3402881e15a1f95116cb033d69b33c83d481e1234777f5ef0c3d2c" +checksum = "991c33683908c588b8f2cf66c221d8f390818c1bdcd13fce55208408e027a796" dependencies = [ "bytes 0.5.4", "futures 0.3.5", @@ -2879,7 +2964,7 @@ dependencies = [ [[package]] name = "nodle-chain" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" dependencies = [ "frame-benchmarking", "frame-benchmarking-cli", @@ -2888,14 +2973,17 @@ dependencies = [ "nodle-chain-runtime", "pallet-im-online", "pallet-root-of-trust-rpc", + "pallet-transaction-payment-rpc", "sc-authority-discovery", "sc-basic-authorship", "sc-cli", "sc-client-api", "sc-consensus", "sc-consensus-babe", + "sc-consensus-babe-rpc", "sc-executor", "sc-finality-grandpa", + "sc-finality-grandpa-rpc", "sc-network", "sc-rpc", "sc-service", @@ -2909,12 +2997,13 @@ dependencies = [ "sp-runtime", "structopt", "substrate-build-script-utils", + "substrate-frame-rpc-system", "vergen", ] [[package]] name = "nodle-chain-runtime" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" dependencies = [ "frame-benchmarking", "frame-executive", @@ -3085,16 +3174,6 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cbca9424c482ee628fa549d9c812e2cd22f1180b9222c9200fdfa6eb31aecb2" -[[package]] -name = "ole32-sys" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d2c49021782e5233cd243168edfa8037574afed4eba4bbaf538b3d8d1789d8c" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - [[package]] name = "once_cell" version = "1.4.0" @@ -3127,9 +3206,9 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7d687e44e8198c562f62f699f4043e261c86182dd267aa3bfc856cd380f187b" +checksum = "d906b2c6b64fb1e0f3807b5932bce38e073eb826cc6ed9943152358f184e943c" dependencies = [ "frame-support", "frame-system", @@ -3138,35 +3217,31 @@ dependencies = [ "serde", "sp-application-crypto", "sp-authority-discovery", - "sp-core", - "sp-io", "sp-runtime", "sp-std", ] [[package]] name = "pallet-authorship" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30053f51607457afb60e38190fec5a234f1303aea44f18fabae6222a518a54cf" +checksum = "47559c6f5570d00961a00766c130f4698cab3a4b8a1aaac39b2aca8d7bd6da5d" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "sp-authorship", - "sp-core", "sp-inherents", - "sp-io", "sp-runtime", "sp-std", ] [[package]] name = "pallet-babe" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc818592d1467681d735917e4d068fabf68f8ddbec4c5cd3a85b5c025434cf66" +checksum = "b014eb08cabfeb6b3d10a1e8975c6c2f933a68cca462825e7ec98bc78c757ff4" dependencies = [ "frame-support", "frame-system", @@ -3187,25 +3262,24 @@ dependencies = [ [[package]] name = "pallet-balances" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15039f4d4586f34d83588a1cb9dbd74ed0cd9e7c6df4c45da707bd8f3ed235f2" +checksum = "d4f2b26ed6059d9c5b0d03f08a3147b117035ded45bada2e3efc75a2c1e1cb0d" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-io", "sp-runtime", "sp-std", ] [[package]] name = "pallet-collective" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f596a5208d11de9629d8528b180472ef8a6e023b69aed7a1cd1b422804d885d5" +checksum = "9de653fd137a36d3072d3b09cbdbe79acabffbcb3e28e99dcb33fe6cee3f2add" dependencies = [ "frame-benchmarking", "frame-support", @@ -3220,7 +3294,7 @@ dependencies = [ [[package]] name = "pallet-emergency-shutdown" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" dependencies = [ "frame-benchmarking", "frame-support", @@ -3236,9 +3310,9 @@ dependencies = [ [[package]] name = "pallet-finality-tracker" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bee38fcd8fcc35695fe61bc8ccc71e49264c65d2df95ab8f74bfc5e1e7e663a" +checksum = "db80efa85bc68fd2ee7526aab5e90b5ac5759006d428b386d97329ec1b856d7c" dependencies = [ "frame-support", "frame-system", @@ -3253,9 +3327,9 @@ dependencies = [ [[package]] name = "pallet-grandpa" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c14a3561e27c636f8012e19b5853af63e0552c6113ba141c34e176b7a129ab" +checksum = "7459e04204d05c3162d16838243f6e3692942aef9cc0dfcabc8a329ca88171b6" dependencies = [ "frame-support", "frame-system", @@ -3274,9 +3348,9 @@ dependencies = [ [[package]] name = "pallet-identity" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f4cd0678a2d2ff51920d908353efbb65e043b553bb2d5297ccb63d4f5608a7" +checksum = "6d8cfb03ed8b5ee4d1110a4af166a745d708e083e9da471d704b4f661421bf12" dependencies = [ "enumflags2", "frame-benchmarking", @@ -3291,9 +3365,9 @@ dependencies = [ [[package]] name = "pallet-im-online" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae2a5ac6da3abca80ba08024da4ceca7cdd0a9af17942d74156f5d4b5e9ec82f" +checksum = "331af515bb591d3e833c37060897edd455e249478bd9429388ee04e79aaa1f7c" dependencies = [ "frame-benchmarking", "frame-support", @@ -3312,9 +3386,9 @@ dependencies = [ [[package]] name = "pallet-indices" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31cf5e1462cab8d3b7fc3c949ca0e30d4414026719a723d266a88526e988b6ec" +checksum = "82cbaf3a7b9afaa0815e784d323813db339dcfb15927400db6a68615ae6ecfaa" dependencies = [ "frame-support", "frame-system", @@ -3329,9 +3403,9 @@ dependencies = [ [[package]] name = "pallet-mandate" -version = "2.0.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d6fc483ed892f493b754cfea989ecefa3267122e90736c2ef5986449ca2b79" +checksum = "06217260759465d3bf8da6f2038057c4d40f94e14cb75f5b350334d46fcd674e" dependencies = [ "frame-support", "frame-system", @@ -3345,9 +3419,9 @@ dependencies = [ [[package]] name = "pallet-membership" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7729e1407241efb7dc570f6bfe1dff53f45b90b330def7ff3720bf9974780c02" +checksum = "3cdac7f750fe4222a769fbdc01338f6f36238f982be7487a6ad2fd7008f6b135" dependencies = [ "frame-support", "frame-system", @@ -3360,9 +3434,9 @@ dependencies = [ [[package]] name = "pallet-offences" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e52e9cfefab7995e6b72fe1313e9488ac9d79a74ba5bc928fd6df591bdcbb9ed" +checksum = "92c28e928f9f57f8eaa5a69e954823ffec4bc2456a032ce42e1d047a2abbf5a9" dependencies = [ "frame-support", "frame-system", @@ -3376,7 +3450,7 @@ dependencies = [ [[package]] name = "pallet-poa" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" dependencies = [ "frame-support", "frame-system", @@ -3390,9 +3464,9 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e124db9e87cb5213189090346d92ccc603905b011e746b38743c0f7f771aa6" +checksum = "dc5ffcf6d8a1b1ff8e9d9573e9000082eede8eeacf4f1f8b1aeef2e8c0175876" dependencies = [ "frame-support", "frame-system", @@ -3404,9 +3478,9 @@ dependencies = [ [[package]] name = "pallet-recovery" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "036fd68bb70a9b52e0ca31da88c330b69829a287a3975b0ab49a4652bb80f98d" +checksum = "cd17c5828f529ccb67ab121c28664f462a14e0c3b3aef4e2653b4ed302b5f105" dependencies = [ "enumflags2", "frame-support", @@ -3420,7 +3494,7 @@ dependencies = [ [[package]] name = "pallet-reserve" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" dependencies = [ "frame-benchmarking", "frame-support", @@ -3436,7 +3510,7 @@ dependencies = [ [[package]] name = "pallet-root-of-trust" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" dependencies = [ "frame-benchmarking", "frame-support", @@ -3453,7 +3527,7 @@ dependencies = [ [[package]] name = "pallet-root-of-trust-rpc" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -3467,7 +3541,7 @@ dependencies = [ [[package]] name = "pallet-root-of-trust-runtime-api" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" dependencies = [ "parity-scale-codec", "sp-api", @@ -3475,9 +3549,9 @@ dependencies = [ [[package]] name = "pallet-session" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11b944b9bc1bee36ae10168134de413c2429da43c163df90c0666afbf5f47f30" +checksum = "9517c710f3e0f690c76f85ef3f5ce26fe3cb9ea8f0e260affdd17f4e157c7e14" dependencies = [ "frame-support", "frame-system", @@ -3485,7 +3559,6 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "serde", - "sp-io", "sp-runtime", "sp-session", "sp-staking", @@ -3495,7 +3568,7 @@ dependencies = [ [[package]] name = "pallet-tcr" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" dependencies = [ "frame-benchmarking", "frame-support", @@ -3511,9 +3584,9 @@ dependencies = [ [[package]] name = "pallet-timestamp" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "249f2f5688bc6c8fb43ceb36ac78d0a92ec0c6862b90c3b6a8bf0b94a2e4d672" +checksum = "8118c5c7998c44c78b2d018b1f9c6430bbd9831f76457d55dfacf425e1aa540c" dependencies = [ "frame-benchmarking", "frame-support", @@ -3530,23 +3603,43 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce6987f7e7eb7bd2f13a33416dacc3148ac2e6641cb172a98faef9408179eaf" +checksum = "2ccbccc461ccf21c1fe6972aa2b8d02e4a629c339914fd5eb4b4348d30900fbe" dependencies = [ "frame-support", "frame-system", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", + "smallvec 1.4.0", "sp-runtime", "sp-std", ] +[[package]] +name = "pallet-transaction-payment-rpc" +version = "2.0.0-rc2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec66203c11ab6ceeb8e44b1ee11e5d096077e9a4edc5f569020a92ad63ecaa31" +dependencies = [ + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", +] + [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1c5b6c895a1a35669431513d2a953d29e8c5fa04df05c354407de78e567ce3" +checksum = "e70539d8cf443dcc4e55e6b2694fea202c65becc50529adea5b077b17725dda2" dependencies = [ "frame-support", "parity-scale-codec", @@ -3558,9 +3651,9 @@ dependencies = [ [[package]] name = "pallet-utility" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93b57387e9f1004cffb08a4b9b805b56659044634ad202ef07589442aa3d916" +checksum = "bc217de3709e9151fd2476edf82d5a1d27fa129e37ef53fcc61197095207ac3f" dependencies = [ "frame-benchmarking", "frame-support", @@ -3575,9 +3668,9 @@ dependencies = [ [[package]] name = "pallet-vesting" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9df3b8a2b0036f548baabadc6da8463bbf8e835a9c35854ca26558b862e392a3" +checksum = "f470c3d715e8f3aa50498cffb14c1f39df23fc544a61141b00bbd62071ed065f" dependencies = [ "enumflags2", "frame-benchmarking", @@ -3585,7 +3678,6 @@ dependencies = [ "frame-system", "parity-scale-codec", "serde", - "sp-io", "sp-runtime", "sp-std", ] @@ -3624,9 +3716,9 @@ dependencies = [ [[package]] name = "parity-multiaddr" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4db35e222f783ef4e6661873f6c165c4eb7b65e0c408349818517d5705c2d7d3" +checksum = "12ca96399f4a01aa89c59220c4f52ac371940eb4e53e3ce990da796f364bdf69" dependencies = [ "arrayref", "bs58", @@ -3677,7 +3769,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -3708,7 +3800,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" dependencies = [ "proc-macro2", - "syn 1.0.22", + "syn 1.0.25", "synstructure", ] @@ -3770,9 +3862,9 @@ dependencies = [ [[package]] name = "paste" -version = "0.1.12" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a229b1c58c692edcaa5b9b0948084f130f55d2dcc15b02fcc5340b2b4521476" +checksum = "3431e8f72b90f8a7af91dec890d9814000cb371258e0ec7370d93e085361f531" dependencies = [ "paste-impl", "proc-macro-hack", @@ -3780,14 +3872,14 @@ dependencies = [ [[package]] name = "paste-impl" -version = "0.1.12" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0bf239e447e67ff6d16a8bb5e4d4bd2343acf5066061c0e8e06ac5ba8ca68c" +checksum = "25af5fc872ba284d8d84608bf8a0fa9b5376c96c23f503b007dfd9e34dde5606" dependencies = [ "proc-macro-hack", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -3826,9 +3918,9 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" [[package]] name = "petgraph" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c127eea4a29ec6c85d153c59dc1213f33ec74cead30fe4730aecc88cc1fd92" +checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" dependencies = [ "fixedbitset", "indexmap", @@ -3851,7 +3943,7 @@ checksum = "e58db2081ba5b4c93bd6be09c40fd36cb9193a8336c384f3b40012e531aa7e40" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -3866,6 +3958,18 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "piper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b0deb65f46e873ba8aa7c6a8dbe3f23cb1bf59c339a81a1d56361dde4d66ac8" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures-io", + "futures-sink", + "futures-util", +] + [[package]] name = "pkg-config" version = "0.3.17" @@ -3920,7 +4024,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", "version_check", ] @@ -3932,16 +4036,16 @@ checksum = "4f5444ead4e9935abd7f27dc51f7e852a0569ac888096d5ec2499470794e2e53" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", "syn-mid", "version_check", ] [[package]] name = "proc-macro-hack" -version = "0.5.15" +version = "0.5.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d659fe7c6d27f25e9d80a1a094c223f5246f6a6596453e09d7229bf42750b63" +checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4" [[package]] name = "proc-macro-nested" @@ -3951,9 +4055,9 @@ checksum = "8e946095f9d3ed29ec38de908c22f95d9ac008e424c7bcae54c75a79c527c694" [[package]] name = "proc-macro2" -version = "1.0.14" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de40dd4ff82d9c9bab6dae29dbab1167e515f8df9ed17d2987cb6012db206933" +checksum = "1502d12e458c49a4c9cbff560d0fe0060c252bc29799ed94ca2ed4bb665a0101" dependencies = [ "unicode-xid 0.2.0", ] @@ -4005,7 +4109,7 @@ checksum = "02b10678c913ecbd69350e8535c3aef91a8676c0773fc1d7b95cdd196d7f2f26" dependencies = [ "bytes 0.5.4", "heck", - "itertools", + "itertools 0.8.2", "log", "multimap", "petgraph", @@ -4022,10 +4126,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "537aa19b95acde10a12fec4301466386f757403de4cd4e5b4fa78fb5ecb18f72" dependencies = [ "anyhow", - "itertools", + "itertools 0.8.2", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -4311,7 +4415,7 @@ checksum = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9" dependencies = [ "crossbeam-deque", "crossbeam-queue", - "crossbeam-utils", + "crossbeam-utils 0.7.2", "lazy_static", "num_cpus", ] @@ -4359,7 +4463,7 @@ checksum = "602eb59cda66fcb9aec25841fb76bc01d2b34282dcdd705028da297db6f3eec8" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -4462,7 +4566,7 @@ dependencies = [ "base64 0.11.0", "blake2b_simd", "constant_time_eq", - "crossbeam-utils", + "crossbeam-utils 0.7.2", ] [[package]] @@ -4545,9 +4649,9 @@ dependencies = [ [[package]] name = "sc-authority-discovery" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc6bfa2457a7270b96fcfdd00a635d6690b1b0df598eca740fe71aef21f0114" +checksum = "2606d3d0619d2b5debefccb6be0ea7e1a44c3751a4b442568a347169c0eba243" dependencies = [ "bytes 0.5.4", "derive_more", @@ -4573,9 +4677,9 @@ dependencies = [ [[package]] name = "sc-basic-authorship" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4642892f8b92ed7a3402af425fcabed35652813dbd3b1689d8808a3a59859e80" +checksum = "097451fa0fd718899007f3069b7aa717341d5ad1d772b2b494975faf7a19aed7" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -4583,6 +4687,7 @@ dependencies = [ "parity-scale-codec", "sc-block-builder", "sc-client-api", + "sc-proposer-metrics", "sc-telemetry", "sp-api", "sp-blockchain", @@ -4591,14 +4696,15 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-transaction-pool", + "substrate-prometheus-endpoint", "tokio-executor 0.2.0-alpha.6", ] [[package]] name = "sc-block-builder" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f1b5be3c97274faa61528af80d84a7f881c41b84bfeb473d328848327c458ca" +checksum = "7bd27f65d2b9bd07d790b8f6d43432514200d960b830392a39b0450815980788" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -4613,9 +4719,9 @@ dependencies = [ [[package]] name = "sc-chain-spec" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecf7e2267f42d66cf1b5894ed26cb0f93bc86ec20b2671d329754c41ccc8517f" +checksum = "3a9ad5544c6586fd86a2a9c6cad778d309230969992d00e20a54b8daeac56380" dependencies = [ "impl-trait-for-tuples", "sc-chain-spec-derive", @@ -4630,28 +4736,27 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5570c450f51a23eade7c9c41d7b57d7e993ffd6f2965c595a816ad0c0158076" +checksum = "e62e7e16977c70551ebef45363a08db7d6dca648ea0e22032d954706a18542a3" dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] name = "sc-cli" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da02165525fde48d931ac183305aace5238f9f2c82d05db893958b5d76d3395" +checksum = "9d3b51b14f41b7d47d05f0f9cd46b8e1cb4c9d88f4078ad283609abadfd6b512" dependencies = [ "ansi_term 0.12.1", - "app_dirs", "atty", "chrono", - "clap", "derive_more", + "directories", "env_logger", "fdlimit", "futures 0.3.5", @@ -4685,9 +4790,9 @@ dependencies = [ [[package]] name = "sc-client-api" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99718588c70ae9dcbb8d4f2b4a232d9608c3b4e450c84ca651863bc3b92fdca9" +checksum = "0bd10f807d42e41b22836d3ad7a3780766a46494a127e96d7cd8c60f120e7c1f" dependencies = [ "derive_more", "fnv", @@ -4722,9 +4827,9 @@ dependencies = [ [[package]] name = "sc-client-db" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0987a05f0c4905197eec4e9819657fe6e107550deb6afc5895009c9d0814fac" +checksum = "be6b437006cf156445d56d18f598013e463b7483c8dde4aa9279858af9874cf2" dependencies = [ "blake2-rfc", "hash-db", @@ -4752,9 +4857,9 @@ dependencies = [ [[package]] name = "sc-consensus" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40a357fdfbd672ad59aeccbcefa07e94853c83652bb6018080e4345cdeceb52c" +checksum = "9176e4a01034f620971cfc4523323cea712e29ef44340c57f559b67c24d0eccf" dependencies = [ "sc-client-api", "sp-blockchain", @@ -4764,9 +4869,9 @@ dependencies = [ [[package]] name = "sc-consensus-babe" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afb94dd52a4f9d5ca73ab6a00590a785bc23b7616e5047b15f8cb50da295034" +checksum = "0a3ba933924d362000fdaa193f616867d54d9849d7ff0027aa9d67d867ef3b8c" dependencies = [ "derive_more", "fork-tree", @@ -4805,11 +4910,35 @@ dependencies = [ "substrate-prometheus-endpoint", ] +[[package]] +name = "sc-consensus-babe-rpc" +version = "0.8.0-rc2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8adf0f0cf997bd4ad851f74cacb26942ede4dab3826697efbc1f4911cda36d" +dependencies = [ + "derive_more", + "futures 0.3.5", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-keystore", + "sc-rpc-api", + "serde", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-core", + "sp-runtime", +] + [[package]] name = "sc-consensus-epochs" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "832860ddc947c2e50f3574e8c8808e0047478d70cc2320b77231f406e84fbf36" +checksum = "315d678d1b7cc2c35ccfbfe17609edb97ab3b1a0f86c08259d6d46588da0f6d6" dependencies = [ "fork-tree", "parity-scale-codec", @@ -4821,9 +4950,9 @@ dependencies = [ [[package]] name = "sc-consensus-slots" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40e2a4501fc2b0f9dd45a7a2ce2efeed282de6a3fa7d2e6587aabbe6ff6e876e" +checksum = "f2c2733316f0e49bbd771e532bf0618db4357e13635eb95474284ee5282b8db0" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -4844,9 +4973,9 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27d27643a13a7ae005d59c2d4b662d4a957225c97e2baff063cb0610f8411046" +checksum = "5b01d05567cd20dce60f710400efa60eef237cbd3e344aef5c4677cad465f604" dependencies = [ "log", "sc-client-api", @@ -4859,9 +4988,9 @@ dependencies = [ [[package]] name = "sc-executor" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df607e93136fd953d4b0c0965e50fe4e8096e05113a3926ee0e4ef3f96419e0" +checksum = "9b946580e4d94c494ec5bb46de021f2605bbbb3a4effd3f6b2ea511d3fb9c8cf" dependencies = [ "derive_more", "lazy_static", @@ -4888,9 +5017,9 @@ dependencies = [ [[package]] name = "sc-executor-common" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120fac2a31f3e1db6666a4f83ed496d2de2538c6395669eecf160882996571d9" +checksum = "66949cf16144f65ac2b216bc3e38008844e35b72aff59d15455488053aecb3a7" dependencies = [ "derive_more", "log", @@ -4906,9 +5035,9 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "098dca91b82fec02aa9b6910d62ec1b4e9fd59c8164f5ea931f5ddd4a2030486" +checksum = "7c7c04e15296e464658b908c093f0398a0588b5d4c09b10fdfc76635d2b82656" dependencies = [ "log", "parity-scale-codec", @@ -4922,9 +5051,9 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2137d121f2ed1cb84081eb8577f53de705393cda4d582e1c9d49001da084c977" +checksum = "e94e943e4147929fd5e07a509343ba2c9e7281c5d4ce8dd5da55918d1d489784" dependencies = [ "cranelift-codegen", "cranelift-wasm", @@ -4944,9 +5073,9 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e482398ef943250e9b87db96073a65315a8346f335f3cc423f07cdcebed8495" +checksum = "f8cbbd77afb78b7a836ceae49538c743230c526dfce8c83ff9b6e0ba564daa3e" dependencies = [ "assert_matches", "derive_more", @@ -4980,11 +5109,29 @@ dependencies = [ "substrate-prometheus-endpoint", ] +[[package]] +name = "sc-finality-grandpa-rpc" +version = "0.8.0-rc2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b5a9157913ec7ab70c3e6bab851c50185a8de14dcd63aa52c135313c4efb88" +dependencies = [ + "derive_more", + "finality-grandpa", + "futures 0.3.5", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "log", + "sc-finality-grandpa", + "serde", + "serde_json", +] + [[package]] name = "sc-informant" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de60dbb9c7a2fb2ae7135bedfafff120707ce6360531cc7253765508854ff663" +checksum = "9fb47f3aac00064030a9151f93fd525199e264dc30bb41b931aed4ddf183ba36" dependencies = [ "ansi_term 0.12.1", "futures 0.3.5", @@ -5000,9 +5147,9 @@ dependencies = [ [[package]] name = "sc-keystore" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a95c793b121902e1b9c25f1462b6899a8386cb471ddb539560d7e502cb38f8dc" +checksum = "45ce32a92fa7284ff198804be72e0f054d64afa9fb3353805e397eb2a9864185" dependencies = [ "derive_more", "hex", @@ -5016,11 +5163,12 @@ dependencies = [ [[package]] name = "sc-network" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c86c05925dd8ed72e932b6eee59651fa3815d1ea434bfd482df9b12b66beaa7" +checksum = "cde8819b82e374d970c1a93aa483cbf9689251459000d6be2bb4bd388eab06ca" dependencies = [ "bitflags", + "bs58", "bytes 0.5.4", "derive_more", "either", @@ -5068,9 +5216,9 @@ dependencies = [ [[package]] name = "sc-network-gossip" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07715f7e7c253b1b1eabe0c0408e1dbd662f07eddc46e4507fee6f25992f227d" +checksum = "830402db2cded7c94c448bbff1fbfce209208537d7a64383505f9f0620b32477" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -5084,9 +5232,9 @@ dependencies = [ [[package]] name = "sc-offchain" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bf54ec6d3dd27bd26b8f2332557b7946785767ee4d251af8b923964b22ee24" +checksum = "fe26c77de78b8858e882978856e33afe4611e42271f42101c6eb68efa35b5cff" dependencies = [ "bytes 0.5.4", "fnv", @@ -5112,9 +5260,9 @@ dependencies = [ [[package]] name = "sc-peerset" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf30d5e8501147b010703c0b83cc38bf13b297c663b220a99236fcef665a7c9" +checksum = "220264976d92b6be01fa157eb0ed13d035dbbfd563a5d62d66582f8348498291" dependencies = [ "futures 0.3.5", "libp2p", @@ -5124,11 +5272,21 @@ dependencies = [ "wasm-timer", ] +[[package]] +name = "sc-proposer-metrics" +version = "0.8.0-rc2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "041f3e79e1e253ff07d5265f98a0c5a9c6124e607ce4549e35f872375e4c7077" +dependencies = [ + "log", + "substrate-prometheus-endpoint", +] + [[package]] name = "sc-rpc" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5503c0545d7a79a0d05bcb41bb35c5b3b5d28b350ddf168cb89e6141371e3a7f" +checksum = "0704ae199f0278d2c9817260ec40a19e02c265ee637b2d971160d35dee2ed0ea" dependencies = [ "futures 0.3.5", "hash-db", @@ -5159,9 +5317,9 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51dd4ac4f4e0643146d0bcfbf8c0ad02d11c94834a4860b2417868c590730f7b" +checksum = "35fc72e6e3ea90b8d2d381b1e5358065952bb45bd27f1e5342da04257e8d42f2" dependencies = [ "derive_more", "futures 0.3.5", @@ -5184,9 +5342,9 @@ dependencies = [ [[package]] name = "sc-rpc-server" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d029f5a71c6ef043c1a6b3d8cc2d99e6dac44c80869032dd2894dd4c023677" +checksum = "7e7fe5f8b44eb7586c4d1d01f1db8af83d5d77558b3c4fc71df8a8b489ce55c9" dependencies = [ "jsonrpc-core", "jsonrpc-http-server", @@ -5200,9 +5358,9 @@ dependencies = [ [[package]] name = "sc-service" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "265682168d60e300657ea99d1595bbf50d6994a5469e9dbbe0537edeea6ed48f" +checksum = "5c18610c1b8f4c242d161c52ae3779dd0baa4f99478cf40c488038799e1846e7" dependencies = [ "derive_more", "exit-future", @@ -5259,9 +5417,9 @@ dependencies = [ [[package]] name = "sc-state-db" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158ad756775c7f5ce27bef41695b9485763b999145a3781d95efcb6d6c55e02e" +checksum = "61f83d727807c6e46bb995388bf7cac50235eef9752b122a668e3f3b1b227a36" dependencies = [ "log", "parity-scale-codec", @@ -5274,9 +5432,9 @@ dependencies = [ [[package]] name = "sc-telemetry" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dcb4a3df69e49910d4c1f4ae4b291618571cbede42679a29f70f36c83e02bdc" +checksum = "1cd78ad27f745c235f2c676d92b4fef3a08b1a3a7f555b861e45644ba0301520" dependencies = [ "bytes 0.5.4", "futures 0.3.5", @@ -5297,9 +5455,9 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5b31cb270c27ba07f7deb90d5188b0d97bea1a711866edd2dd07881235c49b5" +checksum = "24ebc93a319e38f1e458157beb83a4d8732ede948f782c8e04028188d6da28ff" dependencies = [ "erased-serde", "log", @@ -5313,9 +5471,9 @@ dependencies = [ [[package]] name = "sc-transaction-graph" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3209b2f4825d9dc6fd85fad566fa4c2fc0a9792ada4b23abcfa25d3c6c76f895" +checksum = "8e879a4779bc2c0b61a7f8c4422c3c3e177351aa0dd42807e29c44bc4cf0a0d0" dependencies = [ "derive_more", "futures 0.3.5", @@ -5334,9 +5492,9 @@ dependencies = [ [[package]] name = "sc-transaction-pool" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68baf30450f1922768fec420910e7f6a4add16fd4401ef1cd76045756d22e12f" +checksum = "72c19a30d5441c03ae8ba9962dbcf7004af4ed9b3ea9237c07f97ce9f1ee6273" dependencies = [ "derive_more", "futures 0.3.5", @@ -5393,6 +5551,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" +[[package]] +name = "scoped-tls-hkt" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e9d7eaddb227e8fbaaa71136ae0e1e913ca159b86c7da82f3e8f0044ad3a63" + [[package]] name = "scopeguard" version = "1.1.0" @@ -5416,7 +5580,7 @@ checksum = "e367622f934864ffa1c704ba2b82280aab856e3d8213c84c5720257eb34b15b9" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -5473,6 +5637,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0eddf2e8f50ced781f288c19f18621fa72a3779e3cb58dbf23b07469b0abeb4" +[[package]] +name = "send_wrapper" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" + [[package]] name = "serde" version = "1.0.110" @@ -5490,7 +5660,7 @@ checksum = "818fbf6bfa9a42d3bfcaca148547aa00c7b915bec71d1757aa2d44ca68771984" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -5524,9 +5694,9 @@ checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" [[package]] name = "sha2" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" +checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" dependencies = [ "block-buffer", "digest", @@ -5547,16 +5717,6 @@ dependencies = [ "opaque-debug", ] -[[package]] -name = "shell32-sys" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ee04b46101f57121c9da2b151988283b6beb79b34f5bb29a58ee48cb695122c" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - [[package]] name = "shlex" version = "0.1.1" @@ -5620,7 +5780,7 @@ checksum = "a945ec7f7ce853e89ffa36be1e27dce9a43e82ff9093bf3461c30d5da74ed11b" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -5638,6 +5798,25 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4" +[[package]] +name = "smol" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686c634ad1873fffef6aed20f180eede424fbf3bb31802394c90fd7335a661b7" +dependencies = [ + "async-task 3.0.0", + "crossbeam", + "futures-io", + "futures-util", + "nix", + "once_cell", + "piper", + "scoped-tls-hkt", + "slab", + "socket2", + "wepoll-binding", +] + [[package]] name = "snow" version = "0.6.2" @@ -5656,6 +5835,18 @@ dependencies = [ "x25519-dalek", ] +[[package]] +name = "socket2" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03088793f677dce356f3ccc2edb1b314ad191ab702a5de3faf49304f7e104918" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "winapi 0.3.8", +] + [[package]] name = "soketto" version = "0.3.2" @@ -5678,9 +5869,9 @@ dependencies = [ [[package]] name = "sp-allocator" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e36dd7cae657c8fc53426539ed04667086f7fb06d2accb0bd5d4553e2d28f2" +checksum = "e62a5b177bc81be97b3120458bda11e21ae7fb5843c081564f295bcd1082de7d" dependencies = [ "derive_more", "log", @@ -5691,9 +5882,9 @@ dependencies = [ [[package]] name = "sp-api" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "933f9371cf80450d9e9e6c1ca462d4d20ea93c498efa7e6eb3016ee3616e6346" +checksum = "fb41c442edf12352480ef1d360f845c07a7957041ef5c9e6a82b8d89f06d84fa" dependencies = [ "hash-db", "parity-scale-codec", @@ -5707,22 +5898,22 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23654e5ada7302c765a5ac47d3f5ef44dc62bd4b0e217ba98340ff38599cbdb7" +checksum = "fbfec91da62c21342d4f8ae0e53133dcd1fedda8ed81bbca9b2ecf159b63664d" dependencies = [ "blake2-rfc", "proc-macro-crate", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] name = "sp-application-crypto" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb42d9d466ce8451c5e8f14d2bcee480d8d103fc7c4e36bfe1576924612abea7" +checksum = "b5821c21386d567d01d66a0d9e2b7906125f03eaa468b45b2f5f8296bab995e1" dependencies = [ "parity-scale-codec", "serde", @@ -5733,14 +5924,13 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc1e6a199da5eb23d823fc2a5ae6587987b037d3ffd43112730bd7c8c9ce75" +checksum = "7097db3217b56ba51c84ed06a52998a3aa312c32b1f7f5f5380ffdd6930546bc" dependencies = [ "integer-sqrt", "num-traits 0.2.11", "parity-scale-codec", - "primitive-types", "serde", "sp-debug-derive", "sp-std", @@ -5748,9 +5938,9 @@ dependencies = [ [[package]] name = "sp-authority-discovery" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e893283c211114168c8ea00d27febca5dc7c32f51a299e6848657f13b8604a" +checksum = "2f33c30f63a9777eb916e134f5cb44066570f76916a4ae9596de0a5f101101f1" dependencies = [ "parity-scale-codec", "sp-api", @@ -5761,9 +5951,9 @@ dependencies = [ [[package]] name = "sp-authorship" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fc5741e2656107421cf57cb204caae817a4cb66de3d035393b7e9edd08f0703" +checksum = "09e45d7c9aec66f8fb797a6350dcf054adb10a00d2e0ad857a1e67d23423f6cb" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -5773,9 +5963,9 @@ dependencies = [ [[package]] name = "sp-block-builder" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84ea1d9afe6a8ec6e64545ca446870c8d144a4f6c4df8c582a8aad8aa98899be" +checksum = "aa8f551e92cab850c048458544c19689a517fb8ea7a269c62c06a9deed4433b4" dependencies = [ "parity-scale-codec", "sp-api", @@ -5786,9 +5976,9 @@ dependencies = [ [[package]] name = "sp-blockchain" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "381c1427e3afeff0ae2231c78762ecbf8ddd3abcc8c136368996cb8f8daf51a4" +checksum = "f84408f6011f5475a29031d099e373bf9baa44cccafb20beca35759c8b7965ef" dependencies = [ "derive_more", "log", @@ -5803,9 +5993,9 @@ dependencies = [ [[package]] name = "sp-chain-spec" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9af65a2d6c4c46b027132dd334a5fbe6996cc9b2c2a8371d991cabb42f72c75" +checksum = "9fe1e12cdea9ee931a57bc5c0019f14063aee0cfd7945a3853f2488cd08ff79d" dependencies = [ "serde", "serde_json", @@ -5813,9 +6003,9 @@ dependencies = [ [[package]] name = "sp-consensus" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19818d06577989480d1caaa7ecd57a30191d1d06afc76f21525cc4bbe1f56eb2" +checksum = "d51db0da0abb5fa6fcc13f22830a42adf0967864b019d40f2ecd06a4ad1bfc34" dependencies = [ "derive_more", "futures 0.3.5", @@ -5837,9 +6027,9 @@ dependencies = [ [[package]] name = "sp-consensus-babe" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39d8ecfe618bf718a0dfa803653c8379237443e6c2576c95484a45a10d88dad2" +checksum = "b14cf779315999221b73410d3ac119410616aa8e9170bc41a102a3f729cc0256" dependencies = [ "merlin", "parity-scale-codec", @@ -5855,9 +6045,9 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc0b9c10cc6e272b8f7b7a7510ba37fbeea9fab19395ec5025fd458f1490447a" +checksum = "eae33587bced26bc85a3e25be3695c9cae897c9eaee254049c6ca9f8b328dd01" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -5868,9 +6058,9 @@ dependencies = [ [[package]] name = "sp-core" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "849ec70fd5290d8cc06b437c6e3d4c0b1d51325ce0b58979c7d614237c92d0de" +checksum = "1fa9131cde687315ba8220fb5a5c8d20f578b806a8aa62dd58a6d074620e67f7" dependencies = [ "base58", "blake2-rfc", @@ -5911,9 +6101,9 @@ dependencies = [ [[package]] name = "sp-database" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6ba5b65f8aea3031f7150ed35f458c70a072f594f9def3259702c2e02b36d9b" +checksum = "555ef6bab361877d540e58fc69c800d98366f121c1e0005209fdb55727b02266" dependencies = [ "kvdb", "parking_lot 0.10.2", @@ -5921,20 +6111,20 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aefdbd18f023868a6bc1290f276ef3016df1eafda3a2e053522de3592be2f4b0" +checksum = "f75b20e97569b77fe3e973f9c95965fd5e3b87592bf479067a14de923fa0f602" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] name = "sp-externalities" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b324150bcfe32e24b864e76fb7dcfe56a55abddd10f1d5f4fdaa46106eb573a" +checksum = "f9867105e5ea35579330837a28342c5e30eb363b5750b32f64dcc4c37278e2f8" dependencies = [ "environmental", "parity-scale-codec", @@ -5944,9 +6134,9 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccd7892eb6595ad28a38e44359fc56fd82c9a296a1e18ccb7e3d26b482258828" +checksum = "c9bbd1ba029396d01abd3bc91b91c338cf0405265e06111865f6096868e32344" dependencies = [ "finality-grandpa", "log", @@ -5961,9 +6151,9 @@ dependencies = [ [[package]] name = "sp-finality-tracker" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64f2379722c52149c66f41eef94e1d44fb0791595197c2ce3072f92106aa2f1" +checksum = "2af1045187cb8e7ebdd94f62f8f577d53fb4c7e6643c312ba504b1a26e70da0d" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -5972,9 +6162,9 @@ dependencies = [ [[package]] name = "sp-inherents" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8070a314f6e58392d205ec342431e6ba5f4499d953e3df99ea143e811174fbfc" +checksum = "637b30845bca660add7e73009b2c5f9fb76e295e386d49374b407eb8dfd4d5e4" dependencies = [ "derive_more", "parity-scale-codec", @@ -5985,9 +6175,9 @@ dependencies = [ [[package]] name = "sp-io" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4f40d5b30c223376358fcd6fbaddad347731ada946c613d0652a1ec92c5765" +checksum = "7c7fdbdd621fd13b4bd8f1a137f3821efe0cacf42fd9fbcb0795d7faa594d12d" dependencies = [ "futures 0.3.5", "hash-db", @@ -6006,9 +6196,9 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "515714a1fd5b3413e8d68f7d980a0ba5836c489b29bd52ee428853895ae12bcf" +checksum = "08e45158536b5a8656c787cdc468d94f4e01ce333413acf2168dec1754978877" dependencies = [ "lazy_static", "sp-core", @@ -6018,9 +6208,9 @@ dependencies = [ [[package]] name = "sp-offchain" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aef3991346d6a7775226352ecb3fdc0d704fc496eb97340ab8c04ec51a5ba89" +checksum = "81740201c8689bb2e7813de6232e695dee0d324d6dd6627b02840ade263630b6" dependencies = [ "sp-api", "sp-core", @@ -6029,9 +6219,9 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79abaffc0fa0ebcf7e502cb47f9a71a9d6404b50a3a8f473450cb50e2431055f" +checksum = "ceb954698da870f25b17fcfc639e9a276db69558830a73b44b6403ec67b58ab2" dependencies = [ "backtrace", "log", @@ -6039,9 +6229,9 @@ dependencies = [ [[package]] name = "sp-rpc" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93b0b26e87aa1977ce9f8b3e237ececdcd8846b21cd3afc0b9d49a9258257500" +checksum = "9b89ec87610ab3e84007ff975d4f06e301ba37165427f9512735ee796861d550" dependencies = [ "serde", "sp-core", @@ -6049,9 +6239,9 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bac084804973620b6b2e1bdad255cc05c43ea25e8125e06c5639aee3fa11de1" +checksum = "c588200d342ac3afd0742c3fc6afffe631f498c49d7c8b4e9c4e361882b07227" dependencies = [ "hash256-std-hasher", "impl-trait-for-tuples", @@ -6071,9 +6261,9 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7897c32765159395cddf64f132e77dcb6990c24f770cd02a5f7878f14b41c153" +checksum = "9f94a8b74729dd6c13424a03a2717ed0ac9a2f43613148db88728942327bea3e" dependencies = [ "parity-scale-codec", "primitive-types", @@ -6087,22 +6277,22 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18f359e902a02eb1158dccc3de3f7f3c5fea2f8fc5272086e8416e38c5605253" +checksum = "480b49e81062a4b08200d47ea60c27d3c9b9f931d4dd3b1b6e6c5f0c0dc1a1f8" dependencies = [ "Inflector", "proc-macro-crate", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] name = "sp-serializer" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b8ea58d6a17d8d5ada589b8b4220e8bdf20472d68d538ccabba03324d03c0f" +checksum = "cd6c6bb5b3e1c9c3c190f94b37f5e573521f281c56e069290317c2148fcde9dd" dependencies = [ "serde", "serde_json", @@ -6110,9 +6300,9 @@ dependencies = [ [[package]] name = "sp-session" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea67e2ff2c4196e7b17053fdf0c03d5a51f5656ebfcc3a0b8301aa41380db59" +checksum = "4cbc7b244c7d899b348f90d98086018fc49fbfb86a83846f121f4083e4a1fd56" dependencies = [ "parity-scale-codec", "sp-api", @@ -6124,9 +6314,9 @@ dependencies = [ [[package]] name = "sp-staking" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf5237a93b46f0d6e1335c2d8a49fbda2931069936d272d5f6afcfeef44661b" +checksum = "e856e9308fc57a76732ef666ec413650af5ee69e42766d6859596a8eec66b382" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -6135,9 +6325,9 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27609369f90fed83d8fddc1bab03d09a9d21fa88b66a941e8f038127045be0fd" +checksum = "b69b8e4b88acf3acf8ab627fccbc4a8cdf5b006eb7ac7424a617012778040bae" dependencies = [ "hash-db", "log", @@ -6155,15 +6345,15 @@ dependencies = [ [[package]] name = "sp-std" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5b34f340ab6df2f41bbc308971f1b3f35d6bb07a76df6227e865a75a01a167" +checksum = "652e90f1e036a1499c79c5c2d8569709dd31a1ea263c99da47b3c7f2121a938a" [[package]] name = "sp-storage" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98af4c5c38bb3d0daf8fc8440f105cfca62562585edbf250a008c51b9a6c05ae" +checksum = "e8b12ec4ed124bb8d03cbc17575a34d2ee7c6b780c83d2e63a532cf7c1195997" dependencies = [ "impl-serde 0.2.3", "ref-cast", @@ -6174,9 +6364,9 @@ dependencies = [ [[package]] name = "sp-timestamp" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a446274b36d9e7a80aa6dd5c08972b5f65b6bec088ec3d4899d3572b61ff14d" +checksum = "e4eddba8ce8b354829c95bf4630af6d2a07b8eb2ebd21ce6a91240d885406ec7" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -6189,18 +6379,18 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e014ecb675d4d3b5aa4f51e5a1458b831694af12aabeecbbd7026866c213c78b" +checksum = "9096b3de76b42bd2cc1f8890c6e416ada152deb937c1a7974270e3c14a595b0e" dependencies = [ "tracing", ] [[package]] name = "sp-transaction-pool" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe87996439ee428a4bd36bd5c39f1bf4cceb11cd16835dff6d824618b0c446ec" +checksum = "4eda49c7a29a312f474175f730cc0d4b33e226a674f406a847195c83bab3a05c" dependencies = [ "derive_more", "futures 0.3.5", @@ -6214,9 +6404,9 @@ dependencies = [ [[package]] name = "sp-trie" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12249dafa9241cf1f5277c780f7f53a7274dc24c33fd5a18971598b5d53957e9" +checksum = "3b389371093ee1089e37249a37dc88568990312799746b5321748d3b75e48165" dependencies = [ "hash-db", "memory-db", @@ -6229,9 +6419,9 @@ dependencies = [ [[package]] name = "sp-utils" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99afe6724ca66246771a6217f5b42688c4091459e2a50ad4d197d4176e3cae14" +checksum = "a19ae914b1f6f3213e028a5e3ff440c8f9767031ce3380f0e2130dc9b9d5f133" dependencies = [ "futures 0.3.5", "futures-core", @@ -6241,9 +6431,9 @@ dependencies = [ [[package]] name = "sp-version" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "752d3997f1bc4df69f230741f331fbf5a777197262a635919be1a905d40f8f9c" +checksum = "d8555b712bf423aa29a0f1de7fdf66caa95184977bed6792ef05d464bb76e542" dependencies = [ "impl-serde 0.2.3", "parity-scale-codec", @@ -6254,9 +6444,9 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68b4ae291c49f6fddbb2d5cd4d622cc4620bcfcd3931438dee3b8ee7b901968" +checksum = "7ae20ed52dc510fc23f79854dd71a5fd6160e40ab05e540c483ebbd59cbba08f" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -6345,7 +6535,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -6366,7 +6556,7 @@ dependencies = [ "heck", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -6383,20 +6573,42 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf0fa55015128457f926cbc29d8ffae6b99be98ca0bbcca90266ab1847e1787a" +checksum = "5c748fdee2cc011fd29f7b29e3814d28c861f72ee551296212844ebcdc1c728d" dependencies = [ "platforms", ] +[[package]] +name = "substrate-frame-rpc-system" +version = "2.0.0-rc2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea555c8bea218b4da0f78f4ef9d0a89b2d99a3d2f407f489694f4766d0ddb19e" +dependencies = [ + "frame-system-rpc-runtime-api", + "futures 0.3.5", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "log", + "parity-scale-codec", + "sc-client-api", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-runtime", + "sp-transaction-pool", +] + [[package]] name = "substrate-prometheus-endpoint" -version = "0.8.0-alpha.8" +version = "0.8.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7080bfc85d2f3b75ef9b75157ae249bf6bbade1d0a23d8a4d5aa35d47f691fa8" +checksum = "7768670414da4fa8140c97c56891d428db38d316a9564dc4174680cf3d923e05" dependencies = [ - "async-std", + "async-std 1.6.0", "derive_more", "futures-util", "hyper 0.13.5", @@ -6525,9 +6737,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.22" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1425de3c33b0941002740a420b1a906a350b88d08b82b2c8a01035a3f9447bac" +checksum = "f14a640819f79b72a710c0be059dce779f9339ae046c8bef12c361d56702146f" dependencies = [ "proc-macro2", "quote 1.0.6", @@ -6542,7 +6754,7 @@ checksum = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -6562,7 +6774,7 @@ checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", "unicode-xid 0.2.0", ] @@ -6642,7 +6854,7 @@ checksum = "893582086c2f98cde18f906265a65b5030a074b1046c674ae898be6519a7f479" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -6782,7 +6994,7 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.7.2", "futures 0.1.29", ] @@ -6825,7 +7037,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.7.2", "futures 0.1.29", "lazy_static", "log", @@ -6893,7 +7105,7 @@ checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" dependencies = [ "crossbeam-deque", "crossbeam-queue", - "crossbeam-utils", + "crossbeam-utils 0.7.2", "futures 0.1.29", "lazy_static", "log", @@ -6908,7 +7120,7 @@ version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.7.2", "futures 0.1.29", "slab", "tokio-executor 0.1.10", @@ -6995,7 +7207,7 @@ checksum = "99bbad0de3fd923c9c3232ead88510b783e5a4d16a6154adffa3d53308de984c" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", ] [[package]] @@ -7188,9 +7400,9 @@ dependencies = [ [[package]] name = "version_check" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce" +checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" [[package]] name = "void" @@ -7246,7 +7458,7 @@ dependencies = [ "log", "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", "wasm-bindgen-shared", ] @@ -7280,7 +7492,7 @@ checksum = "8eb197bd3a47553334907ffd2f16507b4f4f01bbec3ac921a7719e0decdfe72a" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7301,7 +7513,7 @@ dependencies = [ "js-sys", "parking_lot 0.9.0", "pin-utils", - "send_wrapper", + "send_wrapper 0.2.0", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -7443,6 +7655,25 @@ dependencies = [ "webpki", ] +[[package]] +name = "wepoll-binding" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374fff4ff9701ff8b6ad0d14bacd3156c44063632d8c136186ff5967d48999a7" +dependencies = [ + "bitflags", + "wepoll-sys", +] + +[[package]] +name = "wepoll-sys" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9082a777aed991f6769e2b654aa0cb29f1c3d615daf009829b07b66c7aff6a24" +dependencies = [ + "cc", +] + [[package]] name = "which" version = "3.1.1" @@ -7534,12 +7765,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "xdg" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57" - [[package]] name = "yamux" version = "0.4.5" @@ -7571,24 +7796,24 @@ checksum = "de251eec69fc7c1bc3923403d18ececb929380e016afe103da75f396704f8ca2" dependencies = [ "proc-macro2", "quote 1.0.6", - "syn 1.0.22", + "syn 1.0.25", "synstructure", ] [[package]] name = "zstd" -version = "0.5.1+zstd.1.4.4" +version = "0.5.2+zstd.1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5d978b793ae64375b80baf652919b148f6a496ac8802922d9999f5a553194f" +checksum = "644352b10ce7f333d6e0af85bd4f5322dc449416dc1211c6308e95bca8923db4" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "2.0.3+zstd.1.4.4" +version = "2.0.4+zstd.1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee25eac9753cfedd48133fa1736cbd23b774e253d89badbeac7d12b23848d3f" +checksum = "7113c0c9aed2c55181f2d9f5b0a36e7d2c0183b11c058ab40b35987479efe4d7" dependencies = [ "libc", "zstd-sys", @@ -7596,11 +7821,12 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "1.4.15+zstd.1.4.4" +version = "1.4.16+zstd.1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89719b034dc22d240d5b407fb0a3fe6d29952c181cff9a9f95c0bd40b4f8f7d8" +checksum = "c442965efc45353be5a9b9969c9b0872fff6828c7e06d118dda2cb2d0bb11d5a" dependencies = [ "cc", "glob", + "itertools 0.9.0", "libc", ] diff --git a/node/Cargo.toml b/node/Cargo.toml index ab41ea94bc0..cea252569e6 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -3,7 +3,7 @@ authors = ["Eliott Teissonniere "] build = "build.rs" edition = "2018" name = "nodle-chain" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" [[bin]] name = "nodle-chain" @@ -21,34 +21,38 @@ wasmtime = [ ] [dependencies] -frame-benchmarking = { version = "2.0.0-alpha.8", default-features = false } -frame-benchmarking-cli = { version = "2.0.0-alpha.8", default-features = false } +frame-benchmarking = { version = "2.0.0-rc2", default-features = false } +frame-benchmarking-cli = { version = "2.0.0-rc2", default-features = false } futures = { version = "0.3.5", features = ["compat"] } jsonrpc-core = "14.0.3" -nodle-chain-runtime = { version = "2.0.0-alpha.8", path = "../runtime" } -pallet-im-online = { version = "2.0.0-alpha.8", default-features = false } -pallet-root-of-trust-rpc = { version = "2.0.0-alpha.8", path = "../pallets/root-of-trust/rpc" } -sc-authority-discovery = "0.8.0-alpha.8" -sc-basic-authorship = "0.8.0-alpha.8" -sc-cli = "0.8.0-alpha.8" -sc-client-api = "2.0.0-alpha.8" -sc-consensus = "0.8.0-alpha.8" -sc-consensus-babe = "0.8.0-alpha.8" -sc-executor = "0.8.0-alpha.8" -sc-finality-grandpa = "0.8.0-alpha.8" -sc-network = "0.8.0-alpha.8" -sc-rpc = "2.0.0-alpha.8" -sc-service = "0.8.0-alpha.8" -sc-transaction-pool = "2.0.0-alpha.8" -sp-authority-discovery = "2.0.0-alpha.8" -sp-consensus = "0.8.0-alpha.8" -sp-consensus-babe = "0.8.0-alpha.8" -sp-core = "2.0.0-alpha.8" -sp-finality-grandpa = "2.0.0-alpha.8" -sp-inherents = "2.0.0-alpha.8" -sp-runtime = "2.0.0-alpha.8" +nodle-chain-runtime = { version = "2.0.0-rc2", path = "../runtime" } +pallet-im-online = { version = "2.0.0-rc2", default-features = false } +pallet-root-of-trust-rpc = { version = "2.0.0-rc2", path = "../pallets/root-of-trust/rpc" } +pallet-transaction-payment-rpc = "2.0.0-rc2" +sc-authority-discovery = "0.8.0-rc2" +sc-basic-authorship = "0.8.0-rc2" +sc-cli = "0.8.0-rc2" +sc-client-api = "2.0.0-rc2" +sc-consensus = "0.8.0-rc2" +sc-consensus-babe = "0.8.0-rc2" +sc-consensus-babe-rpc = "0.8.0-rc2" +sc-executor = "0.8.0-rc2" +sc-finality-grandpa = "0.8.0-rc2" +sc-finality-grandpa-rpc = "0.8.0-rc2" +sc-network = "0.8.0-rc2" +sc-rpc = "2.0.0-rc2" +sc-service = "0.8.0-rc2" +sc-transaction-pool = "2.0.0-rc2" +sp-authority-discovery = "2.0.0-rc2" +sp-consensus = "0.8.0-rc2" +sp-consensus-babe = "0.8.0-rc2" +sp-core = "2.0.0-rc2" +sp-finality-grandpa = "2.0.0-rc2" +sp-inherents = "2.0.0-rc2" +sp-runtime = "2.0.0-rc2" structopt = "0.3.14" +substrate-frame-rpc-system = "2.0.0-rc2" [build-dependencies] vergen = "3.0.4" -substrate-build-script-utils = "2.0.0-alpha.8" \ No newline at end of file +substrate-build-script-utils = "2.0.0-rc2" \ No newline at end of file diff --git a/node/src/service.rs b/node/src/service.rs index ab6081951ca..ed195a6c5b6 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -44,9 +44,13 @@ native_executor_instance!( /// be able to perform chain operations. macro_rules! new_full_start { ($config:expr) => {{ + use nodle_chain_runtime::{AccountId, Index}; + use pallet_root_of_trust_rpc::{RootOfTrust, RootOfTrustApi}; + use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi}; + use sc_consensus_babe_rpc::{BabeApi, BabeRpcHandler}; + use sc_finality_grandpa_rpc::{GrandpaApi, GrandpaRpcHandler}; use std::sync::Arc; - - type RpcExtension = jsonrpc_core::IoHandler; + use substrate_frame_rpc_system::{FullSystem, SystemApi}; let mut import_setup = None; let mut rpc_setup = None; @@ -104,15 +108,59 @@ macro_rules! new_full_start { Ok(import_queue) }, )? - .with_rpc_extensions(|builder| -> std::result::Result { - let mut io = jsonrpc_core::IoHandler::default(); - io.extend_with(pallet_root_of_trust_rpc::RootOfTrustApi::to_delegate( - pallet_root_of_trust_rpc::RootOfTrust::new(builder.client().clone()), - )); - + .with_rpc_extensions_builder(|builder| { + let pool = builder.pool().clone(); + let client = builder.client().clone(); + + let babe_link = import_setup + .as_ref() + .map(|s| &s.2) + .expect("BabeLink is present for full services or set up failed; qed."); + let babe_config = babe_link.config().clone(); + let shared_epoch_changes = babe_link.epoch_changes().clone(); + + let grandpa_link = import_setup + .as_ref() + .map(|s| &s.1) + .expect("GRANDPA LinkHalf is present for full services or set up failed; qed."); + let shared_authority_set = grandpa_link.shared_authority_set().clone(); let shared_voter_state = sc_finality_grandpa::SharedVoterState::empty(); - rpc_setup = Some((shared_voter_state)); - Ok(io) + + rpc_setup = Some((shared_voter_state.clone())); + + let select_chain = builder + .select_chain() + .cloned() + .expect("SelectChain is present for full services or set up failed; qed."); + let keystore = builder.keystore().clone(); + + Ok(move |deny_unsafe| { + let mut io = jsonrpc_core::IoHandler::default(); + io.extend_with(SystemApi::::to_delegate(FullSystem::new( + client.clone(), + pool.clone(), + ))); + io.extend_with(TransactionPaymentApi::to_delegate(TransactionPayment::new( + client.clone(), + ))); + io.extend_with(BabeApi::to_delegate(BabeRpcHandler::new( + client.clone(), + shared_epoch_changes.clone(), + keystore.clone(), + babe_config.clone(), + select_chain.clone(), + deny_unsafe, + ))); + io.extend_with(GrandpaApi::to_delegate(GrandpaRpcHandler::new( + shared_authority_set.clone(), + shared_voter_state.clone(), + ))); + io.extend_with(RootOfTrustApi::to_delegate(RootOfTrust::new( + client.clone(), + ))); + + io + }) })?; (builder, import_setup, inherent_data_providers, rpc_setup) @@ -162,7 +210,8 @@ macro_rules! new_full { if let sc_service::config::Role::Authority { .. } = &role { let proposer = sc_basic_authorship::ProposerFactory::new( service.client(), - service.transaction_pool() + service.transaction_pool(), + service.prometheus_registry().as_ref(), ); let client = service.client(); @@ -287,7 +336,9 @@ pub fn new_full(config: Configuration) -> Result Result { - type RpcExtension = jsonrpc_core::IoHandler; + use nodle_chain_runtime::{AccountId, Index}; + use pallet_root_of_trust_rpc::{RootOfTrust, RootOfTrustApi}; + use substrate_frame_rpc_system::{LightSystem, SystemApi}; let inherent_data_providers = InherentDataProviders::new(); @@ -355,11 +406,22 @@ pub fn new_light(config: Configuration) -> Result>; Ok(Arc::new(GrandpaFinalityProofProvider::new(backend, provider)) as _) })? - .with_rpc_extensions(|builder| -> std::result::Result { + .with_rpc_extensions(|builder| { + let fetcher = builder + .fetcher() + .ok_or_else(|| "Trying to start node RPC without active fetcher")?; + let remote_blockchain = builder + .remote_backend() + .ok_or_else(|| "Trying to start node RPC without active remote blockchain")?; + let client = builder.client(); + let mut io = jsonrpc_core::IoHandler::default(); - io.extend_with(pallet_root_of_trust_rpc::RootOfTrustApi::to_delegate( - pallet_root_of_trust_rpc::RootOfTrust::new(builder.client().clone()), + io.extend_with(SystemApi::::to_delegate( + LightSystem::new(client.clone(), remote_blockchain, fetcher, builder.pool()), )); + io.extend_with(RootOfTrustApi::to_delegate(RootOfTrust::new( + client.clone(), + ))); Ok(io) })? diff --git a/pallets/emergency-shutdown/Cargo.toml b/pallets/emergency-shutdown/Cargo.toml index 23f6caa08ac..a8aaf774d02 100644 --- a/pallets/emergency-shutdown/Cargo.toml +++ b/pallets/emergency-shutdown/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-emergency-shutdown" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" authors = ["Eliott Teissonniere "] edition = "2018" @@ -25,18 +25,18 @@ runtime-benchmarks = [ ] [dependencies] -frame-benchmarking = { version = "2.0.0-alpha.8", default-features = false, optional = true } -frame-support = { version = "2.0.0-alpha.8", default-features = false } -frame-system = { version = "2.0.0-alpha.8", default-features = false } +frame-benchmarking = { version = "2.0.0-rc2", default-features = false, optional = true } +frame-support = { version = "2.0.0-rc2", default-features = false } +frame-system = { version = "2.0.0-rc2", default-features = false } parity-scale-codec = { version = "1.2.0", default-features = false, features = ["derive"] } serde = { version = "1.0.110", optional = true, features = ["derive"] } -sp-io = { version = "2.0.0-alpha.8", default-features = false } -sp-runtime = { version = "2.0.0-alpha.8", default-features = false } -sp-std = { version = "2.0.0-alpha.8", default-features = false } +sp-io = { version = "2.0.0-rc2", default-features = false } +sp-runtime = { version = "2.0.0-rc2", default-features = false } +sp-std = { version = "2.0.0-rc2", default-features = false } # Fix #105 -pallet-balances = { version = "2.0.0-alpha.8", default-features = false } +pallet-balances = { version = "2.0.0-rc2", default-features = false } [dev-dependencies] -sp-core = { version = "2.0.0-alpha.8", default-features = false } +sp-core = { version = "2.0.0-rc2", default-features = false } diff --git a/pallets/emergency-shutdown/src/tests.rs b/pallets/emergency-shutdown/src/tests.rs index 6cff17cec0d..66af837d0ee 100644 --- a/pallets/emergency-shutdown/src/tests.rs +++ b/pallets/emergency-shutdown/src/tests.rs @@ -71,6 +71,7 @@ impl frame_system::Trait for Test { type DbWeight = (); type BlockExecutionWeight = (); type ExtrinsicBaseWeight = (); + type MaximumExtrinsicWeight = MaximumBlockWeight; } ord_parameter_types! { diff --git a/pallets/poa/Cargo.toml b/pallets/poa/Cargo.toml index 4fb875013ba..44bcc77d903 100644 --- a/pallets/poa/Cargo.toml +++ b/pallets/poa/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-poa" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" authors = ["Eliott Teissonniere "] edition = "2018" @@ -17,13 +17,13 @@ std = [ ] [dependencies] -frame-support = { version = "2.0.0-alpha.8", default-features = false } +frame-support = { version = "2.0.0-rc2", default-features = false } parity-scale-codec = { version = "1.2.0", features = ["derive"], default-features = false } -pallet-session = { version = "2.0.0-alpha.8", default-features = false, features = ["historical"] } -sp-io = { version = "2.0.0-alpha.8", default-features = false } -sp-runtime = { version = "2.0.0-alpha.8", default-features = false } -sp-std = { version = "2.0.0-alpha.8", default-features = false } -frame-system = { version = "2.0.0-alpha.8", default-features = false } +pallet-session = { version = "2.0.0-rc2", default-features = false, features = ["historical"] } +sp-io = { version = "2.0.0-rc2", default-features = false } +sp-runtime = { version = "2.0.0-rc2", default-features = false } +sp-std = { version = "2.0.0-rc2", default-features = false } +frame-system = { version = "2.0.0-rc2", default-features = false } [dev-dependencies] -sp-core = { version = "2.0.0-alpha.8", default-features = false } +sp-core = { version = "2.0.0-rc2", default-features = false } diff --git a/pallets/poa/src/tests.rs b/pallets/poa/src/tests.rs index 276ec99eb3d..74b09960dc4 100644 --- a/pallets/poa/src/tests.rs +++ b/pallets/poa/src/tests.rs @@ -64,6 +64,7 @@ impl system::Trait for Test { type DbWeight = (); type BlockExecutionWeight = (); type ExtrinsicBaseWeight = (); + type MaximumExtrinsicWeight = MaximumBlockWeight; } parameter_types! { pub const DisabledValidatorsThreshold: Perbill = Perbill::from_percent(33); diff --git a/pallets/reserve/Cargo.toml b/pallets/reserve/Cargo.toml index bdd03c83668..c971e5188cd 100644 --- a/pallets/reserve/Cargo.toml +++ b/pallets/reserve/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-reserve" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" authors = ["Eliott Teissonniere "] edition = "2018" @@ -23,16 +23,16 @@ runtime-benchmarks = [ ] [dependencies] -frame-benchmarking = { version = "2.0.0-alpha.8", default-features = false, optional = true } -frame-support = { version = "2.0.0-alpha.8", default-features = false } -frame-system = { version = "2.0.0-alpha.8", default-features = false } -pallet-balances = { version = "2.0.0-alpha.8", default-features = false } +frame-benchmarking = { version = "2.0.0-rc2", default-features = false, optional = true } +frame-support = { version = "2.0.0-rc2", default-features = false } +frame-system = { version = "2.0.0-rc2", default-features = false } +pallet-balances = { version = "2.0.0-rc2", default-features = false } parity-scale-codec = { version = "1.2.0", default-features = false, features = ["derive"] } serde = { version = "1.0.110", optional = true, features = ["derive"] } -sp-io = { version = "2.0.0-alpha.8", default-features = false } -sp-runtime = { version = "2.0.0-alpha.8", default-features = false } -sp-std = { version = "2.0.0-alpha.8", default-features = false } +sp-io = { version = "2.0.0-rc2", default-features = false } +sp-runtime = { version = "2.0.0-rc2", default-features = false } +sp-std = { version = "2.0.0-rc2", default-features = false } [dev-dependencies] -sp-core = { version = "2.0.0-alpha.8", default-features = false } +sp-core = { version = "2.0.0-rc2", default-features = false } diff --git a/pallets/reserve/src/tests.rs b/pallets/reserve/src/tests.rs index 51743963319..2c4c32485b7 100644 --- a/pallets/reserve/src/tests.rs +++ b/pallets/reserve/src/tests.rs @@ -72,6 +72,7 @@ impl frame_system::Trait for Test { type DbWeight = (); type BlockExecutionWeight = (); type ExtrinsicBaseWeight = (); + type MaximumExtrinsicWeight = MaximumBlockWeight; } impl pallet_balances::Trait for Test { type Balance = u64; diff --git a/pallets/root-of-trust/Cargo.toml b/pallets/root-of-trust/Cargo.toml index 9eb040de434..05d81fd2569 100644 --- a/pallets/root-of-trust/Cargo.toml +++ b/pallets/root-of-trust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-root-of-trust" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" authors = ['Eliott Teissonniere '] edition = "2018" description = "This pallet implements a distributed Root Of Trust for Certification Authorities" @@ -25,16 +25,16 @@ runtime-benchmarks = [ ] [dependencies] -frame-benchmarking = { version = "2.0.0-alpha.8", default-features = false, optional = true } -frame-support = { version = "2.0.0-alpha.8", default-features = false } -frame-system = { version = "2.0.0-alpha.8", default-features = false } -pallet-balances = { version = "2.0.0-alpha.8", default-features = false } -pallet-tcr = { version = "2.0.0-alpha.8", default-features = false, path = "../tcr" } +frame-benchmarking = { version = "2.0.0-rc2", default-features = false, optional = true } +frame-support = { version = "2.0.0-rc2", default-features = false } +frame-system = { version = "2.0.0-rc2", default-features = false } +pallet-balances = { version = "2.0.0-rc2", default-features = false } +pallet-tcr = { version = "2.0.0-rc2", default-features = false, path = "../tcr" } parity-scale-codec = { version = "1.2.0", default-features = false, features = ["derive"] } serde = { version = "1.0.110", optional = true, features = ["derive"] } -sp-io = { version = "2.0.0-alpha.8", default-features = false } -sp-runtime = { version = "2.0.0-alpha.8", default-features = false } -sp-std = { version = "2.0.0-alpha.8", default-features = false } +sp-io = { version = "2.0.0-rc2", default-features = false } +sp-runtime = { version = "2.0.0-rc2", default-features = false } +sp-std = { version = "2.0.0-rc2", default-features = false } [dev-dependencies] -sp-core = { version = "2.0.0-alpha.8", default-features = false } +sp-core = { version = "2.0.0-rc2", default-features = false } diff --git a/pallets/root-of-trust/rpc/Cargo.toml b/pallets/root-of-trust/rpc/Cargo.toml index a6a54fb18c2..25cfce24d0e 100644 --- a/pallets/root-of-trust/rpc/Cargo.toml +++ b/pallets/root-of-trust/rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-root-of-trust-rpc" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" authors = ["Eliott Teissonniere "] edition = "2018" @@ -8,8 +8,8 @@ edition = "2018" jsonrpc-core = "14.0.3" jsonrpc-core-client = "14.0.3" jsonrpc-derive = "14.0.3" -pallet-root-of-trust-runtime-api = { version = "2.0.0-alpha.8", path = "./runtime-api" } +pallet-root-of-trust-runtime-api = { version = "2.0.0-rc2", path = "./runtime-api" } parity-scale-codec = { version = "1.2.0", default_features = false } -sp-api = { version = "2.0.0-alpha.8", default_features = false } -sp-blockchain = { version = "2.0.0-alpha.8", default_features = false } -sp-runtime = { version = "2.0.0-alpha.8", default_features = false } +sp-api = { version = "2.0.0-rc2", default_features = false } +sp-blockchain = { version = "2.0.0-rc2", default_features = false } +sp-runtime = { version = "2.0.0-rc2", default_features = false } diff --git a/pallets/root-of-trust/rpc/runtime-api/Cargo.toml b/pallets/root-of-trust/rpc/runtime-api/Cargo.toml index f799404d422..9a4e4fbc197 100644 --- a/pallets/root-of-trust/rpc/runtime-api/Cargo.toml +++ b/pallets/root-of-trust/rpc/runtime-api/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-root-of-trust-runtime-api" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" authors = ["Eliott Teissonniere "] edition = "2018" @@ -13,4 +13,4 @@ std = [ [dependencies] parity-scale-codec = { version = "1.2.0", default_features = false } -sp-api = { version = "2.0.0-alpha.8", default_features = false } +sp-api = { version = "2.0.0-rc2", default_features = false } diff --git a/pallets/root-of-trust/src/tests.rs b/pallets/root-of-trust/src/tests.rs index a164a8fc476..f31d29bcc31 100644 --- a/pallets/root-of-trust/src/tests.rs +++ b/pallets/root-of-trust/src/tests.rs @@ -70,6 +70,7 @@ impl system::Trait for Test { type DbWeight = (); type BlockExecutionWeight = (); type ExtrinsicBaseWeight = (); + type MaximumExtrinsicWeight = MaximumBlockWeight; } parameter_types! { pub const DisabledValidatorsThreshold: Perbill = Perbill::from_percent(33); diff --git a/pallets/tcr/Cargo.toml b/pallets/tcr/Cargo.toml index 0bb5a7ffa36..0ba377e7e2f 100644 --- a/pallets/tcr/Cargo.toml +++ b/pallets/tcr/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-tcr" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" authors = ['Eliott Teissonniere '] edition = "2018" description = "A Token Curated Registry module for Substrate" @@ -24,16 +24,16 @@ runtime-benchmarks = [ ] [dependencies] -frame-benchmarking = { version = "2.0.0-alpha.8", default-features = false, optional = true } -frame-support = { version = "2.0.0-alpha.8", default-features = false } -frame-system = { version = "2.0.0-alpha.8", default-features = false } -pallet-balances = { version = "2.0.0-alpha.8", default-features = false } +frame-benchmarking = { version = "2.0.0-rc2", default-features = false, optional = true } +frame-support = { version = "2.0.0-rc2", default-features = false } +frame-system = { version = "2.0.0-rc2", default-features = false } +pallet-balances = { version = "2.0.0-rc2", default-features = false } parity-scale-codec = { version = "1.2.0", default-features = false, features = ["derive"] } serde = { version = "1.0.110", optional = true, features = ["derive"] } -sp-io = { version = "2.0.0-alpha.8", default-features = false } -sp-runtime = { version = "2.0.0-alpha.8", default-features = false } -sp-std = { version = "2.0.0-alpha.8", default-features = false } +sp-io = { version = "2.0.0-rc2", default-features = false } +sp-runtime = { version = "2.0.0-rc2", default-features = false } +sp-std = { version = "2.0.0-rc2", default-features = false } [dev-dependencies] -sp-core = { version = "2.0.0-alpha.8", default-features = false } +sp-core = { version = "2.0.0-rc2", default-features = false } diff --git a/pallets/tcr/src/tests.rs b/pallets/tcr/src/tests.rs index b5401081221..27c0149ff16 100644 --- a/pallets/tcr/src/tests.rs +++ b/pallets/tcr/src/tests.rs @@ -71,6 +71,7 @@ impl system::Trait for Test { type DbWeight = (); type BlockExecutionWeight = (); type ExtrinsicBaseWeight = (); + type MaximumExtrinsicWeight = MaximumBlockWeight; } parameter_types! { pub const DisabledValidatorsThreshold: Perbill = Perbill::from_percent(33); diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index dfc91a9f504..45a05e3700c 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -2,7 +2,7 @@ authors = ["Eliott Teissonniere "] edition = "2018" name = "nodle-chain-runtime" -version = "2.0.0-alpha.8" +version = "2.0.0-rc2" [features] default = ["std"] @@ -76,57 +76,57 @@ runtime-benchmarks = [ ] [dependencies] -frame-benchmarking = { version = "2.0.0-alpha.8", default-features = false, optional = true } -frame-executive = { version = "2.0.0-alpha.8", default-features = false } -frame-support = { version = "2.0.0-alpha.8", default-features = false } -frame-system = { version = "2.0.0-alpha.8", default-features = false } -#frame-system-benchmarking = { version = "2.0.0-alpha.8", default-features = false, optional = true } -frame-system-rpc-runtime-api = { version = "2.0.0-alpha.8", default-features = false } -pallet-authority-discovery = { version = "2.0.0-alpha.8", default-features = false } -pallet-authorship = { version = "2.0.0-alpha.8", default-features = false } -pallet-babe = { version = "2.0.0-alpha.8", default-features = false } -pallet-balances = { version = "2.0.0-alpha.8", default-features = false } -pallet-collective = { version = "2.0.0-alpha.8", default-features = false } -pallet-emergency-shutdown = { version = "2.0.0-alpha.8", default-features = false, path = "../pallets/emergency-shutdown" } -pallet-grandpa = { version = "2.0.0-alpha.8", default-features = false } -pallet-identity = { version = "2.0.0-alpha.8", default-features = false } -pallet-im-online = { version = "2.0.0-alpha.8", default-features = false } -pallet-indices = { version = "2.0.0-alpha.8", default-features = false } -pallet-mandate = { version = "2.0.3", default-features = false } -pallet-membership = { version = "2.0.0-alpha.8", default-features = false } -pallet-offences = { version = "2.0.0-alpha.8", default-features = false } -#pallet-offences-benchmarking = { version = "2.0.0-alpha.8", default-features = false, optional = true } -pallet-poa = { version = "2.0.0-alpha.8", default-features = false, path = "../pallets/poa" } -pallet-randomness-collective-flip = { version = "2.0.0-alpha.8", default-features = false } -pallet-recovery = { version = "2.0.0-alpha.8", default-features = false } -pallet-reserve = { version = "2.0.0-alpha.8", default-features = false, path = "../pallets/reserve" } -pallet-root-of-trust = { version = "2.0.0-alpha.8", default-features = false, path = "../pallets/root-of-trust" } -pallet-root-of-trust-runtime-api = { version = "2.0.0-alpha.8", default-features = false, path = "../pallets/root-of-trust/rpc/runtime-api" } -pallet-session = { version = "2.0.0-alpha.8", default-features = false, features = ["historical"] } -#pallet-session-benchmarking = { version = "2.0.0-alpha.8", default-features = false, optional = true } -pallet-tcr = { version = "2.0.0-alpha.8", default-features = false, path = "../pallets/tcr" } -pallet-timestamp = { version = "2.0.0-alpha.8", default-features = false } -pallet-transaction-payment = { version = "2.0.0-alpha.8", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { version = "2.0.0-alpha.8", default-features = false } -pallet-utility = { version = "2.0.0-alpha.8", default-features = false } -pallet-vesting = { version = "2.0.0-alpha.8", default-features = false } +frame-benchmarking = { version = "2.0.0-rc2", default-features = false, optional = true } +frame-executive = { version = "2.0.0-rc2", default-features = false } +frame-support = { version = "2.0.0-rc2", default-features = false } +frame-system = { version = "2.0.0-rc2", default-features = false } +#frame-system-benchmarking = { version = "2.0.0-rc2", default-features = false, optional = true } +frame-system-rpc-runtime-api = { version = "2.0.0-rc2", default-features = false } +pallet-authority-discovery = { version = "2.0.0-rc2", default-features = false } +pallet-authorship = { version = "2.0.0-rc2", default-features = false } +pallet-babe = { version = "2.0.0-rc2", default-features = false } +pallet-balances = { version = "2.0.0-rc2", default-features = false } +pallet-collective = { version = "2.0.0-rc2", default-features = false } +pallet-emergency-shutdown = { version = "2.0.0-rc2", default-features = false, path = "../pallets/emergency-shutdown" } +pallet-grandpa = { version = "2.0.0-rc2", default-features = false } +pallet-identity = { version = "2.0.0-rc2", default-features = false } +pallet-im-online = { version = "2.0.0-rc2", default-features = false } +pallet-indices = { version = "2.0.0-rc2", default-features = false } +pallet-mandate = { version = "2.0.4", default-features = false } +pallet-membership = { version = "2.0.0-rc2", default-features = false } +pallet-offences = { version = "2.0.0-rc2", default-features = false } +#pallet-offences-benchmarking = { version = "2.0.0-rc2", default-features = false, optional = true } +pallet-poa = { version = "2.0.0-rc2", default-features = false, path = "../pallets/poa" } +pallet-randomness-collective-flip = { version = "2.0.0-rc2", default-features = false } +pallet-recovery = { version = "2.0.0-rc2", default-features = false } +pallet-reserve = { version = "2.0.0-rc2", default-features = false, path = "../pallets/reserve" } +pallet-root-of-trust = { version = "2.0.0-rc2", default-features = false, path = "../pallets/root-of-trust" } +pallet-root-of-trust-runtime-api = { version = "2.0.0-rc2", default-features = false, path = "../pallets/root-of-trust/rpc/runtime-api" } +pallet-session = { version = "2.0.0-rc2", default-features = false, features = ["historical"] } +#pallet-session-benchmarking = { version = "2.0.0-rc2", default-features = false, optional = true } +pallet-tcr = { version = "2.0.0-rc2", default-features = false, path = "../pallets/tcr" } +pallet-timestamp = { version = "2.0.0-rc2", default-features = false } +pallet-transaction-payment = { version = "2.0.0-rc2", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { version = "2.0.0-rc2", default-features = false } +pallet-utility = { version = "2.0.0-rc2", default-features = false } +pallet-vesting = { version = "2.0.0-rc2", default-features = false } parity-scale-codec = { version = "1.2.0", default-features = false, features = ["derive"] } safe-mix = { version = "1.0.0", default-features = false } serde = { version = "1.0.110", optional = true, features = ["derive"] } -sp-api = { version = "2.0.0-alpha.8", default-features = false } -sp-application-crypto = { version = "2.0.0-alpha.8", default-features = false } -sp-authority-discovery = { version = "2.0.0-alpha.8", default-features = false } -sp-consensus-babe = { version = "0.8.0-alpha.8", default-features = false } -sp-block-builder = { version = "2.0.0-alpha.8", default-features = false } -sp-core = { version = "2.0.0-alpha.8", default-features = false } -sp-inherents = { version = "2.0.0-alpha.8", default-features = false } -sp-io = { version = "2.0.0-alpha.8", default-features = false } -sp-offchain = { version = "2.0.0-alpha.8", default-features = false } -sp-runtime = { version = "2.0.0-alpha.8", default-features = false } -sp-session = { version = "2.0.0-alpha.8", default-features = false } -sp-std = { version = "2.0.0-alpha.8", default-features = false } -sp-transaction-pool = { version = "2.0.0-alpha.8", default-features = false } -sp-version = { version = "2.0.0-alpha.8", default-features = false } +sp-api = { version = "2.0.0-rc2", default-features = false } +sp-application-crypto = { version = "2.0.0-rc2", default-features = false } +sp-authority-discovery = { version = "2.0.0-rc2", default-features = false } +sp-consensus-babe = { version = "0.8.0-rc2", default-features = false } +sp-block-builder = { version = "2.0.0-rc2", default-features = false } +sp-core = { version = "2.0.0-rc2", default-features = false } +sp-inherents = { version = "2.0.0-rc2", default-features = false } +sp-io = { version = "2.0.0-rc2", default-features = false } +sp-offchain = { version = "2.0.0-rc2", default-features = false } +sp-runtime = { version = "2.0.0-rc2", default-features = false } +sp-session = { version = "2.0.0-rc2", default-features = false } +sp-std = { version = "2.0.0-rc2", default-features = false } +sp-transaction-pool = { version = "2.0.0-rc2", default-features = false } +sp-version = { version = "2.0.0-rc2", default-features = false } [build-dependencies] substrate-wasm-builder-runner = "1.0.6" diff --git a/runtime/src/implementations.rs b/runtime/src/implementations.rs index ff1d0df46a8..c54eed2b5c3 100644 --- a/runtime/src/implementations.rs +++ b/runtime/src/implementations.rs @@ -19,12 +19,12 @@ //! Auxillary struct/enums for polkadot runtime. -use crate::{Authorship, Balance, Balances, MaximumBlockWeight, NegativeImbalance, System}; -use core::num::NonZeroI128; +use crate::{Authorship, Balances, MaximumBlockWeight, NegativeImbalance, System}; use frame_support::traits::{Currency, Get, OnUnbalanced}; -use frame_support::weights::Weight; -use sp_runtime::traits::{Convert, Saturating}; -use sp_runtime::{Fixed128, Perquintill}; +use sp_runtime::{ + traits::{Convert, Saturating}, + Fixed128, FixedPointNumber, Perquintill, +}; /// Logic for the author to get a portion of fees. pub struct Author; @@ -34,18 +34,6 @@ impl OnUnbalanced for Author { } } -/// Convert from weight to balance via a simple coefficient multiplication -/// The associated type C encapsulates a constant in units of balance per weight -pub struct LinearWeightToFee(sp_std::marker::PhantomData); - -impl> Convert for LinearWeightToFee { - fn convert(w: Weight) -> Balance { - // setting this to zero will disable the weight fee. - let coefficient = C::get(); - Balance::from(w).saturating_mul(coefficient) - } -} - /// Update the given multiplier based on the following formula /// /// diff = (previous_block_weight - target_weight)/max_weight @@ -59,25 +47,21 @@ pub struct TargetedFeeAdjustment(sp_std::marker::PhantomData); impl> Convert for TargetedFeeAdjustment { fn convert(multiplier: Fixed128) -> Fixed128 { let max_weight = MaximumBlockWeight::get(); - let block_weight = System::all_extrinsics_weight().total().min(max_weight); + let block_weight = System::block_weight().total().min(max_weight); let target_weight = (T::get() * max_weight) as u128; let block_weight = block_weight as u128; // determines if the first_term is positive let positive = block_weight >= target_weight; let diff_abs = block_weight.max(target_weight) - block_weight.min(target_weight); - // safe, diff_abs cannot exceed u64 and it can always be computed safely even with the lossy - // `Fixed128::from_rational`. - let diff = Fixed128::from_rational( - diff_abs as i128, - NonZeroI128::new(max_weight.max(1) as i128).unwrap(), - ); + // safe, diff_abs cannot exceed u64. + let diff = Fixed128::saturating_from_rational(diff_abs, max_weight.max(1)); let diff_squared = diff.saturating_mul(diff); // 0.00004 = 4/100_000 = 40_000/10^9 - let v = Fixed128::from_rational(4, NonZeroI128::new(100_000).unwrap()); + let v = Fixed128::saturating_from_rational(4, 100_000); // 0.00004^2 = 16/10^10 Taking the future /2 into account... 8/10^10 - let v_squared_2 = Fixed128::from_rational(8, NonZeroI128::new(10_000_000_000).unwrap()); + let v_squared_2 = Fixed128::saturating_from_rational(8, 10_000_000_000u64); let first_term = v.saturating_mul(diff); let second_term = v_squared_2.saturating_mul(diff_squared); @@ -97,7 +81,7 @@ impl> Convert for TargetedFeeAdjustment< // multiplier. While at -1, it means that the network is so un-congested that all // transactions have no weight fee. We stop here and only increase if the network // became more busy. - .max(Fixed128::from_natural(-1)) + .max(Fixed128::saturating_from_integer(-1)) } } } @@ -107,8 +91,7 @@ mod tests { use super::*; use crate::{constants::*, TargetBlockFullness, TransactionPayment}; use crate::{AvailableBlockRatio, MaximumBlockWeight, Runtime}; - use core::num::NonZeroI128; - use frame_support::weights::Weight; + use frame_support::weights::{Weight, WeightToFeePolynomial}; use sp_runtime::assert_eq_error_rate; fn max() -> Weight { @@ -133,7 +116,7 @@ mod tests { let s = block_weight; let fm = v * (s / m - ss / m) + v.powi(2) * (s / m - ss / m).powi(2) / 2.0; - let addition_fm = Fixed128::from_parts((fm * Fixed128::accuracy() as f64).round() as i128); + let addition_fm = Fixed128::from_inner((fm * Fixed128::accuracy() as f64).round() as i128); previous.saturating_add(addition_fm) } @@ -153,7 +136,7 @@ mod tests { #[test] fn fee_multiplier_update_poc_works() { - let fm = Fixed128::from_rational(0, NonZeroI128::new(1).unwrap()); + let fm = Fixed128::saturating_from_rational(0, 1); let test_set = vec![ (0, fm.clone()), (100, fm.clone()), @@ -167,7 +150,7 @@ mod tests { fee_multiplier_update(w, fm), TargetedFeeAdjustment::::convert(fm), // Error is only 1 in 10^18 - Fixed128::from_parts(1), + Fixed128::from_inner(1), ); }) }) @@ -183,7 +166,7 @@ mod tests { loop { let next = TargetedFeeAdjustment::::convert(fm); fm = next; - if fm == Fixed128::from_natural(-1) { + if fm == Fixed128::saturating_from_integer(-1) { break; } iterations += 1; @@ -231,8 +214,8 @@ mod tests { fm = next; iterations += 1; let fee = - ::WeightToFee::convert(tx_weight); - let adjusted_fee = fm.saturated_multiply_accumulate(fee); + ::WeightToFee::calc(&tx_weight); + let adjusted_fee = fm.saturating_mul_acc_int(fee); println!( "iteration {}, new fm = {:?}. Fee at this point is: {} units / {} millicents, \ {} cents, {} dollars", @@ -325,8 +308,10 @@ mod tests { // ... stops going down at -1 assert_eq!( - TargetedFeeAdjustment::::convert(Fixed128::from_natural(-1)), - Fixed128::from_natural(-1) + TargetedFeeAdjustment::::convert( + Fixed128::saturating_from_integer(-1) + ), + Fixed128::saturating_from_integer(-1) ); }) } @@ -335,7 +320,7 @@ mod tests { fn weight_to_fee_should_not_overflow_on_large_weights() { let kb = 1024 as Weight; let mb = kb * kb; - let max_fm = Fixed128::from_natural(i128::max_value()); + let max_fm = Fixed128::saturating_from_integer(i128::max_value()); // check that for all values it can compute, correctly. vec![ @@ -361,7 +346,7 @@ mod tests { let next = TargetedFeeAdjustment::::convert(Fixed128::default()); let truth = fee_multiplier_update(i, Fixed128::default()); - assert_eq_error_rate!(truth, next, Fixed128::from_parts(50_000_000)); + assert_eq_error_rate!(truth, next, Fixed128::from_inner(50_000_000)); }); }); diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 4dba7857f52..280519b6c85 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -39,7 +39,7 @@ use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, traits::{ BlakeTwo256, Block as BlockT, ConvertInto, IdentifyAccount, NumberFor, OpaqueKeys, - SaturatedConversion, StaticLookup, Verify, + SaturatedConversion, Saturating, StaticLookup, Verify, }, transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity}, ApplyExtrinsicResult, MultiSignature, @@ -55,7 +55,7 @@ pub use frame_support::{ traits::{Currency, Imbalance, KeyOwnerProofSystem, OnUnbalanced, Randomness, SplitTwoWays}, weights::{ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, - Weight, + IdentityFee, Weight, }, StorageValue, }; @@ -68,7 +68,7 @@ pub use sp_runtime::{Perbill, Permill, Perquintill}; pub mod constants; mod implementations; -use implementations::{Author, LinearWeightToFee, TargetedFeeAdjustment}; +use implementations::{Author, TargetedFeeAdjustment}; /// An index to a block. pub type BlockNumber = u32; @@ -169,7 +169,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { /// Version of the runtime specification. A full-node will not attempt to use its native /// runtime in substitute for the on-chain Wasm runtime unless all of `spec_name`, /// `spec_version` and `authoring_version` are the same between Wasm and native. - spec_version: 20, + spec_version: 21, /// Version of the implementation of the specification. Nodes are free to ignore this; it /// serves only as an indication that the code is different; as long as the other two versions @@ -179,8 +179,10 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { /// would result in only the `impl_version` changing. impl_version: 0, + /// Used for hardware wallets. This typically happens when `SignedExtra` changes. + transaction_version: 2, + apis: RUNTIME_API_VERSIONS, - transaction_version: 1, }; /// The version infromation used to identify this runtime when compiled natively. @@ -197,6 +199,8 @@ parameter_types! { pub const MaximumBlockWeight: Weight = 2 * WEIGHT_PER_SECOND; pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75); pub const MaximumBlockLength: u32 = 5 * 1024 * 1024; + pub const MaximumExtrinsicWeight: Weight = AvailableBlockRatio::get() + .saturating_sub(Perbill::from_percent(10)) * MaximumBlockWeight::get(); pub const Version: RuntimeVersion = VERSION; } @@ -223,6 +227,7 @@ impl frame_system::Trait for Runtime { type DbWeight = RocksDbWeight; type BlockExecutionWeight = BlockExecutionWeight; type ExtrinsicBaseWeight = ExtrinsicBaseWeight; + type MaximumExtrinsicWeight = MaximumExtrinsicWeight; } parameter_types! { @@ -341,12 +346,17 @@ impl pallet_im_online::Trait for Runtime { type UnsignedPriority = ImOnlineUnsignedPriority; } +parameter_types! { + pub const OffencesWeightSoftLimit: Weight = Perbill::from_percent(60) * MaximumBlockWeight::get(); +} + impl pallet_offences::Trait for Runtime { type Event = Event; type IdentificationTuple = pallet_session::historical::IdentificationTuple; // TODO: as of now, we don't execute any slashing, however offences are logged // so that we could decide to remove validators later type OnOffenceHandler = (); + type WeightSoftLimit = OffencesWeightSoftLimit; } parameter_types! { @@ -397,16 +407,13 @@ parameter_types! { // For a sane configuration, this should always be less than `AvailableBlockRatio`. // Fees raises after a fullness of 25% pub const TargetBlockFullness: Perquintill = constants::TARGET_BLOCK_FULLNESS; - // In the Substrate node, a weight of 10_000_000 (smallest non-zero weight) - // is mapped to 10_000_000 units of fees, hence: - pub const WeightFeeCoefficient: Balance = 1; } impl pallet_transaction_payment::Trait for Runtime { type Currency = Balances; type OnTransactionPayment = DealWithFees; type TransactionByteFee = TransactionByteFee; - type WeightToFee = LinearWeightToFee; + type WeightToFee = IdentityFee; type FeeMultiplierUpdate = TargetedFeeAdjustment; } @@ -634,6 +641,7 @@ impl pallet_utility::Trait for Runtime { type MultisigDepositBase = MultisigDepositBase; type MultisigDepositFactor = MultisigDepositFactor; type MaxSignatories = MaxSignatories; + type IsCallable = (); } parameter_types! {