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

difftreelog

Merge branch 'develop' into release/v2.0.0

Greg Zaitsev2021-02-10parents: #1ddda31 #e6241c6.patch.diff
in: master

5 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -248,13 +248,13 @@
 
 [[package]]
 name = "async-process"
-version = "1.0.1"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c8cea09c1fb10a317d1b5af8024eeba256d6554763e85ecd90ff8df31c7bbda"
+checksum = "ef37b86e2fa961bae5a4d212708ea0154f904ce31d1a4a7f47e1bbc33a0c040b"
 dependencies = [
  "async-io",
  "blocking",
- "cfg-if 0.1.10",
+ "cfg-if 1.0.0",
  "event-listener",
  "futures-lite",
  "once_cell",
@@ -534,9 +534,9 @@
 
 [[package]]
 name = "bstr"
-version = "0.2.14"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "473fc6b38233f9af7baa94fb5852dca389e3d95b8e21c8e3719301462c5d9faf"
+checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d"
 dependencies = [
  "memchr",
 ]
@@ -1378,7 +1378,7 @@
 [[package]]
 name = "fork-tree"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
 ]
@@ -1396,7 +1396,7 @@
 [[package]]
 name = "frame-benchmarking"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1414,7 +1414,7 @@
 [[package]]
 name = "frame-benchmarking-cli"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "Inflector",
  "chrono",
@@ -1437,7 +1437,7 @@
 [[package]]
 name = "frame-executive"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1453,7 +1453,7 @@
 [[package]]
 name = "frame-metadata"
 version = "12.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -1464,12 +1464,12 @@
 [[package]]
 name = "frame-support"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "bitflags",
  "frame-metadata",
  "frame-support-procedural",
- "impl-trait-for-tuples 0.2.0",
+ "impl-trait-for-tuples 0.2.1",
  "log",
  "once_cell",
  "parity-scale-codec",
@@ -1489,7 +1489,7 @@
 [[package]]
 name = "frame-support-procedural"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "Inflector",
  "frame-support-procedural-tools",
@@ -1501,7 +1501,7 @@
 [[package]]
 name = "frame-support-procedural-tools"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate",
@@ -1513,7 +1513,7 @@
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1523,10 +1523,10 @@
 [[package]]
 name = "frame-system"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support",
- "impl-trait-for-tuples 0.2.0",
+ "impl-trait-for-tuples 0.2.1",
  "parity-scale-codec",
  "serde",
  "sp-core",
@@ -1539,7 +1539,7 @@
 [[package]]
 name = "frame-system-benchmarking"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -1553,7 +1553,7 @@
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -2115,9 +2115,9 @@
 
 [[package]]
 name = "hyper"
-version = "0.13.9"
+version = "0.13.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6ad767baac13b44d4529fcf58ba2cd0995e36e7b435bc5b039de6f47e880dbf"
+checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb"
 dependencies = [
  "bytes 0.5.6",
  "futures-channel",
@@ -2146,7 +2146,7 @@
  "bytes 0.5.6",
  "ct-logs",
  "futures-util",
- "hyper 0.13.9",
+ "hyper 0.13.10",
  "log",
  "rustls 0.18.1",
  "rustls-native-certs",
@@ -2168,9 +2168,9 @@
 
 [[package]]
 name = "idna"
-version = "0.2.0"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
+checksum = "de910d521f7cc3135c4de8db1cb910e0b5ed1dc6f57c381cd07e8e661ce10094"
 dependencies = [
  "matches",
  "unicode-bidi",
@@ -2245,9 +2245,9 @@
 
 [[package]]
 name = "impl-trait-for-tuples"
-version = "0.2.0"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f65a8ecf74feeacdab8d38cb129e550ca871cccaa7d1921d8636ecd75534903"
+checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2553,9 +2553,9 @@
 
 [[package]]
 name = "libc"
-version = "0.2.85"
+version = "0.2.86"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ccac4b00700875e6a07c6cde370d44d32fa01c5a65cdd2fca6858c479d28bb3"
+checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
 
 [[package]]
 name = "libloading"
@@ -3631,7 +3631,7 @@
 [[package]]
 name = "pallet-aura"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3650,11 +3650,11 @@
 [[package]]
 name = "pallet-authorship"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support",
  "frame-system",
- "impl-trait-for-tuples 0.2.0",
+ "impl-trait-for-tuples 0.2.1",
  "parity-scale-codec",
  "sp-authorship",
  "sp-inherents",
@@ -3665,7 +3665,7 @@
 [[package]]
 name = "pallet-balances"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3679,7 +3679,7 @@
 [[package]]
 name = "pallet-contracts"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3700,7 +3700,7 @@
 [[package]]
 name = "pallet-contracts-primitives"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "bitflags",
  "parity-scale-codec",
@@ -3711,7 +3711,7 @@
 [[package]]
 name = "pallet-contracts-proc-macro"
 version = "0.1.0"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3721,7 +3721,7 @@
 [[package]]
 name = "pallet-contracts-rpc"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -3740,7 +3740,7 @@
 [[package]]
 name = "pallet-contracts-rpc-runtime-api"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "pallet-contracts-primitives",
  "parity-scale-codec",
@@ -3752,7 +3752,7 @@
 [[package]]
 name = "pallet-grandpa"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3794,7 +3794,7 @@
 [[package]]
 name = "pallet-randomness-collective-flip"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3807,7 +3807,7 @@
 [[package]]
 name = "pallet-session"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3827,7 +3827,7 @@
 [[package]]
 name = "pallet-sudo"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3841,12 +3841,12 @@
 [[package]]
 name = "pallet-timestamp"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "impl-trait-for-tuples 0.2.0",
+ "impl-trait-for-tuples 0.2.1",
  "parity-scale-codec",
  "serde",
  "sp-inherents",
@@ -3859,7 +3859,7 @@
 [[package]]
 name = "pallet-transaction-payment"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3875,7 +3875,7 @@
 [[package]]
 name = "pallet-transaction-payment-rpc"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -3892,7 +3892,7 @@
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "pallet-transaction-payment",
  "parity-scale-codec",
@@ -3903,11 +3903,11 @@
 [[package]]
 name = "pallet-treasury"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-support",
  "frame-system",
- "impl-trait-for-tuples 0.2.0",
+ "impl-trait-for-tuples 0.2.1",
  "pallet-balances",
  "parity-scale-codec",
  "serde",
@@ -3918,7 +3918,7 @@
 [[package]]
 name = "pallet-vesting"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "enumflags2",
  "frame-support",
@@ -4019,7 +4019,7 @@
 dependencies = [
  "cfg-if 1.0.0",
  "hashbrown",
- "impl-trait-for-tuples 0.2.0",
+ "impl-trait-for-tuples 0.2.1",
  "parity-util-mem-derive",
  "parking_lot 0.11.1",
  "primitive-types",
@@ -5010,7 +5010,7 @@
 [[package]]
 name = "sc-basic-authorship"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "futures 0.3.12",
  "futures-timer 3.0.2",
@@ -5033,7 +5033,7 @@
 [[package]]
 name = "sc-block-builder"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "sc-client-api",
@@ -5050,9 +5050,9 @@
 [[package]]
 name = "sc-chain-spec"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
- "impl-trait-for-tuples 0.2.0",
+ "impl-trait-for-tuples 0.2.1",
  "parity-scale-codec",
  "sc-chain-spec-derive",
  "sc-consensus-babe",
@@ -5071,7 +5071,7 @@
 [[package]]
 name = "sc-chain-spec-derive"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -5082,7 +5082,7 @@
 [[package]]
 name = "sc-cli"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "chrono",
  "fdlimit",
@@ -5120,7 +5120,7 @@
 [[package]]
 name = "sc-client-api"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "derive_more",
  "fnv",
@@ -5154,7 +5154,7 @@
 [[package]]
 name = "sc-client-db"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "blake2-rfc",
  "hash-db",
@@ -5184,7 +5184,7 @@
 [[package]]
 name = "sc-consensus"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "sc-client-api",
  "sp-blockchain",
@@ -5195,7 +5195,7 @@
 [[package]]
 name = "sc-consensus-aura"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "derive_more",
  "futures 0.3.12",
@@ -5226,7 +5226,7 @@
 [[package]]
 name = "sc-consensus-babe"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "derive_more",
  "fork-tree",
@@ -5271,7 +5271,7 @@
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "fork-tree",
  "parity-scale-codec",
@@ -5284,7 +5284,7 @@
 [[package]]
 name = "sc-consensus-slots"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "futures 0.3.12",
  "futures-timer 3.0.2",
@@ -5310,7 +5310,7 @@
 [[package]]
 name = "sc-consensus-uncles"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "log",
  "sc-client-api",
@@ -5324,7 +5324,7 @@
 [[package]]
 name = "sc-executor"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "derive_more",
  "lazy_static",
@@ -5353,7 +5353,7 @@
 [[package]]
 name = "sc-executor-common"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "derive_more",
  "parity-scale-codec",
@@ -5369,7 +5369,7 @@
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -5384,7 +5384,7 @@
 [[package]]
 name = "sc-executor-wasmtime"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -5402,7 +5402,7 @@
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "derive_more",
  "finality-grandpa",
@@ -5440,7 +5440,7 @@
 [[package]]
 name = "sc-informant"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "ansi_term 0.12.1",
  "futures 0.3.12",
@@ -5458,7 +5458,7 @@
 [[package]]
 name = "sc-keystore"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -5478,7 +5478,7 @@
 [[package]]
 name = "sc-light"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "hash-db",
  "lazy_static",
@@ -5497,7 +5497,7 @@
 [[package]]
 name = "sc-network"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "async-std",
  "async-trait",
@@ -5549,7 +5549,7 @@
 [[package]]
 name = "sc-network-gossip"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "futures 0.3.12",
  "futures-timer 3.0.2",
@@ -5565,13 +5565,13 @@
 [[package]]
 name = "sc-offchain"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "bytes 0.5.6",
  "fnv",
  "futures 0.3.12",
  "futures-timer 3.0.2",
- "hyper 0.13.9",
+ "hyper 0.13.10",
  "hyper-rustls",
  "log",
  "num_cpus",
@@ -5592,7 +5592,7 @@
 [[package]]
 name = "sc-peerset"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "futures 0.3.12",
  "libp2p",
@@ -5605,7 +5605,7 @@
 [[package]]
 name = "sc-proposer-metrics"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -5614,7 +5614,7 @@
 [[package]]
 name = "sc-rpc"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "futures 0.3.12",
  "hash-db",
@@ -5648,7 +5648,7 @@
 [[package]]
 name = "sc-rpc-api"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "derive_more",
  "futures 0.3.12",
@@ -5672,7 +5672,7 @@
 [[package]]
 name = "sc-rpc-server"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "futures 0.1.30",
  "jsonrpc-core",
@@ -5690,7 +5690,7 @@
 [[package]]
 name = "sc-service"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "directories 3.0.1",
  "exit-future",
@@ -5753,7 +5753,7 @@
 [[package]]
 name = "sc-state-db"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -5768,7 +5768,7 @@
 [[package]]
 name = "sc-telemetry"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "chrono",
  "futures 0.3.12",
@@ -5790,7 +5790,7 @@
 [[package]]
 name = "sc-tracing"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "ansi_term 0.12.1",
  "atty",
@@ -5818,7 +5818,7 @@
 [[package]]
 name = "sc-tracing-proc-macro"
 version = "2.0.0"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -5829,7 +5829,7 @@
 [[package]]
 name = "sc-transaction-graph"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "derive_more",
  "futures 0.3.12",
@@ -5851,7 +5851,7 @@
 [[package]]
 name = "sc-transaction-pool"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "futures 0.3.12",
  "futures-diagnose",
@@ -6014,9 +6014,9 @@
 
 [[package]]
 name = "serde_json"
-version = "1.0.61"
+version = "1.0.62"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fceb2595057b6891a4ee808f70054bd2d12f0e97f1cbb78689b59f676df325a"
+checksum = "ea1c6153794552ea7cf7cf63b1231a25de00ec90db326ba6264440fa08e31486"
 dependencies = [
  "itoa",
  "ryu",
@@ -6102,9 +6102,9 @@
 
 [[package]]
 name = "signal-hook"
-version = "0.1.17"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e31d442c16f047a671b5a71e2161d6e68814012b7f5379d269ebd915fac2729"
+checksum = "780f5e3fe0c66f67197236097d89de1e86216f1f6fdeaf47c442f854ab46c240"
 dependencies = [
  "libc",
  "signal-hook-registry",
@@ -6206,7 +6206,7 @@
 [[package]]
 name = "sp-allocator"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "log",
  "sp-core",
@@ -6218,7 +6218,7 @@
 [[package]]
 name = "sp-api"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "hash-db",
  "parity-scale-codec",
@@ -6234,7 +6234,7 @@
 [[package]]
 name = "sp-api-proc-macro"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "blake2-rfc",
  "proc-macro-crate",
@@ -6246,7 +6246,7 @@
 [[package]]
 name = "sp-application-crypto"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -6258,7 +6258,7 @@
 [[package]]
 name = "sp-arithmetic"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "integer-sqrt",
  "num-traits",
@@ -6271,7 +6271,7 @@
 [[package]]
 name = "sp-authorship"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "sp-inherents",
@@ -6282,7 +6282,7 @@
 [[package]]
 name = "sp-block-builder"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -6294,7 +6294,7 @@
 [[package]]
 name = "sp-blockchain"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "futures 0.3.12",
  "log",
@@ -6312,7 +6312,7 @@
 [[package]]
 name = "sp-chain-spec"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "serde",
  "serde_json",
@@ -6321,7 +6321,7 @@
 [[package]]
 name = "sp-consensus"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "futures 0.3.12",
  "futures-timer 3.0.2",
@@ -6347,7 +6347,7 @@
 [[package]]
 name = "sp-consensus-aura"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -6361,7 +6361,7 @@
 [[package]]
 name = "sp-consensus-babe"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "merlin",
  "parity-scale-codec",
@@ -6381,7 +6381,7 @@
 [[package]]
 name = "sp-consensus-slots"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "sp-runtime",
@@ -6390,7 +6390,7 @@
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "schnorrkel",
@@ -6402,7 +6402,7 @@
 [[package]]
 name = "sp-core"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "base58",
  "blake2-rfc",
@@ -6446,7 +6446,7 @@
 [[package]]
 name = "sp-database"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "kvdb",
  "parking_lot 0.11.1",
@@ -6455,7 +6455,7 @@
 [[package]]
 name = "sp-debug-derive"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -6465,7 +6465,7 @@
 [[package]]
 name = "sp-externalities"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -6476,7 +6476,7 @@
 [[package]]
 name = "sp-finality-grandpa"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "finality-grandpa",
  "log",
@@ -6493,7 +6493,7 @@
 [[package]]
 name = "sp-inherents"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "parking_lot 0.11.1",
@@ -6505,7 +6505,7 @@
 [[package]]
 name = "sp-io"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "futures 0.3.12",
  "hash-db",
@@ -6529,7 +6529,7 @@
 [[package]]
 name = "sp-keyring"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -6540,7 +6540,7 @@
 [[package]]
 name = "sp-keystore"
 version = "0.8.0"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -6557,7 +6557,7 @@
 [[package]]
 name = "sp-offchain"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -6567,7 +6567,7 @@
 [[package]]
 name = "sp-panic-handler"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "backtrace",
 ]
@@ -6575,7 +6575,7 @@
 [[package]]
 name = "sp-rpc"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "serde",
  "sp-core",
@@ -6584,11 +6584,11 @@
 [[package]]
 name = "sp-runtime"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "either",
  "hash256-std-hasher",
- "impl-trait-for-tuples 0.2.0",
+ "impl-trait-for-tuples 0.2.1",
  "log",
  "parity-scale-codec",
  "parity-util-mem",
@@ -6605,9 +6605,9 @@
 [[package]]
 name = "sp-runtime-interface"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
- "impl-trait-for-tuples 0.2.0",
+ "impl-trait-for-tuples 0.2.1",
  "parity-scale-codec",
  "primitive-types",
  "sp-externalities",
@@ -6622,7 +6622,7 @@
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "Inflector",
  "proc-macro-crate",
@@ -6634,7 +6634,7 @@
 [[package]]
 name = "sp-sandbox"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "sp-core",
@@ -6647,7 +6647,7 @@
 [[package]]
 name = "sp-serializer"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "serde",
  "serde_json",
@@ -6656,7 +6656,7 @@
 [[package]]
 name = "sp-session"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -6669,7 +6669,7 @@
 [[package]]
 name = "sp-staking"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "parity-scale-codec",
  "sp-runtime",
@@ -6679,7 +6679,7 @@
 [[package]]
 name = "sp-state-machine"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "hash-db",
  "log",
@@ -6701,12 +6701,12 @@
 [[package]]
 name = "sp-std"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 
 [[package]]
 name = "sp-storage"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -6719,7 +6719,7 @@
 [[package]]
 name = "sp-tasks"
 version = "2.0.0"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "log",
  "sp-core",
@@ -6732,9 +6732,9 @@
 [[package]]
 name = "sp-timestamp"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
- "impl-trait-for-tuples 0.2.0",
+ "impl-trait-for-tuples 0.2.1",
  "parity-scale-codec",
  "sp-api",
  "sp-inherents",
@@ -6746,7 +6746,7 @@
 [[package]]
 name = "sp-tracing"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -6759,7 +6759,7 @@
 [[package]]
 name = "sp-transaction-pool"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "derive_more",
  "futures 0.3.12",
@@ -6775,7 +6775,7 @@
 [[package]]
 name = "sp-trie"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "hash-db",
  "memory-db",
@@ -6789,7 +6789,7 @@
 [[package]]
 name = "sp-utils"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "futures 0.3.12",
  "futures-core",
@@ -6801,7 +6801,7 @@
 [[package]]
 name = "sp-version"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -6813,9 +6813,9 @@
 [[package]]
 name = "sp-wasm-interface"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
- "impl-trait-for-tuples 0.2.0",
+ "impl-trait-for-tuples 0.2.1",
  "parity-scale-codec",
  "sp-std",
  "wasmi",
@@ -6934,7 +6934,7 @@
 [[package]]
 name = "substrate-build-script-utils"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "platforms",
 ]
@@ -6942,7 +6942,7 @@
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "2.0.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "frame-system-rpc-runtime-api",
  "futures 0.3.12",
@@ -6965,12 +6965,12 @@
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.8.1"
-source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f"
+source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#c8641b52ea9acfd2cee6df8653b453edbe0bbed7"
 dependencies = [
  "async-std",
  "derive_more",
  "futures-util",
- "hyper 0.13.9",
+ "hyper 0.13.10",
  "log",
  "prometheus",
  "tokio 0.2.25",
@@ -7599,9 +7599,9 @@
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.16"
+version = "0.1.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a13e63ab62dbe32aeee58d1c5408d35c36c392bba5d9d3142287219721afe606"
+checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"
 dependencies = [
  "tinyvec",
 ]
@@ -7676,7 +7676,7 @@
 checksum = "5909f2b0817350449ed73e8bcd81c8c3c8d9a7a5d8acba4b27db277f1868976e"
 dependencies = [
  "form_urlencoded",
- "idna 0.2.0",
+ "idna 0.2.1",
  "matches",
  "percent-encoding 2.1.0",
 ]
modifiedtests/src/addCollectionAdmin.test.tsdiffbeforeafterboth
--- a/tests/src/addCollectionAdmin.test.ts
+++ b/tests/src/addCollectionAdmin.test.ts
@@ -103,7 +103,7 @@
     });
   });
 
-  it.only('Add an admin to a collection that has reached the maximum number of admins limit', async () => {
+  it('Add an admin to a collection that has reached the maximum number of admins limit', async () => {
     await usingApi(async (api: ApiPromise) => {
       const Alice = privateKey('//Alice');
       const accounts = [
modifiedtests/src/creditFeesToTreasury.test.tsdiffbeforeafterboth
--- a/tests/src/creditFeesToTreasury.test.ts
+++ b/tests/src/creditFeesToTreasury.test.ts
@@ -17,6 +17,8 @@
   transferExpectSuccess
 } from './util/helpers';
 
+import { default as waitNewBlocks } from './substrate/wait-new-blocks';
+
 chai.use(chaiAsPromised);
 const expect = chai.expect;
 
@@ -37,6 +39,8 @@
 
   it('Total issuance does not change', async () => {
     await usingApi(async (api) => {
+      await waitNewBlocks(api, 1);
+
       const totalBefore = new BigNumber((await api.query.balances.totalIssuance()).toString());
 
       const alicePrivateKey = privateKey('//Alice');
@@ -54,6 +58,8 @@
 
   it('Sender balance decreased by fee+sent amount, Treasury balance increased by fee', async () => {
     await usingApi(async (api) => {
+      await waitNewBlocks(api, 1);
+
       const alicePrivateKey = privateKey('//Alice');
       const treasuryBalanceBefore = new BigNumber((await api.query.system.account(Treasury)).data.free.toString());
       const aliceBalanceBefore = new BigNumber((await api.query.system.account(alicesPublicKey)).data.free.toString());
@@ -74,6 +80,8 @@
 
   it('Treasury balance increased by failed tx fee', async () => {
     await usingApi(async (api) => {
+      await waitNewBlocks(api, 1);
+
       const bobPrivateKey = privateKey('//Bob');
       const treasuryBalanceBefore = new BigNumber((await api.query.system.account(Treasury)).data.free.toString());
       const bobBalanceBefore = new BigNumber((await api.query.system.account(bobsPublicKey)).data.free.toString());
@@ -92,6 +100,8 @@
 
   it('NFT Transactions also send fees to Treasury', async () => {
     await usingApi(async (api) => {
+      await waitNewBlocks(api, 1);
+
       const treasuryBalanceBefore = new BigNumber((await api.query.system.account(Treasury)).data.free.toString());
       const aliceBalanceBefore = new BigNumber((await api.query.system.account(alicesPublicKey)).data.free.toString());
 
@@ -108,15 +118,12 @@
 
   it('Fees are sane', async () => {
     await usingApi(async (api) => {
-      const treasuryBalanceBefore = new BigNumber((await api.query.system.account(Treasury)).data.free.toString());
       const aliceBalanceBefore = new BigNumber((await api.query.system.account(alicesPublicKey)).data.free.toString());
 
       await createCollectionExpectSuccess();
 
-      const treasuryBalanceAfter = new BigNumber((await api.query.system.account(Treasury)).data.free.toString());
       const aliceBalanceAfter = new BigNumber((await api.query.system.account(alicesPublicKey)).data.free.toString());
       const fee = aliceBalanceBefore.minus(aliceBalanceAfter);
-      const treasuryIncrease = treasuryBalanceAfter.minus(treasuryBalanceBefore);
 
       expect(fee.dividedBy(1e15).toNumber()).to.be.lessThan(saneMaximumFee);
       expect(fee.dividedBy(1e15).toNumber()).to.be.greaterThan(saneMinimumFee);
modifiedtests/src/transferFrom.test.tsdiffbeforeafterboth
before · tests/src/transferFrom.test.ts
1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//5import { ApiPromise } from '@polkadot/api';6import chai from 'chai';7import chaiAsPromised from 'chai-as-promised';8import privateKey from './substrate/privateKey';9import { default as usingApi } from './substrate/substrate-api';10import {11  approveExpectFail,12  approveExpectSuccess,13  createCollectionExpectSuccess,14  createItemExpectSuccess,15  destroyCollectionExpectSuccess,16  transferFromExpectFail,17  transferFromExpectSuccess,18} from './util/helpers';1920chai.use(chaiAsPromised);21const expect = chai.expect;2223describe('Integration Test transferFrom(from, recipient, collection_id, item_id, value):', () => {24  it('Execute the extrinsic and check nftItemList - owner of token', async () => {25    await usingApi(async (api: ApiPromise) => {26      const Alice = privateKey('//Alice');27      const Bob = privateKey('//Bob');28      const Charlie = privateKey('//Charlie');29      // nft30      const nftCollectionId = await createCollectionExpectSuccess();31      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');32      await approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob);3334      await transferFromExpectSuccess(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1, 'NFT');3536      // fungible37      const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});38      const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');39      await approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);40      await transferFromExpectSuccess(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1, 'Fungible');41      // reFungible42      const reFungibleCollectionId = await43        createCollectionExpectSuccess({mode: {type: 'ReFungible'}});44      const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');45      await approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob, 100);46      await transferFromExpectSuccess(reFungibleCollectionId,47        newReFungibleTokenId, Bob, Alice, Charlie, 100, 'ReFungible');48    });49  });50});5152describe('Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value):', () => {53  it('transferFrom for a collection that does not exist', async () => {54    await usingApi(async (api: ApiPromise) => {55      const Alice = privateKey('//Alice');56      const Bob = privateKey('//Bob');57      const Charlie = privateKey('//Charlie');58      // nft59      const nftCollectionCount = await api.query.nft.createdCollectionCount() as unknown as number;60      await approveExpectFail(nftCollectionCount + 1, 1, Alice, Bob);6162      await transferFromExpectFail(nftCollectionCount + 1, 1, Bob, Alice, Charlie, 1);6364      // fungible65      const fungibleCollectionCount = await api.query.nft.createdCollectionCount() as unknown as number;66      await approveExpectFail(fungibleCollectionCount + 1, 1, Alice, Bob);6768      await transferFromExpectFail(fungibleCollectionCount + 1, 1, Bob, Alice, Charlie, 1);69      // reFungible70      const reFungibleCollectionCount = await api.query.nft.createdCollectionCount() as unknown as number;71      await approveExpectFail(reFungibleCollectionCount + 1, 1, Alice, Bob);7273      await transferFromExpectFail(reFungibleCollectionCount + 1, 1, Bob, Alice, Charlie, 1);74    });75  });7677  /* it('transferFrom for a collection that was destroyed', async () => {78    await usingApi(async (api: ApiPromise) => {79      this test copies approve negative test80    });81  }); */8283  /* it('transferFrom a token that does not exist', async () => {84    await usingApi(async (api: ApiPromise) => {85      this test copies approve negative test86    });87  }); */8889  /* it('transferFrom a token that was deleted', async () => {90    await usingApi(async (api: ApiPromise) => {91      this test copies approve negative test92    });93  }); */9495  it('transferFrom for not approved address', async () => {96    await usingApi(async (api: ApiPromise) => {97      const Alice = privateKey('//Alice');98      const Bob = privateKey('//Bob');99      const Charlie = privateKey('//Charlie');100      // nft101      const nftCollectionId = await createCollectionExpectSuccess();102      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');103104      await transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1);105106      // fungible107      const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});108      const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');109      await transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1);110      // reFungible111      const reFungibleCollectionId = await112        createCollectionExpectSuccess({mode: {type: 'ReFungible'}});113      const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');114      await transferFromExpectFail(reFungibleCollectionId,115        newReFungibleTokenId, Bob, Alice, Charlie, 1);116    });117  });118119  it('transferFrom incorrect token count', async () => {120    await usingApi(async (api: ApiPromise) => {121      const Alice = privateKey('//Alice');122      const Bob = privateKey('//Bob');123      const Charlie = privateKey('//Charlie');124      // nft125      const nftCollectionId = await createCollectionExpectSuccess();126      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');127      await approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob);128129      await transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 2);130131      // fungible132      const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});133      const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');134      await approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);135      await transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 2);136      // reFungible137      const reFungibleCollectionId = await138        createCollectionExpectSuccess({mode: {type: 'ReFungible'}});139      const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');140      await approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob);141      await transferFromExpectFail(reFungibleCollectionId,142        newReFungibleTokenId, Bob, Alice, Charlie, 2);143    });144  });145146  it('execute transferFrom from account that is not owner of collection', async () => {147    await usingApi(async (api: ApiPromise) => {148      const Alice = privateKey('//Alice');149      const Bob = privateKey('//Bob');150      const Charlie = privateKey('//Charlie');151      const Dave = privateKey('//Dave');152      // nft153      const nftCollectionId = await createCollectionExpectSuccess();154      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');155      try {156        await approveExpectFail(nftCollectionId, newNftTokenId, Dave, Bob);157        await transferFromExpectFail(nftCollectionId, newNftTokenId, Dave, Alice, Charlie, 1);158      } catch (e) {159        // tslint:disable-next-line:no-unused-expression160        expect(e).to.be.exist;161      }162163      // await transferFromExpectFail(nftCollectionId, newNftTokenId, Dave, Alice, Charlie, 1);164165      // fungible166      const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});167      const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');168      try {169        await approveExpectFail(fungibleCollectionId, newFungibleTokenId, Dave, Bob);170        await transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Dave, Alice, Charlie, 1);171      } catch (e) {172        // tslint:disable-next-line:no-unused-expression173        expect(e).to.be.exist;174      }175      // reFungible176      const reFungibleCollectionId = await177        createCollectionExpectSuccess({mode: {type: 'ReFungible'}});178      const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');179      try {180        await approveExpectFail(reFungibleCollectionId, newReFungibleTokenId, Dave, Bob);181        await transferFromExpectFail(reFungibleCollectionId, newReFungibleTokenId, Dave, Alice, Charlie, 1);182      } catch (e) {183        // tslint:disable-next-line:no-unused-expression184        expect(e).to.be.exist;185      }186    });187  });188});
after · tests/src/transferFrom.test.ts
1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//5import { ApiPromise } from '@polkadot/api';6import chai from 'chai';7import chaiAsPromised from 'chai-as-promised';8import privateKey from './substrate/privateKey';9import { default as usingApi } from './substrate/substrate-api';10import {11  approveExpectFail,12  approveExpectSuccess,13  createCollectionExpectSuccess,14  createItemExpectSuccess,15  destroyCollectionExpectSuccess,16  transferFromExpectFail,17  transferFromExpectSuccess,18  burnItemExpectSuccess,19} from './util/helpers';2021chai.use(chaiAsPromised);22const expect = chai.expect;2324describe('Integration Test transferFrom(from, recipient, collection_id, item_id, value):', () => {25  it('Execute the extrinsic and check nftItemList - owner of token', async () => {26    await usingApi(async (api: ApiPromise) => {27      const Alice = privateKey('//Alice');28      const Bob = privateKey('//Bob');29      const Charlie = privateKey('//Charlie');30      // nft31      const nftCollectionId = await createCollectionExpectSuccess();32      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');33      await approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob);3435      await transferFromExpectSuccess(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1, 'NFT');3637      // fungible38      const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});39      const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');40      await approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);41      await transferFromExpectSuccess(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1, 'Fungible');42      // reFungible43      const reFungibleCollectionId = await44        createCollectionExpectSuccess({mode: {type: 'ReFungible'}});45      const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');46      await approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob, 100);47      await transferFromExpectSuccess(reFungibleCollectionId,48        newReFungibleTokenId, Bob, Alice, Charlie, 100, 'ReFungible');49    });50  });51});5253describe('Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value):', () => {54  it('transferFrom for a collection that does not exist', async () => {55    await usingApi(async (api: ApiPromise) => {56      const Alice = privateKey('//Alice');57      const Bob = privateKey('//Bob');58      const Charlie = privateKey('//Charlie');59      // nft60      const nftCollectionCount = await api.query.nft.createdCollectionCount() as unknown as number;61      await approveExpectFail(nftCollectionCount + 1, 1, Alice, Bob);6263      await transferFromExpectFail(nftCollectionCount + 1, 1, Bob, Alice, Charlie, 1);6465      // fungible66      const fungibleCollectionCount = await api.query.nft.createdCollectionCount() as unknown as number;67      await approveExpectFail(fungibleCollectionCount + 1, 1, Alice, Bob);6869      await transferFromExpectFail(fungibleCollectionCount + 1, 1, Bob, Alice, Charlie, 1);70      // reFungible71      const reFungibleCollectionCount = await api.query.nft.createdCollectionCount() as unknown as number;72      await approveExpectFail(reFungibleCollectionCount + 1, 1, Alice, Bob);7374      await transferFromExpectFail(reFungibleCollectionCount + 1, 1, Bob, Alice, Charlie, 1);75    });76  });7778  /* it('transferFrom for a collection that was destroyed', async () => {79    await usingApi(async (api: ApiPromise) => {80      this test copies approve negative test81    });82  }); */8384  /* it('transferFrom a token that does not exist', async () => {85    await usingApi(async (api: ApiPromise) => {86      this test copies approve negative test87    });88  }); */8990  /* it('transferFrom a token that was deleted', async () => {91    await usingApi(async (api: ApiPromise) => {92      this test copies approve negative test93    });94  }); */9596  it('transferFrom for not approved address', async () => {97    await usingApi(async (api: ApiPromise) => {98      const Alice = privateKey('//Alice');99      const Bob = privateKey('//Bob');100      const Charlie = privateKey('//Charlie');101      // nft102      const nftCollectionId = await createCollectionExpectSuccess();103      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');104105      await transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1);106107      // fungible108      const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});109      const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');110      await transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1);111      // reFungible112      const reFungibleCollectionId = await113        createCollectionExpectSuccess({mode: {type: 'ReFungible'}});114      const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');115      await transferFromExpectFail(reFungibleCollectionId,116        newReFungibleTokenId, Bob, Alice, Charlie, 1);117    });118  });119120  it('transferFrom incorrect token count', async () => {121    await usingApi(async (api: ApiPromise) => {122      const Alice = privateKey('//Alice');123      const Bob = privateKey('//Bob');124      const Charlie = privateKey('//Charlie');125      // nft126      const nftCollectionId = await createCollectionExpectSuccess();127      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');128      await approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob);129130      await transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 2);131132      // fungible133      const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});134      const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');135      await approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);136      await transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 2);137      // reFungible138      const reFungibleCollectionId = await139        createCollectionExpectSuccess({mode: {type: 'ReFungible'}});140      const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');141      await approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob);142      await transferFromExpectFail(reFungibleCollectionId,143        newReFungibleTokenId, Bob, Alice, Charlie, 2);144    });145  });146147  it('execute transferFrom from account that is not owner of collection', async () => {148    await usingApi(async (api: ApiPromise) => {149      const Alice = privateKey('//Alice');150      const Bob = privateKey('//Bob');151      const Charlie = privateKey('//Charlie');152      const Dave = privateKey('//Dave');153      // nft154      const nftCollectionId = await createCollectionExpectSuccess();155      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');156      try {157        await approveExpectFail(nftCollectionId, newNftTokenId, Dave, Bob);158        await transferFromExpectFail(nftCollectionId, newNftTokenId, Dave, Alice, Charlie, 1);159      } catch (e) {160        // tslint:disable-next-line:no-unused-expression161        expect(e).to.be.exist;162      }163164      // await transferFromExpectFail(nftCollectionId, newNftTokenId, Dave, Alice, Charlie, 1);165166      // fungible167      const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});168      const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');169      try {170        await approveExpectFail(fungibleCollectionId, newFungibleTokenId, Dave, Bob);171        await transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Dave, Alice, Charlie, 1);172      } catch (e) {173        // tslint:disable-next-line:no-unused-expression174        expect(e).to.be.exist;175      }176      // reFungible177      const reFungibleCollectionId = await178        createCollectionExpectSuccess({mode: {type: 'ReFungible'}});179      const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');180      try {181        await approveExpectFail(reFungibleCollectionId, newReFungibleTokenId, Dave, Bob);182        await transferFromExpectFail(reFungibleCollectionId, newReFungibleTokenId, Dave, Alice, Charlie, 1);183      } catch (e) {184        // tslint:disable-next-line:no-unused-expression185        expect(e).to.be.exist;186      }187    });188  });189  it( 'transferFrom burnt token before approve NFT', async () => {190    await usingApi(async (api: ApiPromise) => {191      const Alice = privateKey('//Alice');192      const Bob = privateKey('//Bob');193      const Charlie = privateKey('//Charlie');194      // nft195      const nftCollectionId = await createCollectionExpectSuccess();196      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');197      await burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, 1);198      await approveExpectFail(nftCollectionId, newNftTokenId, Alice, Bob);199      await transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1);      200    });201  });202  it( 'transferFrom burnt token before approve Fungible', async () => {203    await usingApi(async (api: ApiPromise) => {204    const Alice = privateKey('//Alice');205      const Bob = privateKey('//Bob');206      const Charlie = privateKey('//Charlie');207      const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});208      const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');209      await burnItemExpectSuccess(Alice, fungibleCollectionId, 1, 10);210      await approveExpectFail(fungibleCollectionId, newFungibleTokenId, Alice, Bob);211      await transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1);212          213    });214  }); 215  it( 'transferFrom burnt token before approve ReFungible', async () => {216    await usingApi(async (api: ApiPromise) => {217    const Alice = privateKey('//Alice');218      const Bob = privateKey('//Bob');219      const Charlie = privateKey('//Charlie');220      const reFungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}});221      const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');222      await burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, 1);223      await approveExpectFail(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob);224      await transferFromExpectFail(reFungibleCollectionId, newReFungibleTokenId, Bob, Alice, Charlie, 1);225          226    });227  });228  229  it( 'transferFrom burnt token after approve NFT', async () => {230    await usingApi(async (api: ApiPromise) => {231      const Alice = privateKey('//Alice');232      const Bob = privateKey('//Bob');233      const Charlie = privateKey('//Charlie');234      // nft235      const nftCollectionId = await createCollectionExpectSuccess();236      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');237      await approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob);238      await burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, 1);239      await transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1);      240    });241  });242  it( 'transferFrom burnt token after approve Fungible', async () => {243    await usingApi(async (api: ApiPromise) => {244    const Alice = privateKey('//Alice');245      const Bob = privateKey('//Bob');246      const Charlie = privateKey('//Charlie');247      const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});248      const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');249      await approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);250      await burnItemExpectSuccess(Alice, fungibleCollectionId, 1, 10);251      await transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1);252          253    });254  }); 255  it( 'transferFrom burnt token after approve ReFungible', async () => {256    await usingApi(async (api: ApiPromise) => {257    const Alice = privateKey('//Alice');258      const Bob = privateKey('//Bob');259      const Charlie = privateKey('//Charlie');260      const reFungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}});261      const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');262      await approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob);263      await burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, 1);264      await transferFromExpectFail(reFungibleCollectionId, newReFungibleTokenId, Bob, Alice, Charlie, 1);265          266    });267  }); 268});
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -359,6 +359,7 @@
   });
 }
 
+
 export async function confirmSponsorshipExpectFailure(collectionId: number, senderSeed: string = '//Alice') {
   await usingApi(async (api) => {
 
@@ -505,7 +506,7 @@
 
 export async function
 approveExpectSuccess(collectionId: number,
-                     tokenId: number, owner: IKeyringPair, approved: IKeyringPair, amount: number = 1) {
+                     tokenId: number, owner: IKeyringPair, approved: IKeyringPair, amount: number = 1) { //alice,bob
   await usingApi(async (api: ApiPromise) => {
     const allowanceBefore =
       await api.query.nft.allowances(collectionId, [tokenId, owner.address, approved.address]) as unknown as BN;
@@ -523,9 +524,9 @@
 export async function
 transferFromExpectSuccess(collectionId: number,
                           tokenId: number,
-                          accountApproved: IKeyringPair,
-                          accountFrom: IKeyringPair,
-                          accountTo: IKeyringPair,
+                          accountApproved: IKeyringPair, //bob
+                          accountFrom: IKeyringPair, //alice
+                          accountTo: IKeyringPair, //charlie
                           value: number = 1,
                           type: string = 'NFT') {
   await usingApi(async (api: ApiPromise) => {