From bf6a3d46a94aeca0ab1683d043e084cb7c33a272 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Thu, 28 Jan 2021 08:48:08 +0000 Subject: [PATCH] Add chain extension for transfer --- --- a/Cargo.lock +++ b/Cargo.lock @@ -543,9 +543,9 @@ [[package]] name = "bumpalo" -version = "3.4.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820" +checksum = "f07aa6688c702439a1be0307b6a94dffe1168569e45b9500c1372bc580740d59" [[package]] name = "byte-slice-cast" @@ -984,6 +984,16 @@ ] [[package]] +name = "ctor" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10bcb9d7dcbf7002aaffbb53eac22906b64cdcc127971dcc387d8eb7c95d5560" +dependencies = [ + "quote", + "syn", +] + +[[package]] name = "cuckoofilter" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1319,7 +1329,7 @@ checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" dependencies = [ "byteorder", - "rand 0.8.2", + "rand 0.8.3", "rustc-hex", "static_assertions", ] @@ -1368,7 +1378,7 @@ [[package]] name = "fork-tree" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", ] @@ -1386,7 +1396,7 @@ [[package]] name = "frame-benchmarking" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support", "frame-system", @@ -1404,7 +1414,7 @@ [[package]] name = "frame-benchmarking-cli" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "Inflector", "chrono", @@ -1427,7 +1437,7 @@ [[package]] name = "frame-executive" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support", "frame-system", @@ -1443,7 +1453,7 @@ [[package]] name = "frame-metadata" version = "12.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "serde", @@ -1454,7 +1464,7 @@ [[package]] name = "frame-support" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "bitflags", "frame-metadata", @@ -1479,7 +1489,7 @@ [[package]] name = "frame-support-procedural" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -1491,7 +1501,7 @@ [[package]] name = "frame-support-procedural-tools" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1503,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#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "proc-macro2", "quote", @@ -1513,7 +1523,7 @@ [[package]] name = "frame-system" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support", "impl-trait-for-tuples 0.2.0", @@ -1529,7 +1539,7 @@ [[package]] name = "frame-system-benchmarking" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-benchmarking", "frame-support", @@ -1543,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#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "sp-api", @@ -2190,9 +2200,9 @@ [[package]] name = "if-watch" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d7c5e361e6b05c882b4847dd98992534cebc6fcde7f4bc98225bcf10fd6d0d" +checksum = "97b8538953a3f0d0d3868f0a706eb4273535e10d72acb5c82c1c23ae48835c85" dependencies = [ "async-io", "futures 0.3.12", @@ -2330,9 +2340,9 @@ [[package]] name = "js-sys" -version = "0.3.46" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d7383929f7c9c7c2d0fa596f325832df98c3704f2c60553080f7127a58175" +checksum = "5cfb73131c35423a367daf8cbd24100af0d077668c8c2943f0e7dd775fef0f65" dependencies = [ "wasm-bindgen", ] @@ -2647,9 +2657,9 @@ [[package]] name = "libp2p-deflate" -version = "0.27.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "935893c0e5b6ca6ef60d5225aab9182f97c8c5671df2fa9dee8f4ed72a90e6eb" +checksum = "6d42eed63305f0420736fa487f9acef720c4528bd7852a6a760f5ccde4813345" dependencies = [ "flate2", "futures 0.3.12", @@ -2882,9 +2892,9 @@ [[package]] name = "libp2p-swarm" -version = "0.27.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ea8c69839a0e593c8c6a24282cb234d48ac37be4153183f4914e00f5303e75" +checksum = "d4f89ebb4d8953bda12623e9871959fe728dea3bf6eae0421dc9c42dc821e488" dependencies = [ "either", "futures 0.3.12", @@ -3054,11 +3064,12 @@ [[package]] name = "log" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf3805d4480bb5b86070dcfeb9e2cb2ebc148adb753c5cca5f884d1d65a42b2" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", + "value-bag", ] [[package]] @@ -3618,7 +3629,7 @@ [[package]] name = "pallet-aura" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support", "frame-system", @@ -3637,7 +3648,7 @@ [[package]] name = "pallet-authorship" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support", "frame-system", @@ -3652,7 +3663,7 @@ [[package]] name = "pallet-balances" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-benchmarking", "frame-support", @@ -3666,7 +3677,7 @@ [[package]] name = "pallet-contracts" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support", "frame-system", @@ -3687,7 +3698,7 @@ [[package]] name = "pallet-contracts-primitives" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "bitflags", "parity-scale-codec", @@ -3698,7 +3709,7 @@ [[package]] name = "pallet-contracts-proc-macro" version = "0.1.0" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "proc-macro2", "quote", @@ -3708,7 +3719,7 @@ [[package]] name = "pallet-contracts-rpc" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -3727,7 +3738,7 @@ [[package]] name = "pallet-contracts-rpc-runtime-api" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "pallet-contracts-primitives", "parity-scale-codec", @@ -3739,7 +3750,7 @@ [[package]] name = "pallet-grandpa" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-benchmarking", "frame-support", @@ -3781,7 +3792,7 @@ [[package]] name = "pallet-randomness-collective-flip" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support", "frame-system", @@ -3794,7 +3805,7 @@ [[package]] name = "pallet-session" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support", "frame-system", @@ -3814,7 +3825,7 @@ [[package]] name = "pallet-sudo" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support", "frame-system", @@ -3828,7 +3839,7 @@ [[package]] name = "pallet-timestamp" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-benchmarking", "frame-support", @@ -3846,7 +3857,7 @@ [[package]] name = "pallet-transaction-payment" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support", "frame-system", @@ -3862,7 +3873,7 @@ [[package]] name = "pallet-transaction-payment-rpc" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -3879,7 +3890,7 @@ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -3890,7 +3901,7 @@ [[package]] name = "pallet-treasury" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-support", "frame-system", @@ -3905,7 +3916,7 @@ [[package]] name = "pallet-vesting" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "enumflags2", "frame-support", @@ -4585,9 +4596,9 @@ [[package]] name = "rand" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18519b42a40024d661e1714153e9ad0c3de27cd495760ceb09710920f1098b1e" +checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" dependencies = [ "libc", "rand_chacha 0.3.0", @@ -4997,7 +5008,7 @@ [[package]] name = "sc-basic-authorship" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "futures 0.3.12", "futures-timer 3.0.2", @@ -5020,7 +5031,7 @@ [[package]] name = "sc-block-builder" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -5037,7 +5048,7 @@ [[package]] name = "sc-chain-spec" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "impl-trait-for-tuples 0.2.0", "parity-scale-codec", @@ -5058,7 +5069,7 @@ [[package]] name = "sc-chain-spec-derive" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5069,7 +5080,7 @@ [[package]] name = "sc-cli" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "chrono", "fdlimit", @@ -5107,7 +5118,7 @@ [[package]] name = "sc-client-api" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "derive_more", "fnv", @@ -5141,7 +5152,7 @@ [[package]] name = "sc-client-db" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "blake2-rfc", "hash-db", @@ -5171,7 +5182,7 @@ [[package]] name = "sc-consensus" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "sc-client-api", "sp-blockchain", @@ -5182,7 +5193,7 @@ [[package]] name = "sc-consensus-aura" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "derive_more", "futures 0.3.12", @@ -5213,7 +5224,7 @@ [[package]] name = "sc-consensus-babe" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "derive_more", "fork-tree", @@ -5258,7 +5269,7 @@ [[package]] name = "sc-consensus-epochs" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "fork-tree", "parity-scale-codec", @@ -5271,7 +5282,7 @@ [[package]] name = "sc-consensus-slots" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "futures 0.3.12", "futures-timer 3.0.2", @@ -5297,7 +5308,7 @@ [[package]] name = "sc-consensus-uncles" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "log", "sc-client-api", @@ -5311,7 +5322,7 @@ [[package]] name = "sc-executor" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "derive_more", "lazy_static", @@ -5340,7 +5351,7 @@ [[package]] name = "sc-executor-common" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "derive_more", "parity-scale-codec", @@ -5356,7 +5367,7 @@ [[package]] name = "sc-executor-wasmi" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "log", "parity-scale-codec", @@ -5371,7 +5382,7 @@ [[package]] name = "sc-executor-wasmtime" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "log", "parity-scale-codec", @@ -5389,13 +5400,14 @@ [[package]] name = "sc-finality-grandpa" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "derive_more", "finality-grandpa", "fork-tree", "futures 0.3.12", "futures-timer 3.0.2", + "linked-hash-map", "log", "parity-scale-codec", "parking_lot 0.11.1", @@ -5426,7 +5438,7 @@ [[package]] name = "sc-informant" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "ansi_term 0.12.1", "futures 0.3.12", @@ -5444,7 +5456,7 @@ [[package]] name = "sc-keystore" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "async-trait", "derive_more", @@ -5464,7 +5476,7 @@ [[package]] name = "sc-light" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "hash-db", "lazy_static", @@ -5483,7 +5495,7 @@ [[package]] name = "sc-network" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "async-std", "async-trait", @@ -5535,7 +5547,7 @@ [[package]] name = "sc-network-gossip" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "futures 0.3.12", "futures-timer 3.0.2", @@ -5551,7 +5563,7 @@ [[package]] name = "sc-offchain" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "bytes 0.5.6", "fnv", @@ -5578,7 +5590,7 @@ [[package]] name = "sc-peerset" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "futures 0.3.12", "libp2p", @@ -5591,7 +5603,7 @@ [[package]] name = "sc-proposer-metrics" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -5600,7 +5612,7 @@ [[package]] name = "sc-rpc" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "futures 0.3.12", "hash-db", @@ -5634,7 +5646,7 @@ [[package]] name = "sc-rpc-api" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "derive_more", "futures 0.3.12", @@ -5658,7 +5670,7 @@ [[package]] name = "sc-rpc-server" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "futures 0.1.30", "jsonrpc-core", @@ -5676,7 +5688,7 @@ [[package]] name = "sc-service" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "directories 3.0.1", "exit-future", @@ -5739,7 +5751,7 @@ [[package]] name = "sc-state-db" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "log", "parity-scale-codec", @@ -5754,7 +5766,7 @@ [[package]] name = "sc-telemetry" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "chrono", "futures 0.3.12", @@ -5776,7 +5788,7 @@ [[package]] name = "sc-tracing" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "ansi_term 0.12.1", "atty", @@ -5804,7 +5816,7 @@ [[package]] name = "sc-tracing-proc-macro" version = "2.0.0" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5815,7 +5827,7 @@ [[package]] name = "sc-transaction-graph" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "derive_more", "futures 0.3.12", @@ -5837,7 +5849,7 @@ [[package]] name = "sc-transaction-pool" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "futures 0.3.12", "futures-diagnose", @@ -5912,9 +5924,9 @@ [[package]] name = "scroll_derive" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12bd20b94c7cdfda8c7ba9b92ad0d9a56e3fa018c25fca83b51aa664c9b4c0d" +checksum = "aaaae8f38bb311444cfb7f1979af0bc9240d95795f75f9ceddf6a59b79ceffa0" dependencies = [ "proc-macro2", "quote", @@ -5980,18 +5992,18 @@ [[package]] name = "serde" -version = "1.0.120" +version = "1.0.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "166b2349061381baf54a58e4b13c89369feb0ef2eaa57198899e2312aac30aab" +checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.120" +version = "1.0.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca2a8cb5805ce9e3b95435e3765b7b553cecc762d938d409434338386cb5775" +checksum = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31" dependencies = [ "proc-macro2", "quote", @@ -6192,7 +6204,7 @@ [[package]] name = "sp-allocator" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "log", "sp-core", @@ -6204,7 +6216,7 @@ [[package]] name = "sp-api" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "hash-db", "parity-scale-codec", @@ -6220,7 +6232,7 @@ [[package]] name = "sp-api-proc-macro" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "blake2-rfc", "proc-macro-crate", @@ -6232,7 +6244,7 @@ [[package]] name = "sp-application-crypto" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "serde", @@ -6244,7 +6256,7 @@ [[package]] name = "sp-arithmetic" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "integer-sqrt", "num-traits", @@ -6257,7 +6269,7 @@ [[package]] name = "sp-authorship" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -6268,7 +6280,7 @@ [[package]] name = "sp-block-builder" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "sp-api", @@ -6280,7 +6292,7 @@ [[package]] name = "sp-blockchain" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "futures 0.3.12", "log", @@ -6298,7 +6310,7 @@ [[package]] name = "sp-chain-spec" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "serde", "serde_json", @@ -6307,7 +6319,7 @@ [[package]] name = "sp-consensus" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "futures 0.3.12", "futures-timer 3.0.2", @@ -6333,7 +6345,7 @@ [[package]] name = "sp-consensus-aura" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "sp-api", @@ -6347,7 +6359,7 @@ [[package]] name = "sp-consensus-babe" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "merlin", "parity-scale-codec", @@ -6367,7 +6379,7 @@ [[package]] name = "sp-consensus-slots" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -6376,7 +6388,7 @@ [[package]] name = "sp-consensus-vrf" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -6388,7 +6400,7 @@ [[package]] name = "sp-core" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "base58", "blake2-rfc", @@ -6432,7 +6444,7 @@ [[package]] name = "sp-database" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -6441,7 +6453,7 @@ [[package]] name = "sp-debug-derive" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "proc-macro2", "quote", @@ -6451,7 +6463,7 @@ [[package]] name = "sp-externalities" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "environmental", "parity-scale-codec", @@ -6462,7 +6474,7 @@ [[package]] name = "sp-finality-grandpa" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "finality-grandpa", "log", @@ -6479,7 +6491,7 @@ [[package]] name = "sp-inherents" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "parking_lot 0.11.1", @@ -6491,7 +6503,7 @@ [[package]] name = "sp-io" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "futures 0.3.12", "hash-db", @@ -6515,7 +6527,7 @@ [[package]] name = "sp-keyring" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "lazy_static", "sp-core", @@ -6526,7 +6538,7 @@ [[package]] name = "sp-keystore" version = "0.8.0" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "async-trait", "derive_more", @@ -6543,7 +6555,7 @@ [[package]] name = "sp-offchain" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "sp-api", "sp-core", @@ -6553,7 +6565,7 @@ [[package]] name = "sp-panic-handler" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "backtrace", ] @@ -6561,7 +6573,7 @@ [[package]] name = "sp-rpc" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "serde", "sp-core", @@ -6570,7 +6582,7 @@ [[package]] name = "sp-runtime" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "either", "hash256-std-hasher", @@ -6591,7 +6603,7 @@ [[package]] name = "sp-runtime-interface" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "impl-trait-for-tuples 0.2.0", "parity-scale-codec", @@ -6608,7 +6620,7 @@ [[package]] name = "sp-runtime-interface-proc-macro" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "Inflector", "proc-macro-crate", @@ -6620,7 +6632,7 @@ [[package]] name = "sp-sandbox" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "sp-core", @@ -6633,7 +6645,7 @@ [[package]] name = "sp-serializer" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "serde", "serde_json", @@ -6642,7 +6654,7 @@ [[package]] name = "sp-session" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "sp-api", @@ -6655,7 +6667,7 @@ [[package]] name = "sp-staking" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -6665,7 +6677,7 @@ [[package]] name = "sp-state-machine" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "hash-db", "log", @@ -6687,12 +6699,12 @@ [[package]] name = "sp-std" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" [[package]] name = "sp-storage" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "impl-serde", "parity-scale-codec", @@ -6705,7 +6717,7 @@ [[package]] name = "sp-tasks" version = "2.0.0" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "log", "sp-core", @@ -6718,7 +6730,7 @@ [[package]] name = "sp-timestamp" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "impl-trait-for-tuples 0.2.0", "parity-scale-codec", @@ -6732,7 +6744,7 @@ [[package]] name = "sp-tracing" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "log", "parity-scale-codec", @@ -6745,7 +6757,7 @@ [[package]] name = "sp-transaction-pool" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "derive_more", "futures 0.3.12", @@ -6761,7 +6773,7 @@ [[package]] name = "sp-trie" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "hash-db", "memory-db", @@ -6775,7 +6787,7 @@ [[package]] name = "sp-utils" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "futures 0.3.12", "futures-core", @@ -6787,7 +6799,7 @@ [[package]] name = "sp-version" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "impl-serde", "parity-scale-codec", @@ -6799,7 +6811,7 @@ [[package]] name = "sp-wasm-interface" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "impl-trait-for-tuples 0.2.0", "parity-scale-codec", @@ -6920,7 +6932,7 @@ [[package]] name = "substrate-build-script-utils" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "platforms", ] @@ -6928,7 +6940,7 @@ [[package]] name = "substrate-frame-rpc-system" version = "2.0.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.12", @@ -6951,7 +6963,7 @@ [[package]] name = "substrate-prometheus-endpoint" version = "0.8.1" -source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518" +source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#0e070672cf7a7bec72fb3f26188915cfb43c440f" dependencies = [ "async-std", "derive_more", @@ -6982,9 +6994,9 @@ [[package]] name = "syn" -version = "1.0.58" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc60a3d73ea6594cd712d830cc1f0390fd71542d8c8cd24e70cc54cdfd5e05d5" +checksum = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081" dependencies = [ "proc-macro2", "quote", @@ -7023,7 +7035,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", - "rand 0.8.2", + "rand 0.8.3", "redox_syscall 0.2.4", "remove_dir_all", "winapi 0.3.9", @@ -7069,11 +7081,11 @@ [[package]] name = "thread_local" -version = "1.1.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb9bc092d0d51e76b2b19d9d85534ffc9ec2db959a2523cdae0697e2972cd447" +checksum = "d8208a331e1cb318dd5bd76951d2b8fc48ca38a69f5f4e4af1b6a9f8c6236915" dependencies = [ - "lazy_static", + "once_cell", ] [[package]] @@ -7125,9 +7137,9 @@ [[package]] name = "tinyvec" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf8dbc19eb42fba10e8feaaec282fb50e2c14b2726d6301dbfeed0f73306a6f" +checksum = "317cca572a0e89c3ce0ca1f1bdc9369547fe318a683418e42ac8f59d14701023" dependencies = [ "tinyvec_macros", ] @@ -7412,9 +7424,9 @@ [[package]] name = "tower-service" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" +checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] name = "tracing" @@ -7668,6 +7680,15 @@ ] [[package]] +name = "value-bag" +version = "1.0.0-alpha.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b676010e055c99033117c2343b33a40a30b91fecd6c49055ac9cd2d6c305ab1" +dependencies = [ + "ctor", +] + +[[package]] name = "vcpkg" version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -7738,9 +7759,9 @@ [[package]] name = "wasm-bindgen" -version = "0.2.69" +version = "0.2.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cd364751395ca0f68cafb17666eee36b63077fb5ecd972bbcd74c90c4bf736e" +checksum = "55c0f7123de74f0dab9b7d00fd614e7b19349cd1e2f5252bbe9b1754b59433be" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -7748,9 +7769,9 @@ [[package]] name = "wasm-bindgen-backend" -version = "0.2.69" +version = "0.2.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1114f89ab1f4106e5b55e688b828c0ab0ea593a1ea7c094b141b14cbaaec2d62" +checksum = "7bc45447f0d4573f3d65720f636bbcc3dd6ce920ed704670118650bcd47764c7" dependencies = [ "bumpalo", "lazy_static", @@ -7763,9 +7784,9 @@ [[package]] name = "wasm-bindgen-futures" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fe9756085a84584ee9457a002b7cdfe0bfff169f45d2591d8be1345a6780e35" +checksum = "3de431a2910c86679c34283a33f66f4e4abd7e0aec27b6669060148872aadf94" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -7775,9 +7796,9 @@ [[package]] name = "wasm-bindgen-macro" -version = "0.2.69" +version = "0.2.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6ac8995ead1f084a8dea1e65f194d0973800c7f571f6edd70adf06ecf77084" +checksum = "3b8853882eef39593ad4174dd26fc9865a64e84026d223f63bb2c42affcbba2c" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7785,9 +7806,9 @@ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.69" +version = "0.2.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5a48c72f299d80557c7c62e37e7225369ecc0c963964059509fbafe917c7549" +checksum = "4133b5e7f2a531fa413b3a1695e925038a05a71cf67e87dafa295cb645a01385" dependencies = [ "proc-macro2", "quote", @@ -7798,9 +7819,9 @@ [[package]] name = "wasm-bindgen-shared" -version = "0.2.69" +version = "0.2.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e7811dd7f9398f14cc76efd356f98f03aa30419dea46aa810d71e819fc97158" +checksum = "dd4945e4943ae02d15c13962b38a5b1e81eadd4b71214eee75af64a4d6a4fd64" [[package]] name = "wasm-timer" @@ -8027,9 +8048,9 @@ [[package]] name = "web-sys" -version = "0.3.46" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222b1ef9334f92a21d3fb53dc3fd80f30836959a90f9274a626d7e06315ba3c3" +checksum = "c40dc691fc48003eba817c38da7113c15698142da971298003cac3ef175680b3" dependencies = [ "js-sys", "wasm-bindgen", --- a/pallets/nft/src/lib.rs +++ b/pallets/nft/src/lib.rs @@ -1047,32 +1047,8 @@ /// * Re-Fungible Mode: Must specify transferred portion (between 0 and 1) #[weight = ::WeightInfo::transfer()] pub fn transfer(origin, recipient: T::AccountId, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResult { - let sender = ensure_signed(origin)?; - let target_collection = >::get(collection_id); - - // Limits check - Self::is_correct_transfer(collection_id, &target_collection, &recipient)?; - - // Transfer permissions check - ensure!(Self::is_item_owner(sender.clone(), collection_id, item_id) || - Self::is_owner_or_admin_permissions(collection_id, sender.clone()), - Error::::NoPermission); - - if target_collection.access == AccessMode::WhiteList { - Self::check_white_list(collection_id, &sender)?; - Self::check_white_list(collection_id, &recipient)?; - } - - match target_collection.mode - { - CollectionMode::NFT => Self::transfer_nft(collection_id, item_id, sender.clone(), recipient)?, - CollectionMode::Fungible(_) => Self::transfer_fungible(collection_id, value, &sender, &recipient)?, - CollectionMode::ReFungible(_) => Self::transfer_refungible(collection_id, item_id, value, sender.clone(), recipient)?, - _ => () - }; - - Ok(()) + Self::transfer_internal(sender, recipient, collection_id, item_id, value) } /// Set, change, or remove approved address to transfer the ownership of the NFT. @@ -1554,6 +1530,35 @@ impl Module { + pub fn transfer_internal(sender: T::AccountId, recipient: T::AccountId, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResult { + + let target_collection = >::get(collection_id); + + // Limits check + Self::is_correct_transfer(collection_id, &target_collection, &recipient)?; + + // Transfer permissions check + ensure!(Self::is_item_owner(sender.clone(), collection_id, item_id) || + Self::is_owner_or_admin_permissions(collection_id, sender.clone()), + Error::::NoPermission); + + if target_collection.access == AccessMode::WhiteList { + Self::check_white_list(collection_id, &sender)?; + Self::check_white_list(collection_id, &recipient)?; + } + + match target_collection.mode + { + CollectionMode::NFT => Self::transfer_nft(collection_id, item_id, sender.clone(), recipient)?, + CollectionMode::Fungible(_) => Self::transfer_fungible(collection_id, value, &sender, &recipient)?, + CollectionMode::ReFungible(_) => Self::transfer_refungible(collection_id, item_id, value, sender.clone(), recipient)?, + _ => () + }; + + Ok(()) + } + + fn is_correct_transfer(collection_id: CollectionId, collection: &CollectionType, recipient: &T::AccountId) -> DispatchResult { // check token limit and account token limit --- /dev/null +++ b/runtime/src/chain_extension.rs @@ -0,0 +1,98 @@ +//! NFT Chain Extension + +// +// This file is subject to the terms and conditions defined in +// file 'LICENSE', which is part of this source code package. +// + +use codec::{Decode, Encode}; + +pub use pallet_contracts::chain_extension::RetVal; +use pallet_contracts::chain_extension::{ + ChainExtension, Environment, Ext, InitState, SysConfig, UncheckedFrom, +}; + +pub use frame_support::debug; +use frame_support::dispatch::DispatchError; + +extern crate pallet_nft; +pub use pallet_nft::*; +use crate::Runtime; +use sp_runtime::AccountId32; +use crate::Vec; +use frame_system::Origin; + +/// Transfer parameters +#[derive(Debug, PartialEq, Encode, Decode)] +pub struct NFTExtTransfer { + pub recipient: ::AccountId, + pub collection_id: u32, + pub token_id: u32, + pub amount: u128, +} + +/// The chain Extension of NFT pallet +pub struct NFTExtension; + +// pub trait ToAccount32 { +// fn to_account32(addr: ::AccountId); +// } + +// impl ToAccount32 for NFTExtension { +// fn to_account32(addr: ::AccountId) +// where +// ::AccountId: UncheckedFrom<::Hash> + AsRef<[u8]>, +// { +// let mut bytes: [u8; 32]; +// let addrVec: Vec = addr.encode(); +// for i in 0..32 { +// bytes[i] = addrVec[i]; +// } +// AccountId32::from(bytes) +// } + +// } + +impl ChainExtension for NFTExtension { + fn call(func_id: u32, env: Environment) -> Result + where + ::AccountId: UncheckedFrom<::Hash> + AsRef<[u8]>, + { + // The memory of the vm stores buf in scale-codec + match func_id { + 0 => { + let mut env = env.buf_in_buf_out(); + let input: NFTExtTransfer = env.read_as()?; + + // Sender to AccountId32 + let mut bytesSender: [u8; 32] = [0; 32]; + let addrVecSender: Vec = env.ext().caller().encode(); + for i in 0..32 { + bytesSender[i] = addrVecSender[i]; + } + let sender = AccountId32::from(bytesSender); + + // Recipient to AccountId32 + let mut bytesRec: [u8; 32] = [0; 32]; + let addrVecRec: Vec = input.recipient.encode(); + for i in 0..32 { + bytesRec[i] = addrVecRec[i]; + } + let recipient = AccountId32::from(bytesRec); + + + + match pallet_nft::Module::::transfer_internal(sender, recipient, input.collection_id, input.token_id, input.amount) { + Ok(_) => Ok(RetVal::Converging(func_id)), + DispatchError => Err(DispatchError::Other("Transfer error")) + } + + + }, + _ => { + panic!("Passed unknown func_id to test chain extension: {}", func_id); + } + } + } +} + --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -63,6 +63,9 @@ pub use pallet_timestamp::Call as TimestampCall; +mod chain_extension; +use crate::chain_extension::NFTExtension; + /// Struct that handles the conversion of Balance -> `u64`. This is used for /// staking's election calculation. pub struct CurrencyToVoteHandler; @@ -413,7 +416,7 @@ type MaxValueSize = MaxValueSize; type WeightPrice = pallet_transaction_payment::Module; type WeightInfo = pallet_contracts::weights::SubstrateWeight; - type ChainExtension = (); + type ChainExtension = NFTExtension; type DeletionQueueDepth = DeletionQueueDepth; type DeletionWeightLimit = DeletionWeightLimit; } -- gitstuff