git.delta.rocks / unique-network / refs/commits / 5e168aa12a6c

difftreelog

Updated to rc4

str-mv2020-07-22parent: #21c779f.patch.diff
in: master

7 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -854,17 +854,6 @@
 [[package]]
 name = "ed25519-dalek"
 version = "1.0.0-pre.3"
-source = "git+https://github.com/usetech-llc/ed25519-dalek?tag=1.0.0-pre.3#29a06e494ddd4f370256596b7103125295073435"
-dependencies = [
- "clear_on_drop",
- "curve25519-dalek",
- "rand 0.7.3",
- "sha2 0.8.2",
-]
-
-[[package]]
-name = "ed25519-dalek"
-version = "1.0.0-pre.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "978710b352437433c97b2bff193f2fb1dfd58a093f863dd95e225a19baa599a2"
 dependencies = [
@@ -1019,16 +1008,16 @@
 
 [[package]]
 name = "fork-tree"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
 ]
 
 [[package]]
 name = "frame-benchmarking"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1044,8 +1033,8 @@
 
 [[package]]
 name = "frame-executive"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1059,8 +1048,8 @@
 
 [[package]]
 name = "frame-metadata"
-version = "11.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "11.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -1070,8 +1059,8 @@
 
 [[package]]
 name = "frame-support"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "bitmask",
  "frame-metadata",
@@ -1095,8 +1084,8 @@
 
 [[package]]
 name = "frame-support-procedural"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support-procedural-tools",
  "proc-macro2",
@@ -1106,8 +1095,8 @@
 
 [[package]]
 name = "frame-support-procedural-tools"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate",
@@ -1118,8 +1107,8 @@
 
 [[package]]
 name = "frame-support-procedural-tools-derive"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "proc-macro2",
  "quote 1.0.7",
@@ -1128,8 +1117,8 @@
 
 [[package]]
 name = "frame-system"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "impl-trait-for-tuples",
@@ -1843,6 +1832,15 @@
 ]
 
 [[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.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1932,6 +1930,20 @@
 ]
 
 [[package]]
+name = "jsonrpc-ipc-server"
+version = "14.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dedccd693325d833963b549e959137f30a7a0ea650cde92feda81dc0c1393cb5"
+dependencies = [
+ "jsonrpc-core",
+ "jsonrpc-server-utils",
+ "log",
+ "parity-tokio-ipc",
+ "parking_lot 0.10.2",
+ "tokio-service",
+]
+
+[[package]]
 name = "jsonrpc-pubsub"
 version = "14.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2129,7 +2141,7 @@
 dependencies = [
  "asn1_der",
  "bs58",
- "ed25519-dalek 1.0.0-pre.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "ed25519-dalek",
  "either",
  "fnv",
  "futures 0.3.5",
@@ -2513,9 +2525,9 @@
 
 [[package]]
 name = "memory-db"
-version = "0.20.1"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be512cb2ccb4ecbdca937fdd4a62ea5f09f8e7195466a85e4632b3d5bcce82e6"
+checksum = "fb2999ff7a65d5a1d72172f6d51fa2ea03024b51aee709ba5ff81c3c629a2410"
 dependencies = [
  "ahash",
  "hash-db",
@@ -2563,7 +2575,7 @@
  "kernel32-sys",
  "libc",
  "log",
- "miow",
+ "miow 0.2.1",
  "net2",
  "slab",
  "winapi 0.2.8",
@@ -2582,6 +2594,18 @@
 ]
 
 [[package]]
+name = "mio-named-pipes"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656"
+dependencies = [
+ "log",
+ "mio",
+ "miow 0.3.5",
+ "winapi 0.3.9",
+]
+
+[[package]]
 name = "mio-uds"
 version = "0.6.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2605,6 +2629,16 @@
 ]
 
 [[package]]
+name = "miow"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07b88fb9795d4d36d62a012dfbf49a8f5cf12751f36d31a9dbe66d528e58979e"
+dependencies = [
+ "socket2",
+ "winapi 0.3.9",
+]
+
+[[package]]
 name = "multihash"
 version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2692,7 +2726,7 @@
 
 [[package]]
 name = "nft"
-version = "2.0.0-rc3"
+version = "2.0.0-rc4"
 dependencies = [
  "futures 0.3.5",
  "jsonrpc-core",
@@ -2724,7 +2758,7 @@
 
 [[package]]
 name = "nft-runtime"
-version = "2.0.0-rc3"
+version = "2.0.0-rc4"
 dependencies = [
  "frame-executive",
  "frame-support",
@@ -2917,8 +2951,8 @@
 
 [[package]]
 name = "pallet-aura"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2936,8 +2970,8 @@
 
 [[package]]
 name = "pallet-balances"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -2950,13 +2984,12 @@
 
 [[package]]
 name = "pallet-contracts"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "frame-system",
  "pallet-contracts-primitives",
- "pallet-transaction-payment",
  "parity-scale-codec",
  "parity-wasm",
  "pwasm-utils",
@@ -2971,8 +3004,8 @@
 
 [[package]]
 name = "pallet-contracts-primitives"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
  "sp-runtime",
@@ -2981,8 +3014,8 @@
 
 [[package]]
 name = "pallet-contracts-rpc"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -3000,8 +3033,8 @@
 
 [[package]]
 name = "pallet-contracts-rpc-runtime-api"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "pallet-contracts-primitives",
  "parity-scale-codec",
@@ -3012,8 +3045,8 @@
 
 [[package]]
 name = "pallet-finality-tracker"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3028,8 +3061,8 @@
 
 [[package]]
 name = "pallet-grandpa"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3048,7 +3081,7 @@
 
 [[package]]
 name = "pallet-nft"
-version = "2.0.0-rc3"
+version = "2.0.0-rc4"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3060,8 +3093,8 @@
 
 [[package]]
 name = "pallet-randomness-collective-flip"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3073,8 +3106,8 @@
 
 [[package]]
 name = "pallet-session"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3082,6 +3115,8 @@
  "pallet-timestamp",
  "parity-scale-codec",
  "serde",
+ "sp-core",
+ "sp-io",
  "sp-runtime",
  "sp-session",
  "sp-staking",
@@ -3091,8 +3126,8 @@
 
 [[package]]
 name = "pallet-sudo"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3105,8 +3140,8 @@
 
 [[package]]
 name = "pallet-timestamp"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3122,13 +3157,14 @@
 
 [[package]]
 name = "pallet-transaction-payment"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "frame-system",
  "pallet-transaction-payment-rpc-runtime-api",
  "parity-scale-codec",
+ "serde",
  "smallvec 1.4.1",
  "sp-runtime",
  "sp-std",
@@ -3136,8 +3172,8 @@
 
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -3244,6 +3280,25 @@
 checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f"
 
 [[package]]
+name = "parity-tokio-ipc"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e57fea504fea33f9fbb5f49f378359030e7e026a6ab849bb9e8f0787376f1bf"
+dependencies = [
+ "bytes 0.4.12",
+ "futures 0.1.29",
+ "libc",
+ "log",
+ "mio-named-pipes",
+ "miow 0.3.5",
+ "rand 0.7.3",
+ "tokio 0.1.22",
+ "tokio-named-pipes",
+ "tokio-uds",
+ "winapi 0.3.9",
+]
+
+[[package]]
 name = "parity-util-mem"
 version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3566,7 +3621,7 @@
 dependencies = [
  "bytes 0.5.6",
  "heck",
- "itertools",
+ "itertools 0.8.2",
  "log",
  "multimap",
  "petgraph",
@@ -3583,7 +3638,7 @@
 checksum = "537aa19b95acde10a12fec4301466386f757403de4cd4e5b4fa78fb5ecb18f72"
 dependencies = [
  "anyhow",
- "itertools",
+ "itertools 0.8.2",
  "proc-macro2",
  "quote 1.0.7",
  "syn 1.0.34",
@@ -3952,6 +4007,27 @@
 ]
 
 [[package]]
+name = "rental"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8545debe98b2b139fb04cad8618b530e9b07c152d99a5de83c860b877d67847f"
+dependencies = [
+ "rental-impl",
+ "stable_deref_trait",
+]
+
+[[package]]
+name = "rental-impl"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "475e68978dc5b743f2f40d8e0a8fdc83f1c5e78cbf4b8fa5e74e73beebc340de"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.7",
+ "syn 1.0.34",
+]
+
+[[package]]
 name = "ring"
 version = "0.16.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4084,8 +4160,8 @@
 
 [[package]]
 name = "sc-basic-authorship"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "futures 0.3.5",
  "futures-timer 3.0.2",
@@ -4108,8 +4184,8 @@
 
 [[package]]
 name = "sc-block-builder"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
  "sc-client-api",
@@ -4124,8 +4200,8 @@
 
 [[package]]
 name = "sc-chain-spec"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "impl-trait-for-tuples",
  "sc-chain-spec-derive",
@@ -4140,8 +4216,8 @@
 
 [[package]]
 name = "sc-chain-spec-derive"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -4151,14 +4227,13 @@
 
 [[package]]
 name = "sc-cli"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "ansi_term 0.12.1",
  "atty",
  "chrono",
  "derive_more",
- "directories",
  "env_logger",
  "fdlimit",
  "futures 0.3.5",
@@ -4192,8 +4267,8 @@
 
 [[package]]
 name = "sc-client-api"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "fnv",
@@ -4228,8 +4303,8 @@
 
 [[package]]
 name = "sc-client-db"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "blake2-rfc",
  "hash-db",
@@ -4257,8 +4332,8 @@
 
 [[package]]
 name = "sc-consensus"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "sc-client-api",
  "sp-blockchain",
@@ -4268,8 +4343,8 @@
 
 [[package]]
 name = "sc-consensus-aura"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "futures 0.3.5",
@@ -4299,8 +4374,8 @@
 
 [[package]]
 name = "sc-consensus-slots"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "futures 0.3.5",
  "futures-timer 3.0.2",
@@ -4321,8 +4396,8 @@
 
 [[package]]
 name = "sc-executor"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "lazy_static",
@@ -4348,8 +4423,8 @@
 
 [[package]]
 name = "sc-executor-common"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "log",
@@ -4365,8 +4440,8 @@
 
 [[package]]
 name = "sc-executor-wasmi"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -4380,8 +4455,8 @@
 
 [[package]]
 name = "sc-finality-grandpa"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "assert_matches",
  "derive_more",
@@ -4403,6 +4478,7 @@
  "sc-telemetry",
  "serde_json",
  "sp-api",
+ "sp-application-crypto",
  "sp-arithmetic",
  "sp-blockchain",
  "sp-consensus",
@@ -4417,28 +4493,31 @@
 
 [[package]]
 name = "sc-informant"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "ansi_term 0.12.1",
  "futures 0.3.5",
  "log",
  "parity-util-mem",
+ "parking_lot 0.10.2",
  "sc-client-api",
  "sc-network",
- "sc-service",
  "sp-blockchain",
  "sp-runtime",
+ "sp-transaction-pool",
+ "sp-utils",
  "wasm-timer",
 ]
 
 [[package]]
 name = "sc-keystore"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "hex",
+ "merlin",
  "parking_lot 0.10.2",
  "rand 0.7.3",
  "serde_json",
@@ -4448,9 +4527,28 @@
 ]
 
 [[package]]
+name = "sc-light"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
+dependencies = [
+ "hash-db",
+ "lazy_static",
+ "parity-scale-codec",
+ "parking_lot 0.10.2",
+ "sc-client-api",
+ "sc-executor",
+ "sp-api",
+ "sp-blockchain",
+ "sp-core",
+ "sp-externalities",
+ "sp-runtime",
+ "sp-state-machine",
+]
+
+[[package]]
 name = "sc-network"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "bitflags",
  "bs58",
@@ -4501,8 +4599,8 @@
 
 [[package]]
 name = "sc-network-gossip"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "futures 0.3.5",
  "futures-timer 3.0.2",
@@ -4516,8 +4614,8 @@
 
 [[package]]
 name = "sc-offchain"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "bytes 0.5.6",
  "fnv",
@@ -4543,8 +4641,8 @@
 
 [[package]]
 name = "sc-peerset"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "futures 0.3.5",
  "libp2p",
@@ -4556,8 +4654,8 @@
 
 [[package]]
 name = "sc-proposer-metrics"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -4565,8 +4663,8 @@
 
 [[package]]
 name = "sc-rpc"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "futures 0.3.5",
  "hash-db",
@@ -4597,8 +4695,8 @@
 
 [[package]]
 name = "sc-rpc-api"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "futures 0.3.5",
@@ -4621,11 +4719,12 @@
 
 [[package]]
 name = "sc-rpc-server"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-http-server",
+ "jsonrpc-ipc-server",
  "jsonrpc-pubsub",
  "jsonrpc-ws-server",
  "log",
@@ -4636,10 +4735,11 @@
 
 [[package]]
 name = "sc-service"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
+ "directories",
  "exit-future",
  "futures 0.1.29",
  "futures 0.3.5",
@@ -4661,7 +4761,9 @@
  "sc-client-api",
  "sc-client-db",
  "sc-executor",
+ "sc-informant",
  "sc-keystore",
+ "sc-light",
  "sc-network",
  "sc-offchain",
  "sc-rpc",
@@ -4689,14 +4791,15 @@
  "sp-version",
  "substrate-prometheus-endpoint",
  "sysinfo",
+ "tempfile",
  "tracing",
  "wasm-timer",
 ]
 
 [[package]]
 name = "sc-state-db"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -4709,8 +4812,8 @@
 
 [[package]]
 name = "sc-telemetry"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "bytes 0.5.6",
  "futures 0.3.5",
@@ -4731,23 +4834,25 @@
 
 [[package]]
 name = "sc-tracing"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "erased-serde",
  "log",
  "parking_lot 0.10.2",
+ "rustc-hash",
  "sc-telemetry",
  "serde",
  "serde_json",
  "slog",
+ "sp-tracing",
  "tracing-core",
 ]
 
 [[package]]
 name = "sc-transaction-graph"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "futures 0.3.5",
@@ -4766,8 +4871,8 @@
 
 [[package]]
 name = "sc-transaction-pool"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "futures 0.3.5",
@@ -5098,8 +5203,8 @@
 
 [[package]]
 name = "sp-allocator"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "log",
@@ -5110,8 +5215,8 @@
 
 [[package]]
 name = "sp-api"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "hash-db",
  "parity-scale-codec",
@@ -5125,8 +5230,8 @@
 
 [[package]]
 name = "sp-api-proc-macro"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "blake2-rfc",
  "proc-macro-crate",
@@ -5137,8 +5242,8 @@
 
 [[package]]
 name = "sp-application-crypto"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -5149,8 +5254,8 @@
 
 [[package]]
 name = "sp-arithmetic"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "integer-sqrt",
  "num-traits 0.2.12",
@@ -5162,8 +5267,8 @@
 
 [[package]]
 name = "sp-block-builder"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -5174,8 +5279,8 @@
 
 [[package]]
 name = "sp-blockchain"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "log",
@@ -5190,8 +5295,8 @@
 
 [[package]]
 name = "sp-chain-spec"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "serde",
  "serde_json",
@@ -5199,8 +5304,8 @@
 
 [[package]]
 name = "sp-consensus"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "futures 0.3.5",
@@ -5218,12 +5323,13 @@
  "sp-utils",
  "sp-version",
  "substrate-prometheus-endpoint",
+ "wasm-timer",
 ]
 
 [[package]]
 name = "sp-consensus-aura"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -5236,14 +5342,14 @@
 
 [[package]]
 name = "sp-core"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "base58",
  "blake2-rfc",
  "byteorder",
  "derive_more",
- "ed25519-dalek 1.0.0-pre.3 (git+https://github.com/usetech-llc/ed25519-dalek?tag=1.0.0-pre.3)",
+ "ed25519-dalek",
  "futures 0.3.5",
  "hash-db",
  "hash256-std-hasher",
@@ -5278,8 +5384,8 @@
 
 [[package]]
 name = "sp-database"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "kvdb",
  "parking_lot 0.10.2",
@@ -5287,8 +5393,8 @@
 
 [[package]]
 name = "sp-debug-derive"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "proc-macro2",
  "quote 1.0.7",
@@ -5297,8 +5403,8 @@
 
 [[package]]
 name = "sp-externalities"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -5308,8 +5414,8 @@
 
 [[package]]
 name = "sp-finality-grandpa"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "finality-grandpa",
  "log",
@@ -5324,8 +5430,8 @@
 
 [[package]]
 name = "sp-finality-tracker"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
  "sp-inherents",
@@ -5334,8 +5440,8 @@
 
 [[package]]
 name = "sp-inherents"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "parity-scale-codec",
@@ -5346,8 +5452,8 @@
 
 [[package]]
 name = "sp-io"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "futures 0.3.5",
  "hash-db",
@@ -5360,14 +5466,15 @@
  "sp-runtime-interface",
  "sp-state-machine",
  "sp-std",
+ "sp-tracing",
  "sp-trie",
  "sp-wasm-interface",
 ]
 
 [[package]]
 name = "sp-keyring"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -5377,8 +5484,8 @@
 
 [[package]]
 name = "sp-offchain"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -5387,8 +5494,8 @@
 
 [[package]]
 name = "sp-panic-handler"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "backtrace",
  "log",
@@ -5396,8 +5503,8 @@
 
 [[package]]
 name = "sp-rpc"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "serde",
  "sp-core",
@@ -5405,9 +5512,10 @@
 
 [[package]]
 name = "sp-runtime"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
+ "either",
  "hash256-std-hasher",
  "impl-trait-for-tuples",
  "log",
@@ -5426,8 +5534,8 @@
 
 [[package]]
 name = "sp-runtime-interface"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
  "primitive-types",
@@ -5441,8 +5549,8 @@
 
 [[package]]
 name = "sp-runtime-interface-proc-macro"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "Inflector",
  "proc-macro-crate",
@@ -5453,8 +5561,8 @@
 
 [[package]]
 name = "sp-sandbox"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
  "sp-core",
@@ -5466,8 +5574,8 @@
 
 [[package]]
 name = "sp-serializer"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "serde",
  "serde_json",
@@ -5475,8 +5583,8 @@
 
 [[package]]
 name = "sp-session"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -5488,8 +5596,8 @@
 
 [[package]]
 name = "sp-staking"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "parity-scale-codec",
  "sp-runtime",
@@ -5498,15 +5606,17 @@
 
 [[package]]
 name = "sp-state-machine"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "hash-db",
+ "itertools 0.9.0",
  "log",
  "num-traits 0.2.12",
  "parity-scale-codec",
  "parking_lot 0.10.2",
  "rand 0.7.3",
+ "smallvec 1.4.1",
  "sp-core",
  "sp-externalities",
  "sp-panic-handler",
@@ -5517,13 +5627,13 @@
 
 [[package]]
 name = "sp-std"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 
 [[package]]
 name = "sp-storage"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "impl-serde 0.2.3",
  "ref-cast",
@@ -5534,8 +5644,8 @@
 
 [[package]]
 name = "sp-timestamp"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -5548,16 +5658,18 @@
 
 [[package]]
 name = "sp-tracing"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
+ "log",
+ "rental",
  "tracing",
 ]
 
 [[package]]
 name = "sp-transaction-pool"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "derive_more",
  "futures 0.3.5",
@@ -5572,8 +5684,8 @@
 
 [[package]]
 name = "sp-trie"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "hash-db",
  "memory-db",
@@ -5586,19 +5698,20 @@
 
 [[package]]
 name = "sp-utils"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "futures 0.3.5",
  "futures-core",
+ "futures-timer 3.0.2",
  "lazy_static",
  "prometheus",
 ]
 
 [[package]]
 name = "sp-version"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "impl-serde 0.2.3",
  "parity-scale-codec",
@@ -5609,8 +5722,8 @@
 
 [[package]]
 name = "sp-wasm-interface"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -5728,16 +5841,16 @@
 
 [[package]]
 name = "substrate-build-script-utils"
-version = "2.0.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "2.0.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "platforms",
 ]
 
 [[package]]
 name = "substrate-prometheus-endpoint"
-version = "0.8.0-rc3"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+version = "0.8.0-rc4"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 dependencies = [
  "async-std",
  "derive_more",
@@ -5751,7 +5864,7 @@
 [[package]]
 name = "substrate-wasm-builder-runner"
 version = "1.0.6"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=nft_rc3#4945a9806adc58b5e8eef01697f5e77de43117f0"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=rc4_ext_dispatch_reenabled#b161460bf73e4cc73e29b8e01ab0323bb3d95e84"
 
 [[package]]
 name = "subtle"
@@ -6073,6 +6186,19 @@
 ]
 
 [[package]]
+name = "tokio-named-pipes"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d282d483052288b2308ba5ee795f5673b159c9bdf63c385a05609da782a5eae"
+dependencies = [
+ "bytes 0.4.12",
+ "futures 0.1.29",
+ "mio",
+ "mio-named-pipes",
+ "tokio 0.1.22",
+]
+
+[[package]]
 name = "tokio-reactor"
 version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6104,6 +6230,15 @@
 ]
 
 [[package]]
+name = "tokio-service"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162"
+dependencies = [
+ "futures 0.1.29",
+]
+
+[[package]]
 name = "tokio-sync"
 version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6263,9 +6398,9 @@
 
 [[package]]
 name = "trie-db"
-version = "0.20.1"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcc309f34008563989045a4c4dbcc5770467f3a3785ee80a9b5cc0d83362475f"
+checksum = "cb230c24c741993b04cfccbabb45acff6f6480c5f00d3ed8794ea43db3a9d727"
 dependencies = [
  "hash-db",
  "hashbrown 0.6.3",
modifiednode/Cargo.tomldiffbeforeafterboth
--- a/node/Cargo.toml
+++ b/node/Cargo.toml
@@ -1,7 +1,7 @@
 [build-dependencies.substrate-build-script-utils]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [[bin]]
 name = 'nft'
@@ -15,7 +15,7 @@
 license = 'Unlicense'
 name = 'nft'
 repository = 'https://github.com/substrate-developer-hub/nft/'
-version = '2.0.0-rc3'
+version = '2.0.0-rc4'
 
 [package.metadata.docs.rs]
 targets = ['x86_64-unknown-linux-gnu']
@@ -29,98 +29,98 @@
 
 [dependencies.nft-runtime]
 path = '../runtime'
-version = '2.0.0-rc3'
+version = '2.0.0-rc4'
 
 [dependencies.sc-basic-authorship]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '0.8.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '0.8.0-rc4'
 
 [dependencies.sc-cli]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '0.8.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '0.8.0-rc4'
 
 [dependencies.sc-client-api]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sc-consensus]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '0.8.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '0.8.0-rc4'
 
 [dependencies.pallet-contracts-rpc]
 git = 'https://github.com/usetech-llc/substrate.git'
-version = '0.8.0-rc3'
-branch = 'nft_rc3'
+version = '0.8.0-rc4'
+branch = 'rc4_ext_dispatch_reenabled'
 
 [dependencies.sc-rpc]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
+branch = 'rc4_ext_dispatch_reenabled'
 
 [dependencies.sc-consensus-aura]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '0.8.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '0.8.0-rc4'
 
 [dependencies.sc-executor]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '0.8.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '0.8.0-rc4'
 
 [dependencies.sc-finality-grandpa]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '0.8.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '0.8.0-rc4'
 
 [dependencies.sc-network]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '0.8.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '0.8.0-rc4'
 
 [dependencies.sc-service]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '0.8.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '0.8.0-rc4'
 
 [dependencies.sc-transaction-pool]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-consensus]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '0.8.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '0.8.0-rc4'
 
 [dependencies.sp-consensus-aura]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '0.8.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '0.8.0-rc4'
 
 [dependencies.sp-core]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-finality-grandpa]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-inherents]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-runtime]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-transaction-pool]
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
modifiednode/src/service.rsdiffbeforeafterboth
before · node/src/service.rs
1//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.23use nft_runtime::{self, opaque::Block, RuntimeApi};4use sc_client_api::ExecutorProvider;5use sc_consensus::LongestChain;6use sc_executor::native_executor_instance;7pub use sc_executor::NativeExecutor;8use sc_finality_grandpa::{9    FinalityProofProvider as GrandpaFinalityProofProvider, SharedVoterState,10    StorageAndProofProvider,11};12use sc_service::{error::Error as ServiceError, AbstractService, Configuration, ServiceBuilder};13use sp_consensus_aura::sr25519::AuthorityPair as AuraPair;14use sp_inherents::InherentDataProviders;15use std::sync::Arc;16use std::time::Duration;1718// Our native executor instance.19native_executor_instance!(20    pub Executor,21    nft_runtime::api::dispatch,22    nft_runtime::native_version,23);2425/// Starts a `ServiceBuilder` for a full service.26///27/// Use this macro if you don't actually need the full service, but just the builder in order to28/// be able to perform chain operations.29macro_rules! new_full_start {30    ($config:expr) => {{31        use jsonrpc_core::IoHandler;32        use sp_consensus_aura::sr25519::AuthorityPair as AuraPair;33        use std::sync::Arc;3435        let mut import_setup = None;36        let inherent_data_providers = sp_inherents::InherentDataProviders::new();3738        let builder = sc_service::ServiceBuilder::new_full::<39            nft_runtime::opaque::Block,40            nft_runtime::RuntimeApi,41            crate::service::Executor,42        >($config)?43        .with_select_chain(|_config, backend| Ok(sc_consensus::LongestChain::new(backend.clone())))?44        .with_transaction_pool(|builder| {45            let pool_api = sc_transaction_pool::FullChainApi::new(builder.client().clone());46            Ok(sc_transaction_pool::BasicPool::new(47                builder.config().transaction_pool.clone(),48                std::sync::Arc::new(pool_api),49                builder.prometheus_registry(),50            ))51        })?52        .with_import_queue(53            |_config, client, mut select_chain, _transaction_pool, spawn_task_handle, registry| {54                let select_chain = select_chain55                    .take()56                    .ok_or_else(|| sc_service::Error::SelectChainRequired)?;5758                let (grandpa_block_import, grandpa_link) = sc_finality_grandpa::block_import(59                    client.clone(),60                    &(client.clone() as Arc<_>),61                    select_chain,62                )?;6364                let aura_block_import =65                    sc_consensus_aura::AuraBlockImport::<_, _, _, AuraPair>::new(66                        grandpa_block_import.clone(),67                        client.clone(),68                    );6970                let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _>(71                    sc_consensus_aura::slot_duration(&*client)?,72                    aura_block_import,73                    Some(Box::new(grandpa_block_import.clone())),74                    None,75                    client,76                    inherent_data_providers.clone(),77                    spawn_task_handle,78                    registry,79                )?;8081                import_setup = Some((grandpa_block_import, grandpa_link));8283                Ok(import_queue)84            },85        )?86        .with_rpc_extensions(|builder| -> Result<IoHandler<sc_rpc::Metadata>, _> {87            let handler = pallet_contracts_rpc::Contracts::new(builder.client().clone());88            let delegate = pallet_contracts_rpc::ContractsApi::to_delegate(handler);8990            let mut io = IoHandler::default();91            io.extend_with(delegate);92            Ok(io)93        })?;9495        (builder, import_setup, inherent_data_providers)96    }};97}9899/// Builds a new service for a full client.100pub fn new_full(config: Configuration) -> Result<impl AbstractService, ServiceError> {101    let role = config.role.clone();102    let force_authoring = config.force_authoring;103    let name = config.network.node_name.clone();104    let disable_grandpa = config.disable_grandpa;105106    let (builder, mut import_setup, inherent_data_providers) = new_full_start!(config);107108    let (block_import, grandpa_link) = import_setup.take().expect(109        "Link Half and Block Import are present for Full Services or setup failed before. qed",110    );111112    let service = builder113        .with_finality_proof_provider(|client, backend| {114            // GenesisAuthoritySetProvider is implemented for StorageAndProofProvider115            let provider = client as Arc<dyn StorageAndProofProvider<_, _>>;116            Ok(Arc::new(GrandpaFinalityProofProvider::new(backend, provider)) as _)117        })?118        .build()?;119120    if role.is_authority() {121        let proposer = sc_basic_authorship::ProposerFactory::new(122            service.client(),123            service.transaction_pool(),124            service.prometheus_registry().as_ref(),125        );126127        let client = service.client();128        let select_chain = service129            .select_chain()130            .ok_or(ServiceError::SelectChainRequired)?;131132        let can_author_with =133            sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone());134135        let aura = sc_consensus_aura::start_aura::<_, _, _, _, _, AuraPair, _, _, _>(136            sc_consensus_aura::slot_duration(&*client)?,137            client,138            select_chain,139            block_import,140            proposer,141            service.network(),142            inherent_data_providers.clone(),143            force_authoring,144            service.keystore(),145            can_author_with,146        )?;147148        // the AURA authoring task is considered essential, i.e. if it149        // fails we take down the service with it.150        service.spawn_essential_task("aura", aura);151    }152153    // if the node isn't actively participating in consensus then it doesn't154    // need a keystore, regardless of which protocol we use below.155    let keystore = if role.is_authority() {156        Some(service.keystore())157    } else {158        None159    };160161    let grandpa_config = sc_finality_grandpa::Config {162        // FIXME #1578 make this available through chainspec163        gossip_duration: Duration::from_millis(333),164        justification_period: 512,165        name: Some(name),166        observer_enabled: false,167        keystore,168        is_authority: role.is_network_authority(),169    };170171    let enable_grandpa = !disable_grandpa;172    if enable_grandpa {173        // start the full GRANDPA voter174        // NOTE: non-authorities could run the GRANDPA observer protocol, but at175        // this point the full voter should provide better guarantees of block176        // and vote data availability than the observer. The observer has not177        // been tested extensively yet and having most nodes in a network run it178        // could lead to finality stalls.179        let grandpa_config = sc_finality_grandpa::GrandpaParams {180            config: grandpa_config,181            link: grandpa_link,182            network: service.network(),183            inherent_data_providers: inherent_data_providers.clone(),184            telemetry_on_connect: Some(service.telemetry_on_connect_stream()),185            voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(),186            prometheus_registry: service.prometheus_registry(),187            shared_voter_state: SharedVoterState::empty(),188        };189190        // the GRANDPA voter task is considered infallible, i.e.191        // if it fails we take down the service with it.192        service.spawn_essential_task(193            "grandpa-voter",194            sc_finality_grandpa::run_grandpa_voter(grandpa_config)?,195        );196    } else {197        sc_finality_grandpa::setup_disabled_grandpa(198            service.client(),199            &inherent_data_providers,200            service.network(),201        )?;202    }203204    Ok(service)205}206207/// Builds a new service for a light client.208pub fn new_light(config: Configuration) -> Result<impl AbstractService, ServiceError> {209    let inherent_data_providers = InherentDataProviders::new();210211    ServiceBuilder::new_light::<Block, RuntimeApi, Executor>(config)?212        .with_select_chain(|_config, backend| Ok(LongestChain::new(backend.clone())))?213        .with_transaction_pool(|builder| {214            let fetcher = builder215                .fetcher()216                .ok_or_else(|| "Trying to start light transaction pool without active fetcher")?;217218            let pool_api =219                sc_transaction_pool::LightChainApi::new(builder.client().clone(), fetcher.clone());220            let pool = sc_transaction_pool::BasicPool::with_revalidation_type(221                builder.config().transaction_pool.clone(),222                Arc::new(pool_api),223                builder.prometheus_registry(),224                sc_transaction_pool::RevalidationType::Light,225            );226            Ok(pool)227        })?228        .with_import_queue_and_fprb(229            |_config,230             client,231             backend,232             fetcher,233             _select_chain,234             _tx_pool,235             spawn_task_handle,236             prometheus_registry| {237                let fetch_checker = fetcher238                    .map(|fetcher| fetcher.checker().clone())239                    .ok_or_else(|| {240                        "Trying to start light import queue without active fetch checker"241                    })?;242                let grandpa_block_import = sc_finality_grandpa::light_block_import(243                    client.clone(),244                    backend,245                    &(client.clone() as Arc<_>),246                    Arc::new(fetch_checker),247                )?;248                let finality_proof_import = grandpa_block_import.clone();249                let finality_proof_request_builder =250                    finality_proof_import.create_finality_proof_request_builder();251252                let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _>(253                    sc_consensus_aura::slot_duration(&*client)?,254                    grandpa_block_import,255                    None,256                    Some(Box::new(finality_proof_import)),257                    client,258                    inherent_data_providers.clone(),259                    spawn_task_handle,260                    prometheus_registry,261                )?;262263                Ok((import_queue, finality_proof_request_builder))264            },265        )?266        .with_finality_proof_provider(|client, backend| {267            // GenesisAuthoritySetProvider is implemented for StorageAndProofProvider268            let provider = client as Arc<dyn StorageAndProofProvider<_, _>>;269            Ok(Arc::new(GrandpaFinalityProofProvider::new(backend, provider)) as _)270        })?271        .build()272}
modifiedpallets/nft/Cargo.tomldiffbeforeafterboth
--- a/pallets/nft/Cargo.toml
+++ b/pallets/nft/Cargo.toml
@@ -7,31 +7,31 @@
 [dependencies.frame-support]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.frame-system]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 [dev-dependencies.sp-core]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dev-dependencies.sp-io]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-runtime]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [package]
 authors = ['Substrate DevHub <https://github.com/substrate-developer-hub>']
@@ -41,7 +41,7 @@
 license = 'Unlicense'
 name = 'pallet-nft'
 repository = 'https://github.com/substrate-developer-hub/nft/'
-version = '2.0.0-rc3'
+version = '2.0.0-rc4'
 [package.metadata.docs.rs]
 targets = ['x86_64-unknown-linux-gnu']
 
modifiedruntime/Cargo.tomldiffbeforeafterboth
--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -2,15 +2,15 @@
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
 package = 'pallet-aura'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.balances]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
 package = 'pallet-balances'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.codec]
 default-features = false
@@ -22,48 +22,48 @@
 git = 'https://github.com/usetech-llc/substrate.git'
 default-features = false
 package = 'pallet-contracts'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.contracts-primitives]
 git = 'https://github.com/usetech-llc/substrate.git'
 default-features = false
 package = 'pallet-contracts-primitives'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.contracts-rpc-runtime-api]
 git = 'https://github.com/usetech-llc/substrate.git'
 default-features = false
 package = 'pallet-contracts-rpc-runtime-api'
-version = '0.8.0-rc3'
-branch = 'nft_rc3'
+version = '0.8.0-rc4'
+branch = 'rc4_ext_dispatch_reenabled'
 
 [dependencies.frame-executive]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.frame-support]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.grandpa]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
 package = 'pallet-grandpa'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.randomness-collective-flip]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
 package = 'pallet-randomness-collective-flip'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.serde]
 features = ['derive']
@@ -73,112 +73,112 @@
 [dependencies.sp-api]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-block-builder]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-consensus-aura]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '0.8.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '0.8.0-rc4'
 
 [dependencies.sp-core]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-inherents]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-io]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-offchain]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-runtime]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-session]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-std]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-transaction-pool]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sp-version]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.sudo]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
 package = 'pallet-sudo'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.system]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
 package = 'frame-system'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.nft]
 default-features = false
 package = 'pallet-nft'
 path = '../pallets/nft'
-version = '2.0.0-rc3'
+version = '2.0.0-rc4'
 
 [dependencies.timestamp]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
 package = 'pallet-timestamp'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 
 [dependencies.transaction-payment]
 default-features = false
 git = 'https://github.com/usetech-llc/substrate.git'
 package = 'pallet-transaction-payment'
-branch = 'nft_rc3'
-version = '2.0.0-rc3'
+branch = 'rc4_ext_dispatch_reenabled'
+version = '2.0.0-rc4'
 [build-dependencies.wasm-builder-runner]
 git = 'https://github.com/usetech-llc/substrate.git'
 package = 'substrate-wasm-builder-runner'
-branch = 'nft_rc3'
+branch = 'rc4_ext_dispatch_reenabled'
 version = '1.0.5'
 
 [package]
@@ -188,7 +188,7 @@
 license = 'Unlicense'
 name = 'nft-runtime'
 repository = 'https://github.com/usetech-llc/nft_parachain/'
-version = '2.0.0-rc3'
+version = '2.0.0-rc4'
 [package.metadata.docs.rs]
 targets = ['x86_64-unknown-linux-gnu']
 
modifiedruntime/src/lib.rsdiffbeforeafterboth
--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -139,6 +139,8 @@
 }
 
 impl system::Trait for Runtime {
+    /// The basic call filter to use in dispatchable.
+    type BaseCallFilter = ();
     /// The identifier used to distinguish between accounts.
     type AccountId = AccountId;
     /// The aggregated dispatch type that is available for extrinsics.
@@ -251,9 +253,10 @@
 }
 
 impl contracts::Trait for Runtime {
+    type Call = Call;
     type Time = Timestamp;
     type Randomness = RandomnessCollectiveFlip;
-    type Call = Call;
+    type Currency = Balances;
     type Event = Event;
     type DetermineContractAddress = contracts::SimpleAddressDeterminer<Runtime>;
     type TrieIdGenerator = contracts::TrieIdFromParentCounter<Runtime>;
@@ -266,6 +269,7 @@
     type SurchargeReward = SurchargeReward;
     type MaxDepth = contracts::DefaultMaxDepth;
     type MaxValueSize = contracts::DefaultMaxValueSize;
+    type WeightPrice = transaction_payment::Module<Self>;
 }
 
 parameter_types! {
modifiedsmart_contract/ink-types-node-runtime/calls/lib.rsdiffbeforeafterboth
--- a/smart_contract/ink-types-node-runtime/calls/lib.rs
+++ b/smart_contract/ink-types-node-runtime/calls/lib.rs
@@ -106,6 +106,11 @@
         }
 
         #[ink(message)]
+        fn get_test(&self) -> bool {
+            true
+        }
+
+        #[ink(message)]
         fn transfer_from(&self, collection_id: u64, item_id: u64, new_owner: AccountId) {
             env::println(&format!(
                 "transfer_from invoke_runtime params {:?}, {:?}, {:?} ",