From 525aa87e9b90bb968fbedf98854edcad16fc2433 Mon Sep 17 00:00:00 2001 From: Raymond Zhong Date: Mon, 27 Sep 2021 19:36:38 -0700 Subject: [PATCH] Wako Release v3.3.5 (#327) * update deps * bump version * remove orml nft module * remove currencies and rust side tokens modules * final fix * update Dockerfile * update readme * Patch codegen units to fix build * fix tests --- Cargo.lock | 1779 ++++++++++++++--------------- Cargo.toml | 5 +- README.md | 59 +- client/rpc/debug/src/lib.rs | 1 + node/cli/Cargo.toml | 10 +- node/cli/src/chain_spec.rs | 2 - node/executor/Cargo.toml | 8 +- node/primitives/Cargo.toml | 2 +- node/primitives/src/lib.rs | 2 - node/rpc-client/Cargo.toml | 3 +- node/rpc/Cargo.toml | 2 +- node/rpc/src/lib.rs | 3 +- node/runtime-interface/Cargo.toml | 2 +- node/runtime/Cargo.toml | 16 +- node/runtime/src/constants.rs | 2 +- node/runtime/src/lib.rs | 71 +- pallets/nft/Cargo.toml | 53 - pallets/nft/src/benchmarking.rs | 355 ------ pallets/nft/src/lib.rs | 390 ------- pallets/nft/src/mock.rs | 269 ----- pallets/nft/src/tests.rs | 504 -------- pallets/nft/src/weights.rs | 133 --- pallets/orml-nft/Cargo.toml | 33 - pallets/orml-nft/README.md | 11 - pallets/orml-nft/src/lib.rs | 292 ----- pallets/orml-nft/src/mock.rs | 92 -- pallets/orml-nft/src/tests.rs | 180 --- scripts/test.sh | 2 +- 28 files changed, 908 insertions(+), 3373 deletions(-) delete mode 100644 pallets/nft/Cargo.toml delete mode 100644 pallets/nft/src/benchmarking.rs delete mode 100644 pallets/nft/src/lib.rs delete mode 100644 pallets/nft/src/mock.rs delete mode 100644 pallets/nft/src/tests.rs delete mode 100644 pallets/nft/src/weights.rs delete mode 100644 pallets/orml-nft/Cargo.toml delete mode 100644 pallets/orml-nft/README.md delete mode 100644 pallets/orml-nft/src/lib.rs delete mode 100644 pallets/orml-nft/src/mock.rs delete mode 100644 pallets/orml-nft/src/tests.rs diff --git a/Cargo.lock b/Cargo.lock index 3f8752e4..a1876ec2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,11 +23,11 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a" +checksum = "3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd" dependencies = [ - "gimli 0.24.0", + "gimli 0.25.0", ] [[package]] @@ -38,64 +38,56 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aead" -version = "0.3.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" +checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" dependencies = [ "generic-array 0.14.4", ] [[package]] name = "aes" -version = "0.5.0" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2bc6d3f370b5666245ff421e231cba4353df936e26986d2918e61a8fd6aef6" +checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" dependencies = [ - "aes-soft", - "aesni", - "block-cipher", + "cfg-if 1.0.0", + "cipher", + "cpufeatures", + "opaque-debug 0.3.0", ] [[package]] name = "aes-gcm" -version = "0.7.0" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0301c9e9c443494d970a07885e8cf3e587bae8356a1d5abd0999068413f7205f" +checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" dependencies = [ "aead", "aes", - "block-cipher", + "cipher", + "ctr", "ghash", - "subtle 2.4.0", + "subtle 2.4.1", ] [[package]] -name = "aes-soft" -version = "0.5.0" +name = "ahash" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63dd91889c49327ad7ef3b500fd1109dbd3c509a03db0d4a9ce413b79f575cb6" -dependencies = [ - "block-cipher", - "byteorder", - "opaque-debug 0.3.0", -] +checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" [[package]] -name = "aesni" -version = "0.8.0" +name = "ahash" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6fe808308bb07d393e2ea47780043ec47683fcf19cf5efc8ca51c50cc8c68a" +checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" dependencies = [ - "block-cipher", - "opaque-debug 0.3.0", + "getrandom 0.2.3", + "once_cell", + "version_check", ] -[[package]] -name = "ahash" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" - [[package]] name = "aho-corasick" version = "0.7.18" @@ -125,18 +117,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.41" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15af2628f6890fe2609a3b91bef4c83450512802e59489f9c1cb1fa5df064a61" - -[[package]] -name = "approx" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2a05fd1bd10b2527e20a2cd32d8873d115b8b39fe219ee25f42a8aca6ba278" -dependencies = [ - "num-traits", -] +checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" [[package]] name = "approx" @@ -182,9 +165,9 @@ checksum = "9d6e24d2cce90c53b948c46271bfb053e4bdc2db9b5d3f65e20f8cf28a1b7fc3" [[package]] name = "assert_cmd" -version = "1.0.5" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a88b6bd5df287567ffdf4ddf4d33060048e1068308e5f62d81c6f9824a045a48" +checksum = "c98233c6673d8601ab23e77eb38f999c51100d46c5703b17288c57fddf3a1ffe" dependencies = [ "bstr", "doc-comment", @@ -237,12 +220,11 @@ dependencies = [ [[package]] name = "async-io" -version = "1.4.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bbfd5cf2794b1e908ea8457e6c45f8f8f1f6ec5f74617bf4662623f47503c3b" +checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b" dependencies = [ "concurrent-queue", - "fastrand", "futures-lite", "libc", "log", @@ -250,7 +232,7 @@ dependencies = [ "parking", "polling", "slab", - "socket2 0.4.0", + "socket2 0.4.2", "waker-fn", "winapi 0.3.9", ] @@ -275,9 +257,9 @@ dependencies = [ [[package]] name = "async-process" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f38756dd9ac84671c428afbf7c9f7495feff9ec5b0710f17100098e5b354ac" +checksum = "b21b63ab5a0db0369deb913540af2892750e42d949faacc7a61495ac418a1692" dependencies = [ "async-io", "blocking", @@ -292,9 +274,9 @@ dependencies = [ [[package]] name = "async-std" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f06685bad74e0570f5213741bea82158279a4103d988e57bfada11ad230341" +checksum = "f8056f1455169ab86dd47b47391e4ab0cbd25410a70e9fe675544f49bafaf952" dependencies = [ "async-channel", "async-global-executor", @@ -312,7 +294,7 @@ dependencies = [ "memchr", "num_cpus", "once_cell", - "pin-project-lite 0.2.6", + "pin-project-lite 0.2.7", "pin-utils", "slab", "wasm-bindgen-futures", @@ -340,9 +322,9 @@ checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0" [[package]] name = "async-trait" -version = "0.1.50" +version = "0.1.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722" +checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e" dependencies = [ "proc-macro2", "quote", @@ -355,11 +337,11 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb4401f0a3622dad2e0763fa79e0eb328bc70fb7dccfdd645341f00d671247d6" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.6", + "pin-project-lite 0.2.7", ] [[package]] @@ -368,11 +350,11 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.6", + "pin-project-lite 0.2.7", ] [[package]] @@ -409,16 +391,16 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282" +checksum = "e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01" dependencies = [ - "addr2line 0.15.2", + "addr2line 0.16.0", "cc", "cfg-if 1.0.0", "libc", "miniz_oxide", - "object 0.25.3", + "object 0.26.2", "rustc-demangle", ] @@ -446,12 +428,6 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" -[[package]] -name = "bencher" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dfdb4953a096c551ce9ace855a604d702e6e62d77fac690575ae347571717f5" - [[package]] name = "bincode" version = "1.3.3" @@ -463,9 +439,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.57.0" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd4865004a46a0aafb2a0a5eb19d3c9fc46ee5f063a6cfc605c69ac9ecf5263d" +checksum = "453c49e5950bb0eb63bb3df640e31618846c89d5b7faa54040d76e98e0134375" dependencies = [ "bitflags", "cexpr", @@ -482,9 +458,21 @@ dependencies = [ [[package]] name = "bitflags" -version = "1.2.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitvec" +version = "0.19.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321" +dependencies = [ + "funty", + "radium 0.5.3", + "tap", + "wyz", +] [[package]] name = "bitvec" @@ -493,16 +481,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" dependencies = [ "funty", - "radium", + "radium 0.6.2", "tap", "wyz", ] [[package]] name = "blake2" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a5720225ef5daecf08657f23791354e1685a8c91a4c60c7f3d3b2892f978f4" +checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" dependencies = [ "crypto-mac 0.8.0", "digest 0.9.0", @@ -578,15 +566,6 @@ dependencies = [ "generic-array 0.14.4", ] -[[package]] -name = "block-cipher" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f337a3e6da609650eb74e02bc9fac7b735049f7623ab12f2e4c719316fcc7e80" -dependencies = [ - "generic-array 0.14.4", -] - [[package]] name = "block-padding" version = "0.1.5" @@ -624,9 +603,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" dependencies = [ "lazy_static", "memchr", @@ -645,15 +624,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.7.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" +checksum = "d9df67f7bf9ef8498769f994239c45613ef0c5899415fb58e9add412d2c1a538" [[package]] name = "byte-slice-cast" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65c1bf4a04a88c54f589125563643d773f3254b5c38571395e2b591c693bbc81" +checksum = "ca0796d76a983651b4a0ddda16203032759f2fd9103d9181f7c65c06ee8872e6" [[package]] name = "byte-tools" @@ -686,9 +665,9 @@ checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" [[package]] name = "bytes" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" +checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" [[package]] name = "cache-padded" @@ -698,9 +677,9 @@ checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba" [[package]] name = "cargo-platform" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0226944a63d1bf35a3b5f948dd7c59e263db83695c9e8bffc4037de02e30f1d7" +checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" dependencies = [ "serde", ] @@ -720,27 +699,27 @@ dependencies = [ [[package]] name = "cast" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57cdfa5d50aad6cb4d44dcab6101a7f79925bd59d82ca42f38a9856a28865374" +checksum = "4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a" dependencies = [ - "rustc_version 0.3.3", + "rustc_version 0.4.0", ] [[package]] name = "cc" -version = "1.0.68" +version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" +checksum = "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0" dependencies = [ "jobserver", ] [[package]] name = "cexpr" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27" +checksum = "db507a7679252d2276ed0dd8113c6875ec56d3089f9225b2b42c30cc1f8e5c89" dependencies = [ "nom", ] @@ -759,24 +738,26 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chacha20" -version = "0.5.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "244fbce0d47e97e8ef2f63b81d5e05882cb518c68531eb33194990d7b7e85845" +checksum = "f08493fa7707effc63254c66c6ea908675912493cd67952eda23c09fae2610b1" dependencies = [ - "stream-cipher", + "cfg-if 1.0.0", + "cipher", + "cpufeatures", "zeroize", ] [[package]] name = "chacha20poly1305" -version = "0.6.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bf18d374d66df0c05cdddd528a7db98f78c28e2519b120855c4f84c5027b1f5" +checksum = "b6547abe025f4027edacd9edaa357aded014eecec42a5070d9b885c3c334aba2" dependencies = [ "aead", "chacha20", + "cipher", "poly1305", - "stream-cipher", "zeroize", ] @@ -808,18 +789,18 @@ dependencies = [ [[package]] name = "cipher" -version = "0.2.5" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" dependencies = [ "generic-array 0.14.4", ] [[package]] name = "clang-sys" -version = "1.2.0" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "853eda514c284c2287f4bf20ae614f8781f40a81d32ecda6e91449304dfe077c" +checksum = "10612c0ec0e0a1ff0e97980647cb058a6e7aedb913d01d009c406b8b7d0b26ee" dependencies = [ "glob 0.3.0", "libc", @@ -908,29 +889,22 @@ checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" [[package]] name = "cpp_demangle" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44919ecaf6f99e8e737bc239408931c9a01e9a6c74814fee8242dd2506b65390" +checksum = "8ea47428dc9d2237f3c6bc134472edfd63ebba0af932e783506dcfd66f10d18a" dependencies = [ "cfg-if 1.0.0", - "glob 0.3.0", ] [[package]] name = "cpufeatures" -version = "0.1.4" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed00c67cb5d0a7d64a44f6ad2668db7e7530311dd53ea79bcd4fb022c64911c8" +checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" dependencies = [ "libc", ] -[[package]] -name = "cpuid-bool" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" - [[package]] name = "cranelift-bforest" version = "0.71.0" @@ -1038,9 +1012,9 @@ dependencies = [ [[package]] name = "criterion" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab327ed7354547cc2ef43cbe20ef68b988e70b4b593cbd66a2a61733123a3d23" +checksum = "1604dafd25fba2fe2d5895a9da139f8dc9b319a5fe5354ca137cbbce4e178d10" dependencies = [ "atty", "cast", @@ -1064,12 +1038,12 @@ dependencies = [ [[package]] name = "criterion-plot" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e022feadec601fba1649cfa83586381a4ad31c6bf3a9ab7d408118b05dd9889d" +checksum = "d00996de9f2f7559f7f4dc286073197f83e92256a59ed395f9aac01fe717da57" dependencies = [ "cast", - "itertools 0.9.0", + "itertools 0.10.1", ] [[package]] @@ -1084,9 +1058,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" +checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed" dependencies = [ "crossbeam-epoch 0.8.2", "crossbeam-utils 0.7.2", @@ -1095,9 +1069,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9" +checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" dependencies = [ "cfg-if 1.0.0", "crossbeam-epoch 0.9.5", @@ -1187,7 +1161,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ "generic-array 0.14.4", - "subtle 2.4.0", + "subtle 2.4.1", +] + +[[package]] +name = "crypto-mac" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +dependencies = [ + "generic-array 0.14.4", + "subtle 2.4.1", ] [[package]] @@ -1223,14 +1207,23 @@ dependencies = [ [[package]] name = "ctor" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d" +checksum = "ccc0a48a9b826acdf4028595adc9db92caea352f7af011a3034acd172a52a0aa" dependencies = [ "quote", "syn", ] +[[package]] +name = "ctr" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +dependencies = [ + "cipher", +] + [[package]] name = "cuckoofilter" version = "0.5.0" @@ -1244,27 +1237,27 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434e1720189a637d44fe464f4df1e6eb900b4835255b14354497c78af37d9bb8" +checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216" dependencies = [ "byteorder", "digest 0.8.1", "rand_core 0.5.1", - "subtle 2.4.0", + "subtle 2.4.1", "zeroize", ] [[package]] name = "curve25519-dalek" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "subtle 2.4.0", + "subtle 2.4.1", "zeroize", ] @@ -1296,13 +1289,14 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.14" +version = "0.99.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc7b9cef1e351660e5443924e4f43ab25fbbed3e9a5f052df3677deb4d6b320" +checksum = "40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df" dependencies = [ "convert_case", "proc-macro2", "quote", + "rustc_version 0.3.3", "syn", ] @@ -1312,6 +1306,12 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + [[package]] name = "digest" version = "0.8.1" @@ -1416,9 +1416,9 @@ checksum = "ee2626afccd7561a06cf1367e2950c4718ea04565e20fb5029b6c7d8ad09abcf" [[package]] name = "ed25519" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d0860415b12243916284c67a9be413e044ee6668247b99ba26d94b2bc06c8f6" +checksum = "4620d40f6d2601794401d6dd95a5cf69b6c157852539470eeda433a99b3c0efc" dependencies = [ "signature", ] @@ -1429,11 +1429,11 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ - "curve25519-dalek 3.1.0", + "curve25519-dalek 3.2.0", "ed25519", "rand 0.7.3", "serde", - "sha2 0.9.5", + "sha2 0.9.8", "zeroize", ] @@ -1462,7 +1462,7 @@ dependencies = [ [[package]] name = "edgeware-cli" -version = "3.3.3" +version = "3.3.5" dependencies = [ "assert_cmd", "edgeware-executor", @@ -1485,7 +1485,7 @@ dependencies = [ "frame-benchmarking-cli", "frame-support", "frame-system", - "futures 0.3.15", + "futures 0.3.17", "hex 0.3.2", "hex-literal", "jsonrpc-core 15.1.0", @@ -1573,7 +1573,7 @@ dependencies = [ [[package]] name = "edgeware-executor" -version = "3.3.3" +version = "3.3.5" dependencies = [ "criterion", "edgeware-primitives", @@ -1606,7 +1606,7 @@ version = "0.1.0" [[package]] name = "edgeware-primitives" -version = "3.3.3" +version = "3.3.5" dependencies = [ "frame-system", "parity-scale-codec", @@ -1619,7 +1619,7 @@ dependencies = [ [[package]] name = "edgeware-rpc" -version = "3.3.3" +version = "3.3.5" dependencies = [ "edgeware-executor", "edgeware-opts", @@ -1635,7 +1635,7 @@ dependencies = [ "fc-rpc", "fc-rpc-core", "fp-rpc", - "futures 0.3.15", + "futures 0.3.17", "jsonrpc-core 15.1.0", "jsonrpc-pubsub 15.1.0", "pallet-contracts-rpc", @@ -1671,7 +1671,7 @@ dependencies = [ [[package]] name = "edgeware-rpc-client" -version = "3.3.3" +version = "3.3.5" dependencies = [ "edgeware-primitives", "futures 0.1.31", @@ -1688,7 +1688,7 @@ version = "0.1.0" dependencies = [ "edgeware-rpc-primitives-debug", "ethereum-types", - "futures 0.3.15", + "futures 0.3.17", "jsonrpc-core 15.1.0", "jsonrpc-core-client 14.2.0", "jsonrpc-derive 14.2.2", @@ -1703,7 +1703,7 @@ version = "0.6.0" dependencies = [ "edgeware-rpc-primitives-debug", "ethereum-types", - "futures 0.3.15", + "futures 0.3.17", "jsonrpc-core 15.1.0", "jsonrpc-core-client 14.2.0", "jsonrpc-derive 14.2.2", @@ -1737,7 +1737,7 @@ dependencies = [ "fc-db", "fc-rpc", "fp-rpc", - "futures 0.3.15", + "futures 0.3.17", "jsonrpc-core 15.1.0", "sc-client-api", "sp-api", @@ -1791,7 +1791,7 @@ dependencies = [ "fc-rpc", "fc-rpc-core", "fp-rpc", - "futures 0.3.15", + "futures 0.3.17", "jsonrpc-core 15.1.0", "sc-client-api", "sc-network", @@ -1834,7 +1834,7 @@ dependencies = [ [[package]] name = "edgeware-runtime" -version = "3.3.3" +version = "3.3.5" dependencies = [ "edge-treasury-reward", "edgeware-evm-tracer", @@ -1853,8 +1853,6 @@ dependencies = [ "hex-literal", "integer-sqrt", "log", - "module-nft", - "orml-nft", "pallet-assets", "pallet-aura", "pallet-authority-discovery", @@ -1924,14 +1922,11 @@ dependencies = [ "sp-version", "static_assertions", "substrate-wasm-builder", - "webb-currencies", - "webb-tokens", - "webb-traits", ] [[package]] name = "edgeware-runtime-interface" -version = "3.3.3" +version = "3.3.5" dependencies = [ "edgeware-primitives", "parity-scale-codec", @@ -1965,7 +1960,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0" dependencies = [ "enumflags2_derive", - "serde", ] [[package]] @@ -2000,9 +1994,9 @@ checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" [[package]] name = "erased-serde" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5b36e6f2295f393f44894c6031f67df4d185b984cd54d08f768ce678007efcd" +checksum = "3de9ad4541d99dc22b59134e7ff8dc3d6c988c89ecd7324bf10a8362b07a2afa" dependencies = [ "serde", ] @@ -2142,7 +2136,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", ] [[package]] @@ -2181,9 +2175,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77b705829d1e87f762c2df6da140b26af5839e1033aa84aa5f56bb688e4e1bdb" +checksum = "b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e" dependencies = [ "instant", ] @@ -2191,14 +2185,14 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "async-trait", "derive_more", "fc-db", "fp-consensus", "fp-rpc", - "futures 0.3.15", + "futures 0.3.17", "log", "parity-scale-codec", "sc-client-api", @@ -2215,13 +2209,15 @@ dependencies = [ [[package]] name = "fc-db" -version = "1.0.0" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +version = "2.0.0-dev" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ + "fp-storage", "kvdb", "kvdb-rocksdb", + "pallet-ethereum", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "sp-core", "sp-database", "sp-runtime", @@ -2230,13 +2226,13 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "fc-consensus", "fc-db", "fp-consensus", "fp-rpc", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "log", "sc-client-api", @@ -2248,7 +2244,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "ethereum", "ethereum-types", @@ -2260,7 +2256,7 @@ dependencies = [ "fp-evm", "fp-rpc", "fp-storage", - "futures 0.3.15", + "futures 0.3.17", "jsonrpc-core 15.1.0", "jsonrpc-core-client 14.2.0", "jsonrpc-derive 14.2.2", @@ -2289,7 +2285,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "ethereum-types", "jsonrpc-core 15.1.0", @@ -2322,17 +2318,18 @@ dependencies = [ [[package]] name = "finality-grandpa" -version = "0.14.0" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6447e2f8178843749e8c8003206def83ec124a7859475395777a28b5338647c" +checksum = "e8ac3ff5224ef91f3c97e03eb1de2db82743427e91aaa5ac635f454f0b164f5a" dependencies = [ "either", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "log", "num-traits", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", + "scale-info", ] [[package]] @@ -2355,9 +2352,9 @@ checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" [[package]] name = "flate2" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" +checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" dependencies = [ "cfg-if 1.0.0", "crc32fast", @@ -2375,7 +2372,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", ] @@ -2393,7 +2390,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "1.0.0" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "ethereum", "parity-scale-codec", @@ -2407,7 +2404,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "2.0.0" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "evm", "impl-trait-for-tuples 0.1.3", @@ -2420,7 +2417,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "2.0.0" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "ethereum", "ethereum-types", @@ -2435,13 +2432,13 @@ dependencies = [ [[package]] name = "fp-storage" -version = "1.0.1" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +version = "2.0.0-dev" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" [[package]] name = "frame-benchmarking" version = "3.1.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -2460,7 +2457,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "Inflector", "chrono", @@ -2483,7 +2480,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -2496,7 +2493,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -2511,7 +2508,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "13.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "serde", @@ -2522,7 +2519,7 @@ dependencies = [ [[package]] name = "frame-support" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "bitflags", "frame-metadata", @@ -2548,7 +2545,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2560,10 +2557,10 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate 1.0.0", + "proc-macro-crate 1.1.0", "proc-macro2", "quote", "syn", @@ -2572,7 +2569,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "proc-macro2", "quote", @@ -2582,7 +2579,7 @@ dependencies = [ [[package]] name = "frame-system" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "impl-trait-for-tuples 0.2.1", @@ -2614,7 +2611,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "sp-api", @@ -2678,9 +2675,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27" +checksum = "a12aa0eb539080d55c3f2d45a67c3b58b6b0773c1a3ca2dfec66d58c97fd66ca" dependencies = [ "futures-channel", "futures-core", @@ -2693,9 +2690,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2" +checksum = "5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888" dependencies = [ "futures-core", "futures-sink", @@ -2703,9 +2700,9 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" +checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d" [[package]] name = "futures-cpupool" @@ -2724,7 +2721,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdcef58a173af8148b182684c9f2d5250875adbcaff7b5794073894f9d8634a9" dependencies = [ "futures 0.1.31", - "futures 0.3.15", + "futures 0.3.17", "lazy_static", "log", "parking_lot 0.9.0", @@ -2735,9 +2732,9 @@ dependencies = [ [[package]] name = "futures-executor" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79" +checksum = "45025be030969d763025784f7f355043dc6bc74093e4ecc5000ca4dc50d8745c" dependencies = [ "futures-core", "futures-task", @@ -2747,9 +2744,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1" +checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377" [[package]] name = "futures-lite" @@ -2762,15 +2759,15 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite 0.2.6", + "pin-project-lite 0.2.7", "waker-fn", ] [[package]] name = "futures-macro" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" +checksum = "18e4a4b95cea4b4ccbcf1c5675ca7c4ee4e9e75eb79944d07defde18068f79bb" dependencies = [ "autocfg", "proc-macro-hack", @@ -2792,15 +2789,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282" +checksum = "36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11" [[package]] name = "futures-task" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" +checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99" [[package]] name = "futures-timer" @@ -2820,9 +2817,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" +checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481" dependencies = [ "autocfg", "futures 0.1.31", @@ -2833,7 +2830,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.6", + "pin-project-lite 0.2.7", "pin-utils", "proc-macro-hack", "proc-macro-nested", @@ -2893,9 +2890,9 @@ dependencies = [ [[package]] name = "ghash" -version = "0.3.1" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" dependencies = [ "opaque-debug 0.3.0", "polyval", @@ -2914,9 +2911,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" +checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7" [[package]] name = "glob" @@ -2932,9 +2929,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "globset" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0fc1b9fa0e64ffb1aa5b95daa0f0f167734fd528b7c02eabc581d9d843649b1" +checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd" dependencies = [ "aho-corasick", "bstr", @@ -2985,7 +2982,7 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http 0.2.4", + "http 0.2.5", "indexmap", "slab", "tokio 0.2.25", @@ -3035,7 +3032,16 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" dependencies = [ - "ahash", + "ahash 0.4.7", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash 0.7.4", ] [[package]] @@ -3049,9 +3055,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" dependencies = [ "libc", ] @@ -3073,9 +3079,9 @@ dependencies = [ [[package]] name = "hex-literal" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5af1f635ef1bc545d78392b136bfe1c9809e029023c84a3638a864a10b8819c8" +checksum = "21e4590e13640f19f249fe3e4eca5113bc4289f2497710378190e7f4bd96f45b" [[package]] name = "hex_fmt" @@ -3103,6 +3109,16 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +dependencies = [ + "crypto-mac 0.11.1", + "digest 0.9.0", +] + [[package]] name = "hmac-drbg" version = "0.2.0" @@ -3138,11 +3154,11 @@ dependencies = [ [[package]] name = "http" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11" +checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "fnv", "itoa", ] @@ -3166,14 +3182,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" dependencies = [ "bytes 0.5.6", - "http 0.2.4", + "http 0.2.5", ] [[package]] name = "httparse" -version = "1.4.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" +checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" [[package]] name = "httpdate" @@ -3231,12 +3247,12 @@ dependencies = [ "futures-core", "futures-util", "h2 0.2.7", - "http 0.2.4", + "http 0.2.5", "http-body 0.3.1", "httparse", "httpdate", "itoa", - "pin-project 1.0.7", + "pin-project 1.0.8", "socket2 0.3.19", "tokio 0.2.25", "tower-service", @@ -3286,9 +3302,9 @@ dependencies = [ [[package]] name = "if-addrs" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28538916eb3f3976311f5dfbe67b5362d0add1293d0a9cad17debf86f8e3aa48" +checksum = "c9a83ec4af652890ac713ffd8dc859e650420a5ef47f7b9be29b6664ab50fbc8" dependencies = [ "if-addrs-sys", "libc", @@ -3312,7 +3328,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae8ab7f67bad3240049cb24fb9cb0b4c2c6af4c245840917fbbdededeee91179" dependencies = [ "async-io", - "futures 0.3.15", + "futures 0.3.17", "futures-lite", "if-addrs", "ipnet", @@ -3323,9 +3339,9 @@ dependencies = [ [[package]] name = "impl-codec" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df170efa359aebdd5cb7fe78edcc67107748e4737bdca8a8fb40d15ea7a877ed" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" dependencies = [ "parity-scale-codec", ] @@ -3372,20 +3388,20 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.6.2" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" +checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.11.2", "serde", ] [[package]] name = "instant" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" +checksum = "716d3d89f35ac6a34fd0eed635395f4c3b76fa889338a4632e5231a8684216bd" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -3408,7 +3424,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "futures-timer 2.0.2", ] @@ -3465,24 +3481,24 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "jobserver" -version = "0.1.22" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "972f5ae5d1cb9c6ae417789196c803205313edde988685da5e3aae0827b9e7fd" +checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.51" +version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062" +checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" dependencies = [ "wasm-bindgen", ] @@ -3716,7 +3732,7 @@ checksum = "30a0da8e08caf08d384a620ec19bb6c9b85c84137248e202617fb91881f25912" dependencies = [ "kvdb", "parity-util-mem", - "parking_lot 0.11.1", + "parking_lot 0.11.2", ] [[package]] @@ -3731,7 +3747,7 @@ dependencies = [ "num_cpus", "owning_ref", "parity-util-mem", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "regex", "rocksdb", "smallvec 1.6.1", @@ -3743,13 +3759,13 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb1e98ba343d0b35f9009a8844cd2b87fa3192f7e79033ac05b00aeae0f3b0b5" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "js-sys", "kvdb", "kvdb-memorydb", "log", "parity-util-mem", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "send_wrapper 0.5.0", "wasm-bindgen", "web-sys", @@ -3778,9 +3794,9 @@ checksum = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a" [[package]] name = "libc" -version = "0.2.97" +version = "0.2.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" +checksum = "a2a5ac8f984bfcf3a823267e5fde638acc3325f6496633a5da6bb6eb2171e103" [[package]] name = "libloading" @@ -3810,13 +3826,13 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" [[package]] name = "libp2p" -version = "0.37.1" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08053fbef67cd777049ef7a95ebaca2ece370b4ed7712c3fa404d69a88cb741b" +checksum = "ebbb17eece4aec5bb970880c73825c16ca59ca05a4e41803751e68c7e5f0c618" dependencies = [ "atomic", - "bytes 1.0.1", - "futures 0.3.15", + "bytes 1.1.0", + "futures 0.3.17", "lazy_static", "libp2p-core", "libp2p-deflate", @@ -3841,8 +3857,8 @@ dependencies = [ "libp2p-websocket", "libp2p-yamux", "parity-multiaddr", - "parking_lot 0.11.1", - "pin-project 1.0.7", + "parking_lot 0.11.2", + "pin-project 1.0.8", "smallvec 1.6.1", "wasm-timer", ] @@ -3858,7 +3874,7 @@ dependencies = [ "ed25519-dalek", "either", "fnv", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "lazy_static", "libsecp256k1", @@ -3866,14 +3882,14 @@ dependencies = [ "multihash", "multistream-select", "parity-multiaddr", - "parking_lot 0.11.1", - "pin-project 1.0.7", + "parking_lot 0.11.2", + "pin-project 1.0.8", "prost", "prost-build", "rand 0.7.3", "ring", "rw-stream-sink", - "sha2 0.9.5", + "sha2 0.9.8", "smallvec 1.6.1", "thiserror", "unsigned-varint 0.7.0", @@ -3888,7 +3904,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2181a641cd15f9b6ba71b1335800f309012a0a97a29ffaabbbf40e9d3d58f08" dependencies = [ "flate2", - "futures 0.3.15", + "futures 0.3.17", "libp2p-core", ] @@ -3899,7 +3915,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62e63dab8b5ff35e0c101a3e51e843ba782c07bbb1682f5fd827622e0d02b98b" dependencies = [ "async-std-resolver", - "futures 0.3.15", + "futures 0.3.17", "libp2p-core", "log", "smallvec 1.6.1", @@ -3914,7 +3930,7 @@ checksum = "48a9b570f6766301d9c4aa00fce3554cad1598e2f466debbc4dde909028417cf" dependencies = [ "cuckoofilter", "fnv", - "futures 0.3.15", + "futures 0.3.17", "libp2p-core", "libp2p-swarm", "log", @@ -3926,16 +3942,16 @@ dependencies = [ [[package]] name = "libp2p-gossipsub" -version = "0.30.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7b0c8506a6ec3344b9e706d7c7a6dba826f8ede735cfe13dde12a8c263c4af9" +checksum = "e562308761818b0c52f2a81a0544b9c22d0cf56d7b2d928a0ff61382404498ce" dependencies = [ "asynchronous-codec 0.6.0", "base64 0.13.0", "byteorder", - "bytes 1.0.1", + "bytes 1.1.0", "fnv", - "futures 0.3.15", + "futures 0.3.17", "hex_fmt", "libp2p-core", "libp2p-swarm", @@ -3944,7 +3960,7 @@ dependencies = [ "prost-build", "rand 0.7.3", "regex", - "sha2 0.9.5", + "sha2 0.9.8", "smallvec 1.6.1", "unsigned-varint 0.7.0", "wasm-timer", @@ -3956,7 +3972,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f668f00efd9883e8b7bcc582eaf0164615792608f886f6577da18bcbeea0a46" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "libp2p-core", "libp2p-swarm", "log", @@ -3974,17 +3990,17 @@ checksum = "b07312ebe5ee4fd2404447a0609814574df55c65d4e20838b957bbd34907d820" dependencies = [ "arrayvec 0.5.2", "asynchronous-codec 0.6.0", - "bytes 1.0.1", + "bytes 1.1.0", "either", "fnv", - "futures 0.3.15", + "futures 0.3.17", "libp2p-core", "libp2p-swarm", "log", "prost", "prost-build", "rand 0.7.3", - "sha2 0.9.5", + "sha2 0.9.8", "smallvec 1.6.1", "uint", "unsigned-varint 0.7.0", @@ -4001,7 +4017,7 @@ dependencies = [ "async-io", "data-encoding", "dns-parser", - "futures 0.3.15", + "futures 0.3.17", "if-watch", "lazy_static", "libp2p-core", @@ -4009,7 +4025,7 @@ dependencies = [ "log", "rand 0.8.4", "smallvec 1.6.1", - "socket2 0.4.0", + "socket2 0.4.2", "void", ] @@ -4020,12 +4036,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85e9b544335d1ed30af71daa96edbefadef6f19c7a55f078b9fc92c87163105d" dependencies = [ "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures 0.3.15", + "bytes 1.1.0", + "futures 0.3.17", "libp2p-core", "log", "nohash-hasher", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "rand 0.7.3", "smallvec 1.6.1", "unsigned-varint 0.7.0", @@ -4033,20 +4049,20 @@ dependencies = [ [[package]] name = "libp2p-noise" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36db0f0db3b0433f5b9463f1c0cd9eadc0a3734a9170439ce501ff99733a88bd" +checksum = "57a2aa6fc4e6855eaf9ea1941a14f7ec4df35636fb6b85951e17481df8dcecf6" dependencies = [ - "bytes 1.0.1", - "curve25519-dalek 3.1.0", - "futures 0.3.15", + "bytes 1.1.0", + "curve25519-dalek 3.2.0", + "futures 0.3.17", "lazy_static", "libp2p-core", "log", "prost", "prost-build", - "rand 0.7.3", - "sha2 0.9.5", + "rand 0.8.4", + "sha2 0.9.8", "snow", "static_assertions", "x25519-dalek", @@ -4059,7 +4075,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4bfaffac63bf3c7ec11ed9d8879d455966ddea7e78ee14737f0b6dce0d1cd1" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "libp2p-core", "libp2p-swarm", "log", @@ -4075,8 +4091,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c8c37b4d2a075b4be8442760a5f8c037180f0c8dd5b5734b9978ab868b3aa11" dependencies = [ "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures 0.3.15", + "bytes 1.1.0", + "futures 0.3.17", "libp2p-core", "log", "prost", @@ -4087,13 +4103,13 @@ dependencies = [ [[package]] name = "libp2p-pnet" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce3374f3b28162db9d3442c9347c4f14cb01e8290052615c7d341d40eae0599" +checksum = "07cb4dd4b917e5b40ddefe49b96b07adcd8d342e0317011d175b7b2bb1dcc974" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "log", - "pin-project 1.0.7", + "pin-project 1.0.8", "rand 0.7.3", "salsa20", "sha3 0.9.1", @@ -4106,13 +4122,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b8786aca3f18671d8776289706a5521f6c9124a820f69e358de214b9939440d" dependencies = [ "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures 0.3.15", + "bytes 1.1.0", + "futures 0.3.17", "futures-timer 3.0.2", "libp2p-core", "libp2p-swarm", "log", - "pin-project 1.0.7", + "pin-project 1.0.8", "prost", "prost-build", "rand 0.7.3", @@ -4129,8 +4145,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1cdbe172f08e6d0f95fa8634e273d4c4268c4063de2e33e7435194b0130c62e3" dependencies = [ "async-trait", - "bytes 1.0.1", - "futures 0.3.15", + "bytes 1.1.0", + "futures 0.3.17", "libp2p-core", "libp2p-swarm", "log", @@ -4149,7 +4165,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e04d8e1eef675029ec728ba14e8d0da7975d84b6679b699b4ae91a1de9c3a92" dependencies = [ "either", - "futures 0.3.15", + "futures 0.3.17", "libp2p-core", "log", "rand 0.7.3", @@ -4175,14 +4191,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b1a27d21c477951799e99d5c105d78868258502ce092988040a808d5a19bbd9" dependencies = [ "async-io", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "if-watch", "ipnet", "libc", "libp2p-core", "log", - "socket2 0.4.0", + "socket2 0.4.2", ] [[package]] @@ -4192,7 +4208,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffd6564bb3b7ff203661ccbb69003c2b551e34cef974f2d6c6a28306a12170b5" dependencies = [ "async-std", - "futures 0.3.15", + "futures 0.3.17", "libp2p-core", "log", ] @@ -4203,7 +4219,7 @@ version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2d413e4cf9b8e5dfbcd2a60d3dc5a3391308bdb463684093d4f67137b7113de" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "js-sys", "libp2p-core", "parity-send-wrapper", @@ -4218,7 +4234,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cace60995ef6f637e4752cccbb2590f6bc358e8741a0d066307636c69a4b3a74" dependencies = [ "either", - "futures 0.3.15", + "futures 0.3.17", "futures-rustls", "libp2p-core", "log", @@ -4235,18 +4251,18 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f35da42cfc6d5cb0dcf3ad6881bc68d146cdf38f98655e09e33fbba4d13eabc4" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "libp2p-core", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "thiserror", "yamux", ] [[package]] name = "librocksdb-sys" -version = "6.17.3" +version = "6.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5da125e1c0f22c7cae785982115523a0738728498547f415c9054cb17c7e89f9" +checksum = "c309a9d2470844aceb9a4a098cf5286154d20596868b75a6b36357d2bb9ca25d" dependencies = [ "bindgen", "cc", @@ -4266,7 +4282,7 @@ dependencies = [ "hmac-drbg", "rand 0.7.3", "sha2 0.8.2", - "subtle 2.4.0", + "subtle 2.4.1", "typenum", ] @@ -4298,11 +4314,11 @@ dependencies = [ [[package]] name = "linregress" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1ff7f341d23e1275eec0656a9a07225fcc86216c4322392868adffe59023d1a" +checksum = "d6c601a85f5ecd1aba625247bca0031585fb1c446461b142878a16f8245ddeb8" dependencies = [ - "nalgebra 0.27.1", + "nalgebra", "statrs", ] @@ -4317,9 +4333,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" +checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" dependencies = [ "scopeguard", ] @@ -4336,11 +4352,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f374d42cdfc1d7dbf3d3dec28afab2eb97ffbf43a3234d795b5986dbf4b90ba" +checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91" dependencies = [ - "hashbrown", + "hashbrown 0.11.2", ] [[package]] @@ -4384,9 +4400,9 @@ dependencies = [ [[package]] name = "matches" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "matrixmultiply" @@ -4405,9 +4421,9 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] name = "memchr" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" +checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" [[package]] name = "memmap2" @@ -4443,7 +4459,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "814bbecfc0451fc314eeea34f05bbcd5b98a7ad7af37faee088b86a1e633f1d4" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.9.1", "parity-util-mem", ] @@ -4476,9 +4492,9 @@ dependencies = [ [[package]] name = "minicbor-derive" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2b9e8883d58e34b18facd16c4564a77ea50fce028ad3d0ee6753440e37acc8" +checksum = "54999f917cd092b13904737e26631aa2b2b88d625db68e4bab461dcd8006c788" dependencies = [ "proc-macro2", "quote", @@ -4570,30 +4586,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "module-nft" -version = "1.0.0" -dependencies = [ - "edgeware-primitives", - "enumflags2", - "frame-benchmarking", - "frame-support", - "frame-system", - "orml-nft", - "pallet-balances", - "pallet-proxy", - "pallet-utility", - "parity-scale-codec", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "webb-currencies", - "webb-tokens", - "webb-traits", -] - [[package]] name = "more-asserts" version = "0.2.1" @@ -4623,7 +4615,7 @@ dependencies = [ "digest 0.9.0", "generic-array 0.14.4", "multihash-derive", - "sha2 0.9.5", + "sha2 0.9.8", "sha3 0.9.1", "unsigned-varint 0.5.1", ] @@ -4634,7 +4626,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99" dependencies = [ - "proc-macro-crate 1.0.0", + "proc-macro-crate 1.1.0", "proc-macro-error", "proc-macro2", "quote", @@ -4654,44 +4646,29 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d91ec0a2440aaff5f78ec35631a7027d50386c6163aa975f7caa0d5da4b6ff8" dependencies = [ - "bytes 1.0.1", - "futures 0.3.15", + "bytes 1.1.0", + "futures 0.3.17", "log", - "pin-project 1.0.7", + "pin-project 1.0.8", "smallvec 1.6.1", "unsigned-varint 0.7.0", ] -[[package]] -name = "nalgebra" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476d1d59fe02fe54c86356e91650cd892f392782a1cb9fc524ec84f7aa9e1d06" -dependencies = [ - "approx 0.4.0", - "matrixmultiply", - "num-complex 0.3.1", - "num-rational 0.3.2", - "num-traits", - "rand 0.8.4", - "rand_distr", - "simba 0.4.0", - "typenum", -] - [[package]] name = "nalgebra" version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" dependencies = [ - "approx 0.5.0", + "approx", "matrixmultiply", "nalgebra-macros", "num-complex 0.4.0", "num-rational 0.4.0", "num-traits", - "simba 0.5.1", + "rand 0.8.4", + "rand_distr", + "simba", "typenum", ] @@ -4753,10 +4730,12 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "5.1.2" +version = "6.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" +checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2" dependencies = [ + "bitvec 0.19.5", + "funty", "memchr", "version_check", ] @@ -4767,7 +4746,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f" dependencies = [ - "num-bigint 0.3.2", + "num-bigint 0.3.3", "num-complex 0.3.1", "num-integer", "num-iter", @@ -4788,9 +4767,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d0a3d5e207573f948a9e5376662aa743a2ea13f7c50a554d7af443a73fbfeba" +checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" dependencies = [ "autocfg", "num-integer", @@ -4855,7 +4834,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" dependencies = [ "autocfg", - "num-bigint 0.3.2", + "num-bigint 0.3.3", "num-integer", "num-traits", ] @@ -4903,9 +4882,9 @@ dependencies = [ [[package]] name = "object" -version = "0.25.3" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7" +checksum = "39f37e50073ccad23b6d09bcb5b263f4e76d3bb6038e4a3c08e52162ffa8abc2" dependencies = [ "memchr", ] @@ -4916,7 +4895,7 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" dependencies = [ - "parking_lot 0.11.1", + "parking_lot 0.11.2", ] [[package]] @@ -4943,20 +4922,6 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" -[[package]] -name = "orml-nft" -version = "0.4.1-dev" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - [[package]] name = "output_vt100" version = "0.1.2" @@ -4978,7 +4943,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-benchmarking", "frame-support", @@ -4991,7 +4956,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5007,7 +4972,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5022,7 +4987,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5036,7 +5001,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5050,7 +5015,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5063,7 +5028,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5079,7 +5044,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5096,13 +5061,13 @@ dependencies = [ "sp-runtime", "sp-sandbox", "sp-std", - "wasmi-validation 0.4.0", + "wasmi-validation 0.4.1", ] [[package]] name = "pallet-contracts-primitives" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "bitflags", "parity-scale-codec", @@ -5115,7 +5080,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "proc-macro2", "quote", @@ -5125,7 +5090,7 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "jsonrpc-core 15.1.0", "jsonrpc-core-client 15.1.0", @@ -5144,7 +5109,7 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "pallet-contracts-primitives", "parity-scale-codec", @@ -5156,7 +5121,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5171,7 +5136,7 @@ dependencies = [ [[package]] name = "pallet-dynamic-fee" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "async-trait", "frame-support", @@ -5188,7 +5153,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-election-provider-support", "frame-support", @@ -5207,7 +5172,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "4.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5223,7 +5188,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "ethereum", "ethereum-types", @@ -5251,7 +5216,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "4.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "evm", "evm-gasometer", @@ -5276,7 +5241,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-blake2" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "evm", "fp-evm", @@ -5287,7 +5252,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "evm", "fp-evm", @@ -5299,9 +5264,9 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-curve25519" version = "1.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ - "curve25519-dalek 3.1.0", + "curve25519-dalek 3.2.0", "evm", "fp-evm", "frame-support", @@ -5313,7 +5278,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "evm", "fp-evm", @@ -5327,7 +5292,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-ed25519" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "ed25519-dalek", "evm", @@ -5339,7 +5304,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "evm", "fp-evm", @@ -5351,7 +5316,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "evm", "fp-evm", @@ -5363,7 +5328,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#dede92a2f078a85994bef88d6ea4df1ea2fadd51" +source = "git+https://github.com/webb-tools/frontier.git?branch=erup-4#0d3c678983015ebc1fa88e296fb515bb82b1d0b3" dependencies = [ "evm", "fp-evm", @@ -5375,7 +5340,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5396,7 +5361,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5411,7 +5376,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5429,7 +5394,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5444,7 +5409,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5458,7 +5423,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5474,7 +5439,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5488,7 +5453,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5501,7 +5466,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "enumflags2", "frame-support", @@ -5515,7 +5480,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5530,7 +5495,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5549,7 +5514,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-election-provider-support", "frame-support", @@ -5571,9 +5536,9 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "proc-macro-crate 1.0.0", + "proc-macro-crate 1.1.0", "proc-macro2", "quote", "syn", @@ -5582,7 +5547,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5595,7 +5560,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-benchmarking", "frame-support", @@ -5612,7 +5577,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5626,7 +5591,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5642,7 +5607,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "jsonrpc-core 15.1.0", "jsonrpc-core-client 15.1.0", @@ -5659,7 +5624,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5670,7 +5635,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5685,7 +5650,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -5699,7 +5664,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "enumflags2", "frame-support", @@ -5722,7 +5687,7 @@ dependencies = [ "libc", "log", "memmap2", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "rand 0.8.4", ] @@ -5746,24 +5711,25 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "2.1.3" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b310f220c335f9df1b3d2e9fbe3890bbfeef5030dad771620f48c5c229877cd3" +checksum = "e11263a97373b43da4b426edbb52ef99a7b51e2d9752ef56a7f8b356f48495a5" dependencies = [ "arrayvec 0.7.1", - "bitvec", + "bitvec 0.20.4", "byte-slice-cast", + "impl-trait-for-tuples 0.2.1", "parity-scale-codec-derive", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "2.1.3" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81038e13ca2c32587201d544ea2e6b6c47120f1e4eae04478f9f60b6bcb89145" +checksum = "b157dc92b3db2bae522afb31b3843e91ae097eb01d66c72dda66a2e86bc3ca14" dependencies = [ - "proc-macro-crate 1.0.0", + "proc-macro-crate 1.1.0", "proc-macro2", "quote", "syn", @@ -5801,10 +5767,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "664a8c6b8e62d8f9f2f937e391982eb433ab285b4cd9545b342441e04a906e42" dependencies = [ "cfg-if 1.0.0", - "hashbrown", + "hashbrown 0.9.1", "impl-trait-for-tuples 0.2.1", "parity-util-mem-derive", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "primitive-types", "smallvec 1.6.1", "winapi 0.3.9", @@ -5844,9 +5810,9 @@ checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" [[package]] name = "parity-ws" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e02a625dd75084c2a7024f07c575b61b782f729d18702dabb3cdbf31911dc61" +checksum = "322d72dfe461b8b9e367d057ceace105379d64d5b03907d23c481ccf3fbf8aa4" dependencies = [ "byteorder", "bytes 0.4.12", @@ -5889,13 +5855,13 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", - "lock_api 0.4.4", - "parking_lot_core 0.8.3", + "lock_api 0.4.5", + "parking_lot_core 0.8.5", ] [[package]] @@ -5929,14 +5895,14 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" +checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" dependencies = [ "cfg-if 1.0.0", "instant", "libc", - "redox_syscall 0.2.8", + "redox_syscall 0.2.10", "smallvec 1.6.1", "winapi 0.3.9", ] @@ -5949,21 +5915,20 @@ checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58" [[package]] name = "pbkdf2" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" +checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" dependencies = [ - "byteorder", - "crypto-mac 0.7.0", + "crypto-mac 0.8.0", ] [[package]] name = "pbkdf2" -version = "0.4.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" dependencies = [ - "crypto-mac 0.8.0", + "crypto-mac 0.11.1", ] [[package]] @@ -6054,11 +6019,11 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7509cc106041c40a4518d2af7a61530e1eed0e6285296a3d8c5472806ccc4a4" +checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08" dependencies = [ - "pin-project-internal 1.0.7", + "pin-project-internal 1.0.8", ] [[package]] @@ -6074,9 +6039,9 @@ dependencies = [ [[package]] name = "pin-project-internal" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f" +checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389" dependencies = [ "proc-macro2", "quote", @@ -6091,9 +6056,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" [[package]] name = "pin-project-lite" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905" +checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pin-utils" @@ -6134,15 +6099,15 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07fffcddc1cb3a1de753caa4e4df03b79922ba43cf882acc1bdd7e8df9f4590" +checksum = "d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c" [[package]] name = "plotters-svg" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b38a02e23bd9604b842a812063aec4ef702b57989c37b655254bb61c471ad211" +checksum = "521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9" dependencies = [ "plotters-backend", ] @@ -6162,21 +6127,23 @@ dependencies = [ [[package]] name = "poly1305" -version = "0.6.2" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b7456bc1ad2d4cf82b3a016be4c2ac48daf11bf990c1603ebd447fe6f30fca8" +checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" dependencies = [ - "cpuid-bool", + "cpufeatures", + "opaque-debug 0.3.0", "universal-hash", ] [[package]] name = "polyval" -version = "0.4.5" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" dependencies = [ - "cpuid-bool", + "cfg-if 1.0.0", + "cpufeatures", "opaque-debug 0.3.0", "universal-hash", ] @@ -6189,11 +6156,12 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "predicates" -version = "1.0.8" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df" +checksum = "c143348f141cc87aab5b950021bac6145d0e5ae754b0591de23244cee42c9308" dependencies = [ - "difference", + "difflib", + "itertools 0.10.1", "predicates-core", ] @@ -6205,9 +6173,9 @@ checksum = "57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451" [[package]] name = "predicates-tree" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f553275e5721409451eb85e15fd9a860a6e5ab4496eb215987502b5f5391f2" +checksum = "d7dd0fd014130206c9352efbdc92be592751b2b9274dff685348341082c6ea3d" dependencies = [ "predicates-core", "treeline", @@ -6227,9 +6195,9 @@ dependencies = [ [[package]] name = "primitive-types" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2415937401cb030a2a0a4d922483f945fa068f52a7dbb22ce0fe5f2b6f6adace" +checksum = "06345ee39fbccfb06ab45f3a1a5798d9dafa04cb8921a76d227040003a234b0e" dependencies = [ "fixed-hash", "impl-codec", @@ -6249,9 +6217,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92" +checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" dependencies = [ "thiserror", "toml", @@ -6295,9 +6263,9 @@ checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" [[package]] name = "proc-macro2" -version = "1.0.27" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" +checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d" dependencies = [ "unicode-xid", ] @@ -6311,7 +6279,7 @@ dependencies = [ "cfg-if 1.0.0", "fnv", "lazy_static", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "regex", "thiserror", ] @@ -6322,7 +6290,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e6984d2f1a23009bd270b8bb56d0926810a3d483f59c987d77969e9d8e840b2" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "prost-derive", ] @@ -6332,7 +6300,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32d3ebd75ac2679c2af3a92246639f9fcc8a442ee420719cc4fe195b98dd5fa3" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "heck", "itertools 0.9.0", "log", @@ -6363,15 +6331,15 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b518d7cdd93dab1d1122cf07fa9a60771836c668dde9d9e2a139f957f0d9f1bb" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "prost", ] [[package]] name = "psm" -version = "0.1.13" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21ff0279b4a85e576b97e4a21d13e437ebcd56612706cde5d3f0d5c9399490c0" +checksum = "cd136ff4382c4753fc061cb9e4712ab2af263376b95bbd5bd8cd50c020b78e69" dependencies = [ "cc", ] @@ -6430,6 +6398,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8" + [[package]] name = "radium" version = "0.6.2" @@ -6540,9 +6514,9 @@ dependencies = [ [[package]] name = "rand_distr" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051b398806e42b9cd04ad9ec8f81e355d0a382c543ac6672c62f5a5b452ef142" +checksum = "964d548f8e7d12e102ef183a0de7e98180c9f8729f555897a857b96e48122d2f" dependencies = [ "num-traits", "rand 0.8.4", @@ -6588,7 +6562,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" dependencies = [ "autocfg", - "crossbeam-deque 0.8.0", + "crossbeam-deque 0.8.1", "either", "rayon-core", ] @@ -6600,7 +6574,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" dependencies = [ "crossbeam-channel", - "crossbeam-deque 0.8.0", + "crossbeam-deque 0.8.1", "crossbeam-utils 0.8.5", "lazy_static", "num_cpus", @@ -6623,9 +6597,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_syscall" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc" +checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" dependencies = [ "bitflags", ] @@ -6637,7 +6611,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" dependencies = [ "getrandom 0.2.3", - "redox_syscall 0.2.8", + "redox_syscall 0.2.10", ] [[package]] @@ -6763,11 +6737,11 @@ dependencies = [ [[package]] name = "rlp" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e54369147e3e7796c9b885c7304db87ca3d09a0a98f72843d532868675bbfba8" +checksum = "999508abb0ae792aabed2460c45b89106d97fe4adac593bdaef433c2605847b5" dependencies = [ - "bytes 1.0.1", + "bytes 1.1.0", "rustc-hex", ] @@ -6804,9 +6778,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.19" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "410f7acf3cb3a44527c5d9546bad4bf4e6c460915d5f9f2fc524498bfe8f70ce" +checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" [[package]] name = "rustc-hash" @@ -6838,6 +6812,15 @@ dependencies = [ "semver 0.11.0", ] +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver 1.0.4", +] + [[package]] name = "rustls" version = "0.18.1" @@ -6878,9 +6861,9 @@ dependencies = [ [[package]] name = "ruzstd" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d425143485a37727c7a46e689bbe3b883a00f42b4a52c4ac0f44855c1009b00" +checksum = "8cada0ef59efa6a5f4dc5e491f93d9f31e3fc7758df421ff1de8a706338e1100" dependencies = [ "byteorder", "twox-hash", @@ -6892,7 +6875,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "pin-project 0.4.28", "static_assertions", ] @@ -6914,9 +6897,9 @@ dependencies = [ [[package]] name = "salsa20" -version = "0.7.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "399f290ffc409596022fce5ea5d4138184be4784f2b28c62c59f0d8389059a15" +checksum = "ecbd2eb639fd7cab5804a0837fe373cc2172d15437e804c054a9fb885cb923b0" dependencies = [ "cipher", ] @@ -6933,12 +6916,12 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "derive_more", "either", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "ip_network", "libp2p", @@ -6962,9 +6945,9 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "log", "parity-scale-codec", @@ -6985,7 +6968,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7001,7 +6984,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "impl-trait-for-tuples 0.2.1", "parity-scale-codec", @@ -7022,9 +7005,9 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "proc-macro-crate 1.0.0", + "proc-macro-crate 1.1.0", "proc-macro2", "quote", "syn", @@ -7033,11 +7016,11 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "chrono", "fdlimit", - "futures 0.3.15", + "futures 0.3.17", "hex 0.4.3", "libp2p", "log", @@ -7071,17 +7054,17 @@ dependencies = [ [[package]] name = "sc-client-api" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "derive_more", "fnv", - "futures 0.3.15", + "futures 0.3.17", "hash-db", "kvdb", "lazy_static", "log", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "sc-executor", "sp-api", "sp-blockchain", @@ -7105,7 +7088,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "blake2-rfc", "hash-db", @@ -7117,7 +7100,7 @@ dependencies = [ "parity-db", "parity-scale-codec", "parity-util-mem", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "sc-client-api", "sc-executor", "sc-state-db", @@ -7135,9 +7118,9 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "parking_lot 0.11.1", + "parking_lot 0.11.2", "sc-client-api", "sp-blockchain", "sp-consensus", @@ -7147,11 +7130,11 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "derive_more", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "log", "parity-scale-codec", @@ -7178,12 +7161,12 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "derive_more", "fork-tree", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "log", "merlin", @@ -7191,7 +7174,7 @@ dependencies = [ "num-rational 0.2.4", "num-traits", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "pdqselect", "rand 0.7.3", "retain_mut", @@ -7224,7 +7207,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "fork-tree", "parity-scale-codec", @@ -7237,10 +7220,10 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "impl-trait-for-tuples 0.2.1", "log", @@ -7265,7 +7248,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "sc-client-api", "sp-authorship", @@ -7276,7 +7259,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "derive_more", "lazy_static", @@ -7284,7 +7267,7 @@ dependencies = [ "log", "parity-scale-codec", "parity-wasm 0.41.0", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "sc-executor-common", "sc-executor-wasmi", "sc-executor-wasmtime", @@ -7305,7 +7288,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "derive_more", "parity-scale-codec", @@ -7323,7 +7306,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "log", "parity-scale-codec", @@ -7338,7 +7321,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "log", "parity-scale-codec", @@ -7356,20 +7339,20 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "derive_more", "dyn-clone", "finality-grandpa", "fork-tree", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "linked-hash-map", "log", "parity-scale-codec", - "parking_lot 0.11.1", - "pin-project 1.0.7", + "parking_lot 0.11.2", + "pin-project 1.0.8", "rand 0.7.3", "sc-block-builder", "sc-client-api", @@ -7396,11 +7379,11 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "derive_more", "finality-grandpa", - "futures 0.3.15", + "futures 0.3.17", "jsonrpc-core 15.1.0", "jsonrpc-core-client 15.1.0", "jsonrpc-derive 15.1.0", @@ -7420,14 +7403,14 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "derive_more", - "futures 0.3.15", + "futures 0.3.17", "log", "num-traits", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "prost", "sc-client-api", "sc-finality-grandpa", @@ -7441,10 +7424,10 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "ansi_term 0.12.1", - "futures 0.3.15", + "futures 0.3.17", "log", "parity-util-mem", "sc-client-api", @@ -7459,32 +7442,32 @@ dependencies = [ [[package]] name = "sc-keystore" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "derive_more", - "futures 0.3.15", + "futures 0.3.17", "futures-util", "hex 0.4.3", "merlin", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "rand 0.7.3", "serde_json", "sp-application-crypto", "sp-core", "sp-keystore", - "subtle 2.4.0", + "subtle 2.4.1", ] [[package]] name = "sc-light" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "hash-db", "lazy_static", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "sc-client-api", "sc-executor", "sp-api", @@ -7498,21 +7481,21 @@ dependencies = [ [[package]] name = "sc-network" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-std", "async-trait", "asynchronous-codec 0.5.0", "bitflags", "bs58", - "bytes 1.0.1", + "bytes 1.1.0", "cid", "derive_more", "either", "erased-serde", "fnv", "fork-tree", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "hex 0.4.3", "ip_network", @@ -7523,8 +7506,8 @@ dependencies = [ "lru", "nohash-hasher", "parity-scale-codec", - "parking_lot 0.11.1", - "pin-project 1.0.7", + "parking_lot 0.11.2", + "pin-project 1.0.8", "prost", "prost-build", "rand 0.7.3", @@ -7551,9 +7534,9 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "libp2p", "log", @@ -7568,11 +7551,11 @@ dependencies = [ [[package]] name = "sc-offchain" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "bytes 0.5.6", "fnv", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "hex 0.4.3", "hyper 0.13.10", @@ -7580,7 +7563,7 @@ dependencies = [ "log", "num_cpus", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "rand 0.7.3", "sc-client-api", "sc-keystore", @@ -7596,9 +7579,9 @@ dependencies = [ [[package]] name = "sc-peerset" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "libp2p", "log", "serde_json", @@ -7609,7 +7592,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -7618,15 +7601,15 @@ dependencies = [ [[package]] name = "sc-rpc" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "hash-db", "jsonrpc-core 15.1.0", "jsonrpc-pubsub 15.1.0", "log", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "sc-block-builder", "sc-client-api", "sc-executor", @@ -7653,17 +7636,17 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "derive_more", - "futures 0.3.15", + "futures 0.3.17", "jsonrpc-core 15.1.0", "jsonrpc-core-client 15.1.0", "jsonrpc-derive 15.1.0", "jsonrpc-pubsub 15.1.0", "log", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "serde", "serde_json", "sp-chain-spec", @@ -7678,7 +7661,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "futures 0.1.31", "jsonrpc-core 15.1.0", @@ -7696,13 +7679,13 @@ dependencies = [ [[package]] name = "sc-service" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "directories", "exit-future", "futures 0.1.31", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "hash-db", "jsonrpc-core 15.1.0", @@ -7711,8 +7694,8 @@ dependencies = [ "log", "parity-scale-codec", "parity-util-mem", - "parking_lot 0.11.1", - "pin-project 1.0.7", + "parking_lot 0.11.2", + "pin-project 1.0.8", "rand 0.7.3", "sc-block-builder", "sc-chain-spec", @@ -7760,13 +7743,13 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "log", "parity-scale-codec", "parity-util-mem", "parity-util-mem-derive", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "sc-client-api", "sp-core", "thiserror", @@ -7775,14 +7758,14 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "chrono", - "futures 0.3.15", + "futures 0.3.17", "libp2p", "log", - "parking_lot 0.11.1", - "pin-project 1.0.7", + "parking_lot 0.11.2", + "pin-project 1.0.8", "rand 0.7.3", "serde", "serde_json", @@ -7795,7 +7778,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "ansi_term 0.12.1", "atty", @@ -7803,7 +7786,7 @@ dependencies = [ "lazy_static", "log", "once_cell", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "regex", "rustc-hash", "sc-client-api", @@ -7832,9 +7815,9 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "proc-macro-crate 1.0.0", + "proc-macro-crate 1.1.0", "proc-macro2", "quote", "syn", @@ -7843,14 +7826,14 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "derive_more", - "futures 0.3.15", + "futures 0.3.17", "linked-hash-map", "log", "parity-util-mem", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "retain_mut", "serde", "sp-blockchain", @@ -7865,15 +7848,15 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "futures-diagnose", "intervalier", "log", "parity-scale-codec", "parity-util-mem", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "sc-client-api", "sc-transaction-graph", "sp-api", @@ -7888,6 +7871,31 @@ dependencies = [ "wasm-timer", ] +[[package]] +name = "scale-info" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c55b744399c25532d63a0d2789b109df8d46fc93752d46b0782991a931a782f" +dependencies = [ + "bitvec 0.20.4", + "cfg-if 1.0.0", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baeb2780690380592f86205aa4ee49815feb2acad8c2f59e6dd207148c3f1fcd" +dependencies = [ + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "schannel" version = "0.1.19" @@ -7906,14 +7914,14 @@ checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" dependencies = [ "arrayref", "arrayvec 0.5.2", - "curve25519-dalek 2.1.2", + "curve25519-dalek 2.1.3", "getrandom 0.1.16", "merlin", "rand 0.7.3", "rand_core 0.5.1", "serde", "sha2 0.8.2", - "subtle 2.4.0", + "subtle 2.4.1", "zeroize", ] @@ -8019,6 +8027,12 @@ dependencies = [ "serde", ] +[[package]] +name = "semver" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" + [[package]] name = "semver-parser" version = "0.7.0" @@ -8048,18 +8062,18 @@ checksum = "930c0acf610d3fdb5e2ab6213019aaa04e227ebe9547b0649ba599b16d788bd7" [[package]] name = "serde" -version = "1.0.126" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" +checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" dependencies = [ "serde_derive", ] [[package]] name = "serde_cbor" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e18acfa2f90e8b735b2836ab8d538de304cbb6729a7360729ea5a895d15a622" +checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" dependencies = [ "half", "serde", @@ -8067,9 +8081,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.126" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" +checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" dependencies = [ "proc-macro2", "quote", @@ -8078,9 +8092,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.64" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" +checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" dependencies = [ "itoa", "ryu", @@ -8101,9 +8115,9 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.6" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4cfa741c5832d0ef7fab46cabed29c2aae926db0b11bb2069edd8db5e64e16" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ "block-buffer 0.9.0", "cfg-if 1.0.0", @@ -8126,9 +8140,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.5" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" +checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" dependencies = [ "block-buffer 0.9.0", "cfg-if 1.0.0", @@ -8164,24 +8178,24 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c719719ee05df97490f80a45acfc99e5a30ce98a1e4fb67aee422745ae14e3" +checksum = "740223c51853f3145fe7c90360d2d4232f2b62e3449489c207eccde818979982" dependencies = [ "lazy_static", ] [[package]] name = "shlex" -version = "0.1.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" +checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "signal-hook" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "470c5a6397076fae0094aaf06a08e6ba6f37acb77d3b1b91ea92b4d6c8650c39" +checksum = "9c98891d737e271a2954825ef19e46bd16bdb98e2746f2eec4f7a4ef7946efd1" dependencies = [ "libc", "signal-hook-registry", @@ -8198,21 +8212,9 @@ dependencies = [ [[package]] name = "signature" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0242b8e50dd9accdd56170e94ca1ebd223b098eb9c83539a6e367d0f36ae68" - -[[package]] -name = "simba" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5132a955559188f3d13c9ba831e77c802ddc8782783f050ed0c52f5988b95f4c" -dependencies = [ - "approx 0.4.0", - "num-complex 0.3.1", - "num-traits", - "paste", -] +checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" [[package]] name = "simba" @@ -8220,7 +8222,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" dependencies = [ - "approx 0.5.0", + "approx", "num-complex 0.4.0", "num-traits", "paste", @@ -8228,9 +8230,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" +checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590" [[package]] name = "slog" @@ -8258,19 +8260,19 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "snow" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "795dd7aeeee24468e5a32661f6d27f7b5cbed802031b2d7640c7b10f8fb2dd50" +checksum = "6142f7c25e94f6fd25a32c3348ec230df9109b463f59c8c7acc4bd34936babb7" dependencies = [ "aes-gcm", "blake2", "chacha20poly1305", - "rand 0.7.3", - "rand_core 0.5.1", + "rand 0.8.4", + "rand_core 0.6.3", "ring", - "rustc_version 0.2.3", - "sha2 0.9.5", - "subtle 2.4.0", + "rustc_version 0.3.3", + "sha2 0.9.8", + "subtle 2.4.1", "x25519-dalek", ] @@ -8287,9 +8289,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2" +checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" dependencies = [ "libc", "winapi 0.3.9", @@ -8304,17 +8306,17 @@ dependencies = [ "base64 0.12.3", "bytes 0.5.6", "flate2", - "futures 0.3.15", + "futures 0.3.17", "httparse", "log", "rand 0.7.3", - "sha-1 0.9.6", + "sha-1 0.9.8", ] [[package]] name = "sp-allocator" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "log", "sp-core", @@ -8326,7 +8328,7 @@ dependencies = [ [[package]] name = "sp-api" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "hash-db", "log", @@ -8343,10 +8345,10 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "blake2-rfc", - "proc-macro-crate 1.0.0", + "proc-macro-crate 1.1.0", "proc-macro2", "quote", "syn", @@ -8355,7 +8357,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "serde", @@ -8367,7 +8369,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "integer-sqrt", "num-traits", @@ -8381,7 +8383,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "sp-api", @@ -8393,7 +8395,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "parity-scale-codec", @@ -8405,7 +8407,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "sp-api", @@ -8417,13 +8419,13 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "log", "lru", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "sp-api", "sp-consensus", "sp-database", @@ -8435,7 +8437,7 @@ dependencies = [ [[package]] name = "sp-chain-spec" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "serde", "serde_json", @@ -8444,15 +8446,15 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "libp2p", "log", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "serde", "sp-api", "sp-core", @@ -8471,7 +8473,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "parity-scale-codec", @@ -8488,7 +8490,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "merlin", @@ -8510,7 +8512,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -8520,7 +8522,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -8532,14 +8534,14 @@ dependencies = [ [[package]] name = "sp-core" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "base58", "blake2-rfc", "byteorder", "dyn-clonable", "ed25519-dalek", - "futures 0.3.15", + "futures 0.3.17", "hash-db", "hash256-std-hasher", "hex 0.4.3", @@ -8551,14 +8553,14 @@ dependencies = [ "num-traits", "parity-scale-codec", "parity-util-mem", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "primitive-types", "rand 0.7.3", "regex", "schnorrkel", "secrecy", "serde", - "sha2 0.9.5", + "sha2 0.9.8", "sp-debug-derive", "sp-externalities", "sp-runtime-interface", @@ -8576,16 +8578,16 @@ dependencies = [ [[package]] name = "sp-database" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "kvdb", - "parking_lot 0.11.1", + "parking_lot 0.11.2", ] [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "proc-macro2", "quote", @@ -8595,7 +8597,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "environmental", "parity-scale-codec", @@ -8606,7 +8608,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "finality-grandpa", "log", @@ -8623,7 +8625,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "impl-trait-for-tuples 0.2.1", @@ -8637,14 +8639,14 @@ dependencies = [ [[package]] name = "sp-io" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "hash-db", "libsecp256k1", "log", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "sp-core", "sp-externalities", "sp-keystore", @@ -8662,7 +8664,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "lazy_static", "sp-core", @@ -8673,14 +8675,14 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "derive_more", - "futures 0.3.15", + "futures 0.3.17", "merlin", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "schnorrkel", "serde", "sp-core", @@ -8690,7 +8692,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "ruzstd", "zstd", @@ -8699,7 +8701,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "serde", @@ -8712,9 +8714,9 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "proc-macro-crate 1.0.0", + "proc-macro-crate 1.1.0", "proc-macro2", "quote", "syn", @@ -8723,7 +8725,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "sp-api", "sp-core", @@ -8733,7 +8735,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "backtrace", ] @@ -8741,7 +8743,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "rustc-hash", "serde", @@ -8752,7 +8754,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "either", "hash256-std-hasher", @@ -8773,7 +8775,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "impl-trait-for-tuples 0.2.1", "parity-scale-codec", @@ -8790,10 +8792,10 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "Inflector", - "proc-macro-crate 1.0.0", + "proc-macro-crate 1.1.0", "proc-macro2", "quote", "syn", @@ -8802,7 +8804,7 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "sp-core", @@ -8815,7 +8817,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "serde", "serde_json", @@ -8824,7 +8826,7 @@ dependencies = [ [[package]] name = "sp-session" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "sp-api", @@ -8837,7 +8839,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -8847,13 +8849,13 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "hash-db", "log", "num-traits", "parity-scale-codec", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "rand 0.7.3", "smallvec 1.6.1", "sp-core", @@ -8870,12 +8872,12 @@ dependencies = [ [[package]] name = "sp-std" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" [[package]] name = "sp-storage" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8888,7 +8890,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "log", "sp-core", @@ -8901,7 +8903,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -8918,7 +8920,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "erased-serde", "log", @@ -8936,10 +8938,10 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "derive_more", - "futures 0.3.15", + "futures 0.3.17", "log", "parity-scale-codec", "serde", @@ -8952,7 +8954,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "hash-db", "memory-db", @@ -8966,9 +8968,9 @@ dependencies = [ [[package]] name = "sp-utils" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "futures-core", "futures-timer 3.0.2", "lazy_static", @@ -8978,7 +8980,7 @@ dependencies = [ [[package]] name = "sp-version" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8991,10 +8993,10 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "parity-scale-codec", - "proc-macro-crate 1.0.0", + "proc-macro-crate 1.1.0", "proc-macro2", "quote", "syn", @@ -9003,7 +9005,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "impl-trait-for-tuples 0.2.1", "parity-scale-codec", @@ -9031,27 +9033,17 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "statrs" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0c1f144861fbfd2a8cc82d564ccbf7fb3b7834d4fa128b84e9c2a73371aead" +checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" dependencies = [ - "approx 0.4.0", + "approx", "lazy_static", - "nalgebra 0.26.2", + "nalgebra", "num-traits", "rand 0.8.4", ] -[[package]] -name = "stream-cipher" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c80e15f898d8d8f25db24c253ea615cc14acf418ff307822995814e7d42cfa89" -dependencies = [ - "block-cipher", - "generic-array 0.14.4", -] - [[package]] name = "string" version = "0.2.1" @@ -9069,9 +9061,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" -version = "0.3.21" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5277acd7ee46e63e5168a80734c9f6ee81b1367a7d8772a2d765df2a3705d28c" +checksum = "bf9d950ef167e25e0bdb073cf1d68e9ad2795ac826f2f3f59647817cf23c0bfa" dependencies = [ "clap", "lazy_static", @@ -9080,9 +9072,9 @@ dependencies = [ [[package]] name = "structopt-derive" -version = "0.4.14" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90" +checksum = "134d838a2c9943ac3125cf6df165eda53493451b719f3255b2a26b85f772d0ba" dependencies = [ "heck", "proc-macro-error", @@ -9114,14 +9106,14 @@ dependencies = [ [[package]] name = "substrate-bip39" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bed6646a0159b9935b5d045611560eeef842b78d7adc3ba36f5ca325a13a0236" +checksum = "49eee6965196b32f882dd2ee85a92b1dbead41b04e53907f269de3b0dc04733c" dependencies = [ - "hmac 0.7.1", - "pbkdf2 0.3.0", + "hmac 0.11.0", + "pbkdf2 0.8.0", "schnorrkel", - "sha2 0.8.2", + "sha2 0.9.8", "zeroize", ] @@ -9141,12 +9133,12 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "chrono", "console_error_panic_hook", "futures 0.1.31", - "futures 0.3.15", + "futures 0.3.17", "futures-timer 3.0.2", "getrandom 0.2.3", "js-sys", @@ -9176,7 +9168,7 @@ dependencies = [ [[package]] name = "substrate-frame-cli" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-support", "frame-system", @@ -9189,10 +9181,10 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "3.0.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "frame-system-rpc-runtime-api", - "futures 0.3.15", + "futures 0.3.17", "jsonrpc-core 15.1.0", "jsonrpc-core-client 15.1.0", "jsonrpc-derive 15.1.0", @@ -9212,7 +9204,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#0e5c23844faa7a99f0a9e24731827205db7094fb" +source = "git+https://github.com/webb-tools/substrate.git?branch=erup-4#656e206faaf0353c7e7f14689779379018bbb02a" dependencies = [ "async-std", "derive_more", @@ -9247,15 +9239,15 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.73" +version = "1.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" +checksum = "5239bc68e0fef57495900cfea4e8dc75596d9a319d7e16b1e0a440d24e6fe0a0" dependencies = [ "proc-macro2", "quote", @@ -9264,9 +9256,9 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" +checksum = "474aaa926faa1603c40b7885a9eaea29b444d1cb2850cb7c0e37bb1a4182f4fa" dependencies = [ "proc-macro2", "quote", @@ -9301,7 +9293,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "rand 0.8.4", - "redox_syscall 0.2.8", + "redox_syscall 0.2.10", "remove_dir_all", "winapi 0.3.9", ] @@ -9326,18 +9318,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.25" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" +checksum = "602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.25" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" +checksum = "bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c" dependencies = [ "proc-macro2", "quote", @@ -9375,17 +9367,18 @@ dependencies = [ [[package]] name = "tiny-bip39" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9e44c4759bae7f1032e286a7ef990bd9ed23fe831b7eeba0beb97484c2e59b8" +checksum = "524daa5624d9d4ffb5a0625971d35205b882111daa6b6338a7a6c578a3c36928" dependencies = [ "anyhow", "hmac 0.8.1", "once_cell", + "parking_lot 0.11.2", "pbkdf2 0.4.0", "rand 0.7.3", "rustc-hash", - "sha2 0.9.5", + "sha2 0.9.8", "thiserror", "unicode-normalization", "zeroize", @@ -9412,9 +9405,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +checksum = "5241dd6f21443a3606b432718b166d3cedc962fd4b8bea54a8bc7f514ebda986" dependencies = [ "tinyvec_macros", ] @@ -9630,7 +9623,7 @@ version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" dependencies = [ - "crossbeam-deque 0.7.3", + "crossbeam-deque 0.7.4", "crossbeam-queue", "crossbeam-utils 0.7.2", "futures 0.1.31", @@ -9717,22 +9710,22 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] name = "tracing" -version = "0.1.26" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" +checksum = "84f96e095c0c82419687c20ddf5cb3eadb61f4e1405923c9dc8e53a1adacbda8" dependencies = [ "cfg-if 1.0.0", "log", - "pin-project-lite 0.2.6", + "pin-project-lite 0.2.7", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2" +checksum = "98863d0dd09fa59a1b79c6750ad80dbda6b75f4e71c437a6a1a8cb91a8bcbd77" dependencies = [ "proc-macro2", "quote", @@ -9741,9 +9734,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.18" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052" +checksum = "46125608c26121c81b0c6d693eab5a420e416da7e43c426d2e8f7df8da8a3acf" dependencies = [ "lazy_static", ] @@ -9754,7 +9747,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ - "pin-project 1.0.7", + "pin-project 1.0.8", "tracing", ] @@ -9781,9 +9774,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.2.18" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa5553bf0883ba7c9cbe493b085c29926bd41b66afc31ff72cf17ff4fb60dcd5" +checksum = "fdd0568dbfe3baf7048b7908d2b32bca0d81cd56bec6d2a8f894b01d74f86be3" dependencies = [ "ansi_term 0.12.1", "chrono", @@ -9809,12 +9802,12 @@ checksum = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41" [[package]] name = "trie-db" -version = "0.22.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd81fe0c8bc2b528a51c9d2c31dae4483367a26a723a3c9a4a8120311d7774e3" +checksum = "9eac131e334e81b6b3be07399482042838adcd7957aa0010231d0813e39e02fa" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.11.2", "log", "rustc-hex", "smallvec 1.6.1", @@ -9875,7 +9868,7 @@ dependencies = [ "lazy_static", "log", "lru-cache", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "resolv-conf", "smallvec 1.6.1", "thiserror", @@ -9890,20 +9883,20 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "twox-hash" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f8ab788026715fa63b31960869617cba39117e520eb415b0139543e325ab59" +checksum = "1f559b464de2e2bdabcac6a210d12e9b5a5973c251e102c44c585c71d51bd78e" dependencies = [ - "cfg-if 0.1.10", - "rand 0.7.3", + "cfg-if 1.0.0", + "rand 0.8.4", "static_assertions", ] [[package]] name = "typenum" -version = "1.13.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" [[package]] name = "ucd-trie" @@ -9913,9 +9906,9 @@ checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" [[package]] name = "uint" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11fe9a9348741cf134085ad57c249508345fe16411b3d7fb4ff2da2f1d6382e" +checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f" dependencies = [ "byteorder", "crunchy", @@ -9934,12 +9927,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" -dependencies = [ - "matches", -] +checksum = "246f4c42e67e7a4e3c6106ff716a5d067d4132a642840b242e357e468a2a0085" [[package]] name = "unicode-normalization" @@ -9952,15 +9942,15 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796" +checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" [[package]] name = "unicode-width" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" +checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" [[package]] name = "unicode-xid" @@ -9970,12 +9960,12 @@ checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "universal-hash" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b2c654932e3e4f9196e69d08fdf7cfd718e1dc6f66b347e6024a0c961402" +checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" dependencies = [ "generic-array 0.14.4", - "subtle 2.4.0", + "subtle 2.4.1", ] [[package]] @@ -9991,7 +9981,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35581ff83d4101e58b582e607120c7f5ffb17e632a980b1f38334d76b36908b2" dependencies = [ "asynchronous-codec 0.5.0", - "bytes 1.0.1", + "bytes 1.1.0", "futures-io", "futures-util", ] @@ -10003,7 +9993,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f8d425fafb8cd76bc3f22aace4af471d3156301d7508f2107e98fbeae10bc7f" dependencies = [ "asynchronous-codec 0.6.0", - "bytes 1.0.1", + "bytes 1.1.0", "futures-io", "futures-util", ] @@ -10049,9 +10039,9 @@ dependencies = [ [[package]] name = "vcpkg" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025ce40a007e1907e58d5bc1a594def78e5573bb0b1160bc389634e8f12e4faa" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vec_map" @@ -10155,9 +10145,9 @@ checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" [[package]] name = "wasm-bindgen" -version = "0.2.74" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" +checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -10165,9 +10155,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.74" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" +checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" dependencies = [ "bumpalo", "lazy_static", @@ -10180,9 +10170,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.24" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1" +checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -10192,9 +10182,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.74" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" +checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -10202,9 +10192,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.74" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" +checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" dependencies = [ "proc-macro2", "quote", @@ -10215,9 +10205,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.74" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" +checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" [[package]] name = "wasm-gc-api" @@ -10236,9 +10226,9 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "js-sys", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "pin-utils", "wasm-bindgen", "wasm-bindgen-futures", @@ -10271,9 +10261,9 @@ dependencies = [ [[package]] name = "wasmi-validation" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb8e860796d8be48efef530b60eebf84e74a88bce107374fffb0da97d504b8" +checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" dependencies = [ "parity-wasm 0.42.2", ] @@ -10330,7 +10320,7 @@ dependencies = [ "libc", "log", "serde", - "sha2 0.9.5", + "sha2 0.9.8", "toml", "winapi 0.3.9", "zstd", @@ -10487,98 +10477,32 @@ dependencies = [ [[package]] name = "wast" -version = "36.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b5d7ba374a364571da1cb0a379a3dc302582a2d9937a183bfe35b68ad5bb9c4" +checksum = "0ebc29df4629f497e0893aacd40f13a4a56b85ef6eb4ab6d603f07244f1a7bf2" dependencies = [ "leb128", ] [[package]] name = "wat" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16383df7f0e3901484c2dda6294ed6895caa3627ce4f6584141dcf30a33a23e6" +checksum = "adcfaeb27e2578d2c6271a45609f4a055e6d7ba3a12eff35b1fd5ba147bdf046" dependencies = [ "wast", ] [[package]] name = "web-sys" -version = "0.3.51" +version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582" +checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb" dependencies = [ "js-sys", "wasm-bindgen", ] -[[package]] -name = "webb-currencies" -version = "3.0.0" -source = "git+https://github.com/webb-tools/anon#284c79e232270eb35d10fb62e662e76cf758755c" -dependencies = [ - "frame-support", - "frame-system", - "funty", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", - "webb-traits", - "webb-utilities", -] - -[[package]] -name = "webb-tokens" -version = "3.0.0" -source = "git+https://github.com/webb-tools/anon#284c79e232270eb35d10fb62e662e76cf758755c" -dependencies = [ - "bencher", - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-balances", - "pallet-treasury", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-std", - "webb-traits", -] - -[[package]] -name = "webb-traits" -version = "3.0.0" -source = "git+https://github.com/webb-tools/anon#284c79e232270eb35d10fb62e662e76cf758755c" -dependencies = [ - "frame-support", - "funty", - "impl-trait-for-tuples 0.2.1", - "num-traits", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", - "webb-utilities", -] - -[[package]] -name = "webb-utilities" -version = "3.0.0" -source = "git+https://github.com/webb-tools/anon#284c79e232270eb35d10fb62e662e76cf758755c" -dependencies = [ - "frame-support", - "funty", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", -] - [[package]] name = "webpki" version = "0.21.4" @@ -10609,11 +10533,12 @@ dependencies = [ [[package]] name = "which" -version = "4.1.0" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe" +checksum = "ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9" dependencies = [ "either", + "lazy_static", "libc", ] @@ -10693,11 +10618,11 @@ checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" [[package]] name = "x25519-dalek" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" +checksum = "2392b6b94a576b4e2bf3c5b2757d63f10ada8020a2e4d08ac849ebcf6ea8e077" dependencies = [ - "curve25519-dalek 3.1.0", + "curve25519-dalek 3.2.0", "rand_core 0.5.1", "zeroize", ] @@ -10708,10 +10633,10 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107" dependencies = [ - "futures 0.3.15", + "futures 0.3.17", "log", "nohash-hasher", - "parking_lot 0.11.1", + "parking_lot 0.11.2", "rand 0.8.4", "static_assertions", ] @@ -10727,9 +10652,9 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2c1e130bebaeab2f23886bf9acbaca14b092408c452543c857f66399cd6dab1" +checksum = "bdff2024a851a322b08f179173ae2ba620445aef1e838f0c196820eade4ae0c7" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 3465cb84..dffe0b24 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,8 +7,6 @@ members = [ "client/rpc-core/trace", "client/rpc-core/txpool", "pallets/edge-treasury-reward", - "pallets/orml-nft", - "pallets/nft", "node/cli", "node/opts", "node/executor", @@ -27,10 +25,9 @@ exclude = ["vendor"] [profile.release] # Edgeware runtime requires unwinding. panic = "unwind" +codegen-units=1 [profile.dev.package] -aes-soft = { opt-level = 3 } -aesni = { opt-level = 3 } blake2 = { opt-level = 3 } blake2-rfc = { opt-level = 3 } blake2b_simd = { opt-level = 3 } diff --git a/README.md b/README.md index 8ff779d6..1e8b77a5 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,8 @@ # edgeware-node -[Edgeware](https://edgewa.re) is an: -- On-chain Governed, -- Proof-of-Stake (PoS) Blockchain -- with a WASM Runtime. - -## For node operators, validators, and other users +[Edgeware](https://edgewa.re) is a proof-of-stake smart contract +blockchain with a community-managed treasury, decentralized proposal +system, and network of DAOs. A getting started guide can be found at our [Github Wiki](https://github.com/hicommonwealth/edgeware-node/wiki), including @@ -18,32 +15,15 @@ check out the [blog](https://blog.edgewa.re) or governance, campaigns and proposals can be found on [Commonwealth](https://commonwealth.im). -## For developers - ### Quickstart If your device is clean (such as a fresh cloud VM) you can use this -script for an automated setup: - -``` -./setup.sh -``` - -Otherwise, proceed with the full instructions below. - -### Manual setup +script for an automated setup: `./setup.sh` Install system dependencies: -Linux: -``` -sudo apt install cmake pkg-config libssl-dev git clang libclang-dev -``` - -Mac: -``` -brew install cmake pkg-config openssl git llvm -``` +- Linux: `sudo apt install cmake pkg-config libssl-dev git clang libclang-dev` +- Mac: `brew install cmake pkg-config openssl git llvm` Install Edgeware dependencies: @@ -59,20 +39,36 @@ Build Edgeware: ``` cargo build --release ``` + Build for Edgeware's Beresheet testnet, which uses a different runtime version and EVM chain ID: ``` cargo build --release --features beresheet-runtime ``` +Build a WASM runtime to be deployed on-chain using [srtool](https://github.com/paritytech/srtool): + +``` +cargo install --git https://github.com/chevdor/srtool-cli +srtool build --package edgeware-runtime --runtime-dir node/runtime . --app --json +``` + +Build a WASM runtime for Beresheet: + +``` +srtool build --package edgeware-runtime --runtime-dir node/runtime . --app --json --build-opts="--features=beresheet-runtime" +``` + Ensure you have a fresh start if updating from another version: ``` ./scripts/purge-chain.sh ``` + To start up the Edgeware node and connect to the Mainnet, run: ``` ./target/release/edgeware --chain=edgeware --name --wasm-execution Compiled ``` + To start up the Edgeware node and connect to the Beresheet testnet, run: ``` ./target/release/edgeware --chain=beresheet --name @@ -86,9 +82,9 @@ To run a local build using docker, run: ``` docker build -f docker/Dockerfile . ``` -Images that have failed to build typically are hard to remove. The best way to reclaim the wasted space is to uninstall Docker and then reinstall. +Images that have failed to build typically are hard to remove. The best way to reclaim the wasted space is to uninstall Docker and then reinstall. -If the above image failed to compile `edgeware-cli`, then it's because your machine doesnt have enough memory; or your docker doesn't have enough memory available. Try and increase Docker's available memory by a few notches, by going to Docker Desktop settings. +If the above image failed to compile `edgeware-cli`, then it's because your machine doesnt have enough memory; or your docker doesn't have enough memory available. Try and increase Docker's available memory by a few notches, by going to Docker Desktop settings. #### Pull image and run (no compile) If you want to use our previously-built image `decentration/edgeware:v3.3.3`, you can use docker-compose: @@ -104,14 +100,11 @@ Then run: docker run --rm -it decentration/edgeware:v3.3.3 edgeware --chain=edgeware --name --wasm-execution Compiled ``` - - - -### Module Benchmarking +### Benchmarking To build in benchmarking mode: ``` -cd node/cli && cargo build --features runtime-benchmarks --release +cargo build --features runtime-benchmarks --release ``` To run benchmarks and output new weight files while still in the `node/cli` folder (replace `signaling` with `voting` to benchmark voting instead): diff --git a/client/rpc/debug/src/lib.rs b/client/rpc/debug/src/lib.rs index 62077968..63d29262 100644 --- a/client/rpc/debug/src/lib.rs +++ b/client/rpc/debug/src/lib.rs @@ -173,6 +173,7 @@ where client.as_ref(), frontier_backend.as_ref(), transaction_hash, + true ) { Ok(Some((hash, index))) => (hash, index as usize), Ok(None) => return Err(internal_err("Transaction hash not found".to_string())), diff --git a/node/cli/Cargo.toml b/node/cli/Cargo.toml index 521af48b..26c1e3e8 100644 --- a/node/cli/Cargo.toml +++ b/node/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "edgeware-cli" -version = "3.3.3" +version = "3.3.5" authors = ["Commonwealth Labs "] description = "Edgeware implementation using a substrate node." build = "build.rs" @@ -95,10 +95,10 @@ pallet-dynamic-fee = { git = "https://github.com/webb-tools/frontier", branch = pallet-evm = { git = "https://github.com/webb-tools/frontier", branch = "erup-4" } # node-specific dependencies -edgeware-runtime = { version = "3.3.3", path = "../runtime", default-features = false } -edgeware-rpc = { version = "3.3.3", path = "../rpc" } -edgeware-primitives = { version = "3.3.3", path = "../primitives", default-features = false } -edgeware-executor = { version = "3.3.3", path = "../executor", default-features = false } +edgeware-runtime = { version = "3.3.5", path = "../runtime", default-features = false } +edgeware-rpc = { version = "3.3.5", path = "../rpc" } +edgeware-primitives = { version = "3.3.5", path = "../primitives", default-features = false } +edgeware-executor = { version = "3.3.5", path = "../executor", default-features = false } edgeware-rpc-txpool = { path = "../../client/rpc/txpool", default-features = false } edgeware-rpc-primitives-txpool = { path = "../txpool", default-features = false } edgeware-rpc-debug = { path = "../../client/rpc/debug", default-features = false } diff --git a/node/cli/src/chain_spec.rs b/node/cli/src/chain_spec.rs index 3c929e27..1d19a5fb 100644 --- a/node/cli/src/chain_spec.rs +++ b/node/cli/src/chain_spec.rs @@ -247,7 +247,6 @@ pub fn testnet_genesis( current_payout: 95 * DOLLARS, minting_interval: One::one(), }, - orml_nft: Default::default(), } } @@ -483,7 +482,6 @@ pub fn mainnet_genesis( current_payout: 95 * DOLLARS, minting_interval: One::one(), }, - orml_nft: Default::default(), } } diff --git a/node/executor/Cargo.toml b/node/executor/Cargo.toml index 03c0037f..235d8da5 100644 --- a/node/executor/Cargo.toml +++ b/node/executor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "edgeware-executor" -version = "3.3.3" +version = "3.3.5" authors = ["Commonwealth Labs "] description = "Edgeware implementation using a substrate node." edition = "2018" @@ -19,9 +19,9 @@ sp-core = { version = "3.0" } sp-trie = { version = "3.0" } frame-benchmarking = { version = "3.0" } -edgeware-primitives = { version = "3.3.3", path = "../primitives" } -edgeware-runtime = { version = "3.3.3", path = "../runtime" } -edgeware-runtime-interface = { version = "3.3.3", path = "../runtime-interface" } +edgeware-primitives = { version = "3.3.5", path = "../primitives" } +edgeware-runtime = { version = "3.3.5", path = "../runtime" } +edgeware-runtime-interface = { version = "3.3.5", path = "../runtime-interface" } [dev-dependencies] sp-runtime = { version = "3.0" } diff --git a/node/primitives/Cargo.toml b/node/primitives/Cargo.toml index 836d4cfe..73627188 100644 --- a/node/primitives/Cargo.toml +++ b/node/primitives/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "edgeware-primitives" -version = "3.3.3" +version = "3.3.5" authors = ["Commonwealth Labs "] edition = "2018" license = "GPL-3.0-or-later WITH Classpath-exception-2.0" diff --git a/node/primitives/src/lib.rs b/node/primitives/src/lib.rs index df4d27b0..b81a028b 100644 --- a/node/primitives/src/lib.rs +++ b/node/primitives/src/lib.rs @@ -69,8 +69,6 @@ pub type Block = generic::Block; /// Block ID. pub type BlockId = generic::BlockId; -/// NFT balance for nft module -pub type NFTBalance = u128; /// Asset id type for assets module pub type AssetId = u32; /// Token amount type for tokens module diff --git a/node/rpc-client/Cargo.toml b/node/rpc-client/Cargo.toml index 2bdbaf1c..e44d81a7 100644 --- a/node/rpc-client/Cargo.toml +++ b/node/rpc-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "edgeware-rpc-client" -version = "3.3.3" +version = "3.3.5" authors = ["Commonwealth Labs "] edition = "2018" license = "GPL-3.0-or-later WITH Classpath-exception-2.0" @@ -17,4 +17,3 @@ log = "0.4.8" edgeware-primitives = { path = "../primitives" } sp-tracing = { version = "3.0" } sc-rpc = { version = "3.0" } - diff --git a/node/rpc/Cargo.toml b/node/rpc/Cargo.toml index 33e836c7..4e3f3a2f 100644 --- a/node/rpc/Cargo.toml +++ b/node/rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "edgeware-rpc" -version = "3.3.3" +version = "3.3.5" authors = ["Commonwealth Labs "] edition = "2018" license = "GPL-3.0-or-later WITH Classpath-exception-2.0" diff --git a/node/rpc/src/lib.rs b/node/rpc/src/lib.rs index c6e0a96a..4daf568d 100644 --- a/node/rpc/src/lib.rs +++ b/node/rpc/src/lib.rs @@ -239,7 +239,7 @@ where pending_transactions.clone(), signers, overrides.clone(), - backend, + backend.clone(), is_authority, max_past_logs, ))); @@ -247,6 +247,7 @@ where if let Some(filter_pool) = filter_pool { io.extend_with(EthFilterApiServer::to_delegate(EthFilterApi::new( client.clone(), + backend.clone(), filter_pool.clone(), 500 as usize, // max stored filters overrides.clone(), diff --git a/node/runtime-interface/Cargo.toml b/node/runtime-interface/Cargo.toml index 185ec5fb..32ae63d8 100644 --- a/node/runtime-interface/Cargo.toml +++ b/node/runtime-interface/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "edgeware-runtime-interface" -version = "3.3.3" +version = "3.3.5" authors = ["Commonwealth Labs "] description = "Edgeware runtime interface helpers and functions" edition = "2018" diff --git a/node/runtime/Cargo.toml b/node/runtime/Cargo.toml index 4b4e956c..1362c9a7 100644 --- a/node/runtime/Cargo.toml +++ b/node/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "edgeware-runtime" -version = "3.3.3" +version = "3.3.5" authors = ["Commonwealth Labs "] edition = "2018" build = "build.rs" @@ -46,7 +46,7 @@ sp-offchain = { version = "3.0", default-features = false } sp-npos-elections = { version = "3.0", default-features = false } # edgeware primitives -edgeware-primitives = { version = "3.3.3", path = "../primitives", default-features = false } +edgeware-primitives = { version = "3.3.5", path = "../primitives", default-features = false } edgeware-evm-tracer = { path = "../evm_tracer", default-features = false } edgeware-rpc-primitives-debug = { path = "../debug", default-features = false } edgeware-rpc-primitives-txpool = { path = "../txpool", default-features = false } @@ -93,8 +93,6 @@ pallet-transaction-payment-rpc-runtime-api = { version = "3.0", default-features pallet-vesting = { version = "3.0", default-features = false } treasury-reward = { package = "edge-treasury-reward", path = "../../pallets/edge-treasury-reward", default-features = false } -orml-nft = { path = "../../pallets/orml-nft", default-features = false } -nft = { package = "module-nft", path = "../../pallets/nft", default-features = false } pallet-dynamic-fee = { default-features = false, git = "https://github.com/webb-tools/frontier", branch = "erup-4" } fp-rpc = { default-features = false, git = "https://github.com/webb-tools/frontier", branch = "erup-4" } @@ -111,10 +109,6 @@ pallet-evm-precompile-curve25519 = { git = "https://github.com/webb-tools/fronti sha3 = { version = "0.9", default-features = false } -webb-currencies = { default-features = false, git = "https://github.com/webb-tools/anon" } -webb-tokens = { default-features = false, git = "https://github.com/webb-tools/anon" } -webb-traits = { default-features = false, git = "https://github.com/webb-tools/anon" } - evm = { version = "0.27.0", default-features = false, features = ["with-codec"] } # used for runtime benchmarking @@ -205,11 +199,7 @@ std = [ "pallet-tips/std", "pallet-bounties/std", "sp-npos-elections/std", - "webb-currencies/std", - "webb-tokens/std", - "orml-nft/std", - "nft/std", - "edgeware-evm-tracer/std", + "edgeware-evm-tracer/std", "edgeware-rpc-primitives-debug/std", "edgeware-rpc-primitives-txpool/std", ] diff --git a/node/runtime/src/constants.rs b/node/runtime/src/constants.rs index 3c71076f..ab5d94e8 100644 --- a/node/runtime/src/constants.rs +++ b/node/runtime/src/constants.rs @@ -18,7 +18,7 @@ /// Money matters. pub mod currency { - pub use edgeware_primitives::{Balance, AssetId, Amount, CurrencyId}; + pub use edgeware_primitives::{Balance, Amount, CurrencyId}; pub const MILLICENTS: Balance = 10_000_000_000_000; pub const CENTS: Balance = 1_000 * MILLICENTS; // assume this is worth about a cent. diff --git a/node/runtime/src/lib.rs b/node/runtime/src/lib.rs index c8f5cca4..b6009b36 100644 --- a/node/runtime/src/lib.rs +++ b/node/runtime/src/lib.rs @@ -109,8 +109,6 @@ use constants::{currency::*, time::*}; use pallet_contracts::weights::WeightInfo; use sp_runtime::generic::Era; -use webb_currencies::BasicCurrencyAdapter; - // Make the WASM binary available. #[cfg(feature = "std")] include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); @@ -136,8 +134,8 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // and set impl_version to equal spec_version. If only runtime // implementation changes and behavior does not, then leave spec_version as // is and increment impl_version. - spec_version: 50, - impl_version: 50, + spec_version: 51, + impl_version: 51, apis: RUNTIME_API_VERSIONS, transaction_version: 2, }; @@ -151,8 +149,8 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // and set impl_version to equal spec_version. If only runtime // implementation changes and behavior does not, then leave spec_version as // is and increment impl_version. - spec_version: 10050, - impl_version: 10050, + spec_version: 10051, + impl_version: 10051, apis: RUNTIME_API_VERSIONS, transaction_version: 2, }; @@ -1156,59 +1154,6 @@ impl treasury_reward::Config for Runtime { type Event = Event; } -parameter_types! { - pub const TokensPalletId: PalletId = PalletId(*b"py/token"); - pub const NativeCurrencyId: CurrencyId = 0; - pub const CurrencyDeposit: Balance = 100 * DOLLARS; -} - -impl webb_tokens::Config for Runtime { - type Amount = Amount; - type ApprovalDeposit = ApprovalDeposit; - type Balance = Balance; - type CurrencyDeposit = CurrencyDeposit; - type CurrencyId = CurrencyId; - type DustAccount = (); - type Event = Event; - type Extra = (); - type ForceOrigin = frame_system::EnsureRoot; - type MetadataDepositBase = MetadataDepositBase; - type MetadataDepositPerByte = MetadataDepositPerByte; - type NativeCurrency = BasicCurrencyAdapter; - type PalletId = TokensPalletId; - type StringLimit = StringLimit; - type WeightInfo = (); -} - -impl webb_currencies::Config for Runtime { - type Event = Event; - type GetNativeCurrencyId = NativeCurrencyId; - type MultiCurrency = Tokens; - type NativeCurrency = BasicCurrencyAdapter; - type WeightInfo = (); -} - -parameter_types! { - pub const NftPalletId: PalletId = PalletId(*b"edge/NFT"); - pub CreateClassDeposit: Balance = 500 * MILLICENTS; - pub CreateTokenDeposit: Balance = 100 * MILLICENTS; -} - -impl nft::Config for Runtime { - type CreateClassDeposit = CreateClassDeposit; - type CreateTokenDeposit = CreateTokenDeposit; - type Event = Event; - type PalletId = NftPalletId; - type WeightInfo = (); -} - -impl orml_nft::Config for Runtime { - type ClassData = nft::ClassData; - type ClassId = u32; - type TokenData = nft::TokenData; - type TokenId = u64; -} - construct_runtime!( pub enum Runtime where Block = Block, @@ -1253,10 +1198,10 @@ construct_runtime!( Tips: pallet_tips::{Pallet, Call, Storage, Event} = 38, ElectionProviderMultiPhase: pallet_election_provider_multi_phase::{Pallet, Call, Storage, Event, ValidateUnsigned} = 39, DynamicFee: pallet_dynamic_fee::{Pallet, Call, Storage, Event, Inherent} = 40, - Tokens: webb_tokens::{Pallet, Call, Storage, Event} = 41, - Currencies: webb_currencies::{Pallet, Call, Storage, Event} = 42, - NonFungibleTokenModule: orml_nft::{Pallet, Storage, Config} = 43, - NFT: nft::{Pallet, Call, Event} = 44, + // REMOVED: Tokens: webb_tokens::{Pallet, Call, Storage, Event} = 41, + // REMOVED: Currencies: webb_currencies::{Pallet, Call, Storage, Event} = 42, + // REMOVED: NonFungibleTokenModule: orml_nft::{Pallet, Storage, Config} = 43, + // REMOVED: NFT: nft::{Pallet, Call, Event} = 44, } ); diff --git a/pallets/nft/Cargo.toml b/pallets/nft/Cargo.toml deleted file mode 100644 index d64fc3b4..00000000 --- a/pallets/nft/Cargo.toml +++ /dev/null @@ -1,53 +0,0 @@ -[package] -name = "module-nft" -version = "1.0.0" -authors = ["Acala Developers"] -edition = "2018" - -[dependencies] -serde = { version = "1.0.124", optional = true } -codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false } -enumflags2 = { version = "0.6.3" } - -frame-benchmarking = { version = "3.0", default-features = false, optional = true} -frame-support = { version = "3.0", default-features = false } -frame-system = { version = "3.0", default-features = false } -pallet-proxy = { version = "3.0", default-features = false } -primitives = { package = "edgeware-primitives", path = "../../node/primitives", default-features = false } -sp-runtime = { version = "3.0", default-features = false } -sp-std = { version = "3.0", default-features = false } - -orml-nft = { path = "../orml-nft", default-features = false } -orml-traits = { package = "webb-traits", git = "https://github.com/webb-tools/anon", default-features = false } - -[dev-dependencies] -sp-core = { version = "3.0", default-features = false } -sp-io = { version = "3.0", default-features = false } -pallet-balances = { version = "3.0", default-features = false } -pallet-utility = { version = "3.0", default-features = false } - -orml-tokens = { package = "webb-tokens", git = "https://github.com/webb-tools/anon" } -currencies = { package = "webb-currencies", git = "https://github.com/webb-tools/anon" } - -[features] -default = ["std"] -std = [ - "serde", - "codec/std", - "enumflags2/serde", - "sp-std/std", - "sp-runtime/std", - "frame-support/std", - "frame-system/std", - "pallet-proxy/std", - "primitives/std", - "orml-traits/std", - "orml-nft/std", - "enumflags2/serde", -] -runtime-benchmarks = [ - "frame-benchmarking", - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", -] -try-runtime = ["frame-support/try-runtime"] diff --git a/pallets/nft/src/benchmarking.rs b/pallets/nft/src/benchmarking.rs deleted file mode 100644 index 5ae1c8c9..00000000 --- a/pallets/nft/src/benchmarking.rs +++ /dev/null @@ -1,355 +0,0 @@ -// This file is part of Acala. - -// Copyright (C) 2020-2021 Acala Foundation. -// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -//! Benchmarks for the nft module. - -#![cfg(feature = "runtime-benchmarks")] - -use sp_std::prelude::*; -use sp_std::vec; - -use frame_benchmarking::{account, benchmarks}; -use frame_support::{traits::Get, weights::DispatchClass}; -use frame_system::RawOrigin; -use sp_runtime::traits::{AccountIdConversion, StaticLookup, UniqueSaturatedInto}; - -pub use crate::*; -use primitives::Balance; - -pub struct Module(crate::Pallet); - -const SEED: u32 = 0; - -fn dollar(d: u32) -> Balance { - let d: Balance = d.into(); - d.saturating_mul(1_000_000_000_000_000_000) -} - -benchmarks! { - // create NFT class - create_class { - let caller: T::AccountId = account("caller", 0, SEED); - let base_currency_amount = dollar(1000); - - T::Currency::make_free_balance_be(&caller, base_currency_amount.unique_saturated_into()); - }: _(RawOrigin::Signed(caller), vec![1], Properties(ClassProperty::Transferable | ClassProperty::Burnable)) - - // mint NFT token - mint { - let i in 1 .. 1000; - - let caller: T::AccountId = account("caller", 0, SEED); - let to: T::AccountId = account("to", 0, SEED); - let to_lookup = T::Lookup::unlookup(to); - - let base_currency_amount = dollar(1000); - T::Currency::make_free_balance_be(&caller, base_currency_amount.unique_saturated_into()); - - let module_account: T::AccountId = T::PalletId::get().into_sub_account(orml_nft::Pallet::::next_class_id()); - crate::Pallet::::create_class(RawOrigin::Signed(caller).into(), vec![1], Properties(ClassProperty::Transferable | ClassProperty::Burnable))?; - T::Currency::make_free_balance_be(&module_account, base_currency_amount.unique_saturated_into()); - }: _(RawOrigin::Signed(module_account), to_lookup, 0u32.into(), vec![1], i) - - // transfer NFT token to another account - transfer { - let caller: T::AccountId = account("caller", 0, SEED); - let caller_lookup = T::Lookup::unlookup(caller.clone()); - let to: T::AccountId = account("to", 0, SEED); - let to_lookup = T::Lookup::unlookup(to.clone()); - - let base_currency_amount = dollar(1000); - T::Currency::make_free_balance_be(&caller, base_currency_amount.unique_saturated_into()); - - let module_account: T::AccountId = T::PalletId::get().into_sub_account(orml_nft::Pallet::::next_class_id()); - crate::Pallet::::create_class(RawOrigin::Signed(caller).into(), vec![1], Properties(ClassProperty::Transferable | ClassProperty::Burnable))?; - T::Currency::make_free_balance_be(&module_account, base_currency_amount.unique_saturated_into()); - crate::Pallet::::mint(RawOrigin::Signed(module_account).into(), to_lookup, 0u32.into(), vec![1], 1)?; - }: _(RawOrigin::Signed(to), caller_lookup, (0u32.into(), 0u32.into())) - - // burn NFT token - burn { - let caller: T::AccountId = account("caller", 0, SEED); - let to: T::AccountId = account("to", 0, SEED); - let to_lookup = T::Lookup::unlookup(to.clone()); - - let base_currency_amount = dollar(1000); - T::Currency::make_free_balance_be(&caller, base_currency_amount.unique_saturated_into()); - - let module_account: T::AccountId = T::PalletId::get().into_sub_account(orml_nft::Pallet::::next_class_id()); - crate::Pallet::::create_class(RawOrigin::Signed(caller).into(), vec![1], Properties(ClassProperty::Transferable | ClassProperty::Burnable))?; - T::Currency::make_free_balance_be(&module_account, base_currency_amount.unique_saturated_into()); - crate::Pallet::::mint(RawOrigin::Signed(module_account).into(), to_lookup, 0u32.into(), vec![1], 1)?; - }: _(RawOrigin::Signed(to), (0u32.into(), 0u32.into())) - - // burn NFT token with remark - burn_with_remark { - let b in 0 .. *T::BlockLength::get().max.get(DispatchClass::Normal) as u32; - let remark_message = vec![1; b as usize]; - let caller: T::AccountId = account("caller", 0, SEED); - let to: T::AccountId = account("to", 0, SEED); - let to_lookup = T::Lookup::unlookup(to.clone()); - - let base_currency_amount = dollar(1000); - T::Currency::make_free_balance_be(&caller, base_currency_amount.unique_saturated_into()); - - let module_account: T::AccountId = T::PalletId::get().into_sub_account(orml_nft::Pallet::::next_class_id()); - crate::Pallet::::create_class(RawOrigin::Signed(caller).into(), vec![1], Properties(ClassProperty::Transferable | ClassProperty::Burnable))?; - T::Currency::make_free_balance_be(&module_account, base_currency_amount.unique_saturated_into()); - crate::Pallet::::mint(RawOrigin::Signed(module_account).into(), to_lookup, 0u32.into(), vec![1], 1)?; - }: _(RawOrigin::Signed(to), (0u32.into(), 0u32.into()), remark_message) - - // destroy NFT class - destroy_class { - let caller: T::AccountId = account("caller", 0, SEED); - let caller_lookup = T::Lookup::unlookup(caller.clone()); - - let base_currency_amount = dollar(1000); - - T::Currency::make_free_balance_be(&caller, base_currency_amount.unique_saturated_into()); - - let module_account: T::AccountId = T::PalletId::get().into_sub_account(orml_nft::Pallet::::next_class_id()); - crate::Pallet::::create_class(RawOrigin::Signed(caller).into(), vec![1], Properties(ClassProperty::Transferable | ClassProperty::Burnable))?; - }: _(RawOrigin::Signed(module_account), 0u32.into(), caller_lookup) -} - -#[cfg(test)] -mod mock { - use super::*; - use crate as nft; - - use codec::{Decode, Encode}; - use frame_support::{ - parameter_types, - traits::{Filter, InstanceFilter}, - weights::Weight, - PalletId, RuntimeDebug, - }; - use sp_core::{crypto::AccountId32, H256}; - use sp_runtime::{ - testing::Header, - traits::{BlakeTwo256, IdentityLookup}, - Perbill, - }; - - parameter_types! { - pub const BlockHashCount: u64 = 250; - pub const MaximumBlockWeight: Weight = 1024; - pub const MaximumBlockLength: u32 = 2 * 1024; - pub const AvailableBlockRatio: Perbill = Perbill::one(); - } - - pub type AccountId = AccountId32; - - impl frame_system::Config for Runtime { - type BaseCallFilter = BaseFilter; - type Origin = Origin; - type Index = u64; - type BlockNumber = u64; - type Hash = H256; - type Call = Call; - type Hashing = BlakeTwo256; - type AccountId = AccountId; - type Lookup = IdentityLookup; - type Header = Header; - type Event = (); - type BlockHashCount = BlockHashCount; - type BlockWeights = (); - type BlockLength = (); - type DbWeight = (); - type Version = (); - type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; - type OnNewAccount = (); - type OnKilledAccount = (); - type SystemWeightInfo = (); - type SS58Prefix = (); - type OnSetCode = (); - } - parameter_types! { - pub const ExistentialDeposit: u64 = 1; - } - impl pallet_balances::Config for Runtime { - type Balance = Balance; - type Event = (); - type DustRemoval = (); - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = frame_system::Pallet; - type MaxLocks = (); - type WeightInfo = (); - } - impl pallet_utility::Config for Runtime { - type Event = (); - type Call = Call; - type WeightInfo = (); - } - parameter_types! { - pub const ProxyDepositBase: u64 = 1; - pub const ProxyDepositFactor: u64 = 1; - pub const MaxProxies: u16 = 4; - pub const MaxPending: u32 = 2; - pub const AnnouncementDepositBase: u64 = 1; - pub const AnnouncementDepositFactor: u64 = 1; - } - #[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug)] - pub enum ProxyType { - Any, - JustTransfer, - JustUtility, - } - impl Default for ProxyType { - fn default() -> Self { - Self::Any - } - } - impl InstanceFilter for ProxyType { - fn filter(&self, c: &Call) -> bool { - match self { - ProxyType::Any => true, - ProxyType::JustTransfer => matches!(c, Call::Balances(pallet_balances::Call::transfer(..))), - ProxyType::JustUtility => matches!(c, Call::Utility(..)), - } - } - fn is_superset(&self, o: &Self) -> bool { - self == &ProxyType::Any || self == o - } - } - pub struct BaseFilter; - impl Filter for BaseFilter { - fn filter(c: &Call) -> bool { - match *c { - // Remark is used as a no-op call in the benchmarking - Call::System(SystemCall::remark(_)) => true, - Call::System(_) => false, - _ => true, - } - } - } - impl pallet_proxy::Config for Runtime { - type Event = (); - type Call = Call; - type Currency = Balances; - type ProxyType = ProxyType; - type ProxyDepositBase = ProxyDepositBase; - type ProxyDepositFactor = ProxyDepositFactor; - type MaxProxies = MaxProxies; - type WeightInfo = (); - type CallHasher = BlakeTwo256; - type MaxPending = MaxPending; - type AnnouncementDepositBase = AnnouncementDepositBase; - type AnnouncementDepositFactor = AnnouncementDepositFactor; - } - - parameter_types! { - pub const CreateClassDeposit: Balance = 200; - pub const CreateTokenDeposit: Balance = 100; - pub const NftPalletId: PalletId = PalletId(*b"aca/aNFT"); - } - impl crate::Config for Runtime { - type Event = (); - type CreateClassDeposit = CreateClassDeposit; - type CreateTokenDeposit = CreateTokenDeposit; - type PalletId = NftPalletId; - type WeightInfo = (); - } - - impl orml_nft::Config for Runtime { - type ClassId = u32; - type TokenId = u64; - type ClassData = ClassData; - type TokenData = TokenData; - } - - type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; - type Block = frame_system::mocking::MockBlock; - - frame_support::construct_runtime!( - pub enum Runtime where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, - { - System: frame_system::{Pallet, Call, Config, Storage, Event}, - Utility: pallet_utility::{Pallet, Call, Event}, - Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, - Proxy: pallet_proxy::{Pallet, Call, Storage, Event}, - OrmlNFT: orml_nft::{Pallet, Storage, Config}, - NFT: nft::{Pallet, Call, Event}, - } - ); - - use frame_system::Call as SystemCall; - - pub fn new_test_ext() -> sp_io::TestExternalities { - let t = frame_system::GenesisConfig::default() - .build_storage::() - .unwrap(); - - let mut ext = sp_io::TestExternalities::new(t); - ext.execute_with(|| System::set_block_number(1)); - ext - } -} - -#[cfg(test)] -mod tests { - use super::*; - use frame_support::assert_ok; - use mock::{new_test_ext, Runtime}; - - #[test] - fn test_create_class() { - new_test_ext().execute_with(|| { - assert_ok!(test_benchmark_create_class::()); - }); - } - - #[test] - fn test_mint() { - new_test_ext().execute_with(|| { - assert_ok!(test_benchmark_mint::()); - }); - } - - #[test] - fn test_transfer() { - new_test_ext().execute_with(|| { - assert_ok!(test_benchmark_transfer::()); - }); - } - - #[test] - fn test_burn() { - new_test_ext().execute_with(|| { - assert_ok!(test_benchmark_burn::()); - }); - } - - #[test] - fn test_burn_with_remark() { - new_test_ext().execute_with(|| { - assert_ok!(test_benchmark_burn_with_remark::()); - }); - } - - #[test] - fn test_destroy_class() { - new_test_ext().execute_with(|| { - assert_ok!(test_benchmark_destroy_class::()); - }); - } -} diff --git a/pallets/nft/src/lib.rs b/pallets/nft/src/lib.rs deleted file mode 100644 index b6b8d80c..00000000 --- a/pallets/nft/src/lib.rs +++ /dev/null @@ -1,390 +0,0 @@ -// This file is part of Acala. - -// Copyright (C) 2020-2021 Acala Foundation. -// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -#![cfg_attr(not(feature = "std"), no_std)] -#![allow(clippy::unnecessary_cast)] -#![allow(clippy::unused_unit)] -#![allow(clippy::upper_case_acronyms)] - -use enumflags2::BitFlags; -use frame_support::{ - pallet_prelude::*, - traits::{ - Currency, - ExistenceRequirement::{AllowDeath, KeepAlive}, - ReservableCurrency, - }, - transactional, PalletId, -}; -use frame_system::pallet_prelude::*; -use orml_traits::NFT; -use primitives::NFTBalance; -#[cfg(feature = "std")] -use serde::{Deserialize, Serialize}; -use sp_runtime::{ - traits::{AccountIdConversion, Hash, Saturating, StaticLookup, Zero}, - DispatchResult, RuntimeDebug, -}; -use sp_std::vec::Vec; - -pub mod benchmarking; -mod mock; -mod tests; -pub mod weights; - -pub use module::*; -pub use weights::WeightInfo; - -pub type CID = Vec; - -#[repr(u8)] -#[derive(Encode, Decode, Clone, Copy, BitFlags, RuntimeDebug, PartialEq, Eq)] -pub enum ClassProperty { - /// Token can be transferred - Transferable = 0b00000001, - /// Token can be burned - Burnable = 0b00000010, -} - -#[derive(Clone, Copy, PartialEq, Default, RuntimeDebug)] -#[cfg_attr(feature = "std", derive(Serialize, Deserialize))] -pub struct Properties(pub BitFlags); - -impl Eq for Properties {} -impl Encode for Properties { - fn using_encoded R>(&self, f: F) -> R { - self.0.bits().using_encoded(f) - } -} -impl Decode for Properties { - fn decode(input: &mut I) -> sp_std::result::Result { - let field = u8::decode(input)?; - Ok(Self( - >::from_bits(field as u8).map_err(|_| "invalid value")?, - )) - } -} - -#[derive(Encode, Decode, Clone, RuntimeDebug, PartialEq, Eq)] -#[cfg_attr(feature = "std", derive(Serialize, Deserialize))] -pub struct ClassData { - /// The minimum balance to create class - pub deposit: Balance, - /// Property of token - pub properties: Properties, -} - -#[derive(Encode, Decode, Clone, RuntimeDebug, PartialEq, Eq)] -#[cfg_attr(feature = "std", derive(Serialize, Deserialize))] -pub struct TokenData { - /// The minimum balance to create token - pub deposit: Balance, -} - -pub type TokenIdOf = ::TokenId; -pub type ClassIdOf = ::ClassId; -pub type BalanceOf = - <::Currency as Currency<::AccountId>>::Balance; - -#[frame_support::pallet] -pub mod module { - use super::*; - - #[pallet::config] - pub trait Config: - frame_system::Config - + orml_nft::Config>, TokenData = TokenData>> - + pallet_proxy::Config - { - type Event: From> + IsType<::Event>; - - /// The minimum balance to create class - #[pallet::constant] - type CreateClassDeposit: Get>; - - /// The minimum balance to create token - #[pallet::constant] - type CreateTokenDeposit: Get>; - - /// The NFT's module id - #[pallet::constant] - type PalletId: Get; - - /// Weight information for the extrinsics in this module. - type WeightInfo: WeightInfo; - } - - #[pallet::error] - pub enum Error { - /// ClassId not found - ClassIdNotFound, - /// TokenId not found - TokenIdNotFound, - /// The operator is not the owner of the token and has no permission - NoPermission, - /// Quantity is invalid. need >= 1 - InvalidQuantity, - /// Property of class don't support transfer - NonTransferable, - /// Property of class don't support burn - NonBurnable, - /// Can not destroy class - /// Total issuance is not 0 - CannotDestroyClass, - } - - #[pallet::event] - #[pallet::generate_deposit(pub(crate) fn deposit_event)] - pub enum Event { - /// Created NFT class. \[owner, class_id\] - CreatedClass(T::AccountId, ClassIdOf), - /// Minted NFT token. \[from, to, class_id, quantity\] - MintedToken(T::AccountId, T::AccountId, ClassIdOf, u32), - /// Transferred NFT token. \[from, to, class_id, token_id\] - TransferredToken(T::AccountId, T::AccountId, ClassIdOf, TokenIdOf), - /// Burned NFT token. \[owner, class_id, token_id\] - BurnedToken(T::AccountId, ClassIdOf, TokenIdOf), - /// Burned NFT token with remark. \[owner, class_id, token_id, remark_hash\] - BurnedTokenWithRemark(T::AccountId, ClassIdOf, TokenIdOf, T::Hash), - /// Destroyed NFT class. \[owner, class_id\] - DestroyedClass(T::AccountId, ClassIdOf), - } - - #[pallet::pallet] - pub struct Pallet(_); - - #[pallet::hooks] - impl Hooks for Pallet {} - - #[pallet::call] - impl Pallet { - /// Create NFT class, tokens belong to the class. - /// - /// - `metadata`: external metadata - /// - `properties`: class property, include `Transferable` `Burnable` - #[pallet::weight(::WeightInfo::create_class())] - #[transactional] - pub fn create_class(origin: OriginFor, metadata: CID, properties: Properties) -> DispatchResultWithPostInfo { - let who = ensure_signed(origin)?; - let next_id = orml_nft::Pallet::::next_class_id(); - let owner: T::AccountId = T::PalletId::get().into_sub_account(next_id); - let class_deposit = T::CreateClassDeposit::get(); - - let proxy_deposit = >::deposit(1u32); - let total_deposit = proxy_deposit.saturating_add(class_deposit); - - // ensure enough token for proxy deposit + class deposit - T::Currency::transfer(&who, &owner, total_deposit, KeepAlive)?; - - T::Currency::reserve(&owner, class_deposit)?; - - // owner add proxy delegate to origin - >::add_proxy_delegate(&owner, who, Default::default(), Zero::zero())?; - - let data = ClassData { - deposit: class_deposit, - properties, - }; - orml_nft::Pallet::::create_class(&owner, metadata, data)?; - - Self::deposit_event(Event::CreatedClass(owner, next_id)); - Ok(().into()) - } - - /// Mint NFT token - /// - /// - `to`: the token owner's account - /// - `class_id`: token belong to the class id - /// - `metadata`: external metadata - /// - `quantity`: token quantity - #[pallet::weight(::WeightInfo::mint(*quantity))] - #[transactional] - pub fn mint( - origin: OriginFor, - to: ::Source, - class_id: ClassIdOf, - metadata: CID, - quantity: u32, - ) -> DispatchResultWithPostInfo { - let who = ensure_signed(origin)?; - let to = T::Lookup::lookup(to)?; - ensure!(quantity >= 1, Error::::InvalidQuantity); - let class_info = orml_nft::Pallet::::classes(class_id).ok_or(Error::::ClassIdNotFound)?; - ensure!(who == class_info.owner, Error::::NoPermission); - let deposit = T::CreateTokenDeposit::get(); - let total_deposit = deposit.saturating_mul(quantity.into()); - - // `repatriate_reserved` will check `to` account exist and may return - // `DeadAccount`. - T::Currency::transfer(&who, &to, total_deposit, KeepAlive)?; - T::Currency::reserve(&to, total_deposit)?; - - let data = TokenData { deposit }; - for _ in 0..quantity { - orml_nft::Pallet::::mint(&to, class_id, metadata.clone(), data.clone())?; - } - - Self::deposit_event(Event::MintedToken(who, to, class_id, quantity)); - Ok(().into()) - } - - /// Transfer NFT token to another account - /// - /// - `to`: the token owner's account - /// - `token`: (class_id, token_id) - #[pallet::weight(::WeightInfo::transfer())] - #[transactional] - pub fn transfer( - origin: OriginFor, - to: ::Source, - token: (ClassIdOf, TokenIdOf), - ) -> DispatchResultWithPostInfo { - let who = ensure_signed(origin)?; - let to = T::Lookup::lookup(to)?; - Self::do_transfer(&who, &to, token)?; - Ok(().into()) - } - - /// Burn NFT token - /// - /// - `token`: (class_id, token_id) - #[pallet::weight(::WeightInfo::burn())] - #[transactional] - pub fn burn(origin: OriginFor, token: (ClassIdOf, TokenIdOf)) -> DispatchResultWithPostInfo { - let who = ensure_signed(origin)?; - Self::do_burn(&who, token)?; - Self::deposit_event(Event::BurnedToken(who, token.0, token.1)); - Ok(().into()) - } - - /// Burn NFT token - /// - /// - `token`: (class_id, token_id) - /// - `remark`: Vec - #[pallet::weight(::WeightInfo::burn_with_remark(remark.len() as u32))] - #[transactional] - pub fn burn_with_remark( - origin: OriginFor, - token: (ClassIdOf, TokenIdOf), - remark: Vec, - ) -> DispatchResultWithPostInfo { - let who = ensure_signed(origin)?; - Self::do_burn(&who, token)?; - let hash = T::Hashing::hash(&remark[..]); - Self::deposit_event(Event::BurnedTokenWithRemark(who, token.0, token.1, hash)); - Ok(().into()) - } - - /// Destroy NFT class, remove dest from proxy, and send all the free - /// balance to dest - /// - /// - `class_id`: The class ID to destroy - /// - `dest`: The proxy account that will receive free balance - #[pallet::weight(::WeightInfo::destroy_class())] - #[transactional] - pub fn destroy_class( - origin: OriginFor, - class_id: ClassIdOf, - dest: ::Source, - ) -> DispatchResultWithPostInfo { - let who = ensure_signed(origin)?; - let dest = T::Lookup::lookup(dest)?; - let class_info = orml_nft::Pallet::::classes(class_id).ok_or(Error::::ClassIdNotFound)?; - ensure!(who == class_info.owner, Error::::NoPermission); - ensure!( - class_info.total_issuance == Zero::zero(), - Error::::CannotDestroyClass - ); - - let data = class_info.data; - - T::Currency::unreserve(&who, data.deposit); - - orml_nft::Pallet::::destroy_class(&who, class_id)?; - - // this should unresere proxy deposit - pallet_proxy::Pallet::::remove_proxy_delegate(&who, dest.clone(), Default::default(), Zero::zero())?; - - T::Currency::transfer(&who, &dest, T::Currency::free_balance(&who), AllowDeath)?; - - Self::deposit_event(Event::DestroyedClass(who, class_id)); - Ok(().into()) - } - } -} - -impl Pallet { - /// Ensured atomic. - #[transactional] - fn do_transfer(from: &T::AccountId, to: &T::AccountId, token: (ClassIdOf, TokenIdOf)) -> DispatchResult { - let class_info = orml_nft::Pallet::::classes(token.0).ok_or(Error::::ClassIdNotFound)?; - let data = class_info.data; - ensure!( - data.properties.0.contains(ClassProperty::Transferable), - Error::::NonTransferable - ); - - let token_info = orml_nft::Pallet::::tokens(token.0, token.1).ok_or(Error::::TokenIdNotFound)?; - - orml_nft::Pallet::::transfer(from, to, token)?; - - T::Currency::unreserve(&from, token_info.data.deposit); - T::Currency::transfer(&from, &to, token_info.data.deposit, AllowDeath)?; - T::Currency::reserve(&to, token_info.data.deposit)?; - - Self::deposit_event(Event::TransferredToken(from.clone(), to.clone(), token.0, token.1)); - Ok(()) - } - - /// Ensured atomic. - #[transactional] - fn do_burn(who: &T::AccountId, token: (ClassIdOf, TokenIdOf)) -> DispatchResult { - let class_info = orml_nft::Pallet::::classes(token.0).ok_or(Error::::ClassIdNotFound)?; - let data = class_info.data; - ensure!( - data.properties.0.contains(ClassProperty::Burnable), - Error::::NonBurnable - ); - - let token_info = orml_nft::Pallet::::tokens(token.0, token.1).ok_or(Error::::TokenIdNotFound)?; - ensure!(*who == token_info.owner, Error::::NoPermission); - - orml_nft::Pallet::::burn(&who, token)?; - - T::Currency::unreserve(&who, token_info.data.deposit); - Ok(()) - } -} - -impl NFT for Pallet { - type ClassId = ClassIdOf; - type TokenId = TokenIdOf; - type Balance = NFTBalance; - - fn balance(who: &T::AccountId) -> Self::Balance { - orml_nft::TokensByOwner::::iter_prefix(who).count() as u128 - } - - fn owner(token: (Self::ClassId, Self::TokenId)) -> Option { - orml_nft::Pallet::::tokens(token.0, token.1).map(|t| t.owner) - } - - fn transfer(from: &T::AccountId, to: &T::AccountId, token: (Self::ClassId, Self::TokenId)) -> DispatchResult { - Self::do_transfer(from, to, token) - } -} diff --git a/pallets/nft/src/mock.rs b/pallets/nft/src/mock.rs deleted file mode 100644 index dac22c77..00000000 --- a/pallets/nft/src/mock.rs +++ /dev/null @@ -1,269 +0,0 @@ -// This file is part of Acala. - -// Copyright (C) 2020-2021 Acala Foundation. -// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -#![cfg(test)] - -use super::*; - -use crate as nft; -use codec::{Decode, Encode}; -use frame_support::{ - construct_runtime, parameter_types, - traits::{Filter, InstanceFilter}, - RuntimeDebug, -}; -use orml_traits::parameter_type_with_key; -use primitives::{Amount, Balance, BlockNumber, CurrencyId}; -use sp_core::{crypto::AccountId32, H256}; -use sp_runtime::{ - testing::Header, - traits::{BlakeTwo256, IdentityLookup}, -}; -use currencies::BasicCurrencyAdapter; - -parameter_types! { - pub const BlockHashCount: u64 = 250; -} - -pub type AccountId = AccountId32; - -impl frame_system::Config for Runtime { - type BaseCallFilter = BaseFilter; - type Origin = Origin; - type Index = u64; - type BlockNumber = u64; - type Hash = H256; - type Call = Call; - type Hashing = BlakeTwo256; - type AccountId = AccountId; - type Lookup = IdentityLookup; - type Header = Header; - type Event = Event; - type BlockHashCount = BlockHashCount; - type DbWeight = (); - type BlockWeights = (); - type BlockLength = (); - type Version = (); - type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; - type OnNewAccount = (); - type OnKilledAccount = (); - type SystemWeightInfo = (); - type SS58Prefix = (); - type OnSetCode = (); -} -parameter_types! { - pub const ExistentialDeposit: u64 = 1; -} -impl pallet_balances::Config for Runtime { - type Balance = Balance; - type Event = Event; - type DustRemoval = (); - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = frame_system::Pallet; - type MaxLocks = (); - type WeightInfo = (); -} -impl pallet_utility::Config for Runtime { - type Event = Event; - type Call = Call; - type WeightInfo = (); -} -parameter_types! { - pub const ProxyDepositBase: u64 = 1; - pub const ProxyDepositFactor: u64 = 1; - pub const MaxProxies: u16 = 4; - pub const MaxPending: u32 = 2; - pub const AnnouncementDepositBase: u64 = 1; - pub const AnnouncementDepositFactor: u64 = 1; -} -#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug)] -pub enum ProxyType { - Any, - JustTransfer, - JustUtility, -} -impl Default for ProxyType { - fn default() -> Self { - Self::Any - } -} -impl InstanceFilter for ProxyType { - fn filter(&self, c: &Call) -> bool { - match self { - ProxyType::Any => true, - ProxyType::JustTransfer => matches!(c, Call::Balances(pallet_balances::Call::transfer(..))), - ProxyType::JustUtility => matches!(c, Call::Utility(..)), - } - } - fn is_superset(&self, o: &Self) -> bool { - self == &ProxyType::Any || self == o - } -} -pub struct BaseFilter; -impl Filter for BaseFilter { - fn filter(c: &Call) -> bool { - match *c { - // Remark is used as a no-op call in the benchmarking - Call::System(SystemCall::remark(_)) => true, - Call::System(_) => false, - _ => true, - } - } -} -impl pallet_proxy::Config for Runtime { - type Event = Event; - type Call = Call; - type Currency = Balances; - type ProxyType = ProxyType; - type ProxyDepositBase = ProxyDepositBase; - type ProxyDepositFactor = ProxyDepositFactor; - type MaxProxies = MaxProxies; - type WeightInfo = (); - type CallHasher = BlakeTwo256; - type MaxPending = MaxPending; - type AnnouncementDepositBase = AnnouncementDepositBase; - type AnnouncementDepositFactor = AnnouncementDepositFactor; -} - -parameter_type_with_key! { - pub ExistentialDeposits: |_currency_id: CurrencyId| -> Balance { - Default::default() - }; -} - -parameter_types! { - pub const TokensPalletId: PalletId = PalletId(*b"py/token"); - pub const NativeCurrencyId: CurrencyId = 0; - pub const CurrencyDeposit: Balance = 1; - pub const ApprovalDeposit: Balance = 1; - pub const StringLimit: u32 = 50; - pub const MetadataDepositBase: Balance = 1; - pub const MetadataDepositPerByte: Balance = 1; -} - -impl orml_tokens::Config for Runtime { - type Amount = Amount; - type ApprovalDeposit = ApprovalDeposit; - type Balance = Balance; - type CurrencyDeposit = CurrencyDeposit; - type CurrencyId = CurrencyId; - type DustAccount = (); - type Event = Event; - type Extra = (); - type ForceOrigin = frame_system::EnsureRoot; - type MetadataDepositBase = MetadataDepositBase; - type MetadataDepositPerByte = MetadataDepositPerByte; - type NativeCurrency = BasicCurrencyAdapter; - type PalletId = TokensPalletId; - type StringLimit = StringLimit; - type WeightInfo = (); -} - -parameter_types! { - pub const GetNativeCurrencyId: CurrencyId = 0; -} - -impl currencies::Config for Runtime { - type Event = Event; - type GetNativeCurrencyId = NativeCurrencyId; - type MultiCurrency = Tokens; - type NativeCurrency = BasicCurrencyAdapter; - type WeightInfo = (); -} - -parameter_types! { - pub const CreateClassDeposit: Balance = 200; - pub const CreateTokenDeposit: Balance = 100; - pub const NftPalletId: PalletId = PalletId(*b"aca/aNFT"); -} -impl Config for Runtime { - type Event = Event; - type CreateClassDeposit = CreateClassDeposit; - type CreateTokenDeposit = CreateTokenDeposit; - type PalletId = NftPalletId; - type WeightInfo = (); -} - -impl orml_nft::Config for Runtime { - type ClassId = u32; - type TokenId = u64; - type ClassData = ClassData; - type TokenData = TokenData; -} - -use frame_system::Call as SystemCall; - -type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; -type Block = frame_system::mocking::MockBlock; - -construct_runtime!( - pub enum Runtime where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic - { - System: frame_system::{Pallet, Call, Config, Storage, Event}, - NFTModule: nft::{Pallet, Call, Event}, - OrmlNFT: orml_nft::{Pallet, Storage, Config}, - Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, - Proxy: pallet_proxy::{Pallet, Call, Storage, Event}, - Utility: pallet_utility::{Pallet, Call, Event}, - Tokens: orml_tokens::{Pallet, Storage, Event, Config}, - Currency: currencies::{Pallet, Call, Event}, - } -); - -pub const ALICE: AccountId = AccountId::new([1u8; 32]); -pub const BOB: AccountId = AccountId::new([2u8; 32]); -pub const CLASS_ID: ::ClassId = 0; -pub const CLASS_ID_NOT_EXIST: ::ClassId = 1; -pub const TOKEN_ID: ::TokenId = 0; -pub const TOKEN_ID_NOT_EXIST: ::TokenId = 1; - -pub struct ExtBuilder; -impl Default for ExtBuilder { - fn default() -> Self { - ExtBuilder - } -} - -impl ExtBuilder { - pub fn build(self) -> sp_io::TestExternalities { - let mut t = frame_system::GenesisConfig::default() - .build_storage::() - .unwrap(); - - pallet_balances::GenesisConfig:: { - balances: vec![(ALICE, 100000)], - } - .assimilate_storage(&mut t) - .unwrap(); - - let mut ext = sp_io::TestExternalities::new(t); - ext.execute_with(|| System::set_block_number(1)); - ext - } -} - -pub fn last_event() -> Event { - frame_system::Pallet::::events() - .pop() - .expect("Event expected") - .event -} diff --git a/pallets/nft/src/tests.rs b/pallets/nft/src/tests.rs deleted file mode 100644 index ccfd3aef..00000000 --- a/pallets/nft/src/tests.rs +++ /dev/null @@ -1,504 +0,0 @@ -// This file is part of Acala. - -// Copyright (C) 2020-2021 Acala Foundation. -// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -//! Unit tests for the non-fungible-token module. - -#![cfg(test)] - -use super::*; -use frame_support::traits::Currency; -use frame_support::{assert_noop, assert_ok}; -use mock::{Event, *}; -use orml_nft::TokenInfo; -use primitives::Balance; -use sp_runtime::traits::BlakeTwo256; - -fn free_balance(who: &AccountId) -> Balance { - ::Currency::free_balance(who) -} - -fn reserved_balance(who: &AccountId) -> Balance { - ::Currency::reserved_balance(who) -} - -fn class_id_account() -> AccountId { - ::PalletId::get().into_sub_account(CLASS_ID) -} - -#[test] -fn create_class_should_work() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Default::default() - )); - let event = Event::nft(crate::Event::CreatedClass(class_id_account(), CLASS_ID)); - assert_eq!(last_event(), event); - - assert_eq!( - reserved_balance(&class_id_account()), - ::CreateClassDeposit::get() + Proxy::deposit(1u32) - ); - }); -} - -#[test] -fn create_class_should_fail() { - ExtBuilder::default().build().execute_with(|| { - assert_noop!( - NFTModule::create_class( - Origin::signed(BOB), - vec![1], - Properties(ClassProperty::Transferable | ClassProperty::Burnable) - ), - pallet_balances::Error::::InsufficientBalance - ); - }); -} - -#[test] -fn mint_should_work() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Properties(ClassProperty::Transferable | ClassProperty::Burnable) - )); - let event = Event::nft(crate::Event::CreatedClass(class_id_account(), CLASS_ID)); - assert_eq!(last_event(), event); - - assert_eq!( - Balances::deposit_into_existing(&class_id_account(), 2 * ::CreateTokenDeposit::get()) - .is_ok(), - true - ); - assert_ok!(NFTModule::mint( - Origin::signed(class_id_account()), - BOB, - CLASS_ID, - vec![2], - 2 - )); - let event = Event::nft(crate::Event::MintedToken(class_id_account(), BOB, CLASS_ID, 2)); - assert_eq!(last_event(), event); - - assert_eq!( - reserved_balance(&class_id_account()), - ::CreateClassDeposit::get() + Proxy::deposit(1u32) - ); - - assert_eq!( - reserved_balance(&BOB), - 2 * ::CreateTokenDeposit::get() - ); - - assert_eq!( - orml_nft::Pallet::::tokens(0, 0).unwrap(), - TokenInfo { - metadata: vec![2], - owner: BOB, - data: TokenData { - deposit: ::CreateTokenDeposit::get() - } - } - ); - - assert_eq!( - orml_nft::Pallet::::tokens(0, 1).unwrap(), - TokenInfo { - metadata: vec![2], - owner: BOB, - data: TokenData { - deposit: ::CreateTokenDeposit::get() - } - } - ); - }); -} - -#[test] -fn mint_should_fail() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Properties(ClassProperty::Transferable | ClassProperty::Burnable) - )); - assert_noop!( - NFTModule::mint(Origin::signed(ALICE), BOB, CLASS_ID_NOT_EXIST, vec![1], 2), - Error::::ClassIdNotFound - ); - - assert_noop!( - NFTModule::mint(Origin::signed(BOB), BOB, CLASS_ID, vec![1], 0), - Error::::InvalidQuantity - ); - - assert_noop!( - NFTModule::mint(Origin::signed(BOB), BOB, CLASS_ID, vec![1], 2), - Error::::NoPermission - ); - - orml_nft::NextTokenId::::mutate(CLASS_ID, |id| { - *id = ::TokenId::max_value() - }); - assert_eq!( - Balances::deposit_into_existing(&class_id_account(), 2 * ::CreateTokenDeposit::get()) - .is_ok(), - true - ); - assert_noop!( - NFTModule::mint(Origin::signed(class_id_account()), BOB, CLASS_ID, vec![1], 2), - orml_nft::Error::::NoAvailableTokenId - ); - }); -} - -#[test] -fn transfer_should_work() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Properties(ClassProperty::Transferable | ClassProperty::Burnable) - )); - assert_eq!( - Balances::deposit_into_existing(&class_id_account(), 2 * ::CreateTokenDeposit::get()) - .is_ok(), - true - ); - assert_ok!(NFTModule::mint( - Origin::signed(class_id_account()), - BOB, - CLASS_ID, - vec![1], - 2 - )); - - assert_eq!( - reserved_balance(&BOB), - 2 * ::CreateTokenDeposit::get() - ); - - assert_ok!(NFTModule::transfer(Origin::signed(BOB), ALICE, (CLASS_ID, TOKEN_ID))); - let event = Event::nft(crate::Event::TransferredToken(BOB, ALICE, CLASS_ID, TOKEN_ID)); - assert_eq!(last_event(), event); - - assert_eq!( - reserved_balance(&BOB), - 1 * ::CreateTokenDeposit::get() - ); - assert_eq!( - reserved_balance(&ALICE), - 1 * ::CreateTokenDeposit::get() - ); - - assert_ok!(NFTModule::transfer(Origin::signed(ALICE), BOB, (CLASS_ID, TOKEN_ID))); - let event = Event::nft(crate::Event::TransferredToken(ALICE, BOB, CLASS_ID, TOKEN_ID)); - assert_eq!(last_event(), event); - - assert_eq!( - reserved_balance(&BOB), - 2 * ::CreateTokenDeposit::get() - ); - assert_eq!(reserved_balance(&ALICE), 0); - }); -} - -#[test] -fn transfer_should_fail() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Properties(ClassProperty::Transferable | ClassProperty::Burnable) - )); - assert_eq!( - Balances::deposit_into_existing(&class_id_account(), 1 * ::CreateTokenDeposit::get()) - .is_ok(), - true - ); - assert_ok!(NFTModule::mint( - Origin::signed(class_id_account()), - BOB, - CLASS_ID, - vec![1], - 1 - )); - assert_noop!( - NFTModule::transfer(Origin::signed(BOB), ALICE, (CLASS_ID_NOT_EXIST, TOKEN_ID)), - Error::::ClassIdNotFound - ); - assert_noop!( - NFTModule::transfer(Origin::signed(BOB), ALICE, (CLASS_ID, TOKEN_ID_NOT_EXIST)), - Error::::TokenIdNotFound - ); - assert_noop!( - NFTModule::transfer(Origin::signed(ALICE), BOB, (CLASS_ID, TOKEN_ID)), - orml_nft::Error::::NoPermission - ); - }); - - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Default::default() - )); - assert_eq!( - Balances::deposit_into_existing(&class_id_account(), 1 * ::CreateTokenDeposit::get()) - .is_ok(), - true - ); - assert_ok!(NFTModule::mint( - Origin::signed(class_id_account()), - BOB, - CLASS_ID, - vec![1], - 1 - )); - assert_noop!( - NFTModule::transfer(Origin::signed(BOB), ALICE, (CLASS_ID, TOKEN_ID)), - Error::::NonTransferable - ); - }); -} - -#[test] -fn burn_should_work() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Properties(ClassProperty::Transferable | ClassProperty::Burnable) - )); - assert_eq!( - Balances::deposit_into_existing(&class_id_account(), 1 * ::CreateTokenDeposit::get()) - .is_ok(), - true - ); - assert_ok!(NFTModule::mint( - Origin::signed(class_id_account()), - BOB, - CLASS_ID, - vec![1], - 1 - )); - assert_ok!(NFTModule::burn(Origin::signed(BOB), (CLASS_ID, TOKEN_ID))); - let event = Event::nft(crate::Event::BurnedToken(BOB, CLASS_ID, TOKEN_ID)); - assert_eq!(last_event(), event); - - assert_eq!( - reserved_balance(&class_id_account()), - ::CreateClassDeposit::get() + Proxy::deposit(1u32) - ); - }); -} - -#[test] -fn burn_should_fail() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Properties(ClassProperty::Transferable | ClassProperty::Burnable) - )); - assert_eq!( - Balances::deposit_into_existing(&class_id_account(), 1 * ::CreateTokenDeposit::get()) - .is_ok(), - true - ); - assert_ok!(NFTModule::mint( - Origin::signed(class_id_account()), - BOB, - CLASS_ID, - vec![1], - 1 - )); - assert_noop!( - NFTModule::burn(Origin::signed(BOB), (CLASS_ID, TOKEN_ID_NOT_EXIST)), - Error::::TokenIdNotFound - ); - - assert_noop!( - NFTModule::burn(Origin::signed(ALICE), (CLASS_ID, TOKEN_ID)), - Error::::NoPermission - ); - - orml_nft::Classes::::mutate(CLASS_ID, |class_info| { - class_info.as_mut().unwrap().total_issuance = 0; - }); - assert_noop!( - NFTModule::burn(Origin::signed(BOB), (CLASS_ID, TOKEN_ID)), - orml_nft::Error::::NumOverflow - ); - }); - - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Default::default() - )); - assert_eq!( - Balances::deposit_into_existing(&class_id_account(), 1 * ::CreateTokenDeposit::get()) - .is_ok(), - true - ); - assert_ok!(NFTModule::mint( - Origin::signed(class_id_account()), - BOB, - CLASS_ID, - vec![1], - 1 - )); - assert_noop!( - NFTModule::burn(Origin::signed(BOB), (CLASS_ID, TOKEN_ID)), - Error::::NonBurnable - ); - }); -} - -#[test] -fn burn_with_remark_should_work() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Properties(ClassProperty::Transferable | ClassProperty::Burnable) - )); - assert_eq!( - Balances::deposit_into_existing(&class_id_account(), 1 * ::CreateTokenDeposit::get()) - .is_ok(), - true - ); - assert_ok!(NFTModule::mint( - Origin::signed(class_id_account()), - BOB, - CLASS_ID, - vec![1], - 1 - )); - - let remark = "remark info".as_bytes().to_vec(); - let remark_hash = BlakeTwo256::hash(&remark[..]); - assert_ok!(NFTModule::burn_with_remark( - Origin::signed(BOB), - (CLASS_ID, TOKEN_ID), - remark - )); - let event = Event::nft(crate::Event::BurnedTokenWithRemark( - BOB, - CLASS_ID, - TOKEN_ID, - remark_hash, - )); - assert_eq!(last_event(), event); - - assert_eq!( - reserved_balance(&class_id_account()), - ::CreateClassDeposit::get() + Proxy::deposit(1u32) - ); - }); -} - -#[test] -fn destroy_class_should_work() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Properties(ClassProperty::Transferable | ClassProperty::Burnable) - )); - assert_ok!(Balances::deposit_into_existing( - &class_id_account(), - 1 * ::CreateTokenDeposit::get() - )); // + 100 - assert_ok!(NFTModule::mint( - Origin::signed(class_id_account()), - BOB, - CLASS_ID, - vec![1], - 1 - )); - assert_ok!(NFTModule::burn(Origin::signed(BOB), (CLASS_ID, TOKEN_ID))); - assert_ok!(NFTModule::destroy_class( - Origin::signed(class_id_account()), - CLASS_ID, - ALICE - )); - let event = Event::nft(crate::Event::DestroyedClass(class_id_account(), CLASS_ID)); - assert_eq!(last_event(), event); - - assert_eq!(free_balance(&class_id_account()), 0); - assert_eq!(reserved_balance(&class_id_account()), 0); - assert_eq!(free_balance(&ALICE), 100000); - assert_eq!(free_balance(&BOB), ::CreateTokenDeposit::get()); - }); -} - -#[test] -fn destroy_class_should_fail() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NFTModule::create_class( - Origin::signed(ALICE), - vec![1], - Properties(ClassProperty::Transferable | ClassProperty::Burnable) - )); - assert_eq!( - Balances::deposit_into_existing(&class_id_account(), 1 * ::CreateTokenDeposit::get()) - .is_ok(), - true - ); - assert_ok!(NFTModule::mint( - Origin::signed(class_id_account()), - BOB, - CLASS_ID, - vec![1], - 1 - )); - assert_noop!( - NFTModule::destroy_class(Origin::signed(class_id_account()), CLASS_ID_NOT_EXIST, BOB), - Error::::ClassIdNotFound - ); - - assert_noop!( - NFTModule::destroy_class(Origin::signed(BOB), CLASS_ID, BOB), - Error::::NoPermission - ); - - assert_noop!( - NFTModule::destroy_class(Origin::signed(class_id_account()), CLASS_ID, BOB), - Error::::CannotDestroyClass - ); - - assert_ok!(NFTModule::burn(Origin::signed(BOB), (CLASS_ID, TOKEN_ID))); - - assert_noop!( - NFTModule::destroy_class(Origin::signed(class_id_account()), CLASS_ID, BOB), - pallet_proxy::Error::::NotFound - ); - - assert_ok!(NFTModule::destroy_class( - Origin::signed(class_id_account()), - CLASS_ID, - ALICE - )); - }); -} diff --git a/pallets/nft/src/weights.rs b/pallets/nft/src/weights.rs deleted file mode 100644 index eac4b9ac..00000000 --- a/pallets/nft/src/weights.rs +++ /dev/null @@ -1,133 +0,0 @@ -// This file is part of Acala. - -// Copyright (C) 2020-2021 Acala Foundation. -// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - - -//! Autogenerated weights for module_nft -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-02-24, STEPS: [50, ], REPEAT: 20, LOW RANGE: [], HIGH RANGE: [] -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128 - -// Executed Command: -// target/release/acala -// benchmark -// --chain=dev -// --steps=50 -// --repeat=20 -// --pallet=module_nft -// --extrinsic=* -// --execution=wasm -// --wasm-execution=compiled -// --heap-pages=4096 -// --output=./modules/nft/src/weights.rs -// --template=../../module-weight-template.hbs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(clippy::unnecessary_cast)] - -use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; -use sp_std::marker::PhantomData; - -/// Weight functions needed for module_nft. -pub trait WeightInfo { - fn create_class() -> Weight; - fn mint(i: u32, ) -> Weight; - fn transfer() -> Weight; - fn burn() -> Weight; - fn burn_with_remark(b: u32, ) -> Weight; - fn destroy_class() -> Weight; -} - -/// Weights for module_nft using the Acala node and recommended hardware. -pub struct AcalaWeight(PhantomData); -impl WeightInfo for AcalaWeight { - fn create_class() -> Weight { - (200_357_000 as Weight) - .saturating_add(T::DbWeight::get().reads(3 as Weight)) - .saturating_add(T::DbWeight::get().writes(4 as Weight)) - } - fn mint(i: u32, ) -> Weight { - (0 as Weight) - // Standard Error: 5_000 - .saturating_add((17_893_000 as Weight).saturating_mul(i as Weight)) - .saturating_add(T::DbWeight::get().reads(3 as Weight)) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) - .saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(i as Weight))) - } - fn transfer() -> Weight { - (54_749_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) - } - fn burn() -> Weight { - (154_177_000 as Weight) - .saturating_add(T::DbWeight::get().reads(4 as Weight)) - .saturating_add(T::DbWeight::get().writes(5 as Weight)) - } - fn burn_with_remark(b: u32, ) -> Weight { - (154_177_000 as Weight) - .saturating_add(T::DbWeight::get().reads(4 as Weight)) - .saturating_add(T::DbWeight::get().writes(5 as Weight)) - .saturating_add((1_000 as Weight).saturating_mul(b as Weight)) - } - fn destroy_class() -> Weight { - (137_255_000 as Weight) - .saturating_add(T::DbWeight::get().reads(3 as Weight)) - .saturating_add(T::DbWeight::get().writes(4 as Weight)) - } -} - -// For backwards compatibility and tests -impl WeightInfo for () { - fn create_class() -> Weight { - (200_357_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(3 as Weight)) - .saturating_add(RocksDbWeight::get().writes(4 as Weight)) - } - fn mint(i: u32, ) -> Weight { - (0 as Weight) - // Standard Error: 5_000 - .saturating_add((17_893_000 as Weight).saturating_mul(i as Weight)) - .saturating_add(RocksDbWeight::get().reads(3 as Weight)) - .saturating_add(RocksDbWeight::get().writes(3 as Weight)) - .saturating_add(RocksDbWeight::get().writes((2 as Weight).saturating_mul(i as Weight))) - } - fn transfer() -> Weight { - (54_749_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(2 as Weight)) - .saturating_add(RocksDbWeight::get().writes(3 as Weight)) - } - fn burn() -> Weight { - (154_177_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(4 as Weight)) - .saturating_add(RocksDbWeight::get().writes(5 as Weight)) - } - fn burn_with_remark(b: u32, ) -> Weight { - (154_177_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(4 as Weight)) - .saturating_add(RocksDbWeight::get().writes(5 as Weight)) - .saturating_add((1_000 as Weight).saturating_mul(b as Weight)) - } - fn destroy_class() -> Weight { - (137_255_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(3 as Weight)) - .saturating_add(RocksDbWeight::get().writes(4 as Weight)) - } -} diff --git a/pallets/orml-nft/Cargo.toml b/pallets/orml-nft/Cargo.toml deleted file mode 100644 index 5ade5832..00000000 --- a/pallets/orml-nft/Cargo.toml +++ /dev/null @@ -1,33 +0,0 @@ -[package] -name = "orml-nft" -description = "Non-fungible token pallet provides basic functions to create and manager NFT" -repository = "https://github.com/open-web3-stack/open-runtime-module-library/tree/master/nft" -license = "Apache-2.0" -version = "0.4.1-dev" -authors = ["Acala Developers"] -edition = "2018" - -[dependencies] -serde = { version = "1.0.124", optional = true } -codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false } -sp-std = { version = "3.0", default-features = false } -sp-runtime = { version = "3.0", default-features = false } - -frame-support = { version = "3.0", default-features = false } -frame-system = { version = "3.0", default-features = false } - -[dev-dependencies] -sp-io = { version = "3.0", default-features = false } -sp-core = { version = "3.0", default-features = false } - -[features] -default = ["std"] -std = [ - "serde", - "codec/std", - "sp-std/std", - "sp-runtime/std", - "frame-support/std", - "frame-system/std", -] -try-runtime = ["frame-support/try-runtime"] diff --git a/pallets/orml-nft/README.md b/pallets/orml-nft/README.md deleted file mode 100644 index 54fe2525..00000000 --- a/pallets/orml-nft/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Non-fungible-token module - -### Overview - -Non-fungible-token module provides basic functions to create and manager NFT(non fungible token) such as `create_class`, `transfer`, `mint`, `burn`, `destroy_class`. - -- `create_class` create NFT(non fungible token) class -- `transfer` transfer NFT(non fungible token) to another account. -- `mint` mint NFT(non fungible token) -- `burn` burn NFT(non fungible token) -- `destroy_class` destroy NFT(non fungible token) class diff --git a/pallets/orml-nft/src/lib.rs b/pallets/orml-nft/src/lib.rs deleted file mode 100644 index ba6b831e..00000000 --- a/pallets/orml-nft/src/lib.rs +++ /dev/null @@ -1,292 +0,0 @@ -//! # Non Fungible Token -//! The module provides implementations for non-fungible-token. -//! -//! - [`Config`](./trait.Config.html) -//! - [`Call`](./enum.Call.html) -//! - [`Module`](./struct.Module.html) -//! -//! ## Overview -//! -//! This module provides basic functions to create and manager -//! NFT(non fungible token) such as `create_class`, `transfer`, `mint`, `burn`. - -//! ### Module Functions -//! -//! - `create_class` - Create NFT(non fungible token) class -//! - `transfer` - Transfer NFT(non fungible token) to another account. -//! - `mint` - Mint NFT(non fungible token) -//! - `burn` - Burn NFT(non fungible token) -//! - `destroy_class` - Destroy NFT(non fungible token) class - -#![cfg_attr(not(feature = "std"), no_std)] -#![allow(clippy::unused_unit)] - -use codec::{Decode, Encode}; -use frame_support::{ensure, pallet_prelude::*, Parameter}; -use sp_runtime::{ - traits::{AtLeast32BitUnsigned, CheckedAdd, CheckedSub, MaybeSerializeDeserialize, Member, One, Zero}, - DispatchError, DispatchResult, RuntimeDebug, -}; -use sp_std::vec::Vec; - -mod mock; -mod tests; - -/// Class info -#[derive(Encode, Decode, Clone, Eq, PartialEq, RuntimeDebug)] -pub struct ClassInfo { - /// Class metadata - pub metadata: Vec, - /// Total issuance for the class - pub total_issuance: TokenId, - /// Class owner - pub owner: AccountId, - /// Class Properties - pub data: Data, -} - -/// Token info -#[derive(Encode, Decode, Clone, Eq, PartialEq, RuntimeDebug)] -pub struct TokenInfo { - /// Token metadata - pub metadata: Vec, - /// Token owner - pub owner: AccountId, - /// Token Properties - pub data: Data, -} - -pub use module::*; - -#[frame_support::pallet] -pub mod module { - use super::*; - - #[pallet::config] - pub trait Config: frame_system::Config { - /// The class ID type - type ClassId: Parameter + Member + AtLeast32BitUnsigned + Default + Copy; - /// The token ID type - type TokenId: Parameter + Member + AtLeast32BitUnsigned + Default + Copy; - /// The class properties type - type ClassData: Parameter + Member + MaybeSerializeDeserialize; - /// The token properties type - type TokenData: Parameter + Member + MaybeSerializeDeserialize; - } - - pub type ClassInfoOf = - ClassInfo<::TokenId, ::AccountId, ::ClassData>; - pub type TokenInfoOf = TokenInfo<::AccountId, ::TokenData>; - - pub type GenesisTokenData = ( - ::AccountId, // Token owner - Vec, // Token metadata - ::TokenData, - ); - pub type GenesisTokens = ( - ::AccountId, // Token class owner - Vec, // Token class metadata - ::ClassData, - Vec>, // Vector of tokens belonging to this class - ); - - /// Error for non-fungible-token module. - #[pallet::error] - pub enum Error { - /// No available class ID - NoAvailableClassId, - /// No available token ID - NoAvailableTokenId, - /// Token(ClassId, TokenId) not found - TokenNotFound, - /// Class not found - ClassNotFound, - /// The operator is not the owner of the token and has no permission - NoPermission, - /// Arithmetic calculation overflow - NumOverflow, - /// Can not destroy class - /// Total issuance is not 0 - CannotDestroyClass, - } - - /// Next available class ID. - #[pallet::storage] - #[pallet::getter(fn next_class_id)] - pub type NextClassId = StorageValue<_, T::ClassId, ValueQuery>; - - /// Next available token ID. - #[pallet::storage] - #[pallet::getter(fn next_token_id)] - pub type NextTokenId = StorageMap<_, Twox64Concat, T::ClassId, T::TokenId, ValueQuery>; - - /// Store class info. - /// - /// Returns `None` if class info not set or removed. - #[pallet::storage] - #[pallet::getter(fn classes)] - pub type Classes = StorageMap<_, Twox64Concat, T::ClassId, ClassInfoOf>; - - /// Store token info. - /// - /// Returns `None` if token info not set or removed. - #[pallet::storage] - #[pallet::getter(fn tokens)] - pub type Tokens = - StorageDoubleMap<_, Twox64Concat, T::ClassId, Twox64Concat, T::TokenId, TokenInfoOf>; - - /// Token existence check by owner and class ID. - #[pallet::storage] - #[pallet::getter(fn tokens_by_owner)] - pub type TokensByOwner = - StorageDoubleMap<_, Twox64Concat, T::AccountId, Twox64Concat, (T::ClassId, T::TokenId), (), ValueQuery>; - - #[pallet::genesis_config] - pub struct GenesisConfig { - pub tokens: Vec>, - } - - #[cfg(feature = "std")] - impl Default for GenesisConfig { - fn default() -> Self { - GenesisConfig { tokens: vec![] } - } - } - - #[pallet::genesis_build] - impl GenesisBuild for GenesisConfig { - fn build(&self) { - self.tokens.iter().for_each(|token_class| { - let class_id = Pallet::::create_class(&token_class.0, token_class.1.to_vec(), token_class.2.clone()) - .expect("Create class cannot fail while building genesis"); - for (account_id, token_metadata, token_data) in &token_class.3 { - Pallet::::mint(&account_id, class_id, token_metadata.to_vec(), token_data.clone()) - .expect("Token mint cannot fail during genesis"); - } - }) - } - } - - #[pallet::pallet] - pub struct Pallet(_); - - #[pallet::hooks] - impl Hooks for Pallet {} - - #[pallet::call] - impl Pallet {} -} - -impl Pallet { - /// Create NFT(non fungible token) class - pub fn create_class( - owner: &T::AccountId, - metadata: Vec, - data: T::ClassData, - ) -> Result { - let class_id = NextClassId::::try_mutate(|id| -> Result { - let current_id = *id; - *id = id.checked_add(&One::one()).ok_or(Error::::NoAvailableClassId)?; - Ok(current_id) - })?; - - let info = ClassInfo { - metadata, - total_issuance: Default::default(), - owner: owner.clone(), - data, - }; - Classes::::insert(class_id, info); - - Ok(class_id) - } - - /// Transfer NFT(non fungible token) from `from` account to `to` account - pub fn transfer(from: &T::AccountId, to: &T::AccountId, token: (T::ClassId, T::TokenId)) -> DispatchResult { - Tokens::::try_mutate(token.0, token.1, |token_info| -> DispatchResult { - let mut info = token_info.as_mut().ok_or(Error::::TokenNotFound)?; - ensure!(info.owner == *from, Error::::NoPermission); - if from == to { - // no change needed - return Ok(()); - } - - info.owner = to.clone(); - - TokensByOwner::::remove(from, token); - TokensByOwner::::insert(to, token, ()); - - Ok(()) - }) - } - - /// Mint NFT(non fungible token) to `owner` - pub fn mint( - owner: &T::AccountId, - class_id: T::ClassId, - metadata: Vec, - data: T::TokenData, - ) -> Result { - NextTokenId::::try_mutate(class_id, |id| -> Result { - let token_id = *id; - *id = id.checked_add(&One::one()).ok_or(Error::::NoAvailableTokenId)?; - - Classes::::try_mutate(class_id, |class_info| -> DispatchResult { - let info = class_info.as_mut().ok_or(Error::::ClassNotFound)?; - info.total_issuance = info - .total_issuance - .checked_add(&One::one()) - .ok_or(Error::::NumOverflow)?; - Ok(()) - })?; - - let token_info = TokenInfo { - metadata, - owner: owner.clone(), - data, - }; - Tokens::::insert(class_id, token_id, token_info); - TokensByOwner::::insert(owner, (class_id, token_id), ()); - - Ok(token_id) - }) - } - - /// Burn NFT(non fungible token) from `owner` - pub fn burn(owner: &T::AccountId, token: (T::ClassId, T::TokenId)) -> DispatchResult { - Tokens::::try_mutate_exists(token.0, token.1, |token_info| -> DispatchResult { - let t = token_info.take().ok_or(Error::::TokenNotFound)?; - ensure!(t.owner == *owner, Error::::NoPermission); - - Classes::::try_mutate(token.0, |class_info| -> DispatchResult { - let info = class_info.as_mut().ok_or(Error::::ClassNotFound)?; - info.total_issuance = info - .total_issuance - .checked_sub(&One::one()) - .ok_or(Error::::NumOverflow)?; - Ok(()) - })?; - - TokensByOwner::::remove(owner, token); - - Ok(()) - }) - } - - /// Destroy NFT(non fungible token) class - pub fn destroy_class(owner: &T::AccountId, class_id: T::ClassId) -> DispatchResult { - Classes::::try_mutate_exists(class_id, |class_info| -> DispatchResult { - let info = class_info.take().ok_or(Error::::ClassNotFound)?; - ensure!(info.owner == *owner, Error::::NoPermission); - ensure!(info.total_issuance == Zero::zero(), Error::::CannotDestroyClass); - - NextTokenId::::remove(class_id); - - Ok(()) - }) - } - - pub fn is_owner(account: &T::AccountId, token: (T::ClassId, T::TokenId)) -> bool { - TokensByOwner::::contains_key(account, token) - } -} diff --git a/pallets/orml-nft/src/mock.rs b/pallets/orml-nft/src/mock.rs deleted file mode 100644 index 915f6756..00000000 --- a/pallets/orml-nft/src/mock.rs +++ /dev/null @@ -1,92 +0,0 @@ -//! Mocks for the gradually-update module. - -#![cfg(test)] - -use frame_support::{construct_runtime, parameter_types}; -use sp_core::H256; -use sp_runtime::{testing::Header, traits::IdentityLookup}; - -use super::*; - -use crate as nft; - -parameter_types! { - pub const BlockHashCount: u64 = 250; -} - -pub type AccountId = u128; -pub type BlockNumber = u64; - -impl frame_system::Config for Runtime { - type Origin = Origin; - type Index = u64; - type BlockNumber = BlockNumber; - type Call = Call; - type Hash = H256; - type Hashing = ::sp_runtime::traits::BlakeTwo256; - type AccountId = AccountId; - type Lookup = IdentityLookup; - type Header = Header; - type Event = Event; - type BlockHashCount = BlockHashCount; - type BlockWeights = (); - type BlockLength = (); - type Version = (); - type PalletInfo = PalletInfo; - type AccountData = (); - type OnNewAccount = (); - type OnKilledAccount = (); - type DbWeight = (); - type BaseCallFilter = (); - type SystemWeightInfo = (); - type SS58Prefix = (); - type OnSetCode = (); -} - -impl Config for Runtime { - type ClassId = u64; - type TokenId = u64; - type ClassData = (); - type TokenData = (); -} - -type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; -type Block = frame_system::mocking::MockBlock; - -construct_runtime!( - pub enum Runtime where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, - { - System: frame_system::{Pallet, Call, Storage, Config, Event}, - NonFungibleTokenModule: nft::{Pallet, Storage, Config}, - } -); - -pub const ALICE: AccountId = 1; -pub const BOB: AccountId = 2; -pub const CLASS_ID: ::ClassId = 0; -pub const CLASS_ID_NOT_EXIST: ::ClassId = 100; -pub const TOKEN_ID: ::TokenId = 0; -pub const TOKEN_ID_NOT_EXIST: ::TokenId = 100; - -pub struct ExtBuilder; - -impl Default for ExtBuilder { - fn default() -> Self { - ExtBuilder - } -} - -impl ExtBuilder { - pub fn build(self) -> sp_io::TestExternalities { - let t = frame_system::GenesisConfig::default() - .build_storage::() - .unwrap(); - - let mut ext = sp_io::TestExternalities::new(t); - ext.execute_with(|| System::set_block_number(1)); - ext - } -} diff --git a/pallets/orml-nft/src/tests.rs b/pallets/orml-nft/src/tests.rs deleted file mode 100644 index bc2bf5b4..00000000 --- a/pallets/orml-nft/src/tests.rs +++ /dev/null @@ -1,180 +0,0 @@ -//! Unit tests for the non-fungible-token module. - -#![cfg(test)] - -use super::*; -use frame_support::{assert_noop, assert_ok}; -use mock::*; - -#[test] -fn create_class_should_work() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NonFungibleTokenModule::create_class(&ALICE, vec![1], ())); - }); -} - -#[test] -fn create_class_should_fail() { - ExtBuilder::default().build().execute_with(|| { - NextClassId::::mutate(|id| *id = ::ClassId::max_value()); - assert_noop!( - NonFungibleTokenModule::create_class(&ALICE, vec![1], ()), - Error::::NoAvailableClassId - ); - }); -} - -#[test] -fn mint_should_work() { - ExtBuilder::default().build().execute_with(|| { - let next_class_id = NonFungibleTokenModule::next_class_id(); - assert_eq!(next_class_id, CLASS_ID); - assert_ok!(NonFungibleTokenModule::create_class(&ALICE, vec![1], ())); - assert_eq!(NonFungibleTokenModule::next_token_id(CLASS_ID), 0); - assert_ok!(NonFungibleTokenModule::mint(&BOB, CLASS_ID, vec![1], ())); - assert_eq!(NonFungibleTokenModule::next_token_id(CLASS_ID), 1); - assert_ok!(NonFungibleTokenModule::mint(&BOB, CLASS_ID, vec![1], ())); - assert_eq!(NonFungibleTokenModule::next_token_id(CLASS_ID), 2); - - let next_class_id = NonFungibleTokenModule::next_class_id(); - assert_ok!(NonFungibleTokenModule::create_class(&ALICE, vec![1], ())); - assert_eq!(NonFungibleTokenModule::next_token_id(next_class_id), 0); - assert_ok!(NonFungibleTokenModule::mint(&BOB, next_class_id, vec![1], ())); - assert_eq!(NonFungibleTokenModule::next_token_id(next_class_id), 1); - - assert_eq!(NonFungibleTokenModule::next_token_id(CLASS_ID), 2); - }); -} - -#[test] -fn mint_should_fail() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NonFungibleTokenModule::create_class(&ALICE, vec![1], ())); - Classes::::mutate(CLASS_ID, |class_info| { - class_info.as_mut().unwrap().total_issuance = ::TokenId::max_value(); - }); - assert_noop!( - NonFungibleTokenModule::mint(&BOB, CLASS_ID, vec![1], ()), - Error::::NumOverflow - ); - - NextTokenId::::mutate(CLASS_ID, |id| *id = ::TokenId::max_value()); - assert_noop!( - NonFungibleTokenModule::mint(&BOB, CLASS_ID, vec![1], ()), - Error::::NoAvailableTokenId - ); - }); -} - -#[test] -fn transfer_should_work() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NonFungibleTokenModule::create_class(&ALICE, vec![1], ())); - assert_ok!(NonFungibleTokenModule::mint(&BOB, CLASS_ID, vec![1], ())); - assert_ok!(NonFungibleTokenModule::transfer(&BOB, &BOB, (CLASS_ID, TOKEN_ID))); - assert_ok!(NonFungibleTokenModule::transfer(&BOB, &ALICE, (CLASS_ID, TOKEN_ID))); - assert_ok!(NonFungibleTokenModule::transfer(&ALICE, &BOB, (CLASS_ID, TOKEN_ID))); - assert!(NonFungibleTokenModule::is_owner(&BOB, (CLASS_ID, TOKEN_ID))); - }); -} - -#[test] -fn transfer_should_fail() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NonFungibleTokenModule::create_class(&ALICE, vec![1], ())); - assert_ok!(NonFungibleTokenModule::mint(&BOB, CLASS_ID, vec![1], ())); - assert_noop!( - NonFungibleTokenModule::transfer(&BOB, &ALICE, (CLASS_ID, TOKEN_ID_NOT_EXIST)), - Error::::TokenNotFound - ); - assert_noop!( - NonFungibleTokenModule::transfer(&ALICE, &BOB, (CLASS_ID, TOKEN_ID)), - Error::::NoPermission - ); - assert_noop!( - NonFungibleTokenModule::mint(&BOB, CLASS_ID_NOT_EXIST, vec![1], ()), - Error::::ClassNotFound - ); - assert_noop!( - NonFungibleTokenModule::transfer(&ALICE, &ALICE, (CLASS_ID, TOKEN_ID)), - Error::::NoPermission - ); - }); -} - -#[test] -fn burn_should_work() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NonFungibleTokenModule::create_class(&ALICE, vec![1], ())); - assert_ok!(NonFungibleTokenModule::mint(&BOB, CLASS_ID, vec![1], ())); - assert_ok!(NonFungibleTokenModule::burn(&BOB, (CLASS_ID, TOKEN_ID))); - }); -} - -#[test] -fn burn_should_fail() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NonFungibleTokenModule::create_class(&ALICE, vec![1], ())); - assert_ok!(NonFungibleTokenModule::mint(&BOB, CLASS_ID, vec![1], ())); - assert_noop!( - NonFungibleTokenModule::burn(&BOB, (CLASS_ID, TOKEN_ID_NOT_EXIST)), - Error::::TokenNotFound - ); - - assert_noop!( - NonFungibleTokenModule::burn(&ALICE, (CLASS_ID, TOKEN_ID)), - Error::::NoPermission - ); - }); - - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NonFungibleTokenModule::create_class(&ALICE, vec![1], ())); - assert_ok!(NonFungibleTokenModule::mint(&BOB, CLASS_ID, vec![1], ())); - - Classes::::mutate(CLASS_ID, |class_info| { - class_info.as_mut().unwrap().total_issuance = 0; - }); - assert_noop!( - NonFungibleTokenModule::burn(&BOB, (CLASS_ID, TOKEN_ID)), - Error::::NumOverflow - ); - }); -} - -#[test] -fn destroy_class_should_work() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NonFungibleTokenModule::create_class(&ALICE, vec![1], ())); - assert_ok!(NonFungibleTokenModule::mint(&BOB, CLASS_ID, vec![1], ())); - assert_ok!(NonFungibleTokenModule::burn(&BOB, (CLASS_ID, TOKEN_ID))); - assert_ok!(NonFungibleTokenModule::destroy_class(&ALICE, CLASS_ID)); - assert_eq!(Classes::::contains_key(CLASS_ID), false); - assert_eq!(NextTokenId::::contains_key(CLASS_ID), false); - }); -} - -#[test] -fn destroy_class_should_fail() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(NonFungibleTokenModule::create_class(&ALICE, vec![1], ())); - assert_ok!(NonFungibleTokenModule::mint(&BOB, CLASS_ID, vec![1], ())); - assert_noop!( - NonFungibleTokenModule::destroy_class(&ALICE, CLASS_ID_NOT_EXIST), - Error::::ClassNotFound - ); - - assert_noop!( - NonFungibleTokenModule::destroy_class(&BOB, CLASS_ID), - Error::::NoPermission - ); - - assert_noop!( - NonFungibleTokenModule::destroy_class(&ALICE, CLASS_ID), - Error::::CannotDestroyClass - ); - - assert_ok!(NonFungibleTokenModule::burn(&BOB, (CLASS_ID, TOKEN_ID))); - assert_ok!(NonFungibleTokenModule::destroy_class(&ALICE, CLASS_ID)); - assert_eq!(Classes::::contains_key(CLASS_ID), false); - }); -} diff --git a/scripts/test.sh b/scripts/test.sh index b45d796c..73dfce00 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -1,5 +1,5 @@ #!/bin/bash SCRIPTDIR=$PWD -for d in $(ls -d ./modules/*/) ; do +for d in $(ls -d ./pallets/*/) ; do cd "$SCRIPTDIR/$d" && cargo test done