git.delta.rocks / unique-network / refs/commits / c28aba96efbe

difftreelog

fix implement RPC

Yaroslav Bolyukin2021-06-22parent: #4dbeda6.patch.diff
in: master

29 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -23,9 +23,9 @@
 
 [[package]]
 name = "addr2line"
-version = "0.15.1"
+version = "0.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03345e98af8f3d786b6d9f656ccfa6ac316d954e92bc4841f0bba20789d5fb5a"
+checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a"
 dependencies = [
  "gimli 0.24.0",
 ]
@@ -106,26 +106,12 @@
 ]
 
 [[package]]
-name = "alga"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2"
-dependencies = [
- "approx 0.3.2",
- "num-complex 0.2.4",
- "num-traits",
-]
-
-[[package]]
-<<<<<<< HEAD
-=======
 name = "always-assert"
 version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fbf688625d06217d5b1bb0ea9d9c44a1635fd0ee3534466388d18203174f4d11"
 
 [[package]]
->>>>>>> origin/develop
 name = "ansi_term"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -145,24 +131,24 @@
 
 [[package]]
 name = "anyhow"
-version = "1.0.40"
+version = "1.0.41"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
+checksum = "15af2628f6890fe2609a3b91bef4c83450512802e59489f9c1cb1fa5df064a61"
 
 [[package]]
 name = "approx"
-version = "0.3.2"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3"
+checksum = "3f2a05fd1bd10b2527e20a2cd32d8873d115b8b39fe219ee25f42a8aca6ba278"
 dependencies = [
  "num-traits",
 ]
 
 [[package]]
 name = "approx"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f2a05fd1bd10b2527e20a2cd32d8873d115b8b39fe219ee25f42a8aca6ba278"
+checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e"
 dependencies = [
  "num-traits",
 ]
@@ -190,9 +176,9 @@
 
 [[package]]
 name = "arrayvec"
-version = "0.7.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a2f58b0bb10c380af2b26e57212856b8c9a59e0925b4c20f4a174a49734eaf7"
+checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd"
 
 [[package]]
 name = "asn1_der"
@@ -324,11 +310,7 @@
  "async-io",
  "async-lock",
  "async-process",
-<<<<<<< HEAD
- "crossbeam-utils 0.8.4",
-=======
- "crossbeam-utils 0.8.3",
->>>>>>> origin/develop
+ "crossbeam-utils 0.8.5",
  "futures-channel",
  "futures-core",
  "futures-io",
@@ -347,9 +329,9 @@
 
 [[package]]
 name = "async-std-resolver"
-version = "0.20.1"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665c56111e244fe38e7708ee10948a4356ad6a548997c21f5a63a0f4e0edc4d"
+checksum = "ed4e2c3da14d8ad45acb1e3191db7a918e9505b6f155b218e70a7c9a1a48c638"
 dependencies = [
  "async-std",
  "async-trait",
@@ -367,15 +349,9 @@
 
 [[package]]
 name = "async-trait"
-<<<<<<< HEAD
 version = "0.1.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722"
-=======
-version = "0.1.49"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "589652ce7ccb335d1e7ecb3be145425702b290dbcb7029bbeaae263fc1d87b48"
->>>>>>> origin/develop
 dependencies = [
  "proc-macro2",
  "quote",
@@ -442,20 +418,16 @@
 
 [[package]]
 name = "backtrace"
-version = "0.3.59"
+version = "0.3.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4717cfcbfaa661a0fd48f8453951837ae7e8f81e481fbb136e3202d72805a744"
+checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282"
 dependencies = [
- "addr2line 0.15.1",
+ "addr2line 0.15.2",
  "cc",
  "cfg-if 1.0.0",
  "libc",
  "miniz_oxide",
-<<<<<<< HEAD
- "object 0.24.0",
-=======
- "object",
->>>>>>> origin/develop
+ "object 0.25.3",
  "rustc-demangle",
 ]
 
@@ -495,10 +467,10 @@
 source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.3#063e18a1f82945d5a304906db92bfbb571bac459"
 dependencies = [
  "beefy-primitives",
- "futures 0.3.14",
+ "futures 0.3.15",
  "hex",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "sc-client-api",
  "sc-keystore",
@@ -524,13 +496,13 @@
 dependencies = [
  "beefy-gadget",
  "beefy-primitives",
- "futures 0.3.14",
- "jsonrpc-core",
- "jsonrpc-core-client",
- "jsonrpc-derive",
- "jsonrpc-pubsub",
+ "futures 0.3.15",
+ "jsonrpc-core 15.1.0",
+ "jsonrpc-core-client 15.1.0",
+ "jsonrpc-derive 15.1.0",
+ "jsonrpc-pubsub 15.1.0",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sc-rpc",
  "serde",
  "serde_json",
@@ -543,7 +515,7 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.3#063e18a1f82945d5a304906db92bfbb571bac459"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-application-crypto",
  "sp-core",
@@ -569,11 +541,6 @@
  "bitflags",
  "cexpr",
  "clang-sys",
-<<<<<<< HEAD
-=======
- "clap",
- "env_logger 0.7.1",
->>>>>>> origin/develop
  "lazy_static",
  "lazycell",
  "peeking_take_while",
@@ -592,7 +559,6 @@
 
 [[package]]
 name = "bitvec"
-<<<<<<< HEAD
 version = "0.17.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"
@@ -606,11 +572,6 @@
 version = "0.20.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848"
-=======
-version = "0.20.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f682656975d3a682daff957be4ddeb65d6ad656737cd821f2d00685ae466af1"
->>>>>>> origin/develop
 dependencies = [
  "funty",
  "radium 0.6.2",
@@ -663,9 +624,9 @@
 
 [[package]]
 name = "blake3"
-version = "0.3.7"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9ff35b701f3914bdb8fad3368d822c766ef2858b2583198e41639b936f09d3f"
+checksum = "b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3"
 dependencies = [
  "arrayref",
  "arrayvec 0.5.2",
@@ -743,7 +704,7 @@
 dependencies = [
  "finality-grandpa",
  "frame-support",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-core",
  "sp-finality-grandpa",
@@ -759,7 +720,7 @@
  "bp-runtime",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-std",
 ]
 
@@ -772,7 +733,7 @@
  "bp-runtime",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-core",
  "sp-runtime",
@@ -789,7 +750,7 @@
  "bp-messages",
  "bp-polkadot-core",
  "bp-runtime",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-runtime",
  "sp-std",
@@ -804,7 +765,7 @@
  "frame-support",
  "hash-db",
  "num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-runtime",
@@ -821,7 +782,7 @@
  "bp-header-chain",
  "ed25519-dalek",
  "finality-grandpa",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-application-crypto",
  "sp-finality-grandpa",
  "sp-runtime",
@@ -837,7 +798,7 @@
  "bp-messages",
  "bp-polkadot-core",
  "bp-runtime",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-runtime",
  "sp-std",
@@ -870,20 +831,15 @@
 
 [[package]]
 name = "bumpalo"
-version = "3.6.1"
-<<<<<<< HEAD
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"
+checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631"
 
 [[package]]
 name = "byte-slice-cast"
 version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3"
-=======
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"
->>>>>>> origin/develop
 
 [[package]]
 name = "byte-slice-cast"
@@ -956,9 +912,9 @@
 
 [[package]]
 name = "cc"
-version = "1.0.67"
+version = "1.0.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
+checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787"
 dependencies = [
  "jobserver",
 ]
@@ -1240,7 +1196,7 @@
  "cranelift-codegen",
  "cranelift-entity",
  "cranelift-frontend",
- "itertools 0.10.0",
+ "itertools 0.10.1",
  "log",
  "serde",
  "smallvec 1.6.1",
@@ -1264,11 +1220,7 @@
 checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"
 dependencies = [
  "cfg-if 1.0.0",
-<<<<<<< HEAD
- "crossbeam-utils 0.8.4",
-=======
- "crossbeam-utils 0.8.3",
->>>>>>> origin/develop
+ "crossbeam-utils 0.8.5",
 ]
 
 [[package]]
@@ -1289,13 +1241,8 @@
 checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
 dependencies = [
  "cfg-if 1.0.0",
-<<<<<<< HEAD
- "crossbeam-epoch 0.9.4",
- "crossbeam-utils 0.8.4",
-=======
- "crossbeam-epoch 0.9.3",
- "crossbeam-utils 0.8.3",
->>>>>>> origin/develop
+ "crossbeam-epoch 0.9.5",
+ "crossbeam-utils 0.8.5",
 ]
 
 [[package]]
@@ -1315,23 +1262,14 @@
 
 [[package]]
 name = "crossbeam-epoch"
-<<<<<<< HEAD
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52fb27eab85b17fbb9f6fd667089e07d6a2eb8743d02639ee7f6a7a7729c9c94"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-utils 0.8.4",
-=======
-version = "0.9.3"
+version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2584f639eb95fea8c798496315b297cf81b9b58b6d30ab066a75455333cf4b12"
+checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd"
 dependencies = [
  "cfg-if 1.0.0",
- "crossbeam-utils 0.8.3",
->>>>>>> origin/develop
+ "crossbeam-utils 0.8.5",
  "lazy_static",
- "memoffset 0.6.3",
+ "memoffset 0.6.4",
  "scopeguard",
 ]
 
@@ -1359,17 +1297,10 @@
 
 [[package]]
 name = "crossbeam-utils"
-<<<<<<< HEAD
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4feb231f0d4d6af81aed15928e58ecf5816aa62a2393e2c82f46973e92a9a278"
-=======
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49"
->>>>>>> origin/develop
+checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
 dependencies = [
- "autocfg",
  "cfg-if 1.0.0",
  "lazy_static",
 ]
@@ -1441,22 +1372,15 @@
 ]
 
 [[package]]
-<<<<<<< HEAD
-name = "curve25519-dalek"
-version = "3.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3"
-=======
 name = "cumulus-client-collator"
 version = "0.1.0"
 source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"
->>>>>>> origin/develop
 dependencies = [
  "cumulus-client-consensus-common",
  "cumulus-client-network",
  "cumulus-primitives-core",
- "futures 0.3.14",
- "parity-scale-codec",
+ "futures 0.3.15",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.10.2",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -1479,8 +1403,8 @@
  "async-trait",
  "cumulus-client-consensus-common",
  "cumulus-primitives-core",
- "futures 0.3.14",
- "parity-scale-codec",
+ "futures 0.3.15",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.10.2",
  "polkadot-service",
  "sc-client-api",
@@ -1508,8 +1432,8 @@
 dependencies = [
  "async-trait",
  "dyn-clone",
- "futures 0.3.14",
- "parity-scale-codec",
+ "futures 0.3.15",
+ "parity-scale-codec 2.1.3",
  "polkadot-primitives",
  "polkadot-runtime",
  "sc-client-api",
@@ -1531,9 +1455,9 @@
 source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"
 dependencies = [
  "derive_more",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.10.2",
  "polkadot-node-primitives",
  "polkadot-parachain",
@@ -1555,9 +1479,9 @@
 source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"
 dependencies = [
  "cumulus-primitives-core",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-overseer",
@@ -1565,7 +1489,7 @@
  "polkadot-primitives",
  "polkadot-service",
  "polkadot-statement-table",
- "rand 0.8.3",
+ "rand 0.8.4",
  "sc-client-api",
  "sp-api",
  "sp-consensus",
@@ -1584,7 +1508,7 @@
  "cumulus-client-consensus-common",
  "cumulus-client-pov-recovery",
  "cumulus-primitives-core",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.10.2",
  "polkadot-overseer",
  "polkadot-primitives",
@@ -1612,7 +1536,7 @@
  "frame-support",
  "frame-system",
  "pallet-aura",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-application-crypto",
  "sp-consensus-aura",
@@ -1629,9 +1553,9 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
- "rand 0.8.3",
- "rand_chacha 0.3.0",
+ "parity-scale-codec 2.1.3",
+ "rand 0.8.4",
+ "rand_chacha 0.3.1",
  "sp-io",
  "sp-runtime",
  "sp-std",
@@ -1653,7 +1577,7 @@
  "log",
  "memory-db",
  "pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-parachain",
  "serde",
  "sp-core",
@@ -1677,7 +1601,7 @@
  "cumulus-primitives-core",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-io",
  "sp-runtime",
@@ -1694,9 +1618,9 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
- "rand 0.8.3",
- "rand_chacha 0.3.0",
+ "parity-scale-codec 2.1.3",
+ "rand 0.8.4",
+ "rand_chacha 0.3.1",
  "sp-runtime",
  "sp-std",
  "xcm",
@@ -1709,8 +1633,8 @@
 source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"
 dependencies = [
  "frame-support",
- "impl-trait-for-tuples",
- "parity-scale-codec",
+ "impl-trait-for-tuples 0.2.1",
+ "parity-scale-codec 2.1.3",
  "polkadot-core-primitives",
  "polkadot-parachain",
  "polkadot-primitives",
@@ -1728,7 +1652,7 @@
 dependencies = [
  "async-trait",
  "cumulus-primitives-core",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-service",
  "sc-client-api",
  "sp-api",
@@ -1748,8 +1672,8 @@
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
- "impl-trait-for-tuples",
- "parity-scale-codec",
+ "impl-trait-for-tuples 0.2.1",
+ "parity-scale-codec 2.1.3",
  "polkadot-core-primitives",
  "polkadot-parachain",
  "polkadot-primitives",
@@ -1828,9 +1752,9 @@
 
 [[package]]
 name = "data-encoding-macro"
-version = "0.1.10"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a94feec3d2ba66c0b6621bca8bc6f68415b1e5c69af3586fdd0af9fd9f29b17"
+checksum = "86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca"
 dependencies = [
  "data-encoding",
  "data-encoding-macro-internal",
@@ -1838,9 +1762,9 @@
 
 [[package]]
 name = "data-encoding-macro-internal"
-version = "0.1.9"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0f83e699727abca3c56e187945f303389590305ab2f0185ea445aa66e8d5f2a"
+checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db"
 dependencies = [
  "data-encoding",
  "syn",
@@ -1859,15 +1783,9 @@
 
 [[package]]
 name = "derive_more"
-<<<<<<< HEAD
 version = "0.99.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5cc7b9cef1e351660e5443924e4f43ab25fbbed3e9a5f052df3677deb4d6b320"
-=======
-version = "0.99.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f82b1b72f1263f214c0f823371768776c4f5841b942c9883aa8e5ec584fd0ba6"
->>>>>>> origin/develop
 dependencies = [
  "convert_case",
  "proc-macro2",
@@ -2058,9 +1976,9 @@
 
 [[package]]
 name = "env_logger"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17392a012ea30ef05a610aa97dfb49496e71c9f676b27879922ea5bdf60d9d3f"
+checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
 dependencies = [
  "atty",
  "humantime 2.1.0",
@@ -2077,9 +1995,9 @@
 
 [[package]]
 name = "erased-serde"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0465971a8cc1fa2455c8465aaa377131e1f1cf4983280f474a13e68793aa770c"
+checksum = "e5b36e6f2295f393f44894c6031f67df4d185b984cd54d08f768ce678007efcd"
 dependencies = [
  "serde",
 ]
@@ -2107,7 +2025,6 @@
 
 [[package]]
 name = "ethbloom"
-<<<<<<< HEAD
 version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "71a6567e6fd35589fea0c63b94b4cf2e55573e413901bdbe60ab15cf0e25e5df"
@@ -2121,27 +2038,19 @@
 
 [[package]]
 name = "ethbloom"
-=======
->>>>>>> origin/develop
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "779864b9c7f7ead1f092972c3257496c6a84b46dba2ce131dd8a282cb2cc5972"
 dependencies = [
  "crunchy",
-<<<<<<< HEAD
  "fixed-hash 0.7.0",
  "impl-codec 0.5.0",
  "impl-rlp 0.3.0",
-=======
- "fixed-hash",
- "impl-rlp",
->>>>>>> origin/develop
  "impl-serde",
  "tiny-keccak",
 ]
 
 [[package]]
-<<<<<<< HEAD
 name = "ethereum"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2151,7 +2060,7 @@
  "funty",
  "hash-db",
  "hash256-std-hasher",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "rlp 0.5.0",
  "rlp-derive",
  "serde",
@@ -2190,14 +2099,11 @@
 ]
 
 [[package]]
-=======
->>>>>>> origin/develop
 name = "ethereum-types"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f64b5df66a228d85e4b17e5d6c6aa43b0310898ffe8a85988c4c032357aaabfd"
 dependencies = [
-<<<<<<< HEAD
  "ethbloom 0.11.0",
  "fixed-hash 0.7.0",
  "impl-codec 0.5.0",
@@ -2205,14 +2111,6 @@
  "impl-serde",
  "primitive-types 0.9.0",
  "uint 0.9.0",
-=======
- "ethbloom",
- "fixed-hash",
- "impl-rlp",
- "impl-serde",
- "primitive-types",
- "uint",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -2224,7 +2122,7 @@
 [[package]]
 name = "evm"
 version = "0.27.0"
-source = "git+https://github.com/usetech-llc/evm.git?branch=precompile-output#081b56a17b8e587655bf45cacc1c823265530b50"
+source = "git+https://github.com/usetech-llc/evm.git?branch=precompile-output-parachain#e13990a627375f327ca7da3c85d9bdfa0a9e903b"
 dependencies = [
  "environmental",
  "ethereum",
@@ -2232,7 +2130,7 @@
  "evm-gasometer",
  "evm-runtime",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "primitive-types 0.9.0",
  "rlp 0.5.0",
  "serde",
@@ -2266,10 +2164,10 @@
 [[package]]
 name = "evm-core"
 version = "0.27.1"
-source = "git+https://github.com/usetech-llc/evm.git?branch=precompile-output#081b56a17b8e587655bf45cacc1c823265530b50"
+source = "git+https://github.com/usetech-llc/evm.git?branch=precompile-output-parachain#e13990a627375f327ca7da3c85d9bdfa0a9e903b"
 dependencies = [
  "funty",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "primitive-types 0.9.0",
  "serde",
 ]
@@ -2277,7 +2175,7 @@
 [[package]]
 name = "evm-gasometer"
 version = "0.27.0"
-source = "git+https://github.com/usetech-llc/evm.git?branch=precompile-output#081b56a17b8e587655bf45cacc1c823265530b50"
+source = "git+https://github.com/usetech-llc/evm.git?branch=precompile-output-parachain#e13990a627375f327ca7da3c85d9bdfa0a9e903b"
 dependencies = [
  "environmental",
  "evm-core",
@@ -2288,7 +2186,7 @@
 [[package]]
 name = "evm-runtime"
 version = "0.27.0"
-source = "git+https://github.com/usetech-llc/evm.git?branch=precompile-output#081b56a17b8e587655bf45cacc1c823265530b50"
+source = "git+https://github.com/usetech-llc/evm.git?branch=precompile-output-parachain#e13990a627375f327ca7da3c85d9bdfa0a9e903b"
 dependencies = [
  "environmental",
  "evm-core",
@@ -2302,11 +2200,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"
 dependencies = [
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -2355,15 +2249,16 @@
 [[package]]
 name = "fc-consensus"
 version = "2.0.0-dev"
-source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"
+source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions-parachain#48676fa655fdfb6ceb16fc67d7250d8e618a5843"
 dependencies = [
+ "async-trait",
  "derive_more",
  "fc-db",
  "fp-consensus",
  "fp-rpc",
  "futures 0.3.15",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sc-client-api",
  "sp-api",
  "sp-block-builder",
@@ -2379,11 +2274,11 @@
 [[package]]
 name = "fc-db"
 version = "1.0.0"
-source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"
+source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions-parachain#48676fa655fdfb6ceb16fc67d7250d8e618a5843"
 dependencies = [
  "kvdb",
  "kvdb-rocksdb",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "sp-core",
  "sp-database",
@@ -2393,7 +2288,7 @@
 [[package]]
 name = "fc-mapping-sync"
 version = "2.0.0-dev"
-source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"
+source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions-parachain#48676fa655fdfb6ceb16fc67d7250d8e618a5843"
 dependencies = [
  "fc-consensus",
  "fc-db",
@@ -2411,7 +2306,7 @@
 [[package]]
 name = "fc-rpc"
 version = "2.0.0-dev"
-source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"
+source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions-parachain#48676fa655fdfb6ceb16fc67d7250d8e618a5843"
 dependencies = [
  "ethereum",
  "ethereum-types 0.11.0",
@@ -2432,7 +2327,7 @@
  "log",
  "pallet-ethereum",
  "pallet-evm",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "rand 0.7.3",
  "rlp 0.5.0",
  "rustc-hex",
@@ -2452,7 +2347,7 @@
 [[package]]
 name = "fc-rpc-core"
 version = "1.1.0-dev"
-source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"
+source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions-parachain#48676fa655fdfb6ceb16fc67d7250d8e618a5843"
 dependencies = [
  "ethereum-types 0.11.0",
  "jsonrpc-core 15.1.0",
@@ -2485,20 +2380,16 @@
 
 [[package]]
 name = "finality-grandpa"
-version = "0.14.0"
+version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6447e2f8178843749e8c8003206def83ec124a7859475395777a28b5338647c"
+checksum = "74a1bfdcc776e63e49f741c7ce6116fa1b887e8ac2e3ccb14dd4aa113e54feb9"
 dependencies = [
  "either",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "futures-timer 3.0.2",
  "log",
  "num-traits",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
 ]
 
@@ -2521,7 +2412,7 @@
 checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c"
 dependencies = [
  "byteorder",
- "rand 0.8.3",
+ "rand 0.8.4",
  "rustc-hex",
  "static_assertions",
 ]
@@ -2570,13 +2461,9 @@
 [[package]]
 name = "fork-tree"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
 ]
 
 [[package]]
@@ -2592,10 +2479,10 @@
 [[package]]
 name = "fp-consensus"
 version = "1.0.0"
-source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"
+source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions-parachain#48676fa655fdfb6ceb16fc67d7250d8e618a5843"
 dependencies = [
  "ethereum",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "rlp 0.5.0",
  "sha3 0.8.2",
  "sp-core",
@@ -2606,11 +2493,11 @@
 [[package]]
 name = "fp-evm"
 version = "2.0.0"
-source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"
+source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions-parachain#48676fa655fdfb6ceb16fc67d7250d8e618a5843"
 dependencies = [
  "evm",
  "impl-trait-for-tuples 0.1.3",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-core",
  "sp-std",
@@ -2619,12 +2506,12 @@
 [[package]]
 name = "fp-rpc"
 version = "2.0.0"
-source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"
+source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions-parachain#48676fa655fdfb6ceb16fc67d7250d8e618a5843"
 dependencies = [
  "ethereum",
  "ethereum-types 0.11.0",
  "fp-evm",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-core",
  "sp-io",
@@ -2635,26 +2522,18 @@
 [[package]]
 name = "fp-storage"
 version = "1.0.1"
-source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"
+source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions-parachain#48676fa655fdfb6ceb16fc67d7250d8e618a5843"
 
 [[package]]
 name = "frame-benchmarking"
 version = "3.1.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "frame-support",
  "frame-system",
  "linregress",
  "log",
-<<<<<<< HEAD
- "parity-scale-codec 2.1.1",
-=======
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "paste",
  "sp-api",
  "sp-io",
@@ -2667,17 +2546,13 @@
 [[package]]
 name = "frame-benchmarking-cli"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "Inflector",
  "chrono",
  "frame-benchmarking",
  "handlebars",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sc-cli",
  "sc-client-db",
  "sc-executor",
@@ -2698,7 +2573,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-arithmetic",
  "sp-npos-elections",
  "sp-std",
@@ -2707,20 +2582,11 @@
 [[package]]
 name = "frame-executive"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "frame-support",
- "frame-system",
- "parity-scale-codec 2.1.1",
- "serde",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-runtime",
@@ -2731,13 +2597,9 @@
 [[package]]
 name = "frame-metadata"
 version = "13.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-core",
  "sp-std",
@@ -2746,11 +2608,7 @@
 [[package]]
 name = "frame-support"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "bitflags",
  "frame-metadata",
@@ -2758,11 +2616,7 @@
  "impl-trait-for-tuples 0.2.1",
  "log",
  "once_cell",
-<<<<<<< HEAD
- "parity-scale-codec 2.1.1",
-=======
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "paste",
  "serde",
  "smallvec 1.6.1",
@@ -2780,11 +2634,7 @@
 [[package]]
 name = "frame-support-procedural"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "Inflector",
  "frame-support-procedural-tools",
@@ -2796,11 +2646,7 @@
 [[package]]
 name = "frame-support-procedural-tools"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate 1.0.0",
@@ -2812,11 +2658,7 @@
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2826,21 +2668,12 @@
 [[package]]
 name = "frame-system"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "frame-support",
- "impl-trait-for-tuples 0.2.1",
- "log",
- "parity-scale-codec 2.1.1",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "frame-support",
- "impl-trait-for-tuples",
+ "impl-trait-for-tuples 0.2.1",
  "log",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-core",
  "sp-io",
@@ -2852,16 +2685,12 @@
 [[package]]
 name = "frame-system-benchmarking"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-runtime",
  "sp-std",
@@ -2870,13 +2699,9 @@
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sp-api",
 ]
 
@@ -2886,7 +2711,7 @@
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "frame-support",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-runtime",
  "sp-std",
@@ -2894,9 +2719,9 @@
 
 [[package]]
 name = "fs-err"
-version = "2.5.0"
+version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcd1163ae48bda72a20ae26d66a04d3094135cadab911cff418ae5e33f253431"
+checksum = "5ebd3504ad6116843b8375ad70df74e7bfe83cac77a1f3fe73200c844d43bfe0"
 
 [[package]]
 name = "fs-swap"
@@ -2921,16 +2746,6 @@
 ]
 
 [[package]]
-name = "fs2"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
 name = "fuchsia-cprng"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2966,15 +2781,9 @@
 
 [[package]]
 name = "futures"
-<<<<<<< HEAD
 version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27"
-=======
-version = "0.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9d5813545e459ad3ca1bff9915e9ad7f1a47dc6a91b627ce321d5863b7dd253"
->>>>>>> origin/develop
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2987,15 +2796,9 @@
 
 [[package]]
 name = "futures-channel"
-<<<<<<< HEAD
 version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2"
-=======
-version = "0.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce79c6a52a299137a6013061e0cf0e688fce5d7f1bc60125f520912fdb29ec25"
->>>>>>> origin/develop
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -3003,15 +2806,9 @@
 
 [[package]]
 name = "futures-core"
-<<<<<<< HEAD
 version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1"
-=======
-version = "0.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "098cd1c6dda6ca01650f1a37a794245eb73181d0d4d4e955e2f3c37db7af1815"
->>>>>>> origin/develop
 
 [[package]]
 name = "futures-cpupool"
@@ -3030,11 +2827,7 @@
 checksum = "fdcef58a173af8148b182684c9f2d5250875adbcaff7b5794073894f9d8634a9"
 dependencies = [
  "futures 0.1.31",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "lazy_static",
  "log",
  "parking_lot 0.9.0",
@@ -3045,15 +2838,9 @@
 
 [[package]]
 name = "futures-executor"
-<<<<<<< HEAD
 version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79"
-=======
-version = "0.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10f6cb7042eda00f0049b1d2080aa4b93442997ee507eb3828e8bd7577f94c9d"
->>>>>>> origin/develop
 dependencies = [
  "futures-core",
  "futures-task",
@@ -3063,21 +2850,15 @@
 
 [[package]]
 name = "futures-io"
-<<<<<<< HEAD
 version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1"
-=======
-version = "0.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "365a1a1fb30ea1c03a830fdb2158f5236833ac81fa0ad12fe35b29cddc35cb04"
->>>>>>> origin/develop
 
 [[package]]
 name = "futures-lite"
-version = "1.11.3"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4481d0cd0de1d204a4fa55e7d45f07b1d958abcb06714b3446438e2eff695fb"
+checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48"
 dependencies = [
  "fastrand",
  "futures-core",
@@ -3090,15 +2871,9 @@
 
 [[package]]
 name = "futures-macro"
-<<<<<<< HEAD
 version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121"
-=======
-version = "0.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "668c6733a182cd7deb4f1de7ba3bf2120823835b3bcfbeacf7d2c4a773c1bb8b"
->>>>>>> origin/develop
 dependencies = [
  "autocfg",
  "proc-macro-hack",
@@ -3120,7 +2895,6 @@
 
 [[package]]
 name = "futures-sink"
-<<<<<<< HEAD
 version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282"
@@ -3130,17 +2904,6 @@
 version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae"
-=======
-version = "0.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5629433c555de3d82861a7a4e3794a4c40040390907cfbfd7143a92a426c23"
-
-[[package]]
-name = "futures-task"
-version = "0.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba7aa51095076f3ba6d9a1f702f74bd05ec65f555d70d2033d55ba8d69f581bc"
->>>>>>> origin/develop
 
 [[package]]
 name = "futures-timer"
@@ -3156,18 +2919,11 @@
 
 [[package]]
 name = "futures-util"
-<<<<<<< HEAD
 version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967"
 dependencies = [
  "autocfg",
-=======
-version = "0.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c144ad54d60f23927f0a6b6d816e4271278b64f005ad65e4e35291d2de9c025"
-dependencies = [
->>>>>>> origin/develop
  "futures 0.1.31",
  "futures-channel",
  "futures-core",
@@ -3200,15 +2956,6 @@
 
 [[package]]
 name = "generic-array"
-version = "0.13.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f797e67af32588215eaaab8327027ee8e71b9dd0b2b26996aedf20c030fce309"
-dependencies = [
- "typenum",
-]
-
-[[package]]
-name = "generic-array"
 version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"
@@ -3230,9 +2977,9 @@
 
 [[package]]
 name = "getrandom"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
+checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
@@ -3274,9 +3021,9 @@
 
 [[package]]
 name = "globset"
-version = "0.4.6"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c152169ef1e421390738366d2f796655fec62621dabbd0fd476f905934061e4a"
+checksum = "f0fc1b9fa0e64ffb1aa5b95daa0f0f167734fd528b7c02eabc581d9d843649b1"
 dependencies = [
  "aho-corasick",
  "bstr",
@@ -3376,9 +3123,9 @@
 
 [[package]]
 name = "heck"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac"
+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
 dependencies = [
  "unicode-segmentation",
 ]
@@ -3498,15 +3245,9 @@
 
 [[package]]
 name = "httparse"
-<<<<<<< HEAD
 version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68"
-=======
-version = "1.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc35c995b9d93ec174cf9a27d425c7892722101e14993cd227fdb51d70cf9589"
->>>>>>> origin/develop
 
 [[package]]
 name = "httpdate"
@@ -3575,11 +3316,7 @@
  "httparse",
  "httpdate",
  "itoa",
-<<<<<<< HEAD
  "pin-project 1.0.7",
-=======
- "pin-project 1.0.6",
->>>>>>> origin/develop
  "socket2 0.3.19",
  "tokio 0.2.25",
  "tower-service",
@@ -3624,15 +3361,9 @@
 
 [[package]]
 name = "idna"
-<<<<<<< HEAD
 version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
-=======
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89829a5d69c23d348314a7ac337fe39173b61149a9864deabd260983aed48c21"
->>>>>>> origin/develop
 dependencies = [
  "matches",
  "unicode-bidi",
@@ -3662,16 +3393,12 @@
 
 [[package]]
 name = "if-watch"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "144c0ecbda48cc819482c37e460723b634dc060e23922f8ace87d94ff95ea4e5"
+checksum = "ae8ab7f67bad3240049cb24fb9cb0b4c2c6af4c245840917fbbdededeee91179"
 dependencies = [
  "async-io",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "futures-lite",
  "if-addrs",
  "ipnet",
@@ -3695,7 +3422,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "df170efa359aebdd5cb7fe78edcc67107748e4737bdca8a8fb40d15ea7a877ed"
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
 ]
 
 [[package]]
@@ -3714,15 +3441,6 @@
 checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808"
 dependencies = [
  "rlp 0.5.0",
-]
-
-[[package]]
-name = "impl-rlp"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808"
-dependencies = [
- "rlp",
 ]
 
 [[package]]
@@ -3797,11 +3515,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275"
 dependencies = [
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "futures-timer 2.0.2",
 ]
 
@@ -3834,9 +3548,9 @@
 
 [[package]]
 name = "ipnet"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135"
+checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9"
 
 [[package]]
 name = "itertools"
@@ -3849,9 +3563,9 @@
 
 [[package]]
 name = "itertools"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319"
+checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf"
 dependencies = [
  "either",
 ]
@@ -3873,15 +3587,9 @@
 
 [[package]]
 name = "js-sys"
-<<<<<<< HEAD
 version = "0.3.51"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062"
-=======
-version = "0.3.50"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d99f9e3e84b8f67f846ef5b4cbbc3b1c29f6c759fcbce6f01aa0e73d932a24c"
->>>>>>> origin/develop
 dependencies = [
  "wasm-bindgen",
 ]
@@ -3910,13 +3618,8 @@
 dependencies = [
  "failure",
  "futures 0.1.31",
-<<<<<<< HEAD
  "jsonrpc-core 15.1.0",
  "jsonrpc-pubsub 15.1.0",
-=======
- "jsonrpc-core",
- "jsonrpc-pubsub",
->>>>>>> origin/develop
  "log",
  "serde",
  "serde_json",
@@ -3998,11 +3701,7 @@
 checksum = "4fb5c4513b7b542f42da107942b7b759f27120b5cc894729f88254b28dff44b7"
 dependencies = [
  "hyper 0.12.36",
-<<<<<<< HEAD
  "jsonrpc-core 15.1.0",
-=======
- "jsonrpc-core",
->>>>>>> origin/develop
  "jsonrpc-server-utils",
  "log",
  "net2",
@@ -4096,7 +3795,7 @@
  "serde",
  "serde_json",
  "thiserror",
- "url 2.2.1",
+ "url 2.2.2",
 ]
 
 [[package]]
@@ -4161,7 +3860,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "beefy-primitives",
- "bitvec",
+ "bitvec 0.20.4",
  "frame-executive",
  "frame-support",
  "frame-system",
@@ -4203,7 +3902,7 @@
  "pallet-utility",
  "pallet-vesting",
  "pallet-xcm",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-primitives",
  "polkadot-runtime-common",
  "polkadot-runtime-parachains",
@@ -4302,15 +4001,9 @@
 
 [[package]]
 name = "libc"
-<<<<<<< HEAD
-version = "0.2.94"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
-=======
-version = "0.2.93"
+version = "0.2.97"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"
->>>>>>> origin/develop
+checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6"
 
 [[package]]
 name = "libloading"
@@ -4340,23 +4033,13 @@
 
 [[package]]
 name = "libp2p"
-<<<<<<< HEAD
-version = "0.35.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adc225a49973cf9ab10d0cdd6a4b8f0cda299df9b760824bbb623f15f8f0c95a"
-dependencies = [
- "atomic",
- "bytes 1.0.1",
- "futures 0.3.15",
-=======
 version = "0.37.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "08053fbef67cd777049ef7a95ebaca2ece370b4ed7712c3fa404d69a88cb741b"
 dependencies = [
  "atomic",
  "bytes 1.0.1",
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "lazy_static",
  "libp2p-core",
  "libp2p-deflate",
@@ -4382,31 +4065,23 @@
  "libp2p-yamux",
  "parity-multiaddr",
  "parking_lot 0.11.1",
-<<<<<<< HEAD
  "pin-project 1.0.7",
-=======
- "pin-project 1.0.6",
->>>>>>> origin/develop
  "smallvec 1.6.1",
  "wasm-timer",
 ]
 
 [[package]]
 name = "libp2p-core"
-version = "0.28.2"
+version = "0.28.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71dd51b562e14846e65bad00e5808d0644376e6588668c490d3c48e1dfeb4a9a"
+checksum = "554d3e7e9e65f939d66b75fd6a4c67f258fe250da61b91f46c545fc4a89b51d9"
 dependencies = [
  "asn1_der",
  "bs58",
  "ed25519-dalek",
  "either",
  "fnv",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "futures-timer 3.0.2",
  "lazy_static",
  "libsecp256k1",
@@ -4415,11 +4090,7 @@
  "multistream-select",
  "parity-multiaddr",
  "parking_lot 0.11.1",
-<<<<<<< HEAD
  "pin-project 1.0.7",
-=======
- "pin-project 1.0.6",
->>>>>>> origin/develop
  "prost",
  "prost-build",
  "rand 0.7.3",
@@ -4440,11 +4111,7 @@
 checksum = "a2181a641cd15f9b6ba71b1335800f309012a0a97a29ffaabbbf40e9d3d58f08"
 dependencies = [
  "flate2",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p-core",
 ]
 
@@ -4454,12 +4121,8 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "62e63dab8b5ff35e0c101a3e51e843ba782c07bbb1682f5fd827622e0d02b98b"
 dependencies = [
-<<<<<<< HEAD
+ "async-std-resolver",
  "futures 0.3.15",
-=======
- "async-std-resolver",
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p-core",
  "log",
  "smallvec 1.6.1",
@@ -4474,11 +4137,7 @@
 dependencies = [
  "cuckoofilter",
  "fnv",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p-core",
  "libp2p-swarm",
  "log",
@@ -4490,26 +4149,16 @@
 
 [[package]]
 name = "libp2p-gossipsub"
-<<<<<<< HEAD
-version = "0.28.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "502dc5fcbfec4aa1c63ef3f7307ffe20e90c1a1387bf23ed0bec087f2dde58a1"
-=======
 version = "0.30.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7b0c8506a6ec3344b9e706d7c7a6dba826f8ede735cfe13dde12a8c263c4af9"
->>>>>>> origin/develop
 dependencies = [
  "asynchronous-codec 0.6.0",
  "base64 0.13.0",
  "byteorder",
  "bytes 1.0.1",
  "fnv",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "hex_fmt",
  "libp2p-core",
  "libp2p-swarm",
@@ -4530,11 +4179,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5f668f00efd9883e8b7bcc582eaf0164615792608f886f6577da18bcbeea0a46"
 dependencies = [
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p-core",
  "libp2p-swarm",
  "log",
@@ -4555,11 +4200,7 @@
  "bytes 1.0.1",
  "either",
  "fnv",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p-core",
  "libp2p-swarm",
  "log",
@@ -4576,30 +4217,22 @@
 
 [[package]]
 name = "libp2p-mdns"
-version = "0.30.1"
+version = "0.30.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41e282f974c4bea56db8acca50387f05189406e346318cb30190b0bde662961e"
+checksum = "4efa70c1c3d2d91237f8546e27aeb85e287d62c066a7b4f3ea6a696d43ced714"
 dependencies = [
  "async-io",
  "data-encoding",
  "dns-parser",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "if-watch",
  "lazy_static",
  "libp2p-core",
  "libp2p-swarm",
  "log",
- "rand 0.8.3",
+ "rand 0.8.4",
  "smallvec 1.6.1",
-<<<<<<< HEAD
- "socket2 0.3.19",
-=======
  "socket2 0.4.0",
->>>>>>> origin/develop
  "void",
 ]
 
@@ -4611,11 +4244,7 @@
 dependencies = [
  "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p-core",
  "log",
  "nohash-hasher",
@@ -4633,11 +4262,7 @@
 dependencies = [
  "bytes 1.0.1",
  "curve25519-dalek 3.1.0",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "lazy_static",
  "libp2p-core",
  "log",
@@ -4657,11 +4282,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bf4bfaffac63bf3c7ec11ed9d8879d455966ddea7e78ee14737f0b6dce0d1cd1"
 dependencies = [
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p-core",
  "libp2p-swarm",
  "log",
@@ -4678,11 +4299,7 @@
 dependencies = [
  "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p-core",
  "log",
  "prost",
@@ -4697,15 +4314,9 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6ce3374f3b28162db9d3442c9347c4f14cb01e8290052615c7d341d40eae0599"
 dependencies = [
-<<<<<<< HEAD
  "futures 0.3.15",
  "log",
  "pin-project 1.0.7",
-=======
- "futures 0.3.14",
- "log",
- "pin-project 1.0.6",
->>>>>>> origin/develop
  "rand 0.7.3",
  "salsa20",
  "sha3 0.9.1",
@@ -4719,12 +4330,12 @@
 dependencies = [
  "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "libp2p-core",
  "libp2p-swarm",
  "log",
- "pin-project 1.0.6",
+ "pin-project 1.0.7",
  "prost",
  "prost-build",
  "rand 0.7.3",
@@ -4742,11 +4353,7 @@
 dependencies = [
  "async-trait",
  "bytes 1.0.1",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p-core",
  "libp2p-swarm",
  "log",
@@ -4765,11 +4372,7 @@
 checksum = "1e04d8e1eef675029ec728ba14e8d0da7975d84b6679b699b4ae91a1de9c3a92"
 dependencies = [
  "either",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p-core",
  "log",
  "rand 0.7.3",
@@ -4780,15 +4383,9 @@
 
 [[package]]
 name = "libp2p-swarm-derive"
-<<<<<<< HEAD
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c564ebaa36a64839f51eaddb0243aaaa29ce64affb56129193cc3248b72af273"
-=======
 version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "365b0a699fea5168676840567582a012ea297b1ca02eee467e58301b9c9c5eed"
->>>>>>> origin/develop
 dependencies = [
  "quote",
  "syn",
@@ -4801,22 +4398,14 @@
 checksum = "2b1a27d21c477951799e99d5c105d78868258502ce092988040a808d5a19bbd9"
 dependencies = [
  "async-io",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "futures-timer 3.0.2",
  "if-watch",
  "ipnet",
  "libc",
  "libp2p-core",
  "log",
-<<<<<<< HEAD
- "socket2 0.3.19",
-=======
  "socket2 0.4.0",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -4826,26 +4415,18 @@
 checksum = "ffd6564bb3b7ff203661ccbb69003c2b551e34cef974f2d6c6a28306a12170b5"
 dependencies = [
  "async-std",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p-core",
  "log",
 ]
 
 [[package]]
 name = "libp2p-wasm-ext"
-version = "0.28.1"
+version = "0.28.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cef45d61e43c313531b5e903e4e8415212ff6338e0c54c47da5b9b412b5760de"
+checksum = "e2d413e4cf9b8e5dfbcd2a60d3dc5a3391308bdb463684093d4f67137b7113de"
 dependencies = [
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "js-sys",
  "libp2p-core",
  "parity-send-wrapper",
@@ -4860,40 +4441,24 @@
 checksum = "cace60995ef6f637e4752cccbb2590f6bc358e8741a0d066307636c69a4b3a74"
 dependencies = [
  "either",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "futures-rustls",
  "libp2p-core",
  "log",
  "quicksink",
  "rw-stream-sink",
  "soketto",
-<<<<<<< HEAD
  "url 2.2.2",
-=======
- "url 2.2.1",
->>>>>>> origin/develop
  "webpki-roots",
 ]
 
 [[package]]
 name = "libp2p-yamux"
-<<<<<<< HEAD
-version = "0.30.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4819358c542a86ff95f6ae691efb4b94ddaf477079b01a686f5705b79bfc232a"
-dependencies = [
- "futures 0.3.15",
-=======
 version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f35da42cfc6d5cb0dcf3ad6881bc68d146cdf38f98655e09e33fbba4d13eabc4"
 dependencies = [
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "libp2p-core",
  "parking_lot 0.11.1",
  "thiserror",
@@ -4956,11 +4521,11 @@
 
 [[package]]
 name = "linregress"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b36162d2e1dcbdeb61223cb788f029f8ac9f2ab19969b89c5a8f4517aad4d940"
+checksum = "b1ff7f341d23e1275eec0656a9a07225fcc86216c4322392868adffe59023d1a"
 dependencies = [
- "nalgebra 0.25.4",
+ "nalgebra 0.27.1",
  "statrs",
 ]
 
@@ -4975,15 +4540,9 @@
 
 [[package]]
 name = "lock_api"
-<<<<<<< HEAD
 version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb"
-=======
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3c91c24eae6777794bb1997ad98bbb87daf92890acab859f7eaa4320333176"
->>>>>>> origin/develop
 dependencies = [
  "scopeguard",
 ]
@@ -5054,15 +4613,6 @@
 
 [[package]]
 name = "matrixmultiply"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "916806ba0031cd542105d916a97c8572e1fa6dd79c9c51e7eb43a09ec2dd84c1"
-dependencies = [
- "rawpointer",
-]
-
-[[package]]
-name = "matrixmultiply"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5a8a15b776d9dfaecd44b03c5828c2199cddff5247215858aac14624f8d6b741"
@@ -5084,9 +4634,9 @@
 
 [[package]]
 name = "memmap2"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "397d1a6d6d0563c0f5462bbdae662cf6c784edf5e828e40c7257f85d82bf56dd"
+checksum = "723e3ebdcdc5c023db1df315364573789f8857c11b631a2fdfad7c00f5c046b4"
 dependencies = [
  "libc",
 ]
@@ -5102,9 +4652,9 @@
 
 [[package]]
 name = "memoffset"
-version = "0.6.3"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f83fb6581e8ed1f85fd45c116db8405483899489e38406156c25eb743554361d"
+checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
 dependencies = [
  "autocfg",
 ]
@@ -5153,7 +4703,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "derive_more",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
 ]
 
@@ -5163,22 +4713,16 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c023c3f16109e7f33aa451f773fd61070e265b4977d0b6e344a51049296dd7df"
 dependencies = [
- "futures 0.3.14",
+ "futures 0.3.15",
  "rand 0.7.3",
  "thrift",
 ]
 
 [[package]]
 name = "minicbor"
-<<<<<<< HEAD
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c2b2c73f9640fccab53947e2b3474d5071fcbc8f82cac51ddf6c8041a30a9ea"
-=======
 version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "51aa5bb0ca22415daca596a227b507f880ad1b2318a87fa9325312a5d285ca0d"
->>>>>>> origin/develop
 dependencies = [
  "minicbor-derive",
 ]
@@ -5315,11 +4859,11 @@
 
 [[package]]
 name = "multihash-derive"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85ee3c48cb9d9b275ad967a0e96715badc13c6029adb92f34fa17b9ff28fd81f"
+checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99"
 dependencies = [
- "proc-macro-crate 0.1.5",
+ "proc-macro-crate 1.0.0",
  "proc-macro-error",
  "proc-macro2",
  "quote",
@@ -5340,91 +4884,64 @@
 checksum = "7d91ec0a2440aaff5f78ec35631a7027d50386c6163aa975f7caa0d5da4b6ff8"
 dependencies = [
  "bytes 1.0.1",
-<<<<<<< HEAD
  "futures 0.3.15",
  "log",
  "pin-project 1.0.7",
-=======
- "futures 0.3.14",
- "log",
- "pin-project 1.0.6",
->>>>>>> origin/develop
  "smallvec 1.6.1",
  "unsigned-varint 0.7.0",
 ]
 
 [[package]]
 name = "nalgebra"
-version = "0.19.0"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0abb021006c01b126a936a8dd1351e0720d83995f4fc942d0d426c654f990745"
+checksum = "476d1d59fe02fe54c86356e91650cd892f392782a1cb9fc524ec84f7aa9e1d06"
 dependencies = [
- "alga",
- "approx 0.3.2",
- "generic-array 0.13.3",
- "matrixmultiply 0.2.4",
- "num-complex 0.2.4",
- "num-rational 0.2.4",
+ "approx 0.4.0",
+ "matrixmultiply",
+ "num-complex 0.3.1",
+ "num-rational 0.3.2",
  "num-traits",
- "rand 0.7.3",
+ "rand 0.8.4",
  "rand_distr",
-<<<<<<< HEAD
-=======
+ "simba 0.4.0",
  "typenum",
 ]
 
 [[package]]
 name = "nalgebra"
-version = "0.25.4"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c70c9e8c5f213c8e93fc8c112ade4edd3ee62062fb897776c23dcebac7932900"
+checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120"
 dependencies = [
- "approx 0.4.0",
- "generic-array 0.14.4",
- "matrixmultiply 0.3.1",
- "num-complex 0.3.1",
- "num-rational 0.3.2",
+ "approx 0.5.0",
+ "matrixmultiply",
+ "nalgebra-macros",
+ "num-complex 0.4.0",
+ "num-rational 0.4.0",
  "num-traits",
- "serde",
- "simba",
->>>>>>> origin/develop
+ "simba 0.5.1",
  "typenum",
 ]
 
 [[package]]
-name = "nalgebra"
-version = "0.25.4"
+name = "nalgebra-macros"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c70c9e8c5f213c8e93fc8c112ade4edd3ee62062fb897776c23dcebac7932900"
+checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218"
 dependencies = [
- "approx 0.4.0",
- "generic-array 0.14.4",
- "matrixmultiply 0.3.1",
- "num-complex 0.3.1",
- "num-rational 0.3.2",
- "num-traits",
- "serde",
- "simba",
- "typenum",
+ "proc-macro2",
+ "quote",
+ "syn",
 ]
 
 [[package]]
-<<<<<<< HEAD
 name = "names"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ef320dab323286b50fb5cdda23f61c796a72a89998ab565ca32525c5c556f2da"
 dependencies = [
  "rand 0.3.23",
-=======
-name = "nb-connect"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19900e7eee95eb2b3c2e26d12a874cc80aaf750e31be6fcbe743ead369fa45d"
-dependencies = [
- "libc",
- "socket2 0.4.0",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -5442,13 +4959,6 @@
 name = "nft"
 version = "3.0.0"
 dependencies = [
-<<<<<<< HEAD
- "fc-consensus",
- "fc-db",
- "fc-mapping-sync",
- "fc-rpc",
- "fc-rpc-core",
-=======
  "cumulus-client-cli",
  "cumulus-client-collator",
  "cumulus-client-consensus-aura",
@@ -5457,28 +4967,27 @@
  "cumulus-client-service",
  "cumulus-primitives-core",
  "cumulus-primitives-parachain-inherent",
->>>>>>> origin/develop
+ "fc-consensus",
+ "fc-db",
+ "fc-mapping-sync",
+ "fc-rpc",
+ "fc-rpc-core",
  "flexi_logger",
  "fp-rpc",
  "frame-benchmarking",
  "frame-benchmarking-cli",
-<<<<<<< HEAD
  "futures 0.3.15",
  "jsonrpc-core 15.1.0",
  "jsonrpc-pubsub 15.1.0",
-=======
- "futures 0.3.14",
- "jsonrpc-core",
->>>>>>> origin/develop
  "log",
  "nft-data-structs",
+ "nft-rpc",
  "nft-runtime",
  "pallet-contracts",
  "pallet-contracts-rpc",
  "pallet-ethereum",
- "pallet-nft",
  "pallet-transaction-payment-rpc",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.10.2",
  "polkadot-cli",
  "polkadot-parachain",
@@ -5514,10 +5023,7 @@
  "sp-keystore",
  "sp-offchain",
  "sp-runtime",
-<<<<<<< HEAD
-=======
  "sp-session",
->>>>>>> origin/develop
  "sp-timestamp",
  "sp-transaction-pool",
  "sp-trie",
@@ -5534,19 +5040,61 @@
  "frame-support",
  "frame-system",
  "pallet-contracts",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-core",
  "sp-runtime",
 ]
 
 [[package]]
+name = "nft-rpc"
+version = "3.3.1"
+dependencies = [
+ "fc-db",
+ "fc-mapping-sync",
+ "fc-rpc",
+ "fc-rpc-core",
+ "fp-rpc",
+ "futures 0.3.15",
+ "jsonrpc-core 15.1.0",
+ "jsonrpc-pubsub 15.1.0",
+ "nft-runtime",
+ "pallet-contracts-rpc",
+ "pallet-ethereum",
+ "pallet-nft",
+ "pallet-transaction-payment-rpc",
+ "pallet-transaction-payment-rpc-runtime-api",
+ "sc-client-api",
+ "sc-consensus-aura",
+ "sc-consensus-epochs",
+ "sc-finality-grandpa",
+ "sc-finality-grandpa-rpc",
+ "sc-keystore",
+ "sc-network",
+ "sc-rpc",
+ "sc-rpc-api",
+ "sc-service",
+ "sc-transaction-graph",
+ "sc-transaction-pool",
+ "sp-api",
+ "sp-block-builder",
+ "sp-blockchain",
+ "sp-consensus",
+ "sp-consensus-aura",
+ "sp-core",
+ "sp-offchain",
+ "sp-runtime",
+ "sp-session",
+ "sp-storage",
+ "sp-transaction-pool",
+ "substrate-frame-rpc-system",
+ "tokio 0.2.25",
+]
+
+[[package]]
 name = "nft-runtime"
 version = "3.0.0"
 dependencies = [
-<<<<<<< HEAD
- "fp-rpc",
-=======
  "cumulus-pallet-aura-ext",
  "cumulus-pallet-dmp-queue",
  "cumulus-pallet-parachain-system",
@@ -5554,7 +5102,7 @@
  "cumulus-pallet-xcmp-queue",
  "cumulus-primitives-core",
  "cumulus-primitives-utility",
->>>>>>> origin/develop
+ "fp-rpc",
  "frame-benchmarking",
  "frame-executive",
  "frame-support",
@@ -5568,12 +5116,8 @@
  "pallet-contracts",
  "pallet-contracts-primitives",
  "pallet-contracts-rpc-runtime-api",
-<<<<<<< HEAD
  "pallet-ethereum",
  "pallet-evm",
- "pallet-grandpa",
-=======
->>>>>>> origin/develop
  "pallet-inflation",
  "pallet-nft",
  "pallet-nft-charge-transaction",
@@ -5586,14 +5130,10 @@
  "pallet-transaction-payment-rpc-runtime-api",
  "pallet-treasury",
  "pallet-vesting",
-<<<<<<< HEAD
- "parity-scale-codec 2.1.1",
-=======
  "pallet-xcm",
  "parachain-info",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-parachain",
->>>>>>> origin/develop
  "serde",
  "smallvec 1.6.1",
  "sp-api",
@@ -5650,19 +5190,18 @@
 
 [[package]]
 name = "num-complex"
-version = "0.2.4"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95"
+checksum = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5"
 dependencies = [
- "autocfg",
  "num-traits",
 ]
 
 [[package]]
 name = "num-complex"
-version = "0.3.1"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5"
+checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085"
 dependencies = [
  "num-traits",
 ]
@@ -5701,6 +5240,17 @@
 ]
 
 [[package]]
+name = "num-rational"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
 name = "num-traits"
 version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5731,19 +5281,19 @@
 ]
 
 [[package]]
-<<<<<<< HEAD
 name = "object"
-version = "0.24.0"
+version = "0.25.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a5b3dd1c072ee7963717671d1ca129f1048fda25edea6b752bfc71ac8854170"
+checksum = "a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7"
+dependencies = [
+ "memchr",
+]
 
 [[package]]
-=======
->>>>>>> origin/develop
 name = "once_cell"
-version = "1.7.2"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
+checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
 dependencies = [
  "parking_lot 0.11.1",
 ]
@@ -5787,22 +5337,13 @@
 [[package]]
 name = "pallet-aura"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "frame-support",
  "frame-system",
  "pallet-session",
  "pallet-timestamp",
-<<<<<<< HEAD
- "parity-scale-codec 2.1.1",
- "serde",
-=======
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sp-application-crypto",
  "sp-consensus-aura",
  "sp-runtime",
@@ -5812,25 +5353,14 @@
 [[package]]
 name = "pallet-authority-discovery"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "frame-support",
- "frame-system",
- "impl-trait-for-tuples 0.2.1",
- "parity-scale-codec 2.1.1",
- "sp-authorship",
- "sp-inherents",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "frame-support",
  "frame-system",
  "pallet-session",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-application-crypto",
  "sp-authority-discovery",
->>>>>>> origin/develop
  "sp-runtime",
  "sp-std",
 ]
@@ -5838,23 +5368,13 @@
 [[package]]
 name = "pallet-authorship"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "frame-support",
  "frame-system",
-<<<<<<< HEAD
- "log",
- "parity-scale-codec 2.1.1",
- "serde",
-=======
- "impl-trait-for-tuples",
- "parity-scale-codec",
+ "impl-trait-for-tuples 0.2.1",
+ "parity-scale-codec 2.1.3",
  "sp-authorship",
->>>>>>> origin/develop
  "sp-runtime",
  "sp-std",
 ]
@@ -5862,33 +5382,19 @@
 [[package]]
 name = "pallet-babe"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
-<<<<<<< HEAD
- "pallet-contracts-primitives",
- "pallet-contracts-proc-macro",
- "parity-scale-codec 2.1.1",
- "parity-wasm 0.41.0",
- "pwasm-utils 0.16.0",
- "serde",
- "sp-core",
-=======
  "pallet-authorship",
  "pallet-session",
  "pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-application-crypto",
  "sp-consensus-babe",
  "sp-consensus-vrf",
->>>>>>> origin/develop
  "sp-io",
  "sp-runtime",
  "sp-session",
@@ -5899,47 +5405,18 @@
 [[package]]
 name = "pallet-balances"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "bitflags",
- "parity-scale-codec 2.1.1",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sp-runtime",
  "sp-std",
 ]
 
 [[package]]
-<<<<<<< HEAD
-name = "pallet-contracts-proc-macro"
-version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "pallet-contracts-rpc"
-version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "jsonrpc-core 15.1.0",
- "jsonrpc-core-client 15.1.0",
- "jsonrpc-derive 15.1.0",
- "pallet-contracts-primitives",
- "pallet-contracts-rpc-runtime-api",
- "parity-scale-codec 2.1.1",
-=======
 name = "pallet-beefy"
 version = "0.1.0"
 source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.3#063e18a1f82945d5a304906db92bfbb571bac459"
@@ -5948,8 +5425,7 @@
  "frame-support",
  "frame-system",
  "pallet-session",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-runtime",
  "sp-std",
@@ -5958,88 +5434,20 @@
 [[package]]
 name = "pallet-bounties"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "pallet-contracts-primitives",
- "parity-scale-codec 2.1.1",
- "sp-api",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "frame-support",
  "frame-system",
  "pallet-treasury",
- "parity-scale-codec",
->>>>>>> origin/develop
- "sp-runtime",
- "sp-std",
-]
-
-[[package]]
-<<<<<<< HEAD
-name = "pallet-ethereum"
-version = "2.0.0-dev"
-source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"
-dependencies = [
- "ethereum",
- "ethereum-types 0.11.0",
- "evm",
- "fp-consensus",
- "fp-evm",
- "fp-rpc",
- "fp-storage",
- "frame-support",
- "frame-system",
- "libsecp256k1",
- "pallet-balances",
- "pallet-evm",
- "pallet-timestamp",
- "parity-scale-codec 2.1.1",
- "rlp 0.5.0",
- "rustc-hex",
- "serde",
- "sha3 0.8.2",
- "sp-io",
- "sp-runtime",
- "sp-std",
-]
-
-[[package]]
-name = "pallet-evm"
-version = "4.0.0-dev"
-source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"
-dependencies = [
- "evm",
- "evm-gasometer",
- "evm-runtime",
- "fp-evm",
- "frame-support",
- "frame-system",
- "impl-trait-for-tuples 0.2.1",
- "log",
- "pallet-balances",
- "pallet-timestamp",
- "parity-scale-codec 2.1.1",
- "primitive-types 0.9.0",
- "rlp 0.5.0",
- "serde",
- "sha3 0.8.2",
- "sp-core",
- "sp-io",
+ "parity-scale-codec 2.1.3",
  "sp-runtime",
  "sp-std",
 ]
 
 [[package]]
-name = "pallet-grandpa"
-version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 name = "pallet-bridge-grandpa"
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
->>>>>>> origin/develop
 dependencies = [
  "bp-header-chain",
  "bp-runtime",
@@ -6048,14 +5456,8 @@
  "frame-support",
  "frame-system",
  "log",
-<<<<<<< HEAD
- "pallet-authorship",
- "pallet-session",
- "parity-scale-codec 2.1.1",
-=======
  "num-traits",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-finality-grandpa",
  "sp-runtime",
@@ -6070,16 +5472,8 @@
 dependencies = [
  "frame-support",
  "frame-system",
-<<<<<<< HEAD
- "pallet-balances",
- "pallet-randomness-collective-flip",
- "pallet-timestamp",
- "parity-scale-codec 2.1.1",
- "serde",
-=======
  "log",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-runtime",
@@ -6091,39 +5485,16 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
-<<<<<<< HEAD
- "ethereum",
- "ethereum-tx-sign",
- "evm-coder",
- "fp-evm",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "hex-literal",
- "pallet-balances",
- "pallet-contracts",
- "pallet-ethereum",
- "pallet-evm",
- "pallet-randomness-collective-flip",
- "pallet-timestamp",
- "pallet-transaction-payment",
- "parity-scale-codec 2.1.1",
- "primitive-types 0.9.0",
- "rlp 0.5.0",
- "serde",
- "sp-api",
-=======
  "frame-support",
  "frame-system",
  "log",
  "pallet-contracts-primitives",
  "pallet-contracts-proc-macro",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parity-wasm 0.42.2",
  "pwasm-utils 0.17.1",
  "serde",
  "smallvec 1.6.1",
->>>>>>> origin/develop
  "sp-core",
  "sp-io",
  "sp-runtime",
@@ -6135,21 +5506,12 @@
 [[package]]
 name = "pallet-contracts-primitives"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "frame-support",
- "frame-system",
- "parity-scale-codec 2.1.1",
- "safe-mix",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "bitflags",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-core",
->>>>>>> origin/develop
  "sp-runtime",
  "sp-std",
 ]
@@ -6157,15 +5519,6 @@
 [[package]]
 name = "pallet-contracts-proc-macro"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "frame-support",
- "frame-system",
- "impl-trait-for-tuples 0.2.1",
- "pallet-timestamp",
- "parity-scale-codec 2.1.1",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "proc-macro2",
@@ -6178,13 +5531,12 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "jsonrpc-core",
- "jsonrpc-core-client",
- "jsonrpc-derive",
+ "jsonrpc-core 15.1.0",
+ "jsonrpc-core-client 15.1.0",
+ "jsonrpc-derive 15.1.0",
  "pallet-contracts-primitives",
  "pallet-contracts-rpc-runtime-api",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-api",
  "sp-blockchain",
@@ -6196,21 +5548,11 @@
 [[package]]
 name = "pallet-contracts-rpc-runtime-api"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "frame-support",
- "frame-system",
- "parity-scale-codec 2.1.1",
- "serde",
- "sp-io",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "pallet-contracts-primitives",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-api",
->>>>>>> origin/develop
  "sp-runtime",
  "sp-std",
 ]
@@ -6218,22 +5560,12 @@
 [[package]]
 name = "pallet-democracy"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
-<<<<<<< HEAD
- "impl-trait-for-tuples 0.2.1",
- "log",
- "parity-scale-codec 2.1.1",
-=======
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-io",
  "sp-runtime",
@@ -6243,24 +5575,14 @@
 [[package]]
 name = "pallet-election-provider-multi-phase"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "frame-election-provider-support",
  "frame-support",
  "frame-system",
-<<<<<<< HEAD
- "parity-scale-codec 2.1.1",
- "serde",
- "smallvec 1.6.1",
-=======
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-arithmetic",
->>>>>>> origin/develop
  "sp-core",
  "sp-io",
  "sp-npos-elections",
@@ -6270,19 +5592,6 @@
 ]
 
 [[package]]
-<<<<<<< HEAD
-name = "pallet-transaction-payment-rpc"
-version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "jsonrpc-core 15.1.0",
- "jsonrpc-core-client 15.1.0",
- "jsonrpc-derive 15.1.0",
- "pallet-transaction-payment-rpc-runtime-api",
- "parity-scale-codec 2.1.1",
- "sp-api",
- "sp-blockchain",
-=======
 name = "pallet-elections-phragmen"
 version = "4.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
@@ -6290,8 +5599,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-npos-elections",
@@ -6300,23 +5608,69 @@
 ]
 
 [[package]]
+name = "pallet-ethereum"
+version = "2.0.0-dev"
+source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions-parachain#48676fa655fdfb6ceb16fc67d7250d8e618a5843"
+dependencies = [
+ "ethereum",
+ "ethereum-types 0.11.0",
+ "evm",
+ "fp-consensus",
+ "fp-evm",
+ "fp-rpc",
+ "fp-storage",
+ "frame-support",
+ "frame-system",
+ "libsecp256k1",
+ "pallet-balances",
+ "pallet-evm",
+ "pallet-timestamp",
+ "parity-scale-codec 2.1.3",
+ "rlp 0.5.0",
+ "rustc-hex",
+ "serde",
+ "sha3 0.8.2",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
+name = "pallet-evm"
+version = "4.0.0-dev"
+source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions-parachain#48676fa655fdfb6ceb16fc67d7250d8e618a5843"
+dependencies = [
+ "evm",
+ "evm-gasometer",
+ "evm-runtime",
+ "fp-evm",
+ "frame-support",
+ "frame-system",
+ "impl-trait-for-tuples 0.2.1",
+ "log",
+ "pallet-balances",
+ "pallet-timestamp",
+ "parity-scale-codec 2.1.3",
+ "primitive-types 0.9.0",
+ "rlp 0.5.0",
+ "serde",
+ "sha3 0.8.2",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
 name = "pallet-gilt"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "pallet-transaction-payment",
- "parity-scale-codec 2.1.1",
- "sp-api",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-arithmetic",
->>>>>>> origin/develop
  "sp-runtime",
  "sp-std",
 ]
@@ -6324,29 +5678,18 @@
 [[package]]
 name = "pallet-grandpa"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
-<<<<<<< HEAD
- "impl-trait-for-tuples 0.2.1",
- "pallet-balances",
- "parity-scale-codec 2.1.1",
- "serde",
-=======
  "log",
  "pallet-authorship",
  "pallet-session",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-application-crypto",
  "sp-core",
  "sp-finality-grandpa",
->>>>>>> origin/develop
  "sp-runtime",
  "sp-session",
  "sp-staking",
@@ -6356,107 +5699,44 @@
 [[package]]
 name = "pallet-identity"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
-<<<<<<< HEAD
- "parity-scale-codec 2.1.1",
- "serde",
-=======
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-io",
->>>>>>> origin/develop
  "sp-runtime",
  "sp-std",
 ]
 
 [[package]]
-<<<<<<< HEAD
-name = "parity-db"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "495197c078e54b8735181aa35c00a327f7f3a3cc00a1ee8c95926dd010f0ec6b"
-dependencies = [
- "blake2-rfc",
- "crc32fast",
- "fs2",
- "hex",
- "libc",
-=======
 name = "pallet-im-online"
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "frame-support",
  "frame-system",
->>>>>>> origin/develop
  "log",
  "pallet-authorship",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-application-crypto",
  "sp-core",
  "sp-io",
  "sp-runtime",
  "sp-staking",
  "sp-std",
-]
-
-[[package]]
-<<<<<<< HEAD
-name = "parity-multiaddr"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58341485071825827b7f03cf7efd1cb21e6a709bea778fb50227fd45d2f361b4"
-dependencies = [
- "arrayref",
- "bs58",
- "byteorder",
- "data-encoding",
- "multihash",
- "percent-encoding 2.1.0",
- "serde",
- "static_assertions",
- "unsigned-varint 0.7.0",
- "url 2.2.2",
-]
-
-[[package]]
-name = "parity-scale-codec"
-version = "1.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4b26b16c7687c3075982af47719e481815df30bc544f7a6690763a25ca16e9d"
-dependencies = [
- "arrayvec 0.5.2",
- "bitvec 0.17.4",
- "byte-slice-cast 0.3.5",
- "serde",
 ]
 
 [[package]]
-name = "parity-scale-codec"
-version = "2.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0f518afaa5a47d0d6386229b0a6e01e86427291d643aa4cabb4992219f504f8"
-dependencies = [
- "arrayvec 0.7.0",
- "bitvec 0.20.4",
- "byte-slice-cast 1.0.0",
- "parity-scale-codec-derive",
-=======
 name = "pallet-indices"
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-keyring",
@@ -6474,8 +5754,7 @@
  "pallet-balances",
  "pallet-randomness-collective-flip",
  "pallet-timestamp",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-core",
  "sp-io",
@@ -6484,17 +5763,6 @@
 ]
 
 [[package]]
-<<<<<<< HEAD
-name = "parity-scale-codec-derive"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f44c5f94427bd0b5076e8f7e15ca3f60a4d8ac0077e4793884e6fdfd8915344e"
-dependencies = [
- "proc-macro-crate 0.1.5",
- "proc-macro2",
- "quote",
- "syn",
-=======
 name = "pallet-membership"
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
@@ -6503,11 +5771,10 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-io",
  "sp-runtime",
  "sp-std",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -6515,30 +5782,16 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
-<<<<<<< HEAD
- "bytes 0.4.12",
- "futures 0.1.31",
- "libc",
- "log",
- "mio-named-pipes",
- "miow 0.3.7",
- "rand 0.7.3",
- "tokio 0.1.22",
- "tokio-named-pipes",
- "tokio-uds",
- "winapi 0.3.9",
-=======
  "ckb-merkle-mountain-range",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "pallet-mmr-primitives",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-runtime",
  "sp-std",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -6546,26 +5799,15 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
-<<<<<<< HEAD
- "cfg-if 1.0.0",
- "hashbrown",
- "impl-trait-for-tuples 0.2.1",
- "parity-util-mem-derive",
- "parking_lot 0.11.1",
- "primitive-types 0.9.0",
- "smallvec 1.6.1",
- "winapi 0.3.9",
-=======
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-api",
  "sp-core",
  "sp-runtime",
  "sp-std",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -6573,11 +5815,11 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "jsonrpc-core",
- "jsonrpc-core-client",
- "jsonrpc-derive",
+ "jsonrpc-core 15.1.0",
+ "jsonrpc-core-client 15.1.0",
+ "jsonrpc-derive 15.1.0",
  "pallet-mmr-primitives",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-api",
  "sp-blockchain",
@@ -6593,7 +5835,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-runtime",
@@ -6604,34 +5846,31 @@
 name = "pallet-nft"
 version = "3.0.0"
 dependencies = [
-<<<<<<< HEAD
- "byteorder",
- "bytes 0.4.12",
- "httparse",
- "log",
- "mio",
- "mio-extras",
- "rand 0.7.3",
- "sha-1 0.8.2",
- "slab",
- "url 2.2.2",
-=======
+ "ethereum",
+ "ethereum-tx-sign",
+ "evm-coder",
+ "fp-evm",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
+ "hex-literal",
  "nft-data-structs",
  "pallet-balances",
  "pallet-contracts",
+ "pallet-ethereum",
+ "pallet-evm",
  "pallet-randomness-collective-flip",
  "pallet-timestamp",
  "pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
+ "primitive-types 0.9.0",
+ "rlp 0.5.0",
  "serde",
+ "sp-api",
  "sp-core",
  "sp-io",
  "sp-runtime",
  "sp-std",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -6649,7 +5888,7 @@
  "pallet-randomness-collective-flip",
  "pallet-timestamp",
  "pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-core",
  "sp-io",
@@ -6671,7 +5910,7 @@
  "pallet-randomness-collective-flip",
  "pallet-timestamp",
  "pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-core",
  "sp-io",
@@ -6684,18 +5923,12 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
-<<<<<<< HEAD
- "instant",
- "lock_api 0.4.4",
- "parking_lot_core 0.8.3",
-=======
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-io",
  "sp-runtime",
  "sp-std",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -6707,7 +5940,7 @@
  "frame-system",
  "log",
  "pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-runtime",
  "sp-staking",
@@ -6721,7 +5954,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-runtime",
@@ -6733,24 +5966,9 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
-<<<<<<< HEAD
- "cfg-if 1.0.0",
- "instant",
- "libc",
- "redox_syscall 0.2.8",
- "smallvec 1.6.1",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "paste"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58"
-=======
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "safe-mix",
  "sp-runtime",
  "sp-std",
@@ -6764,7 +5982,7 @@
  "enumflags2",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-io",
  "sp-runtime",
  "sp-std",
@@ -6782,7 +6000,7 @@
  "pallet-contracts",
  "pallet-nft",
  "pallet-nft-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-core",
  "sp-io",
@@ -6790,7 +6008,6 @@
  "sp-std",
  "substrate-test-utils",
 ]
->>>>>>> origin/develop
 
 [[package]]
 name = "pallet-scheduler"
@@ -6801,7 +6018,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-io",
  "sp-runtime",
  "sp-std",
@@ -6814,9 +6031,9 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "impl-trait-for-tuples",
+ "impl-trait-for-tuples 0.2.1",
  "pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-runtime",
@@ -6833,7 +6050,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "rand_chacha 0.2.2",
  "sp-runtime",
  "sp-std",
@@ -6850,7 +6067,7 @@
  "log",
  "pallet-authorship",
  "pallet-session",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "paste",
  "serde",
  "sp-application-crypto",
@@ -6888,7 +6105,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-io",
  "sp-runtime",
  "sp-std",
@@ -6902,9 +6119,9 @@
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "impl-trait-for-tuples",
+ "impl-trait-for-tuples 0.2.1",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-inherents",
  "sp-io",
  "sp-runtime",
@@ -6920,7 +6137,7 @@
  "frame-support",
  "frame-system",
  "pallet-treasury",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-runtime",
  "sp-std",
@@ -6933,7 +6150,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "smallvec 1.6.1",
  "sp-core",
@@ -6947,49 +6164,25 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "jsonrpc-core",
- "jsonrpc-core-client",
- "jsonrpc-derive",
+ "jsonrpc-core 15.1.0",
+ "jsonrpc-core-client 15.1.0",
+ "jsonrpc-derive 15.1.0",
  "pallet-transaction-payment-rpc-runtime-api",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-blockchain",
  "sp-core",
  "sp-rpc",
  "sp-runtime",
-]
-
-[[package]]
-<<<<<<< HEAD
-name = "pin-project"
-version = "0.4.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "918192b5c59119d51e0cd221f4d49dde9112824ba717369e903c97d076083d0f"
-dependencies = [
- "pin-project-internal 0.4.28",
-]
-
-[[package]]
-name = "pin-project"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7509cc106041c40a4518d2af7a61530e1eed0e6285296a3d8c5472806ccc4a4"
-dependencies = [
- "pin-project-internal 1.0.7",
 ]
 
 [[package]]
-name = "pin-project-internal"
-version = "0.4.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e"
-=======
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-runtime",
 ]
@@ -7001,9 +6194,9 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "impl-trait-for-tuples",
+ "impl-trait-for-tuples 0.2.1",
  "pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-runtime",
  "sp-std",
@@ -7013,11 +6206,10 @@
 name = "pallet-utility"
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-runtime",
@@ -7025,45 +6217,26 @@
 ]
 
 [[package]]
-<<<<<<< HEAD
-name = "pin-project-internal"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f"
-=======
 name = "pallet-vesting"
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "enumflags2",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-runtime",
  "sp-std",
 ]
 
 [[package]]
-<<<<<<< HEAD
-name = "pin-project-lite"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
-=======
 name = "pallet-xcm"
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-runtime",
  "sp-std",
@@ -7079,15 +6252,15 @@
  "cumulus-primitives-core",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
 ]
 
 [[package]]
 name = "parity-db"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "495197c078e54b8735181aa35c00a327f7f3a3cc00a1ee8c95926dd010f0ec6b"
+checksum = "2e337f62db341435f0da05b8f6b97e984ef4ea5800510cd07c2d624688c40b47"
 dependencies = [
  "blake2-rfc",
  "crc32fast",
@@ -7097,7 +6270,7 @@
  "log",
  "memmap2",
  "parking_lot 0.11.1",
- "rand 0.8.3",
+ "rand 0.8.4",
 ]
 
 [[package]]
@@ -7115,30 +6288,41 @@
  "serde",
  "static_assertions",
  "unsigned-varint 0.7.0",
- "url 2.2.1",
+ "url 2.2.2",
 ]
->>>>>>> origin/develop
 
 [[package]]
 name = "parity-scale-codec"
-version = "2.1.1"
+version = "1.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0f518afaa5a47d0d6386229b0a6e01e86427291d643aa4cabb4992219f504f8"
+checksum = "a4b26b16c7687c3075982af47719e481815df30bc544f7a6690763a25ca16e9d"
 dependencies = [
- "arrayvec 0.7.0",
- "bitvec",
- "byte-slice-cast",
+ "arrayvec 0.5.2",
+ "bitvec 0.17.4",
+ "byte-slice-cast 0.3.5",
+ "serde",
+]
+
+[[package]]
+name = "parity-scale-codec"
+version = "2.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b310f220c335f9df1b3d2e9fbe3890bbfeef5030dad771620f48c5c229877cd3"
+dependencies = [
+ "arrayvec 0.7.1",
+ "bitvec 0.20.4",
+ "byte-slice-cast 1.0.0",
  "parity-scale-codec-derive",
  "serde",
 ]
 
 [[package]]
 name = "parity-scale-codec-derive"
-version = "2.1.0"
+version = "2.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f44c5f94427bd0b5076e8f7e15ca3f60a4d8ac0077e4793884e6fdfd8915344e"
+checksum = "81038e13ca2c32587201d544ea2e6b6c47120f1e4eae04478f9f60b6bcb89145"
 dependencies = [
- "proc-macro-crate 0.1.5",
+ "proc-macro-crate 1.0.0",
  "proc-macro2",
  "quote",
  "syn",
@@ -7176,13 +6360,13 @@
 checksum = "664a8c6b8e62d8f9f2f937e391982eb433ab285b4cd9545b342441e04a906e42"
 dependencies = [
  "cfg-if 1.0.0",
- "ethereum-types",
+ "ethereum-types 0.11.0",
  "hashbrown",
- "impl-trait-for-tuples",
+ "impl-trait-for-tuples 0.2.1",
  "lru",
  "parity-util-mem-derive",
  "parking_lot 0.11.1",
- "primitive-types",
+ "primitive-types 0.9.0",
  "smallvec 1.6.1",
  "winapi 0.3.9",
 ]
@@ -7234,7 +6418,7 @@
  "rand 0.7.3",
  "sha-1 0.8.2",
  "slab",
- "url 2.2.1",
+ "url 2.2.2",
 ]
 
 [[package]]
@@ -7271,7 +6455,7 @@
 checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"
 dependencies = [
  "instant",
- "lock_api 0.4.3",
+ "lock_api 0.4.4",
  "parking_lot_core 0.8.3",
 ]
 
@@ -7313,7 +6497,7 @@
  "cfg-if 1.0.0",
  "instant",
  "libc",
- "redox_syscall 0.2.6",
+ "redox_syscall 0.2.9",
  "smallvec 1.6.1",
  "winapi 0.3.9",
 ]
@@ -7431,11 +6615,11 @@
 
 [[package]]
 name = "pin-project"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc174859768806e91ae575187ada95c91a29e96a98dc5d2cd9a1fed039501ba6"
+checksum = "c7509cc106041c40a4518d2af7a61530e1eed0e6285296a3d8c5472806ccc4a4"
 dependencies = [
- "pin-project-internal 1.0.6",
+ "pin-project-internal 1.0.7",
 ]
 
 [[package]]
@@ -7451,9 +6635,9 @@
 
 [[package]]
 name = "pin-project-internal"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a490329918e856ed1b083f244e3bfe2d8c4f336407e4ea9e1a9f479ff09049e5"
+checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -7495,7 +6679,7 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
+ "futures 0.3.15",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7509,7 +6693,7 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
+ "futures 0.3.15",
  "polkadot-node-network-protocol",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
@@ -7522,9 +6706,9 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
+ "futures 0.3.15",
  "lru",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-erasure-coding",
  "polkadot-node-core-runtime-api",
  "polkadot-node-network-protocol",
@@ -7532,7 +6716,7 @@
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
  "polkadot-primitives",
- "rand 0.8.3",
+ "rand 0.8.4",
  "sp-application-crypto",
  "sp-core",
  "sp-keystore",
@@ -7545,16 +6729,16 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
+ "futures 0.3.15",
  "lru",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-erasure-coding",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
  "polkadot-primitives",
- "rand 0.8.3",
+ "rand 0.8.4",
  "thiserror",
  "tracing",
 ]
@@ -7565,7 +6749,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "frame-benchmarking-cli",
- "futures 0.3.14",
+ "futures 0.3.15",
  "log",
  "polkadot-node-core-pvf",
  "polkadot-service",
@@ -7585,7 +6769,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "always-assert",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
@@ -7604,7 +6788,7 @@
 version = "0.9.3"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parity-util-mem",
  "sp-core",
  "sp-runtime",
@@ -7616,7 +6800,7 @@
 version = "0.9.3"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-node-primitives",
  "polkadot-primitives",
  "reed-solomon-novelpoly",
@@ -7630,7 +6814,7 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
+ "futures 0.3.15",
  "polkadot-node-network-protocol",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
@@ -7646,8 +6830,8 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "async-trait",
- "futures 0.3.14",
- "parity-scale-codec",
+ "futures 0.3.15",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "polkadot-node-network-protocol",
  "polkadot-node-subsystem",
@@ -7665,8 +6849,8 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
- "parity-scale-codec",
+ "futures 0.3.15",
+ "parity-scale-codec 2.1.3",
  "polkadot-erasure-coding",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7683,13 +6867,13 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "bitvec",
+ "bitvec 0.20.4",
  "derive_more",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "kvdb",
  "merlin",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-node-jaeger",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7712,11 +6896,11 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "bitvec",
- "futures 0.3.14",
+ "bitvec 0.20.4",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "kvdb",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-erasure-coding",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7732,8 +6916,8 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "bitvec",
- "futures 0.3.14",
+ "bitvec 0.20.4",
+ "futures 0.3.15",
  "polkadot-erasure-coding",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7750,7 +6934,7 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
+ "futures 0.3.15",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
  "polkadot-primitives",
@@ -7765,7 +6949,7 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
+ "futures 0.3.15",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
@@ -7781,8 +6965,8 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "async-trait",
- "futures 0.3.14",
- "parity-scale-codec",
+ "futures 0.3.15",
+ "parity-scale-codec 2.1.3",
  "polkadot-node-core-pvf",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7798,7 +6982,7 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
+ "futures 0.3.15",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
  "polkadot-primitives",
@@ -7812,7 +6996,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "async-trait",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "polkadot-node-subsystem",
  "polkadot-overseer",
@@ -7829,8 +7013,8 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "bitvec",
- "futures 0.3.14",
+ "bitvec 0.20.4",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
@@ -7848,14 +7032,14 @@
  "assert_matches",
  "async-process",
  "async-std",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "libc",
- "parity-scale-codec",
- "pin-project 1.0.6",
+ "parity-scale-codec 2.1.3",
+ "pin-project 1.0.7",
  "polkadot-core-primitives",
  "polkadot-parachain",
- "rand 0.8.3",
+ "rand 0.8.4",
  "sc-executor",
  "sc-executor-common",
  "sc-executor-wasmtime",
@@ -7872,7 +7056,7 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
+ "futures 0.3.15",
  "memory-lru",
  "parity-util-mem",
  "polkadot-node-subsystem",
@@ -7894,7 +7078,7 @@
  "lazy_static",
  "log",
  "mick-jaeger",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "polkadot-node-primitives",
  "polkadot-primitives",
@@ -7908,8 +7092,8 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
- "parity-scale-codec",
+ "futures 0.3.15",
+ "parity-scale-codec 2.1.3",
  "polkadot-node-jaeger",
  "polkadot-node-primitives",
  "polkadot-primitives",
@@ -7923,8 +7107,8 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "futures 0.3.14",
- "parity-scale-codec",
+ "futures 0.3.15",
+ "parity-scale-codec 2.1.3",
  "polkadot-parachain",
  "polkadot-primitives",
  "polkadot-statement-table",
@@ -7948,14 +7132,14 @@
  "async-std",
  "async-trait",
  "derive_more",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "lazy_static",
  "log",
  "mick-jaeger",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
- "pin-project 1.0.6",
+ "pin-project 1.0.7",
  "polkadot-node-jaeger",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
@@ -7976,18 +7160,18 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "async-trait",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "lru",
  "metered-channel",
- "parity-scale-codec",
- "pin-project 1.0.6",
+ "parity-scale-codec 2.1.3",
+ "pin-project 1.0.7",
  "polkadot-node-jaeger",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-primitives",
- "rand 0.8.3",
+ "rand 0.8.4",
  "sc-network",
  "sp-application-crypto",
  "sp-core",
@@ -8004,7 +7188,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "async-trait",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -8022,7 +7206,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "derive_more",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parity-util-mem",
  "polkadot-core-primitives",
  "serde",
@@ -8036,10 +7220,10 @@
 version = "0.9.3"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "bitvec",
+ "bitvec 0.20.4",
  "frame-system",
  "hex-literal",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parity-util-mem",
  "polkadot-core-primitives",
  "polkadot-parachain",
@@ -8089,10 +7273,10 @@
 dependencies = [
  "beefy-gadget",
  "beefy-gadget-rpc",
- "jsonrpc-core",
+ "jsonrpc-core 15.1.0",
  "pallet-mmr-rpc",
  "pallet-transaction-payment-rpc",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-primitives",
  "sc-chain-spec",
  "sc-client-api",
@@ -8121,7 +7305,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "beefy-primitives",
- "bitvec",
+ "bitvec 0.20.4",
  "frame-executive",
  "frame-support",
  "frame-system",
@@ -8159,7 +7343,7 @@
  "pallet-treasury",
  "pallet-utility",
  "pallet-vesting",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-primitives",
  "polkadot-runtime-common",
  "rustc-hex",
@@ -8191,10 +7375,10 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "beefy-primitives",
- "bitvec",
+ "bitvec 0.20.4",
  "frame-support",
  "frame-system",
- "impl-trait-for-tuples",
+ "impl-trait-for-tuples 0.2.1",
  "libsecp256k1",
  "log",
  "pallet-authorship",
@@ -8208,7 +7392,7 @@
  "pallet-transaction-payment",
  "pallet-treasury",
  "pallet-vesting",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-primitives",
  "polkadot-runtime-parachains",
  "rustc-hex",
@@ -8232,7 +7416,7 @@
 version = "0.9.3"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "bitvec",
+ "bitvec 0.20.4",
  "derive_more",
  "frame-support",
  "frame-system",
@@ -8245,10 +7429,10 @@
  "pallet-staking",
  "pallet-timestamp",
  "pallet-vesting",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-primitives",
- "rand 0.8.3",
- "rand_chacha 0.3.0",
+ "rand 0.8.4",
+ "rand_chacha 0.3.1",
  "rustc-hex",
  "serde",
  "sp-api",
@@ -8273,7 +7457,7 @@
  "beefy-primitives",
  "frame-benchmarking",
  "frame-system-rpc-runtime-api",
- "futures 0.3.14",
+ "futures 0.3.15",
  "hex-literal",
  "kusama-runtime",
  "kvdb",
@@ -8362,9 +7546,9 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "arrayvec 0.5.2",
- "futures 0.3.14",
+ "futures 0.3.15",
  "indexmap",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -8382,7 +7566,7 @@
 version = "0.9.3"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-primitives",
  "sp-core",
 ]
@@ -8393,7 +7577,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "beefy-primitives",
- "bitvec",
+ "bitvec 0.20.4",
  "frame-election-provider-support",
  "frame-executive",
  "frame-support",
@@ -8418,7 +7602,7 @@
  "pallet-transaction-payment",
  "pallet-transaction-payment-rpc-runtime-api",
  "pallet-vesting",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-parachain",
  "polkadot-primitives",
  "polkadot-runtime-common",
@@ -8452,7 +7636,7 @@
  "frame-benchmarking",
  "frame-system",
  "futures 0.1.31",
- "futures 0.3.14",
+ "futures 0.3.15",
  "hex",
  "pallet-balances",
  "pallet-staking",
@@ -8467,7 +7651,7 @@
  "polkadot-runtime-parachains",
  "polkadot-service",
  "polkadot-test-runtime",
- "rand 0.8.3",
+ "rand 0.8.4",
  "sc-authority-discovery",
  "sc-chain-spec",
  "sc-cli",
@@ -8498,14 +7682,14 @@
 
 [[package]]
 name = "polling"
-version = "2.0.3"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fc12d774e799ee9ebae13f4076ca003b40d18a11ac0f3641e6f899618580b7b"
+checksum = "92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
  "log",
- "wepoll-sys",
+ "wepoll-ffi",
  "winapi 0.3.9",
 ]
 
@@ -8555,15 +7739,9 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2415937401cb030a2a0a4d922483f945fa068f52a7dbb22ce0fe5f2b6f6adace"
 dependencies = [
-<<<<<<< HEAD
  "fixed-hash 0.7.0",
  "impl-codec 0.5.0",
  "impl-rlp 0.3.0",
-=======
- "fixed-hash",
- "impl-codec",
- "impl-rlp",
->>>>>>> origin/develop
  "impl-serde",
  "uint 0.9.0",
 ]
@@ -8625,9 +7803,9 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.26"
+version = "1.0.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
+checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
 dependencies = [
  "unicode-xid",
 ]
@@ -8671,11 +7849,7 @@
  "prost",
  "prost-types",
  "tempfile",
-<<<<<<< HEAD
  "which",
-=======
- "which 4.1.0",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -8703,9 +7877,9 @@
 
 [[package]]
 name = "psm"
-version = "0.1.12"
+version = "0.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3abf49e5417290756acfd26501536358560c4a5cc4a0934d390939acb3e7083a"
+checksum = "21ff0279b4a85e576b97e4a21d13e437ebcd56612706cde5d3f0d5c9399490c0"
 dependencies = [
  "cc",
 ]
@@ -8815,14 +7989,14 @@
 
 [[package]]
 name = "rand"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
+checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
 dependencies = [
  "libc",
- "rand_chacha 0.3.0",
- "rand_core 0.6.2",
- "rand_hc 0.3.0",
+ "rand_chacha 0.3.1",
+ "rand_core 0.6.3",
+ "rand_hc 0.3.1",
 ]
 
 [[package]]
@@ -8837,12 +8011,12 @@
 
 [[package]]
 name = "rand_chacha"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
  "ppv-lite86",
- "rand_core 0.6.2",
+ "rand_core 0.6.3",
 ]
 
 [[package]]
@@ -8871,20 +8045,21 @@
 
 [[package]]
 name = "rand_core"
-version = "0.6.2"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
+checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
 dependencies = [
- "getrandom 0.2.2",
+ "getrandom 0.2.3",
 ]
 
 [[package]]
 name = "rand_distr"
-version = "0.2.2"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96977acbdd3a6576fb1d27391900035bf3863d4a16422973a409b488cf29ffb2"
+checksum = "051b398806e42b9cd04ad9ec8f81e355d0a382c543ac6672c62f5a5b452ef142"
 dependencies = [
- "rand 0.7.3",
+ "num-traits",
+ "rand 0.8.4",
 ]
 
 [[package]]
@@ -8898,11 +8073,11 @@
 
 [[package]]
 name = "rand_hc"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
+checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
 dependencies = [
- "rand_core 0.6.2",
+ "rand_core 0.6.3",
 ]
 
 [[package]]
@@ -8922,9 +8097,9 @@
 
 [[package]]
 name = "rayon"
-version = "1.5.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674"
+checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90"
 dependencies = [
  "autocfg",
  "crossbeam-deque 0.8.0",
@@ -8934,17 +8109,13 @@
 
 [[package]]
 name = "rayon-core"
-version = "1.9.0"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a"
+checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e"
 dependencies = [
  "crossbeam-channel",
  "crossbeam-deque 0.8.0",
-<<<<<<< HEAD
- "crossbeam-utils 0.8.4",
-=======
- "crossbeam-utils 0.8.3",
->>>>>>> origin/develop
+ "crossbeam-utils 0.8.5",
  "lazy_static",
  "num_cpus",
 ]
@@ -8963,24 +8134,12 @@
 version = "0.1.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-<<<<<<< HEAD
-=======
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.6"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8270314b5ccceb518e7e578952f0b72b88222d02e8f77f5ecf7abbb673539041"
-dependencies = [
- "bitflags",
-]
->>>>>>> origin/develop
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc"
+checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee"
 dependencies = [
  "bitflags",
 ]
@@ -8991,11 +8150,8 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
 dependencies = [
- "getrandom 0.2.2",
-<<<<<<< HEAD
- "redox_syscall 0.2.8",
-=======
- "redox_syscall 0.2.6",
+ "getrandom 0.2.3",
+ "redox_syscall 0.2.9",
 ]
 
 [[package]]
@@ -9006,10 +8162,9 @@
 dependencies = [
  "derive_more",
  "fs-err",
- "itertools 0.10.0",
+ "itertools 0.10.1",
  "static_init",
  "thiserror",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -9046,15 +8201,9 @@
 
 [[package]]
 name = "regex"
-<<<<<<< HEAD
 version = "1.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
-=======
-version = "1.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19"
->>>>>>> origin/develop
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -9063,25 +8212,18 @@
 
 [[package]]
 name = "regex-automata"
-version = "0.1.9"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
 dependencies = [
- "byteorder",
  "regex-syntax",
 ]
 
 [[package]]
 name = "regex-syntax"
-<<<<<<< HEAD
 version = "0.6.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
-=======
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"
->>>>>>> origin/develop
 
 [[package]]
 name = "region"
@@ -9100,12 +8242,12 @@
 version = "0.9.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "env_logger 0.8.3",
+ "env_logger 0.8.4",
  "hex-literal",
  "jsonrpsee-http-client",
  "jsonrpsee-proc-macros",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-runtime",
@@ -9153,7 +8295,6 @@
 
 [[package]]
 name = "rlp"
-<<<<<<< HEAD
 version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1190dcc8c3a512f1eef5d09bb8c84c7f39e1054e174d1795482e18f5272f2e73"
@@ -9163,8 +8304,6 @@
 
 [[package]]
 name = "rlp"
-=======
->>>>>>> origin/develop
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e54369147e3e7796c9b885c7304db87ca3d09a0a98f72843d532868675bbfba8"
@@ -9174,7 +8313,6 @@
 ]
 
 [[package]]
-<<<<<<< HEAD
 name = "rlp-derive"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9186,8 +8324,6 @@
 ]
 
 [[package]]
-=======
->>>>>>> origin/develop
 name = "rocksdb"
 version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9235,7 +8371,7 @@
  "pallet-transaction-payment-rpc-runtime-api",
  "pallet-utility",
  "pallet-xcm",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-parachain",
  "polkadot-primitives",
  "polkadot-runtime-common",
@@ -9274,21 +8410,6 @@
 ]
 
 [[package]]
-<<<<<<< HEAD
-=======
-name = "rust-argon2"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb"
-dependencies = [
- "base64 0.13.0",
- "blake2b_simd",
- "constant_time_eq",
- "crossbeam-utils 0.8.3",
-]
-
-[[package]]
->>>>>>> origin/develop
 name = "rustc-demangle"
 version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9369,11 +8490,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020"
 dependencies = [
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "pin-project 0.4.28",
  "static_assertions",
 ]
@@ -9419,12 +8536,12 @@
  "async-trait",
  "derive_more",
  "either",
- "futures 0.3.14",
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "ip_network",
  "libp2p",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "prost",
  "prost-build",
  "rand 0.7.3",
@@ -9443,18 +8560,12 @@
 [[package]]
 name = "sc-basic-authorship"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sc-block-builder",
  "sc-client-api",
  "sc-proposer-metrics",
@@ -9472,13 +8583,9 @@
 [[package]]
 name = "sc-block-builder"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sc-client-api",
  "sp-api",
  "sp-block-builder",
@@ -9492,14 +8599,10 @@
 [[package]]
 name = "sc-chain-spec"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "impl-trait-for-tuples 0.2.1",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sc-chain-spec-derive",
  "sc-consensus-babe",
  "sc-consensus-epochs",
@@ -9517,11 +8620,7 @@
 [[package]]
 name = "sc-chain-spec-derive"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -9532,24 +8631,16 @@
 [[package]]
 name = "sc-cli"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "chrono",
  "fdlimit",
  "futures 0.3.15",
-=======
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
-dependencies = [
- "chrono",
- "fdlimit",
- "futures 0.3.14",
->>>>>>> origin/develop
  "hex",
  "libp2p",
  "log",
  "names",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "rand 0.7.3",
  "regex",
  "rpassword",
@@ -9578,24 +8669,16 @@
 [[package]]
 name = "sc-client-api"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "derive_more",
- "fnv",
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "derive_more",
  "fnv",
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "hash-db",
  "kvdb",
  "lazy_static",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "sc-executor",
  "sp-api",
@@ -9620,11 +8703,7 @@
 [[package]]
 name = "sc-client-db"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "blake2-rfc",
  "hash-db",
@@ -9634,7 +8713,7 @@
  "linked-hash-map",
  "log",
  "parity-db",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parity-util-mem",
  "parking_lot 0.11.1",
  "sc-client-api",
@@ -9654,11 +8733,7 @@
 [[package]]
 name = "sc-consensus"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "parking_lot 0.11.1",
  "sc-client-api",
@@ -9670,26 +8745,14 @@
 [[package]]
 name = "sc-consensus-aura"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "async-trait",
  "derive_more",
-<<<<<<< HEAD
  "futures 0.3.15",
  "futures-timer 3.0.2",
  "log",
- "parity-scale-codec 2.1.1",
- "parking_lot 0.11.1",
-=======
- "futures 0.3.14",
- "futures-timer 3.0.2",
- "log",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sc-block-builder",
  "sc-client-api",
  "sc-consensus-slots",
@@ -9713,27 +8776,19 @@
 [[package]]
 name = "sc-consensus-babe"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "async-trait",
  "derive_more",
  "fork-tree",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "futures-timer 3.0.2",
  "log",
  "merlin",
  "num-bigint",
  "num-rational 0.2.4",
  "num-traits",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "pdqselect",
  "rand 0.7.3",
@@ -9770,10 +8825,10 @@
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "derive_more",
- "futures 0.3.14",
- "jsonrpc-core",
- "jsonrpc-core-client",
- "jsonrpc-derive",
+ "futures 0.3.15",
+ "jsonrpc-core 15.1.0",
+ "jsonrpc-core-client 15.1.0",
+ "jsonrpc-derive 15.1.0",
  "sc-consensus-babe",
  "sc-consensus-epochs",
  "sc-rpc-api",
@@ -9791,18 +8846,10 @@
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "fork-tree",
- "parity-scale-codec 2.1.1",
- "parking_lot 0.11.1",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "fork-tree",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sc-client-api",
  "sc-consensus",
  "sp-blockchain",
@@ -9812,25 +8859,14 @@
 [[package]]
 name = "sc-consensus-slots"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "async-trait",
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "futures-timer 3.0.2",
- "impl-trait-for-tuples",
+ "impl-trait-for-tuples 0.2.1",
  "log",
-<<<<<<< HEAD
- "parity-scale-codec 2.1.1",
- "parking_lot 0.11.1",
-=======
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sc-client-api",
  "sc-telemetry",
  "sp-api",
@@ -9851,11 +8887,7 @@
 [[package]]
 name = "sc-consensus-uncles"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "sc-client-api",
  "sp-authorship",
@@ -9866,17 +8898,13 @@
 [[package]]
 name = "sc-executor"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "derive_more",
  "lazy_static",
  "libsecp256k1",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parity-wasm 0.41.0",
  "parking_lot 0.11.1",
  "sc-executor-common",
@@ -9899,14 +8927,10 @@
 [[package]]
 name = "sc-executor-common"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "derive_more",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parity-wasm 0.41.0",
  "pwasm-utils 0.14.0",
  "sp-allocator",
@@ -9921,14 +8945,10 @@
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sc-executor-common",
  "sp-allocator",
  "sp-core",
@@ -9940,14 +8960,10 @@
 [[package]]
 name = "sc-executor-wasmtime"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parity-wasm 0.41.0",
  "pwasm-utils 0.14.0",
  "sc-executor-common",
@@ -9962,33 +8978,20 @@
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "async-trait",
  "derive_more",
  "dyn-clone",
  "finality-grandpa",
  "fork-tree",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "futures-timer 3.0.2",
  "linked-hash-map",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
-<<<<<<< HEAD
  "pin-project 1.0.7",
- "rand 0.7.3",
- "sc-block-builder",
-=======
- "pin-project 1.0.6",
  "rand 0.7.3",
  "sc-block-builder",
  "sc-client-api",
@@ -10019,13 +9022,13 @@
 dependencies = [
  "derive_more",
  "finality-grandpa",
- "futures 0.3.14",
- "jsonrpc-core",
- "jsonrpc-core-client",
- "jsonrpc-derive",
- "jsonrpc-pubsub",
+ "futures 0.3.15",
+ "jsonrpc-core 15.1.0",
+ "jsonrpc-core-client 15.1.0",
+ "jsonrpc-derive 15.1.0",
+ "jsonrpc-pubsub 15.1.0",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sc-client-api",
  "sc-finality-grandpa",
  "sc-rpc",
@@ -10042,13 +9045,12 @@
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "derive_more",
- "futures 0.3.14",
+ "futures 0.3.15",
  "log",
  "num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "prost",
->>>>>>> origin/develop
  "sc-client-api",
  "sc-finality-grandpa",
  "sc-network",
@@ -10061,17 +9063,10 @@
 [[package]]
 name = "sc-informant"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "ansi_term 0.12.1",
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "ansi_term 0.12.1",
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "log",
  "parity-util-mem",
  "sc-client-api",
@@ -10086,19 +9081,11 @@
 [[package]]
 name = "sc-keystore"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "async-trait",
- "derive_more",
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "async-trait",
  "derive_more",
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "futures-util",
  "hex",
  "merlin",
@@ -10114,15 +9101,11 @@
 [[package]]
 name = "sc-light"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "hash-db",
  "lazy_static",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "sc-client-api",
  "sc-executor",
@@ -10137,11 +9120,7 @@
 [[package]]
 name = "sc-network"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "async-std",
  "async-trait",
@@ -10155,11 +9134,7 @@
  "erased-serde",
  "fnv",
  "fork-tree",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "futures-timer 3.0.2",
  "hex",
  "ip_network",
@@ -10169,13 +9144,9 @@
  "log",
  "lru",
  "nohash-hasher",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
-<<<<<<< HEAD
  "pin-project 1.0.7",
-=======
- "pin-project 1.0.6",
->>>>>>> origin/develop
  "prost",
  "prost-build",
  "rand 0.7.3",
@@ -10202,15 +9173,9 @@
 [[package]]
 name = "sc-network-gossip"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "libp2p",
  "log",
@@ -10225,26 +9190,18 @@
 [[package]]
 name = "sc-offchain"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "bytes 0.5.6",
- "fnv",
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "bytes 0.5.6",
  "fnv",
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "hex",
  "hyper 0.13.10",
  "hyper-rustls",
  "log",
  "num_cpus",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "rand 0.7.3",
  "sc-client-api",
@@ -10261,15 +9218,9 @@
 [[package]]
 name = "sc-peerset"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "futures 0.3.15",
-=======
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
-dependencies = [
- "futures 0.3.14",
->>>>>>> origin/develop
  "libp2p",
  "log",
  "serde_json",
@@ -10280,11 +9231,7 @@
 [[package]]
 name = "sc-proposer-metrics"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -10293,20 +9240,14 @@
 [[package]]
 name = "sc-rpc"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "hash-db",
  "jsonrpc-core 15.1.0",
  "jsonrpc-pubsub 15.1.0",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "sc-block-builder",
  "sc-client-api",
@@ -10334,8 +9275,7 @@
 [[package]]
 name = "sc-rpc-api"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "derive_more",
  "futures 0.3.15",
@@ -10343,18 +9283,8 @@
  "jsonrpc-core-client 15.1.0",
  "jsonrpc-derive 15.1.0",
  "jsonrpc-pubsub 15.1.0",
-=======
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
-dependencies = [
- "derive_more",
- "futures 0.3.14",
- "jsonrpc-core",
- "jsonrpc-core-client",
- "jsonrpc-derive",
- "jsonrpc-pubsub",
->>>>>>> origin/develop
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "serde",
  "serde_json",
@@ -10370,17 +9300,10 @@
 [[package]]
 name = "sc-rpc-server"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "futures 0.1.31",
- "jsonrpc-core 15.1.0",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "futures 0.1.31",
- "jsonrpc-core",
->>>>>>> origin/develop
+ "jsonrpc-core 15.1.0",
  "jsonrpc-http-server",
  "jsonrpc-ipc-server",
  "jsonrpc-pubsub 15.1.0",
@@ -10395,35 +9318,23 @@
 [[package]]
 name = "sc-service"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "async-trait",
  "directories",
  "exit-future",
  "futures 0.1.31",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "futures-timer 3.0.2",
  "hash-db",
  "jsonrpc-core 15.1.0",
  "jsonrpc-pubsub 15.1.0",
  "lazy_static",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parity-util-mem",
  "parking_lot 0.11.1",
-<<<<<<< HEAD
  "pin-project 1.0.7",
-=======
- "pin-project 1.0.6",
->>>>>>> origin/develop
  "rand 0.7.3",
  "sc-block-builder",
  "sc-chain-spec",
@@ -10471,14 +9382,10 @@
 [[package]]
 name = "sc-state-db"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parity-util-mem",
  "parity-util-mem-derive",
  "parking_lot 0.11.1",
@@ -10492,9 +9399,9 @@
 version = "0.9.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "jsonrpc-core",
- "jsonrpc-core-client",
- "jsonrpc-derive",
+ "jsonrpc-core 15.1.0",
+ "jsonrpc-core-client 15.1.0",
+ "jsonrpc-derive 15.1.0",
  "sc-chain-spec",
  "sc-client-api",
  "sc-consensus-babe",
@@ -10510,8 +9417,7 @@
 [[package]]
 name = "sc-telemetry"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "chrono",
  "futures 0.3.15",
@@ -10519,16 +9425,6 @@
  "log",
  "parking_lot 0.11.1",
  "pin-project 1.0.7",
-=======
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
-dependencies = [
- "chrono",
- "futures 0.3.14",
- "libp2p",
- "log",
- "parking_lot 0.11.1",
- "pin-project 1.0.6",
->>>>>>> origin/develop
  "rand 0.7.3",
  "serde",
  "serde_json",
@@ -10541,11 +9437,7 @@
 [[package]]
 name = "sc-tracing"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "ansi_term 0.12.1",
  "atty",
@@ -10556,12 +9448,9 @@
  "parking_lot 0.11.1",
  "regex",
  "rustc-hash",
-<<<<<<< HEAD
-=======
  "sc-client-api",
  "sc-rpc-server",
  "sc-telemetry",
->>>>>>> origin/develop
  "sc-tracing-proc-macro",
  "serde",
  "serde_json",
@@ -10585,11 +9474,7 @@
 [[package]]
 name = "sc-tracing-proc-macro"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -10600,17 +9485,10 @@
 [[package]]
 name = "sc-transaction-graph"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "derive_more",
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "derive_more",
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "linked-hash-map",
  "log",
  "parity-util-mem",
@@ -10629,19 +9507,13 @@
 [[package]]
 name = "sc-transaction-pool"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "futures-diagnose",
  "intervalier",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parity-util-mem",
  "parking_lot 0.11.1",
  "sc-client-api",
@@ -10824,30 +9696,18 @@
 
 [[package]]
 name = "serde"
-<<<<<<< HEAD
 version = "1.0.126"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"
-=======
-version = "1.0.125"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171"
->>>>>>> origin/develop
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-<<<<<<< HEAD
 version = "1.0.126"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"
-=======
-version = "1.0.125"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d"
->>>>>>> origin/develop
 dependencies = [
  "proc-macro2",
  "quote",
@@ -10879,15 +9739,9 @@
 
 [[package]]
 name = "sha-1"
-<<<<<<< HEAD
 version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8c4cfa741c5832d0ef7fab46cabed29c2aae926db0b11bb2069edd8db5e64e16"
-=======
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfebf75d25bd900fd1e7d11501efab59bc846dbc76196839663e6637bba9f25f"
->>>>>>> origin/develop
 dependencies = [
  "block-buffer 0.9.0",
  "cfg-if 1.0.0",
@@ -10963,9 +9817,9 @@
 
 [[package]]
 name = "signal-hook"
-version = "0.3.8"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef33d6d0cd06e0840fba9985aab098c147e67e05cee14d412d3345ed14ff30ac"
+checksum = "470c5a6397076fae0094aaf06a08e6ba6f37acb77d3b1b91ea92b4d6c8650c39"
 dependencies = [
  "libc",
  "signal-hook-registry",
@@ -10973,9 +9827,9 @@
 
 [[package]]
 name = "signal-hook-registry"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6"
+checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
 dependencies = [
  "libc",
 ]
@@ -10999,6 +9853,18 @@
 ]
 
 [[package]]
+name = "simba"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c"
+dependencies = [
+ "approx 0.5.0",
+ "num-complex 0.4.0",
+ "num-traits",
+ "paste",
+]
+
+[[package]]
 name = "slab"
 version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11019,7 +9885,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "enumn",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "paste",
  "sp-runtime",
  "sp-std",
@@ -11097,29 +9963,17 @@
  "base64 0.12.3",
  "bytes 0.5.6",
  "flate2",
-<<<<<<< HEAD
  "futures 0.3.15",
  "httparse",
  "log",
  "rand 0.7.3",
  "sha-1 0.9.6",
-=======
- "futures 0.3.14",
- "httparse",
- "log",
- "rand 0.7.3",
- "sha-1 0.9.4",
->>>>>>> origin/develop
 ]
 
 [[package]]
 name = "sp-allocator"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "log",
  "sp-core",
@@ -11131,19 +9985,11 @@
 [[package]]
 name = "sp-api"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "hash-db",
- "log",
- "parity-scale-codec 2.1.1",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "hash-db",
  "log",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sp-api-proc-macro",
  "sp-core",
  "sp-runtime",
@@ -11156,11 +10002,7 @@
 [[package]]
 name = "sp-api-proc-macro"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "blake2-rfc",
  "proc-macro-crate 1.0.0",
@@ -11172,13 +10014,9 @@
 [[package]]
 name = "sp-application-crypto"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-core",
  "sp-io",
@@ -11188,15 +10026,11 @@
 [[package]]
 name = "sp-arithmetic"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "integer-sqrt",
  "num-traits",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-debug-derive",
  "sp-std",
@@ -11208,7 +10042,7 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-application-crypto",
  "sp-runtime",
@@ -11218,16 +10052,10 @@
 [[package]]
 name = "sp-authorship"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "parity-scale-codec 2.1.1",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "async-trait",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sp-inherents",
  "sp-runtime",
  "sp-std",
@@ -11236,13 +10064,9 @@
 [[package]]
 name = "sp-block-builder"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-inherents",
  "sp-runtime",
@@ -11252,18 +10076,12 @@
 [[package]]
 name = "sp-blockchain"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "log",
  "lru",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "sp-api",
  "sp-consensus",
@@ -11276,11 +10094,7 @@
 [[package]]
 name = "sp-chain-spec"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "serde",
  "serde_json",
@@ -11289,20 +10103,14 @@
 [[package]]
 name = "sp-consensus"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "async-trait",
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "futures-timer 3.0.2",
  "libp2p",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "serde",
  "sp-api",
@@ -11322,16 +10130,10 @@
 [[package]]
 name = "sp-consensus-aura"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "parity-scale-codec 2.1.1",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "async-trait",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-application-crypto",
  "sp-consensus",
@@ -11345,19 +10147,11 @@
 [[package]]
 name = "sp-consensus-babe"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "async-trait",
  "merlin",
-<<<<<<< HEAD
- "parity-scale-codec 2.1.1",
-=======
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-api",
  "sp-application-crypto",
@@ -11375,13 +10169,9 @@
 [[package]]
 name = "sp-consensus-slots"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sp-arithmetic",
  "sp-runtime",
 ]
@@ -11389,13 +10179,9 @@
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "schnorrkel",
  "sp-core",
  "sp-runtime",
@@ -11405,22 +10191,14 @@
 [[package]]
 name = "sp-core"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "base58",
  "blake2-rfc",
  "byteorder",
  "dyn-clonable",
  "ed25519-dalek",
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "hash-db",
  "hash256-std-hasher",
  "hex",
@@ -11430,7 +10208,7 @@
  "log",
  "merlin",
  "num-traits",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parity-util-mem",
  "parking_lot 0.11.1",
  "primitive-types 0.9.0",
@@ -11457,11 +10235,7 @@
 [[package]]
 name = "sp-database"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "kvdb",
  "parking_lot 0.11.1",
@@ -11470,11 +10244,7 @@
 [[package]]
 name = "sp-debug-derive"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "proc-macro2",
  "quote",
@@ -11484,14 +10254,10 @@
 [[package]]
 name = "sp-externalities"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "environmental",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sp-std",
  "sp-storage",
 ]
@@ -11499,15 +10265,11 @@
 [[package]]
 name = "sp-finality-grandpa"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "finality-grandpa",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-api",
  "sp-application-crypto",
@@ -11520,18 +10282,11 @@
 [[package]]
 name = "sp-inherents"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "parity-scale-codec 2.1.1",
- "parking_lot 0.11.1",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "async-trait",
- "impl-trait-for-tuples",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "impl-trait-for-tuples 0.2.1",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-runtime",
  "sp-std",
@@ -11541,19 +10296,13 @@
 [[package]]
 name = "sp-io"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "futures 0.3.15",
-=======
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
-dependencies = [
- "futures 0.3.14",
->>>>>>> origin/develop
  "hash-db",
  "libsecp256k1",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "sp-core",
  "sp-externalities",
@@ -11572,11 +10321,7 @@
 [[package]]
 name = "sp-keyring"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -11587,21 +10332,13 @@
 [[package]]
 name = "sp-keystore"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "async-trait",
- "derive_more",
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "async-trait",
  "derive_more",
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "merlin",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "schnorrkel",
  "serde",
@@ -11623,7 +10360,7 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-arithmetic",
  "sp-core",
@@ -11645,11 +10382,7 @@
 [[package]]
 name = "sp-offchain"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "sp-api",
  "sp-core",
@@ -11659,11 +10392,7 @@
 [[package]]
 name = "sp-panic-handler"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "backtrace",
 ]
@@ -11671,11 +10400,7 @@
 [[package]]
 name = "sp-rpc"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "rustc-hash",
  "serde",
@@ -11686,17 +10411,13 @@
 [[package]]
 name = "sp-runtime"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "either",
  "hash256-std-hasher",
  "impl-trait-for-tuples 0.2.1",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parity-util-mem",
  "paste",
  "rand 0.7.3",
@@ -11711,14 +10432,10 @@
 [[package]]
 name = "sp-runtime-interface"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "impl-trait-for-tuples 0.2.1",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "primitive-types 0.9.0",
  "sp-externalities",
  "sp-runtime-interface-proc-macro",
@@ -11732,11 +10449,7 @@
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "Inflector",
  "proc-macro-crate 1.0.0",
@@ -11748,13 +10461,9 @@
 [[package]]
 name = "sp-sandbox"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-io",
  "sp-std",
@@ -11765,11 +10474,7 @@
 [[package]]
 name = "sp-serializer"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "serde",
  "serde_json",
@@ -11778,13 +10483,9 @@
 [[package]]
 name = "sp-session"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-core",
  "sp-runtime",
@@ -11795,13 +10496,9 @@
 [[package]]
 name = "sp-staking"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sp-runtime",
  "sp-std",
 ]
@@ -11809,16 +10506,12 @@
 [[package]]
 name = "sp-state-machine"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "hash-db",
  "log",
  "num-traits",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.11.1",
  "rand 0.7.3",
  "smallvec 1.6.1",
@@ -11836,23 +10529,15 @@
 [[package]]
 name = "sp-std"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 
 [[package]]
 name = "sp-storage"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "impl-serde",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "ref-cast",
  "serde",
  "sp-debug-derive",
@@ -11862,11 +10547,7 @@
 [[package]]
 name = "sp-tasks"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "log",
  "sp-core",
@@ -11879,18 +10560,12 @@
 [[package]]
 name = "sp-timestamp"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "parity-scale-codec 2.1.1",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "async-trait",
  "futures-timer 3.0.2",
  "log",
- "parity-scale-codec",
->>>>>>> origin/develop
+ "parity-scale-codec 2.1.3",
  "sp-api",
  "sp-inherents",
  "sp-runtime",
@@ -11902,23 +10577,15 @@
 [[package]]
 name = "sp-tracing"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "erased-serde",
  "log",
-<<<<<<< HEAD
- "parity-scale-codec 2.1.1",
-=======
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "parking_lot 0.10.2",
  "serde",
  "serde_json",
  "slog",
->>>>>>> origin/develop
  "sp-std",
  "tracing",
  "tracing-core",
@@ -11928,19 +10595,12 @@
 [[package]]
 name = "sp-transaction-pool"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "derive_more",
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "derive_more",
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-api",
  "sp-blockchain",
@@ -11951,15 +10611,11 @@
 [[package]]
 name = "sp-trie"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "hash-db",
  "memory-db",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sp-core",
  "sp-std",
  "trie-db",
@@ -11969,15 +10625,9 @@
 [[package]]
 name = "sp-utils"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-dependencies = [
- "futures 0.3.15",
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "futures-core",
  "futures-timer 3.0.2",
  "lazy_static",
@@ -11987,14 +10637,10 @@
 [[package]]
 name = "sp-version"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "impl-serde",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "serde",
  "sp-runtime",
  "sp-std",
@@ -12006,7 +10652,7 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "proc-macro-crate 1.0.0",
  "proc-macro2",
  "quote",
@@ -12016,14 +10662,10 @@
 [[package]]
 name = "sp-wasm-interface"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "impl-trait-for-tuples 0.2.1",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sp-std",
  "wasmi",
 ]
@@ -12073,12 +10715,15 @@
 
 [[package]]
 name = "statrs"
-version = "0.13.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e34b58a8f9b7462b6922e0b4e3c83d1b3c2075f7f996a56d6c66afa81590064"
+checksum = "1e0c1f144861fbfd2a8cc82d564ccbf7fb3b7834d4fa128b84e9c2a73371aead"
 dependencies = [
- "nalgebra 0.19.0",
- "rand 0.7.3",
+ "approx 0.4.0",
+ "lazy_static",
+ "nalgebra 0.26.2",
+ "num-traits",
+ "rand 0.8.4",
 ]
 
 [[package]]
@@ -12193,25 +10838,15 @@
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "3.0.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
  "frame-system-rpc-runtime-api",
  "futures 0.3.15",
  "jsonrpc-core 15.1.0",
  "jsonrpc-core-client 15.1.0",
  "jsonrpc-derive 15.1.0",
-=======
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
-dependencies = [
- "frame-system-rpc-runtime-api",
- "futures 0.3.14",
- "jsonrpc-core",
- "jsonrpc-core-client",
- "jsonrpc-derive",
->>>>>>> origin/develop
  "log",
- "parity-scale-codec 2.1.1",
+ "parity-scale-codec 2.1.3",
  "sc-client-api",
  "sc-rpc-api",
  "serde",
@@ -12226,11 +10861,7 @@
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.9.0"
-<<<<<<< HEAD
-source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"
-=======
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
->>>>>>> origin/develop
 dependencies = [
  "async-std",
  "derive_more",
@@ -12248,10 +10879,10 @@
 dependencies = [
  "async-trait",
  "futures 0.1.31",
- "futures 0.3.14",
+ "futures 0.3.15",
  "hash-db",
  "hex",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sc-client-api",
  "sc-client-db",
  "sc-consensus",
@@ -12275,7 +10906,7 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"
 dependencies = [
- "futures 0.3.14",
+ "futures 0.3.15",
  "substrate-test-utils-derive",
  "tokio 0.2.25",
 ]
@@ -12336,15 +10967,9 @@
 
 [[package]]
 name = "syn"
-<<<<<<< HEAD
-version = "1.0.72"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"
-=======
-version = "1.0.69"
+version = "1.0.73"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48fe99c6bd8b1cc636890bcc071842de909d902c81ac7dab53ba33c421ab8ffb"
->>>>>>> origin/develop
+checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -12389,12 +11014,8 @@
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "rand 0.8.3",
-<<<<<<< HEAD
- "redox_syscall 0.2.8",
-=======
- "redox_syscall 0.2.6",
->>>>>>> origin/develop
+ "rand 0.8.4",
+ "redox_syscall 0.2.9",
  "remove_dir_all",
  "winapi 0.3.9",
 ]
@@ -12419,18 +11040,18 @@
 
 [[package]]
 name = "thiserror"
-version = "1.0.24"
+version = "1.0.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e"
+checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.24"
+version = "1.0.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0"
+checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -12813,15 +11434,9 @@
 
 [[package]]
 name = "tracing"
-<<<<<<< HEAD
 version = "0.1.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d"
-=======
-version = "0.1.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f"
->>>>>>> origin/develop
 dependencies = [
  "cfg-if 1.0.0",
  "log",
@@ -12856,11 +11471,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
 dependencies = [
-<<<<<<< HEAD
  "pin-project 1.0.7",
-=======
- "pin-project 1.0.6",
->>>>>>> origin/develop
  "tracing",
 ]
 
@@ -12887,15 +11498,9 @@
 
 [[package]]
 name = "tracing-subscriber"
-<<<<<<< HEAD
 version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "aa5553bf0883ba7c9cbe493b085c29926bd41b66afc31ff72cf17ff4fb60dcd5"
-=======
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "705096c6f83bf68ea5d357a6aa01829ddbdac531b357b45abeca842938085baa"
->>>>>>> origin/develop
 dependencies = [
  "ansi_term 0.12.1",
  "chrono",
@@ -12915,9 +11520,9 @@
 
 [[package]]
 name = "trie-db"
-version = "0.22.3"
+version = "0.22.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec051edf7f0fc9499a2cb0947652cab2148b9d7f61cee7605e312e9f970dacaf"
+checksum = "cd81fe0c8bc2b528a51c9d2c31dae4483367a26a723a3c9a4a8120311d7774e3"
 dependencies = [
  "hash-db",
  "hashbrown",
@@ -12936,7 +11541,6 @@
 ]
 
 [[package]]
-<<<<<<< HEAD
 name = "triehash"
 version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -12944,11 +11548,13 @@
 dependencies = [
  "hash-db",
  "rlp 0.5.0",
-=======
+]
+
+[[package]]
 name = "trust-dns-proto"
-version = "0.20.1"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d57e219ba600dd96c2f6d82eb79645068e14edbc5c7e27514af40436b88150c"
+checksum = "ad0d7f5db438199a6e2609debe3f69f808d074e0a2888ee0bccb45fe234d03f4"
 dependencies = [
  "async-trait",
  "cfg-if 1.0.0",
@@ -12957,22 +11563,22 @@
  "futures-channel",
  "futures-io",
  "futures-util",
- "idna 0.2.2",
+ "idna 0.2.3",
  "ipnet",
  "lazy_static",
  "log",
- "rand 0.8.3",
+ "rand 0.8.4",
  "smallvec 1.6.1",
  "thiserror",
  "tinyvec",
- "url 2.2.1",
+ "url 2.2.2",
 ]
 
 [[package]]
 name = "trust-dns-resolver"
-version = "0.20.1"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0437eea3a6da51acc1e946545ff53d5b8fb2611ff1c3bed58522dde100536ae"
+checksum = "f6ad17b608a64bd0735e67bde16b0636f8aa8591f831a25d18443ed00a699770"
 dependencies = [
  "cfg-if 1.0.0",
  "futures-util",
@@ -12985,7 +11591,6 @@
  "smallvec 1.6.1",
  "thiserror",
  "trust-dns-proto",
->>>>>>> origin/develop
 ]
 
 [[package]]
@@ -13001,7 +11606,7 @@
 dependencies = [
  "frame-try-runtime",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "remote-externalities",
  "sc-cli",
  "sc-client-api",
@@ -13023,7 +11628,7 @@
 checksum = "04f8ab788026715fa63b31960869617cba39117e520eb415b0139543e325ab59"
 dependencies = [
  "cfg-if 0.1.10",
- "rand 0.3.23",
+ "rand 0.7.3",
  "static_assertions",
 ]
 
@@ -13083,9 +11688,9 @@
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.17"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"
+checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
 dependencies = [
  "tinyvec",
 ]
@@ -13167,21 +11772,12 @@
 
 [[package]]
 name = "url"
-<<<<<<< HEAD
 version = "2.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
 dependencies = [
  "form_urlencoded",
  "idna 0.2.3",
-=======
-version = "2.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b"
-dependencies = [
- "form_urlencoded",
- "idna 0.2.2",
->>>>>>> origin/develop
  "matches",
  "percent-encoding 2.1.0",
 ]
@@ -13198,21 +11794,9 @@
 
 [[package]]
 name = "vcpkg"
-<<<<<<< HEAD
-version = "0.2.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbdbff6266a24120518560b5dc983096efb98462e51d0d68169895b237be3e5d"
-=======
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb"
-
-[[package]]
-name = "vec-arena"
-version = "1.1.0"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34b2f665b594b07095e3ac3f718e13c2197143416fae4c5706cffb7b1af8d7f1"
->>>>>>> origin/develop
+checksum = "70455df2fdf4e9bf580a92e443f1eb0303c390d682e2ea817312c9e81f8c3399"
 
 [[package]]
 name = "vec_map"
@@ -13284,15 +11868,9 @@
 
 [[package]]
 name = "wasm-bindgen"
-<<<<<<< HEAD
 version = "0.2.74"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd"
-=======
-version = "0.2.73"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83240549659d187488f91f33c0f8547cbfef0b2088bc470c116d1d260ef623d9"
->>>>>>> origin/develop
 dependencies = [
  "cfg-if 1.0.0",
  "wasm-bindgen-macro",
@@ -13300,15 +11878,9 @@
 
 [[package]]
 name = "wasm-bindgen-backend"
-<<<<<<< HEAD
 version = "0.2.74"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900"
-=======
-version = "0.2.73"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae70622411ca953215ca6d06d3ebeb1e915f0f6613e3b495122878d7ebec7dae"
->>>>>>> origin/develop
 dependencies = [
  "bumpalo",
  "lazy_static",
@@ -13321,15 +11893,9 @@
 
 [[package]]
 name = "wasm-bindgen-futures"
-<<<<<<< HEAD
 version = "0.4.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1"
-=======
-version = "0.4.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81b8b767af23de6ac18bf2168b690bed2902743ddf0fb39252e36f9e2bfc63ea"
->>>>>>> origin/develop
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -13339,15 +11905,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro"
-<<<<<<< HEAD
 version = "0.2.74"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4"
-=======
-version = "0.2.73"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e734d91443f177bfdb41969de821e15c516931c3c3db3d318fa1b68975d0f6f"
->>>>>>> origin/develop
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -13355,15 +11915,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-<<<<<<< HEAD
 version = "0.2.74"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97"
-=======
-version = "0.2.73"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53739ff08c8a68b0fdbcd54c372b8ab800b1449ab3c9d706503bc7dd1621b2c"
->>>>>>> origin/develop
 dependencies = [
  "proc-macro2",
  "quote",
@@ -13374,15 +11928,9 @@
 
 [[package]]
 name = "wasm-bindgen-shared"
-<<<<<<< HEAD
 version = "0.2.74"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f"
-=======
-version = "0.2.73"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9a543ae66aa233d14bb765ed9af4a33e81b8b58d1584cf1b47ff8cd0b9e4489"
->>>>>>> origin/develop
 
 [[package]]
 name = "wasm-gc-api"
@@ -13401,11 +11949,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
 dependencies = [
-<<<<<<< HEAD
  "futures 0.3.15",
-=======
- "futures 0.3.14",
->>>>>>> origin/develop
  "js-sys",
  "parking_lot 0.11.1",
  "pin-utils",
@@ -13527,7 +12071,7 @@
  "anyhow",
  "gimli 0.23.0",
  "more-asserts",
- "object",
+ "object 0.23.0",
  "target-lexicon",
  "thiserror",
  "wasmparser",
@@ -13582,7 +12126,7 @@
  "gimli 0.23.0",
  "log",
  "more-asserts",
- "object",
+ "object 0.23.0",
  "rayon",
  "region",
  "serde",
@@ -13606,7 +12150,7 @@
 dependencies = [
  "anyhow",
  "more-asserts",
- "object",
+ "object 0.23.0",
  "target-lexicon",
  "wasmtime-debug",
  "wasmtime-environ",
@@ -13623,7 +12167,7 @@
  "gimli 0.23.0",
  "lazy_static",
  "libc",
- "object",
+ "object 0.23.0",
  "scroll",
  "serde",
  "target-lexicon",
@@ -13644,7 +12188,7 @@
  "lazy_static",
  "libc",
  "log",
- "memoffset 0.6.3",
+ "memoffset 0.6.4",
  "more-asserts",
  "psm",
  "region",
@@ -13655,33 +12199,27 @@
 
 [[package]]
 name = "wast"
-version = "35.0.2"
+version = "36.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ef140f1b49946586078353a453a1d28ba90adfc54dde75710bc1931de204d68"
+checksum = "8b5d7ba374a364571da1cb0a379a3dc302582a2d9937a183bfe35b68ad5bb9c4"
 dependencies = [
  "leb128",
 ]
 
 [[package]]
 name = "wat"
-version = "1.0.37"
+version = "1.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ec280a739b69173e0ffd12c1658507996836ba4e992ed9bc1e5385a0bd72a02"
+checksum = "16383df7f0e3901484c2dda6294ed6895caa3627ce4f6584141dcf30a33a23e6"
 dependencies = [
  "wast",
 ]
 
 [[package]]
 name = "web-sys"
-<<<<<<< HEAD
 version = "0.3.51"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582"
-=======
-version = "0.3.50"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a905d57e488fec8861446d3393670fb50d27a262344013181c2cdf9fff5481be"
->>>>>>> origin/develop
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -13707,10 +12245,10 @@
 ]
 
 [[package]]
-name = "wepoll-sys"
-version = "3.0.1"
+name = "wepoll-ffi"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fcb14dea929042224824779fbc82d9fab8d2e6d3cbc0ac404de8edf489e77ff"
+checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb"
 dependencies = [
  "cc",
 ]
@@ -13721,7 +12259,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "beefy-primitives",
- "bitvec",
+ "bitvec 0.20.4",
  "frame-executive",
  "frame-support",
  "frame-system",
@@ -13761,7 +12299,7 @@
  "pallet-utility",
  "pallet-vesting",
  "pallet-xcm",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-parachain",
  "polkadot-primitives",
  "polkadot-runtime-common",
@@ -13794,18 +12332,6 @@
 
 [[package]]
 name = "which"
-<<<<<<< HEAD
-=======
-version = "3.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "which"
->>>>>>> origin/develop
 version = "4.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe"
@@ -13905,8 +12431,8 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "derivative",
- "impl-trait-for-tuples",
- "parity-scale-codec",
+ "impl-trait-for-tuples 0.2.1",
+ "parity-scale-codec 2.1.3",
 ]
 
 [[package]]
@@ -13916,9 +12442,9 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "impl-trait-for-tuples",
+ "impl-trait-for-tuples 0.2.1",
  "pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "polkadot-parachain",
  "sp-arithmetic",
  "sp-io",
@@ -13934,9 +12460,9 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"
 dependencies = [
  "frame-support",
- "impl-trait-for-tuples",
+ "impl-trait-for-tuples 0.2.1",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 2.1.3",
  "sp-arithmetic",
  "sp-core",
  "sp-io",
@@ -13947,23 +12473,15 @@
 
 [[package]]
 name = "yamux"
-<<<<<<< HEAD
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cc7bd8c983209ed5d527f44b01c41b7dc146fd960c61cf9e1d25399841dc271"
-dependencies = [
- "futures 0.3.15",
-=======
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107"
 dependencies = [
- "futures 0.3.14",
->>>>>>> origin/develop
+ "futures 0.3.15",
  "log",
  "nohash-hasher",
  "parking_lot 0.11.1",
- "rand 0.8.3",
+ "rand 0.8.4",
  "static_assertions",
 ]
 
modifiedCargo.tomldiffbeforeafterboth
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,13 +1,12 @@
 [workspace]
 resolver = "2"
 members = [
-    'node',
+    'node/*',
     'pallets/*',
     'primitives',
     'runtime',
     'crates/evm-coder',
     'crates/evm-coder-macros',
 ]
-resolver = "2"
 [profile.release]
 panic = 'unwind'
deletednode/Cargo.tomldiffbeforeafterboth
--- a/node/Cargo.toml
+++ /dev/null
@@ -1,329 +0,0 @@
-################################################################################
-# Build Dependencies
-
-[build-dependencies.substrate-build-script-utils]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-################################################################################
-# Substrate Dependecies
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = '2.0.0'
-
-[dependencies.frame-benchmarking]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.frame-benchmarking-cli]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.pallet-transaction-payment-rpc]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.substrate-prometheus-endpoint]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sc-basic-authorship]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sc-chain-spec]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sc-cli]
-features = ['wasmtime']
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sc-client-api]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sc-consensus]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sc-consensus-aura]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sc-executor]
-features = ['wasmtime']
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sc-finality-grandpa]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sc-keystore]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sc-rpc]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sc-rpc-api]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sc-service]
-features = ['wasmtime']
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sc-telemetry]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sc-transaction-pool]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sc-tracing]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-block-builder]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-api]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-blockchain]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-consensus]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sp-consensus-aura]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sp-core]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-finality-grandpa]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-inherents]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-keystore]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.sp-offchain]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-runtime]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-session]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-timestamp]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-transaction-pool]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.sp-trie]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.substrate-frame-rpc-system]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.pallet-contracts]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-[dependencies.pallet-contracts-rpc]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '3.0.0'
-
-
-[dependencies.sc-network]
-git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.3'
-version = '0.9.0'
-
-[dependencies.serde]
-features = ['derive']
-version = '1.0.119'
-
-[dependencies.serde_json]
-version = '1.0.41'
-
-
-################################################################################
-# Cumulus dependencies
-
-[dependencies.cumulus-client-consensus-aura]
-git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.3'
-
-[dependencies.cumulus-client-consensus-common]
-git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.3'
-
-[dependencies.cumulus-client-collator]
-git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.3'
-
-[dependencies.cumulus-client-cli]
-git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.3'
-
-[dependencies.cumulus-client-network]
-git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.3'
-
-[dependencies.cumulus-primitives-core]
-git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.3'
-
-[dependencies.cumulus-primitives-parachain-inherent]
-git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.3'
-
-[dependencies.cumulus-client-service]
-git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.3'
-
-
-################################################################################
-# Polkadot dependencies
-[dependencies.polkadot-primitives]
-git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.3'
-
-[dependencies.polkadot-service]
-git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.3'
-
-[dependencies.polkadot-cli]
-git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.3'
-
-[dependencies.polkadot-test-service]
-git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.3'
-
-[dependencies.polkadot-parachain]
-git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.3'
-
-
-################################################################################
-# Local dependencies
-
-[dependencies.nft-runtime]
-path = '../runtime'
-version = '3.0.0'
-
-[dependencies.nft-data-structs]
-path="../primitives"
-default-features = false
-
-################################################################################
-# Package 
-
-[package]
-authors = ['Unique Network <support@uniquenetwork.io>']
-build = 'build.rs'
-description = 'Substrate node nft'
-edition = '2018'
-homepage = 'https://unique.network'
-license = 'All Rights Reserved'
-name = 'nft'
-repository = 'https://github.com/usetech-llc/nft_private/'
-version = '3.0.0'
-
-[[bin]]
-name = 'nft'
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
-
-[dependencies]
-futures = '0.3.4'
-log = '0.4.8'
-flexi_logger = "0.15.7"
-parking_lot = '0.10.0'
-structopt = '0.3.8'
-jsonrpc-core = '15.0.0'
-jsonrpc-pubsub = "15.0.0"
-
-fc-rpc-core = { version = "1.1.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-fc-consensus = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-fc-mapping-sync = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-fc-rpc = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-fc-db = { version = "1.0.0", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-fp-rpc = { version = "2.0.0", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-pallet-ethereum = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-
-[features]
-default = []
-runtime-benchmarks = ['nft-runtime/runtime-benchmarks']
deletednode/build.rsdiffbeforeafterboth
--- a/node/build.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-//
-// This file is subject to the terms and conditions defined in
-// file 'LICENSE', which is part of this source code package.
-//
-
-use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed};
-
-fn main() {
-    generate_cargo_keys();
-
-    rerun_if_git_head_changed();
-}
addednode/cli/Cargo.tomldiffbeforeafterboth
--- /dev/null
+++ b/node/cli/Cargo.toml
@@ -0,0 +1,331 @@
+################################################################################
+# Build Dependencies
+
+[build-dependencies.substrate-build-script-utils]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+################################################################################
+# Substrate Dependecies
+
+[dependencies.codec]
+default-features = false
+features = ['derive']
+package = 'parity-scale-codec'
+version = '2.0.0'
+
+[dependencies.frame-benchmarking]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.frame-benchmarking-cli]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-transaction-payment-rpc]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.substrate-prometheus-endpoint]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-basic-authorship]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-chain-spec]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-cli]
+features = ['wasmtime']
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-client-api]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-consensus]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-consensus-aura]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-executor]
+features = ['wasmtime']
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-finality-grandpa]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-keystore]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-rpc]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-rpc-api]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-service]
+features = ['wasmtime']
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-telemetry]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-transaction-pool]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-tracing]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-block-builder]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-api]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-blockchain]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-consensus]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sp-consensus-aura]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sp-core]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-finality-grandpa]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-inherents]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-keystore]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sp-offchain]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-runtime]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-session]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-timestamp]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-transaction-pool]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-trie]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.substrate-frame-rpc-system]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-contracts]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-contracts-rpc]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+
+[dependencies.sc-network]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.serde]
+features = ['derive']
+version = '1.0.119'
+
+[dependencies.serde_json]
+version = '1.0.41'
+
+
+################################################################################
+# Cumulus dependencies
+
+[dependencies.cumulus-client-consensus-aura]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-client-consensus-common]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-client-collator]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-client-cli]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-client-network]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-primitives-core]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-primitives-parachain-inherent]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-client-service]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+
+################################################################################
+# Polkadot dependencies
+[dependencies.polkadot-primitives]
+git = "https://github.com/paritytech/polkadot"
+branch = 'release-v0.9.3'
+
+[dependencies.polkadot-service]
+git = "https://github.com/paritytech/polkadot"
+branch = 'release-v0.9.3'
+
+[dependencies.polkadot-cli]
+git = "https://github.com/paritytech/polkadot"
+branch = 'release-v0.9.3'
+
+[dependencies.polkadot-test-service]
+git = "https://github.com/paritytech/polkadot"
+branch = 'release-v0.9.3'
+
+[dependencies.polkadot-parachain]
+git = "https://github.com/paritytech/polkadot"
+branch = 'release-v0.9.3'
+
+
+################################################################################
+# Local dependencies
+
+[dependencies.nft-runtime]
+path = '../../runtime'
+version = '3.0.0'
+
+[dependencies.nft-data-structs]
+path="../../primitives"
+default-features = false
+
+################################################################################
+# Package 
+
+[package]
+authors = ['Unique Network <support@uniquenetwork.io>']
+build = 'build.rs'
+description = 'Substrate node nft'
+edition = '2018'
+homepage = 'https://unique.network'
+license = 'All Rights Reserved'
+name = 'nft'
+repository = 'https://github.com/usetech-llc/nft_private/'
+version = '3.0.0'
+
+[[bin]]
+name = 'nft'
+
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
+[dependencies]
+futures = '0.3.4'
+log = '0.4.8'
+flexi_logger = "0.15.7"
+parking_lot = '0.10.0'
+structopt = '0.3.8'
+jsonrpc-core = '15.0.0'
+jsonrpc-pubsub = "15.0.0"
+
+fc-rpc-core = { version = "1.1.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fc-consensus = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fc-mapping-sync = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fc-rpc = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fc-db = { version = "1.0.0", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fp-rpc = { version = "2.0.0", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+pallet-ethereum = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+
+nft-rpc = { path = "../rpc" }
+
+[features]
+default = []
+runtime-benchmarks = ['nft-runtime/runtime-benchmarks']
addednode/cli/build.rsdiffbeforeafterboth
--- /dev/null
+++ b/node/cli/build.rs
@@ -0,0 +1,12 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed};
+
+fn main() {
+    generate_cargo_keys();
+
+    rerun_if_git_head_changed();
+}
addednode/cli/src/chain_spec.rsdiffbeforeafterboth
--- /dev/null
+++ b/node/cli/src/chain_spec.rs
@@ -0,0 +1,224 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+use cumulus_primitives_core::ParaId;
+use nft_runtime::*;
+use nft_data_structs::*;
+use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup};
+use sc_service::ChainType;
+use sp_core::{sr25519, Pair, Public};
+use sp_runtime::traits::{IdentifyAccount, Verify};
+use std::collections::BTreeMap;
+
+use serde::{Deserialize, Serialize};
+use serde_json::map::Map;
+
+/// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type.
+pub type ChainSpec = sc_service::GenericChainSpec<nft_runtime::GenesisConfig, Extensions>;
+
+/// Helper function to generate a crypto pair from seed
+pub fn get_from_seed<TPublic: Public>(seed: &str) -> <TPublic::Pair as Pair>::Public {
+	TPublic::Pair::from_string(&format!("//{}", seed), None)
+		.expect("static values are valid; qed")
+		.public()
+}
+
+/// The extensions for the [`ChainSpec`].
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ChainSpecGroup, ChainSpecExtension)]
+#[serde(deny_unknown_fields)]
+pub struct Extensions {
+	/// The relay chain of the Parachain.
+	pub relay_chain: String,
+	/// The id of the Parachain.
+	pub para_id: u32,
+}
+
+impl Extensions {
+	/// Try to get the extension from the given `ChainSpec`.
+	pub fn try_get(chain_spec: &dyn sc_service::ChainSpec) -> Option<&Self> {
+		sc_chain_spec::get_extension(chain_spec.extensions())
+	}
+}
+
+type AccountPublic = <Signature as Verify>::Signer;
+
+/// Helper function to generate an account ID from seed
+pub fn get_account_id_from_seed<TPublic: Public>(seed: &str) -> AccountId
+where
+	AccountPublic: From<<TPublic::Pair as Pair>::Public>,
+{
+	AccountPublic::from(get_from_seed::<TPublic>(seed)).into_account()
+}
+
+pub fn development_config(id: ParaId) -> ChainSpec {
+	let mut properties = Map::new();
+	properties.insert("tokenSymbol".into(), "testUNQ".into());
+	properties.insert("tokenDecimals".into(), 15.into());
+	properties.insert("ss58Format".into(), 42.into()); // Generic Substrate wildcard (SS58 checksum preimage)
+
+	ChainSpec::from_genesis(
+		// Name
+		"Development",
+		// ID
+		"dev",
+		ChainType::Local,
+		move || testnet_genesis(
+			// Sudo account
+			get_account_id_from_seed::<sr25519::Public>("Alice"),
+			vec![
+				get_from_seed::<AuraId>("Alice"),
+				get_from_seed::<AuraId>("Bob"),
+			],
+			// Pre-funded accounts
+			vec![
+				get_account_id_from_seed::<sr25519::Public>("Alice"),
+				get_account_id_from_seed::<sr25519::Public>("Bob"),
+			],
+			id,
+		),
+		// Bootnodes
+		vec![],
+		// Telemetry
+		None,
+		// Protocol ID
+		None,
+		// Properties
+		Some(properties),
+		// Extensions
+		Extensions {
+			relay_chain: "rococo-dev".into(),
+			para_id: id.into(),
+		},
+	)
+}
+
+pub fn local_testnet_config(id: ParaId) -> ChainSpec {
+	ChainSpec::from_genesis(
+		// Name
+		"Local Testnet",
+		// ID
+		"local_testnet",
+		ChainType::Local,
+		move || testnet_genesis(
+			// Sudo account
+			get_account_id_from_seed::<sr25519::Public>("Alice"),
+			vec![
+				get_from_seed::<AuraId>("Alice"),
+				get_from_seed::<AuraId>("Bob"),
+			],
+			// Pre-funded accounts
+			vec![
+				get_account_id_from_seed::<sr25519::Public>("Alice"),
+				get_account_id_from_seed::<sr25519::Public>("Bob"),
+				get_account_id_from_seed::<sr25519::Public>("Charlie"),
+				get_account_id_from_seed::<sr25519::Public>("Dave"),
+				get_account_id_from_seed::<sr25519::Public>("Eve"),
+				get_account_id_from_seed::<sr25519::Public>("Ferdie"),
+				get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
+				get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
+				get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
+				get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
+				get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
+				get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
+			],
+			id,
+		),
+		// Bootnodes
+		vec![],
+		// Telemetry
+		None,
+		// Protocol ID
+		None,
+		// Properties
+		None,
+		// Extensions
+		Extensions {
+			relay_chain: "rococo-local".into(),
+			para_id: id.into(),
+		},
+	)
+}
+
+fn testnet_genesis(
+    root_key: AccountId,
+	initial_authorities: Vec<AuraId>,
+    endowed_accounts: Vec<AccountId>,
+	id: ParaId,
+) -> GenesisConfig {
+
+	let vested_accounts = vec![
+		get_account_id_from_seed::<sr25519::Public>("Bob"),
+	];
+
+    GenesisConfig {
+		system: nft_runtime::SystemConfig {
+			code: nft_runtime::WASM_BINARY
+				.expect("WASM binary was not build, please build it!")
+				.to_vec(),
+			changes_trie_config: Default::default(),
+		},
+        pallet_balances: BalancesConfig {
+            balances: endowed_accounts
+                .iter()
+                .cloned()
+                .map(|k| (k, 1 << 70))
+                .collect(),
+        },
+		pallet_treasury: Default::default(),
+		pallet_sudo: SudoConfig { key: root_key },
+		pallet_vesting: VestingConfig {
+            vesting: vested_accounts
+                .iter()
+                .cloned()
+                .map(|k| (k, 1000, 100, 1 << 98))
+                .collect(),
+        },
+        pallet_nft: NftConfig {
+            collection_id: vec![(
+                1,
+                Collection {
+                    owner: get_account_id_from_seed::<sr25519::Public>("Alice"),
+                    mode: CollectionMode::NFT,
+                    access: AccessMode::Normal,
+                    decimal_points: 0,
+                    name: vec![],
+                    description: vec![],
+                    token_prefix: vec![],
+                    mint_mode: false,
+					offchain_schema: vec![],
+					schema_version: SchemaVersion::default(),
+                    sponsorship: SponsorshipState::Confirmed(get_account_id_from_seed::<sr25519::Public>("Alice")),
+                    const_on_chain_schema: vec![],
+					variable_on_chain_schema: vec![],
+					limits: CollectionLimits::default()
+                },
+            )],
+            nft_item_id: vec![],
+            fungible_item_id: vec![],
+            refungible_item_id: vec![],
+            chain_limit: ChainLimits {
+                collection_numbers_limit: 100000,
+                account_token_ownership_limit: 1000000,
+                collections_admins_limit: 5,
+                custom_data_limit: 2048,
+                nft_sponsor_transfer_timeout: 15,
+                fungible_sponsor_transfer_timeout: 15,
+				refungible_sponsor_transfer_timeout: 15,
+				offchain_schema_limit: 1024,
+				variable_on_chain_schema_limit: 1024,
+				const_on_chain_schema_limit: 1024,
+            },
+        },
+		parachain_info: nft_runtime::ParachainInfoConfig { parachain_id: id },
+		pallet_aura: nft_runtime::AuraConfig {
+			authorities: initial_authorities,
+		},
+		cumulus_pallet_aura_ext: Default::default(),
+		pallet_evm: EVMConfig {
+			accounts: BTreeMap::new(),
+		},
+		pallet_ethereum: EthereumConfig {},
+    }
+}
addednode/cli/src/cli.rsdiffbeforeafterboth
--- /dev/null
+++ b/node/cli/src/cli.rs
@@ -0,0 +1,130 @@
+use crate::chain_spec;
+use cumulus_client_cli;
+use sc_cli;
+use std::path::PathBuf;
+use structopt::StructOpt;
+
+/// Sub-commands supported by the collator.
+#[derive(Debug, StructOpt)]
+pub enum Subcommand {
+	/// Export the genesis state of the parachain.
+	#[structopt(name = "export-genesis-state")]
+	ExportGenesisState(ExportGenesisStateCommand),
+
+	/// Export the genesis wasm of the parachain.
+	#[structopt(name = "export-genesis-wasm")]
+	ExportGenesisWasm(ExportGenesisWasmCommand),
+
+	/// Build a chain specification.
+	BuildSpec(sc_cli::BuildSpecCmd),
+
+	/// Validate blocks.
+	CheckBlock(sc_cli::CheckBlockCmd),
+
+	/// Export blocks.
+	ExportBlocks(sc_cli::ExportBlocksCmd),
+
+	/// Export the state of a given block into a chain spec.
+	ExportState(sc_cli::ExportStateCmd),
+
+	/// Import blocks.
+	ImportBlocks(sc_cli::ImportBlocksCmd),
+
+	/// Remove the whole chain.
+	PurgeChain(cumulus_client_cli::PurgeChainCmd),
+
+	/// Revert the chain to a previous state.
+	Revert(sc_cli::RevertCmd),
+
+	/// The custom benchmark subcommmand benchmarking runtime pallets.
+	#[structopt(name = "benchmark", about = "Benchmark runtime pallets.")]
+	Benchmark(frame_benchmarking_cli::BenchmarkCmd),
+}
+
+/// Command for exporting the genesis state of the parachain
+#[derive(Debug, StructOpt)]
+pub struct ExportGenesisStateCommand {
+	/// Output file name or stdout if unspecified.
+	#[structopt(parse(from_os_str))]
+	pub output: Option<PathBuf>,
+
+	/// Id of the parachain this state is for.
+	///
+	/// Default: 100
+	#[structopt(long, conflicts_with = "chain")]
+	pub parachain_id: Option<u32>,
+
+	/// Write output in binary. Default is to write in hex.
+	#[structopt(short, long)]
+	pub raw: bool,
+
+	/// The name of the chain for that the genesis state should be exported.
+	#[structopt(long, conflicts_with = "parachain-id")]
+	pub chain: Option<String>,
+}
+
+/// Command for exporting the genesis wasm file.
+#[derive(Debug, StructOpt)]
+pub struct ExportGenesisWasmCommand {
+	/// Output file name or stdout if unspecified.
+	#[structopt(parse(from_os_str))]
+	pub output: Option<PathBuf>,
+
+	/// Write output in binary. Default is to write in hex.
+	#[structopt(short, long)]
+	pub raw: bool,
+
+	/// The name of the chain for that the genesis wasm file should be exported.
+	#[structopt(long)]
+	pub chain: Option<String>,
+}
+
+#[derive(Debug, StructOpt)]
+#[structopt(settings = &[
+	structopt::clap::AppSettings::GlobalVersion,
+	structopt::clap::AppSettings::ArgsNegateSubcommands,
+	structopt::clap::AppSettings::SubcommandsNegateReqs,
+])]
+pub struct Cli {
+	#[structopt(subcommand)]
+	pub subcommand: Option<Subcommand>,
+
+	#[structopt(flatten)]
+	pub run: cumulus_client_cli::RunCmd,
+
+	/// Relaychain arguments
+	#[structopt(raw = true)]
+	pub relaychain_args: Vec<String>,
+}
+
+#[derive(Debug)]
+pub struct RelayChainCli {
+	/// The actual relay chain cli object.
+	pub base: polkadot_cli::RunCmd,
+
+	/// Optional chain id that should be passed to the relay chain.
+	pub chain_id: Option<String>,
+
+	/// The base path that should be used by the relay chain.
+	pub base_path: Option<PathBuf>,
+}
+
+impl RelayChainCli {
+	/// Parse the relay chain CLI parameters using the para chain `Configuration`.
+	pub fn new<'a>(
+		para_config: &sc_service::Configuration,
+		relay_chain_args: impl Iterator<Item = &'a String>,
+	) -> Self {
+		let extension = chain_spec::Extensions::try_get(&*para_config.chain_spec);
+		let chain_id = extension.map(|e| e.relay_chain.clone());
+		let base_path = para_config
+			.base_path
+			.as_ref()
+			.map(|x| x.path().join("polkadot"));
+		Self {
+			base_path,
+			chain_id,
+			base: polkadot_cli::RunCmd::from_iter(relay_chain_args),
+		}
+	}
+}
addednode/cli/src/command.rsdiffbeforeafterboth
--- /dev/null
+++ b/node/cli/src/command.rs
@@ -0,0 +1,446 @@
+// This file is part of Substrate.
+
+// Copyright (C) 2017-2021 Parity Technologies (UK) Ltd.
+// SPDX-License-Identifier: Apache-2.0
+
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// 	http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+use crate::{
+	chain_spec,
+	cli::{Cli, RelayChainCli, Subcommand},
+	service::{new_partial, ParachainRuntimeExecutor}
+};
+use codec::Encode;
+use cumulus_primitives_core::ParaId;
+use cumulus_client_service::genesis::generate_genesis_block;
+use log::info;
+use nft_runtime::Block;
+use polkadot_parachain::primitives::AccountIdConversion;
+use sc_cli::{
+	ChainSpec, CliConfiguration, DefaultConfigurationValues, ImportParams, KeystoreParams,
+	NetworkParams, Result, RuntimeVersion, SharedParams, SubstrateCli,
+};
+use sc_service::{
+	config::{BasePath, PrometheusConfig}
+};
+use sp_core::hexdisplay::HexDisplay;
+use sp_runtime::traits::Block as BlockT;
+use std::{io::Write, net::SocketAddr};
+
+fn load_spec(
+	id: &str,
+	para_id: ParaId,
+) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
+	Ok(match id {
+		"dev" => Box::new(chain_spec::development_config(para_id)),
+		"" | "local" => Box::new(chain_spec::local_testnet_config(para_id)),
+		path => Box::new(chain_spec::ChainSpec::from_json_file(
+			std::path::PathBuf::from(path),
+		)?),
+	})
+}
+
+impl SubstrateCli for Cli {
+	fn impl_name() -> String {
+		"Parachain Collator Template".into()
+	}
+
+	fn impl_version() -> String {
+		env!("SUBSTRATE_CLI_IMPL_VERSION").into()
+	}
+
+	fn description() -> String {
+		format!(
+			"Parachain Collator Template\n\nThe command-line arguments provided first will be \
+		passed to the parachain node, while the arguments provided after -- will be passed \
+		to the relaychain node.\n\n\
+		{} [parachain-args] -- [relaychain-args]",
+			Self::executable_name()
+		)
+	}
+
+	fn author() -> String {
+		env!("CARGO_PKG_AUTHORS").into()
+	}
+
+	fn support_url() -> String {
+		"https://github.com/substrate-developer-hub/substrate-parachain-template/issues/new".into()
+	}
+
+	fn copyright_start_year() -> i32 {
+		2017
+	}
+
+	fn load_spec(&self, id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
+		load_spec(id, self.run.parachain_id.unwrap_or(200).into())
+	}
+
+	fn native_runtime_version(_: &Box<dyn ChainSpec>) -> &'static RuntimeVersion {
+		&nft_runtime::VERSION
+	}
+}
+
+impl SubstrateCli for RelayChainCli {
+	fn impl_name() -> String {
+		"Parachain Collator Template".into()
+	}
+
+	fn impl_version() -> String {
+		env!("SUBSTRATE_CLI_IMPL_VERSION").into()
+	}
+
+	fn description() -> String {
+		"Parachain Collator Template\n\nThe command-line arguments provided first will be \
+		passed to the parachain node, while the arguments provided after -- will be passed \
+		to the relaychain node.\n\n\
+		parachain-collator [parachain-args] -- [relaychain-args]"
+			.into()
+	}
+
+	fn author() -> String {
+		env!("CARGO_PKG_AUTHORS").into()
+	}
+
+	fn support_url() -> String {
+		"https://github.com/substrate-developer-hub/substrate-parachain-template/issues/new".into()
+	}
+
+	fn copyright_start_year() -> i32 {
+		2017
+	}
+
+	fn load_spec(&self, id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
+		polkadot_cli::Cli::from_iter([RelayChainCli::executable_name().to_string()].iter())
+			.load_spec(id)
+	}
+
+	fn native_runtime_version(chain_spec: &Box<dyn ChainSpec>) -> &'static RuntimeVersion {
+		polkadot_cli::Cli::native_runtime_version(chain_spec)
+	}
+}
+
+fn extract_genesis_wasm(chain_spec: &Box<dyn sc_service::ChainSpec>) -> Result<Vec<u8>> {
+	let mut storage = chain_spec.build_storage()?;
+
+	storage
+		.top
+		.remove(sp_core::storage::well_known_keys::CODE)
+		.ok_or_else(|| "Could not find wasm file in genesis state!".into())
+}
+
+macro_rules! construct_async_run {
+	(|$components:ident, $cli:ident, $cmd:ident, $config:ident| $( $code:tt )* ) => {{
+		let runner = $cli.create_runner($cmd)?;
+		runner.async_run(|$config| {
+			let $components = new_partial::<
+				_
+			>(
+				&$config,
+				crate::service::parachain_build_import_queue,
+			)?;
+			let task_manager = $components.task_manager;
+			{ $( $code )* }.map(|v| (v, task_manager))
+		})
+	}}
+}
+
+/// Parse command line arguments into service configuration.
+pub fn run() -> Result<()> {
+	let cli = Cli::from_args();
+
+	match &cli.subcommand {
+		Some(Subcommand::BuildSpec(cmd)) => {
+			let runner = cli.create_runner(cmd)?;
+			runner.sync_run(|config| cmd.run(config.chain_spec, config.network))
+		}
+		Some(Subcommand::CheckBlock(cmd)) => {
+			construct_async_run!(|components, cli, cmd, config| {
+				Ok(cmd.run(components.client, components.import_queue))
+			})
+		}
+		Some(Subcommand::ExportBlocks(cmd)) => {
+			construct_async_run!(|components, cli, cmd, config| {
+				Ok(cmd.run(components.client, config.database))
+			})
+		}
+		Some(Subcommand::ExportState(cmd)) => {
+			construct_async_run!(|components, cli, cmd, config| {
+				Ok(cmd.run(components.client, config.chain_spec))
+			})
+		}
+		Some(Subcommand::ImportBlocks(cmd)) => {
+			construct_async_run!(|components, cli, cmd, config| {
+				Ok(cmd.run(components.client, components.import_queue))
+			})
+		}
+		Some(Subcommand::PurgeChain(cmd)) => {
+			let runner = cli.create_runner(cmd)?;
+
+			runner.sync_run(|config| {
+				let polkadot_cli = RelayChainCli::new(
+					&config,
+					[RelayChainCli::executable_name().to_string()]
+						.iter()
+						.chain(cli.relaychain_args.iter()),
+				);
+
+				let polkadot_config = SubstrateCli::create_configuration(
+					&polkadot_cli,
+					&polkadot_cli,
+					config.task_executor.clone(),
+				)
+				.map_err(|err| format!("Relay chain argument error: {}", err))?;
+
+				cmd.run(config, polkadot_config)
+			})
+		}
+		Some(Subcommand::Revert(cmd)) => construct_async_run!(|components, cli, cmd, config| {
+			Ok(cmd.run(components.client, components.backend))
+		}),
+		Some(Subcommand::ExportGenesisState(params)) => {
+			let mut builder = sc_cli::LoggerBuilder::new("");
+			builder.with_profiling(sc_tracing::TracingReceiver::Log, "");
+			let _ = builder.init();
+
+			let block: Block = generate_genesis_block(&load_spec(
+				&params.chain.clone().unwrap_or_default(),
+				params.parachain_id.unwrap_or(200).into(),
+			)?)?;
+			let raw_header = block.header().encode();
+			let output_buf = if params.raw {
+				raw_header
+			} else {
+				format!("0x{:?}", HexDisplay::from(&block.header().encode())).into_bytes()
+			};
+
+			if let Some(output) = &params.output {
+				std::fs::write(output, output_buf)?;
+			} else {
+				std::io::stdout().write_all(&output_buf)?;
+			}
+
+			Ok(())
+		}
+		Some(Subcommand::ExportGenesisWasm(params)) => {
+			let mut builder = sc_cli::LoggerBuilder::new("");
+			builder.with_profiling(sc_tracing::TracingReceiver::Log, "");
+			let _ = builder.init();
+
+			let raw_wasm_blob =
+				extract_genesis_wasm(&cli.load_spec(&params.chain.clone().unwrap_or_default())?)?;
+			let output_buf = if params.raw {
+				raw_wasm_blob
+			} else {
+				format!("0x{:?}", HexDisplay::from(&raw_wasm_blob)).into_bytes()
+			};
+
+			if let Some(output) = &params.output {
+				std::fs::write(output, output_buf)?;
+			} else {
+				std::io::stdout().write_all(&output_buf)?;
+			}
+
+			Ok(())
+		},
+		Some(Subcommand::Benchmark(cmd)) => {
+			if cfg!(feature = "runtime-benchmarks") {
+				let runner = cli.create_runner(cmd)?;
+
+				runner.sync_run(|config| cmd.run::<Block, ParachainRuntimeExecutor>(config))
+			} else {
+				Err("Benchmarking wasn't enabled when building the node. \
+				You can enable it with `--features runtime-benchmarks`.".into())
+			}
+		},
+		None => {
+			let runner = cli.create_runner(&cli.run.normalize())?;
+
+			runner.run_node_until_exit(|config| async move {
+				// TODO
+				let key = sp_core::Pair::generate().0;
+
+				let para_id =
+					chain_spec::Extensions::try_get(&*config.chain_spec).map(|e| e.para_id);
+
+				let polkadot_cli = RelayChainCli::new(
+					&config,
+					[RelayChainCli::executable_name().to_string()]
+						.iter()
+						.chain(cli.relaychain_args.iter()),
+				);
+
+				let id = ParaId::from(cli.run.parachain_id.or(para_id).unwrap_or(200));
+
+				let parachain_account =
+					AccountIdConversion::<polkadot_primitives::v0::AccountId>::into_account(&id);
+
+				let block: Block =
+					generate_genesis_block(&config.chain_spec).map_err(|e| format!("{:?}", e))?;
+				let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode()));
+
+				let task_executor = config.task_executor.clone();
+				let polkadot_config = SubstrateCli::create_configuration(
+					&polkadot_cli,
+					&polkadot_cli,
+					task_executor,
+				)
+				.map_err(|err| format!("Relay chain argument error: {}", err))?;
+
+				info!("Parachain id: {:?}", id);
+				info!("Parachain Account: {}", parachain_account);
+				info!("Parachain genesis state: {}", genesis_state);
+				info!(
+					"Is collating: {}",
+					if config.role.is_authority() {
+						"yes"
+					} else {
+						"no"
+					}
+				);
+
+				crate::service::start_node(config, key, polkadot_config, id)
+					.await
+					.map(|r| r.0)
+					.map_err(Into::into)
+			})
+		}
+	}
+}
+
+impl DefaultConfigurationValues for RelayChainCli {
+	fn p2p_listen_port() -> u16 {
+		30334
+	}
+
+	fn rpc_ws_listen_port() -> u16 {
+		9945
+	}
+
+	fn rpc_http_listen_port() -> u16 {
+		9934
+	}
+
+	fn prometheus_listen_port() -> u16 {
+		9616
+	}
+}
+
+impl CliConfiguration<Self> for RelayChainCli {
+	fn shared_params(&self) -> &SharedParams {
+		self.base.base.shared_params()
+	}
+
+	fn import_params(&self) -> Option<&ImportParams> {
+		self.base.base.import_params()
+	}
+
+	fn network_params(&self) -> Option<&NetworkParams> {
+		self.base.base.network_params()
+	}
+
+	fn keystore_params(&self) -> Option<&KeystoreParams> {
+		self.base.base.keystore_params()
+	}
+
+	fn base_path(&self) -> Result<Option<BasePath>> {
+		Ok(self
+			.shared_params()
+			.base_path()
+			.or_else(|| self.base_path.clone().map(Into::into)))
+	}
+
+	fn rpc_http(&self, default_listen_port: u16) -> Result<Option<SocketAddr>> {
+		self.base.base.rpc_http(default_listen_port)
+	}
+
+	fn rpc_ipc(&self) -> Result<Option<String>> {
+		self.base.base.rpc_ipc()
+	}
+
+	fn rpc_ws(&self, default_listen_port: u16) -> Result<Option<SocketAddr>> {
+		self.base.base.rpc_ws(default_listen_port)
+	}
+
+	fn prometheus_config(&self, default_listen_port: u16) -> Result<Option<PrometheusConfig>> {
+		self.base.base.prometheus_config(default_listen_port)
+	}
+
+	fn init<C: SubstrateCli>(&self) -> Result<()> {
+		unreachable!("PolkadotCli is never initialized; qed");
+	}
+
+	fn chain_id(&self, is_dev: bool) -> Result<String> {
+		let chain_id = self.base.base.chain_id(is_dev)?;
+
+		Ok(if chain_id.is_empty() {
+			self.chain_id.clone().unwrap_or_default()
+		} else {
+			chain_id
+		})
+	}
+
+	fn role(&self, is_dev: bool) -> Result<sc_service::Role> {
+		self.base.base.role(is_dev)
+	}
+
+	fn transaction_pool(&self) -> Result<sc_service::config::TransactionPoolOptions> {
+		self.base.base.transaction_pool()
+	}
+
+	fn state_cache_child_ratio(&self) -> Result<Option<usize>> {
+		self.base.base.state_cache_child_ratio()
+	}
+
+	fn rpc_methods(&self) -> Result<sc_service::config::RpcMethods> {
+		self.base.base.rpc_methods()
+	}
+
+	fn rpc_ws_max_connections(&self) -> Result<Option<usize>> {
+		self.base.base.rpc_ws_max_connections()
+	}
+
+	fn rpc_cors(&self, is_dev: bool) -> Result<Option<Vec<String>>> {
+		self.base.base.rpc_cors(is_dev)
+	}
+
+	fn telemetry_external_transport(&self) -> Result<Option<sc_service::config::ExtTransport>> {
+		self.base.base.telemetry_external_transport()
+	}
+
+	fn default_heap_pages(&self) -> Result<Option<u64>> {
+		self.base.base.default_heap_pages()
+	}
+
+	fn force_authoring(&self) -> Result<bool> {
+		self.base.base.force_authoring()
+	}
+
+	fn disable_grandpa(&self) -> Result<bool> {
+		self.base.base.disable_grandpa()
+	}
+
+	fn max_runtime_instances(&self) -> Result<Option<usize>> {
+		self.base.base.max_runtime_instances()
+	}
+
+	fn announce_block(&self) -> Result<bool> {
+		self.base.base.announce_block()
+	}
+
+	fn telemetry_endpoints(
+		&self,
+		chain_spec: &Box<dyn ChainSpec>,
+	) -> Result<Option<sc_telemetry::TelemetryEndpoints>> {
+		self.base.base.telemetry_endpoints(chain_spec)
+	}
+}
\ No newline at end of file
addednode/cli/src/lib.rsdiffbeforeafterboth
--- /dev/null
+++ b/node/cli/src/lib.rs
@@ -0,0 +1,2 @@
+pub mod chain_spec;
+pub mod service;
addednode/cli/src/main.rsdiffbeforeafterboth
--- /dev/null
+++ b/node/cli/src/main.rs
@@ -0,0 +1,14 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+mod chain_spec;
+#[macro_use]
+mod service;
+mod cli;
+mod command;
+
+fn main() -> sc_cli::Result<()> {
+	command::run()
+}
addednode/cli/src/service.rsdiffbeforeafterboth
--- /dev/null
+++ b/node/cli/src/service.rs
@@ -0,0 +1,496 @@
+//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.
+
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+// std
+use std::sync::Arc;
+use std::sync::Mutex;
+use std::collections::BTreeMap;
+use std::collections::HashMap;
+
+// Local Runtime Types
+use nft_runtime::RuntimeApi;
+
+// Cumulus Imports
+use cumulus_client_consensus_aura::{
+	build_aura_consensus, BuildAuraConsensusParams, SlotProportion,
+};
+use cumulus_client_consensus_common::ParachainConsensus;
+use cumulus_client_network::build_block_announce_validator;
+use cumulus_client_service::{
+	prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams,
+};
+use cumulus_primitives_core::ParaId;
+
+// Polkadot Imports
+use polkadot_primitives::v1::CollatorPair;
+
+// Substrate Imports
+use sc_client_api::ExecutorProvider;
+pub use sc_executor::NativeExecutor;
+use sc_executor::native_executor_instance;
+use sc_network::NetworkService;
+use sc_service::{BasePath, Configuration, PartialComponents, Role, TaskManager};
+use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle};
+use sp_consensus::SlotData;
+use sp_keystore::SyncCryptoStorePtr;
+use sp_runtime::traits::BlakeTwo256;
+use substrate_prometheus_endpoint::Registry;
+
+// Frontier Imports
+use fc_rpc_core::types::FilterPool;
+use fc_rpc_core::types::PendingTransactions;
+
+// Runtime type overrides
+type BlockNumber = u32;
+type Header = sp_runtime::generic::Header<BlockNumber, sp_runtime::traits::BlakeTwo256>;
+pub type Block = sp_runtime::generic::Block<Header, sp_runtime::OpaqueExtrinsic>;
+type Hash = sp_core::H256;
+
+// Native executor instance.
+native_executor_instance!(
+	pub ParachainRuntimeExecutor,
+	nft_runtime::api::dispatch,
+	nft_runtime::native_version,
+	frame_benchmarking::benchmarking::HostFunctions,
+);
+
+pub fn open_frontier_backend(config: &Configuration) -> Result<Arc<fc_db::Backend<Block>>, String> {
+	let config_dir = config.base_path.as_ref()
+		.map(|base_path| base_path.config_dir(config.chain_spec.id()))
+		.unwrap_or_else(|| {
+			BasePath::from_project("", "", "nft")
+				.config_dir(config.chain_spec.id())
+		});
+	let database_dir = config_dir.join("frontier").join("db");
+
+	Ok(Arc::new(fc_db::Backend::<Block>::new(&fc_db::DatabaseSettings {
+		source: fc_db::DatabaseSettingsSrc::RocksDb {
+			path: database_dir,
+			cache_size: 0,
+		}
+	})?))
+}
+
+type Executor = ParachainRuntimeExecutor;
+
+type FullClient = sc_service::TFullClient<Block, RuntimeApi, Executor>;
+type FullBackend = sc_service::TFullBackend<Block>;
+type FullSelectChain = sc_consensus::LongestChain<FullBackend, Block>;
+
+/// Starts a `ServiceBuilder` for a full service.
+///
+/// Use this macro if you don't actually need the full service, but just the builder in order to
+/// be able to perform chain operations.
+pub fn new_partial<BIQ>(
+	config: &Configuration,
+	build_import_queue: BIQ,
+) -> Result<
+	PartialComponents<
+		FullClient,
+		FullBackend,
+		FullSelectChain,
+		sp_consensus::DefaultImportQueue<Block, FullClient>,
+		sc_transaction_pool::FullPool<Block, FullClient>,
+		(Option<Telemetry>, PendingTransactions, Option<FilterPool>, Arc<fc_db::Backend<Block>>, Option<TelemetryWorkerHandle>),
+	>,
+	sc_service::Error,
+>
+where
+	sc_client_api::StateBackendFor<FullBackend, Block>: sp_api::StateBackend<BlakeTwo256>,
+	Executor: sc_executor::NativeExecutionDispatch + 'static,
+	BIQ: FnOnce(
+		Arc<FullClient>,
+		&Configuration,
+		Option<TelemetryHandle>,
+		&TaskManager,
+	) -> Result<
+		sp_consensus::DefaultImportQueue<Block, FullClient>,
+		sc_service::Error,
+	>,
+{
+	let telemetry = config
+		.telemetry_endpoints
+		.clone()
+		.filter(|x| !x.is_empty())
+		.map(|endpoints| -> Result<_, sc_telemetry::Error> {
+			let worker = TelemetryWorker::new(16)?;
+			let telemetry = worker.handle().new_telemetry(endpoints);
+			Ok((worker, telemetry))
+		})
+		.transpose()?;
+
+	let telemetry = config.telemetry_endpoints.clone()
+		.filter(|x| !x.is_empty())
+		.map(|endpoints| -> Result<_, sc_telemetry::Error> {
+			let worker = TelemetryWorker::new(16)?;
+			let telemetry = worker.handle().new_telemetry(endpoints);
+			Ok((worker, telemetry))
+		})
+		.transpose()?;
+
+	let (client, backend, keystore_container, task_manager) =
+		sc_service::new_full_parts::<Block, RuntimeApi, Executor>(
+			&config,
+			telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()),
+		)?;
+	let client = Arc::new(client);
+
+	let telemetry_worker_handle = telemetry.as_ref().map(|(worker, _)| worker.handle());
+
+	let telemetry = telemetry.map(|(worker, telemetry)| {
+		task_manager.spawn_handle().spawn("telemetry", worker.run());
+		telemetry
+	});
+
+	let select_chain = sc_consensus::LongestChain::new(backend.clone());
+
+	let transaction_pool = sc_transaction_pool::BasicPool::new_full(
+		config.transaction_pool.clone(),
+		config.role.is_authority().into(),
+		config.prometheus_registry(),
+		task_manager.spawn_handle(),
+		client.clone(),
+	);
+
+	let pending_transactions: PendingTransactions = Some(Arc::new(Mutex::new(HashMap::new())));
+
+	let filter_pool: Option<FilterPool>
+		= Some(Arc::new(Mutex::new(BTreeMap::new())));
+
+	let frontier_backend = open_frontier_backend(config)?;
+
+	let import_queue = build_import_queue(
+		client.clone(),
+		config,
+		telemetry.as_ref().map(|telemetry| telemetry.handle()),
+		&task_manager,
+	)?;
+
+	let params = PartialComponents {
+		backend,
+		client,
+		import_queue,
+		keystore_container,
+		task_manager,
+		transaction_pool,
+		select_chain,
+		other: (telemetry, pending_transactions, filter_pool, frontier_backend, telemetry_worker_handle),
+	};
+
+	Ok(params)
+}
+
+/// Start a node with the given parachain `Configuration` and relay chain `Configuration`.
+///
+/// This is the actual implementation that is abstract over the executor and the runtime api.
+#[sc_tracing::logging::prefix_logs_with("Parachain")]
+async fn start_node_impl<BIQ, BIC>(
+	parachain_config: Configuration,
+	collator_key: CollatorPair,
+	polkadot_config: Configuration,
+	id: ParaId,
+	build_import_queue: BIQ,
+	build_consensus: BIC,
+) -> sc_service::error::Result<(TaskManager, Arc<FullClient>)>
+where
+	sc_client_api::StateBackendFor<FullBackend, Block>: sp_api::StateBackend<BlakeTwo256>,
+	Executor: sc_executor::NativeExecutionDispatch + 'static,
+	BIQ: FnOnce(
+		Arc<FullClient>,
+		&Configuration,
+		Option<TelemetryHandle>,
+		&TaskManager,
+	) -> Result<
+		sp_consensus::DefaultImportQueue<Block, FullClient>,
+		sc_service::Error,
+	>,
+	BIC: FnOnce(
+		Arc<FullClient>,
+		Option<&Registry>,
+		Option<TelemetryHandle>,
+		&TaskManager,
+		&polkadot_service::NewFull<polkadot_service::Client>,
+		Arc<sc_transaction_pool::FullPool<Block, FullClient>>,
+		Arc<NetworkService<Block, Hash>>,
+		SyncCryptoStorePtr,
+		bool,
+	) -> Result<Box<dyn ParachainConsensus<Block>>, sc_service::Error>,
+{
+	if matches!(parachain_config.role, Role::Light) {
+		return Err("Light client not supported!".into());
+	}
+
+	let parachain_config = prepare_node_config(parachain_config);
+
+	let params = new_partial::<BIQ>(&parachain_config, build_import_queue)?;
+	let (mut telemetry, pending_transactions, filter_pool, frontier_backend, telemetry_worker_handle) = params.other;
+
+	let relay_chain_full_node = cumulus_client_service::build_polkadot_full_node(
+		polkadot_config,
+		collator_key.clone(),
+		telemetry_worker_handle,
+	)
+	.map_err(|e| match e {
+		polkadot_service::Error::Sub(x) => x,
+		s => format!("{}", s).into(),
+	})?;
+
+	let client = params.client.clone();
+	let backend = params.backend.clone();
+	let block_announce_validator = build_block_announce_validator(
+		relay_chain_full_node.client.clone(),
+		id,
+		Box::new(relay_chain_full_node.network.clone()),
+		relay_chain_full_node.backend.clone(),
+	);
+
+	let force_authoring = parachain_config.force_authoring;
+	let validator = parachain_config.role.is_authority();
+	let prometheus_registry = parachain_config.prometheus_registry().cloned();
+	let transaction_pool = params.transaction_pool.clone();
+	let mut task_manager = params.task_manager;
+	let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue);
+	let (network, network_status_sinks, system_rpc_tx, start_network) =
+		sc_service::build_network(sc_service::BuildNetworkParams {
+			config: &parachain_config,
+			client: client.clone(),
+			transaction_pool: transaction_pool.clone(),
+			spawn_handle: task_manager.spawn_handle(),
+			import_queue: import_queue.clone(),
+			on_demand: None,
+			block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)),
+		})?;
+
+	let subscription_executor = sc_rpc::SubscriptionTaskExecutor::new(task_manager.spawn_handle());
+	let rpc_client = client.clone();
+	let rpc_pool = transaction_pool.clone();
+	let select_chain = params.select_chain.clone();
+	let is_authority = parachain_config.role.clone().is_authority();
+	let rpc_network = network.clone();
+	let rpc_extensions_builder = Box::new(move |deny_unsafe, _| {
+		let full_deps = nft_rpc::FullDeps {
+			backend: frontier_backend.clone(),
+			deny_unsafe,
+			client: rpc_client.clone(),
+			pool: rpc_pool.clone(),
+			// TODO: Unhardcode
+			enable_dev_signer: false,
+			filter_pool: filter_pool.clone(),
+			network: rpc_network.clone(),
+			pending_transactions: pending_transactions.clone(),
+			select_chain: select_chain.clone(),
+			is_authority: is_authority.clone(),
+			// TODO: Unhardcode
+			max_past_logs: 10000,
+		};
+
+		nft_rpc::create_full::<_, _, _, RuntimeApi, _>(full_deps, subscription_executor.clone())
+	});
+
+	sc_service::spawn_tasks(sc_service::SpawnTasksParams {
+		on_demand: None,
+		remote_blockchain: None,
+		rpc_extensions_builder,
+		client: client.clone(),
+		transaction_pool: transaction_pool.clone(),
+		task_manager: &mut task_manager,
+		config: parachain_config,
+		keystore: params.keystore_container.sync_keystore(),
+		backend: backend.clone(),
+		network: network.clone(),
+		network_status_sinks,
+		system_rpc_tx,
+		telemetry: telemetry.as_mut(),
+	})?;
+
+	let announce_block = {
+		let network = network.clone();
+		Arc::new(move |hash, data| network.announce_block(hash, data))
+	};
+
+	if validator {
+		let parachain_consensus = build_consensus(
+			client.clone(),
+			prometheus_registry.as_ref(),
+			telemetry.as_ref().map(|t| t.handle()),
+			&task_manager,
+			&relay_chain_full_node,
+			transaction_pool,
+			network,
+			params.keystore_container.sync_keystore(),
+			force_authoring,
+		)?;
+
+		let spawner = task_manager.spawn_handle();
+
+		let params = StartCollatorParams {
+			para_id: id,
+			block_status: client.clone(),
+			announce_block,
+			client: client.clone(),
+			task_manager: &mut task_manager,
+			collator_key,
+			relay_chain_full_node,
+			spawner,
+			parachain_consensus,
+			import_queue,
+		};
+
+		start_collator(params).await?;
+	} else {
+		let params = StartFullNodeParams {
+			client: client.clone(),
+			announce_block,
+			task_manager: &mut task_manager,
+			para_id: id,
+			relay_chain_full_node,
+		};
+
+		start_full_node(params)?;
+	}
+
+	start_network.start_network();
+
+	Ok((task_manager, client))
+}
+
+/// Build the import queue for the the parachain runtime.
+pub fn parachain_build_import_queue(
+	client: Arc<FullClient>,
+	config: &Configuration,
+	telemetry: Option<TelemetryHandle>,
+	task_manager: &TaskManager,
+) -> Result<
+	sp_consensus::DefaultImportQueue<
+		Block,
+		FullClient,
+	>,
+	sc_service::Error,
+> {
+	let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
+
+
+	cumulus_client_consensus_aura::import_queue::<
+		sp_consensus_aura::sr25519::AuthorityPair,
+		_,
+		_,
+		_,
+		_,
+		_,
+		_,
+	>(cumulus_client_consensus_aura::ImportQueueParams {
+		block_import:  client.clone(),
+		client: client.clone(),
+		create_inherent_data_providers: move |_, _| async move {
+			let time = sp_timestamp::InherentDataProvider::from_system_time();
+
+			let slot =
+				sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
+					*time,
+					slot_duration.slot_duration(),
+				);
+
+			Ok((time, slot))
+		},
+		registry: config.prometheus_registry().clone(),
+		can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()),
+		spawner: &task_manager.spawn_essential_handle(),
+		telemetry,
+	})
+	.map_err(Into::into)
+}
+
+/// Start a normal parachain node.
+pub async fn start_node(
+	parachain_config: Configuration,
+	collator_key: CollatorPair,
+	polkadot_config: Configuration,
+	id: ParaId,
+) -> sc_service::error::Result<(TaskManager, Arc<FullClient>)> {
+	start_node_impl::<_, _>(
+		parachain_config,
+		collator_key,
+		polkadot_config,
+		id,
+		parachain_build_import_queue,
+		|client,
+		 prometheus_registry,
+		 telemetry,
+		 task_manager,
+		 relay_chain_node,
+		 transaction_pool,
+		 sync_oracle,
+		 keystore,
+		 force_authoring| {
+			let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
+
+			let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording(
+				task_manager.spawn_handle(),
+				client.clone(),
+				transaction_pool,
+				prometheus_registry.clone(),
+				telemetry.clone(),
+			);
+
+			let relay_chain_backend = relay_chain_node.backend.clone();
+			let relay_chain_client = relay_chain_node.client.clone();
+			Ok(build_aura_consensus::<
+				sp_consensus_aura::sr25519::AuthorityPair,
+				_,
+				_,
+				_,
+				_,
+				_,
+				_,
+				_,
+				_,
+				_,
+			>(BuildAuraConsensusParams {
+				proposer_factory,
+				create_inherent_data_providers: move |_, (relay_parent, validation_data)| {
+					let parachain_inherent =
+					cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client(
+						relay_parent,
+						&relay_chain_client,
+						&*relay_chain_backend,
+						&validation_data,
+						id,
+					);
+					async move {
+						let time = sp_timestamp::InherentDataProvider::from_system_time();
+
+						let slot =
+						sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
+							*time,
+							slot_duration.slot_duration(),
+						);
+
+						let parachain_inherent = parachain_inherent.ok_or_else(|| {
+							Box::<dyn std::error::Error + Send + Sync>::from(
+								"Failed to create parachain inherent",
+							)
+						})?;
+						Ok((time, slot, parachain_inherent))
+					}
+				},
+				block_import: client.clone(),
+				relay_chain_client: relay_chain_node.client.clone(),
+				relay_chain_backend: relay_chain_node.backend.clone(),
+				para_client: client.clone(),
+				backoff_authoring_blocks: Option::<()>::None,
+				sync_oracle,
+				keystore,
+				force_authoring,
+				slot_duration,
+				// We got around 500ms for proposing
+				block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32),
+				telemetry,
+			}))
+		},
+	)
+	.await
+}
\ No newline at end of file
addednode/rpc/Cargo.tomldiffbeforeafterboth
--- /dev/null
+++ b/node/rpc/Cargo.toml
@@ -0,0 +1,56 @@
+[package]
+name = "nft-rpc"
+version = "3.3.1"
+authors = ['Unique Network <support@uniquenetwork.io>']
+license = 'All Rights Reserved'
+edition = "2018"
+description = "Unique chain rpc"
+
+[package.metadata.docs.rs]
+targets = ["x86_64-unknown-linux-gnu"]
+
+[dependencies]
+futures = { version = "0.3.1", features = ["compat"] }
+jsonrpc-core = "15.0.0"
+jsonrpc-pubsub = "15.0.0"
+pallet-contracts-rpc = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-transaction-payment-rpc = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-transaction-payment-rpc-runtime-api = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-client-api = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-consensus-aura = { version = "0.9", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-consensus-epochs = { version = "0.9", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-finality-grandpa = { version = "0.9", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-finality-grandpa-rpc = { version = "0.9", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-keystore = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-network = { version = "0.9", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-rpc-api = { version = "0.9", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-rpc = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-service = { version = "0.9", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-api = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-block-builder = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-blockchain = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-consensus = { version = "0.9", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-consensus-aura = { version = "0.9", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-core = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-offchain = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-runtime = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-storage = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-session = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-transaction-pool = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-transaction-pool = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sc-transaction-graph = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+substrate-frame-rpc-system = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+tokio = { version = "0.2.13", features = ["macros", "sync"] }
+
+pallet-ethereum = { git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fc-rpc = { default-features = false, git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fp-rpc = { default-features = false, git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fc-rpc-core = { default-features = false, git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fc-db = { default-features = false, git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fc-mapping-sync = { default-features = false, git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+
+pallet-nft = { path = "../../pallets/nft" }
+nft-runtime = { path = "../../runtime" }
+
+[features]
+std = []
\ No newline at end of file
addednode/rpc/src/lib.rsdiffbeforeafterboth
--- /dev/null
+++ b/node/rpc/src/lib.rs
@@ -0,0 +1,256 @@
+use nft_runtime::{Hash, AccountId, Index, opaque::Block, BlockNumber, Balance};
+use fc_rpc::{OverrideHandle, RuntimeApiStorageOverride, SchemaV1Override, StorageOverride};
+use fc_rpc_core::types::{FilterPool, PendingTransactions};
+use jsonrpc_pubsub::manager::SubscriptionManager;
+use pallet_ethereum::EthereumStorageSchema;
+use sc_client_api::{
+	backend::{AuxStore, StorageProvider},
+	client::BlockchainEvents,
+};
+use pallet_nft::NftApi;
+use sc_finality_grandpa::{
+	FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState,
+};
+use sc_network::NetworkService;
+use sc_rpc::SubscriptionTaskExecutor;
+pub use sc_rpc_api::DenyUnsafe;
+use sp_api::ProvideRuntimeApi;
+use sp_block_builder::BlockBuilder;
+use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata};
+use sp_consensus::SelectChain;
+use sp_transaction_pool::TransactionPool;
+use std::{collections::BTreeMap, marker::PhantomData, sync::Arc};
+
+/// Public io handler for exporting into other modules
+pub type IoHandler = jsonrpc_core::IoHandler<sc_rpc::Metadata>;
+
+/// Light client extra dependencies.
+pub struct LightDeps<C, F, P> {
+	/// The client instance to use.
+	pub client: Arc<C>,
+	/// Transaction pool instance.
+	pub pool: Arc<P>,
+	/// Remote access to the blockchain (async).
+	pub remote_blockchain: Arc<dyn sc_client_api::light::RemoteBlockchain<Block>>,
+	/// Fetcher instance.
+	pub fetcher: Arc<F>,
+}
+
+/// Extra dependencies for GRANDPA
+pub struct GrandpaDeps<B> {
+	/// Voting round info.
+	pub shared_voter_state: SharedVoterState,
+	/// Authority set info.
+	pub shared_authority_set: SharedAuthoritySet<Hash, BlockNumber>,
+	/// Receives notifications about justification events from Grandpa.
+	pub justification_stream: GrandpaJustificationStream<Block>,
+	/// Executor to drive the subscription manager in the Grandpa RPC handler.
+	pub subscription_executor: SubscriptionTaskExecutor,
+	/// Finality proof provider.
+	pub finality_provider: Arc<FinalityProofProvider<B, Block>>,
+}
+
+/// Full client dependencies.
+pub struct FullDeps<C, P, SC> {
+	/// The client instance to use.
+	pub client: Arc<C>,
+	/// Transaction pool instance.
+	pub pool: Arc<P>,
+	/// The SelectChain Strategy
+	pub select_chain: SC,
+	/// The Node authority flag
+	pub is_authority: bool,
+	/// Whether to enable dev signer
+	pub enable_dev_signer: bool,
+	/// Network service
+	pub network: Arc<NetworkService<Block, Hash>>,
+	/// Whether to deny unsafe calls
+	pub deny_unsafe: DenyUnsafe,
+	/// Ethereum pending transactions.
+	pub pending_transactions: PendingTransactions,
+	/// EthFilterApi pool.
+	pub filter_pool: Option<FilterPool>,
+	/// Backend.
+	pub backend: Arc<fc_db::Backend<Block>>,
+	/// Maximum number of logs in a query.
+	pub max_past_logs: u32,
+}
+
+struct AccountCodes<C, B> {
+	client: Arc<C>,
+	_marker: PhantomData<B>,
+}
+
+impl<C, Block> AccountCodes<C, Block>
+where
+	Block: sp_api::BlockT,
+	C: ProvideRuntimeApi<Block>,
+{
+	fn new(client: Arc<C>) -> Self {
+		Self {
+			client,
+			_marker: PhantomData,
+		}
+	}
+}
+
+impl<C, Block> fc_rpc::AccountCodeProvider<Block> for AccountCodes<C, Block>
+where
+	Block: sp_api::BlockT,
+	C: ProvideRuntimeApi<Block>,
+	C::Api: pallet_nft::NftApi<Block>,
+{
+	fn code(&self, block: &sp_api::BlockId<Block>, account: sp_core::H160) -> Option<Vec<u8>> {
+		self.client
+			.runtime_api()
+			.eth_contract_code(block, account)
+			.ok()
+			.flatten()
+	}
+}
+
+/// Instantiate all Full RPC extensions.
+pub fn create_full<C, P, SC, A, B>(
+	deps: FullDeps<C, P, SC>,
+	subscription_task_executor: SubscriptionTaskExecutor,
+) -> jsonrpc_core::IoHandler<sc_rpc_api::Metadata>
+where
+	C: ProvideRuntimeApi<Block> + StorageProvider<Block, B> + AuxStore,
+	C: HeaderBackend<Block> + HeaderMetadata<Block, Error = BlockChainError> + 'static,
+	C: Send + Sync + 'static,
+	C: BlockchainEvents<Block>,
+	C::Api: substrate_frame_rpc_system::AccountNonceApi<Block, AccountId, Index>,
+	C::Api: BlockBuilder<Block>,
+	C::Api: pallet_contracts_rpc::ContractsRuntimeApi<Block, AccountId, Balance, BlockNumber, Hash>,
+	C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi<Block, Balance>,
+	C::Api: fp_rpc::EthereumRuntimeRPCApi<Block>,
+	C::Api: pallet_nft::NftApi<Block>,
+	P: TransactionPool<Block = Block> + 'static,
+	SC: SelectChain<Block> + 'static,
+	B: sc_client_api::Backend<Block> + Send + Sync + 'static,
+	B::State: sc_client_api::backend::StateBackend<sp_runtime::traits::HashFor<Block>>,
+{
+	use fc_rpc::{
+		EthApi, EthApiServer, EthDevSigner, EthFilterApi, EthFilterApiServer, EthPubSubApi,
+		EthPubSubApiServer, EthSigner, HexEncodedIdProvider, NetApi, NetApiServer, Web3Api,
+		Web3ApiServer,
+	};
+	use pallet_contracts_rpc::{Contracts, ContractsApi};
+	use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi};
+	use substrate_frame_rpc_system::{FullSystem, SystemApi};
+
+	let mut io = jsonrpc_core::IoHandler::default();
+	let FullDeps {
+		client,
+		pool,
+		select_chain: _,
+		enable_dev_signer,
+		is_authority,
+		network,
+		deny_unsafe,
+		pending_transactions,
+		filter_pool,
+		backend,
+		max_past_logs,
+	} = deps;
+
+	io.extend_with(SystemApi::to_delegate(FullSystem::new(
+		client.clone(),
+		pool.clone(),
+		deny_unsafe,
+	)));
+
+	io.extend_with(TransactionPaymentApi::to_delegate(TransactionPayment::new(
+		client.clone(),
+	)));
+
+	io.extend_with(ContractsApi::to_delegate(Contracts::new(client.clone())));
+
+	let mut signers = Vec::new();
+	if enable_dev_signer {
+		signers.push(Box::new(EthDevSigner::new()) as Box<dyn EthSigner>);
+	}
+	let mut overrides_map = BTreeMap::new();
+	overrides_map.insert(
+		EthereumStorageSchema::V1,
+		Box::new(SchemaV1Override::new_with_code_provider(
+			client.clone(),
+			Arc::new(AccountCodes::<C, Block>::new(client.clone())),
+		)) as Box<dyn StorageOverride<_> + Send + Sync>,
+	);
+
+	let overrides = Arc::new(OverrideHandle {
+		schemas: overrides_map,
+		fallback: Box::new(RuntimeApiStorageOverride::new(client.clone())),
+	});
+
+	io.extend_with(EthApiServer::to_delegate(EthApi::new(
+		client.clone(),
+		pool.clone(),
+		nft_runtime::TransactionConverter,
+		network.clone(),
+		pending_transactions.clone(),
+		signers,
+		overrides.clone(),
+		backend,
+		is_authority,
+		max_past_logs,
+	)));
+
+	if let Some(filter_pool) = filter_pool {
+		io.extend_with(EthFilterApiServer::to_delegate(EthFilterApi::new(
+			client.clone(),
+			filter_pool.clone(),
+			500 as usize, // max stored filters
+			overrides.clone(),
+			max_past_logs,
+		)));
+	}
+
+	io.extend_with(NetApiServer::to_delegate(NetApi::new(
+		client.clone(),
+		network.clone(),
+		// Whether to format the `peer_count` response as Hex (default) or not.
+		true,
+	)));
+
+	io.extend_with(Web3ApiServer::to_delegate(Web3Api::new(client.clone())));
+
+	io.extend_with(EthPubSubApiServer::to_delegate(EthPubSubApi::new(
+		pool.clone(),
+		client.clone(),
+		network.clone(),
+		SubscriptionManager::<HexEncodedIdProvider>::with_id_provider(
+			HexEncodedIdProvider::default(),
+			Arc::new(subscription_task_executor),
+		),
+		overrides,
+	)));
+
+	io
+}
+
+/// Instantiate all Light RPC extensions.
+pub fn create_light<C, P, M, F>(deps: LightDeps<C, F, P>) -> jsonrpc_core::IoHandler<M>
+where
+	C: sp_blockchain::HeaderBackend<Block>,
+	C: Send + Sync + 'static,
+	F: sc_client_api::light::Fetcher<Block> + 'static,
+	P: TransactionPool + 'static,
+	M: jsonrpc_core::Metadata + Default,
+{
+	use substrate_frame_rpc_system::{LightSystem, SystemApi};
+
+	let LightDeps {
+		client,
+		pool,
+		remote_blockchain,
+		fetcher,
+	} = deps;
+	let mut io = jsonrpc_core::IoHandler::default();
+	io.extend_with(SystemApi::<Hash, AccountId, Index>::to_delegate(
+		LightSystem::new(client, remote_blockchain, fetcher, pool),
+	));
+
+	io
+}
deletednode/src/chain_spec.rsdiffbeforeafterboth
--- a/node/src/chain_spec.rs
+++ /dev/null
@@ -1,223 +0,0 @@
-//
-// This file is subject to the terms and conditions defined in
-// file 'LICENSE', which is part of this source code package.
-//
-
-use cumulus_primitives_core::ParaId;
-use nft_runtime::*;
-use nft_data_structs::*;
-use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup};
-use sc_service::ChainType;
-use sp_core::{sr25519, Pair, Public};
-use sp_runtime::traits::{IdentifyAccount, Verify};
-
-use serde::{Deserialize, Serialize};
-use serde_json::map::Map;
-
-/// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type.
-pub type ChainSpec = sc_service::GenericChainSpec<nft_runtime::GenesisConfig, Extensions>;
-
-/// Helper function to generate a crypto pair from seed
-pub fn get_from_seed<TPublic: Public>(seed: &str) -> <TPublic::Pair as Pair>::Public {
-	TPublic::Pair::from_string(&format!("//{}", seed), None)
-		.expect("static values are valid; qed")
-		.public()
-}
-
-/// The extensions for the [`ChainSpec`].
-#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ChainSpecGroup, ChainSpecExtension)]
-#[serde(deny_unknown_fields)]
-pub struct Extensions {
-	/// The relay chain of the Parachain.
-	pub relay_chain: String,
-	/// The id of the Parachain.
-	pub para_id: u32,
-}
-
-impl Extensions {
-	/// Try to get the extension from the given `ChainSpec`.
-	pub fn try_get(chain_spec: &dyn sc_service::ChainSpec) -> Option<&Self> {
-		sc_chain_spec::get_extension(chain_spec.extensions())
-	}
-}
-
-type AccountPublic = <Signature as Verify>::Signer;
-
-/// Helper function to generate an account ID from seed
-pub fn get_account_id_from_seed<TPublic: Public>(seed: &str) -> AccountId
-where
-	AccountPublic: From<<TPublic::Pair as Pair>::Public>,
-{
-	AccountPublic::from(get_from_seed::<TPublic>(seed)).into_account()
-}
-
-pub fn development_config(id: ParaId) -> ChainSpec {
-	let mut properties = Map::new();
-	properties.insert("tokenSymbol".into(), "testUNQ".into());
-	properties.insert("tokenDecimals".into(), 15.into());
-	properties.insert("ss58Format".into(), 42.into()); // Generic Substrate wildcard (SS58 checksum preimage)
-
-	ChainSpec::from_genesis(
-		// Name
-		"Development",
-		// ID
-		"dev",
-		ChainType::Local,
-		move || testnet_genesis(
-			// Sudo account
-			get_account_id_from_seed::<sr25519::Public>("Alice"),
-			vec![
-				get_from_seed::<AuraId>("Alice"),
-				get_from_seed::<AuraId>("Bob"),
-			],
-			// Pre-funded accounts
-			vec![
-				get_account_id_from_seed::<sr25519::Public>("Alice"),
-				get_account_id_from_seed::<sr25519::Public>("Bob"),
-			],
-			id,
-		),
-		// Bootnodes
-		vec![],
-		// Telemetry
-		None,
-		// Protocol ID
-		None,
-		// Properties
-		Some(properties),
-		// Extensions
-		Extensions {
-			relay_chain: "rococo-dev".into(),
-			para_id: id.into(),
-		},
-	)
-}
-
-pub fn local_testnet_config(id: ParaId) -> ChainSpec {
-	ChainSpec::from_genesis(
-		// Name
-		"Local Testnet",
-		// ID
-		"local_testnet",
-		ChainType::Local,
-		move || testnet_genesis(
-			// Sudo account
-			get_account_id_from_seed::<sr25519::Public>("Alice"),
-			vec![
-				get_from_seed::<AuraId>("Alice"),
-				get_from_seed::<AuraId>("Bob"),
-			],
-			// Pre-funded accounts
-			vec![
-				get_account_id_from_seed::<sr25519::Public>("Alice"),
-				get_account_id_from_seed::<sr25519::Public>("Bob"),
-				get_account_id_from_seed::<sr25519::Public>("Charlie"),
-				get_account_id_from_seed::<sr25519::Public>("Dave"),
-				get_account_id_from_seed::<sr25519::Public>("Eve"),
-				get_account_id_from_seed::<sr25519::Public>("Ferdie"),
-				get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
-				get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
-				get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
-				get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
-				get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
-				get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
-			],
-			id,
-		),
-		// Bootnodes
-		vec![],
-		// Telemetry
-		None,
-		// Protocol ID
-		None,
-		// Properties
-		None,
-		// Extensions
-		Extensions {
-			relay_chain: "rococo-local".into(),
-			para_id: id.into(),
-		},
-	)
-}
-
-fn testnet_genesis(
-    root_key: AccountId,
-	initial_authorities: Vec<AuraId>,
-    endowed_accounts: Vec<AccountId>,
-	id: ParaId,
-) -> GenesisConfig {
-
-	let vested_accounts = vec![
-		get_account_id_from_seed::<sr25519::Public>("Bob"),
-	];
-
-    GenesisConfig {
-		system: nft_runtime::SystemConfig {
-			code: nft_runtime::WASM_BINARY
-				.expect("WASM binary was not build, please build it!")
-				.to_vec(),
-			changes_trie_config: Default::default(),
-		},
-        pallet_balances: BalancesConfig {
-            balances: endowed_accounts
-                .iter()
-                .cloned()
-                .map(|k| (k, 1 << 70))
-                .collect(),
-        },
-		pallet_treasury: Default::default(),
-		pallet_sudo: SudoConfig { key: root_key },
-		pallet_vesting: VestingConfig {
-            vesting: vested_accounts
-                .iter()
-                .cloned()
-                .map(|k| (k, 1000, 100, 1 << 98))
-                .collect(),
-        },
-        pallet_nft: NftConfig {
-            collection_id: vec![(
-                1,
-                Collection {
-                    owner: get_account_id_from_seed::<sr25519::Public>("Alice"),
-                    mode: CollectionMode::NFT,
-                    access: AccessMode::Normal,
-                    decimal_points: 0,
-                    name: vec![],
-                    description: vec![],
-                    token_prefix: vec![],
-                    mint_mode: false,
-					offchain_schema: vec![],
-					schema_version: SchemaVersion::default(),
-                    sponsorship: SponsorshipState::Confirmed(get_account_id_from_seed::<sr25519::Public>("Alice")),
-                    const_on_chain_schema: vec![],
-					variable_on_chain_schema: vec![],
-					limits: CollectionLimits::default()
-                },
-            )],
-            nft_item_id: vec![],
-            fungible_item_id: vec![],
-            refungible_item_id: vec![],
-            chain_limit: ChainLimits {
-                collection_numbers_limit: 100000,
-                account_token_ownership_limit: 1000000,
-                collections_admins_limit: 5,
-                custom_data_limit: 2048,
-                nft_sponsor_transfer_timeout: 15,
-                fungible_sponsor_transfer_timeout: 15,
-				refungible_sponsor_transfer_timeout: 15,
-				offchain_schema_limit: 1024,
-				variable_on_chain_schema_limit: 1024,
-				const_on_chain_schema_limit: 1024,
-            },
-        },
-		parachain_info: nft_runtime::ParachainInfoConfig { parachain_id: id },
-		pallet_aura: nft_runtime::AuraConfig {
-			authorities: initial_authorities,
-		},
-		cumulus_pallet_aura_ext: Default::default(),
-		pallet_evm: EVMConfig {
-			accounts: BTreeMap::new(),
-		},
-		pallet_ethereum: EthereumConfig {},
-    }
-}
deletednode/src/cli.rsdiffbeforeafterboth
--- a/node/src/cli.rs
+++ /dev/null
@@ -1,130 +0,0 @@
-use crate::chain_spec;
-use cumulus_client_cli;
-use sc_cli;
-use std::path::PathBuf;
-use structopt::StructOpt;
-
-/// Sub-commands supported by the collator.
-#[derive(Debug, StructOpt)]
-pub enum Subcommand {
-	/// Export the genesis state of the parachain.
-	#[structopt(name = "export-genesis-state")]
-	ExportGenesisState(ExportGenesisStateCommand),
-
-	/// Export the genesis wasm of the parachain.
-	#[structopt(name = "export-genesis-wasm")]
-	ExportGenesisWasm(ExportGenesisWasmCommand),
-
-	/// Build a chain specification.
-	BuildSpec(sc_cli::BuildSpecCmd),
-
-	/// Validate blocks.
-	CheckBlock(sc_cli::CheckBlockCmd),
-
-	/// Export blocks.
-	ExportBlocks(sc_cli::ExportBlocksCmd),
-
-	/// Export the state of a given block into a chain spec.
-	ExportState(sc_cli::ExportStateCmd),
-
-	/// Import blocks.
-	ImportBlocks(sc_cli::ImportBlocksCmd),
-
-	/// Remove the whole chain.
-	PurgeChain(cumulus_client_cli::PurgeChainCmd),
-
-	/// Revert the chain to a previous state.
-	Revert(sc_cli::RevertCmd),
-
-	/// The custom benchmark subcommmand benchmarking runtime pallets.
-	#[structopt(name = "benchmark", about = "Benchmark runtime pallets.")]
-	Benchmark(frame_benchmarking_cli::BenchmarkCmd),
-}
-
-/// Command for exporting the genesis state of the parachain
-#[derive(Debug, StructOpt)]
-pub struct ExportGenesisStateCommand {
-	/// Output file name or stdout if unspecified.
-	#[structopt(parse(from_os_str))]
-	pub output: Option<PathBuf>,
-
-	/// Id of the parachain this state is for.
-	///
-	/// Default: 100
-	#[structopt(long, conflicts_with = "chain")]
-	pub parachain_id: Option<u32>,
-
-	/// Write output in binary. Default is to write in hex.
-	#[structopt(short, long)]
-	pub raw: bool,
-
-	/// The name of the chain for that the genesis state should be exported.
-	#[structopt(long, conflicts_with = "parachain-id")]
-	pub chain: Option<String>,
-}
-
-/// Command for exporting the genesis wasm file.
-#[derive(Debug, StructOpt)]
-pub struct ExportGenesisWasmCommand {
-	/// Output file name or stdout if unspecified.
-	#[structopt(parse(from_os_str))]
-	pub output: Option<PathBuf>,
-
-	/// Write output in binary. Default is to write in hex.
-	#[structopt(short, long)]
-	pub raw: bool,
-
-	/// The name of the chain for that the genesis wasm file should be exported.
-	#[structopt(long)]
-	pub chain: Option<String>,
-}
-
-#[derive(Debug, StructOpt)]
-#[structopt(settings = &[
-	structopt::clap::AppSettings::GlobalVersion,
-	structopt::clap::AppSettings::ArgsNegateSubcommands,
-	structopt::clap::AppSettings::SubcommandsNegateReqs,
-])]
-pub struct Cli {
-	#[structopt(subcommand)]
-	pub subcommand: Option<Subcommand>,
-
-	#[structopt(flatten)]
-	pub run: cumulus_client_cli::RunCmd,
-
-	/// Relaychain arguments
-	#[structopt(raw = true)]
-	pub relaychain_args: Vec<String>,
-}
-
-#[derive(Debug)]
-pub struct RelayChainCli {
-	/// The actual relay chain cli object.
-	pub base: polkadot_cli::RunCmd,
-
-	/// Optional chain id that should be passed to the relay chain.
-	pub chain_id: Option<String>,
-
-	/// The base path that should be used by the relay chain.
-	pub base_path: Option<PathBuf>,
-}
-
-impl RelayChainCli {
-	/// Parse the relay chain CLI parameters using the para chain `Configuration`.
-	pub fn new<'a>(
-		para_config: &sc_service::Configuration,
-		relay_chain_args: impl Iterator<Item = &'a String>,
-	) -> Self {
-		let extension = chain_spec::Extensions::try_get(&*para_config.chain_spec);
-		let chain_id = extension.map(|e| e.relay_chain.clone());
-		let base_path = para_config
-			.base_path
-			.as_ref()
-			.map(|x| x.path().join("polkadot"));
-		Self {
-			base_path,
-			chain_id,
-			base: polkadot_cli::RunCmd::from_iter(relay_chain_args),
-		}
-	}
-}
deletednode/src/command.rsdiffbeforeafterboth
--- a/node/src/command.rs
+++ /dev/null
@@ -1,448 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) 2017-2021 Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-use crate::{
-	chain_spec,
-	cli::{Cli, RelayChainCli, Subcommand},
-	service::{new_partial, ParachainRuntimeExecutor}
-};
-use codec::Encode;
-use cumulus_primitives_core::ParaId;
-use cumulus_client_service::genesis::generate_genesis_block;
-use log::info;
-use nft_runtime::{RuntimeApi, Block};
-use polkadot_parachain::primitives::AccountIdConversion;
-use sc_cli::{
-	ChainSpec, CliConfiguration, DefaultConfigurationValues, ImportParams, KeystoreParams,
-	NetworkParams, Result, RuntimeVersion, SharedParams, SubstrateCli,
-};
-use sc_service::{
-	config::{BasePath, PrometheusConfig}
-};
-use sp_core::hexdisplay::HexDisplay;
-use sp_runtime::traits::Block as BlockT;
-use std::{io::Write, net::SocketAddr};
-
-fn load_spec(
-	id: &str,
-	para_id: ParaId,
-) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
-	Ok(match id {
-		"dev" => Box::new(chain_spec::development_config(para_id)),
-		"" | "local" => Box::new(chain_spec::local_testnet_config(para_id)),
-		path => Box::new(chain_spec::ChainSpec::from_json_file(
-			std::path::PathBuf::from(path),
-		)?),
-	})
-}
-
-impl SubstrateCli for Cli {
-	fn impl_name() -> String {
-		"Parachain Collator Template".into()
-	}
-
-	fn impl_version() -> String {
-		env!("SUBSTRATE_CLI_IMPL_VERSION").into()
-	}
-
-	fn description() -> String {
-		format!(
-			"Parachain Collator Template\n\nThe command-line arguments provided first will be \
-		passed to the parachain node, while the arguments provided after -- will be passed \
-		to the relaychain node.\n\n\
-		{} [parachain-args] -- [relaychain-args]",
-			Self::executable_name()
-		)
-	}
-
-	fn author() -> String {
-		env!("CARGO_PKG_AUTHORS").into()
-	}
-
-	fn support_url() -> String {
-		"https://github.com/substrate-developer-hub/substrate-parachain-template/issues/new".into()
-	}
-
-	fn copyright_start_year() -> i32 {
-		2017
-	}
-
-	fn load_spec(&self, id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
-		load_spec(id, self.run.parachain_id.unwrap_or(200).into())
-	}
-
-	fn native_runtime_version(_: &Box<dyn ChainSpec>) -> &'static RuntimeVersion {
-		&nft_runtime::VERSION
-	}
-}
-
-impl SubstrateCli for RelayChainCli {
-	fn impl_name() -> String {
-		"Parachain Collator Template".into()
-	}
-
-	fn impl_version() -> String {
-		env!("SUBSTRATE_CLI_IMPL_VERSION").into()
-	}
-
-	fn description() -> String {
-		"Parachain Collator Template\n\nThe command-line arguments provided first will be \
-		passed to the parachain node, while the arguments provided after -- will be passed \
-		to the relaychain node.\n\n\
-		parachain-collator [parachain-args] -- [relaychain-args]"
-			.into()
-	}
-
-	fn author() -> String {
-		env!("CARGO_PKG_AUTHORS").into()
-	}
-
-	fn support_url() -> String {
-		"https://github.com/substrate-developer-hub/substrate-parachain-template/issues/new".into()
-	}
-
-	fn copyright_start_year() -> i32 {
-		2017
-	}
-
-	fn load_spec(&self, id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
-		polkadot_cli::Cli::from_iter([RelayChainCli::executable_name().to_string()].iter())
-			.load_spec(id)
-	}
-
-	fn native_runtime_version(chain_spec: &Box<dyn ChainSpec>) -> &'static RuntimeVersion {
-		polkadot_cli::Cli::native_runtime_version(chain_spec)
-	}
-}
-
-fn extract_genesis_wasm(chain_spec: &Box<dyn sc_service::ChainSpec>) -> Result<Vec<u8>> {
-	let mut storage = chain_spec.build_storage()?;
-
-	storage
-		.top
-		.remove(sp_core::storage::well_known_keys::CODE)
-		.ok_or_else(|| "Could not find wasm file in genesis state!".into())
-}
-
-macro_rules! construct_async_run {
-	(|$components:ident, $cli:ident, $cmd:ident, $config:ident| $( $code:tt )* ) => {{
-		let runner = $cli.create_runner($cmd)?;
-		runner.async_run(|$config| {
-			let $components = new_partial::<
-				RuntimeApi,
-				ParachainRuntimeExecutor,
-				_
-			>(
-				&$config,
-				crate::service::parachain_build_import_queue,
-			)?;
-			let task_manager = $components.task_manager;
-			{ $( $code )* }.map(|v| (v, task_manager))
-		})
-	}}
-}
-
-/// Parse command line arguments into service configuration.
-pub fn run() -> Result<()> {
-	let cli = Cli::from_args();
-
-	match &cli.subcommand {
-		Some(Subcommand::BuildSpec(cmd)) => {
-			let runner = cli.create_runner(cmd)?;
-			runner.sync_run(|config| cmd.run(config.chain_spec, config.network))
-		}
-		Some(Subcommand::CheckBlock(cmd)) => {
-			construct_async_run!(|components, cli, cmd, config| {
-				Ok(cmd.run(components.client, components.import_queue))
-			})
-		}
-		Some(Subcommand::ExportBlocks(cmd)) => {
-			construct_async_run!(|components, cli, cmd, config| {
-				Ok(cmd.run(components.client, config.database))
-			})
-		}
-		Some(Subcommand::ExportState(cmd)) => {
-			construct_async_run!(|components, cli, cmd, config| {
-				Ok(cmd.run(components.client, config.chain_spec))
-			})
-		}
-		Some(Subcommand::ImportBlocks(cmd)) => {
-			construct_async_run!(|components, cli, cmd, config| {
-				Ok(cmd.run(components.client, components.import_queue))
-			})
-		}
-		Some(Subcommand::PurgeChain(cmd)) => {
-			let runner = cli.create_runner(cmd)?;
-
-			runner.sync_run(|config| {
-				let polkadot_cli = RelayChainCli::new(
-					&config,
-					[RelayChainCli::executable_name().to_string()]
-						.iter()
-						.chain(cli.relaychain_args.iter()),
-				);
-
-				let polkadot_config = SubstrateCli::create_configuration(
-					&polkadot_cli,
-					&polkadot_cli,
-					config.task_executor.clone(),
-				)
-				.map_err(|err| format!("Relay chain argument error: {}", err))?;
-
-				cmd.run(config, polkadot_config)
-			})
-		}
-		Some(Subcommand::Revert(cmd)) => construct_async_run!(|components, cli, cmd, config| {
-			Ok(cmd.run(components.client, components.backend))
-		}),
-		Some(Subcommand::ExportGenesisState(params)) => {
-			let mut builder = sc_cli::LoggerBuilder::new("");
-			builder.with_profiling(sc_tracing::TracingReceiver::Log, "");
-			let _ = builder.init();
-
-			let block: Block = generate_genesis_block(&load_spec(
-				&params.chain.clone().unwrap_or_default(),
-				params.parachain_id.unwrap_or(200).into(),
-			)?)?;
-			let raw_header = block.header().encode();
-			let output_buf = if params.raw {
-				raw_header
-			} else {
-				format!("0x{:?}", HexDisplay::from(&block.header().encode())).into_bytes()
-			};
-
-			if let Some(output) = &params.output {
-				std::fs::write(output, output_buf)?;
-			} else {
-				std::io::stdout().write_all(&output_buf)?;
-			}
-
-			Ok(())
-		}
-		Some(Subcommand::ExportGenesisWasm(params)) => {
-			let mut builder = sc_cli::LoggerBuilder::new("");
-			builder.with_profiling(sc_tracing::TracingReceiver::Log, "");
-			let _ = builder.init();
-
-			let raw_wasm_blob =
-				extract_genesis_wasm(&cli.load_spec(&params.chain.clone().unwrap_or_default())?)?;
-			let output_buf = if params.raw {
-				raw_wasm_blob
-			} else {
-				format!("0x{:?}", HexDisplay::from(&raw_wasm_blob)).into_bytes()
-			};
-
-			if let Some(output) = &params.output {
-				std::fs::write(output, output_buf)?;
-			} else {
-				std::io::stdout().write_all(&output_buf)?;
-			}
-
-			Ok(())
-		},
-		Some(Subcommand::Benchmark(cmd)) => {
-			if cfg!(feature = "runtime-benchmarks") {
-				let runner = cli.create_runner(cmd)?;
-
-				runner.sync_run(|config| cmd.run::<Block, ParachainRuntimeExecutor>(config))
-			} else {
-				Err("Benchmarking wasn't enabled when building the node. \
-				You can enable it with `--features runtime-benchmarks`.".into())
-			}
-		},
-		None => {
-			let runner = cli.create_runner(&cli.run.normalize())?;
-
-			runner.run_node_until_exit(|config| async move {
-				// TODO
-				let key = sp_core::Pair::generate().0;
-
-				let para_id =
-					chain_spec::Extensions::try_get(&*config.chain_spec).map(|e| e.para_id);
-
-				let polkadot_cli = RelayChainCli::new(
-					&config,
-					[RelayChainCli::executable_name().to_string()]
-						.iter()
-						.chain(cli.relaychain_args.iter()),
-				);
-
-				let id = ParaId::from(cli.run.parachain_id.or(para_id).unwrap_or(200));
-
-				let parachain_account =
-					AccountIdConversion::<polkadot_primitives::v0::AccountId>::into_account(&id);
-
-				let block: Block =
-					generate_genesis_block(&config.chain_spec).map_err(|e| format!("{:?}", e))?;
-				let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode()));
-
-				let task_executor = config.task_executor.clone();
-				let polkadot_config = SubstrateCli::create_configuration(
-					&polkadot_cli,
-					&polkadot_cli,
-					task_executor,
-				)
-				.map_err(|err| format!("Relay chain argument error: {}", err))?;
-
-				info!("Parachain id: {:?}", id);
-				info!("Parachain Account: {}", parachain_account);
-				info!("Parachain genesis state: {}", genesis_state);
-				info!(
-					"Is collating: {}",
-					if config.role.is_authority() {
-						"yes"
-					} else {
-						"no"
-					}
-				);
-
-				crate::service::start_node(config, key, polkadot_config, id)
-					.await
-					.map(|r| r.0)
-					.map_err(Into::into)
-			})
-		}
-	}
-}
-
-impl DefaultConfigurationValues for RelayChainCli {
-	fn p2p_listen_port() -> u16 {
-		30334
-	}
-
-	fn rpc_ws_listen_port() -> u16 {
-		9945
-	}
-
-	fn rpc_http_listen_port() -> u16 {
-		9934
-	}
-
-	fn prometheus_listen_port() -> u16 {
-		9616
-	}
-}
-
-impl CliConfiguration<Self> for RelayChainCli {
-	fn shared_params(&self) -> &SharedParams {
-		self.base.base.shared_params()
-	}
-
-	fn import_params(&self) -> Option<&ImportParams> {
-		self.base.base.import_params()
-	}
-
-	fn network_params(&self) -> Option<&NetworkParams> {
-		self.base.base.network_params()
-	}
-
-	fn keystore_params(&self) -> Option<&KeystoreParams> {
-		self.base.base.keystore_params()
-	}
-
-	fn base_path(&self) -> Result<Option<BasePath>> {
-		Ok(self
-			.shared_params()
-			.base_path()
-			.or_else(|| self.base_path.clone().map(Into::into)))
-	}
-
-	fn rpc_http(&self, default_listen_port: u16) -> Result<Option<SocketAddr>> {
-		self.base.base.rpc_http(default_listen_port)
-	}
-
-	fn rpc_ipc(&self) -> Result<Option<String>> {
-		self.base.base.rpc_ipc()
-	}
-
-	fn rpc_ws(&self, default_listen_port: u16) -> Result<Option<SocketAddr>> {
-		self.base.base.rpc_ws(default_listen_port)
-	}
-
-	fn prometheus_config(&self, default_listen_port: u16) -> Result<Option<PrometheusConfig>> {
-		self.base.base.prometheus_config(default_listen_port)
-	}
-
-	fn init<C: SubstrateCli>(&self) -> Result<()> {
-		unreachable!("PolkadotCli is never initialized; qed");
-	}
-
-	fn chain_id(&self, is_dev: bool) -> Result<String> {
-		let chain_id = self.base.base.chain_id(is_dev)?;
-
-		Ok(if chain_id.is_empty() {
-			self.chain_id.clone().unwrap_or_default()
-		} else {
-			chain_id
-		})
-	}
-
-	fn role(&self, is_dev: bool) -> Result<sc_service::Role> {
-		self.base.base.role(is_dev)
-	}
-
-	fn transaction_pool(&self) -> Result<sc_service::config::TransactionPoolOptions> {
-		self.base.base.transaction_pool()
-	}
-
-	fn state_cache_child_ratio(&self) -> Result<Option<usize>> {
-		self.base.base.state_cache_child_ratio()
-	}
-
-	fn rpc_methods(&self) -> Result<sc_service::config::RpcMethods> {
-		self.base.base.rpc_methods()
-	}
-
-	fn rpc_ws_max_connections(&self) -> Result<Option<usize>> {
-		self.base.base.rpc_ws_max_connections()
-	}
-
-	fn rpc_cors(&self, is_dev: bool) -> Result<Option<Vec<String>>> {
-		self.base.base.rpc_cors(is_dev)
-	}
-
-	fn telemetry_external_transport(&self) -> Result<Option<sc_service::config::ExtTransport>> {
-		self.base.base.telemetry_external_transport()
-	}
-
-	fn default_heap_pages(&self) -> Result<Option<u64>> {
-		self.base.base.default_heap_pages()
-	}
-
-	fn force_authoring(&self) -> Result<bool> {
-		self.base.base.force_authoring()
-	}
-
-	fn disable_grandpa(&self) -> Result<bool> {
-		self.base.base.disable_grandpa()
-	}
-
-	fn max_runtime_instances(&self) -> Result<Option<usize>> {
-		self.base.base.max_runtime_instances()
-	}
-
-	fn announce_block(&self) -> Result<bool> {
-		self.base.base.announce_block()
-	}
-
-	fn telemetry_endpoints(
-		&self,
-		chain_spec: &Box<dyn ChainSpec>,
-	) -> Result<Option<sc_telemetry::TelemetryEndpoints>> {
-		self.base.base.telemetry_endpoints(chain_spec)
-	}
-}
\ No newline at end of file
deletednode/src/lib.rsdiffbeforeafterboth
--- a/node/src/lib.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-pub mod chain_spec;
-pub mod service;
deletednode/src/main.rsdiffbeforeafterboth
--- a/node/src/main.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-// This file is subject to the terms and conditions defined in
-// file 'LICENSE', which is part of this source code package.
-//
-
-mod chain_spec;
-#[macro_use]
-mod service;
-mod cli;
-mod command;
-
-fn main() -> sc_cli::Result<()> {
-	command::run()
-}
deletednode/src/service.rsdiffbeforeafterboth
--- a/node/src/service.rs
+++ /dev/null
@@ -1,467 +0,0 @@
-//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.
-
-//
-// This file is subject to the terms and conditions defined in
-// file 'LICENSE', which is part of this source code package.
-//
-
-// std
-use std::sync::Arc;
-
-// Local Runtime Types
-use nft_runtime::RuntimeApi;
-
-// Cumulus Imports
-use cumulus_client_consensus_aura::{
-	build_aura_consensus, BuildAuraConsensusParams, SlotProportion,
-};
-use cumulus_client_consensus_common::ParachainConsensus;
-use cumulus_client_network::build_block_announce_validator;
-use cumulus_client_service::{
-	prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams,
-};
-use cumulus_primitives_core::ParaId;
-
-// Polkadot Imports
-use polkadot_primitives::v1::CollatorPair;
-
-// Substrate Imports
-use sc_client_api::ExecutorProvider;
-pub use sc_executor::NativeExecutor;
-use sc_executor::native_executor_instance;
-use sc_network::NetworkService;
-use sc_service::{Configuration, PartialComponents, Role, TFullBackend, TFullClient, TaskManager};
-use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle};
-use sp_api::ConstructRuntimeApi;
-use sp_consensus::SlotData;
-use sp_keystore::SyncCryptoStorePtr;
-use sp_runtime::traits::BlakeTwo256;
-use substrate_prometheus_endpoint::Registry;
-
-// Runtime type overrides
-type BlockNumber = u32;
-type Header = sp_runtime::generic::Header<BlockNumber, sp_runtime::traits::BlakeTwo256>;
-pub type Block = sp_runtime::generic::Block<Header, sp_runtime::OpaqueExtrinsic>;
-type Hash = sp_core::H256;
-
-// Native executor instance.
-native_executor_instance!(
-	pub ParachainRuntimeExecutor,
-	nft_runtime::api::dispatch,
-	nft_runtime::native_version,
-	frame_benchmarking::benchmarking::HostFunctions,
-);
-
-/// Starts a `ServiceBuilder` for a full service.
-///
-/// Use this macro if you don't actually need the full service, but just the builder in order to
-/// be able to perform chain operations.
-pub fn new_partial<RuntimeApi, Executor, BIQ>(
-	config: &Configuration,
-	build_import_queue: BIQ,
-) -> Result<
-	PartialComponents<
-		TFullClient<Block, RuntimeApi, Executor>,
-		TFullBackend<Block>,
-		(),
-		sp_consensus::DefaultImportQueue<Block, TFullClient<Block, RuntimeApi, Executor>>,
-		sc_transaction_pool::FullPool<Block, TFullClient<Block, RuntimeApi, Executor>>,
-		(Option<Telemetry>, Option<TelemetryWorkerHandle>),
-	>,
-	sc_service::Error,
->
-where
-	RuntimeApi: ConstructRuntimeApi<Block, TFullClient<Block, RuntimeApi, Executor>>
-		+ Send
-		+ Sync
-		+ 'static,
-	RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block>
-		+ sp_api::Metadata<Block>
-		+ sp_session::SessionKeys<Block>
-		+ sp_api::ApiExt<
-			Block,
-			StateBackend = sc_client_api::StateBackendFor<TFullBackend<Block>, Block>,
-		> + sp_offchain::OffchainWorkerApi<Block>
-		+ sp_block_builder::BlockBuilder<Block>,
-	sc_client_api::StateBackendFor<TFullBackend<Block>, Block>: sp_api::StateBackend<BlakeTwo256>,
-	Executor: sc_executor::NativeExecutionDispatch + 'static,
-	BIQ: FnOnce(
-		Arc<TFullClient<Block, RuntimeApi, Executor>>,
-		&Configuration,
-		Option<TelemetryHandle>,
-		&TaskManager,
-	) -> Result<
-		sp_consensus::DefaultImportQueue<Block, TFullClient<Block, RuntimeApi, Executor>>,
-		sc_service::Error,
-	>,
-{
-	let telemetry = config
-		.telemetry_endpoints
-		.clone()
-		.filter(|x| !x.is_empty())
-		.map(|endpoints| -> Result<_, sc_telemetry::Error> {
-			let worker = TelemetryWorker::new(16)?;
-			let telemetry = worker.handle().new_telemetry(endpoints);
-			Ok((worker, telemetry))
-		})
-		.transpose()?;
-
-	let telemetry = config.telemetry_endpoints.clone()
-		.filter(|x| !x.is_empty())
-		.map(|endpoints| -> Result<_, sc_telemetry::Error> {
-			let worker = TelemetryWorker::new(16)?;
-			let telemetry = worker.handle().new_telemetry(endpoints);
-			Ok((worker, telemetry))
-		})
-		.transpose()?;
-
-	let (client, backend, keystore_container, task_manager) =
-		sc_service::new_full_parts::<Block, RuntimeApi, Executor>(
-			&config,
-			telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()),
-		)?;
-	let client = Arc::new(client);
-
-	let telemetry_worker_handle = telemetry.as_ref().map(|(worker, _)| worker.handle());
-
-	let telemetry = telemetry.map(|(worker, telemetry)| {
-		task_manager.spawn_handle().spawn("telemetry", worker.run());
-		telemetry
-	});
-
-	let transaction_pool = sc_transaction_pool::BasicPool::new_full(
-		config.transaction_pool.clone(),
-		config.role.is_authority().into(),
-		config.prometheus_registry(),
-		task_manager.spawn_handle(),
-		client.clone(),
-	);
-
-	let import_queue = build_import_queue(
-		client.clone(),
-		config,
-		telemetry.as_ref().map(|telemetry| telemetry.handle()),
-		&task_manager,
-	)?;
-
-	let params = PartialComponents {
-		backend,
-		client,
-		import_queue,
-		keystore_container,
-		task_manager,
-		transaction_pool,
-		select_chain: (),
-		other: (telemetry, telemetry_worker_handle),
-	};
-
-	Ok(params)
-}
-
-/// Start a node with the given parachain `Configuration` and relay chain `Configuration`.
-///
-/// This is the actual implementation that is abstract over the executor and the runtime api.
-#[sc_tracing::logging::prefix_logs_with("Parachain")]
-async fn start_node_impl<RuntimeApi, Executor, RB, BIQ, BIC>(
-	parachain_config: Configuration,
-	collator_key: CollatorPair,
-	polkadot_config: Configuration,
-	id: ParaId,
-	rpc_ext_builder: RB,
-	build_import_queue: BIQ,
-	build_consensus: BIC,
-) -> sc_service::error::Result<(TaskManager, Arc<TFullClient<Block, RuntimeApi, Executor>>)>
-where
-	RuntimeApi: ConstructRuntimeApi<Block, TFullClient<Block, RuntimeApi, Executor>>
-		+ Send
-		+ Sync
-		+ 'static,
-	RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block>
-		+ sp_api::Metadata<Block>
-		+ sp_session::SessionKeys<Block>
-		+ sp_api::ApiExt<
-			Block,
-			StateBackend = sc_client_api::StateBackendFor<TFullBackend<Block>, Block>,
-		> + sp_offchain::OffchainWorkerApi<Block>
-		+ sp_block_builder::BlockBuilder<Block>
-		+ cumulus_primitives_core::CollectCollationInfo<Block>,
-	sc_client_api::StateBackendFor<TFullBackend<Block>, Block>: sp_api::StateBackend<BlakeTwo256>,
-	Executor: sc_executor::NativeExecutionDispatch + 'static,
-	RB: Fn(
-			Arc<TFullClient<Block, RuntimeApi, Executor>>,
-		) -> jsonrpc_core::IoHandler<sc_rpc::Metadata>
-		+ Send
-		+ 'static,
-	BIQ: FnOnce(
-		Arc<TFullClient<Block, RuntimeApi, Executor>>,
-		&Configuration,
-		Option<TelemetryHandle>,
-		&TaskManager,
-	) -> Result<
-		sp_consensus::DefaultImportQueue<Block, TFullClient<Block, RuntimeApi, Executor>>,
-		sc_service::Error,
-	>,
-	BIC: FnOnce(
-		Arc<TFullClient<Block, RuntimeApi, Executor>>,
-		Option<&Registry>,
-		Option<TelemetryHandle>,
-		&TaskManager,
-		&polkadot_service::NewFull<polkadot_service::Client>,
-		Arc<sc_transaction_pool::FullPool<Block, TFullClient<Block, RuntimeApi, Executor>>>,
-		Arc<NetworkService<Block, Hash>>,
-		SyncCryptoStorePtr,
-		bool,
-	) -> Result<Box<dyn ParachainConsensus<Block>>, sc_service::Error>,
-{
-	if matches!(parachain_config.role, Role::Light) {
-		return Err("Light client not supported!".into());
-	}
-
-	let parachain_config = prepare_node_config(parachain_config);
-
-	let params = new_partial::<RuntimeApi, Executor, BIQ>(&parachain_config, build_import_queue)?;
-	let (mut telemetry, telemetry_worker_handle) = params.other;
-
-	let relay_chain_full_node = cumulus_client_service::build_polkadot_full_node(
-		polkadot_config,
-		collator_key.clone(),
-		telemetry_worker_handle,
-	)
-	.map_err(|e| match e {
-		polkadot_service::Error::Sub(x) => x,
-		s => format!("{}", s).into(),
-	})?;
-
-	let client = params.client.clone();
-	let backend = params.backend.clone();
-	let block_announce_validator = build_block_announce_validator(
-		relay_chain_full_node.client.clone(),
-		id,
-		Box::new(relay_chain_full_node.network.clone()),
-		relay_chain_full_node.backend.clone(),
-	);
-
-	let force_authoring = parachain_config.force_authoring;
-	let validator = parachain_config.role.is_authority();
-	let prometheus_registry = parachain_config.prometheus_registry().cloned();
-	let transaction_pool = params.transaction_pool.clone();
-	let mut task_manager = params.task_manager;
-	let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue);
-	let (network, network_status_sinks, system_rpc_tx, start_network) =
-		sc_service::build_network(sc_service::BuildNetworkParams {
-			config: &parachain_config,
-			client: client.clone(),
-			transaction_pool: transaction_pool.clone(),
-			spawn_handle: task_manager.spawn_handle(),
-			import_queue: import_queue.clone(),
-			on_demand: None,
-			block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)),
-		})?;
-
-	let rpc_client = client.clone();
-	let rpc_extensions_builder = Box::new(move |_, _| rpc_ext_builder(rpc_client.clone()));
-
-	sc_service::spawn_tasks(sc_service::SpawnTasksParams {
-		on_demand: None,
-		remote_blockchain: None,
-		rpc_extensions_builder,
-		client: client.clone(),
-		transaction_pool: transaction_pool.clone(),
-		task_manager: &mut task_manager,
-		config: parachain_config,
-		keystore: params.keystore_container.sync_keystore(),
-		backend: backend.clone(),
-		network: network.clone(),
-		network_status_sinks,
-		system_rpc_tx,
-		telemetry: telemetry.as_mut(),
-	})?;
-
-	let announce_block = {
-		let network = network.clone();
-		Arc::new(move |hash, data| network.announce_block(hash, data))
-	};
-
-	if validator {
-		let parachain_consensus = build_consensus(
-			client.clone(),
-			prometheus_registry.as_ref(),
-			telemetry.as_ref().map(|t| t.handle()),
-			&task_manager,
-			&relay_chain_full_node,
-			transaction_pool,
-			network,
-			params.keystore_container.sync_keystore(),
-			force_authoring,
-		)?;
-
-		let spawner = task_manager.spawn_handle();
-
-		let params = StartCollatorParams {
-			para_id: id,
-			block_status: client.clone(),
-			announce_block,
-			client: client.clone(),
-			task_manager: &mut task_manager,
-			collator_key,
-			relay_chain_full_node,
-			spawner,
-			parachain_consensus,
-			import_queue,
-		};
-
-		start_collator(params).await?;
-	} else {
-		let params = StartFullNodeParams {
-			client: client.clone(),
-			announce_block,
-			task_manager: &mut task_manager,
-			para_id: id,
-			relay_chain_full_node,
-		};
-
-		start_full_node(params)?;
-	}
-
-	start_network.start_network();
-
-	Ok((task_manager, client))
-}
-
-/// Build the import queue for the the parachain runtime.
-pub fn parachain_build_import_queue(
-	client: Arc<TFullClient<Block, RuntimeApi, ParachainRuntimeExecutor>>,
-	config: &Configuration,
-	telemetry: Option<TelemetryHandle>,
-	task_manager: &TaskManager,
-) -> Result<
-	sp_consensus::DefaultImportQueue<
-		Block,
-		TFullClient<Block, RuntimeApi, ParachainRuntimeExecutor>,
-	>,
-	sc_service::Error,
-> {
-	let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
-
-
-	cumulus_client_consensus_aura::import_queue::<
-		sp_consensus_aura::sr25519::AuthorityPair,
-		_,
-		_,
-		_,
-		_,
-		_,
-		_,
-	>(cumulus_client_consensus_aura::ImportQueueParams {
-		block_import:  client.clone(),
-		client: client.clone(),
-		create_inherent_data_providers: move |_, _| async move {
-			let time = sp_timestamp::InherentDataProvider::from_system_time();
-
-			let slot =
-				sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
-					*time,
-					slot_duration.slot_duration(),
-				);
-
-			Ok((time, slot))
-		},
-		registry: config.prometheus_registry().clone(),
-		can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()),
-		spawner: &task_manager.spawn_essential_handle(),
-		telemetry,
-	})
-	.map_err(Into::into)
-}
-
-/// Start a normal parachain node.
-pub async fn start_node(
-	parachain_config: Configuration,
-	collator_key: CollatorPair,
-	polkadot_config: Configuration,
-	id: ParaId,
-) -> sc_service::error::Result<(TaskManager, Arc<TFullClient<Block, RuntimeApi, ParachainRuntimeExecutor>>)> {
-	start_node_impl::<RuntimeApi, ParachainRuntimeExecutor, _, _, _>(
-		parachain_config,
-		collator_key,
-		polkadot_config,
-		id,
-		|_| Default::default(),
-		parachain_build_import_queue,
-		|client,
-		 prometheus_registry,
-		 telemetry,
-		 task_manager,
-		 relay_chain_node,
-		 transaction_pool,
-		 sync_oracle,
-		 keystore,
-		 force_authoring| {
-			let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
-
-			let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording(
-				task_manager.spawn_handle(),
-				client.clone(),
-				transaction_pool,
-				prometheus_registry.clone(),
-				telemetry.clone(),
-			);
-
-			let relay_chain_backend = relay_chain_node.backend.clone();
-			let relay_chain_client = relay_chain_node.client.clone();
-			Ok(build_aura_consensus::<
-				sp_consensus_aura::sr25519::AuthorityPair,
-				_,
-				_,
-				_,
-				_,
-				_,
-				_,
-				_,
-				_,
-				_,
-			>(BuildAuraConsensusParams {
-				proposer_factory,
-				create_inherent_data_providers: move |_, (relay_parent, validation_data)| {
-					let parachain_inherent =
-					cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client(
-						relay_parent,
-						&relay_chain_client,
-						&*relay_chain_backend,
-						&validation_data,
-						id,
-					);
-					async move {
-						let time = sp_timestamp::InherentDataProvider::from_system_time();
-
-						let slot =
-						sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
-							*time,
-							slot_duration.slot_duration(),
-						);
-
-						let parachain_inherent = parachain_inherent.ok_or_else(|| {
-							Box::<dyn std::error::Error + Send + Sync>::from(
-								"Failed to create parachain inherent",
-							)
-						})?;
-						Ok((time, slot, parachain_inherent))
-					}
-				},
-				block_import: client.clone(),
-				relay_chain_client: relay_chain_node.client.clone(),
-				relay_chain_backend: relay_chain_node.backend.clone(),
-				para_client: client.clone(),
-				backoff_authoring_blocks: Option::<()>::None,
-				sync_oracle,
-				keystore,
-				force_authoring,
-				slot_duration,
-				// We got around 500ms for proposing
-				block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32),
-				telemetry,
-			}))
-		},
-	)
-	.await
-}
\ No newline at end of file
modifiedpallets/nft-charge-transaction/Cargo.tomldiffbeforeafterboth
--- a/pallets/nft-charge-transaction/Cargo.toml
+++ b/pallets/nft-charge-transaction/Cargo.toml
@@ -19,7 +19,7 @@
 version = '2.0.0'
 
 [dependencies]
-serde = { version = "1.0.119" }
+serde = { version = "1.0.119", default-features = false }
 frame-support = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
 frame-system = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
 pallet-balances = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
modifiedpallets/nft-transaction-payment/Cargo.tomldiffbeforeafterboth
before · pallets/nft-transaction-payment/Cargo.toml
1[package]2authors = ['Substrate DevHub <https://github.com/substrate-developer-hub>']3description = 'Unqiue pallet nft specific transaction payment'4edition = '2018'5homepage = 'https://substrate.io'6license = 'Unlicense'7name = 'pallet-nft-transaction-payment'8repository = 'https://github.com/usetech-llc/nft_private/'9version = '3.0.0'1011[package.metadata.docs.rs]12targets = ['x86_64-unknown-linux-gnu']1314# alias "parity-scale-code" to "codec"15[dependencies.codec]16default-features = false17features = ['derive']18package = 'parity-scale-codec'19version = '2.0.0'2021[dependencies]22serde = { version = "1.0.119" }23frame-support = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }24frame-system = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }25pallet-balances = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }26pallet-contracts = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }27pallet-timestamp = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }28pallet-transaction-payment = { default-features = false, version = "3.0.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }29pallet-randomness-collective-flip = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }30sp-std = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }31frame-benchmarking = { default-features = false, version = "3.0.0", optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }32sp-core = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }33sp-io = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }34sp-runtime = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }3536pallet-nft = { default-features = false, path="../nft" }37nft-data-structs = { default-features = false, path="../../primitives", version = "0.9.0" }3839[features]40default = ['std']41std = [42    'codec/std',43    'serde/std',44    'frame-support/std',45    'frame-system/std',46    'pallet-balances/std',47    'pallet-timestamp/std',48    'pallet-randomness-collective-flip/std',49    'pallet-contracts/std',50    'pallet-nft/std',51    'pallet-transaction-payment/std',52    'sp-std/std',53    'sp-runtime/std',54    'nft-data-structs/std',55    'frame-benchmarking/std',56]57runtime-benchmarks = ["frame-benchmarking"]
after · pallets/nft-transaction-payment/Cargo.toml
1[package]2authors = ['Substrate DevHub <https://github.com/substrate-developer-hub>']3description = 'Unqiue pallet nft specific transaction payment'4edition = '2018'5homepage = 'https://substrate.io'6license = 'Unlicense'7name = 'pallet-nft-transaction-payment'8repository = 'https://github.com/usetech-llc/nft_private/'9version = '3.0.0'1011[package.metadata.docs.rs]12targets = ['x86_64-unknown-linux-gnu']1314# alias "parity-scale-code" to "codec"15[dependencies.codec]16default-features = false17features = ['derive']18package = 'parity-scale-codec'19version = '2.0.0'2021[dependencies]22serde = { version = "1.0.119", default-features = false }23frame-support = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }24frame-system = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }25pallet-balances = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }26pallet-contracts = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }27pallet-timestamp = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }28pallet-transaction-payment = { default-features = false, version = "3.0.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }29pallet-randomness-collective-flip = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }30sp-std = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }31frame-benchmarking = { default-features = false, version = "3.0.0", optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }32sp-core = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }33sp-io = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }34sp-runtime = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }3536pallet-nft = { default-features = false, path="../nft" }37nft-data-structs = { default-features = false, path="../../primitives", version = "0.9.0" }3839[features]40default = ['std']41std = [42    'codec/std',43    'serde/std',44    'frame-support/std',45    'frame-system/std',46    'pallet-balances/std',47    'pallet-timestamp/std',48    'pallet-randomness-collective-flip/std',49    'pallet-contracts/std',50    'pallet-nft/std',51    'pallet-transaction-payment/std',52    'sp-std/std',53    'sp-runtime/std',54    'nft-data-structs/std',55    'frame-benchmarking/std',56]57runtime-benchmarks = ["frame-benchmarking"]
modifiedpallets/nft/Cargo.tomldiffbeforeafterboth
--- a/pallets/nft/Cargo.toml
+++ b/pallets/nft/Cargo.toml
@@ -31,6 +31,7 @@
     'fp-evm/std',
     'nft-data-structs/std',
     'sp-std/std',
+    'sp-api/std',
     'sp-runtime/std',
     'frame-benchmarking/std',
     'ethereum/std',
@@ -106,6 +107,7 @@
 version = '3.0.0'
 
 [dependencies.serde]
+default-features = false
 features = ['derive']
 version = '1.0.119'
 
@@ -141,8 +143,12 @@
 ethereum-tx-sign = { version = "3.0.4", optional = true }
 ethereum = { default-features = false, version = "0.7.1" }
 rlp = { default-features = false, version = "0.5.0" }
+sp-api = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.3" }
 
 evm-coder = { default-features = false, path = "../../crates/evm-coder" }
 primitive-types = { version = "0.9.0", default-features = false, features = ["serde_no_std"] }
 
+pallet-evm = { default-features = false, version = "4.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+pallet-ethereum = { default-features = false, version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fp-evm = { default-features = false, version = '2.0.0', git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
 hex-literal = "0.3.1"
\ No newline at end of file
modifiedpallets/nft/src/lib.rsdiffbeforeafterboth
--- a/pallets/nft/src/lib.rs
+++ b/pallets/nft/src/lib.rs
@@ -32,6 +32,7 @@
 use sp_core::H160;
 use sp_runtime::sp_std::prelude::Vec;
 use core::ops::{Deref, DerefMut};
+use core::cell::RefCell;
 use nft_data_structs::{
     MAX_DECIMAL_POINTS, MAX_SPONSOR_TIMEOUT, MAX_TOKEN_OWNERSHIP, MAX_REFUNGIBLE_PIECES,
 	AccessMode, ChainLimits, Collection, CreateItemData, CollectionLimits,
@@ -39,6 +40,7 @@
     SchemaVersion, SponsorshipState, Ownership,
     NftItemType, FungibleItemType, ReFungibleItemType
 };
+use pallet_ethereum::EthereumTransactionSender;
 
 #[cfg(test)]
 mod mock;
@@ -171,12 +173,46 @@
 	}
 }
 
-pub struct CollectionHandle<T: system::Config> {
+pub struct CollectionHandle<T: Config> {
     pub id: CollectionId,
-    pub collection: Collection<T>,
+    collection: Collection<T>,
+    logs: eth::log::LogRecorder,
+    evm_address: H160,
+    gas_limit: RefCell<u64>,
 }
-
-impl<T: frame_system::Config> Deref for CollectionHandle<T> {
+impl<T: Config> CollectionHandle<T> {
+	pub fn get_with_gas_limit(id: CollectionId, gas_limit: u64) -> Option<Self> {
+		<CollectionById<T>>::get(id)
+			.map(|collection| Self {
+				id,
+				collection,
+                logs: eth::log::LogRecorder::default(),
+                evm_address: eth::collection_id_to_address(id),
+                gas_limit: RefCell::new(gas_limit),
+			})
+	}
+    pub fn get(id: CollectionId) -> Option<Self> {
+        Self::get_with_gas_limit(id, u64::MAX)
+    }
+    pub fn gas_left(&self) -> u64 {
+        *self.gas_limit.borrow()
+    }
+    pub fn consume_gas(&self, gas: u64) -> DispatchResult {
+        let mut gas_limit = self.gas_limit.borrow_mut();
+        if *gas_limit < gas {
+            fail!(Error::<T>::OutOfGas);
+        }
+        *gas_limit -= gas;
+        Ok(())
+    }
+    pub fn log(&self, log: impl evm_coder::ToLog) {
+        self.logs.log(log.to_log(self.evm_address))
+    }
+    pub fn into_inner(self) -> Collection<T> {
+        self.collection.clone()
+    }
+}
+impl<T: Config> Deref for CollectionHandle<T> {
     type Target = Collection<T>;
 
     fn deref(&self) -> &Self::Target {
@@ -184,7 +220,7 @@
     }
 }
 
-impl<T: frame_system::Config> DerefMut for CollectionHandle<T> {
+impl<T: Config> DerefMut for CollectionHandle<T> {
     fn deref_mut(&mut self) -> &mut Self::Target {
         &mut self.collection
     }
@@ -2373,3 +2409,10 @@
         Ok(())
     }
 }
+
+sp_api::decl_runtime_apis! {
+    pub trait NftApi {
+        /// Used for ethereum integration
+        fn eth_contract_code(account: H160) -> Option<Vec<u8>>;
+    }
+}
\ No newline at end of file
modifiedpallets/scheduler/Cargo.tomldiffbeforeafterboth
--- a/pallets/scheduler/Cargo.toml
+++ b/pallets/scheduler/Cargo.toml
@@ -10,7 +10,7 @@
 readme = "README.md"
 
 [dependencies]
-serde = { version = "1.0.119" }
+serde = { version = "1.0.119", default-features = false }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
 frame-support = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
 frame-system = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
modifiedprimitives/Cargo.tomldiffbeforeafterboth
--- a/primitives/Cargo.toml
+++ b/primitives/Cargo.toml
@@ -10,7 +10,7 @@
 
 [dependencies]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ['derive'] }
-serde = { version = "1.0.119", optional = true, features = ['derive'] }
+serde = { version = "1.0.119", features = ['derive'], default-features = false }
 frame-support = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
 frame-system = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
 pallet-contracts = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
@@ -20,7 +20,7 @@
 [features]
 default = ["std"]
 std = [
-  "serde",
+  "serde/std",
   "codec/std",
   "frame-system/std",
   "frame-support/std",
modifiedprimitives/src/lib.rsdiffbeforeafterboth
--- a/primitives/src/lib.rs
+++ b/primitives/src/lib.rs
@@ -1,7 +1,7 @@
 
 #![cfg_attr(not(feature = "std"), no_std)]
 
-pub use serde::{Serealize, Deserialize};
+pub use serde::{Serialize, Deserialize};
 
 use frame_system;
 use sp_runtime::sp_std::prelude::Vec;
modifiedruntime/Cargo.tomldiffbeforeafterboth
--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -133,6 +133,7 @@
 version = '0.3.1'
 
 [dependencies.serde]
+default-features = false
 features = ['derive']
 optional = true
 version = '1.0.119'
@@ -376,8 +377,9 @@
 pallet-nft-transaction-payment = { path = '../pallets/nft-transaction-payment', default-features = false, version = '3.0.0' }
 pallet-nft-charge-transaction = { path = '../pallets/nft-charge-transaction', default-features = false, version = '3.0.0' }
 
-pallet-evm = { default-features = false, version = "4.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-pallet-ethereum = { default-features = false, version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
+pallet-evm = { default-features = false, version = "4.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+pallet-ethereum = { default-features = false, version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
+fp-rpc = { default-features = false, version = "2.0.0", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions-parachain" }
 
 ################################################################################
 # Build Dependencies
modifiedruntime/src/lib.rsdiffbeforeafterboth
--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -14,7 +14,7 @@
 include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
 
 use sp_api::impl_runtime_apis;
-use sp_core::{ crypto::KeyTypeId, OpaqueMetadata };
+use sp_core::{ crypto::KeyTypeId, OpaqueMetadata, H256, U256, H160 };
 // #[cfg(any(feature = "std", test))]
 // pub use sp_runtime::BuildStorage;
 
@@ -45,8 +45,9 @@
 	PalletId,
     parameter_types,
     StorageValue,
+	ConsensusEngineId,
     traits::{
-        All, Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem, LockIdentifier, OnUnbalanced, Randomness
+        All, Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem, LockIdentifier, OnUnbalanced, Randomness, FindAuthor
     },
     weights::{
         constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},
@@ -67,8 +68,7 @@
 use codec::{Encode, Decode};
 use pallet_evm::{Account as EVMAccount, FeeCalculator, OnMethodCall};
 use fp_rpc::TransactionStatus;
-use sp_core::H256;
-
+use sp_core::crypto::Public;
 use sp_runtime::{
 	traits::{ 
 		Dispatchable,
@@ -100,12 +100,12 @@
 
 /// Re-export a nft pallet
 /// TODO: Check this re-export. Is this safe and good style?
-extern crate pallet_nft;
-pub use pallet_nft::*;
+// extern crate pallet_nft;
+// pub use pallet_nft::*;
 
 /// Reimport pallet inflation
-extern crate pallet_inflation;
-pub use pallet_inflation::*;
+// extern crate pallet_inflation;
+// pub use pallet_inflation::*;
 
 /// An index to a block.
 pub type BlockNumber = u32;
@@ -267,7 +267,7 @@
 	type OnChargeTransaction = ();
 }
 
-pub struct EthereumFindAuthor<F>(PhantomData<F>);
+pub struct EthereumFindAuthor<F>(core::marker::PhantomData<F>);
 impl<F: FindAuthor<u32>> FindAuthor<H160> for EthereumFindAuthor<F>
 {
 	fn find_author<'a, I>(digests: I) -> Option<H160> where
@@ -289,7 +289,7 @@
 	type Event = Event;
 	type FindAuthor = EthereumFindAuthor<Aura>;
 	type StateRoot = pallet_ethereum::IntermediateStateRoot;
-	type EvmSubmitLog = pallet_evm::Module<Runtime>;
+	type EvmSubmitLog = pallet_evm::Pallet<Runtime>;
 }
 
 impl system::Config for Runtime {
@@ -775,8 +775,8 @@
 		AuraExt: cumulus_pallet_aura_ext::{Pallet, Config},
 
 		// Frontier
-		EVM: pallet_evm::{Module, Config, Call, Storage, Event<T>},
-		Ethereum: pallet_ethereum::{Module, Config, Call, Storage, Event, ValidateUnsigned},
+		EVM: pallet_evm::{Pallet, Config, Call, Storage, Event<T>},
+		Ethereum: pallet_ethereum::{Pallet, Config, Call, Storage, Event, ValidateUnsigned},
 
 		// XCM helpers.
 		XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event<T>} = 50,
@@ -850,6 +850,14 @@
 }
 
 impl_runtime_apis! {
+	impl pallet_nft::NftApi<Block>
+		for Runtime
+	{
+		fn eth_contract_code(account: H160) -> Option<Vec<u8>> {
+			<pallet_nft::NftErcSupport<Runtime>>::get_code(&account)
+		}
+	}
+
     impl sp_api::Core<Block> for Runtime {
         fn version() -> RuntimeVersion {
             VERSION