diff --git a/Cargo.lock b/Cargo.lock index 142319ffc..91a8fbd8a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9,7 +9,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" dependencies = [ "lazy_static", - "regex 1.5.5", + "regex 1.6.0", ] [[package]] @@ -52,12 +52,23 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher 0.3.0", - "cpufeatures 0.2.2", + "cpufeatures", "opaque-debug 0.3.0", ] +[[package]] +name = "aes" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" +dependencies = [ + "cfg-if", + "cipher 0.4.3", + "cpufeatures", +] + [[package]] name = "aes-gcm" version = "0.9.4" @@ -65,10 +76,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" dependencies = [ "aead 0.4.3", - "aes", + "aes 0.7.5", "cipher 0.3.0", - "ctr", - "ghash", + "ctr 0.8.0", + "ghash 0.4.4", + "subtle 2.4.1", +] + +[[package]] +name = "aes-gcm" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82e1366e0c69c9f927b1fa5ce2c7bf9eafc8f9268c0b9800729e8b267612447c" +dependencies = [ + "aead 0.5.1", + "aes 0.8.2", + "cipher 0.4.3", + "ctr 0.9.2", + "ghash 0.5.0", "subtle 2.4.1", ] @@ -78,8 +103,8 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.6", - "once_cell 1.12.0", + "getrandom 0.2.8", + "once_cell 1.16.0", "version_check", ] @@ -94,11 +119,20 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.18" +version = "0.7.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +dependencies = [ + "memchr 2.5.0", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ - "memchr 2.4.1", + "libc", ] [[package]] @@ -112,9 +146,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.58" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704" +checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" [[package]] name = "approx" @@ -122,9 +156,15 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" dependencies = [ - "num-traits 0.2.14", + "num-traits 0.2.15", ] +[[package]] +name = "array-bytes" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a913633b0c922e6b745072795f50d90ebea78ba31a57e2ac8c2fc7b50950949" + [[package]] name = "arrayref" version = "0.3.6" @@ -166,9 +206,9 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-channel" -version = "1.6.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" +checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28" dependencies = [ "concurrent-queue", "event-listener", @@ -185,73 +225,84 @@ dependencies = [ "concurrent-queue", "fastrand", "futures-lite", - "once_cell 1.12.0", + "once_cell 1.16.0", "slab", ] [[package]] name = "async-global-executor" -version = "2.0.4" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c290043c9a95b05d45e952fb6383c67bcb61471f60cfa21e890dba6654234f43" +checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" dependencies = [ "async-channel", "async-executor", "async-io", - "async-mutex", + "async-lock", "blocking", "futures-lite", - "num_cpus", - "once_cell 1.12.0", + "once_cell 1.16.0", ] [[package]] name = "async-io" -version = "1.6.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b" +checksum = "e8121296a9f05be7f34aa4196b1747243b3b62e048bb7906f644f3fbfc490cf7" dependencies = [ + "async-lock", + "autocfg 1.1.0", "concurrent-queue", "futures-lite", "libc", "log", - "once_cell 1.12.0", "parking", "polling", "slab", - "socket2 0.4.4", + "socket2", "waker-fn", "winapi 0.3.9", ] [[package]] name = "async-lock" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" dependencies = [ "event-listener", + "futures-lite", ] [[package]] -name = "async-mutex" -version = "1.4.0" +name = "async-process" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" +checksum = "02111fd8655a613c25069ea89fc8d9bb89331fa77486eb3bc059ee757cfa481c" dependencies = [ + "async-io", + "autocfg 1.1.0", + "blocking", + "cfg-if", "event-listener", + "futures-lite", + "libc", + "once_cell 1.16.0", + "signal-hook", + "winapi 0.3.9", ] [[package]] name = "async-std" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52580991739c5cdb36cde8b2a516371c0a3b70dda36d916cc08b82372916808c" +checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" dependencies = [ "async-channel", "async-global-executor", "async-io", "async-lock", + "async-process", "crossbeam-utils", "futures-channel", "futures-core", @@ -260,10 +311,9 @@ dependencies = [ "gloo-timers", "kv-log-macro", "log", - "memchr 2.4.1", - "num_cpus", - "once_cell 1.12.0", - "pin-project-lite 0.2.8", + "memchr 2.5.0", + "once_cell 1.16.0", + "pin-project-lite 0.2.9", "pin-utils", "slab", "wasm-bindgen-futures", @@ -271,15 +321,16 @@ dependencies = [ [[package]] name = "async-std-resolver" -version = "0.20.4" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf3e776afdf3a2477ef4854b85ba0dff3bd85792f685fb3c68948b4d304e4f0" +checksum = "0f2f8a4a203be3325981310ab243a28e6e4ea55b6519bffce05d41ab60e09ad8" dependencies = [ "async-std", "async-trait", "futures-io", "futures-util", "pin-utils", + "socket2", "trust-dns-resolver", ] @@ -306,45 +357,32 @@ dependencies = [ [[package]] name = "async-task" -version = "4.2.0" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30696a84d817107fc028e049980e09d5e140e8da8f1caeb17e8e950658a3cea9" +checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" [[package]] name = "async-trait" -version = "0.1.53" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6aa3524a2dfcf9fe180c51eae2b58738348d819517ceadf95789c51fff7600" +checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" dependencies = [ "proc-macro2", "quote", "syn", ] -[[package]] -name = "asynchronous-codec" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4401f0a3622dad2e0763fa79e0eb328bc70fb7dccfdd645341f00d671247d6" -dependencies = [ - "bytes 1.1.0", - "futures-sink", - "futures-util", - "memchr 2.4.1", - "pin-project-lite 0.2.8", -] - [[package]] name = "asynchronous-codec" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690" dependencies = [ - "bytes 1.1.0", + "bytes", "futures-sink", "futures-util", - "memchr 2.4.1", - "pin-project-lite 0.2.8", + "memchr 2.5.0", + "pin-project-lite 0.2.9", ] [[package]] @@ -390,13 +428,13 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.64" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e121dee8023ce33ab248d9ce1493df03c3b38a659b240096fcbd7048ff9c31f" +checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" dependencies = [ "addr2line", "cc", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", "object", @@ -405,9 +443,9 @@ dependencies = [ [[package]] name = "base-x" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" +checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" [[package]] name = "base16ct" @@ -423,9 +461,9 @@ checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" [[package]] name = "base64" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64ct" @@ -435,25 +473,34 @@ checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b" [[package]] name = "beef" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bed554bd50246729a1ec158d08aa3235d1b69d94ad120ebe187e28894787e736" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" dependencies = [ "serde", ] +[[package]] +name = "beefy-merkle-tree" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "beefy-primitives", + "sp-api", +] + [[package]] name = "beefy-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", + "sp-core", + "sp-runtime", + "sp-std", ] [[package]] @@ -491,7 +538,7 @@ dependencies = [ "peeking_take_while", "proc-macro2", "quote", - "regex 1.5.5", + "regex 1.6.0", "rustc-hash", "shlex", ] @@ -518,9 +565,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitvec" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1489fcb93a5bb47da0462ca93ad252ad6af2145cce58d10d46a83931ba9f016b" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ "funty", "radium", @@ -528,24 +575,13 @@ dependencies = [ "wyz", ] -[[package]] -name = "blake2" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - [[package]] name = "blake2" version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -560,39 +596,37 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "0.5.11" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" +checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127" dependencies = [ "arrayref", - "arrayvec 0.5.2", + "arrayvec 0.7.2", "constant_time_eq", ] [[package]] name = "blake2s_simd" -version = "0.5.11" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e461a7034e85b211a4acb57ee2e6730b32912b06c08cc242243c39fc21ae6a2" +checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4" dependencies = [ "arrayref", - "arrayvec 0.5.2", + "arrayvec 0.7.2", "constant_time_eq", ] [[package]] name = "blake3" -version = "0.3.8" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3" +checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f" dependencies = [ "arrayref", - "arrayvec 0.5.2", + "arrayvec 0.7.2", "cc", - "cfg-if 0.1.10", + "cfg-if", "constant_time_eq", - "crypto-mac 0.8.0", - "digest 0.9.0", ] [[package]] @@ -601,7 +635,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding 0.1.5", + "block-padding", "byte-tools", "byteorder", "generic-array 0.12.4", @@ -613,15 +647,14 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "block-padding 0.2.1", "generic-array 0.14.6", ] [[package]] name = "block-buffer" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ "generic-array 0.14.6", ] @@ -635,12 +668,6 @@ dependencies = [ "byte-tools", ] -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - [[package]] name = "blocking" version = "1.2.0" @@ -652,7 +679,7 @@ dependencies = [ "atomic-waker", "fastrand", "futures-lite", - "once_cell 1.12.0", + "once_cell 1.16.0", ] [[package]] @@ -667,7 +694,7 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" dependencies = [ - "memchr 2.4.1", + "memchr 2.5.0", ] [[package]] @@ -681,15 +708,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.9.1" +version = "3.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "byte-slice-cast" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c5fdd0166095e1d463fc6cc01aa8ce547ad77a4e84d42eb6762b084e28067e" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "byte-tools" @@ -705,19 +732,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -dependencies = [ - "byteorder", - "iovec", -] - -[[package]] -name = "bytes" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" +checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" dependencies = [ "serde", ] @@ -741,9 +758,9 @@ checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" [[package]] name = "camino" -version = "1.0.7" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f3132262930b0522068049f5870a856ab8affc80c70d08b6ecb785771a6fc23" +checksum = "88ad0e1e3e88dd237a156ab9f571021b8a158caa0ae44b1968a241efb5144c1e" dependencies = [ "serde", ] @@ -765,16 +782,16 @@ checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" dependencies = [ "camino", "cargo-platform", - "semver 1.0.7", + "semver 1.0.14", "serde", "serde_json", ] [[package]] name = "cc" -version = "1.0.73" +version = "1.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "581f5dba903aac52ea3feb5ec4810848460ee833876f1f9b0fdeab1f19091574" dependencies = [ "jobserver", ] @@ -797,10 +814,13 @@ dependencies = [ ] [[package]] -name = "cfg-if" -version = "0.1.10" +name = "cfg-expr" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +dependencies = [ + "smallvec 1.10.0", +] [[package]] name = "cfg-if" @@ -809,16 +829,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "chacha20" -version = "0.7.1" +name = "cfg_aliases" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee7ad89dc1128635074c268ee661f90c3f7e83d9fd12910608c36b47d6c3412" -dependencies = [ - "cfg-if 1.0.0", - "cipher 0.3.0", - "cpufeatures 0.1.5", - "zeroize", -] +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "chacha20" @@ -826,9 +840,9 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher 0.3.0", - "cpufeatures 0.2.2", + "cpufeatures", "zeroize", ] @@ -838,22 +852,9 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7fc89c7c5b9e7a02dfe45cd2367bae382f9ed31c61ca8debe5f827c420a2f08" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher 0.4.3", - "cpufeatures 0.2.2", -] - -[[package]] -name = "chacha20poly1305" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1580317203210c517b6d44794abfbe600698276db18127e37ad3e69bf5e848e5" -dependencies = [ - "aead 0.4.3", - "chacha20 0.7.1", - "cipher 0.3.0", - "poly1305 0.7.2", - "zeroize", + "cpufeatures", ] [[package]] @@ -882,34 +883,32 @@ dependencies = [ "zeroize", ] -[[package]] -name = "chameleon" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12bd83544cd11113170ce1eee45383928f3f720bc8b305af18c2a3da3547e1ae" - [[package]] name = "chrono" -version = "0.4.19" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" dependencies = [ - "libc", + "iana-time-zone", + "js-sys", "num-integer", - "num-traits 0.2.14", + "num-traits 0.2.15", "time 0.1.44", + "wasm-bindgen", "winapi 0.3.9", ] [[package]] name = "cid" -version = "0.6.1" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff0e3bc0b6446b3f9663c1a6aba6ef06c5aeaa1bc92bd18077be337198ab9768" +checksum = "f6ed9c8b2d17acb8110c46f1da5bf4a696d745e1474a16db0cd2b49cd0249bf2" dependencies = [ + "core2", "multibase", - "multihash 0.13.2", - "unsigned-varint 0.5.1", + "multihash", + "serde", + "unsigned-varint", ] [[package]] @@ -932,20 +931,11 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ckb-merkle-mountain-range" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f061f97d64fd1822664bdfb722f7ae5469a97b77567390f7442be5b5dc82a5b" -dependencies = [ - "cfg-if 0.1.10", -] - [[package]] name = "clang-sys" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cc00842eed744b858222c4c9faf7243aafc6d33f92f96935263ef4d8a41ce21" +checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" dependencies = [ "glob", "libc", @@ -969,26 +959,35 @@ dependencies = [ [[package]] name = "clap" -version = "3.1.8" +version = "3.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71c47df61d9e16dc010b55dba1952a57d8c215dbb533fd13cdd13369aac73b1c" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" dependencies = [ "atty", "bitflags", "clap_derive", + "clap_lex", "indexmap", - "lazy_static", - "os_str_bytes", + "once_cell 1.16.0", "strsim 0.10.0", "termcolor", - "textwrap 0.15.0", + "textwrap 0.16.0", +] + +[[package]] +name = "clap_complete" +version = "3.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8" +dependencies = [ + "clap 3.2.23", ] [[package]] name = "clap_derive" -version = "3.1.7" +version = "3.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3aab4734e083b809aaf5794e14e756d1c798d2c69c7f7de7a09a2f5214993c1" +checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" dependencies = [ "heck 0.4.0", "proc-macro-error", @@ -997,6 +996,15 @@ dependencies = [ "syn", ] +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + [[package]] name = "cloudabi" version = "0.0.3" @@ -1006,11 +1014,41 @@ dependencies = [ "bitflags", ] +[[package]] +name = "cmake" +version = "0.1.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db34956e100b30725f2eb215f90d4871051239535632f84fea3bc92722c66b7c" +dependencies = [ + "cc", +] + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + +[[package]] +name = "comfy-table" +version = "6.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1090f39f45786ec6dc6286f8ea9c75d0a7ef0a0d3cda674cef0c3af7b307fbc2" +dependencies = [ + "strum", + "strum_macros", + "unicode-width", +] + [[package]] name = "concurrent-queue" -version = "1.2.2" +version = "1.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" +checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c" dependencies = [ "cache-padded", ] @@ -1031,27 +1069,21 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" name = "constraints" version = "0.1.0" -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "cookie" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94d4706de1b0fa5b132270cddffa8585166037822e260a944fe161acd137ca05" +checksum = "344adc371239ef32293cb1c4fe519592fcf21206c79c02854320afcdf3ab4917" dependencies = [ - "aes-gcm", + "aes-gcm 0.10.1", "base64", "hkdf", "hmac 0.12.1", - "percent-encoding 2.1.0", + "percent-encoding", "rand 0.8.5", - "sha2 0.10.2", + "sha2 0.10.6", "subtle 2.4.1", - "time 0.3.11", + "time 0.3.16", "version_check", ] @@ -1072,99 +1104,108 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] -name = "cpp_demangle" -version = "0.3.5" +name = "core2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" dependencies = [ - "cfg-if 1.0.0", + "memchr 2.5.0", ] [[package]] -name = "cpufeatures" -version = "0.1.5" +name = "cpp_demangle" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" dependencies = [ - "libc", + "cfg-if", ] [[package]] name = "cpufeatures" -version = "0.2.2" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ "libc", ] [[package]] name = "cranelift-bforest" -version = "0.80.1" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62fc68cdb867b7d27b5f33cd65eb11376dfb41a2d09568a1a2c2bc1dc204f4ef" +checksum = "44409ccf2d0f663920cab563d2b79fcd6b2e9a2bcc6e929fef76c8f82ad6c17a" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.80.1" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31253a44ab62588f8235a996cc9b0636d98a299190069ced9628b8547329b47a" +checksum = "98de2018ad96eb97f621f7d6b900a0cc661aec8d02ea4a50e56ecb48e5a2fcaf" dependencies = [ + "arrayvec 0.7.2", + "bumpalo", "cranelift-bforest", "cranelift-codegen-meta", "cranelift-codegen-shared", "cranelift-entity", + "cranelift-isle", "gimli", "log", - "regalloc", - "smallvec 1.8.0", + "regalloc2", + "smallvec 1.10.0", "target-lexicon", ] [[package]] name = "cranelift-codegen-meta" -version = "0.80.1" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a20ab4627d30b702fb1b8a399882726d216b8164d3b3fa6189e3bf901506afe" +checksum = "5287ce36e6c4758fbaf298bd1a8697ad97a4f2375a3d1b61142ea538db4877e5" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.80.1" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6687d9668dacfed4468361f7578d86bded8ca4db978f734d9b631494bebbb5b8" +checksum = "2855c24219e2f08827f3f4ffb2da92e134ae8d8ecc185b11ec8f9878cf5f588e" [[package]] name = "cranelift-entity" -version = "0.80.1" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77c5d72db97ba2cb36f69037a709edbae0d29cb25503775891e7151c5c874bf" +checksum = "0b65673279d75d34bf11af9660ae2dbd1c22e6d28f163f5c72f4e1dc56d56103" dependencies = [ "serde", ] [[package]] name = "cranelift-frontend" -version = "0.80.1" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "426dca83f63c7c64ea459eb569aadc5e0c66536c0042ed5d693f91830e8750d0" +checksum = "3ed2b3d7a4751163f6c4a349205ab1b7d9c00eecf19dcea48592ef1f7688eefc" dependencies = [ "cranelift-codegen", "log", - "smallvec 1.8.0", + "smallvec 1.10.0", "target-lexicon", ] +[[package]] +name = "cranelift-isle" +version = "0.88.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be64cecea9d90105fc6a2ba2d003e98c867c1d6c4c86cc878f97ad9fb916293" + [[package]] name = "cranelift-native" -version = "0.80.1" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8007864b5d0c49b026c861a15761785a2871124e401630c03ef1426e6d0d559e" +checksum = "c4a03a6ac1b063e416ca4b93f6247978c991475e8271465340caa6f92f3c16a4" dependencies = [ "cranelift-codegen", "libc", @@ -1173,16 +1214,16 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.80.1" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94cf12c071415ba261d897387ae5350c4d83c238376c8c5a96514ecfa2ea66a3" +checksum = "c699873f7b30bc5f20dd03a796b4183e073a46616c91704792ec35e45d13f913" dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", "itertools", "log", - "smallvec 1.8.0", + "smallvec 1.10.0", "wasmparser", "wasmtime-types", ] @@ -1193,52 +1234,50 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] name = "crossbeam-channel" -version = "0.5.4" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53" +checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" +checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.8" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c" +checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" dependencies = [ "autocfg 1.1.0", - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", - "lazy_static", "memoffset", "scopeguard 1.1.0", ] [[package]] name = "crossbeam-utils" -version = "0.8.8" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" +checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" dependencies = [ - "cfg-if 1.0.0", - "lazy_static", + "cfg-if", ] [[package]] @@ -1300,20 +1339,11 @@ dependencies = [ "subtle 2.4.1", ] -[[package]] -name = "ct-logs" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1a816186fa68d9e426e3cb4ae4dff1fcd8e4a2c34b781bf7a822574a0d0aac8" -dependencies = [ - "sct 0.6.1", -] - [[package]] name = "ctor" -version = "0.1.22" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c" +checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" dependencies = [ "quote", "syn", @@ -1328,6 +1358,15 @@ dependencies = [ "cipher 0.3.0", ] +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher 0.4.3", +] + [[package]] name = "cuckoofilter" version = "0.5.0" @@ -1366,34 +1405,91 @@ dependencies = [ ] [[package]] -name = "darling" -version = "0.13.4" +name = "curve25519-dalek" +version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" +checksum = "4033478fbf70d6acf2655ac70da91ee65852d69daf7a67bf7a2f518fb47aafcf" dependencies = [ - "darling_core", - "darling_macro", + "byteorder", + "digest 0.9.0", + "rand_core 0.6.4", + "subtle 2.4.1", + "zeroize", ] [[package]] -name = "darling_core" -version = "0.13.4" +name = "cxx" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a" dependencies = [ - "fnv", - "ident_case", + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell 1.16.0", "proc-macro2", "quote", - "strsim 0.10.0", + "scratch", "syn", ] [[package]] -name = "darling_macro" -version = "0.13.4" +name = "cxxbridge-flags" +version = "1.0.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "darling" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" dependencies = [ "darling_core", "quote", @@ -1452,10 +1548,8 @@ version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version 0.4.0", "syn", ] @@ -1512,11 +1606,11 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" dependencies = [ - "block-buffer 0.10.2", + "block-buffer 0.10.3", "crypto-common", "subtle 2.4.1", ] @@ -1536,7 +1630,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "dirs-sys-next", ] @@ -1569,7 +1663,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" dependencies = [ "byteorder", - "quick-error 1.2.3", + "quick-error", ] [[package]] @@ -1580,9 +1674,9 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "dtoa" -version = "0.4.8" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" +checksum = "f8a6eee2d5d0d113f015688310da018bd1d864d86bd567c8fca9c266889e1bfa" [[package]] name = "dyn-clonable" @@ -1607,9 +1701,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.5" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e50f3adc76d6a43f5ed73b698a87d0760ca74617f60f7c3b879003536fdd28" +checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" [[package]] name = "ecdsa" @@ -1625,9 +1719,9 @@ dependencies = [ [[package]] name = "ed25519" -version = "1.4.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d5c4b5e5959dc2c2b89918d8e2cc40fcdd623cef026ed09d2f0ee05199dc8e4" +checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" dependencies = [ "signature", ] @@ -1646,11 +1740,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ed25519-zebra" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +dependencies = [ + "curve25519-dalek 3.2.0", + "hashbrown 0.12.3", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "either" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" @@ -1677,28 +1785,32 @@ version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] name = "entropy" version = "3.0.0-monthly-2021-10" dependencies = [ - "clap 3.1.8", + "clap 3.2.23", + "clap_complete", "entropy-runtime", "frame-benchmarking", "frame-benchmarking-cli", "frame-system", - "futures 0.3.21", + "frame-system-rpc-runtime-api", + "futures", "hex-literal", "jsonrpc-core", - "node-executor", + "jsonrpsee", + "node-inspect", "node-primitives", - "node-rpc", + "pallet-balances", "pallet-free-tx", "pallet-im-online", "pallet-transaction-payment", "pallet-transaction-payment-rpc", + "parity-scale-codec", "rand 0.7.3", "sc-authority-discovery", "sc-basic-authorship", @@ -1717,11 +1829,13 @@ dependencies = [ "sc-finality-grandpa-rpc", "sc-keystore", "sc-network", + "sc-network-common", "sc-rpc", "sc-rpc-api", "sc-service", "sc-service-test", "sc-sync-state-rpc", + "sc-sysinfo", "sc-telemetry", "sc-transaction-pool", "sc-transaction-pool-api", @@ -1734,19 +1848,21 @@ dependencies = [ "sp-consensus", "sp-consensus-aura", "sp-consensus-babe", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-finality-grandpa", "sp-inherents", - "sp-keyring 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keyring", + "sp-keystore", + "sp-runtime", "sp-timestamp", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-transaction-storage-proof", "structopt", "substrate-build-script-utils", + "substrate-frame-cli", "substrate-frame-rpc-system", + "substrate-state-trie-migration-rpc", "tempfile", + "try-runtime-cli", ] [[package]] @@ -1775,10 +1891,10 @@ dependencies = [ "pallet-constraints", "pallet-contracts", "pallet-contracts-primitives", - "pallet-contracts-rpc-runtime-api", "pallet-conviction-voting", "pallet-democracy", "pallet-election-provider-multi-phase", + "pallet-election-provider-support-benchmarking", "pallet-elections-phragmen", "pallet-free-tx", "pallet-grandpa", @@ -1788,6 +1904,9 @@ dependencies = [ "pallet-lottery", "pallet-membership", "pallet-multisig", + "pallet-nomination-pools", + "pallet-nomination-pools-benchmarking", + "pallet-nomination-pools-runtime-api", "pallet-offences", "pallet-offences-benchmarking", "pallet-preimage", @@ -1821,16 +1940,16 @@ dependencies = [ "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keyring 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-keyring", "sp-npos-elections", "sp-offchain", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "sp-session", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", "sp-transaction-pool", "sp-version", "static_assertions", @@ -1840,9 +1959,9 @@ dependencies = [ [[package]] name = "enum-as-inner" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "570d109b813e904becc80d8d5da38376818a143348413f7149f1340fe04754d4" +checksum = "21cdad81446a7f7dc43f6a77409efeb9733d2fa65553efef6018ef257c959b73" dependencies = [ "heck 0.4.0", "proc-macro2", @@ -1852,9 +1971,9 @@ dependencies = [ [[package]] name = "enumflags2" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b3ab37dc79652c9d85f1f7b6070d77d321d2467f5fe7b00d6b7a86c57b092ae" +checksum = "e75d4cd21b95383444831539909fbb14b9dc3fdceb2a6f5d36577329a1f55ccb" dependencies = [ "enumflags2_derive", ] @@ -1872,14 +1991,14 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" +checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" dependencies = [ "atty", "humantime", "log", - "regex 1.5.5", + "regex 1.6.0", "termcolor", ] @@ -1921,9 +2040,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "eventsource-stream" @@ -1933,7 +2052,7 @@ checksum = "74fef4569247a5f429d9156b9d0a2599914385dd189c539334c625d8099d90ab" dependencies = [ "futures-core", "nom", - "pin-project-lite 0.2.8", + "pin-project-lite 0.2.9", ] [[package]] @@ -1942,7 +2061,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" dependencies = [ - "futures 0.3.21", + "futures", ] [[package]] @@ -1981,9 +2100,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" dependencies = [ "instant", ] @@ -2009,9 +2128,9 @@ dependencies = [ [[package]] name = "figment" -version = "0.10.6" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "790b4292c72618abbab50f787a477014fe15634f96291de45672ce46afe122df" +checksum = "4e56602b469b2201400dec66a66aec5a9b8761ee97cd1b8c96ab2483fcc16cc9" dependencies = [ "atomic", "pear", @@ -2031,19 +2150,31 @@ dependencies = [ "log", ] +[[package]] +name = "filetime" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "windows-sys 0.42.0", +] + [[package]] name = "finality-grandpa" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9def033d8505edf199f6a5d07aa7e6d2d6185b164293b77f0efd108f4f3e11d" +checksum = "b22349c6a11563a202d95772a68e0fcf56119e74ea8a2a19cf2301460fcd0df5" dependencies = [ "either", - "futures 0.3.21", + "futures", "futures-timer", "log", - "num-traits 0.2.14", + "num-traits 0.2.15", "parity-scale-codec", - "parking_lot 0.11.2", + "parking_lot 0.12.1", "scale-info", ] @@ -2061,19 +2192,17 @@ dependencies = [ [[package]] name = "fixedbitset" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279fb028e20b3c4c320317955b77c5e0c9701f05a1d309905d6fc702cdc5053e" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.22" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" +checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" dependencies = [ - "cfg-if 1.0.0", "crc32fast", - "libc", "libz-sys", "miniz_oxide", ] @@ -2102,94 +2231,100 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", ] [[package]] name = "form_urlencoded" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ - "matches", - "percent-encoding 2.1.0", + "percent-encoding", ] [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "frame-system", "linregress", "log", "parity-scale-codec", - "paste 1.0.7", + "paste 1.0.9", "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-storage 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-runtime-interface", + "sp-std", + "sp-storage", ] [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "Inflector", + "array-bytes", "chrono", - "clap 3.1.8", + "clap 3.2.23", + "comfy-table", "frame-benchmarking", "frame-support", "frame-system", + "gethostname", "handlebars", "hash-db", - "hex", "itertools", "kvdb 0.11.0", + "lazy_static", "linked-hash-map", "log", "memory-db", "parity-scale-codec", "rand 0.8.5", + "rand_pcg 0.3.1", "sc-block-builder", "sc-cli", "sc-client-api", "sc-client-db", "sc-executor", "sc-service", + "sc-sysinfo", "serde", "serde_json", "serde_nanos", "sp-api", "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-database", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-externalities", "sp-inherents", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-storage 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-trie", + "tempfile", + "thiserror", "thousands", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate", "proc-macro2", "quote", "syn", @@ -2198,33 +2333,34 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-arithmetic", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "frame-system", + "frame-try-runtime", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", ] [[package]] @@ -2233,7 +2369,18 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "frame-metadata" +version = "15.0.0" +source = "git+https://github.com/paritytech/frame-metadata/#d41046b12c08fe5e2abdcd407cb05779d58e5e6b" +dependencies = [ + "cfg-if", "parity-scale-codec", "scale-info", "serde", @@ -2242,39 +2389,44 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "bitflags", - "frame-metadata", + "frame-metadata 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "frame-support-procedural", "impl-trait-for-tuples", + "k256", "log", - "once_cell 1.12.0", + "once_cell 1.16.0", "parity-scale-codec", - "paste 1.0.7", + "paste 1.0.9", "scale-info", "serde", - "smallvec 1.8.0", - "sp-arithmetic 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "smallvec 1.10.0", + "sp-api", + "sp-arithmetic", + "sp-core", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine", + "sp-std", + "sp-tracing", + "sp-weights", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "Inflector", + "cfg-expr", "frame-support-procedural-tools", + "itertools", "proc-macro2", "quote", "syn", @@ -2283,10 +2435,10 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate 1.1.3", + "proc-macro-crate", "proc-macro2", "quote", "syn", @@ -2295,7 +2447,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "proc-macro2", "quote", @@ -2305,39 +2457,40 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", "sp-version", + "sp-weights", ] [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-runtime", + "sp-std", ] [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", "sp-api", @@ -2346,12 +2499,13 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", + "parity-scale-codec", "sp-api", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] @@ -2388,22 +2542,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - [[package]] name = "funty" version = "2.0.0" @@ -2412,15 +2550,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" - -[[package]] -name = "futures" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e" +checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" dependencies = [ "futures-channel", "futures-core", @@ -2433,9 +2565,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" +checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" dependencies = [ "futures-core", "futures-sink", @@ -2443,15 +2575,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" +checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" [[package]] name = "futures-executor" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6" +checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" dependencies = [ "futures-core", "futures-task", @@ -2461,9 +2593,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b" +checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" [[package]] name = "futures-lite" @@ -2474,17 +2606,17 @@ dependencies = [ "fastrand", "futures-core", "futures-io", - "memchr 2.4.1", + "memchr 2.5.0", "parking", - "pin-project-lite 0.2.8", + "pin-project-lite 0.2.9", "waker-fn", ] [[package]] name = "futures-macro" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" +checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" dependencies = [ "proc-macro2", "quote", @@ -2493,26 +2625,26 @@ dependencies = [ [[package]] name = "futures-rustls" -version = "0.21.1" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1387e07917c711fb4ee4f48ea0adb04a3c9739e53ef85bf43ae1edc2937a8b" +checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" dependencies = [ "futures-io", - "rustls 0.19.1", - "webpki 0.21.4", + "rustls", + "webpki", ] [[package]] name = "futures-sink" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" [[package]] name = "futures-task" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" +checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" [[package]] name = "futures-timer" @@ -2522,19 +2654,18 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.21" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" +checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" dependencies = [ - "futures 0.1.31", "futures-channel", "futures-core", "futures-io", "futures-macro", "futures-sink", "futures-task", - "memchr 2.4.1", - "pin-project-lite 0.2.8", + "memchr 2.5.0", + "pin-project-lite 0.2.9", "pin-utils", "slab", ] @@ -2550,15 +2681,15 @@ dependencies = [ [[package]] name = "generator" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1d9279ca822891c1a4dae06d185612cf8fc6acfe5dff37781b41297811b12ee" +checksum = "cc184cace1cea8335047a471cc1da80f18acf8a76f3bab2028d499e328948ec7" dependencies = [ "cc", "libc", "log", "rustversion", - "winapi 0.3.9", + "windows 0.32.0", ] [[package]] @@ -2580,13 +2711,23 @@ dependencies = [ "version_check", ] +[[package]] +name = "gethostname" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" +dependencies = [ + "libc", + "winapi 0.3.9", +] + [[package]] name = "getrandom" version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", @@ -2595,13 +2736,13 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", - "wasi 0.10.0+wasi-snapshot-preview1", + "wasi 0.11.0+wasi-snapshot-preview1", ] [[package]] @@ -2611,14 +2752,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" dependencies = [ "opaque-debug 0.3.0", - "polyval", + "polyval 0.5.3", +] + +[[package]] +name = "ghash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" +dependencies = [ + "opaque-debug 0.3.0", + "polyval 0.6.0", ] [[package]] name = "gimli" -version = "0.26.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" +checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" dependencies = [ "fallible-iterator", "indexmap", @@ -2633,22 +2784,22 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "globset" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd" +checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a" dependencies = [ - "aho-corasick 0.7.18", + "aho-corasick 0.7.19", "bstr", "fnv", "log", - "regex 1.5.5", + "regex 1.6.0", ] [[package]] name = "gloo-timers" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d12a7f4e95cfe710f1d624fb1210b7d961a5fb05c4fd942f4feab06e61f590e" +checksum = "5fb7d06c1c8cc2a29bee7ec961009a0b2caa0793ee4900c2ffb348734ba1c8f9" dependencies = [ "futures-channel", "futures-core", @@ -2669,11 +2820,11 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ - "bytes 1.1.0", + "bytes", "fnv", "futures-core", "futures-sink", @@ -2682,22 +2833,22 @@ dependencies = [ "indexmap", "slab", "tokio", - "tokio-util 0.7.1", + "tokio-util", "tracing", ] [[package]] name = "handlebars" -version = "4.2.2" +version = "4.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d6a30320f094710245150395bc763ad23128d6a1ebbad7594dc4164b62c56b" +checksum = "433e4ab33f1213cdc25b5fa45c76881240cfe79284cf2b395e8b9e312a30a2fd" dependencies = [ "log", "pest", "pest_derive", - "quick-error 2.0.1", "serde", "serde_json", + "thiserror", ] [[package]] @@ -2727,18 +2878,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash", -] - -[[package]] -name = "hashbrown" -version = "0.12.0" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c21d40587b92fa6a6c6e3c1bdbf87d75511db5672f9c93175574b3a00df1758" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ "ahash", ] @@ -2837,7 +2979,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -2864,31 +3006,31 @@ dependencies = [ [[package]] name = "http" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff8670570af52249509a86f5e3e18a08c60b177071826898fde8997cf5f6bfbb" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ - "bytes 1.1.0", + "bytes", "fnv", - "itoa 1.0.1", + "itoa", ] [[package]] name = "http-body" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ - "bytes 1.1.0", + "bytes", "http", - "pin-project-lite 0.2.8", + "pin-project-lite 0.2.9", ] [[package]] name = "httparse" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" @@ -2904,11 +3046,11 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.18" +version = "0.14.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b26ae0a80afebe130861d90abf98e3814a4f28a4c6ffeb5ab8ebb2be311e0ef2" +checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" dependencies = [ - "bytes 1.1.0", + "bytes", "futures-channel", "futures-core", "futures-util", @@ -2917,9 +3059,9 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa 1.0.1", - "pin-project-lite 0.2.8", - "socket2 0.4.4", + "itoa", + "pin-project-lite 0.2.9", + "socket2", "tokio", "tower-service", "tracing", @@ -2928,19 +3070,17 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.22.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64" +checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" dependencies = [ - "ct-logs", - "futures-util", + "http", "hyper", "log", - "rustls 0.19.1", - "rustls-native-certs 0.5.0", + "rustls", + "rustls-native-certs", "tokio", - "tokio-rustls 0.22.0", - "webpki 0.21.4", + "tokio-rustls", ] [[package]] @@ -2949,13 +3089,37 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ - "bytes 1.1.0", + "bytes", "hyper", "native-tls", "tokio", "tokio-native-tls", ] +[[package]] +name = "iana-time-zone" +version = "0.1.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "winapi 0.3.9", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -2964,9 +3128,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.1.5" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" dependencies = [ "matches", "unicode-bidi", @@ -2975,50 +3139,40 @@ dependencies = [ [[package]] name = "idna" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" dependencies = [ - "matches", "unicode-bidi", "unicode-normalization", ] [[package]] name = "if-addrs" -version = "0.6.7" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2273e421f7c4f0fc99e1934fe4776f59d8df2972f4199d703fc0da9f2a9f73de" +checksum = "cbc0fa01ffc752e9dbc72818cdb072cd028b86be5e09dd04c5a643704fe101a9" dependencies = [ - "if-addrs-sys", "libc", "winapi 0.3.9", ] -[[package]] -name = "if-addrs-sys" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de74b9dd780476e837e5eb5ab7c88b49ed304126e412030a0adba99c8efe79ea" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "if-watch" -version = "0.2.2" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8ab7f67bad3240049cb24fb9cb0b4c2c6af4c245840917fbbdededeee91179" +checksum = "015a7df1eb6dda30df37f34b63ada9b7b352984b0e84de2a20ed526345000791" dependencies = [ "async-io", - "futures 0.3.21", - "futures-lite", + "core-foundation", + "fnv", + "futures", "if-addrs", "ipnet", - "libc", "log", - "winapi 0.3.9", + "rtnetlink", + "system-configuration", + "windows 0.34.0", ] [[package]] @@ -3052,12 +3206,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.8.1" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee" +checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ "autocfg 1.1.0", - "hashbrown 0.11.2", + "hashbrown 0.12.3", "serde", ] @@ -3082,7 +3236,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -3091,26 +3245,14 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "num-traits 0.2.14", + "num-traits 0.2.15", ] [[package]] name = "io-lifetimes" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ef6787e7f0faedc040f95716bdd0e62bcfcf4ba93da053b62dea2691c13864" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "iovec" -version = "0.1.4" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -dependencies = [ - "libc", -] +checksum = "e6e481ccbe3dea62107216d0d1138bb8ad8e5e5c43009a098bd1990272c497b0" [[package]] name = "ip_network" @@ -3120,84 +3262,62 @@ checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" [[package]] name = "ipconfig" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" +checksum = "723519edce41262b05d4143ceb95050e4c614f483e78e9fd9e39a8275a84ad98" dependencies = [ - "socket2 0.3.19", + "socket2", "widestring", "winapi 0.3.9", - "winreg 0.6.2", + "winreg 0.7.0", ] [[package]] name = "ipnet" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e70ee094dc02fd9c13fdad4940090f22dbd6ac7c9e7094a46cf0232a50bc7c" +checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" [[package]] name = "itertools" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ "either", ] [[package]] name = "itoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "itoa" -version = "1.0.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" [[package]] name = "jobserver" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.56" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] -[[package]] -name = "jsonrpc-client-transports" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b99d4207e2a04fb4581746903c2bb7eb376f88de9c699d0f3e10feeac0cd3a" -dependencies = [ - "derive_more", - "futures 0.3.21", - "jsonrpc-core", - "jsonrpc-pubsub", - "log", - "serde", - "serde_json", - "url 1.7.2", -] - [[package]] name = "jsonrpc-core" version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" dependencies = [ - "futures 0.3.21", + "futures", "futures-executor", "futures-util", "log", @@ -3207,172 +3327,148 @@ dependencies = [ ] [[package]] -name = "jsonrpc-core-client" -version = "18.0.0" +name = "jsonrpsee" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b51da17abecbdab3e3d4f26b01c5ec075e88d3abe3ab3b05dc9aa69392764ec0" +checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" dependencies = [ - "futures 0.3.21", - "jsonrpc-client-transports", + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-http-server", + "jsonrpsee-proc-macros", + "jsonrpsee-types", + "jsonrpsee-ws-client", + "jsonrpsee-ws-server", + "tracing", ] [[package]] -name = "jsonrpc-derive" -version = "18.0.0" +name = "jsonrpsee-client-transport" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b939a78fa820cdfcb7ee7484466746a7377760970f6f9c6fe19f9edcc8a38d2" +checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" dependencies = [ - "proc-macro-crate 0.1.5", - "proc-macro2", - "quote", - "syn", + "futures-util", + "http", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project", + "rustls-native-certs", + "soketto", + "thiserror", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "webpki-roots", ] [[package]] -name = "jsonrpc-http-server" -version = "18.0.0" +name = "jsonrpsee-core" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1dea6e07251d9ce6a552abfb5d7ad6bc290a4596c8dcc3d795fae2bbdc1f3ff" +checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" dependencies = [ - "futures 0.3.21", + "anyhow", + "arrayvec 0.7.2", + "async-lock", + "async-trait", + "beef", + "futures-channel", + "futures-timer", + "futures-util", + "globset", + "http", "hyper", - "jsonrpc-core", - "jsonrpc-server-utils", - "log", - "net2", - "parking_lot 0.11.2", - "unicase", -] - -[[package]] -name = "jsonrpc-ipc-server" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382bb0206323ca7cda3dcd7e245cea86d37d02457a02a975e3378fb149a48845" -dependencies = [ - "futures 0.3.21", - "jsonrpc-core", - "jsonrpc-server-utils", - "log", - "parity-tokio-ipc", - "parking_lot 0.11.2", - "tower-service", -] - -[[package]] -name = "jsonrpc-pubsub" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240f87695e6c6f62fb37f05c02c04953cf68d6408b8c1c89de85c7a0125b1011" -dependencies = [ - "futures 0.3.21", - "jsonrpc-core", + "jsonrpsee-types", "lazy_static", - "log", - "parking_lot 0.11.2", - "rand 0.7.3", + "parking_lot 0.12.1", + "rand 0.8.5", + "rustc-hash", "serde", + "serde_json", + "soketto", + "thiserror", + "tokio", + "tracing", + "tracing-futures", + "unicase", ] [[package]] -name = "jsonrpc-server-utils" -version = "18.0.0" +name = "jsonrpsee-http-server" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4fdea130485b572c39a460d50888beb00afb3e35de23ccd7fad8ff19f0e0d4" +checksum = "03802f0373a38c2420c70b5144742d800b509e2937edc4afb116434f07120117" dependencies = [ - "bytes 1.1.0", - "futures 0.3.21", - "globset", - "jsonrpc-core", - "lazy_static", - "log", + "futures-channel", + "futures-util", + "hyper", + "jsonrpsee-core", + "jsonrpsee-types", + "serde", + "serde_json", "tokio", - "tokio-stream", - "tokio-util 0.6.9", - "unicase", + "tracing", + "tracing-futures", ] [[package]] -name = "jsonrpc-ws-server" -version = "18.0.0" +name = "jsonrpsee-proc-macros" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f892c7d766369475ab7b0669f417906302d7c0fb521285c0a0c92e52e7c8e946" +checksum = "bd67957d4280217247588ac86614ead007b301ca2fa9f19c19f880a536f029e3" dependencies = [ - "futures 0.3.21", - "jsonrpc-core", - "jsonrpc-server-utils", - "log", - "parity-ws", - "parking_lot 0.11.2", - "slab", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "jsonrpsee" -version = "0.9.0" +name = "jsonrpsee-types" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d0b8cc1959f8c05256ace093b2317482da9127f1d9227564f47e7e6bf9bda8" +checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" dependencies = [ - "jsonrpsee-client-transport", - "jsonrpsee-core", + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", ] [[package]] -name = "jsonrpsee-client-transport" -version = "0.9.0" +name = "jsonrpsee-ws-client" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa370c2c717d798c3c0a315ae3f0a707a388c6963c11f9da7dbbe1d3f7392f5f" +checksum = "6ee5feddd5188e62ac08fcf0e56478138e581509d4730f3f7be9b57dd402a4ff" dependencies = [ - "futures 0.3.21", "http", + "jsonrpsee-client-transport", "jsonrpsee-core", "jsonrpsee-types", - "pin-project 1.0.10", - "rustls-native-certs 0.6.1", - "soketto", - "thiserror", - "tokio", - "tokio-rustls 0.23.3", - "tokio-util 0.6.9", - "tracing", - "webpki-roots 0.22.2", ] [[package]] -name = "jsonrpsee-core" -version = "0.9.0" +name = "jsonrpsee-ws-server" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22abc3274b265dcefe2e26c4beecf9fda4fffa48cf94930443a6c73678f020d5" +checksum = "d488ba74fb369e5ab68926feb75a483458b88e768d44319f37e4ecad283c7325" dependencies = [ - "anyhow", - "arrayvec 0.7.2", - "async-trait", - "beef", "futures-channel", "futures-util", - "hyper", + "http", + "jsonrpsee-core", "jsonrpsee-types", - "rustc-hash", - "serde", "serde_json", "soketto", - "thiserror", "tokio", + "tokio-stream", + "tokio-util", "tracing", -] - -[[package]] -name = "jsonrpsee-types" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f4c45d2e2aa1db4c7d7d7dbaabc10a5b5258d99cd9d42fbfd5260b76f80c324" -dependencies = [ - "anyhow", - "beef", - "serde", - "serde_json", - "thiserror", - "tracing", + "tracing-futures", ] [[package]] @@ -3381,7 +3477,7 @@ version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ecdsa", "elliptic-curve", "sec1", @@ -3390,9 +3486,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" +checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "kernel32-sys" @@ -3420,13 +3516,13 @@ dependencies = [ "chacha20poly1305 0.9.1", "project-root", "rand 0.8.5", - "rpassword", + "rpassword 5.0.1", "scrypt", "serde", "serial_test 0.6.0", "sled", "thiserror", - "tofn 0.1.0 (git+https://github.com/Entropyxyz/tofn?branch=main)", + "tofn 0.1.0 (git+https://github.com/entropyxyz/tofn?branch=main)", "tokio", "tracing", "zeroize", @@ -3439,7 +3535,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a301d8ecb7989d4a6e2c57a49baca77d353bdbf879909debe3f375fe25d61f86" dependencies = [ "parity-util-mem", - "smallvec 1.8.0", + "smallvec 1.10.0", ] [[package]] @@ -3450,7 +3546,7 @@ checksum = "ece7e668abd21387aeb6628130a6f4c802787f014fa46bc83221448322250357" dependencies = [ "kvdb 0.11.0", "parity-util-mem", - "parking_lot 0.12.0", + "parking_lot 0.12.1", ] [[package]] @@ -3465,10 +3561,10 @@ dependencies = [ "num_cpus", "owning_ref", "parity-util-mem", - "parking_lot 0.12.0", - "regex 1.5.5", + "parking_lot 0.12.1", + "regex 1.6.0", "rocksdb", - "smallvec 1.8.0", + "smallvec 1.10.0", ] [[package]] @@ -3485,9 +3581,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.121" +version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "libloading" @@ -3505,26 +3601,29 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "winapi 0.3.9", ] [[package]] name = "libm" -version = "0.2.2" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33a33a362ce288760ec6a508b94caaec573ae7d3bbbd91b87aa0bad4456839db" +checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" [[package]] name = "libp2p" -version = "0.40.0" +version = "0.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bec54343492ba5940a6c555e512c6721139835d28c59bc22febece72dfd0d9d" +checksum = "81327106887e42d004fbdab1fef93675be2e2e07c1b95fce45e2cc813485611d" dependencies = [ - "atomic", - "bytes 1.1.0", - "futures 0.3.21", + "bytes", + "futures", + "futures-timer", + "getrandom 0.2.8", + "instant", "lazy_static", + "libp2p-autonat", "libp2p-core", "libp2p-deflate", "libp2p-dns", @@ -3550,228 +3649,258 @@ dependencies = [ "libp2p-websocket", "libp2p-yamux", "multiaddr", - "parking_lot 0.11.2", - "pin-project 1.0.10", - "smallvec 1.8.0", - "wasm-timer", + "parking_lot 0.12.1", + "pin-project", + "rand 0.7.3", + "smallvec 1.10.0", +] + +[[package]] +name = "libp2p-autonat" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4decc51f3573653a9f4ecacb31b1b922dd20c25a6322bb15318ec04287ec46f9" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-request-response", + "libp2p-swarm", + "log", + "prost 0.10.4", + "prost-build 0.10.4", + "rand 0.8.5", ] [[package]] name = "libp2p-core" -version = "0.30.2" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86aad7d54df283db817becded03e611137698a6509d4237a96881976a162340c" +checksum = "fbf9b94cefab7599b2d3dff2f93bee218c6621d68590b23ede4485813cbcece6" dependencies = [ "asn1_der", "bs58", "ed25519-dalek", "either", "fnv", - "futures 0.3.21", + "futures", "futures-timer", "instant", "lazy_static", "libsecp256k1", "log", "multiaddr", - "multihash 0.14.0", + "multihash", "multistream-select", - "parking_lot 0.11.2", - "pin-project 1.0.10", - "prost", - "prost-build", + "parking_lot 0.12.1", + "pin-project", + "prost 0.10.4", + "prost-build 0.10.4", "rand 0.8.5", "ring", "rw-stream-sink", - "sha2 0.9.9", - "smallvec 1.8.0", + "sha2 0.10.6", + "smallvec 1.10.0", "thiserror", - "unsigned-varint 0.7.1", + "unsigned-varint", "void", "zeroize", ] [[package]] name = "libp2p-deflate" -version = "0.30.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51a800adb195f33de63f4b17b63fe64cfc23bf2c6a0d3d0d5321328664e65197" +checksum = "d0183dc2a3da1fbbf85e5b6cf51217f55b14f5daea0c455a9536eef646bfec71" dependencies = [ "flate2", - "futures 0.3.21", + "futures", "libp2p-core", ] [[package]] name = "libp2p-dns" -version = "0.30.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb8f89d15cb6e3c5bc22afff7513b11bab7856f2872d3cfba86f7f63a06bc498" +checksum = "6cbf54723250fa5d521383be789bf60efdabe6bacfb443f87da261019a49b4b5" dependencies = [ "async-std-resolver", - "futures 0.3.21", + "futures", "libp2p-core", "log", - "smallvec 1.8.0", + "parking_lot 0.12.1", + "smallvec 1.10.0", "trust-dns-resolver", ] [[package]] name = "libp2p-floodsub" -version = "0.31.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aab3d7210901ea51b7bae2b581aa34521797af8c4ec738c980bda4a06434067f" +checksum = "98a4b6ffd53e355775d24b76f583fdda54b3284806f678499b57913adb94f231" dependencies = [ "cuckoofilter", "fnv", - "futures 0.3.21", + "futures", "libp2p-core", "libp2p-swarm", "log", - "prost", - "prost-build", + "prost 0.10.4", + "prost-build 0.10.4", "rand 0.7.3", - "smallvec 1.8.0", + "smallvec 1.10.0", ] [[package]] name = "libp2p-gossipsub" -version = "0.33.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfeead619eb5dac46e65acc78c535a60aaec803d1428cca6407c3a4fc74d698d" +checksum = "74b4b888cfbeb1f5551acd3aa1366e01bf88ede26cc3c4645d0d2d004d5ca7b0" dependencies = [ - "asynchronous-codec 0.6.0", + "asynchronous-codec", "base64", "byteorder", - "bytes 1.1.0", + "bytes", "fnv", - "futures 0.3.21", + "futures", "hex_fmt", + "instant", "libp2p-core", "libp2p-swarm", "log", - "prost", - "prost-build", + "prometheus-client", + "prost 0.10.4", + "prost-build 0.10.4", "rand 0.7.3", - "regex 1.5.5", - "sha2 0.9.9", - "smallvec 1.8.0", - "unsigned-varint 0.7.1", + "regex 1.6.0", + "sha2 0.10.6", + "smallvec 1.10.0", + "unsigned-varint", "wasm-timer", ] [[package]] name = "libp2p-identify" -version = "0.31.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca1275574183f288ff8b72d535d5ffa5ea9292ef7829af8b47dcb197c7b0dcd" +checksum = "c50b585518f8efd06f93ac2f976bd672e17cdac794644b3117edd078e96bda06" dependencies = [ - "futures 0.3.21", + "asynchronous-codec", + "futures", + "futures-timer", "libp2p-core", "libp2p-swarm", "log", - "lru 0.6.6", - "prost", - "prost-build", - "smallvec 1.8.0", - "wasm-timer", + "lru", + "prost 0.10.4", + "prost-build 0.10.4", + "prost-codec", + "smallvec 1.10.0", + "thiserror", + "void", ] [[package]] name = "libp2p-kad" -version = "0.32.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2297dc0ca285f3a09d1368bde02449e539b46f94d32d53233f53f6625bcd3ba" +checksum = "740862893bb5f06ac24acc9d49bdeadc3a5e52e51818a30a25c1f3519da2c851" dependencies = [ - "arrayvec 0.5.2", - "asynchronous-codec 0.6.0", - "bytes 1.1.0", + "arrayvec 0.7.2", + "asynchronous-codec", + "bytes", "either", "fnv", - "futures 0.3.21", + "futures", + "futures-timer", + "instant", "libp2p-core", "libp2p-swarm", "log", - "prost", - "prost-build", + "prost 0.10.4", + "prost-build 0.10.4", "rand 0.7.3", - "sha2 0.9.9", - "smallvec 1.8.0", + "sha2 0.10.6", + "smallvec 1.10.0", + "thiserror", "uint", - "unsigned-varint 0.7.1", + "unsigned-varint", "void", - "wasm-timer", ] [[package]] name = "libp2p-mdns" -version = "0.32.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c864b64bdc8a84ff3910a0df88e6535f256191a450870f1e7e10cbf8e64d45" +checksum = "66e5e5919509603281033fd16306c61df7a4428ce274b67af5e14b07de5cdcb2" dependencies = [ "async-io", "data-encoding", "dns-parser", - "futures 0.3.21", + "futures", "if-watch", "lazy_static", "libp2p-core", "libp2p-swarm", "log", "rand 0.8.5", - "smallvec 1.8.0", - "socket2 0.4.4", + "smallvec 1.10.0", + "socket2", "void", ] [[package]] name = "libp2p-metrics" -version = "0.1.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4af432fcdd2f8ba4579b846489f8f0812cfd738ced2c0af39df9b1c48bbb6ab2" +checksum = "ef8aff4a1abef42328fbb30b17c853fff9be986dc39af17ee39f9c5f755c5e0c" dependencies = [ "libp2p-core", + "libp2p-gossipsub", "libp2p-identify", "libp2p-kad", "libp2p-ping", + "libp2p-relay", "libp2p-swarm", - "open-metrics-client", + "prometheus-client", ] [[package]] name = "libp2p-mplex" -version = "0.30.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2cd64ef597f40e14bfce0497f50ecb63dd6d201c61796daeb4227078834fbf" +checksum = "61fd1b20638ec209c5075dfb2e8ce6a7ea4ec3cd3ad7b77f7a477c06d53322e2" dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.1.0", - "futures 0.3.21", + "asynchronous-codec", + "bytes", + "futures", "libp2p-core", "log", "nohash-hasher", - "parking_lot 0.11.2", + "parking_lot 0.12.1", "rand 0.7.3", - "smallvec 1.8.0", - "unsigned-varint 0.7.1", + "smallvec 1.10.0", + "unsigned-varint", ] [[package]] name = "libp2p-noise" -version = "0.33.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8772c7a99088221bb7ca9c5c0574bf55046a7ab4c319f3619b275f28c8fb87a" +checksum = "762408cb5d84b49a600422d7f9a42c18012d8da6ebcd570f9a4a4290ba41fb6f" dependencies = [ - "bytes 1.1.0", + "bytes", "curve25519-dalek 3.2.0", - "futures 0.3.21", + "futures", "lazy_static", "libp2p-core", "log", - "prost", - "prost-build", + "prost 0.10.4", + "prost-build 0.10.4", "rand 0.8.5", - "sha2 0.9.9", + "sha2 0.10.6", "snow", "static_assertions", "x25519-dalek 1.1.1", @@ -3780,135 +3909,143 @@ dependencies = [ [[package]] name = "libp2p-ping" -version = "0.31.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80ef7b0ec5cf06530d9eb6cf59ae49d46a2c45663bde31c25a12f682664adbcf" +checksum = "100a6934ae1dbf8a693a4e7dd1d730fd60b774dafc45688ed63b554497c6c925" dependencies = [ - "futures 0.3.21", + "futures", + "futures-timer", + "instant", "libp2p-core", "libp2p-swarm", "log", "rand 0.7.3", "void", - "wasm-timer", ] [[package]] name = "libp2p-plaintext" -version = "0.30.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fba1a6ff33e4a274c89a3b1d78b9f34f32af13265cc5c46c16938262d4e945a" +checksum = "be27bf0820a6238a4e06365b096d428271cce85a129cf16f2fe9eb1610c4df86" dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.1.0", - "futures 0.3.21", + "asynchronous-codec", + "bytes", + "futures", "libp2p-core", "log", - "prost", - "prost-build", - "unsigned-varint 0.7.1", + "prost 0.10.4", + "prost-build 0.10.4", + "unsigned-varint", "void", ] [[package]] name = "libp2p-pnet" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1a458bbda880107b5b36fcb9b5a1ef0c329685da0e203ed692a8ebe64cc92c" +checksum = "1a5a702574223aa55d8878bdc8bf55c84a6086f87ddaddc28ce730b4caa81538" dependencies = [ - "futures 0.3.21", + "futures", "log", - "pin-project 1.0.10", - "rand 0.7.3", - "salsa20", - "sha3 0.9.1", + "pin-project", + "rand 0.8.5", + "salsa20 0.10.2", + "sha3", ] [[package]] name = "libp2p-relay" -version = "0.4.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2852b61c90fa8ce3c8fcc2aba76e6cefc20d648f9df29157d6b3a916278ef3e3" +checksum = "4931547ee0cce03971ccc1733ff05bb0c4349fd89120a39e9861e2bbe18843c3" dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.1.0", - "futures 0.3.21", + "asynchronous-codec", + "bytes", + "either", + "futures", "futures-timer", + "instant", "libp2p-core", "libp2p-swarm", "log", - "pin-project 1.0.10", - "prost", - "prost-build", - "rand 0.7.3", - "smallvec 1.8.0", - "unsigned-varint 0.7.1", + "pin-project", + "prost 0.10.4", + "prost-build 0.10.4", + "prost-codec", + "rand 0.8.5", + "smallvec 1.10.0", + "static_assertions", + "thiserror", "void", - "wasm-timer", ] [[package]] name = "libp2p-rendezvous" -version = "0.1.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14a6d2b9e7677eff61dc3d2854876aaf3976d84a01ef6664b610c77a0c9407c5" +checksum = "9511c9672ba33284838e349623319c8cad2d18cfad243ae46c6b7e8a2982ea4e" dependencies = [ - "asynchronous-codec 0.6.0", + "asynchronous-codec", "bimap", - "futures 0.3.21", + "futures", + "futures-timer", + "instant", "libp2p-core", "libp2p-swarm", "log", - "prost", - "prost-build", + "prost 0.10.4", + "prost-build 0.10.4", "rand 0.8.5", - "sha2 0.9.9", + "sha2 0.10.6", "thiserror", - "unsigned-varint 0.7.1", + "unsigned-varint", "void", - "wasm-timer", ] [[package]] name = "libp2p-request-response" -version = "0.13.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a877a4ced6d46bf84677e1974e8cf61fb434af73b2e96fb48d6cb6223a4634d8" +checksum = "508a189e2795d892c8f5c1fa1e9e0b1845d32d7b0b249dbf7b05b18811361843" dependencies = [ "async-trait", - "bytes 1.1.0", - "futures 0.3.21", + "bytes", + "futures", + "instant", "libp2p-core", "libp2p-swarm", "log", - "lru 0.7.5", "rand 0.7.3", - "smallvec 1.8.0", - "unsigned-varint 0.7.1", - "wasm-timer", + "smallvec 1.10.0", + "unsigned-varint", ] [[package]] name = "libp2p-swarm" -version = "0.31.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f5184a508f223bc100a12665517773fb8730e9f36fc09eefb670bf01b107ae9" +checksum = "95ac5be6c2de2d1ff3f7693fda6faf8a827b1f3e808202277783fea9f527d114" dependencies = [ "either", - "futures 0.3.21", + "fnv", + "futures", + "futures-timer", + "instant", "libp2p-core", "log", + "pin-project", "rand 0.7.3", - "smallvec 1.8.0", + "smallvec 1.10.0", + "thiserror", "void", - "wasm-timer", ] [[package]] name = "libp2p-swarm-derive" -version = "0.25.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "072c290f727d39bdc4e9d6d1c847978693d25a673bd757813681e33e5f6c00c2" +checksum = "9f54a64b6957249e0ce782f8abf41d97f69330d02bf229f0672d864f0650cc76" dependencies = [ "quote", "syn", @@ -3916,40 +4053,40 @@ dependencies = [ [[package]] name = "libp2p-tcp" -version = "0.30.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7399c5b6361ef525d41c11fcf51635724f832baf5819b30d3d873eabb4fbae4b" +checksum = "8a6771dc19aa3c65d6af9a8c65222bfc8fcd446630ddca487acd161fa6096f3b" dependencies = [ "async-io", - "futures 0.3.21", + "futures", "futures-timer", "if-watch", "ipnet", "libc", "libp2p-core", "log", - "socket2 0.4.4", + "socket2", ] [[package]] name = "libp2p-uds" -version = "0.30.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8b7563e46218165dfd60f64b96f7ce84590d75f53ecbdc74a7dd01450dc5973" +checksum = "d125e3e5f0d58f3c6ac21815b20cf4b6a88b8db9dc26368ea821838f4161fd4d" dependencies = [ "async-std", - "futures 0.3.21", + "futures", "libp2p-core", "log", ] [[package]] name = "libp2p-wasm-ext" -version = "0.30.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1008a302b73c5020251f9708c653f5ed08368e530e247cc9cd2f109ff30042cf" +checksum = "ec894790eec3c1608f8d1a8a0bdf0dbeb79ed4de2dce964222011c2896dfa05a" dependencies = [ - "futures 0.3.21", + "futures", "js-sys", "libp2p-core", "parity-send-wrapper", @@ -3959,31 +4096,32 @@ dependencies = [ [[package]] name = "libp2p-websocket" -version = "0.31.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e12df82d1ed64969371a9e65ea92b91064658604cc2576c2757f18ead9a1cf" +checksum = "9808e57e81be76ff841c106b4c5974fb4d41a233a7bdd2afbf1687ac6def3818" dependencies = [ "either", - "futures 0.3.21", + "futures", "futures-rustls", "libp2p-core", "log", + "parking_lot 0.12.1", "quicksink", "rw-stream-sink", "soketto", - "url 2.2.2", - "webpki-roots 0.21.1", + "url", + "webpki-roots", ] [[package]] name = "libp2p-yamux" -version = "0.34.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7362abb8867d7187e7e93df17f460d554c997fc5c8ac57dc1259057f6889af" +checksum = "c6dea686217a06072033dc025631932810e2f6ad784e4fafa42e27d311c7a81c" dependencies = [ - "futures 0.3.21", + "futures", "libp2p-core", - "parking_lot 0.11.2", + "parking_lot 0.12.1", "thiserror", "yamux", ] @@ -4018,9 +4156,9 @@ dependencies = [ [[package]] name = "libsecp256k1" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0452aac8bab02242429380e9b2f94ea20cea2b37e2c1777a1358799bbe97f37" +checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ "arrayref", "base64", @@ -4066,20 +4204,29 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.5" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f35facd4a5673cb5a48822be2be1d4236c1c99cb4113cab7061ac720d5bf859" +checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" dependencies = [ "cc", "pkg-config", "vcpkg", ] +[[package]] +name = "link-cplusplus" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +dependencies = [ + "cc", +] + [[package]] name = "linked-hash-map" -version = "0.5.4" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linked_hash_set" @@ -4102,9 +4249,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.0.36" +version = "0.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a261afc61b7a5e323933b402ca6a1765183687c614789b1e4db7762ed4230bca" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" [[package]] name = "lite-json" @@ -4144,9 +4291,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" dependencies = [ "autocfg 1.1.0", "scopeguard 1.1.0", @@ -4158,41 +4305,32 @@ version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "value-bag", ] [[package]] name = "loom" -version = "0.5.4" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc5c7d328e32cc4954e8e01193d7f0ef5ab257b5090b70a964e099a36034309" +checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "generator", "scoped-tls", "serde", "serde_json", "tracing", - "tracing-subscriber 0.3.11", + "tracing-subscriber 0.3.16", ] [[package]] name = "lru" -version = "0.6.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" dependencies = [ - "hashbrown 0.11.2", -] - -[[package]] -name = "lru" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32613e41de4c47ab04970c348ca7ae7382cf116625755af070b008a15516a889" -dependencies = [ - "hashbrown 0.11.2", + "hashbrown 0.12.3", ] [[package]] @@ -4206,9 +4344,9 @@ dependencies = [ [[package]] name = "lz4" -version = "1.23.3" +version = "1.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4edcb94251b1c375c459e5abe9fb0168c1c826c3370172684844f8f3f8d1a885" +checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" dependencies = [ "libc", "lz4-sys", @@ -4216,9 +4354,9 @@ dependencies = [ [[package]] name = "lz4-sys" -version = "1.9.3" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7be8908e2ed6f31c02db8a9fa962f03e36c53fbfde437363eae3306b85d7e17" +checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" dependencies = [ "cc", "libc", @@ -4233,12 +4371,6 @@ dependencies = [ "libc", ] -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - [[package]] name = "match_cfg" version = "0.1.0" @@ -4295,24 +4427,24 @@ dependencies = [ [[package]] name = "memchr" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] -name = "memmap2" -version = "0.2.3" +name = "memfd" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "723e3ebdcdc5c023db1df315364573789f8857c11b631a2fdfad7c00f5c046b4" +checksum = "480b5a5de855d11ff13195950bdc8b98b5e942ef47afc447f6615cdcc4e15d80" dependencies = [ - "libc", + "rustix", ] [[package]] name = "memmap2" -version = "0.5.3" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057a3db23999c867821a7a59feb06a578fcb03685e983dff90daf9e7d24ac08f" +checksum = "95af15f345b17af2efc8ead6080fb8bc376f8cec1b35277b935637595fe77498" dependencies = [ "libc", ] @@ -4333,15 +4465,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a" dependencies = [ "hash-db", - "hashbrown 0.12.0", + "hashbrown 0.12.3", "parity-util-mem", ] [[package]] name = "memory_units" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" [[package]] name = "merlin" @@ -4369,129 +4501,68 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.4.4" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" dependencies = [ "adler", - "autocfg 1.1.0", ] [[package]] name = "mio" -version = "0.6.23" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", "libc", "log", - "miow 0.2.2", - "net2", - "slab", - "winapi 0.2.8", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.42.0", ] -[[package]] -name = "mio" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52da4364ffb0e4fe33a9841a98a3f3014fb964045ce4f7a45a398243c8d6b0c9" -dependencies = [ - "libc", - "log", - "miow 0.3.7", - "ntapi", - "wasi 0.11.0+wasi-snapshot-preview1", - "winapi 0.3.9", -] - -[[package]] -name = "mio-extras" -version = "2.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" -dependencies = [ - "lazycell", - "log", - "mio 0.6.23", - "slab", -] - -[[package]] -name = "miow" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - -[[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "more-asserts" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" - [[package]] name = "multer" -version = "2.0.2" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f8f35e687561d5c1667590911e6698a8cb714a134a7505718a182e7bc9d3836" +checksum = "6ed4198ce7a4cbd2a57af78d28c6fbb57d81ac5f1d6ad79ac6c5587419cbdf22" dependencies = [ - "bytes 1.1.0", + "bytes", "encoding_rs", "futures-util", "http", "httparse", "log", - "memchr 2.4.1", + "memchr 2.5.0", "mime", - "spin 0.9.2", + "spin 0.9.4", "tokio", - "tokio-util 0.6.9", + "tokio-util", "version_check", ] [[package]] name = "multiaddr" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ee4ea82141951ac6379f964f71b20876d43712bea8faf6dd1a375e08a46499" +checksum = "3c580bfdd8803cce319b047d239559a22f809094aaea4ac13902a1fdcfcd4261" dependencies = [ "arrayref", "bs58", "byteorder", "data-encoding", - "multihash 0.14.0", - "percent-encoding 2.1.0", + "multihash", + "percent-encoding", "serde", "static_assertions", - "unsigned-varint 0.7.1", - "url 2.2.2", + "unsigned-varint", + "url", ] [[package]] name = "multibase" -version = "0.8.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b78c60039650ff12e140ae867ef5299a58e19dded4d334c849dc7177083667e2" +checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" dependencies = [ "base-x", "data-encoding", @@ -4500,41 +4571,28 @@ dependencies = [ [[package]] name = "multihash" -version = "0.13.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dac63698b887d2d929306ea48b63760431ff8a24fac40ddb22f9c7f49fb7cab" +checksum = "1c346cf9999c631f002d8f977c4eaeaa0e6386f16007202308d0b3757522c2cc" dependencies = [ "blake2b_simd", "blake2s_simd", "blake3", - "digest 0.9.0", - "generic-array 0.14.6", + "core2", + "digest 0.10.5", "multihash-derive", - "sha2 0.9.9", - "sha3 0.9.1", - "unsigned-varint 0.5.1", -] - -[[package]] -name = "multihash" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "752a61cd890ff691b4411423d23816d5866dd5621e4d1c5687a53b94b5a979d8" -dependencies = [ - "digest 0.9.0", - "generic-array 0.14.6", - "multihash-derive", - "sha2 0.9.9", - "unsigned-varint 0.7.1", + "sha2 0.10.6", + "sha3", + "unsigned-varint", ] [[package]] name = "multihash-derive" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99" +checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate", "proc-macro-error", "proc-macro2", "quote", @@ -4550,16 +4608,16 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "multistream-select" -version = "0.10.4" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56a336acba8bc87c8876f6425407dbbe6c417bf478b22015f8fb0994ef3bc0ab" +checksum = "363a84be6453a70e63513660f4894ef815daf88e3356bffcda9ca27d810ce83b" dependencies = [ - "bytes 1.1.0", - "futures 0.3.21", + "bytes", + "futures", "log", - "pin-project 1.0.10", - "smallvec 1.8.0", - "unsigned-varint 0.7.1", + "pin-project", + "smallvec 1.10.0", + "unsigned-varint", ] [[package]] @@ -4572,8 +4630,8 @@ dependencies = [ "matrixmultiply", "nalgebra-macros", "num-complex", - "num-rational 0.4.0", - "num-traits 0.2.14", + "num-rational 0.4.1", + "num-traits 0.2.15", "rand 0.8.5", "rand_distr", "simba", @@ -4619,159 +4677,110 @@ dependencies = [ ] [[package]] -name = "net2" -version = "0.2.37" +name = "netlink-packet-core" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" +checksum = "345b8ab5bd4e71a2986663e88c56856699d060e78e152e6e9d7966fcd5491297" dependencies = [ - "cfg-if 0.1.10", + "anyhow", + "byteorder", "libc", - "winapi 0.3.9", + "netlink-packet-utils", ] [[package]] -name = "node-executor" -version = "3.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +name = "netlink-packet-route" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab" dependencies = [ - "frame-benchmarking", - "node-primitives", - "node-runtime", - "parity-scale-codec", - "sc-executor", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "anyhow", + "bitflags", + "byteorder", + "libc", + "netlink-packet-core", + "netlink-packet-utils", ] [[package]] -name = "node-primitives" -version = "2.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +name = "netlink-packet-utils" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25af9cf0dc55498b7bd94a1508af7a78706aa0ab715a73c5169273e03c84845e" dependencies = [ - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "anyhow", + "byteorder", + "paste 1.0.9", + "thiserror", ] [[package]] -name = "node-rpc" -version = "3.0.0-dev" +name = "netlink-proto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" dependencies = [ - "jsonrpc-core", - "node-primitives", - "pallet-contracts-rpc", - "pallet-mmr-rpc", - "pallet-transaction-payment-rpc", - "sc-chain-spec", + "bytes", + "futures", + "log", + "netlink-packet-core", + "netlink-sys", + "thiserror", + "tokio", +] + +[[package]] +name = "netlink-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92b654097027250401127914afb37cb1f311df6610a9891ff07a757e94199027" +dependencies = [ + "async-io", + "bytes", + "futures", + "libc", + "log", +] + +[[package]] +name = "nix" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc" +dependencies = [ + "bitflags", + "cfg-if", + "libc", +] + +[[package]] +name = "node-inspect" +version = "0.9.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "clap 3.2.23", + "parity-scale-codec", + "sc-cli", "sc-client-api", - "sc-consensus-babe", - "sc-consensus-babe-rpc", - "sc-consensus-epochs", - "sc-finality-grandpa", - "sc-finality-grandpa-rpc", - "sc-rpc", - "sc-rpc-api", - "sc-sync-state-rpc", - "sc-transaction-pool-api", - "sp-api", - "sp-block-builder", + "sc-executor", + "sc-service", "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "substrate-frame-rpc-system", + "sp-core", + "sp-runtime", + "thiserror", ] [[package]] -name = "node-runtime" -version = "3.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +name = "node-primitives" +version = "2.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-executive", - "frame-support", "frame-system", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "log", - "node-primitives", - "pallet-asset-tx-payment", - "pallet-assets", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-babe", - "pallet-bags-list", - "pallet-balances", - "pallet-bounties", - "pallet-child-bounties", - "pallet-collective", - "pallet-contracts", - "pallet-contracts-primitives", - "pallet-contracts-rpc-runtime-api", - "pallet-conviction-voting", - "pallet-democracy", - "pallet-election-provider-multi-phase", - "pallet-elections-phragmen", - "pallet-gilt", - "pallet-grandpa", - "pallet-identity", - "pallet-im-online", - "pallet-indices", - "pallet-lottery", - "pallet-membership", - "pallet-mmr", - "pallet-multisig", - "pallet-offences", - "pallet-preimage", - "pallet-proxy", - "pallet-randomness-collective-flip", - "pallet-recovery", - "pallet-referenda", - "pallet-scheduler", - "pallet-session", - "pallet-society", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-state-trie-migration", - "pallet-sudo", - "pallet-timestamp", - "pallet-tips", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-transaction-storage", - "pallet-treasury", - "pallet-uniques", - "pallet-utility", - "pallet-vesting", - "pallet-whitelist", "parity-scale-codec", "scale-info", - "sp-api", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-babe", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-offchain", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-sandbox", - "sp-session", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-transaction-pool", - "sp-version", - "static_assertions", - "substrate-wasm-builder", + "sp-application-crypto", + "sp-core", + "sp-runtime", ] [[package]] @@ -4792,16 +4801,17 @@ version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" dependencies = [ - "memchr 2.4.1", + "memchr 2.5.0", "minimal-lexical", ] [[package]] -name = "ntapi" -version = "0.3.7" +name = "nu-ansi-term" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ + "overload", "winapi 0.3.9", ] @@ -4813,36 +4823,47 @@ checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" dependencies = [ "autocfg 1.1.0", "num-integer", - "num-traits 0.2.14", + "num-traits 0.2.15", +] + +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg 1.1.0", + "num-integer", + "num-traits 0.2.15", ] [[package]] name = "num-complex" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085" +checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" dependencies = [ - "num-traits 0.2.14", + "num-traits 0.2.15", ] [[package]] name = "num-format" -version = "0.4.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465" +checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" dependencies = [ - "arrayvec 0.4.12", - "itoa 0.4.8", + "arrayvec 0.7.2", + "itoa", ] [[package]] name = "num-integer" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ "autocfg 1.1.0", - "num-traits 0.2.14", + "num-traits 0.2.15", ] [[package]] @@ -4852,20 +4873,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ "autocfg 1.1.0", - "num-bigint", + "num-bigint 0.2.6", "num-integer", - "num-traits 0.2.14", + "num-traits 0.2.15", ] [[package]] name = "num-rational" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg 1.1.0", + "num-bigint 0.4.3", "num-integer", - "num-traits 0.2.14", + "num-traits 0.2.15", ] [[package]] @@ -4874,14 +4896,14 @@ version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" dependencies = [ - "num-traits 0.2.14", + "num-traits 0.2.15", ] [[package]] name = "num-traits" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg 1.1.0", "libm", @@ -4908,13 +4930,14 @@ dependencies = [ [[package]] name = "object" -version = "0.27.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9" +checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", + "hashbrown 0.12.3", "indexmap", - "memchr 2.4.1", + "memchr 2.5.0", ] [[package]] @@ -4928,9 +4951,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.12.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "opaque-debug" @@ -4945,42 +4968,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] -name = "open-metrics-client" -version = "0.12.0" +name = "openssl" +version = "0.10.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7337d80c23c2d8b1349563981bc4fb531220733743ba8115454a67b181173f0d" +checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" dependencies = [ - "dtoa", - "itoa 0.4.8", - "open-metrics-client-derive-text-encode", - "owning_ref", + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell 1.16.0", + "openssl-macros", + "openssl-sys", ] [[package]] -name = "open-metrics-client-derive-text-encode" -version = "0.1.1" +name = "openssl-macros" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15c83b586f00268c619c1cb3340ec1a6f59dd9ba1d9833a273a68e6d5cd8ffc" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" dependencies = [ "proc-macro2", "quote", "syn", ] -[[package]] -name = "openssl" -version = "0.10.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" -dependencies = [ - "bitflags", - "cfg-if 1.0.0", - "foreign-types", - "libc", - "once_cell 1.12.0", - "openssl-sys", -] - [[package]] name = "openssl-probe" version = "0.1.5" @@ -4989,9 +5001,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.72" +version = "0.9.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb" +checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" dependencies = [ "autocfg 1.1.0", "cc", @@ -5002,12 +5014,15 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.0.0" +version = "6.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" -dependencies = [ - "memchr 2.4.1", -] +checksum = "3baf96e39c5359d2eb0dd6ccb42c62b91d9678aa68160d261b9e0ccbf9e9dea9" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "owning_ref" @@ -5018,56 +5033,40 @@ dependencies = [ "stable_deref_trait", ] -[[package]] -name = "pallet-asset-tx-payment" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "frame-support", - "frame-system", - "pallet-transaction-payment", - "parity-scale-codec", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - [[package]] name = "pallet-assets" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "frame-system", "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", "sp-authority-discovery", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "frame-system", @@ -5075,14 +5074,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5093,20 +5092,20 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", "sp-consensus-babe", "sp-consensus-vrf", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", "sp-session", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", ] [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5116,17 +5115,17 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", ] [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5134,14 +5133,14 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5150,34 +5149,16 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "pallet-child-bounties" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "frame-support", - "frame-system", - "log", - "pallet-bounties", - "pallet-treasury", - "parity-scale-codec", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5185,10 +5166,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] @@ -5203,22 +5184,23 @@ dependencies = [ "pallet-authorship", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", ] [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "bitflags", "frame-benchmarking", "frame-support", "frame-system", + "impl-trait-for-tuples", "log", "pallet-contracts-primitives", "pallet-contracts-proc-macro", @@ -5226,77 +5208,45 @@ dependencies = [ "rand 0.8.5", "scale-info", "serde", - "smallvec 1.8.0", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-sandbox", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "wasm-instrument", - "wasmi-validation", -] - -[[package]] -name = "pallet-contracts-primitives" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "bitflags", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "pallet-contracts-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "smallvec 1.10.0", + "sp-core", + "sp-io", + "sp-runtime", + "sp-sandbox", + "sp-std", + "wasm-instrument", + "wasmi-validation", ] [[package]] -name = "pallet-contracts-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +name = "pallet-contracts-primitives" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "pallet-contracts-primitives", - "pallet-contracts-rpc-runtime-api", + "bitflags", "parity-scale-codec", + "scale-info", "serde", - "sp-api", - "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] -name = "pallet-contracts-rpc-runtime-api" +name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "pallet-contracts-primitives", - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "proc-macro2", + "quote", + "syn", ] [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "assert_matches", "frame-benchmarking", @@ -5305,15 +5255,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5321,38 +5271,52 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", "log", + "pallet-election-provider-support-benchmarking", "parity-scale-codec", "rand 0.7.3", "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-arithmetic", + "sp-core", + "sp-io", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", "static_assertions", "strum", ] +[[package]] +name = "pallet-election-provider-support-benchmarking" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "frame-benchmarking", + "frame-election-provider-support", + "frame-system", + "parity-scale-codec", + "sp-npos-elections", + "sp-runtime", +] + [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5360,11 +5324,11 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] @@ -5387,34 +5351,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "pallet-gilt" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", + "sp-tracing", ] [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5424,20 +5373,20 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", + "sp-core", "sp-finality-grandpa", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", "sp-session", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", ] [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5445,15 +5394,15 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5462,49 +5411,49 @@ dependencies = [ "pallet-authorship", "parity-scale-codec", "scale-info", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", ] [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keyring 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-keyring", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-lottery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5512,82 +5461,78 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] -name = "pallet-mmr" +name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "ckb-merkle-mountain-range", "frame-benchmarking", "frame-support", "frame-system", - "pallet-mmr-primitives", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] -name = "pallet-mmr-primitives" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +name = "pallet-nomination-pools" +version = "1.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "frame-system", "log", "parity-scale-codec", - "serde", - "sp-api", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-std", ] [[package]] -name = "pallet-mmr-rpc" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +name = "pallet-nomination-pools-benchmarking" +version = "1.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "pallet-mmr-primitives", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "pallet-bags-list", + "pallet-nomination-pools", + "pallet-staking", "parity-scale-codec", - "serde", - "sp-api", - "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "scale-info", + "sp-runtime", + "sp-runtime-interface", + "sp-staking", + "sp-std", ] [[package]] -name = "pallet-multisig" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +name = "pallet-nomination-pools-runtime-api" +version = "1.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", "parity-scale-codec", - "scale-info", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-api", + "sp-std", ] [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "frame-system", @@ -5596,15 +5541,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", ] [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5619,25 +5564,25 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", ] [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] @@ -5663,12 +5608,12 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.11.2", "scale-info", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-keystore", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "sp-staking", "substrate-common", ] @@ -5676,50 +5621,51 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "safe-mix", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "assert_matches", "frame-benchmarking", @@ -5728,9 +5674,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-arithmetic", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] @@ -5754,19 +5701,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", "substrate-common", ] [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5774,15 +5721,15 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "frame-system", @@ -5791,19 +5738,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", "sp-session", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", + "sp-trie", ] [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5811,9 +5758,9 @@ dependencies = [ "pallet-session", "pallet-staking", "rand 0.7.3", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "sp-session", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", ] [[package]] @@ -5834,32 +5781,32 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", + "sp-core", + "sp-io", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "sp-staking", ] [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "rand_chacha 0.2.2", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5872,11 +5819,11 @@ dependencies = [ "rand_chacha 0.2.2", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", + "sp-io", + "sp-runtime", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", ] [[package]] @@ -5895,60 +5842,43 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", ] [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate", "proc-macro2", "quote", "syn", ] -[[package]] -name = "pallet-state-trie-migration" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5957,16 +5887,16 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", + "sp-std", "sp-timestamp", ] [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5976,10 +5906,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] @@ -5993,82 +5923,80 @@ dependencies = [ "pallet-constraints", "parity-scale-codec", "scale-info", - "smallvec 1.8.0", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "smallvec 1.10.0", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "scale-info", "serde", - "smallvec 1.8.0", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", + "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", "sp-api", "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", ] [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "sp-api", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", ] [[package]] name = "pallet-transaction-storage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ + "array-bytes", "frame-benchmarking", "frame-support", "frame-system", - "hex-literal", + "log", "pallet-balances", "parity-scale-codec", "scale-info", "serde", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-runtime", + "sp-std", "sp-transaction-storage-proof", ] [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -6078,45 +6006,30 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "pallet-uniques" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-benchmarking", "frame-support", @@ -6124,29 +6037,15 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "pallet-whitelist" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "parity-db" -version = "0.3.11" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e7f385d61562f5834282b90aa50b41f38a35cf64d5209b8b05487b50553dbe" +checksum = "2c8fdb726a43661fa54b43e7114e6b88b2289cae388eb3ad766d9d1754d83fce" dependencies = [ "blake2-rfc", "crc32fast", @@ -6155,21 +6054,22 @@ dependencies = [ "libc", "log", "lz4", - "memmap2 0.2.3", - "parking_lot 0.11.2", + "memmap2", + "parking_lot 0.12.1", "rand 0.8.5", "snap", ] [[package]] name = "parity-scale-codec" -version = "3.1.2" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8b44461635bbb1a0300f100a841e571e7d919c81c73075ef5d152ffdb521066" +checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" dependencies = [ "arrayvec 0.7.2", "bitvec", "byte-slice-cast", + "bytes", "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", @@ -6177,11 +6077,11 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.2" +version = "3.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c45ed1f39709f5a89338fab50e59816b2e8815f5bb58276e7ddf9afd495f73f8" +checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate", "proc-macro2", "quote", "syn", @@ -6193,33 +6093,19 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" -[[package]] -name = "parity-tokio-ipc" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9981e32fb75e004cc148f5fb70342f393830e0a4aa62e3cc93b50976218d42b6" -dependencies = [ - "futures 0.3.21", - "libc", - "log", - "rand 0.7.3", - "tokio", - "winapi 0.3.9", -] - [[package]] name = "parity-util-mem" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" dependencies = [ - "cfg-if 1.0.0", - "hashbrown 0.12.0", + "cfg-if", + "hashbrown 0.12.3", "impl-trait-for-tuples", "parity-util-mem-derive", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "primitive-types", - "smallvec 1.8.0", + "smallvec 1.10.0", "winapi 0.3.9", ] @@ -6245,27 +6131,9 @@ dependencies = [ [[package]] name = "parity-wasm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" - -[[package]] -name = "parity-ws" -version = "0.11.1" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5983d3929ad50f12c3eb9a6743f19d691866ecd44da74c0a3308c3f8a56df0c6" -dependencies = [ - "byteorder", - "bytes 0.4.12", - "httparse", - "log", - "mio 0.6.23", - "mio-extras", - "rand 0.7.3", - "sha-1 0.8.2", - "slab", - "url 2.2.2", -] +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" [[package]] name = "parking" @@ -6290,18 +6158,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", - "lock_api 0.4.7", + "lock_api 0.4.9", "parking_lot_core 0.8.5", ] [[package]] name = "parking_lot" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ - "lock_api 0.4.7", - "parking_lot_core 0.9.2", + "lock_api 0.4.9", + "parking_lot_core 0.9.4", ] [[package]] @@ -6323,25 +6191,25 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "instant", "libc", "redox_syscall", - "smallvec 1.8.0", + "smallvec 1.10.0", "winapi 0.3.9", ] [[package]] name = "parking_lot_core" -version = "0.9.2" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "995f667a6c822200b0433ac218e05582f0e2efa1b922a3fd2fbaadc5f87bab37" +checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall", - "smallvec 1.8.0", - "windows-sys", + "smallvec 1.10.0", + "windows-sys 0.42.0", ] [[package]] @@ -6367,9 +6235,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc" +checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" [[package]] name = "paste-impl" @@ -6415,7 +6283,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -6449,30 +6317,25 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "percent-encoding" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" - -[[package]] -name = "percent-encoding" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.1.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +checksum = "dbc7bc69c062e492337d74d59b120c274fd3d261b6bf6d3207d499b4b379c41a" dependencies = [ + "thiserror", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.1.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" +checksum = "60b75706b9642ebcb34dab3bc7750f811609a0eb1dd8b88c2d15bf628c1c65b2" dependencies = [ "pest", "pest_generator", @@ -6480,9 +6343,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.1.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" +checksum = "f4f9272122f5979a6511a749af9db9bfc810393f63119970d7085fed1c4ea0db" dependencies = [ "pest", "pest_meta", @@ -6493,20 +6356,20 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.1.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d" +checksum = "4c8717927f9b79515e565a64fe46c38b8cd0427e64c40680b14a7365ab09ac8d" dependencies = [ - "maplit", + "once_cell 1.16.0", "pest", - "sha-1 0.8.2", + "sha1", ] [[package]] name = "petgraph" -version = "0.6.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f" +checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" dependencies = [ "fixedbitset", "indexmap", @@ -6514,38 +6377,18 @@ dependencies = [ [[package]] name = "pin-project" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9615c18d31137579e9ff063499264ddc1278e7b1982757ebc111028c4d1dc909" -dependencies = [ - "pin-project-internal 0.4.29", -] - -[[package]] -name = "pin-project" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e" -dependencies = [ - "pin-project-internal 1.0.10", -] - -[[package]] -name = "pin-project-internal" -version = "0.4.29" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "044964427019eed9d49d9d5bbce6047ef18f37100ea400912a9fa4a3523ab12a" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" dependencies = [ - "proc-macro2", - "quote", - "syn", + "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.10" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" dependencies = [ "proc-macro2", "quote", @@ -6560,9 +6403,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" [[package]] name = "pin-project-lite" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" [[package]] name = "pin-utils" @@ -6583,9 +6426,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "platforms" @@ -6595,11 +6438,12 @@ checksum = "e8d0eef3571242013a0d5dc84861c3ae4a652e56e12adf8bdc26ff5f8cb34c94" [[package]] name = "polling" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259" +checksum = "ab4609a838d88b73d8238967b60dd115cc08d38e2bbaf51ee1e4b695f89122e2" dependencies = [ - "cfg-if 1.0.0", + "autocfg 1.1.0", + "cfg-if", "libc", "log", "wepoll-ffi", @@ -6612,7 +6456,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" dependencies = [ - "cpufeatures 0.2.2", + "cpufeatures", "opaque-debug 0.3.0", "universal-hash 0.4.1", ] @@ -6623,7 +6467,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ - "cpufeatures 0.2.2", + "cpufeatures", "opaque-debug 0.3.0", "universal-hash 0.5.0", ] @@ -6634,12 +6478,24 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" dependencies = [ - "cfg-if 1.0.0", - "cpufeatures 0.2.2", + "cfg-if", + "cpufeatures", "opaque-debug 0.3.0", "universal-hash 0.4.1", ] +[[package]] +name = "polyval" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug 0.3.0", + "universal-hash 0.5.0", +] + [[package]] name = "ppv-lite86" version = "0.2.16" @@ -6661,19 +6517,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" -dependencies = [ - "toml", -] - -[[package]] -name = "proc-macro-crate" -version = "1.1.3" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" +checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" dependencies = [ + "once_cell 1.16.0", "thiserror", "toml", ] @@ -6710,11 +6558,11 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro2" -version = "1.0.37" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" +checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] @@ -6738,53 +6586,134 @@ checksum = "8bccbff07d5ed689c4087d20d7307a52ab6141edeedf487c3876a55b86cf63df" [[package]] name = "prometheus" -version = "0.13.0" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f64969ffd5dd8f39bd57a68ac53c163a095ed9d0fb707146da1b27025a3504" +checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fnv", "lazy_static", - "memchr 2.4.1", - "parking_lot 0.11.2", + "memchr 2.5.0", + "parking_lot 0.12.1", "thiserror", ] [[package]] -name = "prost" -version = "0.9.0" +name = "prometheus-client" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1abe0255c04d15f571427a2d1e00099016506cf3297b53853acd2b7eb87825" +dependencies = [ + "dtoa", + "itoa", + "owning_ref", + "prometheus-client-derive-text-encode", +] + +[[package]] +name = "prometheus-client-derive-text-encode" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8e12d01b9d66ad9eb4529c57666b6263fc1993cb30261d83ead658fdd932652" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "prost" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71adf41db68aa0daaefc69bb30bcd68ded9b9abaad5d1fbb6304c4fb390e083e" +dependencies = [ + "bytes", + "prost-derive 0.10.1", +] + +[[package]] +name = "prost" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "399c3c31cdec40583bb68f0b18403400d01ec4289c383aa047560439952c4dd7" +dependencies = [ + "bytes", + "prost-derive 0.11.0", +] + +[[package]] +name = "prost-build" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae5a4388762d5815a9fc0dea33c56b021cdc8dde0c55e0c9ca57197254b0cab" +dependencies = [ + "bytes", + "cfg-if", + "cmake", + "heck 0.4.0", + "itertools", + "lazy_static", + "log", + "multimap", + "petgraph", + "prost 0.10.4", + "prost-types 0.10.1", + "regex 1.6.0", + "tempfile", + "which", +] + +[[package]] +name = "prost-build" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f835c582e6bd972ba8347313300219fed5bfa52caf175298d860b61ff6069bb" +dependencies = [ + "bytes", + "heck 0.4.0", + "itertools", + "lazy_static", + "log", + "multimap", + "petgraph", + "prost 0.11.0", + "prost-types 0.11.1", + "regex 1.6.0", + "tempfile", + "which", +] + +[[package]] +name = "prost-codec" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" +checksum = "00af1e92c33b4813cc79fda3f2dbf56af5169709be0202df730e9ebc3e4cd007" dependencies = [ - "bytes 1.1.0", - "prost-derive", + "asynchronous-codec", + "bytes", + "prost 0.10.4", + "thiserror", + "unsigned-varint", ] [[package]] -name = "prost-build" -version = "0.9.0" +name = "prost-derive" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" +checksum = "7b670f45da57fb8542ebdbb6105a925fe571b67f9e7ed9f47a06a84e72b4e7cc" dependencies = [ - "bytes 1.1.0", - "heck 0.3.3", + "anyhow", "itertools", - "lazy_static", - "log", - "multimap", - "petgraph", - "prost", - "prost-types", - "regex 1.5.5", - "tempfile", - "which", + "proc-macro2", + "quote", + "syn", ] [[package]] name = "prost-derive" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" +checksum = "7345d5f0e08c0536d7ac7229952590239e77abf0a0100a1b1d890add6ea96364" dependencies = [ "anyhow", "itertools", @@ -6795,19 +6724,29 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.9.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" +checksum = "2d0a014229361011dc8e69c8a1ec6c2e8d0f2af7c91e3ea3f5b2170298461e68" dependencies = [ - "bytes 1.1.0", - "prost", + "bytes", + "prost 0.10.4", +] + +[[package]] +name = "prost-types" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dfaa718ad76a44b3415e6c4d53b17c8f99160dcb3a99b10470fce8ad43f6e3e" +dependencies = [ + "bytes", + "prost 0.11.0", ] [[package]] name = "psm" -version = "0.1.18" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871372391786ccec00d3c5d3d6608905b3d4db263639cfe075d3b60a736d115a" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" dependencies = [ "cc", ] @@ -6818,12 +6757,6 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" -[[package]] -name = "quick-error" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" - [[package]] name = "quicksink" version = "0.1.2" @@ -6837,9 +6770,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.17" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" dependencies = [ "proc-macro2", ] @@ -6954,7 +6887,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.6", + "getrandom 0.2.8", ] [[package]] @@ -6963,7 +6896,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ - "num-traits 0.2.14", + "num-traits 0.2.15", "rand 0.8.5", ] @@ -7038,6 +6971,15 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_pcg" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" +dependencies = [ + "rand_core 0.6.4", +] + [[package]] name = "rand_xorshift" version = "0.1.1" @@ -7055,9 +6997,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.5.1" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" +checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" dependencies = [ "autocfg 1.1.0", "crossbeam-deque", @@ -7067,14 +7009,13 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" +checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" dependencies = [ "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "lazy_static", "num_cpus", ] @@ -7089,9 +7030,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.13" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ "bitflags", ] @@ -7102,25 +7043,25 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.6", + "getrandom 0.2.8", "redox_syscall", "thiserror", ] [[package]] name = "ref-cast" -version = "1.0.6" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300f2a835d808734ee295d45007adacb9ebb29dd3ae2424acfa17930cae541da" +checksum = "12a733f1746c929b4913fe48f8697fcf9c55e3304ba251a79ffb41adfeaf49c2" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.6" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c38e3aecd2b21cb3959637b883bb3714bc7e43f0268b9a29d3743ee3e55cdd2" +checksum = "5887de4a01acafd221861463be6113e6e87275e79804e56779f4cdc131c60368" dependencies = [ "proc-macro2", "quote", @@ -7128,14 +7069,15 @@ dependencies = [ ] [[package]] -name = "regalloc" -version = "0.0.33" +name = "regalloc2" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d808cff91dfca7b239d40b972ba628add94892b1d9e19a842aedc5cfae8ab1a" +checksum = "d43a209257d978ef079f3d446331d0f1794f5e0fc19b306a199983857833a779" dependencies = [ + "fxhash", "log", - "rustc-hash", - "smallvec 1.8.0", + "slice-group-by", + "smallvec 1.10.0", ] [[package]] @@ -7153,13 +7095,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.5.5" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" +checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" dependencies = [ - "aho-corasick 0.7.18", - "memchr 2.4.1", - "regex-syntax 0.6.25", + "aho-corasick 0.7.19", + "memchr 2.5.0", + "regex-syntax 0.6.27", ] [[package]] @@ -7168,7 +7110,7 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" dependencies = [ - "regex-syntax 0.6.25", + "regex-syntax 0.6.27", ] [[package]] @@ -7179,20 +7121,25 @@ checksum = "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957" [[package]] name = "regex-syntax" -version = "0.6.25" +version = "0.6.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" +checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" [[package]] -name = "region" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877e54ea2adcd70d80e9179344c97f93ef0dffd6b03e1f4529e6e83ab2fa9ae0" +name = "remote-externalities" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "bitflags", - "libc", - "mach", - "winapi 0.3.9", + "env_logger", + "jsonrpsee", + "log", + "parity-scale-codec", + "serde", + "serde_json", + "sp-core", + "sp-io", + "sp-runtime", + "sp-version", ] [[package]] @@ -7206,12 +7153,12 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.10" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a1f7aa4f35e5e8b4160449f51afc758f0ce6454315a9fa7d0d113e958c41eb" +checksum = "431949c384f4e2ae07605ccaa56d1d9d2ecdb5cadd4f9577ccfab29f2e5149fc" dependencies = [ "base64", - "bytes 1.1.0", + "bytes", "encoding_rs", "futures-core", "futures-util", @@ -7222,19 +7169,20 @@ dependencies = [ "hyper-tls", "ipnet", "js-sys", - "lazy_static", "log", "mime", "native-tls", - "percent-encoding 2.1.0", - "pin-project-lite 0.2.8", + "once_cell 1.16.0", + "percent-encoding", + "pin-project-lite 0.2.9", "serde", "serde_json", "serde_urlencoded", "tokio", "tokio-native-tls", - "tokio-util 0.6.9", - "url 2.2.2", + "tokio-util", + "tower-service", + "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -7252,7 +7200,7 @@ dependencies = [ "futures-timer", "mime", "nom", - "pin-project-lite 0.2.8", + "pin-project-lite 0.2.9", "reqwest", "thiserror", ] @@ -7264,15 +7212,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ "hostname", - "quick-error 1.2.3", + "quick-error", ] -[[package]] -name = "retain_mut" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c31b5c4033f8fdde8700e4657be2c497e7288f01515be52168c631e2e4d4086" - [[package]] name = "rfc6979" version = "0.1.0" @@ -7292,7 +7234,7 @@ checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" dependencies = [ "cc", "libc", - "once_cell 1.12.0", + "once_cell 1.16.0", "spin 0.5.2", "untrusted", "web-sys", @@ -7310,17 +7252,17 @@ dependencies = [ "atomic", "atty", "binascii", - "bytes 1.1.0", + "bytes", "either", "figment", - "futures 0.3.21", + "futures", "indexmap", "log", - "memchr 2.4.1", + "memchr 2.5.0", "multer", "num_cpus", - "parking_lot 0.12.0", - "pin-project-lite 0.2.8", + "parking_lot 0.12.1", + "pin-project-lite 0.2.9", "rand 0.8.5", "ref-cast", "rocket_codegen", @@ -7329,10 +7271,10 @@ dependencies = [ "serde_json", "state", "tempfile", - "time 0.3.11", + "time 0.3.16", "tokio", "tokio-stream", - "tokio-util 0.7.1", + "tokio-util", "ubyte", "version_check", "yansi", @@ -7362,21 +7304,21 @@ checksum = "2ded65d127954de3c12471630bf4b81a2792f065984461e65b91d0fdaafc17a2" dependencies = [ "cookie", "either", - "futures 0.3.21", + "futures", "http", "hyper", "indexmap", "log", - "memchr 2.4.1", + "memchr 2.5.0", "pear", - "percent-encoding 2.1.0", - "pin-project-lite 0.2.8", + "percent-encoding", + "pin-project-lite 0.2.9", "ref-cast", "serde", - "smallvec 1.8.0", + "smallvec 1.10.0", "stable-pattern", "state", - "time 0.3.11", + "time 0.3.16", "tokio", "uncased", ] @@ -7401,6 +7343,31 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "rpassword" +version = "7.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20c9f5d2a0c3e2ea729ab3706d22217177770654c3ef5056b68b69d07332d3f5" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "rtnetlink" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0" +dependencies = [ + "async-global-executor", + "futures", + "log", + "netlink-packet-route", + "netlink-proto", + "nix", + "thiserror", +] + [[package]] name = "rust-gmp" version = "0.5.0" @@ -7438,80 +7405,46 @@ dependencies = [ "semver 0.9.0", ] -[[package]] -name = "rustc_version" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" -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.7", + "semver 1.0.14", ] [[package]] name = "rustix" -version = "0.31.3" +version = "0.35.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2dcfc2778a90e38f56a708bfc90572422e11d6c7ee233d053d1f782cf9df6d2" +checksum = "985947f9b6423159c4726323f373be0a21bdb514c5af06a849cb3d2dce2d01e8" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", "linux-raw-sys", - "winapi 0.3.9", -] - -[[package]] -name = "rustls" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" -dependencies = [ - "base64", - "log", - "ring", - "sct 0.6.1", - "webpki 0.21.4", + "windows-sys 0.36.1", ] [[package]] name = "rustls" -version = "0.20.4" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fbfeb8d0ddb84706bc597a5574ab8912817c52a397f819e5b614e2265206921" +checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" dependencies = [ "log", "ring", - "sct 0.7.0", - "webpki 0.22.0", -] - -[[package]] -name = "rustls-native-certs" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092" -dependencies = [ - "openssl-probe", - "rustls 0.19.1", - "schannel", - "security-framework", + "sct", + "webpki", ] [[package]] name = "rustls-native-certs" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca9ebdfa27d3fc180e42879037b5338ab1c040c06affd00d8338598e7800943" +checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" dependencies = [ "openssl-probe", "rustls-pemfile", @@ -7521,35 +7454,35 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "0.2.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" +checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" dependencies = [ "base64", ] [[package]] name = "rustversion" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" +checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" [[package]] name = "rw-stream-sink" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020" +checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" dependencies = [ - "futures 0.3.21", - "pin-project 0.4.29", + "futures", + "pin-project", "static_assertions", ] [[package]] name = "ryu" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" [[package]] name = "safe-mix" @@ -7569,6 +7502,15 @@ dependencies = [ "cipher 0.3.0", ] +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher 0.4.3", +] + [[package]] name = "same-file" version = "1.0.6" @@ -7581,37 +7523,37 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "log", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-wasm-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-wasm-interface", "thiserror", ] [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", - "futures 0.3.21", + "futures", "futures-timer", "ip_network", "libp2p", "log", "parity-scale-codec", - "prost", - "prost-build", + "prost 0.10.4", + "prost-build 0.10.4", "rand 0.7.3", "sc-client-api", - "sc-network", + "sc-network-common", "sp-api", "sp-authority-discovery", "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-keystore", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror", ] @@ -7619,9 +7561,9 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", + "futures", "futures-timer", "log", "parity-scale-codec", @@ -7633,51 +7575,51 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "substrate-prometheus-endpoint", ] [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", "sc-client-api", "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-state-machine", ] [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "impl-trait-for-tuples", - "memmap2 0.5.3", + "memmap2", "parity-scale-codec", "sc-chain-spec-derive", - "sc-network", + "sc-network-common", "sc-telemetry", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-runtime", ] [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate", "proc-macro2", "quote", "syn", @@ -7686,23 +7628,25 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ + "array-bytes", "chrono", - "clap 3.1.8", + "clap 3.2.23", "fdlimit", - "futures 0.3.21", - "hex", + "futures", "libp2p", "log", "names", "parity-scale-codec", "rand 0.7.3", - "regex 1.5.5", - "rpassword", + "regex 1.6.0", + "rpassword 7.1.0", "sc-client-api", + "sc-client-db", "sc-keystore", "sc-network", + "sc-network-common", "sc-service", "sc-telemetry", "sc-tracing", @@ -7710,11 +7654,11 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keyring 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-panic-handler 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-keyring", + "sp-keystore", + "sp-panic-handler", + "sp-runtime", "sp-version", "thiserror", "tiny-bip39", @@ -7724,35 +7668,35 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "fnv", - "futures 0.3.21", + "futures", "hash-db", "log", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "sc-executor", "sc-transaction-pool-api", "sc-utils", "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-database", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-storage 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-externalities", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-trie", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "hash-db", "kvdb 0.11.0", @@ -7762,38 +7706,38 @@ dependencies = [ "log", "parity-db", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "sc-client-api", "sc-state-db", - "sp-arithmetic 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-arithmetic", "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-database", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-state-machine", + "sp-trie", ] [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", - "futures 0.3.21", + "futures", "futures-timer", "libp2p", "log", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "sc-client-api", "sc-utils", "serde", "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-runtime", + "sp-state-machine", "substrate-prometheus-endpoint", "thiserror", ] @@ -7801,10 +7745,10 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", - "futures 0.3.21", + "futures", "log", "parity-scale-codec", "sc-block-builder", @@ -7813,16 +7757,16 @@ dependencies = [ "sc-consensus-slots", "sc-telemetry", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-aura", "sp-consensus-slots", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-inherents", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror", ] @@ -7830,20 +7774,19 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", "fork-tree", - "futures 0.3.21", + "futures", "log", "merlin", - "num-bigint", + "num-bigint 0.2.6", "num-rational 0.2.4", - "num-traits 0.2.14", + "num-traits 0.2.15", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "rand 0.7.3", - "retain_mut", "sc-client-api", "sc-consensus", "sc-consensus-epochs", @@ -7853,18 +7796,18 @@ dependencies = [ "schnorrkel", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-consensus-slots", "sp-consensus-vrf", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-keystore", + "sp-runtime", "sp-version", "substrate-prometheus-endpoint", "thiserror", @@ -7873,99 +7816,96 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", + "futures", + "jsonrpsee", "sc-consensus-babe", "sc-consensus-epochs", "sc-rpc-api", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", "sp-blockchain", "sp-consensus", "sp-consensus-babe", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-keystore", + "sp-runtime", "thiserror", ] [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "fork-tree", "parity-scale-codec", "sc-client-api", "sc-consensus", "sp-blockchain", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", ] [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", - "futures 0.3.21", + "futures", "futures-timer", "log", "parity-scale-codec", "sc-client-api", "sc-consensus", "sc-telemetry", - "sp-arithmetic 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-arithmetic", "sp-blockchain", "sp-consensus", "sp-consensus-slots", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-timestamp", + "sp-runtime", + "sp-state-machine", "thiserror", ] [[package]] name = "sc-consensus-uncles" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "sc-client-api", "sp-authorship", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "thiserror", ] [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "lazy_static", - "lru 0.7.5", + "lru", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "sc-executor-common", "sc-executor-wasmi", "sc-executor-wasmtime", "sp-api", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-core-hashing-proc-macro", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-panic-handler 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-externalities", + "sp-io", + "sp-panic-handler", + "sp-runtime-interface", "sp-tasks", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-trie", "sp-version", - "sp-wasm-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-wasm-interface", "tracing", "wasmi", ] @@ -7973,15 +7913,14 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "environmental", "parity-scale-codec", "sc-allocator", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-maybe-compressed-blob", - "sp-serializer", - "sp-wasm-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-sandbox", + "sp-wasm-interface", "thiserror", "wasm-instrument", "wasmi", @@ -7990,53 +7929,54 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "log", "parity-scale-codec", "sc-allocator", "sc-executor-common", - "scoped-tls", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-wasm-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime-interface", + "sp-sandbox", + "sp-wasm-interface", "wasmi", ] [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "log", + "once_cell 1.16.0", "parity-scale-codec", - "parity-wasm 0.42.2", + "parity-wasm 0.45.0", + "rustix", "sc-allocator", "sc-executor-common", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-wasm-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime-interface", + "sp-sandbox", + "sp-wasm-interface", "wasmtime", ] [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "ahash", + "array-bytes", "async-trait", "dyn-clone", "finality-grandpa", "fork-tree", - "futures 0.3.21", + "futures", "futures-timer", - "hex", "log", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "rand 0.8.5", "sc-block-builder", "sc-chain-spec", @@ -8044,19 +7984,20 @@ dependencies = [ "sc-consensus", "sc-keystore", "sc-network", + "sc-network-common", "sc-network-gossip", "sc-telemetry", "sc-utils", "serde_json", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-arithmetic 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", + "sp-arithmetic", "sp-blockchain", "sp-consensus", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-finality-grandpa", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror", ] @@ -8064,14 +8005,11 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "finality-grandpa", - "futures 0.3.21", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "jsonrpc-pubsub", + "futures", + "jsonrpsee", "log", "parity-scale-codec", "sc-client-api", @@ -8080,133 +8018,248 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-runtime", "thiserror", ] [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "ansi_term", - "futures 0.3.21", + "futures", "futures-timer", "log", "parity-util-mem", "sc-client-api", - "sc-network", + "sc-network-common", "sc-transaction-pool-api", "sp-blockchain", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", ] [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ + "array-bytes", "async-trait", - "hex", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "serde_json", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", + "sp-core", + "sp-keystore", "thiserror", ] [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ + "array-bytes", "async-trait", - "asynchronous-codec 0.5.0", + "asynchronous-codec", "bitflags", - "bytes 1.1.0", + "bytes", "cid", "either", "fnv", "fork-tree", - "futures 0.3.21", + "futures", "futures-timer", - "hex", "ip_network", "libp2p", "linked-hash-map", "linked_hash_set", "log", - "lru 0.7.5", + "lru", "parity-scale-codec", - "parking_lot 0.12.0", - "pin-project 1.0.10", - "prost", - "prost-build", + "parking_lot 0.12.1", + "pin-project", + "prost 0.10.4", "rand 0.7.3", "sc-block-builder", "sc-client-api", "sc-consensus", + "sc-network-common", "sc-peerset", "sc-utils", "serde", "serde_json", - "smallvec 1.8.0", - "sp-arithmetic 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "smallvec 1.10.0", + "sp-arithmetic", "sp-blockchain", "sp-consensus", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-finality-grandpa", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror", - "unsigned-varint 0.6.0", - "void", + "unsigned-varint", "zeroize", ] +[[package]] +name = "sc-network-bitswap" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "cid", + "futures", + "libp2p", + "log", + "prost 0.11.0", + "prost-build 0.11.1", + "sc-client-api", + "sc-network-common", + "sp-blockchain", + "sp-runtime", + "thiserror", + "unsigned-varint", + "void", +] + +[[package]] +name = "sc-network-common" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "async-trait", + "bitflags", + "bytes", + "futures", + "futures-timer", + "libp2p", + "linked_hash_set", + "parity-scale-codec", + "prost-build 0.10.4", + "sc-consensus", + "sc-peerset", + "serde", + "smallvec 1.10.0", + "sp-blockchain", + "sp-consensus", + "sp-finality-grandpa", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror", +] + [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "ahash", - "futures 0.3.21", + "futures", "futures-timer", "libp2p", "log", - "lru 0.7.5", - "sc-network", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "lru", + "sc-network-common", + "sc-peerset", + "sp-runtime", "substrate-prometheus-endpoint", "tracing", ] +[[package]] +name = "sc-network-light" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "array-bytes", + "futures", + "libp2p", + "log", + "parity-scale-codec", + "prost 0.10.4", + "prost-build 0.10.4", + "sc-client-api", + "sc-network-common", + "sc-peerset", + "sp-blockchain", + "sp-core", + "sp-runtime", + "thiserror", +] + +[[package]] +name = "sc-network-sync" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "array-bytes", + "fork-tree", + "futures", + "libp2p", + "log", + "lru", + "parity-scale-codec", + "prost 0.10.4", + "prost-build 0.10.4", + "sc-client-api", + "sc-consensus", + "sc-network-common", + "sc-peerset", + "smallvec 1.10.0", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-finality-grandpa", + "sp-runtime", + "thiserror", +] + +[[package]] +name = "sc-network-transactions" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "array-bytes", + "futures", + "hex", + "libp2p", + "log", + "parity-scale-codec", + "pin-project", + "sc-network-common", + "sc-peerset", + "sp-consensus", + "sp-runtime", + "substrate-prometheus-endpoint", +] + [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "bytes 1.1.0", + "array-bytes", + "bytes", "fnv", - "futures 0.3.21", + "futures", "futures-timer", - "hex", "hyper", "hyper-rustls", + "libp2p", "num_cpus", - "once_cell 1.12.0", + "once_cell 1.16.0", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "rand 0.7.3", "sc-client-api", - "sc-network", + "sc-network-common", + "sc-peerset", "sc-utils", "sp-api", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-offchain", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "threadpool", "tracing", ] @@ -8214,9 +8267,9 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", + "futures", "libp2p", "log", "sc-utils", @@ -8227,7 +8280,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8236,15 +8289,14 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", + "futures", "hash-db", - "jsonrpc-core", - "jsonrpc-pubsub", + "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -8255,11 +8307,11 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-keystore", "sp-offchain", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "sp-session", "sp-version", ] @@ -8267,25 +8319,22 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "jsonrpc-pubsub", + "futures", + "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "sc-chain-spec", "sc-transaction-pool-api", "scale-info", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-tracing", "sp-version", "thiserror", ] @@ -8293,14 +8342,10 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", - "jsonrpc-core", - "jsonrpc-http-server", - "jsonrpc-ipc-server", - "jsonrpc-pubsub", - "jsonrpc-ws-server", + "futures", + "jsonrpsee", "log", "serde_json", "substrate-prometheus-endpoint", @@ -8310,21 +8355,20 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", "directories", "exit-future", - "futures 0.3.21", + "futures", "futures-timer", "hash-db", - "jsonrpc-core", - "jsonrpc-pubsub", + "jsonrpsee", "log", "parity-scale-codec", "parity-util-mem", - "parking_lot 0.12.0", - "pin-project 1.0.10", + "parking_lot 0.12.1", + "pin-project", "rand 0.7.3", "sc-block-builder", "sc-chain-spec", @@ -8335,9 +8379,15 @@ dependencies = [ "sc-informant", "sc-keystore", "sc-network", + "sc-network-bitswap", + "sc-network-common", + "sc-network-light", + "sc-network-sync", + "sc-network-transactions", "sc-offchain", "sc-rpc", "sc-rpc-server", + "sc-sysinfo", "sc-telemetry", "sc-tracing", "sc-transaction-pool", @@ -8346,23 +8396,24 @@ dependencies = [ "serde", "serde_json", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", "sp-block-builder", "sp-blockchain", "sp-consensus", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-externalities", "sp-inherents", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore", + "sp-runtime", "sp-session", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-storage 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine", + "sp-storage", + "sp-tracing", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-trie", "sp-version", + "static_init", "substrate-prometheus-endpoint", "tempfile", "thiserror", @@ -8374,34 +8425,34 @@ dependencies = [ [[package]] name = "sc-service-test" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ + "array-bytes", "fdlimit", - "futures 0.3.21", - "hex", - "hex-literal", + "futures", "log", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "sc-block-builder", "sc-client-api", "sc-client-db", "sc-consensus", "sc-executor", "sc-network", + "sc-network-common", "sc-service", "sc-transaction-pool-api", "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-panic-handler 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-storage 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-externalities", + "sp-panic-handler", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-tracing", + "sp-trie", "substrate-test-runtime", "substrate-test-runtime-client", "tempfile", @@ -8411,25 +8462,23 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "log", "parity-scale-codec", "parity-util-mem", "parity-util-mem-derive", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "sc-client-api", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", ] [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", + "jsonrpsee", "parity-scale-codec", "sc-chain-spec", "sc-client-api", @@ -8439,21 +8488,40 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "thiserror", ] +[[package]] +name = "sc-sysinfo" +version = "6.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "futures", + "libc", + "log", + "rand 0.7.3", + "rand_pcg 0.2.1", + "regex 1.6.0", + "sc-telemetry", + "serde", + "serde_json", + "sp-core", + "sp-io", + "sp-std", +] + [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "chrono", - "futures 0.3.21", + "futures", "libp2p", "log", - "parking_lot 0.12.0", - "pin-project 1.0.10", + "parking_lot 0.12.1", + "pin-project", "rand 0.7.3", "serde", "serde_json", @@ -8464,7 +8532,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "ansi_term", "atty", @@ -8472,9 +8540,9 @@ dependencies = [ "lazy_static", "libc", "log", - "once_cell 1.12.0", - "parking_lot 0.12.0", - "regex 1.5.5", + "once_cell 1.16.0", + "parking_lot 0.12.1", + "regex 1.6.0", "rustc-hash", "sc-client-api", "sc-rpc-server", @@ -8482,10 +8550,10 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-tracing", "thiserror", "tracing", "tracing-log", @@ -8495,9 +8563,9 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate", "proc-macro2", "quote", "syn", @@ -8506,25 +8574,24 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", + "futures", "futures-timer", "linked-hash-map", "log", "parity-scale-codec", "parity-util-mem", - "parking_lot 0.12.0", - "retain_mut", + "parking_lot 0.12.1", "sc-client-api", "sc-transaction-pool-api", "sc-utils", "serde", "sp-api", "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-runtime", + "sp-tracing", "sp-transaction-pool", "substrate-prometheus-endpoint", "thiserror", @@ -8533,37 +8600,60 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", + "futures", "log", "serde", "sp-blockchain", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", "thiserror", ] [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", + "futures", "futures-timer", "lazy_static", "log", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "prometheus", ] +[[package]] +name = "scale-bits" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd7aca73785181cc41f0bbe017263e682b585ca660540ba569133901d013ecf" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "scale-decode" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d823d4be477fc33321f93d08fb6c2698273d044f01362dc27573a750deb7c233" +dependencies = [ + "parity-scale-codec", + "scale-bits", + "scale-info", + "thiserror", +] + [[package]] name = "scale-info" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c46be926081c9f4dd5dd9b6f1d3e3229f2360bc6502dd8836f84a93b7c75e99a" +checksum = "333af15b02563b8182cd863f925bd31ef8fa86a0e095d30c091956057d436153" dependencies = [ "bitvec", - "cfg-if 1.0.0", + "cfg-if", "derive_more", "parity-scale-codec", "scale-info-derive", @@ -8572,24 +8662,41 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e334bb10a245e28e5fd755cabcafd96cfcd167c99ae63a46924ca8d8703a3c" +checksum = "53f56acbd0743d29ffa08f911ab5397def774ad01bab3786804cf6ee057fb5e1" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate", "proc-macro2", "quote", "syn", ] +[[package]] +name = "scale-value" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16a5e7810815bd295da73e4216d1dfbced3c7c7c7054d70fa5f6e4c58123fff4" +dependencies = [ + "either", + "frame-metadata 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", + "scale-bits", + "scale-decode", + "scale-info", + "serde", + "thiserror", + "yap", +] + [[package]] name = "schannel" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "winapi 0.3.9", + "windows-sys 0.36.1", ] [[package]] @@ -8628,6 +8735,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "scratch" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" + [[package]] name = "scrypt" version = "0.8.1" @@ -8637,18 +8750,8 @@ dependencies = [ "hmac 0.12.1", "password-hash", "pbkdf2 0.10.1", - "salsa20", - "sha2 0.10.2", -] - -[[package]] -name = "sct" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" -dependencies = [ - "ring", - "untrusted", + "salsa20 0.9.0", + "sha2 0.10.6", ] [[package]] @@ -8677,18 +8780,18 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.21.3" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c42e6f1735c5f00f51e43e28d6634141f2bcad10931b2609ddd74a86d751260" +checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.4.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036" +checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" dependencies = [ "cc", ] @@ -8704,9 +8807,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.6.1" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" dependencies = [ "bitflags", "core-foundation", @@ -8731,7 +8834,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537" dependencies = [ - "semver-parser 0.7.0", + "semver-parser", ] [[package]] @@ -8740,23 +8843,14 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" dependencies = [ - "semver-parser 0.7.0", -] - -[[package]] -name = "semver" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser 0.10.2", + "semver-parser", ] [[package]] name = "semver" -version = "1.0.7" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4" +checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" dependencies = [ "serde", ] @@ -8767,20 +8861,11 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" -dependencies = [ - "pest", -] - [[package]] name = "serde" -version = "1.0.136" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" +checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" dependencies = [ "serde_derive", ] @@ -8796,9 +8881,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.136" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" dependencies = [ "proc-macro2", "quote", @@ -8807,11 +8892,11 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.79" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" +checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" dependencies = [ - "itoa 1.0.1", + "itoa", "ryu", "serde", ] @@ -8832,7 +8917,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.1", + "itoa", "ryu", "serde", ] @@ -8854,10 +8939,10 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7eec42e7232e5ca56aa59d63af3c7f991fe71ee6a3ddd2d3480834cf3902b007" dependencies = [ - "futures 0.3.21", + "futures", "lazy_static", "log", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "serial_test_derive 0.8.0", ] @@ -8895,12 +8980,12 @@ dependencies = [ "base64", "bincode", "bip39", - "blake2 0.10.4", - "bytes 1.1.0", + "blake2", + "bytes", "chacha20poly1305 0.10.1", "constraints", "envy", - "futures 0.3.21", + "futures", "generic-array 0.14.6", "hex", "hex-literal", @@ -8917,34 +9002,22 @@ dependencies = [ "serde", "serde_json", "serial_test 0.8.0", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-keyring 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-keyring", "substrate-common", "subxt", "testing-utils", "thiserror", - "tofn 0.1.0 (git+https://github.com/Entropyxyz/tofn?branch=main)", + "tofn 0.1.0 (git+https://github.com/entropyxyz/tofn?branch=main)", "tokio", "tracing", - "tracing-subscriber 0.3.11", + "tracing-subscriber 0.3.16", "tylift", "uuid", "x25519-dalek 2.0.0-pre.1", "zeroize", ] -[[package]] -name = "sha-1" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" -dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", -] - [[package]] name = "sha-1" version = "0.9.8" @@ -8952,12 +9025,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures 0.2.2", + "cfg-if", + "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", ] +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.5", +] + [[package]] name = "sha2" version = "0.8.2" @@ -8977,21 +9061,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures 0.2.2", + "cfg-if", + "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", ] [[package]] name = "sha2" -version = "0.10.2" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ - "cfg-if 1.0.0", - "cpufeatures 0.2.2", - "digest 0.10.3", + "cfg-if", + "cpufeatures", + "digest 0.10.5", "sha2-asm", ] @@ -9006,23 +9090,11 @@ dependencies = [ [[package]] name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug 0.3.0", -] - -[[package]] -name = "sha3" -version = "0.10.1" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881bf8156c87b6301fc5ca6b27f11eeb2761224c7081e69b409d5a1951a70c86" +checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", "keccak", ] @@ -9041,6 +9113,16 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" +[[package]] +name = "signal-hook" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d" +dependencies = [ + "libc", + "signal-hook-registry", +] + [[package]] name = "signal-hook-registry" version = "1.4.0" @@ -9052,9 +9134,9 @@ dependencies = [ [[package]] name = "signature" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2807892cfa58e081aa1f1111391c7a0649d4fa127a4ffbe34bcbfb35a1171a4" +checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" dependencies = [ "digest 0.9.0", "rand_core 0.6.4", @@ -9068,15 +9150,18 @@ checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" dependencies = [ "approx", "num-complex", - "num-traits 0.2.14", - "paste 1.0.7", + "num-traits 0.2.15", + "paste 1.0.9", ] [[package]] name = "slab" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +dependencies = [ + "autocfg 1.1.0", +] [[package]] name = "sled" @@ -9094,6 +9179,12 @@ dependencies = [ "parking_lot 0.11.2", ] +[[package]] +name = "slice-group-by" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec" + [[package]] name = "smallvec" version = "0.6.14" @@ -9105,9 +9196,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "snap" @@ -9117,38 +9208,26 @@ checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451" [[package]] name = "snow" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6142f7c25e94f6fd25a32c3348ec230df9109b463f59c8c7acc4bd34936babb7" +checksum = "774d05a3edae07ce6d68ea6984f3c05e9bba8927e3dd591e3b479e5b03213d0d" dependencies = [ - "aes-gcm", - "blake2 0.9.2", - "chacha20poly1305 0.8.0", - "rand 0.8.5", + "aes-gcm 0.9.4", + "blake2", + "chacha20poly1305 0.9.1", + "curve25519-dalek 4.0.0-pre.1", "rand_core 0.6.4", "ring", - "rustc_version 0.3.3", - "sha2 0.9.9", + "rustc_version 0.4.0", + "sha2 0.10.6", "subtle 2.4.1", - "x25519-dalek 1.1.1", -] - -[[package]] -name = "socket2" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "winapi 0.3.9", ] [[package]] name = "socket2" -version = "0.4.4" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" dependencies = [ "libc", "winapi 0.3.9", @@ -9161,28 +9240,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ "base64", - "bytes 1.1.0", + "bytes", "flate2", - "futures 0.3.21", + "futures", "httparse", "log", "rand 0.8.5", - "sha-1 0.9.8", + "sha-1", ] [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", "sp-version", "thiserror", ] @@ -9190,10 +9270,10 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "blake2 0.10.4", - "proc-macro-crate 1.1.3", + "blake2", + "proc-macro-crate", "proc-macro2", "quote", "syn", @@ -9202,131 +9282,101 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb4490364cb3b097a6755343e552495b0013778152300714be4647d107e9a2e" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "sp-arithmetic" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ef21f82cc10f75ed046b65e2f8048080ee76e59f1b8aed55c7150daebfd35b" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "integer-sqrt", - "num-traits 0.2.14", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions", + "sp-core", + "sp-io", + "sp-std", ] [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "integer-sqrt", - "num-traits 0.2.14", + "num-traits 0.2.15", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-debug-derive", + "sp-std", "static_assertions", ] [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", + "sp-runtime", + "sp-std", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", ] [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", + "futures", "log", - "lru 0.7.5", + "lru", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "sp-api", "sp-consensus", "sp-database", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-state-machine", "thiserror", ] [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", - "futures 0.3.21", + "futures", "futures-timer", "log", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-state-machine", + "sp-std", "sp-version", "thiserror", ] @@ -9334,25 +9384,25 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", "sp-consensus", "sp-consensus-slots", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", "sp-timestamp", ] [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", "merlin", @@ -9360,129 +9410,83 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", "sp-consensus", "sp-consensus-slots", "sp-consensus-vrf", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-inherents", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore", + "sp-runtime", + "sp-std", "sp-timestamp", ] [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-arithmetic", + "sp-runtime", + "sp-std", "sp-timestamp", ] [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "parity-scale-codec", - "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "sp-core" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77963e2aa8fadb589118c3aede2e78b6c4bcf1c01d588fbf33e915b390825fbd" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "base58", - "bitflags", - "blake2-rfc", - "byteorder", - "dyn-clonable", - "ed25519-dalek", - "futures 0.3.21", - "hash-db", - "hash256-std-hasher", - "hex", - "impl-serde", - "lazy_static", - "libsecp256k1", - "log", - "merlin", - "num-traits 0.2.14", "parity-scale-codec", - "parity-util-mem", - "parking_lot 0.12.0", - "primitive-types", - "rand 0.7.3", - "regex 1.5.5", "scale-info", "schnorrkel", - "secp256k1", - "secrecy", - "serde", - "sp-core-hashing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ss58-registry", - "substrate-bip39", - "thiserror", - "tiny-bip39", - "wasmi", - "zeroize", + "sp-core", + "sp-runtime", + "sp-std", ] [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", - "ed25519-dalek", - "futures 0.3.21", + "ed25519-zebra", + "futures", "hash-db", "hash256-std-hasher", - "hex", "impl-serde", "lazy_static", "libsecp256k1", "log", "merlin", - "num-traits 0.2.14", + "num-traits 0.2.15", "parity-scale-codec", "parity-util-mem", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "primitive-types", "rand 0.7.3", - "regex 1.5.5", + "regex 1.6.0", "scale-info", "schnorrkel", "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-debug-derive 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-storage 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core-hashing", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", "ss58-registry", "substrate-bip39", "thiserror", @@ -9494,66 +9498,41 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec864a6a67249f0c8dd3d5acab43623a61677e85ff4f2f9b04b802d2fe780e83" -dependencies = [ - "blake2-rfc", - "byteorder", - "sha2 0.9.9", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak", - "twox-hash", -] - -[[package]] -name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "blake2 0.10.4", + "blake2", "byteorder", - "digest 0.10.3", - "sha2 0.10.2", - "sha3 0.10.1", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "digest 0.10.5", + "sha2 0.10.6", + "sha3", + "sp-std", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core-hashing", "syn", ] [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "kvdb 0.11.0", - "parking_lot 0.12.0", -] - -[[package]] -name = "sp-debug-derive" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d676664972e22a0796176e81e7bec41df461d1edf52090955cdab55f2c956ff2" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "parking_lot 0.12.1", ] [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "proc-macro2", "quote", @@ -9563,30 +9542,18 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcfd91f92a2a59224230a77c4a5d6f51709620c0aab4e51f108ccece6adc56f" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-storage 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", + "sp-storage", ] [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "finality-grandpa", "log", @@ -9594,139 +9561,85 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "sp-runtime", + "sp-std", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-runtime", + "sp-std", "thiserror", ] [[package]] name = "sp-io" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "935fd3c71bad6811a7984cabb74d323b8ca3107024024c3eabb610e0182ba8d3" -dependencies = [ - "futures 0.3.21", - "hash-db", - "libsecp256k1", - "log", - "parity-scale-codec", - "parking_lot 0.12.0", - "secp256k1", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-keystore 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-state-machine 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", + "bytes", + "futures", "hash-db", "libsecp256k1", "log", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "secp256k1", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-wasm-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-runtime-interface", + "sp-state-machine", + "sp-std", + "sp-tracing", + "sp-trie", + "sp-wasm-interface", "tracing", "tracing-core", ] [[package]] name = "sp-keyring" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ae05359a224787068adb14ebd007545543de07b907b4eb71947a7d49004f73" -dependencies = [ - "lazy_static", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "strum", -] - -[[package]] -name = "sp-keyring" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "lazy_static", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "strum", -] - -[[package]] -name = "sp-keystore" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3261eddca8c8926e3e1de136a7980cb3afc3455247d9d6f3119d9b292f73aaee" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "async-trait", - "futures 0.3.21", - "merlin", - "parity-scale-codec", - "parking_lot 0.12.0", - "schnorrkel", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror", + "lazy_static", + "sp-core", + "sp-runtime", + "strum", ] [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", - "futures 0.3.21", + "futures", "merlin", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "schnorrkel", "serde", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-externalities", "thiserror", ] [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "thiserror", "zstd", @@ -9735,85 +9648,51 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-arithmetic", + "sp-core", + "sp-runtime", + "sp-std", ] [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "sp-api", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "sp-panic-handler" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2101f3c555fceafcfcfb0e61c55ea9ed80dc60bd77d54d9f25b369edb029e9a4" -dependencies = [ - "backtrace", - "lazy_static", - "regex 1.5.5", + "sp-core", + "sp-runtime", ] [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "backtrace", "lazy_static", - "regex 1.5.5", + "regex 1.6.0", ] [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "rustc-hash", "serde", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "sp-runtime" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d8a8d5ab5d349c6cf9300af1721b7b6446ba63401dbb11c10a1d65197aa5f" -dependencies = [ - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "parity-util-mem", - "paste 1.0.7", - "rand 0.7.3", - "scale-info", - "serde", - "sp-application-crypto 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-arithmetic 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", ] [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "either", "hash256-std-hasher", @@ -9821,72 +9700,43 @@ dependencies = [ "log", "parity-scale-codec", "parity-util-mem", - "paste 1.0.7", + "paste 1.0.9", "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-arithmetic 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "sp-runtime-interface" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158bf0305c75a50fc0e334b889568f519a126e32b87900c3f4251202dece7b4b" -dependencies = [ - "impl-trait-for-tuples", - "parity-scale-codec", - "primitive-types", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface-proc-macro 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions", + "sp-application-crypto", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-std", + "sp-weights", ] [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ + "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-storage 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-tracing 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-wasm-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-externalities", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ecb916b9664ed9f90abef0ff5a3e61454c1efea5861b2997e03f39b59b955f" -dependencies = [ - "Inflector", - "proc-macro-crate 1.1.3", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "Inflector", - "proc-macro-crate 1.1.3", + "proc-macro-crate", "proc-macro2", "quote", "syn", @@ -9895,92 +9745,59 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "log", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-wasm-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-io", + "sp-std", + "sp-wasm-interface", "wasmi", ] -[[package]] -name = "sp-serializer" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" -dependencies = [ - "serde", - "serde_json", -] - [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-runtime", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "sp-state-machine" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecee3b33eb78c99997676a571656bcc35db6886abecfddd13e76a73b5871c6c1" -dependencies = [ - "hash-db", - "log", - "num-traits 0.2.14", - "parity-scale-codec", - "parking_lot 0.12.0", - "rand 0.7.3", - "smallvec 1.8.0", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-panic-handler 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror", - "tracing", - "trie-db", - "trie-root", + "sp-runtime", + "sp-std", ] [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "hash-db", "log", - "num-traits 0.2.14", + "num-traits 0.2.15", "parity-scale-codec", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "rand 0.7.3", - "smallvec 1.8.0", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-panic-handler 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "smallvec 1.10.0", + "sp-core", + "sp-externalities", + "sp-panic-handler", + "sp-std", + "sp-trie", "thiserror", "tracing", "trie-root", @@ -9989,58 +9806,38 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" - -[[package]] -name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" - -[[package]] -name = "sp-storage" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dab53af846068e3e0716d3ccc70ea0db44035c79b2ed5821aaa6635039efa37" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-debug-derive", + "sp-std", ] [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "log", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-externalities", + "sp-io", + "sp-runtime-interface", + "sp-std", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", "futures-timer", @@ -10048,31 +9845,18 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", "thiserror", ] [[package]] name = "sp-tracing" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a67e555d171c4238bd223393cda747dd20ec7d4f5fe5c042c056cb7fde9eda" -dependencies = [ - "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing", - "tracing-core", - "tracing-subscriber 0.2.25", -] - -[[package]] -name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std", "tracing", "tracing-core", "tracing-subscriber 0.2.25", @@ -10081,56 +9865,47 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "sp-api", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", ] [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "async-trait", "log", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", -] - -[[package]] -name = "sp-trie" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6fc34f4f291886914733e083b62708d829f3e6b8d7a7ca7fa8a55a3d7640b0b" -dependencies = [ - "hash-db", - "memory-db", - "parity-scale-codec", - "scale-info", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-db", - "trie-root", + "sp-runtime", + "sp-std", + "sp-trie", ] [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ + "ahash", "hash-db", + "hashbrown 0.12.3", + "lazy_static", + "lru", "memory-db", + "nohash-hasher", "parity-scale-codec", + "parking_lot 0.12.1", "scale-info", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-std", "thiserror", + "tracing", "trie-db", "trie-root", ] @@ -10138,16 +9913,16 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm 0.42.2", + "parity-wasm 0.45.0", "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-std", "sp-version-proc-macro", "thiserror", ] @@ -10155,7 +9930,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -10166,27 +9941,30 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d88debe690c2b24eaa9536a150334fcef2ae184c21a0e5b3e80135407a7d52" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std", "wasmi", + "wasmtime", ] [[package]] -name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "impl-trait-for-tuples", - "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "wasmi", - "wasmtime", + "scale-info", + "serde", + "smallvec 1.10.0", + "sp-arithmetic", + "sp-core", + "sp-debug-derive", + "sp-std", ] [[package]] @@ -10197,9 +9975,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spin" -version = "0.9.2" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "511254be0c5bcf062b019a6c89c01a664aa359ded62f78aa72c6fc137c0590e5" +checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09" [[package]] name = "spki" @@ -10213,9 +9991,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.17.0" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b84a70894df7a73666e0694f44b41a9571625e9546fb58a0818a565d2c7e084" +checksum = "3ab7554f8a8b6f8d71cd5a8e6536ef116e2ce0504cf97ebf16311d58065dc8a6" dependencies = [ "Inflector", "num-format", @@ -10232,7 +10010,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4564168c00635f88eaed410d5efa8131afa8d8699a612c80c455a0ba05c21045" dependencies = [ - "memchr 2.4.1", + "memchr 2.5.0", ] [[package]] @@ -10256,6 +10034,34 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "static_init" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" +dependencies = [ + "bitflags", + "cfg_aliases", + "libc", + "parking_lot 0.11.2", + "parking_lot_core 0.8.5", + "static_init_macro", + "winapi 0.3.9", +] + +[[package]] +name = "static_init_macro" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" +dependencies = [ + "cfg_aliases", + "memchr 2.5.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "statrs" version = "0.15.0" @@ -10265,7 +10071,7 @@ dependencies = [ "approx", "lazy_static", "nalgebra", - "num-traits 0.2.14", + "num-traits 0.2.15", "rand 0.8.5", ] @@ -10307,20 +10113,20 @@ dependencies = [ [[package]] name = "strum" -version = "0.23.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" dependencies = [ "strum_macros", ] [[package]] name = "strum_macros" -version = "0.23.1" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ - "heck 0.3.3", + "heck 0.4.0", "proc-macro2", "quote", "rustversion", @@ -10343,7 +10149,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "platforms", ] @@ -10357,32 +10163,44 @@ dependencies = [ "serde", ] +[[package]] +name = "substrate-frame-cli" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "clap 3.2.23", + "frame-support", + "frame-system", + "sc-cli", + "sp-core", + "sp-runtime", +] + [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "frame-system-rpc-runtime-api", - "futures 0.3.21", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", + "futures", + "jsonrpsee", "log", "parity-scale-codec", "sc-client-api", "sc-rpc-api", "sc-transaction-pool-api", + "serde_json", "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-runtime", ] [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "futures-util", "hyper", @@ -10392,14 +10210,35 @@ dependencies = [ "tokio", ] +[[package]] +name = "substrate-state-trie-migration-rpc" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "jsonrpsee", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-rpc-api", + "scale-info", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "trie-db", +] + [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ + "array-bytes", "async-trait", - "futures 0.3.21", - "hex", + "futures", "parity-scale-codec", "sc-client-api", "sc-client-db", @@ -10411,20 +10250,21 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-consensus", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keyring 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keystore 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-keyring", + "sp-keystore", + "sp-runtime", + "sp-state-machine", ] [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ + "beefy-merkle-tree", "beefy-primitives", - "cfg-if 1.0.0", + "cfg-if", "frame-support", "frame-system", "frame-system-rpc-runtime-api", @@ -10438,24 +10278,24 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-application-crypto", "sp-block-builder", "sp-consensus-aura", "sp-consensus-babe", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-externalities 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-externalities", "sp-finality-grandpa", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-keyring 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io", + "sp-keyring", "sp-offchain", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime-interface 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime", + "sp-runtime-interface", "sp-session", - "sp-state-machine 0.12.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine", + "sp-std", "sp-transaction-pool", - "sp-trie 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-trie", "sp-version", "substrate-wasm-builder", "trie-db", @@ -10464,9 +10304,9 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ - "futures 0.3.21", + "futures", "parity-scale-codec", "sc-block-builder", "sc-client-api", @@ -10474,8 +10314,8 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", - "sp-runtime 6.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core", + "sp-runtime", "substrate-test-client", "substrate-test-runtime", ] @@ -10483,11 +10323,12 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#c89d524dea7bfb474f2e036ebc486fca9c81533f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" dependencies = [ "ansi_term", "build-helper", "cargo_metadata", + "filetime", "sp-maybe-compressed-blob", "strum", "tempfile", @@ -10510,74 +10351,78 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subxt" -version = "0.20.0" -source = "git+https://github.com/paritytech/subxt.git#dffeee431e35d299f431f08755e09270b2ca477f" +version = "0.24.0" +source = "git+https://github.com/entropyxyz/subxt.git?branch=substrate-master#fc20409cae5214d825ada0e3b23f2756f54ffd70" dependencies = [ - "async-trait", "bitvec", - "chameleon", "derivative", - "frame-metadata", - "futures 0.3.21", + "frame-metadata 15.0.0 (git+https://github.com/paritytech/frame-metadata/)", + "futures", "hex", "jsonrpsee", - "log", "parity-scale-codec", + "parking_lot 0.12.1", + "scale-decode", "scale-info", + "scale-value", "serde", "serde_json", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-runtime", "subxt-macro", + "subxt-metadata", "thiserror", + "tracing", ] [[package]] name = "subxt-codegen" -version = "0.20.0" -source = "git+https://github.com/paritytech/subxt.git#dffeee431e35d299f431f08755e09270b2ca477f" +version = "0.24.0" +source = "git+https://github.com/entropyxyz/subxt.git?branch=substrate-master#fc20409cae5214d825ada0e3b23f2756f54ffd70" dependencies = [ - "async-trait", "darling", - "frame-metadata", + "frame-metadata 15.0.0 (git+https://github.com/paritytech/frame-metadata/)", "heck 0.4.0", "parity-scale-codec", - "proc-macro-crate 0.1.5", "proc-macro-error", "proc-macro2", "quote", "scale-info", + "subxt-metadata", "syn", ] [[package]] name = "subxt-macro" -version = "0.20.0" -source = "git+https://github.com/paritytech/subxt.git#dffeee431e35d299f431f08755e09270b2ca477f" +version = "0.24.0" +source = "git+https://github.com/entropyxyz/subxt.git?branch=substrate-master#fc20409cae5214d825ada0e3b23f2756f54ffd70" dependencies = [ - "async-trait", "darling", - "frame-metadata", - "heck 0.4.0", - "parity-scale-codec", - "proc-macro-crate 0.1.5", "proc-macro-error", - "proc-macro2", - "quote", - "scale-info", "subxt-codegen", "syn", ] +[[package]] +name = "subxt-metadata" +version = "0.24.0" +source = "git+https://github.com/entropyxyz/subxt.git?branch=substrate-master#fc20409cae5214d825ada0e3b23f2756f54ffd70" +dependencies = [ + "frame-metadata 15.0.0 (git+https://github.com/paritytech/frame-metadata/)", + "parity-scale-codec", + "scale-info", + "sp-core", +] + [[package]] name = "syn" -version = "1.0.91" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" +checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", ] [[package]] @@ -10592,6 +10437,27 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "system-configuration" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d75182f12f490e953596550b65ee31bda7c8e043d9386174b353bda50838c3fd" +dependencies = [ + "bitflags", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tap" version = "1.0.1" @@ -10600,9 +10466,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fa7e55043acb85fca6b3c01485a2eeb6b69c5d21002e273c79e465f43b7ac1" +checksum = "c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1" [[package]] name = "tempfile" @@ -10610,7 +10476,7 @@ version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fastrand", "libc", "redox_syscall", @@ -10635,8 +10501,8 @@ dependencies = [ "log", "parity-scale-codec", "project-root", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-keyring 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-keyring", "subxt", "which", ] @@ -10652,24 +10518,24 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.31" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" +checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.31" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" +checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" dependencies = [ "proc-macro2", "quote", @@ -10707,7 +10573,7 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" dependencies = [ - "once_cell 1.12.0", + "once_cell 1.16.0", ] [[package]] @@ -10743,21 +10609,32 @@ dependencies = [ [[package]] name = "time" -version = "0.3.11" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217" +checksum = "0fab5c8b9980850e06d92ddbe3ab839c062c801f3927c0fb8abd6fc8e918fbca" dependencies = [ - "itoa 1.0.1", + "itoa", "libc", "num_threads", + "serde", + "time-core", "time-macros", ] +[[package]] +name = "time-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" + [[package]] name = "time-macros" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792" +checksum = "65bb801831d812c562ae7d2bfb531f26e66e4e1f6b17307ba4149c5064710e5b" +dependencies = [ + "time-core", +] [[package]] name = "tiny-bip39" @@ -10767,7 +10644,7 @@ checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" dependencies = [ "anyhow", "hmac 0.8.1", - "once_cell 1.12.0", + "once_cell 1.16.0", "pbkdf2 0.4.0", "rand 0.7.3", "rustc-hash", @@ -10778,20 +10655,11 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinyvec" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" dependencies = [ "tinyvec_macros", ] @@ -10805,12 +10673,12 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tofn" version = "0.1.0" -source = "git+https://github.com/Entropyxyz/tofn?branch=main#d4d63da29f1585c8ab8ea6c78a19ffcc8b887b1d" +source = "git+https://github.com/entropyxyz/tofn?branch=main#d4d63da29f1585c8ab8ea6c78a19ffcc8b887b1d" dependencies = [ "anyhow", "bincode", "chrono", - "clap 3.1.8", + "clap 3.2.23", "ecdsa", "hex", "hmac 0.12.1", @@ -10821,10 +10689,10 @@ dependencies = [ "rand_core 0.6.4", "serde", "serde_json", - "sha2 0.10.2", - "sha3 0.10.1", + "sha2 0.10.6", + "sha3", "tracing", - "tracing-subscriber 0.3.11", + "tracing-subscriber 0.3.16", "zeroize", ] @@ -10836,7 +10704,7 @@ dependencies = [ "anyhow", "bincode", "chrono", - "clap 3.1.8", + "clap 3.2.23", "ecdsa", "hex", "hmac 0.12.1", @@ -10847,38 +10715,38 @@ dependencies = [ "rand_core 0.6.4", "serde", "serde_json", - "sha2 0.10.2", - "sha3 0.10.1", + "sha2 0.10.6", + "sha3", "tracing", - "tracing-subscriber 0.3.11", + "tracing-subscriber 0.3.16", "zeroize", ] [[package]] name = "tokio" -version = "1.17.0" +version = "1.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee" +checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" dependencies = [ - "bytes 1.1.0", + "autocfg 1.1.0", + "bytes", "libc", - "memchr 2.4.1", - "mio 0.8.2", + "memchr 2.5.0", + "mio", "num_cpus", - "once_cell 1.12.0", - "parking_lot 0.12.0", - "pin-project-lite 0.2.8", + "parking_lot 0.12.1", + "pin-project-lite 0.2.9", "signal-hook-registry", - "socket2 0.4.4", + "socket2", "tokio-macros", "winapi 0.3.9", ] [[package]] name = "tokio-macros" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7" +checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" dependencies = [ "proc-macro2", "quote", @@ -10897,98 +10765,73 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" -dependencies = [ - "rustls 0.19.1", - "tokio", - "webpki 0.21.4", -] - -[[package]] -name = "tokio-rustls" -version = "0.23.3" +version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4151fda0cf2798550ad0b34bcfc9b9dcc2a9d2471c895c68f3a8818e54f2389e" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ - "rustls 0.20.4", + "rustls", "tokio", - "webpki 0.22.0", + "webpki", ] [[package]] name = "tokio-stream" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3" -dependencies = [ - "futures-core", - "pin-project-lite 0.2.8", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.6.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" +checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" dependencies = [ - "bytes 1.1.0", "futures-core", - "futures-io", - "futures-sink", - "log", - "pin-project-lite 0.2.8", + "pin-project-lite 0.2.9", "tokio", ] [[package]] name = "tokio-util" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edfdeb067411dba2044da6d1cb2df793dd35add7888d73c16e3381ded401764" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" dependencies = [ - "bytes 1.1.0", + "bytes", "futures-core", + "futures-io", "futures-sink", - "pin-project-lite 0.2.8", + "pin-project-lite 0.2.9", "tokio", "tracing", ] [[package]] name = "toml" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" dependencies = [ "serde", ] [[package]] name = "tower-service" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.35" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ - "cfg-if 1.0.0", - "pin-project-lite 0.2.8", + "cfg-if", + "pin-project-lite 0.2.9", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" -version = "0.1.20" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ "proc-macro2", "quote", @@ -10997,11 +10840,11 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.27" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7709595b8878a4965ce5e87ebf880a7d39c9afc6837721b21a5a816a8117d921" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ - "once_cell 1.12.0", + "once_cell 1.16.0", "valuable", ] @@ -11011,15 +10854,15 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ - "pin-project 1.0.10", + "pin-project", "tracing", ] [[package]] name = "tracing-log" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" dependencies = [ "lazy_static", "log", @@ -11047,11 +10890,11 @@ dependencies = [ "lazy_static", "matchers 0.0.1", "parking_lot 0.11.2", - "regex 1.5.5", + "regex 1.6.0", "serde", "serde_json", "sharded-slab", - "smallvec 1.8.0", + "smallvec 1.10.0", "thread_local 1.1.4", "tracing", "tracing-core", @@ -11061,16 +10904,16 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.11" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" +checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" dependencies = [ - "ansi_term", - "lazy_static", "matchers 0.1.0", - "regex 1.5.5", + "nu-ansi-term", + "once_cell 1.16.0", + "regex 1.6.0", "sharded-slab", - "smallvec 1.8.0", + "smallvec 1.10.0", "thread_local 1.1.4", "tracing", "tracing-core", @@ -11079,15 +10922,15 @@ dependencies = [ [[package]] name = "trie-db" -version = "0.23.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32d034c0d3db64b43c31de38e945f15b40cd4ca6d2dcfc26d4798ce8de4ab83" +checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", - "hashbrown 0.12.0", + "hashbrown 0.12.3", "log", "rustc-hex", - "smallvec 1.8.0", + "smallvec 1.10.0", ] [[package]] @@ -11101,12 +10944,12 @@ dependencies = [ [[package]] name = "trust-dns-proto" -version = "0.20.4" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca94d4e9feb6a181c690c4040d7a24ef34018d8313ac5044a61d21222ae24e31" +checksum = "9c31f240f59877c3d4bb3b3ea0ec5a6a0cff07323580ff8c7a605cd7d08b255d" dependencies = [ "async-trait", - "cfg-if 1.0.0", + "cfg-if", "data-encoding", "enum-as-inner", "futures-channel", @@ -11117,27 +10960,27 @@ dependencies = [ "lazy_static", "log", "rand 0.8.5", - "smallvec 1.8.0", + "smallvec 1.10.0", "thiserror", "tinyvec", - "url 2.2.2", + "url", ] [[package]] name = "trust-dns-resolver" -version = "0.20.4" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecae383baad9995efaa34ce8e57d12c3f305e545887472a492b838f4b5cfb77a" +checksum = "e4ba72c2ea84515690c9fcef4c6c660bb9df3036ed1051686de84605b74fd558" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "futures-util", "ipconfig", "lazy_static", "log", "lru-cache", - "parking_lot 0.11.2", + "parking_lot 0.12.1", "resolv-conf", - "smallvec 1.8.0", + "smallvec 1.10.0", "thiserror", "trust-dns-proto", ] @@ -11148,6 +10991,32 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +[[package]] +name = "try-runtime-cli" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d" +dependencies = [ + "clap 3.2.23", + "frame-try-runtime", + "jsonrpsee", + "log", + "parity-scale-codec", + "remote-externalities", + "sc-chain-spec", + "sc-cli", + "sc-executor", + "sc-service", + "serde", + "sp-core", + "sp-externalities", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "sp-version", + "zstd", +] + [[package]] name = "tt-call" version = "1.0.8" @@ -11156,12 +11025,12 @@ checksum = "5e66dcbec4290c69dd03c57e76c2469ea5c7ce109c6dd4351c13055cf71ea055" [[package]] name = "twox-hash" -version = "1.6.2" +version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee73e6e4924fe940354b8d4d98cad5231175d615cd855b758adc658c0aac6a0" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 1.0.0", - "digest 0.10.3", + "cfg-if", + "digest 0.10.5", "rand 0.8.5", "static_assertions", ] @@ -11185,24 +11054,24 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "ubyte" -version = "0.10.1" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42756bb9e708855de2f8a98195643dff31a97f0485d90d8467b39dc24be9e8fe" +checksum = "c81f0dae7d286ad0d9366d7679a77934cfc3cf3a8d67e82669794412b2368fe6" dependencies = [ "serde", ] [[package]] name = "ucd-trie" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" +checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" [[package]] name = "uint" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f03af7ccf01dd611cc450a0d10dbc9b745770d096473e2faf0ca6e2d66d1e0" +checksum = "a45526d29728d135c2900b0d30573fe3ee79fceb12ef534c7bb30e810a91b601" dependencies = [ "byteorder", "crunchy", @@ -11212,9 +11081,9 @@ dependencies = [ [[package]] name = "uncased" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baeed7327e25054889b9bd4f975f32e5f4c5d434042d59ab6cd4142c0a76ed0" +checksum = "09b01702b0fd0b3fadcf98e098780badda8742d4f4a7676615cad90e8ac73622" dependencies = [ "serde", "version_check", @@ -11231,36 +11100,42 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.7" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" + +[[package]] +name = "unicode-ident" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" +checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" [[package]] name = "unicode-normalization" -version = "0.1.19" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" +checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" [[package]] name = "unicode-width" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "unicode-xid" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "universal-hash" @@ -11295,32 +11170,14 @@ dependencies = [ "zeroize", ] -[[package]] -name = "unsigned-varint" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fdeedbf205afadfe39ae559b75c3240f24e257d0ca27e85f85cb82aa19ac35" - -[[package]] -name = "unsigned-varint" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35581ff83d4101e58b582e607120c7f5ffb17e632a980b1f38334d76b36908b2" -dependencies = [ - "asynchronous-codec 0.5.0", - "bytes 1.1.0", - "futures-io", - "futures-util", -] - [[package]] name = "unsigned-varint" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86a8dc7f45e4c1b0d30e43038c38f274e77af056aa5f74b93c2cf9eb3c1c836" dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.1.0", + "asynchronous-codec", + "bytes", "futures-io", "futures-util", ] @@ -11333,25 +11190,13 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" -dependencies = [ - "idna 0.1.5", - "matches", - "percent-encoding 1.0.1", -] - -[[package]] -name = "url" -version = "2.2.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", - "idna 0.2.3", - "matches", - "percent-encoding 2.1.0", + "idna 0.3.0", + "percent-encoding", ] [[package]] @@ -11362,11 +11207,11 @@ checksum = "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f" [[package]] name = "uuid" -version = "1.1.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f" +checksum = "feb41e78f93363bb2df8b0e86a2ca30eed7806ea16ea0c790d757cf93f79be83" dependencies = [ - "getrandom 0.2.6", + "getrandom 0.2.8", "serde", ] @@ -11457,23 +11302,23 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.79" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.79" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", - "lazy_static", "log", + "once_cell 1.16.0", "proc-macro2", "quote", "syn", @@ -11482,11 +11327,11 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.29" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "wasm-bindgen", "web-sys", @@ -11494,9 +11339,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.79" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -11504,9 +11349,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.79" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ "proc-macro2", "quote", @@ -11517,9 +11362,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.79" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] name = "wasm-gc-api" @@ -11534,11 +11379,11 @@ dependencies = [ [[package]] name = "wasm-instrument" -version = "0.1.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "962e5b0401bbb6c887f54e69b8c496ea36f704df65db73e81fd5ff8dc3e63a9f" +checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" dependencies = [ - "parity-wasm 0.42.2", + "parity-wasm 0.45.0", ] [[package]] @@ -11547,7 +11392,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" dependencies = [ - "futures 0.3.21", + "futures", "js-sys", "parking_lot 0.11.2", "pin-utils", @@ -11558,56 +11403,63 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.9.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" +checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "downcast-rs", - "libc", - "libm", - "memory_units", - "num-rational 0.2.4", - "num-traits 0.2.14", - "parity-wasm 0.42.2", + "parity-wasm 0.45.0", "wasmi-validation", + "wasmi_core", ] [[package]] name = "wasmi-validation" -version = "0.4.1" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" +dependencies = [ + "parity-wasm 0.45.0", +] + +[[package]] +name = "wasmi_core" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" +checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ - "parity-wasm 0.42.2", + "downcast-rs", + "libm", + "memory_units", + "num-rational 0.4.1", + "num-traits 0.2.15", ] [[package]] name = "wasmparser" -version = "0.81.0" +version = "0.89.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98930446519f63d00a836efdc22f67766ceae8dbcc1571379f2bcabc6b2b9abc" +checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef" +dependencies = [ + "indexmap", +] [[package]] name = "wasmtime" -version = "0.33.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c9c724da92e39a85d2231d4c2a942c8be295211441dbca581c6c3f3f45a9f00" +checksum = "f1f511c4917c83d04da68333921107db75747c4e11a2f654a8e909cc5e0520dc" dependencies = [ "anyhow", - "backtrace", "bincode", - "cfg-if 1.0.0", - "cpp_demangle", + "cfg-if", "indexmap", - "lazy_static", "libc", "log", "object", - "paste 1.0.7", + "once_cell 1.16.0", + "paste 1.0.9", "psm", "rayon", - "region", - "rustc-demangle", "serde", "target-lexicon", "wasmparser", @@ -11616,14 +11468,23 @@ dependencies = [ "wasmtime-environ", "wasmtime-jit", "wasmtime-runtime", - "winapi 0.3.9", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39bf3debfe744bf19dd3732990ce6f8c0ced7439e2370ba4e1d8f5a3660a3178" +dependencies = [ + "cfg-if", ] [[package]] name = "wasmtime-cache" -version = "0.33.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da4439d99100298344567c0eb6916ad5864e99e54760b8177c427e529077fb30" +checksum = "ece42fa4676a263f7558cdaaf5a71c2592bebcbac22a0580e33cf3406c103da2" dependencies = [ "anyhow", "base64", @@ -11635,15 +11496,15 @@ dependencies = [ "serde", "sha2 0.9.9", "toml", - "winapi 0.3.9", + "windows-sys 0.36.1", "zstd", ] [[package]] name = "wasmtime-cranelift" -version = "0.33.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1762765dd69245f00e5d9783b695039e449a7be0f9c5383e4c78465dd6131aeb" +checksum = "058217e28644b012bdcdf0e445f58d496d78c2e0b6a6dd93558e701591dad705" dependencies = [ "anyhow", "cranelift-codegen", @@ -11653,7 +11514,6 @@ dependencies = [ "cranelift-wasm", "gimli", "log", - "more-asserts", "object", "target-lexicon", "thiserror", @@ -11663,16 +11523,15 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "0.33.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4468301d95ec71710bb6261382efe27d1296447711645e3dbabaea6e4de3504" +checksum = "c7af06848df28b7661471d9a80d30a973e0f401f2e3ed5396ad7e225ed217047" dependencies = [ "anyhow", "cranelift-entity", "gimli", "indexmap", "log", - "more-asserts", "object", "serde", "target-lexicon", @@ -11683,56 +11542,70 @@ dependencies = [ [[package]] name = "wasmtime-jit" -version = "0.33.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab0ae6e581ff014b470ec35847ea3c0b4c3ace89a55df5a04c802a11f4574e7d" +checksum = "9028fb63a54185b3c192b7500ef8039c7bb8d7f62bfc9e7c258483a33a3d13bb" dependencies = [ "addr2line", "anyhow", "bincode", - "cfg-if 1.0.0", + "cfg-if", + "cpp_demangle", "gimli", + "log", "object", - "region", + "rustc-demangle", "rustix", "serde", "target-lexicon", "thiserror", "wasmtime-environ", + "wasmtime-jit-debug", "wasmtime-runtime", - "winapi 0.3.9", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25e82d4ef93296785de7efca92f7679dc67fe68a13b625a5ecc8d7503b377a37" +dependencies = [ + "object", + "once_cell 1.16.0", + "rustix", ] [[package]] name = "wasmtime-runtime" -version = "0.33.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9c28877ae37a367cda7b52b8887589816152e95dde9b7c80cc686f52761961" +checksum = "9f0e9bea7d517d114fe66b930b2124ee086516ee93eeebfd97f75f366c5b0553" dependencies = [ "anyhow", - "backtrace", "cc", - "cfg-if 1.0.0", + "cfg-if", "indexmap", - "lazy_static", "libc", "log", "mach", + "memfd", "memoffset", - "more-asserts", + "paste 1.0.9", "rand 0.8.5", - "region", "rustix", "thiserror", + "wasmtime-asm-macros", "wasmtime-environ", - "winapi 0.3.9", + "wasmtime-jit-debug", + "windows-sys 0.36.1", ] [[package]] name = "wasmtime-types" -version = "0.33.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395726e8f5dd8c57cb0db445627b842343f7e29ed7489467fdf7953ed9d3cd4f" +checksum = "69b83e93ed41b8fdc936244cfd5e455480cf1eca1fd60c78a0040038b4ce5075" dependencies = [ "cranelift-entity", "serde", @@ -11742,24 +11615,14 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.56" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" dependencies = [ "js-sys", "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "webpki" version = "0.22.0" @@ -11772,20 +11635,11 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" -dependencies = [ - "webpki 0.21.4", -] - -[[package]] -name = "webpki-roots" -version = "0.22.2" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552ceb903e957524388c4d3475725ff2c8b7960922063af6ce53c9a43da07449" +checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" dependencies = [ - "webpki 0.22.0", + "webpki", ] [[package]] @@ -11799,20 +11653,20 @@ dependencies = [ [[package]] name = "which" -version = "4.2.5" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae" +checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" dependencies = [ "either", - "lazy_static", "libc", + "once_cell 1.16.0", ] [[package]] name = "widestring" -version = "0.4.3" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" +checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" [[package]] name = "winapi" @@ -11858,53 +11712,196 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows-sys" +name = "windows" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbedf6db9096bc2364adce0ae0aa636dcd89f3c3f2cd67947062aaf0ca2a10ec" +dependencies = [ + "windows_aarch64_msvc 0.32.0", + "windows_i686_gnu 0.32.0", + "windows_i686_msvc 0.32.0", + "windows_x86_64_gnu 0.32.0", + "windows_x86_64_msvc 0.32.0", +] + +[[package]] +name = "windows" version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5acdd78cb4ba54c0045ac14f62d8f94a03d10047904ae2a40afa1e99d8f70825" +checksum = "45296b64204227616fdbf2614cefa4c236b98ee64dfaaaa435207ed99fe7829f" +dependencies = [ + "windows_aarch64_msvc 0.34.0", + "windows_i686_gnu 0.34.0", + "windows_i686_msvc 0.34.0", + "windows_x86_64_gnu 0.34.0", + "windows_x86_64_msvc 0.34.0", +] + +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.0", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" + [[package]] name = "windows_aarch64_msvc" version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" + +[[package]] +name = "windows_i686_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" + [[package]] name = "windows_i686_gnu" version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" + +[[package]] +name = "windows_i686_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" + [[package]] name = "windows_i686_msvc" version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" + [[package]] name = "windows_x86_64_gnu" version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" + [[package]] name = "windows_x86_64_msvc" version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" + [[package]] name = "winreg" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" +checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" dependencies = [ "winapi 0.3.9", ] @@ -11918,16 +11915,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "ws2_32-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - [[package]] name = "wyz" version = "0.5.0" @@ -11961,14 +11948,14 @@ dependencies = [ [[package]] name = "yamux" -version = "0.9.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107" +checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" dependencies = [ - "futures 0.3.21", + "futures", "log", "nohash-hasher", - "parking_lot 0.11.2", + "parking_lot 0.12.1", "rand 0.8.5", "static_assertions", ] @@ -11979,6 +11966,12 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +[[package]] +name = "yap" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc77f52dc9e9b10d55d3f4462c3b7fc393c4f17975d641542833ab2d3bc26ef" + [[package]] name = "zeroize" version = "1.5.7" @@ -12002,18 +11995,18 @@ dependencies = [ [[package]] name = "zstd" -version = "0.9.2+zstd.1.5.1" +version = "0.11.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2390ea1bf6c038c39674f22d95f0564725fc06034a47129179810b2fc58caa54" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "4.1.3+zstd.1.5.1" +version = "5.0.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e99d81b99fb3c2c2c794e3fe56c305c63d5173a16a46b5850b07c935ffc7db79" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" dependencies = [ "libc", "zstd-sys", @@ -12021,9 +12014,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "1.6.2+zstd.1.5.1" +version = "2.0.1+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2daf2f248d9ea44454bfcb2516534e8b8ad2fc91bf818a1885495fc42bc8ac9f" +checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b" dependencies = [ "cc", "libc", diff --git a/README.md b/README.md index 043d1422f..ccb22e008 100644 --- a/README.md +++ b/README.md @@ -204,18 +204,20 @@ by appending your own. A few useful ones are as follow. ``` ## testnet - * Currently our network requires 2 binaries - * ``` cargo build --release ``` will build both - * to run both you can reference /scrips.alice.sh for the chain and /scripts/sig_client.sh for the threshold client - * the sig client requires a mneumonic as an env and the one in the /scripts/sig_client.sh file is already hardcoded into the chain config (best to use that one) + +- Currently our network requires 2 binaries +- ``` cargo build --release ``` will build both +- to run both you can reference /scrips.alice.sh for the chain and /scripts/sig_client.sh for the threshold client +- the sig client requires a mneumonic as an env and the one in the /scripts/sig_client.sh file is already hardcoded into the chain config (best to use that one) ### changing defaults -* all defaults are ready to go out the box but can be changed if needed with varying degrees of difficult -* to change chain address away from default ws://127.0.0.1:9944 you need to inform the sig client which can be done with the env variable ```export ENDPOINT=``` -* To change the default of the sig client from ```http://127.0.0.1:3001/sign``` you need to tell the chain after it is running by making an rpc call. Example code can be found here ```https://github.com/Entropyxyz/util-scripts/blob/master/setEndpoint.ts```. You also need to maintain the route as /sign +* all defaults are ready to go out the box but can be changed if needed with varying degrees of difficult +- to change chain address away from default ws://127.0.0.1:9944 you need to inform the sig client which can be done with the env variable ```export ENDPOINT=``` +- To change the default of the sig client from ```http://127.0.0.1:3001/sign``` you need to tell the chain after it is running by making an rpc call. Example code can be found here ```https://github.com/entropyxyz/util-scripts/blob/master/setEndpoint.ts```. You also need to maintain the route as /sign ## Threshold keys + * keys for internal testnet use only, not secure, here for convience do not use them for anything real Alice @@ -234,43 +236,42 @@ Secret phrase `where sight patient orphan general short empower hope party hurt Account ID: 0x2a8200850770290c7ea3b50a8ff64c6761c882ff8393dc95fccb5d1475eff17f SS58 Address: 5D2SVCUkK5FgFiBwPTJuTN65J6fACSEoZrL41thZBAycwnQV - ## Running Devnet -* devnet requires 2 validator nodes, 2 threshold clients running on the same machine -* open 5 terminals lol +* devnet requires 2 validator nodes, 2 threshold clients running on the same machine -* In terminal 1 set up chain 1 - * ```cargo build --release``` - * ```./scripts/alice.sh``` +- open 5 terminals lol -* In terminal 2 run alice threshold client - * ```cargo build --release --features="alice unsafe"``` - * ```./scripts/server.sh``` +- In terminal 1 set up chain 1 + - ```cargo build --release``` + - ```./scripts/alice.sh``` -* In termainl 3 run chain 2 - * ```./scripts/bob.sh``` +- In terminal 2 run alice threshold client + - ```cargo build --release --features="alice unsafe"``` + - ```./scripts/server.sh``` -* In termainl 5run bob threshold client - * ```cargo build --release --features="bob unsafe"``` - * ```./scripts/server_bob.sh``` +- In termainl 3 run chain 2 + - ```./scripts/bob.sh``` +- In termainl 5run bob threshold client + - ```cargo build --release --features="bob unsafe"``` + - ```./scripts/server_bob.sh``` With all 4 nodes running the chain is now working, next we now have a clash where both chains by default send their OCW messages to port 3001, you need to change one of those -* from this repo https://github.com/entropyxyz/util-scripts - * need to setup the repo and link the wasm first - * ```cd pkg``` - * ```npm link``` - * ```cd ..``` - * ```npm link x25519-chacha20poly1305-wasm``` -* run setEndpoint.ts - * ```ts-node setEndpoint.ts``` - +- from this repo + - need to setup the repo and link the wasm first + - ```cd pkg``` + - ```npm link``` + - ```cd ..``` + - ```npm link x25519-chacha20poly1305-wasm``` +- run setEndpoint.ts + - ```ts-node setEndpoint.ts``` next register - * ```ts-node register.ts``` + +- ```ts-node register.ts``` now you can sign - * ```ts-node sign.ts``` +- ```ts-node sign.ts``` diff --git a/crypto/centralized-keygen/README.md b/crypto/centralized-keygen/README.md index aa7f300d7..f95168f9b 100644 --- a/crypto/centralized-keygen/README.md +++ b/crypto/centralized-keygen/README.md @@ -1,2 +1,2 @@ # Protocol Implementation -A convenience wrapper around methods from our [tofn](https://github.com/Entropyxyz/tofn) fork. +A convenience wrapper around methods from our [tofn](https://github.com/entropyxyz/tofn) fork. diff --git a/crypto/centralized-keygen/src/lib.rs b/crypto/centralized-keygen/src/lib.rs index f4087a759..8d213509a 100644 --- a/crypto/centralized-keygen/src/lib.rs +++ b/crypto/centralized-keygen/src/lib.rs @@ -5,7 +5,7 @@ use tofn::gg20::ceygen; /// Split a `secret_key` into `threshold`-of-`parties` shards, write to directory `path`. /// A wrapper around entropyxyz/tofn. -/// See https://github.com/Entropyxyz/tofn for details. +/// See https://github.com/entropyxyz/tofn for details. pub fn ceygen( path: PathBuf, parties: usize, diff --git a/crypto/kvdb/Cargo.toml b/crypto/kvdb/Cargo.toml index e5b07dca4..0e6131bea 100644 --- a/crypto/kvdb/Cargo.toml +++ b/crypto/kvdb/Cargo.toml @@ -13,7 +13,7 @@ thiserror ="1.0.31" project-root="0.2.2" # Crypto -tofn ={ git="https://github.com/Entropyxyz/tofn", branch="main" } +tofn ={ git="https://github.com/entropyxyz/tofn", branch="main" } zeroize ={ version="1.4", features=["zeroize_derive"], default-features=false } rpassword ={ version="5.0", default-features=false } scrypt ={ version="0.8", default-features=false, features=["std"] } diff --git a/crypto/server/Cargo.toml b/crypto/server/Cargo.toml index 0e170c08b..3d4ec7150 100644 --- a/crypto/server/Cargo.toml +++ b/crypto/server/Cargo.toml @@ -24,15 +24,15 @@ futures="0.3" tokio ={ version="1.16", features=["macros", "fs", "rt-multi-thread", "io-util"] } # HTTP -rocket ={ version="0.5.0-rc.1", default-features=false, features=["json"] } +rocket ={ version="0.5.0-rc.2", default-features=false, features=["json"] } reqwest={ version="0.11", features=["json", "stream"] } # Substrate +subxt ={ package="subxt", git="https://github.com/entropyxyz/subxt.git", branch="substrate-master" } parity-scale-codec="3.0.0" -subxt ={ git="https://github.com/paritytech/subxt.git" } -sp-keyring ="6.0.0" -sp-core ="6.0.0" -tofn ={ git="https://github.com/Entropyxyz/tofn", branch="main" } +sp-keyring ={ package="sp-keyring", git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } +sp-core ={ package="sp-core", git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } +tofn ={ git="https://github.com/entropyxyz/tofn", branch="main" } # Entropy substrate-common={ path="../substrate-common", default-features=false } diff --git a/crypto/server/entropy_metadata.scale b/crypto/server/entropy_metadata.scale index b05f789bf..3ce31d5a1 100644 Binary files a/crypto/server/entropy_metadata.scale and b/crypto/server/entropy_metadata.scale differ diff --git a/crypto/server/src/chain_api.rs b/crypto/server/src/chain_api.rs index 777d9a164..5dd8165e2 100644 --- a/crypto/server/src/chain_api.rs +++ b/crypto/server/src/chain_api.rs @@ -1,14 +1,16 @@ #![allow(clippy::all)] -use subxt::{ClientBuilder, DefaultConfig, PairSigner, PolkadotExtrinsicParams}; +pub use subxt::config::PolkadotConfig as EntropyConfig; +use subxt::{ + config::Config, + tx::{PairSigner, SubstrateExtrinsicParams}, + OnlineClient, +}; #[subxt::subxt(runtime_metadata_path = "entropy_metadata.scale")] pub mod entropy {} -pub type EntropyRuntime = - entropy::RuntimeApi>; - /// Creates an api instance to talk to chain /// Chain endpoint set on launch -pub async fn get_api(url: &str) -> Result> { - let api = ClientBuilder::new().set_url(url).build().await?.to_runtime_api::(); +pub async fn get_api(url: &str) -> Result, subxt::Error> { + let api = OnlineClient::::from_url(url).await?; Ok(api) } diff --git a/crypto/server/src/main.rs b/crypto/server/src/main.rs index 28d29ce0e..a560ff9ec 100644 --- a/crypto/server/src/main.rs +++ b/crypto/server/src/main.rs @@ -29,9 +29,9 @@ use bip39::{Language, Mnemonic, MnemonicType}; extern crate rocket; use kvdb::kv_manager::{error::KvError, KeyReservation, KvManager}; use rocket::routes; -use sp_core::{crypto::AccountId32, sr25519, Pair}; use sp_keyring::AccountKeyring; use substrate_common::SIGNING_PARTY_SIZE; +use subxt::ext::sp_core::{crypto::AccountId32, sr25519, Pair}; use self::{ signing_client::{api::*, SignerState}, diff --git a/crypto/server/src/message.rs b/crypto/server/src/message.rs index 140e47552..6914a0b88 100644 --- a/crypto/server/src/message.rs +++ b/crypto/server/src/message.rs @@ -7,8 +7,8 @@ use chacha20poly1305::{ use rand_core::OsRng; use rocket::serde::json::to_string; use serde::{Deserialize, Serialize}; -use sp_core::{crypto::AccountId32, sr25519, sr25519::Signature, Bytes, Pair}; use sp_keyring::AccountKeyring; +use subxt::ext::sp_core::{crypto::AccountId32, sr25519, sr25519::Signature, Bytes, Pair}; use x25519_dalek::{PublicKey, StaticSecret}; use zeroize::Zeroize; @@ -60,7 +60,7 @@ impl SignedMessage { Ok(SignedMessage { pk: sk.public().0, a: *a.as_bytes(), - msg: sp_core::Bytes(ciphertext), + msg: subxt::ext::sp_core::Bytes(ciphertext), nonce: static_nonce, sig: sk.sign(&hash), recip: recip.to_bytes(), @@ -179,7 +179,7 @@ mod tests { // Test encryption & signing. let encrypt_result = SignedMessage::new(&alice, &plaintext, &bob_public_key); // Assert no error received in encryption. - assert!(!encrypt_result.is_err()); + assert!(encrypt_result.is_ok()); let encrypted_message = encrypt_result.unwrap(); // Test signature validity @@ -188,7 +188,7 @@ mod tests { // Test decryption let decrypt_result = encrypted_message.decrypt(&bob); // Assert no error received in decryption. - assert!(!decrypt_result.is_err()); + assert!(decrypt_result.is_ok()); let decrypted_result = decrypt_result.unwrap(); // Check the decrypted message equals the plaintext. diff --git a/crypto/server/src/signing_client/api.rs b/crypto/server/src/signing_client/api.rs index 88d3efee6..6ea923c07 100644 --- a/crypto/server/src/signing_client/api.rs +++ b/crypto/server/src/signing_client/api.rs @@ -1,11 +1,11 @@ -use std::str; +use std::{io, str}; use k256::ecdsa::recoverable; use kvdb::kv_manager::KvManager; use parity_scale_codec::Decode; use rocket::{http::Status, response::stream::EventStream, serde::json::Json, Shutdown, State}; use substrate_common::OCWMessage; -use subxt::sp_runtime::AccountId32; +use subxt::ext::sp_runtime::AccountId32; use tofn::sdk::api::Signature; use tracing::instrument; @@ -81,7 +81,6 @@ pub async fn new_party( /// Other nodes in the party call this method to subscribe to this node's broadcasts. /// The SigningProtocol begins when all nodes in the party have called this method on this node. -#[instrument] #[post("/subscribe_to_me", data = "")] pub async fn subscribe_to_me( msg: Json, diff --git a/crypto/server/src/signing_client/tests.rs b/crypto/server/src/signing_client/tests.rs index cbc499484..73fc3c299 100644 --- a/crypto/server/src/signing_client/tests.rs +++ b/crypto/server/src/signing_client/tests.rs @@ -21,7 +21,7 @@ use serial_test::serial; use sp_core::{crypto::AccountId32, sr25519::Pair as Sr25519Pair, Pair as Pair2}; use sp_keyring::AccountKeyring; use substrate_common::{Message, SigRequest}; -use subxt::{sp_core::sr25519, PairSigner}; +use subxt::{ext::sp_core::sr25519, tx::PairSigner}; use testing_utils::context::{test_context, test_context_stationary}; use tofn::{ gg20::keygen::{KeygenPartyId, SecretKeyShare}, @@ -152,7 +152,7 @@ async fn create_clients(port: i64, key_number: String) -> Rocket { // Shortcut: store the shares manually let root = project_root::get_project_root().unwrap(); - let share_id = if port == 3001 { 0 } else { 1 }; + let share_id = i32::from(port != 3001); let path: PathBuf = [root, "test_data".into(), "key_shares".into(), share_id.to_string().into()] .into_iter() diff --git a/crypto/server/src/user/api.rs b/crypto/server/src/user/api.rs index 9fec3e35c..e61185aa9 100644 --- a/crypto/server/src/user/api.rs +++ b/crypto/server/src/user/api.rs @@ -6,15 +6,21 @@ use kvdb::kv_manager::{ }; use log::info; use rocket::{http::Status, response::stream::EventStream, serde::json::Json, Shutdown, State}; -use sp_core::{sr25519, Pair}; use substrate_common::SIGNING_PARTY_SIZE; -use subxt::{sp_runtime::AccountId32, DefaultConfig, PairSigner}; +use subxt::{ + ext::{ + sp_core::{sr25519, Pair}, + sp_runtime::AccountId32, + }, + tx::PairSigner, + OnlineClient, +}; use tracing::instrument; use zeroize::Zeroize; use super::{ParsedUserInputPartyInfo, UserErr, UserInputPartyInfo}; use crate::{ - chain_api::{entropy, get_api, EntropyRuntime}, + chain_api::{entropy, get_api, EntropyConfig}, message::SignedMessage, signing_client::SignerState, Configuration, @@ -49,7 +55,7 @@ pub async fn new_user( // store new user data in kvdb let subgroup = get_subgroup(&api, &signer) .await? - .ok_or(UserErr::SubgroupError("Subgroup Error"))?; + .ok_or_else(|| UserErr::SubgroupError("Subgroup Error"))?; let reservation = state.kv().reserve_key(key.to_string()).await?; state.kv().put(reservation, v).await?; // TODO: Error handling really complex needs to be thought about. @@ -62,14 +68,15 @@ pub async fn new_user( Ok(Status::Ok) } -pub async fn is_registering(api: &EntropyRuntime, who: &AccountId32) -> Result { - let is_registering = api - .storage() - .relayer() - .registering(who, None) - .await? - .ok_or(UserErr::NotRegistering("Register Onchain first"))?; - Ok(is_registering.is_registering) +pub async fn is_registering( + api: &OnlineClient, + who: &AccountId32, +) -> Result { + let is_registering_query = entropy::storage().relayer().registering(who); + let is_registering = api.storage().fetch(&is_registering_query, None).await.unwrap(); + Ok(is_registering + .ok_or_else(|| UserErr::NotRegistering("Register Onchain first"))? + .is_registering) } // Returns PairSigner for this nodes threshold server. @@ -77,13 +84,13 @@ pub async fn is_registering(api: &EntropyRuntime, who: &AccountId32) -> Result Result, KvError> { +) -> Result, KvError> { let exists = kv.kv().exists("MNEMONIC").await?; let raw_m = kv.kv().get("MNEMONIC").await?; match core::str::from_utf8(&raw_m) { Ok(s) => match Mnemonic::from_phrase(s, Language::English) { Ok(m) => match ::from_phrase(m.phrase(), None) { - Ok(p) => Ok(PairSigner::::new(p.0)), + Ok(p) => Ok(PairSigner::::new(p.0)), Err(e) => Err(KvError::GetErr(InnerKvError::LogicalErr("SENSITIVE".to_owned()))), }, Err(e) => Err(KvError::GetErr(InnerKvError::LogicalErr(e.to_string()))), @@ -93,19 +100,20 @@ pub async fn get_signer( } pub async fn get_subgroup( - api: &EntropyRuntime, - signer: &subxt::PairSigner, + api: &OnlineClient, + signer: &PairSigner, ) -> Result, UserErr> { let mut subgroup: Option = None; let address = signer.account_id(); // TODO: stash keys are broken up into subgroups....need to get stash key here from threshold for i in 0..SIGNING_PARTY_SIZE { + let signing_group_addresses_query = + entropy::storage().staking_extension().signing_groups(i as u8); let signing_group_addresses = api .storage() - .staking_extension() - .signing_groups(&(i as u8), None) + .fetch(&signing_group_addresses_query, None) .await? - .ok_or(UserErr::SubgroupError("Subgroup Error"))?; + .ok_or_else(|| UserErr::SubgroupError("Subgroup Error"))?; if signing_group_addresses.contains(address) { subgroup = Some(i as u8); break; @@ -115,19 +123,23 @@ pub async fn get_subgroup( } pub async fn confirm_registered( - api: &EntropyRuntime, + api: &OnlineClient, who: AccountId32, subgroup: u8, - signer: &subxt::PairSigner, -) -> Result<(), subxt::Error> { + signer: &PairSigner, +) -> Result<(), subxt::error::Error> { // TODO error handling + return error // TODO fire and forget, or wait for in block maybe Ddos error - let _ = api.tx().relayer() - .confirm_register(who, subgroup) - // TODO: Understand this better, potentially use sign_and_submit_default - // or other method under sign_and_* - .sign_and_submit_then_watch_default(signer).await? - .wait_for_in_block().await? - .wait_for_success().await?; + // TODO: Understand this better, potentially use sign_and_submit_default + // or other method under sign_and_* + let registration_tx = entropy::tx().relayer().confirm_register(who, subgroup); + let _ = api + .tx() + .sign_and_submit_then_watch_default(®istration_tx, signer) + .await? + .wait_for_in_block() + .await? + .wait_for_success() + .await?; Ok(()) } diff --git a/crypto/server/src/user/errors.rs b/crypto/server/src/user/errors.rs index 16a46fa5c..049efe5a2 100644 --- a/crypto/server/src/user/errors.rs +++ b/crypto/server/src/user/errors.rs @@ -20,9 +20,9 @@ pub enum UserErr { #[error("Kv error: {0}")] Kv(#[from] kvdb::kv_manager::error::KvError), #[error("Substrate error: {0}")] - Substrate(#[from] subxt::Error), + Substrate(#[from] subxt::error::DispatchError), #[error("Generic Substrate error: {0}")] - GenericSubstrate(#[from] subxt::GenericError), + GenericSubstrate(#[from] subxt::error::Error), #[error("Not Registering error: {0}")] NotRegistering(&'static str), #[error("Subgroup error: {0}")] diff --git a/crypto/server/src/user/mod.rs b/crypto/server/src/user/mod.rs index 9de5427fc..bc4d9ba43 100644 --- a/crypto/server/src/user/mod.rs +++ b/crypto/server/src/user/mod.rs @@ -22,7 +22,7 @@ use std::{ use kvdb::kv_manager::value::{KvValue, PartyInfo}; use rocket::{http::Status, serde::json::Json, State}; use serde::{Deserialize, Serialize}; -use subxt::sp_runtime::AccountId32; +use subxt::ext::sp_runtime::AccountId32; pub use self::errors::*; diff --git a/crypto/server/src/user/tests.rs b/crypto/server/src/user/tests.rs index db4f4f84b..beeeb17ff 100644 --- a/crypto/server/src/user/tests.rs +++ b/crypto/server/src/user/tests.rs @@ -1,7 +1,6 @@ use std::env; use bip39::{Language, Mnemonic, MnemonicType}; -use hex; use hex_literal::hex as h; use kvdb::clean_tests; use rocket::{ @@ -12,13 +11,13 @@ use rocket::{ use serial_test::serial; use sp_core::{sr25519, Bytes, Pair}; use sp_keyring::{AccountKeyring, Sr25519Keyring}; -use subxt::{sp_runtime::AccountId32, DefaultConfig, PairSigner}; +use subxt::{ext::sp_runtime::AccountId32, tx::PairSigner, OnlineClient}; use testing_utils::context::{test_context, test_context_stationary, TestContext}; use x25519_dalek::{PublicKey, StaticSecret}; use super::{api::get_subgroup, UserInputPartyInfo}; use crate::{ - chain_api::{get_api, EntropyRuntime}, + chain_api::{entropy, get_api, EntropyConfig}, get_signer, load_kv_store, message::{derive_static_secret, mnemonic_to_pair, new_mnemonic, SignedMessage}, user::unsafe_api::UnsafeQuery, @@ -55,7 +54,7 @@ async fn test_unsafe_get_endpoint() { assert_eq!(response.status(), Status::Ok); let response_mnemonic = response.into_string().await.unwrap(); - assert!(response_mnemonic.len() > 0); + assert!(!response_mnemonic.is_empty()); // Update the mnemonic, testing the put endpoint works let put_response = client @@ -86,16 +85,17 @@ async fn test_store_share() { let alice = AccountKeyring::Alice; let alice_stash_id: AccountId32 = h!["be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f"].into(); - let key: AccountId32 = alice.to_account_id().into(); + let key: AccountId32 = alice.to_account_id(); let value: Vec = vec![0]; let cxt = test_context_stationary().await; let client = setup_client().await; let api = get_api(&cxt.node_proc.ws_url).await.unwrap(); - let query_result = - api.storage().staking_extension().threshold_accounts(&alice_stash_id, None).await.unwrap(); - assert!(!query_result.is_none()); + let threshold_accounts_query = + entropy::storage().staking_extension().threshold_accounts(&alice_stash_id); + let query_result = api.storage().fetch(&threshold_accounts_query, None).await.unwrap(); + assert!(query_result.is_some()); let res = query_result.unwrap(); let server_public_key = PublicKey::from(res.1); @@ -146,8 +146,9 @@ async fn test_store_share() { // fails with wrong node key let bob_stash_id: AccountId32 = h!["fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e"].into(); - let query_result_bob = - api.storage().staking_extension().threshold_accounts(&bob_stash_id, None).await.unwrap(); + + let query_bob = entropy::storage().staking_extension().threshold_accounts(&bob_stash_id); + let query_result_bob = api.storage().fetch(&query_bob, None).await.unwrap(); let res_bob = query_result_bob.unwrap(); let server_public_key_bob = PublicKey::from(res_bob.1); let user_input_bob = @@ -164,16 +165,16 @@ async fn test_store_share() { assert_eq!(response_4.status(), Status::InternalServerError); assert_eq!(response_4.into_string().await.unwrap(), "Parse error: failed decrypting message"); - let sig: [u8; 64] = [0; 64].try_into().unwrap(); - let slice: [u8; 32] = [0; 32].try_into().unwrap(); - let nonce: [u8; 12] = [0; 12].try_into().unwrap(); + let sig: [u8; 64] = [0; 64]; + let slice: [u8; 32] = [0; 32]; + let nonce: [u8; 12] = [0; 12]; let user_input_bad = SignedMessage::new_test( Bytes(value), sr25519::Signature::from_raw(sig), - slice.clone(), - slice.clone(), - slice.clone(), - nonce.clone(), + slice, + slice, + slice, + nonce, ) .to_json(); @@ -218,32 +219,33 @@ async fn test_get_signing_group() { let client = setup_client().await; let api = get_api(&cxt.node_proc.ws_url).await.unwrap(); let p_alice = ::from_string("//Alice//stash", None).unwrap(); - let signer_alice = PairSigner::::new(p_alice); + let signer_alice = PairSigner::::new(p_alice); let result_alice = get_subgroup(&api, &signer_alice).await.unwrap(); assert_eq!(result_alice, Some(0)); let p_bob = ::from_string("//Bob//stash", None).unwrap(); - let signer_bob = PairSigner::::new(p_bob); + let signer_bob = PairSigner::::new(p_bob); let result_bob = get_subgroup(&api, &signer_bob).await.unwrap(); assert_eq!(result_bob, Some(1)); let p_charlie = ::from_string("//Charlie//stash", None).unwrap(); - let signer_charlie = PairSigner::::new(p_charlie); + let signer_charlie = PairSigner::::new(p_charlie); let result_charlie = get_subgroup(&api, &signer_charlie).await.unwrap(); assert_eq!(result_charlie, None); clean_tests(); } -pub async fn make_register(api: &EntropyRuntime, alice: &Sr25519Keyring) { +pub async fn make_register(api: &OnlineClient, alice: &Sr25519Keyring) { let signer = PairSigner::new(alice.pair()); - let is_registering_1 = - api.storage().relayer().registering(&alice.to_account_id(), None).await.unwrap(); - assert_eq!(is_registering_1.is_none(), true); + let registering_query = entropy::storage().relayer().registering(&alice.to_account_id()); + let is_registering_1 = api.storage().fetch(®istering_query, None).await.unwrap(); + assert!(is_registering_1.is_none()); + + let registering_tx = entropy::tx().relayer().register(); + api.tx() - .relayer() - .register() - .sign_and_submit_then_watch_default(&signer) + .sign_and_submit_then_watch_default(®istering_tx, &signer) .await .unwrap() .wait_for_in_block() @@ -252,18 +254,18 @@ pub async fn make_register(api: &EntropyRuntime, alice: &Sr25519Keyring) { .wait_for_success() .await .unwrap(); - let is_registering_2 = - api.storage().relayer().registering(&alice.to_account_id(), None).await.unwrap(); - assert_eq!(is_registering_2.unwrap().is_registering, true); + + let is_registering_2 = api.storage().fetch(®istering_query, None).await; + assert!(is_registering_2.unwrap().unwrap().is_registering); } -pub async fn check_if_confirmation(api: &EntropyRuntime, alice: &Sr25519Keyring) { - let is_registering = - api.storage().relayer().registering(&alice.to_account_id(), None).await.unwrap(); +pub async fn check_if_confirmation(api: &OnlineClient, alice: &Sr25519Keyring) { + let registering_query = entropy::storage().relayer().registering(&alice.to_account_id()); + let registered_query = entropy::storage().relayer().registered(&alice.to_account_id()); + let is_registering = api.storage().fetch(®istering_query, None).await.unwrap(); // make sure there is one confirmation assert_eq!(is_registering.unwrap().confirmations.len(), 1); - let is_registered = - api.storage().relayer().registered(&alice.to_account_id(), None).await.unwrap(); + let is_registered = api.storage().fetch(®istered_query, None).await.unwrap(); // still not registered need more confirmations - assert_eq!(is_registered.is_none(), true); + assert!(is_registered.is_none()); } diff --git a/crypto/server/src/user/unsafe_api.rs b/crypto/server/src/user/unsafe_api.rs index bc0474a5f..fce637cb9 100644 --- a/crypto/server/src/user/unsafe_api.rs +++ b/crypto/server/src/user/unsafe_api.rs @@ -15,12 +15,12 @@ use rocket::{ }; use serde::{Deserialize, Serialize}; use sp_core::{sr25519, Pair}; -use subxt::{sp_runtime::AccountId32, DefaultConfig, PairSigner}; +use subxt::{ext::sp_runtime::AccountId32, tx::PairSigner}; use tracing::instrument; use super::{ParsedUserInputPartyInfo, UserErr, UserInputPartyInfo}; use crate::{ - chain_api::{entropy, get_api, EntropyRuntime}, + chain_api::{entropy, get_api}, message::SignedMessage, signing_client::SignerState, Configuration, diff --git a/crypto/substrate-common/src/types.rs b/crypto/substrate-common/src/types.rs index 7ebd29dc8..a303bfa24 100644 --- a/crypto/substrate-common/src/types.rs +++ b/crypto/substrate-common/src/types.rs @@ -9,7 +9,7 @@ pub struct RegistrationMessage { // ToDo: TypeInfo marco only works for basic types out of the box. // Out of the box it does not work for types like SecretKey or PublicKey // TypeInfo needs to be implemented for these types. - // see https://github.com/Entropyxyz/entropy-core/issues/29 + // see https://github.com/entropyxyz/entropy-core/issues/29 // /// Session ID/nonce. Check that this ID has not beed used before // /// This will be 0 for account creation. diff --git a/crypto/testing-utils/Cargo.toml b/crypto/testing-utils/Cargo.toml index f6b1c41dc..bee97a1ff 100644 --- a/crypto/testing-utils/Cargo.toml +++ b/crypto/testing-utils/Cargo.toml @@ -6,11 +6,11 @@ edition="2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -sp-keyring ="6.0.0" +subxt ={ git="https://github.com/entropyxyz/subxt.git", branch="substrate-master" } +sp-keyring ={ package="sp-keyring", git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } project-root ="0.2.2" -sp-core ={ version="6.0.0", default-features=false } +sp-core ={ package="sp-core", git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } env_logger ="0.9.0" log ="0.4.14" which ="4.0.2" -subxt ={ git="https://github.com/paritytech/subxt.git" } parity-scale-codec="3.0.0" diff --git a/crypto/testing-utils/src/chain_api.rs b/crypto/testing-utils/src/chain_api.rs new file mode 100644 index 000000000..57d4e00b6 --- /dev/null +++ b/crypto/testing-utils/src/chain_api.rs @@ -0,0 +1,5 @@ +#![allow(clippy::all)] +pub use subxt::config::PolkadotConfig as EntropyConfig; + +#[subxt::subxt(runtime_metadata_path = "../server/entropy_metadata.scale")] +pub mod entropy {} diff --git a/crypto/testing-utils/src/context.rs b/crypto/testing-utils/src/context.rs index c349c2b02..17a7a5351 100644 --- a/crypto/testing-utils/src/context.rs +++ b/crypto/testing-utils/src/context.rs @@ -1,8 +1,8 @@ -use sp_core::sr25519::Pair; use sp_keyring::AccountKeyring; -use subxt::{Client, DefaultConfig, PairSigner, SubstrateExtrinsicParams}; +use subxt::{tx::SubstrateExtrinsicParams, OnlineClient}; use super::node_proc::TestNodeProcess; +use crate::chain_api::*; /// substrate node should be installed fn get_path() -> String { @@ -12,61 +12,56 @@ fn get_path() -> String { ) } -pub type NodeRuntimeSignedExtra = SubstrateExtrinsicParams; +pub type NodeRuntimeSignedExtra = SubstrateExtrinsicParams; -pub async fn test_node_process_with(key: AccountKeyring) -> TestNodeProcess { +pub async fn test_node_process_with(key: AccountKeyring) -> TestNodeProcess { let path = get_path(); - let proc = TestNodeProcess::::build(path.as_str()) + let proc = TestNodeProcess::::build(path.as_str()) .with_authority(key) .scan_for_open_ports() - .spawn::() + .spawn::() .await; proc.unwrap() } -pub async fn test_node(key: AccountKeyring) -> TestNodeProcess { +pub async fn test_node(key: AccountKeyring) -> TestNodeProcess { let path = get_path(); - let proc = TestNodeProcess::::build(path.as_str()) + let proc = TestNodeProcess::::build(path.as_str()) .with_authority(key) - .spawn::() + .spawn::() .await; proc.unwrap() } -pub async fn test_node_process() -> TestNodeProcess { +pub async fn test_node_process() -> TestNodeProcess { test_node_process_with(AccountKeyring::Alice).await } -pub async fn test_node_process_stationary() -> TestNodeProcess { +pub async fn test_node_process_stationary() -> TestNodeProcess { test_node(AccountKeyring::Alice).await } -#[subxt::subxt(runtime_metadata_path = "../server/entropy_metadata.scale")] -pub mod entropy {} - pub struct TestContext { - pub node_proc: TestNodeProcess, - pub api: entropy::RuntimeApi>, + pub node_proc: TestNodeProcess, + pub api: OnlineClient, } impl TestContext { - pub fn client(&self) -> &Client { &self.api.client } + pub fn client(&self) -> &OnlineClient { &self.api } } pub async fn test_context() -> TestContext { env_logger::try_init().ok(); - let node_proc: TestNodeProcess = test_node_process().await; - let api = node_proc.client().clone().to_runtime_api(); + let node_proc: TestNodeProcess = test_node_process().await; + let api = node_proc.client().clone(); TestContext { node_proc, api } } pub async fn test_context_stationary() -> TestContext { env_logger::try_init().ok(); - let node_proc: TestNodeProcess = test_node_process_stationary().await; - let api = node_proc.client().clone().to_runtime_api(); + let node_proc: TestNodeProcess = test_node_process_stationary().await; + let api = node_proc.client().clone(); TestContext { node_proc, api } } - -pub fn pair_signer(pair: Pair) -> PairSigner { PairSigner::new(pair) } diff --git a/crypto/testing-utils/src/lib.rs b/crypto/testing-utils/src/lib.rs index ad411bd87..05512d021 100644 --- a/crypto/testing-utils/src/lib.rs +++ b/crypto/testing-utils/src/lib.rs @@ -1,3 +1,4 @@ +mod chain_api; pub mod context; mod node_proc; pub use context::*; diff --git a/crypto/testing-utils/src/node_proc.rs b/crypto/testing-utils/src/node_proc.rs index 287bfb3ff..53ad8d11a 100644 --- a/crypto/testing-utils/src/node_proc.rs +++ b/crypto/testing-utils/src/node_proc.rs @@ -7,12 +7,12 @@ use std::{ }; use sp_keyring::AccountKeyring; -use subxt::{Client, ClientBuilder, Config}; +use subxt::{Config, OnlineClient}; /// Spawn a local substrate node for testing subxt. pub struct TestNodeProcess { proc: process::Child, - client: Client, + client: OnlineClient, pub ws_url: String, } @@ -43,7 +43,7 @@ where R: Config } /// Returns the subxt client connected to the running node. - pub fn client(&self) -> &Client { &self.client } + pub fn client(&self) -> &OnlineClient { &self.client } } /// Construct a test node process. @@ -115,7 +115,7 @@ impl TestNodeProcessBuilder { attempts, MAX_ATTEMPTS ); - let result = ClientBuilder::new().set_url(ws_url.clone()).build().await; + let result = OnlineClient::::from_url(ws_url.clone()).await; match result { Ok(client) => break Ok(client), Err(err) => { diff --git a/node/cli/Cargo.toml b/node/cli/Cargo.toml index 7222b962e..683e8fd34 100644 --- a/node/cli/Cargo.toml +++ b/node/cli/Cargo.toml @@ -16,50 +16,62 @@ targets=['x86_64-unknown-linux-gnu'] [[bin]] name='entropy' -[build-dependencies.substrate-build-script-utils] -git ='https://github.com/paritytech/substrate.git' -branch ="master" -version='3.0.0' - [dependencies] -jsonrpc-core ='18.0.0' -structopt ='0.3.8' -grandpa-primitives ={ version="4.0.0-dev", package="sp-finality-grandpa", git='https://github.com/paritytech/substrate.git', branch="master" } -hex-literal ="0.3.1" -pallet-im-online ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sc-chain-spec ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -serde ={ version="1.0.126", features=["derive"] } -sp-authority-discovery ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-consensus-babe ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -node-primitives ={ version="2.0.0", git='https://github.com/paritytech/substrate.git', branch="master" } -rand ="0.7.2" -sc-sync-state-rpc ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -futures ="0.3.16" -node-executor ={ version="3.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-consensus-babe ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-network ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -grandpa ={ version="0.10.0-dev", package="sc-finality-grandpa", git='https://github.com/paritytech/substrate.git', branch="master" } -node-rpc ={ version="3.0.0-dev", path="../rpc" } -sc-consensus-slots ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-transaction-storage-proof={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-authority-discovery ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-authorship ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-consensus-uncles ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-consensus-babe-rpc ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-consensus-epochs ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-finality-grandpa-rpc ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-keystore ={ version="0.12.0", git='https://github.com/paritytech/substrate.git', branch="master" } -clap ={ version="3.0", features=["derive"] } +jsonrpc-core ='18.0.0' +clap ={ version="3.1.18", features=["derive"] } +codec ={ package="parity-scale-codec", version="3.0.0" } +structopt ='0.3.8' +grandpa-primitives ={ version="4.0.0-dev", package="sp-finality-grandpa", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +hex-literal ="0.3.1" +pallet-im-online ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-chain-spec ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +serde ={ version="1.0.126", features=["derive"] } +sp-authority-discovery ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-consensus-babe ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +node-primitives ={ version="2.0.0", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +rand ="0.7.2" +sc-sync-state-rpc ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +futures ="0.3.16" +sc-consensus-babe ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-network ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-network-common ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-consensus-slots ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-transaction-storage-proof ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-authority-discovery ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-authorship ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-consensus-uncles ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-consensus-babe-rpc ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-consensus-epochs ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-finality-grandpa ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-finality-grandpa-rpc ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-keystore ={ version="0.12.0", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +jsonrpsee ={ version="0.15.1", features=["server"] } +sp-inherents ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-keyring ={ version="6.0.0", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-system ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-system-rpc-runtime-api ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-transaction-payment ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-free-tx ={ version="3.0.0-monthly-2021-10", path="../../pallets/free-tx" } +node-inspect ={ version="0.9.0-dev", optional=true, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +substrate-frame-cli ={ version="4.0.0-dev", optional=true, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-sysinfo ={ version="6.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +substrate-state-trie-migration-rpc={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } + +[build-dependencies] +clap ={ version="3.1.18", optional=true } +clap_complete ={ version="3.0", optional=true } +node-inspect ={ version="0.9.0-dev", optional=true, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +substrate-build-script-utils={ version="3.0.0", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +substrate-frame-cli ={ version="4.0.0-dev", optional=true, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +try-runtime-cli ={ version="0.10.0-dev", optional=true, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sc-cli ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-balances ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } + +sc-service-test={ version="2.0.0", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } [dev-dependencies] -sc-service-test ={ version="2.0.0", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-inherents ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-keyring ={ version="6.0.0", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-tracing ={ version="5.0.0", git='https://github.com/paritytech/substrate.git', branch="master" } -frame-system ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-transaction-payment={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -tempfile ="3.1.0" -pallet-free-tx ={ version="3.0.0-monthly-2021-10", path="../../pallets/free-tx" } +sc-service-test={ version="2.0.0", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +tempfile ="3.1.0" [dependencies.entropy-runtime] path ='../../runtime' @@ -67,132 +79,136 @@ version='3.0.0-monthly-2021-10' [dependencies.frame-benchmarking] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.frame-benchmarking-cli] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.pallet-transaction-payment-rpc] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.sc-basic-authorship] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='0.10.0-dev' [dependencies.sc-cli] features=['wasmtime'] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='0.10.0-dev' [dependencies.sc-client-api] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.sc-consensus] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='0.10.0-dev' [dependencies.sc-consensus-aura] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='0.10.0-dev' [dependencies.sc-executor] features=['wasmtime'] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='0.10.0-dev' [dependencies.sc-keystore] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.sc-rpc] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.sc-rpc-api] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='0.10.0-dev' [dependencies.sc-service] features=['wasmtime'] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='0.10.0-dev' [dependencies.sc-telemetry] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.sc-transaction-pool] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.sc-transaction-pool-api] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.sp-api] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.sp-block-builder] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.sp-blockchain] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.sp-consensus] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='0.10.0-dev' [dependencies.sp-consensus-aura] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='0.10.0-dev' [dependencies.sp-core] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='6.0.0' [dependencies.sp-runtime] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='6.0.0' [dependencies.sp-timestamp] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [dependencies.substrate-frame-rpc-system] git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version='4.0.0-dev' [features] -default =[] -runtime-benchmarks=['entropy-runtime/runtime-benchmarks'] +default=[] +runtime-benchmarks=[ + 'entropy-runtime/runtime-benchmarks', + "frame-benchmarking/runtime-benchmarks", + "frame-benchmarking-cli/runtime-benchmarks", +] diff --git a/node/cli/src/benchmarking.rs b/node/cli/src/benchmarking.rs new file mode 100644 index 000000000..37750d0ba --- /dev/null +++ b/node/cli/src/benchmarking.rs @@ -0,0 +1,110 @@ +// This file is part of Substrate. + +// Copyright (C) 2022 Parity Technologies (UK) Ltd. +// 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 . + +//! Setup code for [`super::command`] which would otherwise bloat that module. +//! +//! Should only be used for benchmarking as it may break in other contexts. + +use std::{sync::Arc, time::Duration}; + +use entropy_runtime::{BalancesCall, SystemCall}; +use node_primitives::{AccountId, Balance}; +use sc_cli::Result; +use sp_inherents::{InherentData, InherentDataProvider}; +use sp_keyring::Sr25519Keyring; +use sp_runtime::OpaqueExtrinsic; + +use crate::service::{create_extrinsic, FullClient}; + +/// Generates `System::Remark` extrinsics for the benchmarks. +/// +/// Note: Should only be used for benchmarking. +pub struct RemarkBuilder { + client: Arc, +} + +impl RemarkBuilder { + /// Creates a new [`Self`] from the given client. + pub fn new(client: Arc) -> Self { Self { client } } +} + +impl frame_benchmarking_cli::ExtrinsicBuilder for RemarkBuilder { + fn pallet(&self) -> &str { "system" } + + fn extrinsic(&self) -> &str { "remark" } + + fn build(&self, nonce: u32) -> std::result::Result { + let acc = Sr25519Keyring::Bob.pair(); + let extrinsic: OpaqueExtrinsic = create_extrinsic( + self.client.as_ref(), + acc, + SystemCall::remark { remark: vec![] }, + Some(nonce), + ) + .into(); + + Ok(extrinsic) + } +} + +/// Generates `Balances::TransferKeepAlive` extrinsics for the benchmarks. +/// +/// Note: Should only be used for benchmarking. +pub struct TransferKeepAliveBuilder { + client: Arc, + dest: AccountId, + value: Balance, +} + +impl TransferKeepAliveBuilder { + /// Creates a new [`Self`] from the given client. + pub fn new(client: Arc, dest: AccountId, value: Balance) -> Self { + Self { client, dest, value } + } +} + +impl frame_benchmarking_cli::ExtrinsicBuilder for TransferKeepAliveBuilder { + fn pallet(&self) -> &str { "balances" } + + fn extrinsic(&self) -> &str { "transfer_keep_alive" } + + fn build(&self, nonce: u32) -> std::result::Result { + let acc = Sr25519Keyring::Bob.pair(); + let extrinsic: OpaqueExtrinsic = create_extrinsic( + self.client.as_ref(), + acc, + BalancesCall::transfer_keep_alive { dest: self.dest.clone().into(), value: self.value }, + Some(nonce), + ) + .into(); + + Ok(extrinsic) + } +} + +/// Generates inherent data for the `benchmark overhead` command. +pub fn inherent_benchmark_data() -> Result { + let mut inherent_data = InherentData::new(); + let d = Duration::from_millis(0); + let timestamp = sp_timestamp::InherentDataProvider::new(d.into()); + + timestamp + .provide_inherent_data(&mut inherent_data) + .map_err(|e| format!("creating inherent data: {:?}", e))?; + Ok(inherent_data) +} diff --git a/node/cli/src/chain_spec.rs b/node/cli/src/chain_spec.rs index d26aa3e18..cc3d726ff 100644 --- a/node/cli/src/chain_spec.rs +++ b/node/cli/src/chain_spec.rs @@ -18,6 +18,7 @@ //! Substrate chain configurations. +#![allow(dead_code)] pub use entropy_runtime::GenesisConfig; use entropy_runtime::{ constants::currency::*, wasm_binary_unwrap, AuthorityDiscoveryConfig, BabeConfig, @@ -409,6 +410,7 @@ pub fn testnet_genesis( vesting: Default::default(), transaction_storage: Default::default(), transaction_payment: Default::default(), + nomination_pools: Default::default(), } } @@ -513,11 +515,9 @@ pub(crate) mod tests { #[test] #[ignore] fn test_connectivity() { - sp_tracing::try_init_simple(); - sc_service_test::connectivity(integration_test_config_with_two_authorities(), |config| { let NewFullBase { task_manager, client, network, transaction_pool, .. } = - new_full_base(config, |_, _| ())?; + new_full_base(config, false, |_, _| ())?; Ok(sc_service_test::TestNetComponents::new( task_manager, client, diff --git a/node/cli/src/cli.rs b/node/cli/src/cli.rs index de55442bd..f5b34c306 100644 --- a/node/cli/src/cli.rs +++ b/node/cli/src/cli.rs @@ -1,5 +1,4 @@ -use sc_cli::RunCmd; - +/// An overarching CLI command definition. #[derive(Debug, clap::Parser)] pub struct Cli { /// Possible subcommand with parameters. @@ -8,7 +7,17 @@ pub struct Cli { #[allow(missing_docs)] #[clap(flatten)] - pub run: RunCmd, + pub run: sc_cli::RunCmd, + + /// Disable automatic hardware benchmarks. + /// + /// By default these benchmarks are automatically ran at startup and measure + /// the CPU speed, the memory bandwidth and the disk speed. + /// + /// The results are then printed out in the logs, and also sent as part of + /// telemetry, if telemetry is enabled. + #[clap(long)] + pub no_hardware_benchmarks: bool, } #[derive(Debug, clap::Subcommand)] @@ -16,6 +25,7 @@ pub enum Subcommand { /// Key management cli utilities #[clap(subcommand)] Key(sc_cli::KeySubcommand), + /// Build a chain specification. BuildSpec(sc_cli::BuildSpecCmd), @@ -37,7 +47,18 @@ pub enum Subcommand { /// Revert the chain to a previous state. Revert(sc_cli::RevertCmd), - /// The custom benchmark subcommmand benchmarking runtime pallets. - #[clap(name = "benchmark", about = "Benchmark runtime pallets.")] + /// Sub-commands concerned with benchmarking. + #[clap(subcommand)] Benchmark(frame_benchmarking_cli::BenchmarkCmd), + + /// Try some command against runtime state. + #[cfg(feature = "try-runtime")] + TryRuntime(try_runtime_cli::TryRuntimeCmd), + + /// Try some command against runtime state. Note: `try-runtime` feature must be enabled. + #[cfg(not(feature = "try-runtime"))] + TryRuntime, + + /// Db meta columns information. + ChainInfo(sc_cli::ChainInfoCmd), } diff --git a/node/cli/src/command.rs b/node/cli/src/command.rs index 239188b3f..c09ab5d5f 100644 --- a/node/cli/src/command.rs +++ b/node/cli/src/command.rs @@ -1,31 +1,14 @@ -// This file is part of Substrate. - -// Copyright (C) 2017-2021 Parity Technologies (UK) Ltd. -// 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 . - -use entropy_runtime::Block; -use node_executor::ExecutorDispatch; -use sc_cli::{ChainSpec, Result, RuntimeVersion, SubstrateCli}; +use entropy_runtime::{Block, EXISTENTIAL_DEPOSIT}; +use frame_benchmarking_cli::{BenchmarkCmd, ExtrinsicFactory, SUBSTRATE_REFERENCE_HARDWARE}; +use sc_cli::{ChainSpec, RuntimeVersion, SubstrateCli}; use sc_service::PartialComponents; +use sp_keyring::Sr25519Keyring; use crate::{ + benchmarking::{inherent_benchmark_data, RemarkBuilder, TransferKeepAliveBuilder}, chain_spec, cli::{Cli, Subcommand}, service, - service::new_partial, }; impl SubstrateCli for Cli { @@ -37,23 +20,17 @@ impl SubstrateCli for Cli { fn author() -> String { env!("CARGO_PKG_AUTHORS").into() } - fn support_url() -> String { "https://github.com/paritytech/substrate/issues/new".into() } + fn support_url() -> String { "support.anonymous.an".into() } fn copyright_start_year() -> i32 { 2017 } - fn load_spec(&self, id: &str) -> std::result::Result, String> { - let spec = match id { - "" => - return Err("Please specify which chain you want to run, e.g. --dev or \ - --chain=local" - .into()), + fn load_spec(&self, id: &str) -> Result, String> { + Ok(match id { "dev" => Box::new(chain_spec::development_config()), - "local" => Box::new(chain_spec::local_testnet_config()), - "staging" => Box::new(chain_spec::staging_testnet_config()), + "" | "local" => Box::new(chain_spec::local_testnet_config()), path => Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?), - }; - Ok(spec) + }) } fn native_runtime_version(_: &Box) -> &'static RuntimeVersion { @@ -61,27 +38,11 @@ impl SubstrateCli for Cli { } } -/// Parse command line arguments into service configuration. -pub fn run() -> Result<()> { +/// Parse and run command line arguments +pub fn run() -> sc_cli::Result<()> { let cli = Cli::from_args(); match &cli.subcommand { - None => { - let runner = cli.create_runner(&cli.run)?; - runner.run_node_until_exit(|config| async move { - service::new_full(config).map_err(sc_cli::Error::Service) - }) - }, - Some(Subcommand::Benchmark(cmd)) => - if cfg!(feature = "runtime-benchmarks") { - let runner = cli.create_runner(cmd)?; - - runner.sync_run(|config| cmd.run::(config)) - } else { - Err("Benchmarking wasn't enabled when building the node. You can enable it with \ - `--features runtime-benchmarks`." - .into()) - }, Some(Subcommand::Key(cmd)) => cmd.run(&cli), Some(Subcommand::BuildSpec(cmd)) => { let runner = cli.create_runner(cmd)?; @@ -91,21 +52,21 @@ pub fn run() -> Result<()> { let runner = cli.create_runner(cmd)?; runner.async_run(|config| { let PartialComponents { client, task_manager, import_queue, .. } = - new_partial(&config)?; + service::new_partial(&config)?; Ok((cmd.run(client, import_queue), task_manager)) }) }, Some(Subcommand::ExportBlocks(cmd)) => { let runner = cli.create_runner(cmd)?; runner.async_run(|config| { - let PartialComponents { client, task_manager, .. } = new_partial(&config)?; + let PartialComponents { client, task_manager, .. } = service::new_partial(&config)?; Ok((cmd.run(client, config.database), task_manager)) }) }, Some(Subcommand::ExportState(cmd)) => { let runner = cli.create_runner(cmd)?; runner.async_run(|config| { - let PartialComponents { client, task_manager, .. } = new_partial(&config)?; + let PartialComponents { client, task_manager, .. } = service::new_partial(&config)?; Ok((cmd.run(client, config.chain_spec), task_manager)) }) }, @@ -113,7 +74,7 @@ pub fn run() -> Result<()> { let runner = cli.create_runner(cmd)?; runner.async_run(|config| { let PartialComponents { client, task_manager, import_queue, .. } = - new_partial(&config)?; + service::new_partial(&config)?; Ok((cmd.run(client, import_queue), task_manager)) }) }, @@ -124,14 +85,106 @@ pub fn run() -> Result<()> { Some(Subcommand::Revert(cmd)) => { let runner = cli.create_runner(cmd)?; runner.async_run(|config| { - let PartialComponents { client, task_manager, backend, .. } = new_partial(&config)?; - let revert_aux = Box::new(|client, backend, blocks| { - sc_consensus_babe::revert(client, backend, blocks)?; - // TODO: grandpa revert + let PartialComponents { client, task_manager, backend, .. } = + service::new_partial(&config)?; + let aux_revert = Box::new(|client, _, blocks| { + sc_finality_grandpa::revert(client, blocks)?; Ok(()) }); + Ok((cmd.run(client, backend, Some(aux_revert)), task_manager)) + }) + }, + Some(Subcommand::Benchmark(cmd)) => { + let runner = cli.create_runner(cmd)?; - Ok((cmd.run(client, backend, Some(revert_aux)), task_manager)) + runner.sync_run(|config| { + // This switch needs to be in the client, since the client decides + // which sub-commands it wants to support. + match cmd { + BenchmarkCmd::Pallet(cmd) => { + if !cfg!(feature = "runtime-benchmarks") { + return Err("Runtime benchmarking wasn't enabled when building the \ + node. You can enable it with `--features \ + runtime-benchmarks`." + .into()); + } + + cmd.run::(config) + }, + BenchmarkCmd::Block(cmd) => { + let PartialComponents { client, .. } = service::new_partial(&config)?; + cmd.run(client) + }, + #[cfg(not(feature = "runtime-benchmarks"))] + BenchmarkCmd::Storage(_) => Err("Storage benchmarking can be enabled with \ + `--features runtime-benchmarks`." + .into()), + #[cfg(feature = "runtime-benchmarks")] + BenchmarkCmd::Storage(cmd) => { + let PartialComponents { client, backend, .. } = + service::new_partial(&config)?; + let db = backend.expose_db(); + let storage = backend.expose_storage(); + + cmd.run(config, client, db, storage) + }, + BenchmarkCmd::Overhead(cmd) => { + let PartialComponents { client, .. } = service::new_partial(&config)?; + let ext_builder = RemarkBuilder::new(client.clone()); + + cmd.run( + config, + client, + inherent_benchmark_data()?, + Vec::new(), + &ext_builder, + ) + }, + BenchmarkCmd::Extrinsic(cmd) => { + let PartialComponents { client, .. } = service::new_partial(&config)?; + // Register the *Remark* and *TKA* builders. + let ext_factory = ExtrinsicFactory(vec![ + Box::new(RemarkBuilder::new(client.clone())), + Box::new(TransferKeepAliveBuilder::new( + client.clone(), + Sr25519Keyring::Alice.to_account_id(), + EXISTENTIAL_DEPOSIT, + )), + ]); + + cmd.run(client, inherent_benchmark_data()?, Vec::new(), &ext_factory) + }, + BenchmarkCmd::Machine(cmd) => + cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone()), + } + }) + }, + #[cfg(feature = "try-runtime")] + Some(Subcommand::TryRuntime(cmd)) => { + let runner = cli.create_runner(cmd)?; + runner.async_run(|config| { + // we don't need any of the components of new_partial, just a runtime, or a task + // manager to do `async_run`. + let registry = config.prometheus_config.as_ref().map(|cfg| &cfg.registry); + let task_manager = + sc_service::TaskManager::new(config.tokio_handle.clone(), registry) + .map_err(|e| sc_cli::Error::Service(sc_service::Error::Prometheus(e)))?; + Ok((cmd.run::(config), task_manager)) + }) + }, + #[cfg(not(feature = "try-runtime"))] + Some(Subcommand::TryRuntime) => Err("TryRuntime wasn't enabled when building the node. \ + You can enable it with `--features try-runtime`." + .into()), + Some(Subcommand::ChainInfo(cmd)) => { + let runner = cli.create_runner(cmd)?; + runner.sync_run(|config| cmd.run::(&config)) + }, + None => { + let runner = cli.create_runner(&cli.run)?; + runner.run_node_until_exit(|config| async move { + service::new_full(config, cli.no_hardware_benchmarks) + .map_err(sc_cli::Error::Service) }) }, } diff --git a/node/cli/src/lib.rs b/node/cli/src/lib.rs deleted file mode 100644 index f117b8aae..000000000 --- a/node/cli/src/lib.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod chain_spec; -pub mod rpc; -pub mod service; diff --git a/node/cli/src/main.rs b/node/cli/src/main.rs index 7aa59b6da..c9f32d7e9 100644 --- a/node/cli/src/main.rs +++ b/node/cli/src/main.rs @@ -4,6 +4,7 @@ mod chain_spec; #[macro_use] mod service; +mod benchmarking; mod cli; mod command; mod rpc; diff --git a/node/cli/src/rpc.rs b/node/cli/src/rpc.rs index 4fbcafca0..66bbbb0f6 100644 --- a/node/cli/src/rpc.rs +++ b/node/cli/src/rpc.rs @@ -33,15 +33,14 @@ use std::sync::Arc; -use grandpa::{ - FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState, -}; +use jsonrpsee::RpcModule; use node_primitives::{AccountId, Balance, Block, BlockNumber, Hash, Index}; use sc_client_api::AuxStore; -use sc_consensus_babe::{Config, Epoch}; -use sc_consensus_babe_rpc::BabeRpcHandler; +use sc_consensus_babe::{BabeConfiguration, Epoch}; use sc_consensus_epochs::SharedEpochChanges; -use sc_finality_grandpa_rpc::GrandpaRpcHandler; +use sc_finality_grandpa::{ + FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState, +}; use sc_rpc::SubscriptionTaskExecutor; pub use sc_rpc_api::DenyUnsafe; use sc_transaction_pool_api::TransactionPool; @@ -55,7 +54,7 @@ use sp_keystore::SyncCryptoStorePtr; /// Extra dependencies for BABE. pub struct BabeDeps { /// BABE protocol config. - pub babe_config: Config, + pub babe_config: BabeConfiguration, /// BABE pending epoch changes. pub shared_epoch_changes: SharedEpochChanges, /// The keystore that manages the keys of the node. @@ -94,15 +93,13 @@ pub struct FullDeps { pub grandpa: GrandpaDeps, } -/// A IO handler that uses all Full RPC extensions. -pub type IoHandler = jsonrpc_core::IoHandler; - /// Instantiate all Full RPC extensions. pub fn create_full( deps: FullDeps, -) -> Result, Box> +) -> Result, Box> where C: ProvideRuntimeApi + + sc_client_api::BlockBackend + HeaderBackend + AuxStore + HeaderMetadata @@ -118,12 +115,17 @@ where B: sc_client_api::Backend + Send + Sync + 'static, B::State: sc_client_api::backend::StateBackend>, { - use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi}; - use substrate_frame_rpc_system::{FullSystem, SystemApi}; + use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; + use sc_consensus_babe_rpc::{Babe, BabeApiServer}; + use sc_finality_grandpa_rpc::{Grandpa, GrandpaApiServer}; + use sc_rpc::dev::{Dev, DevApiServer}; + use sc_sync_state_rpc::{SyncState, SyncStateApiServer}; + use substrate_frame_rpc_system::{System, SystemApiServer}; + // use substrate_state_trie_migration_rpc::{StateMigration, StateMigrationApiServer}; - let mut io = jsonrpc_core::IoHandler::default(); - let FullDeps { client, pool, select_chain, chain_spec, deny_unsafe, babe, grandpa } = deps; + let mut io = RpcModule::new(()); + let FullDeps { client, pool, select_chain, chain_spec, deny_unsafe, babe, grandpa } = deps; let BabeDeps { keystore, babe_config, shared_epoch_changes } = babe; let GrandpaDeps { shared_voter_state, @@ -133,35 +135,37 @@ where finality_provider, } = grandpa; - io.extend_with(SystemApi::to_delegate(FullSystem::new(client.clone(), pool, deny_unsafe))); + io.merge(System::new(client.clone(), pool, deny_unsafe).into_rpc())?; // Making synchronous calls in light client freezes the browser currently, // more context: https://github.com/paritytech/substrate/pull/3480 // These RPCs should use an asynchronous caller instead. - io.extend_with(TransactionPaymentApi::to_delegate(TransactionPayment::new(client.clone()))); - io.extend_with(sc_consensus_babe_rpc::BabeApi::to_delegate(BabeRpcHandler::new( - client.clone(), - shared_epoch_changes.clone(), - keystore, - babe_config, - select_chain, - deny_unsafe, - ))); - io.extend_with(sc_finality_grandpa_rpc::GrandpaApi::to_delegate(GrandpaRpcHandler::new( - shared_authority_set.clone(), - shared_voter_state, - justification_stream, - subscription_executor, - finality_provider, - ))); - - io.extend_with(sc_sync_state_rpc::SyncStateRpcApi::to_delegate( - sc_sync_state_rpc::SyncStateRpcHandler::new( - chain_spec, - client, - shared_authority_set, - shared_epoch_changes, - )?, - )); + io.merge(TransactionPayment::new(client.clone()).into_rpc())?; + io.merge( + Babe::new( + client.clone(), + shared_epoch_changes.clone(), + keystore, + babe_config, + select_chain, + deny_unsafe, + ) + .into_rpc(), + )?; + io.merge( + Grandpa::new( + subscription_executor, + shared_authority_set.clone(), + shared_voter_state, + justification_stream, + finality_provider, + ) + .into_rpc(), + )?; + io.merge( + SyncState::new(chain_spec, client.clone(), shared_authority_set, shared_epoch_changes)? + .into_rpc(), + )?; + io.merge(Dev::new(client, deny_unsafe).into_rpc())?; Ok(io) } diff --git a/node/cli/src/service.rs b/node/cli/src/service.rs index 5a39ee95d..57af33f06 100644 --- a/node/cli/src/service.rs +++ b/node/cli/src/service.rs @@ -22,26 +22,124 @@ use std::sync::Arc; +use codec::Encode; use entropy_runtime::RuntimeApi; +use frame_system_rpc_runtime_api::AccountNonceApi; use futures::prelude::*; -use node_executor::ExecutorDispatch; use node_primitives::Block; -use sc_client_api::{BlockBackend, ExecutorProvider}; +use sc_client_api::BlockBackend; use sc_consensus_babe::{self, SlotProportion}; use sc_executor::NativeElseWasmExecutor; -use sc_network::{Event, NetworkService}; -use sc_service::{config::Configuration, error::Error as ServiceError, TaskManager}; +use sc_network::NetworkService; +use sc_network_common::{protocol::event::Event, service::NetworkEventStream}; +use sc_service::{config::Configuration, error::Error as ServiceError, RpcHandlers, TaskManager}; use sc_telemetry::{Telemetry, TelemetryWorker}; -use sp_runtime::traits::Block as BlockT; +use sp_api::ProvideRuntimeApi; +use sp_core::crypto::Pair; +use sp_runtime::{generic, traits::Block as BlockT, SaturatedConversion}; -type FullClient = +pub type FullClient = sc_service::TFullClient>; type FullBackend = sc_service::TFullBackend; type FullSelectChain = sc_consensus::LongestChain; type FullGrandpaBlockImport = - grandpa::GrandpaBlockImport; + sc_finality_grandpa::GrandpaBlockImport; + +pub type TransactionPool = sc_transaction_pool::FullPool; + +// Our native executor instance. +pub struct ExecutorDispatch; + +impl sc_executor::NativeExecutionDispatch for ExecutorDispatch { + /// Only enable the benchmarking host functions when we actually want to benchmark. + #[cfg(feature = "runtime-benchmarks")] + type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; + /// Otherwise we only use the default Substrate host functions. + #[cfg(not(feature = "runtime-benchmarks"))] + type ExtendHostFunctions = (); + + fn dispatch(method: &str, data: &[u8]) -> Option> { + entropy_runtime::api::dispatch(method, data) + } + + fn native_version() -> sc_executor::NativeVersion { entropy_runtime::native_version() } +} + +/// Fetch the nonce of the given `account` from the chain state. +/// +/// Note: Should only be used for tests. +pub fn fetch_nonce(client: &FullClient, account: sp_core::sr25519::Pair) -> u32 { + let best_hash = client.chain_info().best_hash; + client + .runtime_api() + .account_nonce(&generic::BlockId::Hash(best_hash), account.public().into()) + .expect("Fetching account nonce works; qed") +} + +/// Create a transaction using the given `call`. +/// +/// The transaction will be signed by `sender`. If `nonce` is `None` it will be fetched from the +/// state of the best block. +/// +/// Note: Should only be used for tests. +pub fn create_extrinsic( + client: &FullClient, + sender: sp_core::sr25519::Pair, + function: impl Into, + nonce: Option, +) -> entropy_runtime::UncheckedExtrinsic { + let function = function.into(); + let genesis_hash = client.block_hash(0).ok().flatten().expect("Genesis block exists; qed"); + let best_hash = client.chain_info().best_hash; + let best_block = client.chain_info().best_number; + let nonce = nonce.unwrap_or_else(|| fetch_nonce(client, sender.clone())); + + let period = entropy_runtime::BlockHashCount::get() + .checked_next_power_of_two() + .map(|c| c / 2) + .unwrap_or(2) as u64; + let tip = 0; + let extra: entropy_runtime::SignedExtra = ( + frame_system::CheckSpecVersion::::new(), + frame_system::CheckTxVersion::::new(), + frame_system::CheckGenesis::::new(), + frame_system::CheckEra::::from(generic::Era::mortal( + period, + best_block.saturated_into(), + )), + frame_system::CheckNonce::::from(nonce), + frame_system::CheckWeight::::new(), + pallet_transaction_payment::ChargeTransactionPayment::::from(tip), + pallet_free_tx::ValidateElectricityPayment::::new(), + ); + + let raw_payload = entropy_runtime::SignedPayload::from_raw( + function.clone(), + extra.clone(), + ( + entropy_runtime::VERSION.spec_version, + entropy_runtime::VERSION.transaction_version, + genesis_hash, + best_hash, + (), + (), + (), + (), + ), + ); + let signature = raw_payload.using_encoded(|e| sender.sign(e)); + + entropy_runtime::UncheckedExtrinsic::new_signed( + function, + sp_runtime::AccountId32::from(sender.public()).into(), + entropy_runtime::Signature::Sr25519(signature), + extra, + ) +} #[allow(clippy::type_complexity)] // todo @jesse, refactor this result type to a wrapper +/// Creates a new partial node. +/// Creates a new partial node. pub fn new_partial( config: &Configuration, ) -> Result< @@ -53,15 +151,15 @@ pub fn new_partial( sc_transaction_pool::FullPool, ( impl Fn( - node_rpc::DenyUnsafe, + crate::rpc::DenyUnsafe, sc_rpc::SubscriptionTaskExecutor, - ) -> Result, + ) -> Result, sc_service::Error>, ( sc_consensus_babe::BabeBlockImport, - grandpa::LinkHalf, + sc_finality_grandpa::LinkHalf, sc_consensus_babe::BabeLink, ), - grandpa::SharedVoterState, + sc_finality_grandpa::SharedVoterState, Option, ), >, @@ -108,7 +206,7 @@ pub fn new_partial( client.clone(), ); - let (grandpa_block_import, grandpa_link) = grandpa::block_import( + let (grandpa_block_import, grandpa_link) = sc_finality_grandpa::block_import( client.clone(), &(client.clone() as Arc<_>), select_chain.clone(), @@ -117,7 +215,7 @@ pub fn new_partial( let justification_import = grandpa_block_import.clone(); let (block_import, babe_link) = sc_consensus_babe::block_import( - sc_consensus_babe::Config::get(&*client)?, + sc_consensus_babe::configuration(&*client)?, grandpa_block_import, client.clone(), )?; @@ -133,19 +231,18 @@ pub fn new_partial( let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); let slot = - sp_consensus_babe::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *timestamp, - slot_duration, - ); + sp_consensus_babe::inherents::InherentDataProvider::from_timestamp_and_slot_duration( + *timestamp, + slot_duration, + ); let uncles = sp_authorship::InherentDataProvider::<::Header>::check_inherents(); - Ok((timestamp, slot, uncles)) + Ok((slot, timestamp, uncles)) }, &task_manager.spawn_essential_handle(), config.prometheus_registry(), - sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()), telemetry.as_ref().map(|x| x.handle()), )?; @@ -156,10 +253,10 @@ pub fn new_partial( let justification_stream = grandpa_link.justification_stream(); let shared_authority_set = grandpa_link.shared_authority_set().clone(); - let shared_voter_state = grandpa::SharedVoterState::empty(); - let rpc_setup = shared_voter_state.clone(); + let shared_voter_state = sc_finality_grandpa::SharedVoterState::empty(); + let shared_voter_state2 = shared_voter_state.clone(); - let finality_proof_provider = grandpa::FinalityProofProvider::new_for_service( + let finality_proof_provider = sc_finality_grandpa::FinalityProofProvider::new_for_service( backend.clone(), Some(shared_authority_set.clone()), ); @@ -173,19 +270,20 @@ pub fn new_partial( let keystore = keystore_container.sync_keystore(); let chain_spec = config.chain_spec.cloned_box(); + let _rpc_backend = backend.clone(); let rpc_extensions_builder = move |deny_unsafe, subscription_executor| { - let deps = node_rpc::FullDeps { + let deps = crate::rpc::FullDeps { client: client.clone(), pool: pool.clone(), select_chain: select_chain.clone(), chain_spec: chain_spec.cloned_box(), deny_unsafe, - babe: node_rpc::BabeDeps { + babe: crate::rpc::BabeDeps { babe_config: babe_config.clone(), shared_epoch_changes: shared_epoch_changes.clone(), keystore: keystore.clone(), }, - grandpa: node_rpc::GrandpaDeps { + grandpa: crate::rpc::GrandpaDeps { shared_voter_state: shared_voter_state.clone(), shared_authority_set: shared_authority_set.clone(), justification_stream: justification_stream.clone(), @@ -194,10 +292,10 @@ pub fn new_partial( }, }; - node_rpc::create_full(deps).map_err(Into::into) + crate::rpc::create_full(deps).map_err(Into::into) }; - (rpc_extensions_builder, rpc_setup) + (rpc_extensions_builder, shared_voter_state2) }; Ok(sc_service::PartialComponents { @@ -212,21 +310,38 @@ pub fn new_partial( }) } +/// Result of [`new_full_base`]. pub struct NewFullBase { + /// The task manager of the node. pub task_manager: TaskManager, + /// The client instance of the node. pub client: Arc, + /// The networking service of the node. pub network: Arc::Hash>>, - pub transaction_pool: Arc>, + /// The transaction pool of the node. + pub transaction_pool: Arc, + /// The rpc handlers of the node. + pub rpc_handlers: RpcHandlers, } /// Creates a full service from the configuration. pub fn new_full_base( mut config: Configuration, + disable_hardware_benchmarks: bool, with_startup_data: impl FnOnce( &sc_consensus_babe::BabeBlockImport, &sc_consensus_babe::BabeLink, ), ) -> Result { + let hwbench = if !disable_hardware_benchmarks { + config.database.path().map(|database_path| { + let _ = std::fs::create_dir_all(database_path); + sc_sysinfo::gather_hwbench(Some(database_path)) + }) + } else { + None + }; + let sc_service::PartialComponents { client, backend, @@ -235,26 +350,27 @@ pub fn new_full_base( keystore_container, select_chain, transaction_pool, - other: (rpc_extensions_builder, import_setup, rpc_setup, mut telemetry), + other: (rpc_builder, import_setup, rpc_setup, mut telemetry), } = new_partial(&config)?; let shared_voter_state = rpc_setup; let auth_disc_publish_non_global_ips = config.network.allow_non_globals_in_dht; - let grandpa_protocol_name = grandpa::protocol_standard_name( + let grandpa_protocol_name = sc_finality_grandpa::protocol_standard_name( &client.block_hash(0).ok().flatten().expect("Genesis block exists; qed"), &config.chain_spec, ); + config .network .extra_sets - .push(grandpa::grandpa_peers_set_config(grandpa_protocol_name.clone())); - let warp_sync = Arc::new(grandpa::warp_proof::NetworkProvider::new( + .push(sc_finality_grandpa::grandpa_peers_set_config(grandpa_protocol_name.clone())); + let warp_sync = Arc::new(sc_finality_grandpa::warp_proof::NetworkProvider::new( backend.clone(), import_setup.1.shared_authority_set().clone(), Vec::default(), )); - let (network, system_rpc_tx, network_starter) = + let (network, system_rpc_tx, tx_handler_controller, network_starter) = sc_service::build_network(sc_service::BuildNetworkParams { config: &config, client: client.clone(), @@ -282,19 +398,33 @@ pub fn new_full_base( let enable_grandpa = !config.disable_grandpa; let prometheus_registry = config.prometheus_registry().cloned(); - let _rpc_handlers = sc_service::spawn_tasks(sc_service::SpawnTasksParams { + let rpc_handlers = sc_service::spawn_tasks(sc_service::SpawnTasksParams { config, backend, client: client.clone(), keystore: keystore_container.sync_keystore(), network: network.clone(), - rpc_extensions_builder: Box::new(rpc_extensions_builder), + rpc_builder: Box::new(rpc_builder), transaction_pool: transaction_pool.clone(), task_manager: &mut task_manager, system_rpc_tx, + tx_handler_controller, telemetry: telemetry.as_mut(), })?; + if let Some(hwbench) = hwbench { + sc_sysinfo::print_hwbench(&hwbench); + + if let Some(ref mut telemetry) = telemetry { + let telemetry_handle = telemetry.handle(); + task_manager.spawn_handle().spawn( + "telemetry_hwbench", + None, + sc_sysinfo::initialize_hwbench_telemetry(telemetry_handle, hwbench), + ); + } + } + let (block_import, grandpa_link, babe_link) = import_setup; (with_startup_data)(&block_import, &babe_link); @@ -308,9 +438,6 @@ pub fn new_full_base( telemetry.as_ref().map(|x| x.handle()), ); - let can_author_with = - sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()); - let client_clone = client.clone(); let slot_duration = babe_link.config().slot_duration(); let babe_config = sc_consensus_babe::BabeParams { @@ -332,10 +459,10 @@ pub fn new_full_base( let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); let slot = - sp_consensus_babe::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *timestamp, - slot_duration, - ); + sp_consensus_babe::inherents::InherentDataProvider::from_timestamp_and_slot_duration( + *timestamp, + slot_duration, + ); let storage_proof = sp_transaction_storage_proof::registration::new_data_provider( @@ -343,13 +470,12 @@ pub fn new_full_base( &parent, )?; - Ok((timestamp, slot, uncles, storage_proof)) + Ok((slot, timestamp, uncles, storage_proof)) } }, force_authoring, backoff_authoring_blocks, babe_link, - can_author_with, block_proposal_slot_portion: SlotProportion::new(0.5), max_block_proposal_slot_portion: None, telemetry: telemetry.as_ref().map(|x| x.handle()), @@ -399,7 +525,7 @@ pub fn new_full_base( let keystore = if role.is_authority() { Some(keystore_container.sync_keystore()) } else { None }; - let config = grandpa::Config { + let config = sc_finality_grandpa::Config { // FIXME #1578 make this available through chainspec gossip_duration: std::time::Duration::from_millis(333), justification_period: 512, @@ -418,12 +544,12 @@ pub fn new_full_base( // and vote data availability than the observer. The observer has not // been tested extensively yet and having most nodes in a network run it // could lead to finality stalls. - let grandpa_config = grandpa::GrandpaParams { + let grandpa_config = sc_finality_grandpa::GrandpaParams { config, link: grandpa_link, network: network.clone(), telemetry: telemetry.as_ref().map(|x| x.handle()), - voting_rule: grandpa::VotingRulesBuilder::default().build(), + voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(), prometheus_registry, shared_voter_state, }; @@ -433,17 +559,21 @@ pub fn new_full_base( task_manager.spawn_essential_handle().spawn_blocking( "grandpa-voter", None, - grandpa::run_grandpa_voter(grandpa_config)?, + sc_finality_grandpa::run_grandpa_voter(grandpa_config)?, ); } network_starter.start_network(); - Ok(NewFullBase { task_manager, client, network, transaction_pool }) + Ok(NewFullBase { task_manager, client, network, transaction_pool, rpc_handlers }) } /// Builds a new service for a full client. -pub fn new_full(config: Configuration) -> Result { - new_full_base(config, |_, _| ()).map(|NewFullBase { task_manager, .. }| task_manager) +pub fn new_full( + config: Configuration, + disable_hardware_benchmarks: bool, +) -> Result { + new_full_base(config, disable_hardware_benchmarks, |_, _| ()) + .map(|NewFullBase { task_manager, .. }| task_manager) } #[cfg(test)] @@ -452,7 +582,7 @@ mod tests { use entropy_runtime::{ constants::{currency::CENTS, time::SLOT_DURATION}, - Address, BalancesCall, Call, UncheckedExtrinsic, + Address, BalancesCall, RuntimeCall, UncheckedExtrinsic, }; use node_primitives::{Block, DigestItem, Signature}; use sc_client_api::BlockBackend; @@ -484,8 +614,6 @@ mod tests { // This can be run locally with `cargo test --release -p node-cli test_sync -- --ignored`. #[ignore] fn test_sync() { - sp_tracing::try_init_simple(); - let keystore_path = tempfile::tempdir().expect("Creates keystore path"); let keystore: SyncCryptoStorePtr = Arc::new(LocalKeystore::open(keystore_path.path(), None).expect("Creates keystore")); @@ -511,6 +639,7 @@ mod tests { let NewFullBase { task_manager, client, network, transaction_pool, .. } = new_full_base( config, + false, |block_import: &sc_consensus_babe::BabeBlockImport, babe_link: &sc_consensus_babe::BabeLink| { setup_handles = Some((block_import.clone(), babe_link.clone())); @@ -564,10 +693,7 @@ mod tests { .epoch_changes() .shared_data() .epoch_data(&epoch_descriptor, |slot| { - sc_consensus_babe::Epoch::genesis( - babe_link.config().genesis_config(), - slot, - ) + sc_consensus_babe::Epoch::genesis(babe_link.config(), slot) }) .unwrap(); @@ -644,7 +770,8 @@ mod tests { }; let signer = charlie.clone(); - let function = Call::Balances(BalancesCall::transfer { dest: to, value: amount }); + let function = + RuntimeCall::Balances(BalancesCall::transfer { dest: to, value: amount }); let check_spec_version = frame_system::CheckSpecVersion::new(); let check_tx_version = frame_system::CheckTxVersion::new(); @@ -681,13 +808,11 @@ mod tests { #[test] #[ignore] fn test_consensus() { - sp_tracing::try_init_simple(); - sc_service_test::consensus( crate::chain_spec::tests::integration_test_config_with_two_authorities(), |config| { let NewFullBase { task_manager, client, network, transaction_pool, .. } = - new_full_base(config, |_, _| ())?; + new_full_base(config, false, |_, _| ())?; Ok(sc_service_test::TestNetComponents::new( task_manager, client, diff --git a/node/rpc/Cargo.toml b/node/rpc/Cargo.toml deleted file mode 100644 index d3b0f12e4..000000000 --- a/node/rpc/Cargo.toml +++ /dev/null @@ -1,37 +0,0 @@ -[package] -name ="node-rpc" -version ="3.0.0-dev" -authors =["Parity Technologies "] -edition ="2021" -license ="Apache-2.0" -homepage ="https://substrate.io" -repository="https://github.com/paritytech/substrate/" - -[package.metadata.docs.rs] -targets=["x86_64-unknown-linux-gnu"] - -[dependencies] -jsonrpc-core ="18.0.0" -node-primitives ={ version="2.0.0", git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-contracts-rpc ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-mmr-rpc ={ version="3.0.0", git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-transaction-payment-rpc={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-client-api ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-consensus-babe ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-consensus-babe-rpc ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-consensus-epochs ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-chain-spec ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-finality-grandpa ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-finality-grandpa-rpc ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-rpc-api ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-rpc ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-sync-state-rpc ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-api ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-block-builder ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-blockchain ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-keystore ={ version="0.12.0", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-consensus ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-consensus-babe ={ version="0.10.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -sp-runtime ={ version="6.0.0", git='https://github.com/paritytech/substrate.git', branch="master" } -sc-transaction-pool-api ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } -substrate-frame-rpc-system ={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } diff --git a/node/rpc/src/lib.rs b/node/rpc/src/lib.rs deleted file mode 100644 index eb891b604..000000000 --- a/node/rpc/src/lib.rs +++ /dev/null @@ -1,166 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) 2019-2021 Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! A collection of node-specific RPC methods. -//! -//! Since `substrate` core functionality makes no assumptions -//! about the modules used inside the runtime, so do -//! RPC methods defined in `sc-rpc` crate. -//! It means that `client/rpc` can't have any methods that -//! need some strong assumptions about the particular runtime. -//! -//! The RPCs available in this crate however can make some assumptions -//! about how the runtime is constructed and what FRAME pallets -//! are part of it. Therefore all node-runtime-specific RPCs can -//! be placed here or imported from corresponding FRAME RPC definitions. - -#![warn(missing_docs)] - -use std::sync::Arc; - -use node_primitives::{AccountId, Balance, Block, BlockNumber, Hash, Index}; -use sc_client_api::AuxStore; -use sc_consensus_babe::{Config, Epoch}; -use sc_consensus_babe_rpc::BabeRpcHandler; -use sc_consensus_epochs::SharedEpochChanges; -use sc_finality_grandpa::{ - FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState, -}; -use sc_finality_grandpa_rpc::GrandpaRpcHandler; -use sc_rpc::SubscriptionTaskExecutor; -pub use sc_rpc_api::DenyUnsafe; -use sc_transaction_pool_api::TransactionPool; -use sp_api::ProvideRuntimeApi; -use sp_block_builder::BlockBuilder; -use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; -use sp_consensus::SelectChain; -use sp_consensus_babe::BabeApi; -use sp_keystore::SyncCryptoStorePtr; - -/// Extra dependencies for BABE. -pub struct BabeDeps { - /// BABE protocol config. - pub babe_config: Config, - /// BABE pending epoch changes. - pub shared_epoch_changes: SharedEpochChanges, - /// The keystore that manages the keys of the node. - pub keystore: SyncCryptoStorePtr, -} - -/// Extra dependencies for GRANDPA -pub struct GrandpaDeps { - /// Voting round info. - pub shared_voter_state: SharedVoterState, - /// Authority set info. - pub shared_authority_set: SharedAuthoritySet, - /// Receives notifications about justification events from Grandpa. - pub justification_stream: GrandpaJustificationStream, - /// Executor to drive the subscription manager in the Grandpa RPC handler. - pub subscription_executor: SubscriptionTaskExecutor, - /// Finality proof provider. - pub finality_provider: Arc>, -} - -/// Full client dependencies. -pub struct FullDeps { - /// The client instance to use. - pub client: Arc, - /// Transaction pool instance. - pub pool: Arc

, - /// The SelectChain Strategy - pub select_chain: SC, - /// A copy of the chain spec. - pub chain_spec: Box, - /// Whether to deny unsafe calls - pub deny_unsafe: DenyUnsafe, - /// BABE specific dependencies. - pub babe: BabeDeps, - /// GRANDPA specific dependencies. - pub grandpa: GrandpaDeps, -} - -/// A IO handler that uses all Full RPC extensions. -pub type IoHandler = jsonrpc_core::IoHandler; - -/// Instantiate all Full RPC extensions. -pub fn create_full( - deps: FullDeps, -) -> Result, Box> -where - C: ProvideRuntimeApi - + HeaderBackend - + AuxStore - + HeaderMetadata - + Sync - + Send - + 'static, - C::Api: substrate_frame_rpc_system::AccountNonceApi, - C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, - C::Api: BabeApi, - C::Api: BlockBuilder, - P: TransactionPool + 'static, - SC: SelectChain + 'static, - B: sc_client_api::Backend + Send + Sync + 'static, - B::State: sc_client_api::backend::StateBackend>, -{ - use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi}; - use substrate_frame_rpc_system::{FullSystem, SystemApi}; - - let mut io = jsonrpc_core::IoHandler::default(); - let FullDeps { client, pool, select_chain, chain_spec, deny_unsafe, babe, grandpa } = deps; - - let BabeDeps { keystore, babe_config, shared_epoch_changes } = babe; - let GrandpaDeps { - shared_voter_state, - shared_authority_set, - justification_stream, - subscription_executor, - finality_provider, - } = grandpa; - - io.extend_with(SystemApi::to_delegate(FullSystem::new(client.clone(), pool, deny_unsafe))); - // Making synchronous calls in light client freezes the browser currently, - // more context: https://github.com/paritytech/substrate/pull/3480 - // These RPCs should use an asynchronous caller instead. - io.extend_with(TransactionPaymentApi::to_delegate(TransactionPayment::new(client.clone()))); - io.extend_with(sc_consensus_babe_rpc::BabeApi::to_delegate(BabeRpcHandler::new( - client.clone(), - shared_epoch_changes.clone(), - keystore, - babe_config, - select_chain, - deny_unsafe, - ))); - io.extend_with(sc_finality_grandpa_rpc::GrandpaApi::to_delegate(GrandpaRpcHandler::new( - shared_authority_set.clone(), - shared_voter_state, - justification_stream, - subscription_executor, - finality_provider, - ))); - - io.extend_with(sc_sync_state_rpc::SyncStateRpcApi::to_delegate( - sc_sync_state_rpc::SyncStateRpcHandler::new( - chain_spec, - client, - shared_authority_set, - shared_epoch_changes, - )?, - )); - - Ok(io) -} diff --git a/pallets/constraints/Cargo.toml b/pallets/constraints/Cargo.toml index d65ba6cf7..35a630023 100644 --- a/pallets/constraints/Cargo.toml +++ b/pallets/constraints/Cargo.toml @@ -16,7 +16,7 @@ targets=['x86_64-unknown-linux-gnu'] [dev-dependencies.sp-core] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='6.0.0' [dependencies.codec] @@ -28,32 +28,32 @@ version ='3.0.0' [dependencies.frame-benchmarking] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" optional =true version ='4.0.0-dev' [dependencies.frame-support] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='4.0.0-dev' [dependencies.frame-system] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='4.0.0-dev' [dependencies] -pallet-authorship={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +pallet-authorship={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } scale-info={ version="2.0.1", default-features=false, features=["derive"] } log ={ version="0.4.0", default-features=false } -sp-staking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-io ={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="master" } +sp-staking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-io ={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } lite-json ={ version="0.1", default-features=false } -sp-runtime={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="master" } -sp-std ={ package="sp-std", git="https://github.com/paritytech/substrate", branch="master", default-features=false } +sp-runtime={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } +sp-std ={ package="sp-std", git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } [features] default=['std'] diff --git a/pallets/constraints/src/benchmarking.rs b/pallets/constraints/src/benchmarking.rs index 7ad5c4088..647cc515e 100644 --- a/pallets/constraints/src/benchmarking.rs +++ b/pallets/constraints/src/benchmarking.rs @@ -8,9 +8,9 @@ use super::*; #[allow(unused)] use crate::Pallet as Constraints; -fn assert_last_event(generic_event: ::Event) { +fn assert_last_event(generic_event: ::RuntimeEvent) { let events = frame_system::Pallet::::events(); - let system_event: ::Event = generic_event.into(); + let system_event: ::RuntimeEvent = generic_event.into(); // compare to the last event record let EventRecord { event, .. } = &events[events.len() - 1]; assert_eq!(event, &system_event); diff --git a/pallets/constraints/src/lib.rs b/pallets/constraints/src/lib.rs index e8eb47c0b..30c886526 100644 --- a/pallets/constraints/src/lib.rs +++ b/pallets/constraints/src/lib.rs @@ -33,7 +33,7 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config { - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; type MaxWhitelist: Get; type MaxAddressLength: Get; diff --git a/pallets/constraints/src/mock.rs b/pallets/constraints/src/mock.rs index 3dae09747..2637f4fae 100644 --- a/pallets/constraints/src/mock.rs +++ b/pallets/constraints/src/mock.rs @@ -36,9 +36,7 @@ impl system::Config for Test { type BlockLength = (); type BlockNumber = u64; type BlockWeights = (); - type Call = Call; type DbWeight = (); - type Event = Event; type Hash = H256; type Hashing = BlakeTwo256; type Header = Header; @@ -48,8 +46,10 @@ impl system::Config for Test { type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); - type Origin = Origin; type PalletInfo = PalletInfo; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type SS58Prefix = SS58Prefix; type SystemWeightInfo = (); type Version = (); @@ -61,9 +61,9 @@ parameter_types! { } impl pallet_constraints::Config for Test { - type Event = Event; type MaxAddressLength = MaxAddressLength; type MaxWhitelist = MaxWhitelist; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } diff --git a/pallets/constraints/src/tests.rs b/pallets/constraints/src/tests.rs index 7da760a74..48dd2f483 100644 --- a/pallets/constraints/src/tests.rs +++ b/pallets/constraints/src/tests.rs @@ -13,32 +13,38 @@ fn whitelist_address() { assert_noop!( Constraints::add_whitelist_address( - Origin::signed(1), + RuntimeOrigin::signed(1), [address_2.clone(), address_3.clone(), address_4.clone(), address_5.clone()] .to_vec() ), Error::::MaxWhitelist ); assert_ok!(Constraints::add_whitelist_address( - Origin::signed(1), + RuntimeOrigin::signed(1), [address_2.clone(), address_3.clone()].to_vec() )); assert_eq!(Constraints::address_whitelist(1), [address_2.clone(), address_3.clone()]); assert_noop!( - Constraints::add_whitelist_address(Origin::signed(1), [address_2.clone()].to_vec()), + Constraints::add_whitelist_address( + RuntimeOrigin::signed(1), + [address_2.clone()].to_vec() + ), Error::::AlreadyWhitelisted ); assert_ok!(Constraints::add_whitelist_address( - Origin::signed(1), + RuntimeOrigin::signed(1), [address_4.clone()].to_vec() )); assert_eq!(Constraints::address_whitelist(1), [address_2, address_3, address_4]); assert_noop!( - Constraints::add_whitelist_address(Origin::signed(1), [address_5].to_vec()), + Constraints::add_whitelist_address(RuntimeOrigin::signed(1), [address_5].to_vec()), Error::::MaxWhitelist ); assert_noop!( - Constraints::add_whitelist_address(Origin::signed(1), [[1, 12, 21].to_vec()].to_vec()), + Constraints::add_whitelist_address( + RuntimeOrigin::signed(1), + [[1, 12, 21].to_vec()].to_vec() + ), Error::::AddressTooLong ); }); diff --git a/pallets/constraints/src/weights.rs b/pallets/constraints/src/weights.rs index d6aab57c6..9e37de803 100644 --- a/pallets/constraints/src/weights.rs +++ b/pallets/constraints/src/weights.rs @@ -17,11 +17,11 @@ pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { // Storage: Constraints AddressWhitelist (r:1 w:1) fn add_whitelist_address(a: u32) -> Weight { - (24_045_000 as Weight) + Weight::from_ref_time(24_045_000_u64) // Standard Error: 0 - .saturating_add((278_000 as Weight).saturating_mul(a as Weight)) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + + Weight::from_ref_time(278_000_u64.saturating_mul(a as u64)) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } } @@ -29,10 +29,10 @@ impl WeightInfo for SubstrateWeight { impl WeightInfo for () { // Storage: Constraints AddressWhitelist (r:1 w:1) fn add_whitelist_address(a: u32) -> Weight { - (24_045_000 as Weight) + Weight::from_ref_time(24_045_000_u64) // Standard Error: 0 - .saturating_add((278_000 as Weight).saturating_mul(a as Weight)) - .saturating_add(RocksDbWeight::get().reads(1 as Weight)) - .saturating_add(RocksDbWeight::get().writes(1 as Weight)) + + Weight::from_ref_time(278_000_u64.saturating_mul(a as u64)) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } } diff --git a/pallets/free-tx/Cargo.toml b/pallets/free-tx/Cargo.toml index b4bdda504..d80fd0e18 100644 --- a/pallets/free-tx/Cargo.toml +++ b/pallets/free-tx/Cargo.toml @@ -6,29 +6,29 @@ edition="2021" [dependencies] codec ={ package="parity-scale-codec", version="3.0.0", default-features=false } scale-info ={ version="2.1.1", default-features=false, features=["derive"] } -sp-runtime ={ git="https://github.com/paritytech/substrate", branch="master", default-features=false } -sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -frame-benchmarking={ git="https://github.com/paritytech/substrate", branch="master", optional=true, default-features=false } -frame-support ={ git="https://github.com/paritytech/substrate", branch="master", default-features=false } -frame-system ={ git="https://github.com/paritytech/substrate", branch="master", default-features=false } -pallet-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-std ={ git="https://github.com/paritytech/substrate", branch="master", default-features=false } +sp-runtime ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } +sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-benchmarking={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", optional=true, default-features=false } +frame-support ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } +frame-system ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } +pallet-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-std ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } log ={ version="0.4.0", default-features=false } [dev-dependencies] -sp-core ={ git="https://github.com/paritytech/substrate", branch="master" } -sp-io ={ git="https://github.com/paritytech/substrate", branch="master" } -sp-tracing ={ version="5.0.0", git="https://github.com/paritytech/substrate", branch="master" } -pallet-balances ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-timestamp ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-bags-list ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-staking-reward-curve ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +sp-core ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } +sp-io ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } +sp-tracing ={ version="5.0.0", git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } +pallet-balances ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-timestamp ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-bags-list ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-staking-reward-curve ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } pallet-staking-extension ={ version="3.0.0", default-features=false, path="../staking" } pallet-relayer ={ version="3.0.0", default-features=false, path="../relayer" } -pallet-authorship ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +pallet-authorship ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } [features] default=["std"] diff --git a/pallets/free-tx/src/benchmarking.rs b/pallets/free-tx/src/benchmarking.rs index 499ee8fc8..5ddde23fc 100644 --- a/pallets/free-tx/src/benchmarking.rs +++ b/pallets/free-tx/src/benchmarking.rs @@ -25,7 +25,7 @@ benchmarks! { }, ); - let call: ::Call = frame_system::Call::::remark { remark: b"entropy rocks".to_vec() }.into(); + let call: ::RuntimeCall = frame_system::Call::::remark { remark: b"entropy rocks".to_vec() }.into(); }: _(RawOrigin::Signed(caller.clone()), Box::new(call)) verify { assert!(>::get(caller).unwrap().used.count == 1); diff --git a/pallets/free-tx/src/lib.rs b/pallets/free-tx/src/lib.rs index b4eeaab0d..976826b0d 100644 --- a/pallets/free-tx/src/lib.rs +++ b/pallets/free-tx/src/lib.rs @@ -21,10 +21,9 @@ pub mod weights; #[frame_support::pallet] pub mod pallet { use frame_support::{ - dispatch::Dispatchable, + dispatch::{Dispatchable, GetDispatchInfo, PostDispatchInfo}, pallet_prelude::*, traits::IsSubType, - weights::{GetDispatchInfo, PostDispatchInfo}, }; use frame_system::{pallet_prelude::*, RawOrigin}; use scale_info::TypeInfo; @@ -40,16 +39,16 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config + pallet_staking::Config { /// Pallet emits events - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; /// Requirements for callable functions - type Call: Parameter - + Dispatchable + type RuntimeCall: Parameter + + Dispatchable + GetDispatchInfo + From>; // Counsil (or another) can update the number of free transactions per era - type UpdateOrigin: EnsureOrigin; + type UpdateOrigin: EnsureOrigin; // The weight information of this pallet. type WeightInfo: WeightInfo; @@ -129,25 +128,26 @@ pub mod pallet { /// regardless of the call's result. #[pallet::weight({ let dispatch_info = call.get_dispatch_info(); - let base_weight = ::WeightInfo::call_using_electricity(); - (base_weight.saturating_add(dispatch_info.weight), dispatch_info.class, Pays::No) + (::WeightInfo::call_using_electricity().saturating_add(dispatch_info.weight), dispatch_info.class, Pays::No) })] #[allow(clippy::boxed_local)] pub fn call_using_electricity( origin: OriginFor, - call: Box<::Call>, - ) -> DispatchResultWithPostInfo { + call: Box<::RuntimeCall>, + ) -> DispatchResult { let sender = ensure_signed(origin)?; Self::try_spend_cell(&sender)?; - let res = call.dispatch(RawOrigin::Signed(sender.clone()).into()); - Self::deposit_event(Event::ElectricitySpent( - sender, - res.map(|_| ()).map_err(|e| e.error), - )); + let res = call + .dispatch(RawOrigin::Signed(sender.clone()).into()) + .map(|_| ()) + .map_err(|e| e.error); + let event = Event::ElectricitySpent(sender, res); + + Self::deposit_event(event); - res + Ok(()) } /// Put a cap on the number of cells individual accounts can use per era. @@ -223,6 +223,8 @@ pub mod pallet { impl Pallet { // if OK(()), a electricity for the account was available + /// TODO JH: maybe remove 'try' from the name since the updated version of Substrate makes + /// all transactions `transactional` pub fn try_spend_cell(account_id: &::AccountId) -> Result<(), Error> { // gets max cells per era or return error if electricity is disabled let max_cells_per_era = Self::individual_electricity_era_limit(); @@ -366,10 +368,10 @@ pub mod pallet { #[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] #[scale_info(skip_type_params(T))] pub struct ValidateElectricityPayment(sp_std::marker::PhantomData) - where ::Call: IsSubType>; + where ::RuntimeCall: IsSubType>; impl Debug for ValidateElectricityPayment - where ::Call: IsSubType> + where ::RuntimeCall: IsSubType> { #[cfg(feature = "std")] fn fmt(&self, f: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { @@ -381,18 +383,18 @@ pub mod pallet { } impl ValidateElectricityPayment - where ::Call: IsSubType> + where ::RuntimeCall: IsSubType> { #[allow(clippy::new_without_default)] pub fn new() -> Self { Self(sp_std::marker::PhantomData) } } impl SignedExtension for ValidateElectricityPayment - where ::Call: IsSubType> + where ::RuntimeCall: IsSubType> { type AccountId = T::AccountId; type AdditionalSigned = (); - type Call = ::Call; + type Call = ::RuntimeCall; type Pre = (); const IDENTIFIER: &'static str = "ValidateElectricityPayment"; diff --git a/pallets/free-tx/src/mock.rs b/pallets/free-tx/src/mock.rs index f77204baa..1fac00305 100644 --- a/pallets/free-tx/src/mock.rs +++ b/pallets/free-tx/src/mock.rs @@ -62,9 +62,7 @@ impl system::Config for Test { type BlockLength = (); type BlockNumber = u64; type BlockWeights = (); - type Call = Call; type DbWeight = (); - type Event = Event; type Hash = H256; type Hashing = BlakeTwo256; type Header = Header; @@ -74,8 +72,10 @@ impl system::Config for Test { type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); - type Origin = Origin; type PalletInfo = PalletInfo; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type SS58Prefix = SS58Prefix; type SystemWeightInfo = (); type Version = (); @@ -100,11 +100,11 @@ impl pallet_balances::Config for Test { type AccountStore = System; type Balance = Balance; type DustRemoval = (); - type Event = Event; type ExistentialDeposit = ExistentialDeposit; type MaxLocks = MaxLocks; type MaxReserves = (); type ReserveIdentifier = [u8; 8]; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -145,10 +145,11 @@ sp_runtime::impl_opaque_keys! { } pub struct OnChainSeqPhragmen; -impl onchain::ExecutionConfig for OnChainSeqPhragmen { +impl onchain::Config for OnChainSeqPhragmen { type DataProvider = FrameStaking; type Solver = SequentialPhragmen; type System = Test; + type WeightInfo = (); } pallet_staking_reward_curve::build! { @@ -170,10 +171,10 @@ parameter_types! { } impl frame_system::offchain::SendTransactionTypes for Test -where Call: From +where RuntimeCall: From { - type Extrinsic = TestXt; - type OverarchingCall = Call; + type Extrinsic = TestXt; + type OverarchingCall = RuntimeCall; } const THRESHOLDS: [sp_npos_elections::VoteWeight; 9] = @@ -185,7 +186,7 @@ parameter_types! { impl pallet_bags_list::Config for Test { type BagThresholds = BagThresholds; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Score = VoteWeight; type ScoreProvider = FrameStaking; type WeightInfo = (); @@ -212,32 +213,36 @@ impl pallet_staking::Config for Test { type BenchmarkingConfig = StakingBenchmarkingConfig; type BondingDuration = BondingDuration; type Currency = Balances; + type CurrencyBalance = Balance; type CurrencyToVote = frame_support::traits::SaturatingCurrencyToVote; type ElectionProvider = onchain::UnboundedExecution; type EraPayout = pallet_staking::ConvertCurve; - type Event = Event; type GenesisElectionProvider = Self::ElectionProvider; + type HistoryDepth = ConstU32<84>; type MaxNominations = MaxNominations; - type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator; + type MaxNominatorRewardedPerValidator = ConstU32<64>; type MaxUnlockingChunks = ConstU32<32>; type NextNewSession = Session; type OffendingValidatorsThreshold = OffendingValidatorsThreshold; + type OnStakerSlash = (); type Reward = (); type RewardRemainder = (); + type RuntimeEvent = RuntimeEvent; type SessionInterface = Self; type SessionsPerEra = SessionsPerEra; type Slash = (); type SlashCancelOrigin = frame_system::EnsureRoot; type SlashDeferDuration = SlashDeferDuration; + type TargetList = pallet_staking::UseValidatorsMap; type UnixTime = pallet_timestamp::Pallet; type VoterList = BagsList; type WeightInfo = (); } impl pallet_session::Config for Test { - type Event = Event; type Keys = SessionKeys; type NextSessionRotation = pallet_session::PeriodicSessions; + type RuntimeEvent = RuntimeEvent; type SessionHandler = (OtherSessionHandler,); type SessionManager = pallet_session::historical::NoteHistoricalRoot; type ShouldEndSession = pallet_session::PeriodicSessions; @@ -256,8 +261,8 @@ parameter_types! { } impl pallet_staking_extension::Config for Test { type Currency = Balances; - type Event = Event; type MaxEndpointLength = MaxEndpointLength; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -266,8 +271,8 @@ ord_parameter_types! { } impl pallet_free_tx::Config for Test { - type Call = Call; - type Event = Event; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; type UpdateOrigin = EnsureSignedBy; type WeightInfo = (); } diff --git a/pallets/free-tx/src/tests.rs b/pallets/free-tx/src/tests.rs index fc86da583..cd0844b82 100644 --- a/pallets/free-tx/src/tests.rs +++ b/pallets/free-tx/src/tests.rs @@ -1,7 +1,7 @@ -use frame_support::{assert_err, assert_noop, assert_ok}; +use frame_support::{assert_noop, assert_ok}; use mock::{ - start_active_era, Call, Event as TestEvent, ExtBuilder, FreeTx, Origin, System, SystemCall, - Test, + start_active_era, ExtBuilder, FreeTx, RuntimeCall, RuntimeEvent as TestEvent, RuntimeOrigin, + System, SystemCall, Test, }; use sp_runtime::{DispatchError, ModuleError}; @@ -23,8 +23,9 @@ fn call_using_electricity_works() { ); // Dispatch a free call - let call = Box::new(Call::System(SystemCall::remark { remark: b"entropy rocks".to_vec() })); - assert_ok!(FreeTx::call_using_electricity(Origin::signed(1), call)); + let call = + Box::new(RuntimeCall::System(SystemCall::remark { remark: b"entropy rocks".to_vec() })); + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call)); // Make sure the free call succeeded and event was emitted without an error System::assert_has_event(TestEvent::FreeTx(Event::ElectricitySpent(1, Ok(())))); @@ -36,6 +37,7 @@ fn call_using_electricity_errors_when_child_call_errors() { ExtBuilder::default().build_and_execute(|| { // must be in an era for free calls to be enabled start_active_era(1); + // enable free calls (1 free call per era) ElectricalAccount::::insert( 1, @@ -46,13 +48,13 @@ fn call_using_electricity_errors_when_child_call_errors() { }, ); // this call will throw an error - let call = Box::new(Call::System(SystemCall::kill_storage { + let call = Box::new(RuntimeCall::System(SystemCall::kill_storage { keys: vec![b"this call will fail".to_vec()], })); let expected_error = DispatchError::BadOrigin; // Make sure call_using_electricity returns child call error to user - assert_err!(FreeTx::call_using_electricity(Origin::signed(1), call), expected_error); + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call)); // Make sure emitted event also contains the child error System::assert_has_event(TestEvent::FreeTx(Event::ElectricitySpent( @@ -77,14 +79,16 @@ fn call_using_electricity_errors_when_no_cells_available() { }, ); // user gets 1 free call by default, lets use it - let call = Box::new(Call::System(SystemCall::remark { remark: b"entropy rocks".to_vec() })); - assert_ok!(FreeTx::call_using_electricity(Origin::signed(1), call)); + let call = + Box::new(RuntimeCall::System(SystemCall::remark { remark: b"entropy rocks".to_vec() })); + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call)); // Make sure the child call worked System::assert_last_event(TestEvent::FreeTx(Event::ElectricitySpent(1, Ok(())))); // try to do another free call when user has no free calls left - let call = Box::new(Call::System(SystemCall::remark { remark: b"entropy rocks".to_vec() })); + let call = + Box::new(RuntimeCall::System(SystemCall::remark { remark: b"entropy rocks".to_vec() })); // make sure it fails bc no free calls left let expected_error = DispatchError::Module(ModuleError { @@ -92,7 +96,10 @@ fn call_using_electricity_errors_when_no_cells_available() { error: [1, 0, 0, 0], message: Some("NoCellsAvailable"), }); - assert_noop!(FreeTx::call_using_electricity(Origin::signed(1), call), expected_error); + assert_noop!( + FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call), + expected_error + ); }); } @@ -114,14 +121,20 @@ fn call_using_electricity_still_uses_electricity_on_child_fail() { assert_eq!(FreeTx::cells_usable_this_era(&1u64), 1 as Cells); // choose a child call that will fail - let call = Box::new(Call::System(SystemCall::kill_storage { + let call = Box::new(RuntimeCall::System(SystemCall::kill_storage { keys: vec![b"this call will fail".to_vec()], })); // Make sure call_using_electricity fails only bc child fails, not because user has no free // calls left let expected_child_error = DispatchError::BadOrigin; - assert_err!(FreeTx::call_using_electricity(Origin::signed(1), call), expected_child_error); + + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call)); + + System::assert_has_event(TestEvent::FreeTx(Event::ElectricitySpent( + 1, + Err(expected_child_error), + ))); // make sure free call was still consumed assert_eq!(FreeTx::cells_usable_this_era(&1u64), 0 as Cells); @@ -145,8 +158,9 @@ fn batteries_refresh_every_era() { assert_eq!(FreeTx::cells_usable_this_era(&1u64), 5 as Cells); // make a call that works, check call is used - let call = Box::new(Call::System(SystemCall::remark { remark: b"entropy rocks".to_vec() })); - assert_ok!(FreeTx::call_using_electricity(Origin::signed(1), call)); + let call = + Box::new(RuntimeCall::System(SystemCall::remark { remark: b"entropy rocks".to_vec() })); + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call)); assert_eq!(FreeTx::cells_usable_this_era(&1u64), 4 as Cells); // start a new era @@ -174,8 +188,9 @@ fn one_time_cells_are_consumed_and_not_recharged() { assert_eq!(FreeTx::cells_usable_this_era(&1u64), 5 as Cells); // make a call that works, check call is used - let call = Box::new(Call::System(SystemCall::remark { remark: b"entropy rocks".to_vec() })); - assert_ok!(FreeTx::call_using_electricity(Origin::signed(1), call)); + let call = + Box::new(RuntimeCall::System(SystemCall::remark { remark: b"entropy rocks".to_vec() })); + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call)); assert_eq!(FreeTx::cells_usable_this_era(&1u64), 4 as Cells); // start a new era @@ -195,14 +210,18 @@ fn user_has_no_free_cells_by_default() { assert_eq!(FreeTx::cells_usable_this_era(&1u64), 0 as Cells); // make sure it fails bc cells are disabled - let call = - Box::new(Call::System(SystemCall::remark { remark: b"entropy rocks2".to_vec() })); + let call = Box::new(RuntimeCall::System(SystemCall::remark { + remark: b"entropy rocks2".to_vec(), + })); let expected_error = DispatchError::Module(ModuleError { index: 8, error: [1, 0, 0, 0], message: Some("NoCellsAvailable"), }); - assert_noop!(FreeTx::call_using_electricity(Origin::signed(1), call), expected_error); + assert_noop!( + FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call), + expected_error + ); }); } @@ -224,13 +243,14 @@ fn set_individual_electricity_era_limit_works() { assert_eq!(FreeTx::cells_usable_this_era(&1u64), 3 as Cells); // disable electricity - FreeTx::set_individual_electricity_era_limit(Origin::signed(1), Some(0)).unwrap(); + FreeTx::set_individual_electricity_era_limit(RuntimeOrigin::signed(1), Some(0)).unwrap(); // make sure call fails bc electricity is disabled - let call = - Box::new(Call::System(SystemCall::remark { remark: b"entropy rocks2".to_vec() })); + let call = Box::new(RuntimeCall::System(SystemCall::remark { + remark: b"entropy rocks2".to_vec(), + })); assert_noop!( - FreeTx::call_using_electricity(Origin::signed(1), call.clone()), + FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call.clone()), DispatchError::Module(ModuleError { index: 8, error: [0, 0, 0, 0], @@ -239,14 +259,14 @@ fn set_individual_electricity_era_limit_works() { ); // enable electricity usage at 2 cells per user - FreeTx::set_individual_electricity_era_limit(Origin::signed(1), Some(2)).unwrap(); + FreeTx::set_individual_electricity_era_limit(RuntimeOrigin::signed(1), Some(2)).unwrap(); assert_eq!(FreeTx::cells_usable_this_era(&1u64), 2 as Cells); // have user use two cells, then make sure they get an error - assert_ok!(FreeTx::call_using_electricity(Origin::signed(1), call.clone())); - assert_ok!(FreeTx::call_using_electricity(Origin::signed(1), call.clone())); + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call.clone())); + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call.clone())); assert_noop!( - FreeTx::call_using_electricity(Origin::signed(1), call.clone()), + FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call), DispatchError::Module(ModuleError { index: 8, error: [2, 0, 0, 0], @@ -282,10 +302,11 @@ fn zaps_arent_used_until_all_batteries_are_used() { assert_eq!(FreeTx::cells_usable_this_era(&1u64), 7 as Cells); // use two cells - let call = - Box::new(Call::System(SystemCall::remark { remark: b"entropy rocks2".to_vec() })); - assert_ok!(FreeTx::call_using_electricity(Origin::signed(1), call.clone())); - assert_ok!(FreeTx::call_using_electricity(Origin::signed(1), call.clone())); + let call = Box::new(RuntimeCall::System(SystemCall::remark { + remark: b"entropy rocks2".to_vec(), + })); + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call.clone())); + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call.clone())); // make sure user hasn't used any zaps let mut expected_balance = ElectricalPanel { @@ -296,7 +317,7 @@ fn zaps_arent_used_until_all_batteries_are_used() { assert_eq!(ElectricalAccount::::get(1).unwrap(), expected_balance); // doing another call will though: - assert_ok!(FreeTx::call_using_electricity(Origin::signed(1), call.clone())); + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call)); expected_balance.zaps -= 1; expected_balance.used.count += 1; assert_eq!(ElectricalAccount::::get(1).unwrap(), expected_balance); @@ -307,8 +328,9 @@ fn zaps_arent_used_until_all_batteries_are_used() { #[test] fn users_with_no_cells_get_errors() { ExtBuilder::default().build_and_execute(|| { - let call = - Box::new(Call::System(SystemCall::remark { remark: b"entropy rocks2".to_vec() })); + let call = Box::new(RuntimeCall::System(SystemCall::remark { + remark: b"entropy rocks2".to_vec(), + })); let no_cells_available_error = DispatchError::Module(ModuleError { index: 8, error: [1, 0, 0, 0], @@ -318,18 +340,18 @@ fn users_with_no_cells_get_errors() { // users by default have no electricity assert_eq!(FreeTx::cells_usable_this_era(&1u64), 0 as Cells); assert_noop!( - FreeTx::call_using_electricity(Origin::signed(1), call.clone()), + FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call.clone()), no_cells_available_error ); // give user one zap - FreeTx::give_zaps(Origin::signed(1), 1, 1).unwrap(); + FreeTx::give_zaps(RuntimeOrigin::signed(1), 1, 1).unwrap(); // make sure after a user uses all their cells, they get an error assert_eq!(FreeTx::cells_usable_this_era(&1u64), 1 as Cells); - assert_ok!(FreeTx::call_using_electricity(Origin::signed(1), call.clone())); + assert_ok!(FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call.clone())); assert_noop!( - FreeTx::call_using_electricity(Origin::signed(1), call.clone()), + FreeTx::call_using_electricity(RuntimeOrigin::signed(1), call), no_cells_available_error ); }); diff --git a/pallets/free-tx/src/weights.rs b/pallets/free-tx/src/weights.rs index 4437b0265..51ace9b6b 100644 --- a/pallets/free-tx/src/weights.rs +++ b/pallets/free-tx/src/weights.rs @@ -43,27 +43,27 @@ pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { // Storage: FreeTx FreeCallsLeft (r:1 w:1) fn call_using_electricity() -> Weight { - (14_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(14_000_000_u64) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } fn set_individual_electricity_era_limit() -> Weight { - (14_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(14_000_000_u64) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } fn set_battery_count() -> Weight { - (14_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(14_000_000_u64) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } fn give_zaps() -> Weight { - (14_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(14_000_000_u64) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } } @@ -73,26 +73,26 @@ impl WeightInfo for SubstrateWeight { impl WeightInfo for () { // Storage: FreeTx FreeCallsLeft (r:1 w:1) fn call_using_electricity() -> Weight { - (14_000_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(1 as Weight)) - .saturating_add(RocksDbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(14_000_000_u64) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } fn set_individual_electricity_era_limit() -> Weight { - (14_000_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(1 as Weight)) - .saturating_add(RocksDbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(14_000_000_u64) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } fn set_battery_count() -> Weight { - (14_000_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(1 as Weight)) - .saturating_add(RocksDbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(14_000_000_u64) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } fn give_zaps() -> Weight { - (14_000_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(1 as Weight)) - .saturating_add(RocksDbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(14_000_000_u64) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } } \ No newline at end of file diff --git a/pallets/propagation/Cargo.toml b/pallets/propagation/Cargo.toml index 9f74f1082..0157592b4 100644 --- a/pallets/propagation/Cargo.toml +++ b/pallets/propagation/Cargo.toml @@ -22,51 +22,51 @@ version ='3.0.0' [dependencies.frame-benchmarking] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" optional =true version ='4.0.0-dev' [dependencies.frame-support] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='4.0.0-dev' [dependencies.frame-system] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='4.0.0-dev' [dependencies] -pallet-authorship ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +pallet-authorship ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } pallet-relayer ={ version="3.0.0", default-features=false, path="../relayer" } pallet-staking-extension={ version="3.0.0", default-features=false, path="../staking" } scale-info={ version="2.0.1", default-features=false, features=["derive"] } log ={ version="0.4.0", default-features=false } -sp-staking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-io ={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="master" } +sp-staking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-io ={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } lite-json ={ version="0.1", default-features=false } -sp-runtime={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="master" } -sp-core ={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="master" } +sp-runtime={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } +sp-core ={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } # non-substrate-common ={ path="../../crypto/non-substrate-common", default-features=false } substrate-common ={ path="../../crypto/substrate-common", default-features=false } -sp-application-crypto={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +sp-application-crypto={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } [dev-dependencies] -sp-keystore ={ version="0.12.0", git="https://github.com/paritytech/substrate", branch="master" } +sp-keystore ={ version="0.12.0", git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } parking_lot ="0.11.2" -pallet-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-timestamp ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-balances ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-staking-reward-curve ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-babe ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-bags-list ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +pallet-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-timestamp ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-balances ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-staking-reward-curve ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-babe ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-bags-list ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } [features] default=['std'] diff --git a/pallets/propagation/src/lib.rs b/pallets/propagation/src/lib.rs index 036e1284b..00ea043c7 100644 --- a/pallets/propagation/src/lib.rs +++ b/pallets/propagation/src/lib.rs @@ -31,7 +31,7 @@ pub mod pallet { pub trait Config: frame_system::Config + pallet_authorship::Config + pallet_relayer::Config { - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; } pub type Message = substrate_common::Message; diff --git a/pallets/propagation/src/mock.rs b/pallets/propagation/src/mock.rs index 944e9cbbe..c832729f6 100644 --- a/pallets/propagation/src/mock.rs +++ b/pallets/propagation/src/mock.rs @@ -58,9 +58,7 @@ impl system::Config for Test { type BlockLength = (); type BlockNumber = u64; type BlockWeights = (); - type Call = Call; type DbWeight = (); - type Event = Event; type Hash = H256; type Hashing = BlakeTwo256; type Header = Header; @@ -70,8 +68,10 @@ impl system::Config for Test { type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); - type Origin = Origin; type PalletInfo = PalletInfo; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type SS58Prefix = SS58Prefix; type SystemWeightInfo = (); type Version = (); @@ -96,11 +96,11 @@ impl pallet_balances::Config for Test { type AccountStore = System; type Balance = Balance; type DustRemoval = (); - type Event = Event; type ExistentialDeposit = ExistentialDeposit; type MaxLocks = MaxLocks; type MaxReserves = (); type ReserveIdentifier = [u8; 8]; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -141,10 +141,11 @@ sp_runtime::impl_opaque_keys! { } pub struct OnChainSeqPhragmen; -impl onchain::ExecutionConfig for OnChainSeqPhragmen { +impl onchain::Config for OnChainSeqPhragmen { type DataProvider = FrameStaking; type Solver = SequentialPhragmen; type System = Test; + type WeightInfo = (); } pallet_staking_reward_curve::build! { @@ -166,10 +167,10 @@ parameter_types! { } impl frame_system::offchain::SendTransactionTypes for Test -where Call: From +where RuntimeCall: From { - type Extrinsic = TestXt; - type OverarchingCall = Call; + type Extrinsic = TestXt; + type OverarchingCall = RuntimeCall; } const THRESHOLDS: [sp_npos_elections::VoteWeight; 9] = @@ -181,7 +182,7 @@ parameter_types! { impl pallet_bags_list::Config for Test { type BagThresholds = BagThresholds; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Score = VoteWeight; type ScoreProvider = FrameStaking; type WeightInfo = (); @@ -208,32 +209,36 @@ impl pallet_staking::Config for Test { type BenchmarkingConfig = StakingBenchmarkingConfig; type BondingDuration = BondingDuration; type Currency = Balances; + type CurrencyBalance = Balance; type CurrencyToVote = frame_support::traits::SaturatingCurrencyToVote; type ElectionProvider = onchain::UnboundedExecution; type EraPayout = pallet_staking::ConvertCurve; - type Event = Event; type GenesisElectionProvider = Self::ElectionProvider; + type HistoryDepth = ConstU32<84>; type MaxNominations = MaxNominations; type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator; type MaxUnlockingChunks = ConstU32<32>; type NextNewSession = Session; type OffendingValidatorsThreshold = OffendingValidatorsThreshold; + type OnStakerSlash = (); type Reward = (); type RewardRemainder = (); + type RuntimeEvent = RuntimeEvent; type SessionInterface = Self; type SessionsPerEra = SessionsPerEra; type Slash = (); type SlashCancelOrigin = frame_system::EnsureRoot; type SlashDeferDuration = SlashDeferDuration; + type TargetList = pallet_staking::UseValidatorsMap; type UnixTime = pallet_timestamp::Pallet; type VoterList = BagsList; type WeightInfo = (); } impl pallet_session::Config for Test { - type Event = Event; type Keys = UintAuthorityId; type NextSessionRotation = pallet_session::PeriodicSessions; + type RuntimeEvent = RuntimeEvent; type SessionHandler = (OtherSessionHandler,); type SessionManager = pallet_session::historical::NoteHistoricalRoot; type ShouldEndSession = pallet_session::PeriodicSessions; @@ -252,8 +257,8 @@ parameter_types! { } impl pallet_staking_extension::Config for Test { type Currency = Balances; - type Event = Event; type MaxEndpointLength = MaxEndpointLength; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -283,14 +288,14 @@ parameter_types! { } impl pallet_relayer::Config for Test { - type Event = Event; type PruneBlock = PruneBlock; + type RuntimeEvent = RuntimeEvent; type SigningPartySize = SigningPartySize; type WeightInfo = (); } impl pallet_propagation::Config for Test { - type Event = Event; + type RuntimeEvent = RuntimeEvent; } // Build genesis storage according to the mock runtime. diff --git a/pallets/propagation/src/tests.rs b/pallets/propagation/src/tests.rs index bba84e2e8..090a77703 100644 --- a/pallets/propagation/src/tests.rs +++ b/pallets/propagation/src/tests.rs @@ -48,8 +48,8 @@ fn knows_how_to_mock_several_http_calls() { System::set_block_number(3); let sig_request = SigRequest { sig_hash: SIG_HASH.to_vec() }; - assert_ok!(Relayer::prep_transaction(Origin::signed(1), sig_request.clone())); - assert_ok!(Relayer::prep_transaction(Origin::signed(1), sig_request)); + assert_ok!(Relayer::prep_transaction(RuntimeOrigin::signed(1), sig_request.clone())); + assert_ok!(Relayer::prep_transaction(RuntimeOrigin::signed(1), sig_request)); // full send Propagation::post(4).unwrap(); }) diff --git a/pallets/relayer/Cargo.toml b/pallets/relayer/Cargo.toml index 760e5c17a..f492e7271 100644 --- a/pallets/relayer/Cargo.toml +++ b/pallets/relayer/Cargo.toml @@ -21,20 +21,20 @@ version ='3.0.0' [dependencies.frame-benchmarking] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" optional =true version ='4.0.0-dev' [dependencies.frame-support] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='4.0.0-dev' [dependencies.frame-system] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='4.0.0-dev' [dependencies.scale-info] @@ -45,24 +45,24 @@ version ='2.0.1' [dev-dependencies.sp-core] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='6.0.0' [dev-dependencies.sp-io] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='6.0.0' [dependencies.sp-runtime] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='6.0.0' [dependencies] -sp-std ={ package="sp-std", git="https://github.com/paritytech/substrate", branch="master", default-features=false } -pallet-authorship ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +sp-std ={ package="sp-std", git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } +pallet-authorship ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } log ={ version="0.4.0", default-features=false } pallet-slashing ={ version="3.0.0", default-features=false, path="../slashing" } pallet-staking-extension={ version="3.0.0", default-features=false, path="../staking" } @@ -71,15 +71,15 @@ substrate-common={ path="../../crypto/substrate-common", default-features=false helpers ={ path="../helpers", default-features=false } [dev-dependencies] -pallet-balances ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-timestamp ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-bags-list ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-staking-reward-curve ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +pallet-balances ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-timestamp ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-bags-list ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-staking-reward-curve ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } [features] default=['std'] diff --git a/pallets/relayer/src/benchmarking.rs b/pallets/relayer/src/benchmarking.rs index 730a78911..6d16e8509 100644 --- a/pallets/relayer/src/benchmarking.rs +++ b/pallets/relayer/src/benchmarking.rs @@ -11,9 +11,9 @@ use crate::Pallet as Relayer; const SIG_HASH: &[u8; 64] = b"d188f0d99145e7ddbd0f1e46e7fd406db927441584571c623aff1d1652e14b06"; -fn assert_last_event(generic_event: ::Event) { +fn assert_last_event(generic_event: ::RuntimeEvent) { let events = frame_system::Pallet::::events(); - let system_event: ::Event = generic_event.into(); + let system_event: ::RuntimeEvent = generic_event.into(); // compare to the last event record let EventRecord { event, .. } = &events[events.len() - 1]; assert_eq!(event, &system_event); @@ -40,7 +40,7 @@ benchmarks! { }: _(RawOrigin::Signed(caller.clone()), sig_request) verify { - assert_last_event::(Event::TransactionPropagated(caller).into()); + assert_last_event::(Event::::TransactionPropagated(caller).into()); } register { diff --git a/pallets/relayer/src/lib.rs b/pallets/relayer/src/lib.rs index 1e02419ff..9ac5b29ab 100644 --- a/pallets/relayer/src/lib.rs +++ b/pallets/relayer/src/lib.rs @@ -30,8 +30,10 @@ pub mod weights; #[frame_support::pallet] pub mod pallet { use frame_support::{ - dispatch::DispatchResult, inherent::Vec, pallet_prelude::*, traits::IsSubType, - weights::Pays, + dispatch::{DispatchResult, Pays}, + inherent::Vec, + pallet_prelude::*, + traits::IsSubType, }; use frame_system::pallet_prelude::*; use helpers::unwrap_or_return; @@ -50,7 +52,7 @@ pub mod pallet { frame_system::Config + pallet_authorship::Config + pallet_staking_extension::Config { /// Because this pallet emits events, it depends on the runtime's definition of an event. - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; type PruneBlock: Get; type SigningPartySize: Get; /// The weight information of this pallet. @@ -80,9 +82,9 @@ pub mod pallet { ); Self::note_responsibility(block_number); if is_prune_failures { - ::WeightInfo::move_active_to_pending_failure(messages.len() as u32) + ::WeightInfo::move_active_to_pending_failure(messages.len() as u64) } else { - ::WeightInfo::move_active_to_pending_no_failure(messages.len() as u32) + ::WeightInfo::move_active_to_pending_no_failure(messages.len() as u64) } } } @@ -194,7 +196,7 @@ pub mod pallet { // TODO(Jake): This is an insecure way to do a free transaction. // secure it, please. :) - #[pallet::weight((10_000 + T::DbWeight::get().writes(1), Pays::No))] + #[pallet::weight((T::DbWeight::get().writes(1), Pays::No))] pub fn confirm_register( origin: OriginFor, registerer: T::AccountId, @@ -226,7 +228,7 @@ pub mod pallet { /// Allows a node to signal they have completed a signing batch /// `block_number`: block number for signing batch /// `failure`: index of any failures in all sig request arrays - #[pallet::weight((10_000 + T::DbWeight::get().writes(1), Pays::No))] + #[pallet::weight((T::DbWeight::get().writes(1), Pays::No))] pub fn confirm_done( origin: OriginFor, block_number: T::BlockNumber, @@ -312,10 +314,10 @@ pub mod pallet { #[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] #[scale_info(skip_type_params(T))] pub struct PrevalidateRelayer(sp_std::marker::PhantomData) - where ::Call: IsSubType>; + where ::RuntimeCall: IsSubType>; impl Debug for PrevalidateRelayer - where ::Call: IsSubType> + where ::RuntimeCall: IsSubType> { #[cfg(feature = "std")] fn fmt(&self, f: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { @@ -327,18 +329,18 @@ pub mod pallet { } impl PrevalidateRelayer - where ::Call: IsSubType> + where ::RuntimeCall: IsSubType> { /// Create new `SignedExtension` to check runtime version. pub fn new() -> Self { Self(sp_std::marker::PhantomData) } } impl SignedExtension for PrevalidateRelayer - where ::Call: IsSubType> + where ::RuntimeCall: IsSubType> { type AccountId = T::AccountId; type AdditionalSigned = (); - type Call = ::Call; + type Call = ::RuntimeCall; type Pre = (); const IDENTIFIER: &'static str = "PrevalidateRelayer"; diff --git a/pallets/relayer/src/mock.rs b/pallets/relayer/src/mock.rs index e2ed54562..eb93fc798 100644 --- a/pallets/relayer/src/mock.rs +++ b/pallets/relayer/src/mock.rs @@ -56,9 +56,7 @@ impl system::Config for Test { type BlockLength = (); type BlockNumber = u64; type BlockWeights = (); - type Call = Call; type DbWeight = (); - type Event = Event; type Hash = H256; type Hashing = BlakeTwo256; type Header = Header; @@ -68,8 +66,10 @@ impl system::Config for Test { type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); - type Origin = Origin; type PalletInfo = PalletInfo; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type SS58Prefix = SS58Prefix; type SystemWeightInfo = (); type Version = (); @@ -94,11 +94,11 @@ impl pallet_balances::Config for Test { type AccountStore = System; type Balance = Balance; type DustRemoval = (); - type Event = Event; type ExistentialDeposit = ExistentialDeposit; type MaxLocks = MaxLocks; type MaxReserves = (); type ReserveIdentifier = [u8; 8]; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -139,10 +139,11 @@ sp_runtime::impl_opaque_keys! { } pub struct OnChainSeqPhragmen; -impl onchain::ExecutionConfig for OnChainSeqPhragmen { +impl onchain::Config for OnChainSeqPhragmen { type DataProvider = FrameStaking; type Solver = SequentialPhragmen; type System = Test; + type WeightInfo = (); } pallet_staking_reward_curve::build! { @@ -164,10 +165,10 @@ parameter_types! { } impl frame_system::offchain::SendTransactionTypes for Test -where Call: From +where RuntimeCall: From { - type Extrinsic = TestXt; - type OverarchingCall = Call; + type Extrinsic = TestXt; + type OverarchingCall = RuntimeCall; } const THRESHOLDS: [sp_npos_elections::VoteWeight; 9] = @@ -179,7 +180,7 @@ parameter_types! { impl pallet_bags_list::Config for Test { type BagThresholds = BagThresholds; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Score = VoteWeight; type ScoreProvider = FrameStaking; type WeightInfo = (); @@ -206,32 +207,36 @@ impl pallet_staking::Config for Test { type BenchmarkingConfig = StakingBenchmarkingConfig; type BondingDuration = BondingDuration; type Currency = Balances; + type CurrencyBalance = Balance; type CurrencyToVote = frame_support::traits::SaturatingCurrencyToVote; type ElectionProvider = onchain::UnboundedExecution; type EraPayout = pallet_staking::ConvertCurve; - type Event = Event; type GenesisElectionProvider = Self::ElectionProvider; + type HistoryDepth = ConstU32<84>; type MaxNominations = MaxNominations; type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator; type MaxUnlockingChunks = ConstU32<32>; type NextNewSession = Session; type OffendingValidatorsThreshold = OffendingValidatorsThreshold; + type OnStakerSlash = (); type Reward = (); type RewardRemainder = (); + type RuntimeEvent = RuntimeEvent; type SessionInterface = Self; type SessionsPerEra = SessionsPerEra; type Slash = (); type SlashCancelOrigin = frame_system::EnsureRoot; type SlashDeferDuration = SlashDeferDuration; + type TargetList = pallet_staking::UseValidatorsMap; type UnixTime = pallet_timestamp::Pallet; type VoterList = BagsList; type WeightInfo = (); } impl pallet_session::Config for Test { - type Event = Event; type Keys = UintAuthorityId; type NextSessionRotation = pallet_session::PeriodicSessions; + type RuntimeEvent = RuntimeEvent; type SessionHandler = (OtherSessionHandler,); type SessionManager = pallet_session::historical::NoteHistoricalRoot; type ShouldEndSession = pallet_session::PeriodicSessions; @@ -250,8 +255,8 @@ parameter_types! { } impl pallet_staking_extension::Config for Test { type Currency = Balances; - type Event = Event; type MaxEndpointLength = MaxEndpointLength; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -281,8 +286,8 @@ parameter_types! { } impl pallet_relayer::Config for Test { - type Event = Event; type PruneBlock = PruneBlock; + type RuntimeEvent = RuntimeEvent; type SigningPartySize = SigningPartySize; type WeightInfo = (); } diff --git a/pallets/relayer/src/tests.rs b/pallets/relayer/src/tests.rs index 5b0ebd12c..090382948 100644 --- a/pallets/relayer/src/tests.rs +++ b/pallets/relayer/src/tests.rs @@ -1,7 +1,7 @@ use frame_support::{ assert_noop, assert_ok, + dispatch::{GetDispatchInfo, Pays}, traits::OnInitialize, - weights::{GetDispatchInfo, Pays}, }; use pallet_relayer::Call as RelayerCall; use sp_runtime::{ @@ -27,7 +27,7 @@ fn it_preps_transaction() { ip_addresses, }; - assert_ok!(Relayer::prep_transaction(Origin::signed(1), sig_request)); + assert_ok!(Relayer::prep_transaction(RuntimeOrigin::signed(1), sig_request)); assert_eq!(Relayer::messages(0), vec![message]); }); @@ -36,7 +36,7 @@ fn it_preps_transaction() { #[test] fn it_registers_a_user() { new_test_ext().execute_with(|| { - assert_ok!(Relayer::register(Origin::signed(1))); + assert_ok!(Relayer::register(RuntimeOrigin::signed(1))); assert!(Relayer::registering(1).unwrap().is_registering); }); @@ -46,28 +46,28 @@ fn it_registers_a_user() { fn it_confirms_registers_a_user() { new_test_ext().execute_with(|| { assert_noop!( - Relayer::confirm_register(Origin::signed(1), 1, 0), + Relayer::confirm_register(RuntimeOrigin::signed(1), 1, 0), Error::::NotRegistering ); - assert_ok!(Relayer::register(Origin::signed(1))); + assert_ok!(Relayer::register(RuntimeOrigin::signed(1))); assert_noop!( - Relayer::confirm_register(Origin::signed(1), 1, 3), + Relayer::confirm_register(RuntimeOrigin::signed(1), 1, 3), Error::::InvalidSubgroup ); assert_noop!( - Relayer::confirm_register(Origin::signed(2), 1, 0), + Relayer::confirm_register(RuntimeOrigin::signed(2), 1, 0), Error::::NotInSigningGroup ); assert_eq!(Relayer::registered(1), None); - assert_ok!(Relayer::confirm_register(Origin::signed(1), 1, 0)); + assert_ok!(Relayer::confirm_register(RuntimeOrigin::signed(1), 1, 0)); assert_noop!( - Relayer::confirm_register(Origin::signed(1), 1, 0), + Relayer::confirm_register(RuntimeOrigin::signed(1), 1, 0), Error::::AlreadyConfirmed ); @@ -75,7 +75,7 @@ fn it_confirms_registers_a_user() { assert_eq!(Relayer::registering(1), Some(registering_info)); - assert_ok!(Relayer::confirm_register(Origin::signed(2), 1, 1)); + assert_ok!(Relayer::confirm_register(RuntimeOrigin::signed(2), 1, 1)); assert_eq!(Relayer::registering(1), None); assert!(Relayer::registered(1).unwrap()); @@ -89,25 +89,25 @@ fn it_confirms_done() { let failures = vec![0u32, 3u32]; pallet_staking_extension::ThresholdAccounts::::insert(2, (1, NULL_ARR)); - assert_ok!(Relayer::confirm_done(Origin::signed(1), 5, failures.clone())); + assert_ok!(Relayer::confirm_done(RuntimeOrigin::signed(1), 5, failures.clone())); assert_eq!(Relayer::failures(5), Some(failures.clone())); assert_noop!( - Relayer::confirm_done(Origin::signed(1), 5, failures.clone()), + Relayer::confirm_done(RuntimeOrigin::signed(1), 5, failures.clone()), Error::::AlreadySubmitted ); assert_noop!( - Relayer::confirm_done(Origin::signed(1), 6, failures.clone()), + Relayer::confirm_done(RuntimeOrigin::signed(1), 6, failures.clone()), Error::::NoResponsibility ); Responsibility::::insert(6, 3); assert_noop!( - Relayer::confirm_done(Origin::signed(2), 6, failures.clone()), + Relayer::confirm_done(RuntimeOrigin::signed(2), 6, failures.clone()), Error::::NoThresholdKey ); pallet_staking_extension::ThresholdAccounts::::insert(2, (5, NULL_ARR)); assert_noop!( - Relayer::confirm_done(Origin::signed(2), 5, failures), + Relayer::confirm_done(RuntimeOrigin::signed(2), 5, failures), Error::::NotYourResponsibility ); }); @@ -133,7 +133,7 @@ fn moves_active_to_pending() { ip_addresses, }; - assert_ok!(Relayer::prep_transaction(Origin::signed(1), sig_request)); + assert_ok!(Relayer::prep_transaction(RuntimeOrigin::signed(1), sig_request)); assert_eq!(Relayer::messages(3), vec![message.clone()]); // prunes old failure remove messages put into pending @@ -165,14 +165,14 @@ fn notes_responsibility() { #[test] fn it_provides_free_txs_prep_tx() { new_test_ext().execute_with(|| { - assert_ok!(Relayer::register(Origin::signed(1))); - assert_ok!(Relayer::confirm_register(Origin::signed(1), 1, 0)); - assert_ok!(Relayer::confirm_register(Origin::signed(2), 1, 1)); + assert_ok!(Relayer::register(RuntimeOrigin::signed(1))); + assert_ok!(Relayer::confirm_register(RuntimeOrigin::signed(1), 1, 0)); + assert_ok!(Relayer::confirm_register(RuntimeOrigin::signed(2), 1, 1)); let p = PrevalidateRelayer::::new(); let sig_request = SigRequest { sig_hash: SIG_HASH.to_vec() }; + let c = RuntimeCall::Relayer(RelayerCall::prep_transaction { sig_request }); - let c = Call::Relayer(RelayerCall::prep_transaction { sig_request }); let di = c.get_dispatch_info(); assert_eq!(di.pays_fee, Pays::No); let r = p.validate(&1, &c, &di, 20); @@ -185,8 +185,8 @@ fn it_fails_a_free_tx_prep_tx() { new_test_ext().execute_with(|| { let p = PrevalidateRelayer::::new(); let sig_request = SigRequest { sig_hash: SIG_HASH.to_vec() }; + let c = RuntimeCall::Relayer(RelayerCall::prep_transaction { sig_request }); - let c = Call::Relayer(RelayerCall::prep_transaction { sig_request }); let di = c.get_dispatch_info(); let r = p.validate(&42, &c, &di, 20); assert!(r.is_err()); @@ -199,7 +199,8 @@ fn it_provides_free_txs_confirm_done() { Responsibility::::insert(5, 1); pallet_staking_extension::ThresholdAccounts::::insert(1, (2, NULL_ARR)); let p = PrevalidateRelayer::::new(); - let c = Call::Relayer(RelayerCall::confirm_done { block_number: 5, failures: vec![] }); + let c = + RuntimeCall::Relayer(RelayerCall::confirm_done { block_number: 5, failures: vec![] }); let di = c.get_dispatch_info(); assert_eq!(di.pays_fee, Pays::No); let r = p.validate(&2, &c, &di, 20); @@ -214,7 +215,7 @@ fn it_fails_a_free_tx_confirm_done_err_1() { let sig_request = SigRequest { sig_hash: SIG_HASH.to_vec() }; let p = PrevalidateRelayer::::new(); - let c = Call::Relayer(RelayerCall::prep_transaction { sig_request }); + let c = RuntimeCall::Relayer(RelayerCall::prep_transaction { sig_request }); let di = c.get_dispatch_info(); let r = p.validate(&1, &c, &di, 20); r.unwrap() @@ -226,7 +227,8 @@ fn it_fails_a_free_tx_confirm_done_err_1() { fn it_fails_a_free_tx_confirm_done_err_2() { new_test_ext().execute_with(|| { let p = PrevalidateRelayer::::new(); - let c = Call::Relayer(RelayerCall::confirm_done { block_number: 5, failures: vec![] }); + let c = + RuntimeCall::Relayer(RelayerCall::confirm_done { block_number: 5, failures: vec![] }); let di = c.get_dispatch_info(); let r = p.validate(&1, &c, &di, 20); r.unwrap() @@ -239,7 +241,8 @@ fn it_fails_a_free_tx_confirm_done_err_3() { new_test_ext().execute_with(|| { Responsibility::::insert(5, 1); let p = PrevalidateRelayer::::new(); - let c = Call::Relayer(RelayerCall::confirm_done { block_number: 5, failures: vec![] }); + let c = + RuntimeCall::Relayer(RelayerCall::confirm_done { block_number: 5, failures: vec![] }); let di = c.get_dispatch_info(); let r = p.validate(&42, &c, &di, 20); r.unwrap() @@ -254,7 +257,8 @@ fn it_fails_a_free_tx_confirm_done_err_4() { pallet_staking_extension::ThresholdAccounts::::insert(1, (2, NULL_ARR)); Failures::::insert(5, vec![1]); let p = PrevalidateRelayer::::new(); - let c = Call::Relayer(RelayerCall::confirm_done { block_number: 5, failures: vec![] }); + let c = + RuntimeCall::Relayer(RelayerCall::confirm_done { block_number: 5, failures: vec![] }); let di = c.get_dispatch_info(); let r = p.validate(&1, &c, &di, 20); r.unwrap() @@ -269,7 +273,8 @@ fn it_fails_a_free_tx_confirm_done_err_5() { pallet_staking_extension::ThresholdAccounts::::insert(1, (2, NULL_ARR)); Failures::::insert(5, vec![1]); let p = PrevalidateRelayer::::new(); - let c = Call::Relayer(RelayerCall::confirm_done { block_number: 5, failures: vec![] }); + let c = + RuntimeCall::Relayer(RelayerCall::confirm_done { block_number: 5, failures: vec![] }); let di = c.get_dispatch_info(); let r = p.validate(&2, &c, &di, 20); r.unwrap() diff --git a/pallets/relayer/src/weights.rs b/pallets/relayer/src/weights.rs index 4d6024ba1..f2432e5c0 100644 --- a/pallets/relayer/src/weights.rs +++ b/pallets/relayer/src/weights.rs @@ -11,65 +11,65 @@ use sp_std::marker::PhantomData; pub trait WeightInfo { fn prep_transaction() -> Weight; fn register() -> Weight; - fn move_active_to_pending_failure(m: u32) -> Weight; - fn move_active_to_pending_no_failure(m: u32) -> Weight; + fn move_active_to_pending_failure(m: u64) -> Weight; + fn move_active_to_pending_no_failure(m: u64) -> Weight; } /// Weights for pallet_realyer using the Substrate node and recommended hardware. pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { fn prep_transaction() -> Weight { - (33_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(33_000_000_u64) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } fn register() -> Weight { - (23_000_000 as Weight).saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(23_000_000_u64).saturating_add(T::DbWeight::get().writes(1_u64)) } - fn move_active_to_pending_no_failure(m: u32) -> Weight { - (38_655_000 as Weight) + fn move_active_to_pending_no_failure(m: u64) -> Weight { + Weight::from_ref_time(38_655_000_u64) // Standard Error: 71_000 - .saturating_add((531_000 as Weight).saturating_mul(m as Weight)) - .saturating_add(T::DbWeight::get().reads(6 as Weight)) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) + .saturating_add(Weight::from_ref_time(531_000_u64).saturating_mul(m)) + .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } - fn move_active_to_pending_failure(m: u32) -> Weight { - (31_350_000 as Weight) + fn move_active_to_pending_failure(m: u64) -> Weight { + Weight::from_ref_time(31_350_000_u64) // Standard Error: 55_000 - .saturating_add((1_143_000 as Weight).saturating_mul(m as Weight)) - .saturating_add(T::DbWeight::get().reads(6 as Weight)) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) + .saturating_add(Weight::from_ref_time(1_143_000_u64).saturating_mul(m)) + .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } } // For backwards compatibility and tests impl WeightInfo for () { fn prep_transaction() -> Weight { - (33_000_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(1 as Weight)) - .saturating_add(RocksDbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(33_000_000_u64) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } fn register() -> Weight { - (23_000_000 as Weight).saturating_add(RocksDbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(23_000_000_u64).saturating_add(RocksDbWeight::get().writes(1_u64)) } - fn move_active_to_pending_no_failure(m: u32) -> Weight { - (38_655_000 as Weight) + fn move_active_to_pending_no_failure(m: u64) -> Weight { + Weight::from_ref_time(38_655_000_u64) // Standard Error: 71_000 - .saturating_add((531_000 as Weight).saturating_mul(m as Weight)) - .saturating_add(RocksDbWeight::get().reads(6 as Weight)) - .saturating_add(RocksDbWeight::get().writes(3 as Weight)) + .saturating_add(Weight::from_ref_time(531_000_u64).saturating_mul(m)) + .saturating_add(RocksDbWeight::get().reads(6_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - fn move_active_to_pending_failure(m: u32) -> Weight { - (31_350_000 as Weight) + fn move_active_to_pending_failure(m: u64) -> Weight { + Weight::from_ref_time(31_350_000_u64) // Standard Error: 55_000 - .saturating_add((1_143_000 as Weight).saturating_mul(m as Weight)) - .saturating_add(RocksDbWeight::get().reads(6 as Weight)) - .saturating_add(RocksDbWeight::get().writes(3 as Weight)) + .saturating_add(Weight::from_ref_time(1_143_000_u64).saturating_mul(m)) + .saturating_add(RocksDbWeight::get().reads(6_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } } diff --git a/pallets/slashing/Cargo.toml b/pallets/slashing/Cargo.toml index eb3228b78..767361783 100644 --- a/pallets/slashing/Cargo.toml +++ b/pallets/slashing/Cargo.toml @@ -16,7 +16,7 @@ targets=['x86_64-unknown-linux-gnu'] [dev-dependencies.sp-core] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='6.0.0' [dependencies.codec] @@ -28,40 +28,40 @@ version ='3.0.0' [dependencies.frame-benchmarking] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" optional =true version ='4.0.0-dev' [dependencies.frame-support] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='4.0.0-dev' [dependencies.frame-system] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ='4.0.0-dev' [dependencies] scale-info ={ version="2.0.1", default-features=false, features=["derive"] } log ={ version="0.4.0", default-features=false } -sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-io ={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="master" } +sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-io ={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } lite-json ={ version="0.1", default-features=false } -sp-runtime ={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="master" } -sp-application-crypto={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="master" } +sp-runtime ={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } +sp-application-crypto={ version="6.0.0", default-features=false, git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } [dev-dependencies] -pallet-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-staking-reward-curve ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-timestamp ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-balances ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-bags-list ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +pallet-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-staking-reward-curve ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-timestamp ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-balances ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-bags-list ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } [features] default=['std'] diff --git a/pallets/slashing/src/lib.rs b/pallets/slashing/src/lib.rs index bd4d155df..784918334 100644 --- a/pallets/slashing/src/lib.rs +++ b/pallets/slashing/src/lib.rs @@ -36,7 +36,7 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config { - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; type AuthorityId: Member + Parameter + RuntimeAppPublic @@ -87,7 +87,7 @@ pub mod pallet { #[pallet::call] impl Pallet { /// An example dispatchable that may throw a custom error. - #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))] + #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1).ref_time())] pub fn demo_offence(origin: OriginFor, offenders: Vec) -> DispatchResult { // TODO remove this function, it is for demo purposes only let who = ensure_signed(origin)?; @@ -163,8 +163,6 @@ pub mod pallet { fn time_slot(&self) -> Self::TimeSlot { self.session_index } - fn slash_fraction(_offenders: u32, _validator_set_count: u32) -> Perbill { - Perbill::from_perthousand(0) - } + fn slash_fraction(&self, _offenders_count: u32) -> Perbill { Perbill::from_perthousand(0) } } } diff --git a/pallets/slashing/src/mock.rs b/pallets/slashing/src/mock.rs index 6d4b1032d..83ffc9e06 100644 --- a/pallets/slashing/src/mock.rs +++ b/pallets/slashing/src/mock.rs @@ -23,6 +23,7 @@ use crate as pallet_slashing; type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; type Block = frame_system::mocking::MockBlock; +type Balance = u64; // Configure a mock runtime to test the pallet. frame_support::construct_runtime!( @@ -49,16 +50,14 @@ parameter_types! { } impl system::Config for Test { - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type AccountId = AccountId; type BaseCallFilter = frame_support::traits::Everything; type BlockHashCount = BlockHashCount; type BlockLength = (); type BlockNumber = u64; type BlockWeights = (); - type Call = Call; type DbWeight = (); - type Event = Event; type Hash = H256; type Hashing = BlakeTwo256; type Header = Header; @@ -68,8 +67,10 @@ impl system::Config for Test { type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); - type Origin = Origin; type PalletInfo = PalletInfo; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type SS58Prefix = SS58Prefix; type SystemWeightInfo = (); type Version = (); @@ -127,9 +128,9 @@ sp_runtime::impl_opaque_keys! { } impl pallet_session::Config for Test { - type Event = Event; type Keys = SessionKeys; type NextSessionRotation = pallet_session::PeriodicSessions; + type RuntimeEvent = RuntimeEvent; type SessionHandler = (TestSessionHandler,); type SessionManager = (); type ShouldEndSession = pallet_session::PeriodicSessions; @@ -139,10 +140,10 @@ impl pallet_session::Config for Test { } impl frame_system::offchain::SendTransactionTypes for Test -where Call: From +where RuntimeCall: From { - type Extrinsic = TestXt; - type OverarchingCall = Call; + type Extrinsic = TestXt; + type OverarchingCall = RuntimeCall; } pallet_staking_reward_curve::build! { @@ -174,17 +175,18 @@ parameter_types! { impl pallet_bags_list::Config for Test { type BagThresholds = BagThresholds; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Score = VoteWeight; type ScoreProvider = Staking; type WeightInfo = (); } pub struct OnChainSeqPhragmen; -impl onchain::ExecutionConfig for OnChainSeqPhragmen { +impl onchain::Config for OnChainSeqPhragmen { type DataProvider = Staking; type Solver = SequentialPhragmen; type System = Test; + type WeightInfo = (); } pub struct StakingBenchmarkingConfig; @@ -197,50 +199,54 @@ impl pallet_staking::Config for Test { type BenchmarkingConfig = StakingBenchmarkingConfig; type BondingDuration = BondingDuration; type Currency = Balances; + type CurrencyBalance = Balance; type CurrencyToVote = frame_support::traits::SaturatingCurrencyToVote; type ElectionProvider = onchain::UnboundedExecution; type EraPayout = pallet_staking::ConvertCurve; - type Event = Event; type GenesisElectionProvider = Self::ElectionProvider; + type HistoryDepth = ConstU32<84>; type MaxNominations = MaxNominations; type MaxNominatorRewardedPerValidator = ConstU32<64>; type MaxUnlockingChunks = ConstU32<32>; type NextNewSession = Session; type OffendingValidatorsThreshold = OffendingValidatorsThreshold; + type OnStakerSlash = (); type Reward = (); type RewardRemainder = (); + type RuntimeEvent = RuntimeEvent; type SessionInterface = Self; type SessionsPerEra = SessionsPerEra; type Slash = (); type SlashCancelOrigin = frame_system::EnsureRoot; type SlashDeferDuration = SlashDeferDuration; + type TargetList = pallet_staking::UseValidatorsMap; type UnixTime = pallet_timestamp::Pallet; type VoterList = BagsList; type WeightInfo = (); } parameter_types! { - pub const ExistentialDeposit: u128 = 1; + pub const ExistentialDeposit: Balance = 1; } impl pallet_balances::Config for Test { type AccountStore = System; - type Balance = u128; + type Balance = Balance; type DustRemoval = (); - type Event = Event; type ExistentialDeposit = ExistentialDeposit; type MaxLocks = (); type MaxReserves = (); type ReserveIdentifier = [u8; 8]; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } impl pallet_session::historical::Config for Test { - type FullIdentification = pallet_staking::Exposure; + type FullIdentification = pallet_staking::Exposure; type FullIdentificationOf = pallet_staking::ExposureOf; } -type IdentificationTuple = (u64, pallet_staking::Exposure); +type IdentificationTuple = (u64, pallet_staking::Exposure); type Offence = crate::TuxAngry; thread_local! { @@ -276,9 +282,9 @@ parameter_types! { impl pallet_slashing::Config for Test { type AuthorityId = UintAuthorityId; - type Event = Event; type MinValidators = MinValidators; type ReportBad = OffenceHandler; + type RuntimeEvent = RuntimeEvent; type ValidatorIdOf = ConvertInto; type ValidatorSet = Historical; } diff --git a/pallets/slashing/src/tests.rs b/pallets/slashing/src/tests.rs index 1c7eb4939..c24302c1c 100644 --- a/pallets/slashing/src/tests.rs +++ b/pallets/slashing/src/tests.rs @@ -8,21 +8,22 @@ use crate::mock::*; #[test] fn slash_fraction_works() { new_test_ext().execute_with(|| { - assert_eq!(TuxAngry::<()>::slash_fraction(1, 2), Perbill::from_perthousand(0)); + let offence = TuxAngry { session_index: 0, validator_set_count: 50, offenders: vec![()] }; + assert_eq!(offence.slash_fraction(1), Perbill::from_perthousand(0)); }); } #[test] fn offence_test() { new_test_ext().execute_with(|| { - assert_ok!(Staking::force_new_era_always(Origin::root())); + assert_ok!(Staking::force_new_era_always(RuntimeOrigin::root())); assert!(Session::validators().contains(&1)); // slash would cause min validators to drop below min validators no offence - assert_ok!(Slashing::demo_offence(Origin::signed(1), vec![1u64, 2u64])); + assert_ok!(Slashing::demo_offence(RuntimeOrigin::signed(1), vec![1u64, 2u64])); let mut offences = OFFENCES.with(|l| l.replace(vec![])); assert_eq!(offences.len(), 0); // causes offence - assert_ok!(Slashing::demo_offence(Origin::signed(1), vec![1u64])); + assert_ok!(Slashing::demo_offence(RuntimeOrigin::signed(1), vec![1u64])); offences = OFFENCES.with(|l| l.replace(vec![])); assert_eq!(offences.len(), 1); }); diff --git a/pallets/staking/Cargo.toml b/pallets/staking/Cargo.toml index 05cee94f4..8111675f5 100644 --- a/pallets/staking/Cargo.toml +++ b/pallets/staking/Cargo.toml @@ -22,17 +22,17 @@ version ='3.0.0' default-features=false git ='https://github.com/paritytech/substrate.git' optional =true -branch ="master" +branch ="polkadot-v0.9.30" [dependencies.frame-support] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" [dependencies.frame-system] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" [dependencies.scale-info] default-features=false @@ -42,30 +42,30 @@ version ='2.0.1' [dev-dependencies.sp-core] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ="6.0.0" [dev-dependencies.sp-io] default-features=false git ='https://github.com/paritytech/substrate.git' -branch ="master" +branch ="polkadot-v0.9.30" version ="6.0.0" [dependencies] -pallet-staking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-runtime ={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-std ={ package="sp-std", git="https://github.com/paritytech/substrate", branch="master", default-features=false } -sp-core ={ package="sp-core", git="https://github.com/paritytech/substrate", branch="master", default-features=false } +pallet-staking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-runtime ={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-std ={ package="sp-std", git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } +sp-core ={ package="sp-core", git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } [dev-dependencies] -pallet-balances ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-timestamp ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-staking-reward-curve ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-bags-list ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +pallet-balances ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-timestamp ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-staking-reward-curve ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-bags-list ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } [features] default=['std'] diff --git a/pallets/staking/src/benchmarking.rs b/pallets/staking/src/benchmarking.rs index 8aa420b97..b6e8bb0fe 100644 --- a/pallets/staking/src/benchmarking.rs +++ b/pallets/staking/src/benchmarking.rs @@ -11,9 +11,9 @@ use crate::Pallet as Staking; const NULL_ARR: [u8; 32] = [0; 32]; -fn assert_last_event(generic_event: ::Event) { +fn assert_last_event(generic_event: ::RuntimeEvent) { let events = frame_system::Pallet::::events(); - let system_event: ::Event = generic_event.into(); + let system_event: ::RuntimeEvent = generic_event.into(); // compare to the last event record let EventRecord { event, .. } = &events[events.len() - 1]; assert_eq!(event, &system_event); @@ -63,7 +63,7 @@ benchmarks! { }: _(RawOrigin::Signed(caller.clone()), vec![30]) verify { - assert_last_event::(Event::EndpointChanged(caller, vec![30]).into()); + assert_last_event::(Event::::EndpointChanged(caller, vec![30]).into()); } change_threshold_accounts { @@ -76,7 +76,7 @@ benchmarks! { }: _(RawOrigin::Signed(caller.clone()), bonder.clone(), NULL_ARR) verify { - assert_last_event::(Event::ThresholdAccountChanged(bonder.clone(), (bonder, NULL_ARR)).into()); + assert_last_event::(Event::::ThresholdAccountChanged(bonder.clone(), (bonder, NULL_ARR)).into()); } @@ -115,7 +115,7 @@ benchmarks! { }: _(RawOrigin::Signed(caller.clone()), validator_preferance, vec![20], threshold.clone(), NULL_ARR) verify { - assert_last_event::(Event::NodeInfoChanged(caller, vec![20], threshold).into()); + assert_last_event::(Event::::NodeInfoChanged(caller, vec![20], threshold).into()); } diff --git a/pallets/staking/src/lib.rs b/pallets/staking/src/lib.rs index 56bd8f904..445c9c31d 100644 --- a/pallets/staking/src/lib.rs +++ b/pallets/staking/src/lib.rs @@ -42,7 +42,7 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config + pallet_staking::Config { - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; type Currency: Currency; type MaxEndpointLength: Get; /// The weight information of this pallet. @@ -50,6 +50,18 @@ pub mod pallet { } // TODO: JA add build for initial endpoints + /// A unique identifier of a subgroup or partition of validators that have the same set of + /// threshold shares. + pub type SubgroupId = u8; + /// Unique type to differentiate the threshold server's account ID from the validator's + /// stash/controller accounts + pub type TssServerAccount = AccountId; + /// X25519 public key used by the client in non-interactive ECDH to authenticate/encrypt + /// interactions with the threshold server (eg distributing threshold shares). + pub type X25519PublicKey = [u8; 32]; + /// Endpoint where a threshold server can be reached at + pub type TssServerURL = Vec; + /// The balance type of this pallet. pub type BalanceOf = <::Currency as Currency< ::AccountId, @@ -60,28 +72,43 @@ pub mod pallet { #[pallet::without_storage_info] pub struct Pallet(_); + // TODO JH We could prob use more efficient data structures (less duplicate data or query time) + // for storing validator/server/endpoint/subgroup information + + /// Stores the relationship between a validator's stash account and the IP address/endpoint they + /// can be reached at. #[pallet::storage] #[pallet::getter(fn endpoint_register)] pub type EndpointRegister = - StorageMap<_, Blake2_128Concat, T::AccountId, Vec, OptionQuery>; + StorageMap<_, Blake2_128Concat, T::AccountId, TssServerURL, OptionQuery>; - /// Keytype is the stash AccountId /// Stores the relationship between - /// a threshold public key and a - /// Diffie-Hellman public key. - /// Clients query the chain for both values, - /// the DH public key is used to derive shared - /// secrets for ChaCha20Poly1305 encryption - /// of secret shares over http. + /// a validator's stash account and their threshold server's sr25519 and x25519 keys. + /// + /// Clients query this via state or `stakingExtension_getKeys` RPC and uses + /// the x25519 pub key in noninteractive ECDH for authenticating/encrypting distribute TSS + /// shares over HTTP. #[pallet::storage] #[pallet::getter(fn threshold_account)] - pub type ThresholdAccounts = - StorageMap<_, Blake2_128Concat, T::AccountId, (T::AccountId, [u8; 32]), OptionQuery>; + pub type ThresholdAccounts = StorageMap< + _, + Blake2_128Concat, + T::AccountId, + (TssServerAccount, X25519PublicKey), + OptionQuery, + >; + /// Stores the relationship between a signing group (u8) and its member's (validator's) + /// threshold server's account. #[pallet::storage] #[pallet::getter(fn signing_groups)] - pub type SigningGroups = - StorageMap<_, Blake2_128Concat, u8, Vec, OptionQuery>; + pub type SigningGroups = StorageMap< + _, + Blake2_128Concat, + SubgroupId, + Vec>, + OptionQuery, + >; #[pallet::genesis_config] pub struct GenesisConfig { @@ -111,16 +138,16 @@ pub mod pallet { .into_iter() .map(|x| assert!(x.1.len() as u32 <= T::MaxEndpointLength::get())); - for (account, endpoint) in &self.endpoints { - EndpointRegister::::insert(account, endpoint); + for (validator_stash, tss_endpoint_url) in &self.endpoints { + EndpointRegister::::insert(validator_stash, tss_endpoint_url); } - for (stash_account, threshold_account) in &self.threshold_accounts { - ThresholdAccounts::::insert(stash_account, threshold_account); + for (validator_stash, tss_server_keys) in &self.threshold_accounts { + ThresholdAccounts::::insert(validator_stash, tss_server_keys); } - for (group, accounts) in &self.signing_groups { - SigningGroups::::insert(group, accounts); + for (group_id, tss_server_account) in &self.signing_groups { + SigningGroups::::insert(group_id, tss_server_account); } } } @@ -167,13 +194,16 @@ pub mod pallet { #[pallet::weight(::WeightInfo::change_threshold_accounts())] pub fn change_threshold_accounts( origin: OriginFor, - new_account: T::AccountId, - dh_pk: [u8; 32], + threshold_account: TssServerAccount, + ecdh_pub_key: X25519PublicKey, ) -> DispatchResult { let who = ensure_signed(origin)?; let stash = Self::get_stash(&who)?; - ThresholdAccounts::::insert(&stash, (&new_account, dh_pk)); - Self::deposit_event(Event::ThresholdAccountChanged(stash, (new_account, dh_pk))); + ThresholdAccounts::::insert(&stash, (&threshold_account, ecdh_pub_key)); + Self::deposit_event(Event::ThresholdAccountChanged( + stash, + (threshold_account, ecdh_pub_key), + )); Ok(()) } @@ -203,8 +233,8 @@ pub mod pallet { origin: OriginFor, prefs: ValidatorPrefs, endpoint: Vec, - threshold_account: T::AccountId, - dh_pk: [u8; 32], + threshold_account: TssServerAccount, + ecdh_pub_key: X25519PublicKey, ) -> DispatchResult { let who = ensure_signed(origin.clone())?; ensure!( @@ -214,7 +244,7 @@ pub mod pallet { let stash = Self::get_stash(&who)?; pallet_staking::Pallet::::validate(origin, prefs)?; EndpointRegister::::insert(&who, &endpoint); - ThresholdAccounts::::insert(&stash, (&threshold_account, dh_pk)); + ThresholdAccounts::::insert(&stash, (&threshold_account, ecdh_pub_key)); Self::deposit_event(Event::NodeInfoChanged(who, endpoint, threshold_account)); Ok(()) } diff --git a/pallets/staking/src/mock.rs b/pallets/staking/src/mock.rs index e7af8041a..1a54ec24d 100644 --- a/pallets/staking/src/mock.rs +++ b/pallets/staking/src/mock.rs @@ -59,9 +59,7 @@ impl system::Config for Test { type BlockLength = (); type BlockNumber = u64; type BlockWeights = (); - type Call = Call; type DbWeight = (); - type Event = Event; type Hash = H256; type Hashing = BlakeTwo256; type Header = Header; @@ -71,8 +69,10 @@ impl system::Config for Test { type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); - type Origin = Origin; type PalletInfo = PalletInfo; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type SS58Prefix = SS58Prefix; type SystemWeightInfo = (); type Version = (); @@ -97,11 +97,11 @@ impl pallet_balances::Config for Test { type AccountStore = System; type Balance = Balance; type DustRemoval = (); - type Event = Event; type ExistentialDeposit = ExistentialDeposit; type MaxLocks = MaxLocks; type MaxReserves = (); type ReserveIdentifier = [u8; 8]; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -142,10 +142,11 @@ sp_runtime::impl_opaque_keys! { } pub struct OnChainSeqPhragmen; -impl onchain::ExecutionConfig for OnChainSeqPhragmen { +impl onchain::Config for OnChainSeqPhragmen { type DataProvider = FrameStaking; type Solver = SequentialPhragmen; type System = Test; + type WeightInfo = (); } pallet_staking_reward_curve::build! { @@ -167,10 +168,10 @@ parameter_types! { } impl frame_system::offchain::SendTransactionTypes for Test -where Call: From +where RuntimeCall: From { - type Extrinsic = TestXt; - type OverarchingCall = Call; + type Extrinsic = TestXt; + type OverarchingCall = RuntimeCall; } const THRESHOLDS: [sp_npos_elections::VoteWeight; 9] = @@ -182,7 +183,7 @@ parameter_types! { impl pallet_bags_list::Config for Test { type BagThresholds = BagThresholds; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Score = VoteWeight; type ScoreProvider = FrameStaking; type WeightInfo = (); @@ -209,32 +210,36 @@ impl pallet_staking::Config for Test { type BenchmarkingConfig = StakingBenchmarkingConfig; type BondingDuration = BondingDuration; type Currency = Balances; + type CurrencyBalance = Balance; type CurrencyToVote = frame_support::traits::SaturatingCurrencyToVote; type ElectionProvider = onchain::UnboundedExecution; type EraPayout = pallet_staking::ConvertCurve; - type Event = Event; type GenesisElectionProvider = Self::ElectionProvider; + type HistoryDepth = ConstU32<84>; type MaxNominations = MaxNominations; type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator; type MaxUnlockingChunks = ConstU32<32>; type NextNewSession = Session; type OffendingValidatorsThreshold = OffendingValidatorsThreshold; + type OnStakerSlash = (); type Reward = (); type RewardRemainder = (); + type RuntimeEvent = RuntimeEvent; type SessionInterface = Self; type SessionsPerEra = SessionsPerEra; type Slash = (); type SlashCancelOrigin = frame_system::EnsureRoot; type SlashDeferDuration = SlashDeferDuration; + type TargetList = pallet_staking::UseValidatorsMap; type UnixTime = pallet_timestamp::Pallet; type VoterList = BagsList; type WeightInfo = (); } impl pallet_session::Config for Test { - type Event = Event; type Keys = UintAuthorityId; type NextSessionRotation = pallet_session::PeriodicSessions; + type RuntimeEvent = RuntimeEvent; type SessionHandler = (OtherSessionHandler,); type SessionManager = pallet_session::historical::NoteHistoricalRoot; type ShouldEndSession = pallet_session::PeriodicSessions; @@ -253,8 +258,8 @@ parameter_types! { } impl pallet_staking_extension::Config for Test { type Currency = Balances; - type Event = Event; type MaxEndpointLength = MaxEndpointLength; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } diff --git a/pallets/staking/src/tests.rs b/pallets/staking/src/tests.rs index 695b73d22..4dbf165a4 100644 --- a/pallets/staking/src/tests.rs +++ b/pallets/staking/src/tests.rs @@ -20,13 +20,13 @@ fn basic_setup_works() { fn it_takes_in_an_endpoint() { new_test_ext().execute_with(|| { assert_ok!(FrameStaking::bond( - Origin::signed(2), + RuntimeOrigin::signed(2), 1, 100u64, pallet_staking::RewardDestination::Account(1), )); assert_ok!(Staking::validate( - Origin::signed(1), + RuntimeOrigin::signed(1), pallet_staking::ValidatorPrefs::default(), vec![20], 3, @@ -36,7 +36,7 @@ fn it_takes_in_an_endpoint() { assert_eq!(Staking::threshold_account(2).unwrap().0, 3); assert_noop!( Staking::validate( - Origin::signed(4), + RuntimeOrigin::signed(4), pallet_staking::ValidatorPrefs::default(), vec![20, 20, 20, 20], 3, @@ -46,7 +46,7 @@ fn it_takes_in_an_endpoint() { ); assert_noop!( Staking::validate( - Origin::signed(4), + RuntimeOrigin::signed(4), pallet_staking::ValidatorPrefs::default(), vec![20, 20], 3, @@ -61,23 +61,26 @@ fn it_takes_in_an_endpoint() { fn it_changes_endpoint() { new_test_ext().execute_with(|| { assert_ok!(FrameStaking::bond( - Origin::signed(2), + RuntimeOrigin::signed(2), 1, 100u64, pallet_staking::RewardDestination::Account(1), )); assert_ok!(Staking::validate( - Origin::signed(1), + RuntimeOrigin::signed(1), pallet_staking::ValidatorPrefs::default(), vec![20], 3, NULL_ARR )); - assert_ok!(Staking::change_endpoint(Origin::signed(1), vec![30])); + assert_ok!(Staking::change_endpoint(RuntimeOrigin::signed(1), vec![30])); assert_eq!(Staking::endpoint_register(1).unwrap(), vec![30]); - assert_noop!(Staking::change_endpoint(Origin::signed(3), vec![30]), Error::::NoBond); + assert_noop!( + Staking::change_endpoint(RuntimeOrigin::signed(3), vec![30]), + Error::::NoBond + ); }); } @@ -85,24 +88,24 @@ fn it_changes_endpoint() { fn it_changes_threshold_account() { new_test_ext().execute_with(|| { assert_ok!(FrameStaking::bond( - Origin::signed(2), + RuntimeOrigin::signed(2), 1, 100u64, pallet_staking::RewardDestination::Account(1), )); assert_ok!(Staking::validate( - Origin::signed(1), + RuntimeOrigin::signed(1), pallet_staking::ValidatorPrefs::default(), vec![20], 3, NULL_ARR )); - assert_ok!(Staking::change_threshold_accounts(Origin::signed(1), 4, NULL_ARR)); + assert_ok!(Staking::change_threshold_accounts(RuntimeOrigin::signed(1), 4, NULL_ARR)); assert_eq!(Staking::threshold_account(2).unwrap().0, 4); assert_noop!( - Staking::change_threshold_accounts(Origin::signed(4), 5, NULL_ARR), + Staking::change_threshold_accounts(RuntimeOrigin::signed(4), 5, NULL_ARR), Error::::NotController ); }); @@ -113,13 +116,13 @@ fn it_deletes_when_no_bond_left() { new_test_ext().execute_with(|| { start_active_era(1); assert_ok!(FrameStaking::bond( - Origin::signed(2), + RuntimeOrigin::signed(2), 1, 100u64, pallet_staking::RewardDestination::Account(1), )); assert_ok!(Staking::validate( - Origin::signed(1), + RuntimeOrigin::signed(1), pallet_staking::ValidatorPrefs::default(), vec![20], 3, @@ -133,14 +136,14 @@ fn it_deletes_when_no_bond_left() { assert_eq!(lock[0].amount, 100); assert_eq!(lock.len(), 1); - assert_ok!(FrameStaking::unbond(Origin::signed(1), 50u64,)); + assert_ok!(FrameStaking::unbond(RuntimeOrigin::signed(1), 50u64,)); lock = Balances::locks(2); assert_eq!(lock[0].amount, 100); assert_eq!(lock.len(), 1); println!(":{:?}", FrameStaking::ledger(1)); - assert_ok!(Staking::withdraw_unbonded(Origin::signed(1), 0,)); + assert_ok!(Staking::withdraw_unbonded(RuntimeOrigin::signed(1), 0,)); lock = Balances::locks(2); assert_eq!(lock[0].amount, 50); @@ -149,9 +152,9 @@ fn it_deletes_when_no_bond_left() { assert_eq!(Staking::endpoint_register(1).unwrap(), vec![20]); assert_eq!(Staking::threshold_account(2).unwrap().0, 3); - assert_ok!(FrameStaking::unbond(Origin::signed(1), 50u64,)); + assert_ok!(FrameStaking::unbond(RuntimeOrigin::signed(1), 50u64,)); - assert_ok!(Staking::withdraw_unbonded(Origin::signed(1), 0,)); + assert_ok!(Staking::withdraw_unbonded(RuntimeOrigin::signed(1), 0,)); lock = Balances::locks(2); assert_eq!(lock.len(), 0); assert_eq!(Staking::endpoint_register(1), None); diff --git a/pallets/staking/src/weights.rs b/pallets/staking/src/weights.rs index 269263e52..28ad4b319 100644 --- a/pallets/staking/src/weights.rs +++ b/pallets/staking/src/weights.rs @@ -19,17 +19,17 @@ pub trait WeightInfo { pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { fn change_endpoint() -> Weight { - (34_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(34_000_000_u64) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } // Storage: Staking Ledger (r:1 w:0) // Storage: StakingExtension ThresholdAccounts (r:0 w:1) fn change_threshold_accounts() -> Weight { - (34_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(34_000_000_u64) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } // Storage: Staking Ledger (r:1 w:1) @@ -37,9 +37,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn withdraw_unbonded() -> Weight { - (41_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(4 as Weight)) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) + Weight::from_ref_time(41_000_000_u64) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } // Storage: Staking Ledger (r:1 w:0) @@ -56,26 +56,26 @@ impl WeightInfo for SubstrateWeight { // Storage: StakingExtension ThresholdAccounts (r:0 w:1) // Storage: StakingExtension EndpointRegister (r:0 w:1) fn validate() -> Weight { - (95_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(11 as Weight)) - .saturating_add(T::DbWeight::get().writes(7 as Weight)) + Weight::from_ref_time(95_000_000_u64) + .saturating_add(T::DbWeight::get().reads(11_u64)) + .saturating_add(T::DbWeight::get().writes(7_u64)) } } // For backwards compatibility and tests impl WeightInfo for () { fn change_endpoint() -> Weight { - (34_000_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(1 as Weight)) - .saturating_add(RocksDbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(34_000_000_u64) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } // Storage: Staking Ledger (r:1 w:0) // Storage: StakingExtension ThresholdAccounts (r:0 w:1) fn change_threshold_accounts() -> Weight { - (34_000_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(1 as Weight)) - .saturating_add(RocksDbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(34_000_000_u64) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } // Storage: Staking Ledger (r:1 w:1) @@ -83,9 +83,9 @@ impl WeightInfo for () { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn withdraw_unbonded() -> Weight { - (41_000_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(4 as Weight)) - .saturating_add(RocksDbWeight::get().writes(3 as Weight)) + Weight::from_ref_time(41_000_000_u64) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } // Storage: Staking Ledger (r:1 w:0) @@ -102,8 +102,8 @@ impl WeightInfo for () { // Storage: StakingExtension ThresholdAccounts (r:0 w:1) // Storage: StakingExtension EndpointRegister (r:0 w:1) fn validate() -> Weight { - (95_000_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(11 as Weight)) - .saturating_add(RocksDbWeight::get().writes(7 as Weight)) + Weight::from_ref_time(95_000_000_u64) + .saturating_add(RocksDbWeight::get().reads(11_u64)) + .saturating_add(RocksDbWeight::get().writes(7_u64)) } } diff --git a/pallets/transaction-pause/Cargo.toml b/pallets/transaction-pause/Cargo.toml index 052a96794..d5061ca42 100644 --- a/pallets/transaction-pause/Cargo.toml +++ b/pallets/transaction-pause/Cargo.toml @@ -6,16 +6,16 @@ edition="2021" [dependencies] codec ={ package="parity-scale-codec", version="3.0.0", default-features=false } scale-info ={ version="2.1", default-features=false, features=["derive"] } -sp-runtime ={ git="https://github.com/paritytech/substrate", branch="master", default-features=false } -frame-benchmarking={ git="https://github.com/paritytech/substrate", branch="master", optional=true, default-features=false } -frame-support ={ git="https://github.com/paritytech/substrate", branch="master", default-features=false } -frame-system ={ git="https://github.com/paritytech/substrate", branch="master", default-features=false } -sp-std ={ git="https://github.com/paritytech/substrate", branch="master", default-features=false } +sp-runtime ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } +frame-benchmarking={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", optional=true, default-features=false } +frame-support ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } +frame-system ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } +sp-std ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30", default-features=false } [dev-dependencies] -sp-core ={ git="https://github.com/paritytech/substrate", branch="master" } -sp-io ={ git="https://github.com/paritytech/substrate", branch="master" } -pallet-balances ={ git="https://github.com/paritytech/substrate", branch="master" } +sp-core ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } +sp-io ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } +pallet-balances ={ git="https://github.com/paritytech/substrate", branch="polkadot-v0.9.30" } smallvec ="1.4.1" pallet-constraints={ version="3.0.0-monthly-2021-10", default-features=false, path="../constraints" } diff --git a/pallets/transaction-pause/src/benchmarking.rs b/pallets/transaction-pause/src/benchmarking.rs index 402f22c4b..023952cbf 100644 --- a/pallets/transaction-pause/src/benchmarking.rs +++ b/pallets/transaction-pause/src/benchmarking.rs @@ -6,9 +6,9 @@ use super::*; #[allow(unused)] use crate::Pallet as TransactionPause; -fn assert_last_event(generic_event: ::Event) { +fn assert_last_event(generic_event: ::RuntimeEvent) { let events = frame_system::Pallet::::events(); - let system_event: ::Event = generic_event.into(); + let system_event: ::RuntimeEvent = generic_event.into(); // compare to the last event record let EventRecord { event, .. } = &events[events.len() - 1]; assert_eq!(event, &system_event); diff --git a/pallets/transaction-pause/src/lib.rs b/pallets/transaction-pause/src/lib.rs index e6dd49004..66e682be3 100644 --- a/pallets/transaction-pause/src/lib.rs +++ b/pallets/transaction-pause/src/lib.rs @@ -32,10 +32,10 @@ pub mod module { #[pallet::config] pub trait Config: frame_system::Config { - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; /// The origin which may set filter. - type UpdateOrigin: EnsureOrigin; + type UpdateOrigin: EnsureOrigin; /// Weight information for the extrinsics in this module. type WeightInfo: WeightInfo; @@ -127,10 +127,10 @@ pub mod module { } pub struct PausedTransactionFilter(sp_std::marker::PhantomData); -impl Contains for PausedTransactionFilter -where ::Call: GetCallMetadata +impl Contains for PausedTransactionFilter +where ::RuntimeCall: GetCallMetadata { - fn contains(call: &T::Call) -> bool { + fn contains(call: &T::RuntimeCall) -> bool { let CallMetadata { function_name, pallet_name } = call.get_call_metadata(); PausedTransactions::::contains_key((pallet_name.as_bytes(), function_name.as_bytes())) } diff --git a/pallets/transaction-pause/src/mock.rs b/pallets/transaction-pause/src/mock.rs index f42ef9a87..2940df250 100644 --- a/pallets/transaction-pause/src/mock.rs +++ b/pallets/transaction-pause/src/mock.rs @@ -46,9 +46,7 @@ impl frame_system::Config for Runtime { type BlockLength = (); type BlockNumber = u64; type BlockWeights = (); - type Call = Call; type DbWeight = (); - type Event = Event; type Hash = H256; type Hashing = ::sp_runtime::traits::BlakeTwo256; type Header = Header; @@ -58,8 +56,10 @@ impl frame_system::Config for Runtime { type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); - type Origin = Origin; type PalletInfo = PalletInfo; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type SS58Prefix = (); type SystemWeightInfo = (); type Version = (); @@ -69,11 +69,11 @@ impl pallet_balances::Config for Runtime { type AccountStore = System; type Balance = Balance; type DustRemoval = (); - type Event = Event; type ExistentialDeposit = ConstU128<10>; type MaxLocks = (); type MaxReserves = ConstU32<50>; type ReserveIdentifier = (); + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -83,9 +83,9 @@ parameter_types! { } impl pallet_constraints::Config for Runtime { - type Event = Event; type MaxAddressLength = MaxAddressLength; type MaxWhitelist = MaxWhitelist; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -94,7 +94,7 @@ ord_parameter_types! { } impl Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type UpdateOrigin = EnsureSignedBy; type WeightInfo = (); } diff --git a/pallets/transaction-pause/src/tests.rs b/pallets/transaction-pause/src/tests.rs index da7ef9c74..ebb9587b5 100644 --- a/pallets/transaction-pause/src/tests.rs +++ b/pallets/transaction-pause/src/tests.rs @@ -21,13 +21,13 @@ #![cfg(test)] use frame_support::{assert_noop, assert_ok}; -use mock::{Event, *}; +use mock::{RuntimeEvent, *}; use sp_runtime::traits::BadOrigin; use super::*; -const BALANCE_TRANSFER: &::Call = - &mock::Call::Balances(pallet_balances::Call::transfer { dest: ALICE, value: 10 }); +const BALANCE_TRANSFER: &::RuntimeCall = + &mock::RuntimeCall::Balances(pallet_balances::Call::transfer { dest: ALICE, value: 10 }); #[test] fn pause_transaction_work() { @@ -36,7 +36,7 @@ fn pause_transaction_work() { assert_noop!( TransactionPause::pause_transaction( - Origin::signed(5), + RuntimeOrigin::signed(5), b"Balances".to_vec(), b"transfer".to_vec() ), @@ -48,14 +48,16 @@ fn pause_transaction_work() { None ); assert_ok!(TransactionPause::pause_transaction( - Origin::signed(1), + RuntimeOrigin::signed(1), b"Balances".to_vec(), b"transfer".to_vec() )); - System::assert_last_event(Event::TransactionPause(crate::Event::TransactionPaused { - pallet_name_bytes: b"Balances".to_vec(), - function_name_bytes: b"transfer".to_vec(), - })); + System::assert_last_event(RuntimeEvent::TransactionPause( + crate::Event::TransactionPaused { + pallet_name_bytes: b"Balances".to_vec(), + function_name_bytes: b"transfer".to_vec(), + }, + )); assert_eq!( TransactionPause::paused_transactions((b"Balances".to_vec(), b"transfer".to_vec())), Some(()) @@ -63,7 +65,7 @@ fn pause_transaction_work() { assert_noop!( TransactionPause::pause_transaction( - Origin::signed(1), + RuntimeOrigin::signed(1), b"TransactionPause".to_vec(), b"pause_transaction".to_vec() ), @@ -71,14 +73,14 @@ fn pause_transaction_work() { ); assert_noop!( TransactionPause::pause_transaction( - Origin::signed(1), + RuntimeOrigin::signed(1), b"TransactionPause".to_vec(), b"some_other_call".to_vec() ), Error::::CannotPause ); assert_ok!(TransactionPause::pause_transaction( - Origin::signed(1), + RuntimeOrigin::signed(1), b"OtherPallet".to_vec(), b"pause_transaction".to_vec() )); @@ -91,7 +93,7 @@ fn unpause_transaction_work() { System::set_block_number(1); assert_ok!(TransactionPause::pause_transaction( - Origin::signed(1), + RuntimeOrigin::signed(1), b"Balances".to_vec(), b"transfer".to_vec() )); @@ -102,7 +104,7 @@ fn unpause_transaction_work() { assert_noop!( TransactionPause::unpause_transaction( - Origin::signed(5), + RuntimeOrigin::signed(5), b"Balances".to_vec(), b"transfer".to_vec() ), @@ -110,14 +112,16 @@ fn unpause_transaction_work() { ); assert_ok!(TransactionPause::unpause_transaction( - Origin::signed(1), + RuntimeOrigin::signed(1), b"Balances".to_vec(), b"transfer".to_vec() )); - System::assert_last_event(Event::TransactionPause(crate::Event::TransactionUnpaused { - pallet_name_bytes: b"Balances".to_vec(), - function_name_bytes: b"transfer".to_vec(), - })); + System::assert_last_event(RuntimeEvent::TransactionPause( + crate::Event::TransactionUnpaused { + pallet_name_bytes: b"Balances".to_vec(), + function_name_bytes: b"transfer".to_vec(), + }, + )); assert_eq!( TransactionPause::paused_transactions((b"Balances".to_vec(), b"transfer".to_vec())), None @@ -129,18 +133,18 @@ fn unpause_transaction_work() { fn paused_transaction_filter_work() { ExtBuilder::default().build().execute_with(|| { let whitelist_address_call = - &mock::Call::Constraints(pallet_constraints::Call::add_whitelist_address { + &mock::RuntimeCall::Constraints(pallet_constraints::Call::add_whitelist_address { whitelist_addresses: vec![b"1".to_vec()], }); assert!(!PausedTransactionFilter::::contains(BALANCE_TRANSFER)); assert!(!PausedTransactionFilter::::contains(whitelist_address_call)); assert_ok!(TransactionPause::pause_transaction( - Origin::signed(1), + RuntimeOrigin::signed(1), b"Balances".to_vec(), b"transfer".to_vec() )); assert_ok!(TransactionPause::pause_transaction( - Origin::signed(1), + RuntimeOrigin::signed(1), b"Constraints".to_vec(), b"add_whitelist_address".to_vec() )); @@ -148,12 +152,12 @@ fn paused_transaction_filter_work() { assert!(PausedTransactionFilter::::contains(BALANCE_TRANSFER)); assert!(PausedTransactionFilter::::contains(whitelist_address_call)); assert_ok!(TransactionPause::unpause_transaction( - Origin::signed(1), + RuntimeOrigin::signed(1), b"Balances".to_vec(), b"transfer".to_vec() )); assert_ok!(TransactionPause::unpause_transaction( - Origin::signed(1), + RuntimeOrigin::signed(1), b"Constraints".to_vec(), b"add_whitelist_address".to_vec() )); diff --git a/pallets/transaction-pause/src/weights.rs b/pallets/transaction-pause/src/weights.rs index d68a70ed5..0019abb07 100644 --- a/pallets/transaction-pause/src/weights.rs +++ b/pallets/transaction-pause/src/weights.rs @@ -17,33 +17,33 @@ pub trait WeightInfo { pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { fn pause_transaction() -> Weight { - (30_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) + Weight::from_ref_time(30_000_000_u64) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } // Storage: unknown [0x3a7472616e73616374696f6e5f6c6576656c3a] (r:1 w:1) // Storage: TransactionPause PausedTransactions (r:1 w:1) fn unpause_transaction() -> Weight { - (30_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) + Weight::from_ref_time(30_000_000_u64) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } } // For backwards compatibility and tests impl WeightInfo for () { fn pause_transaction() -> Weight { - (30_000_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(2 as Weight)) - .saturating_add(RocksDbWeight::get().writes(2 as Weight)) + Weight::from_ref_time(30_000_000_u64) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } // Storage: unknown [0x3a7472616e73616374696f6e5f6c6576656c3a] (r:1 w:1) // Storage: TransactionPause PausedTransactions (r:1 w:1) fn unpause_transaction() -> Weight { - (30_000_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(2 as Weight)) - .saturating_add(RocksDbWeight::get().writes(2 as Weight)) + Weight::from_ref_time(30_000_000_u64) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } } diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 108c0888b..5c318a827 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -24,79 +24,82 @@ hex-literal={ version="0.3.4", optional=true } log={ version="0.4.14", default-features=false } # primitives -sp-authority-discovery={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-consensus-babe ={ version="0.10.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-block-builder ={ git='https://github.com/paritytech/substrate.git', branch="master", default-features=false, version="4.0.0-dev" } -sp-inherents ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -node-primitives ={ version="2.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-offchain ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-core ={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-std ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-api ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-runtime ={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-keyring ={ version="6.0.0", optional=true, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-transaction-pool ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-version ={ version="5.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -sp-io ={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +sp-authority-discovery={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-consensus-babe ={ version="0.10.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-block-builder ={ git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30", default-features=false, version="4.0.0-dev" } +sp-inherents ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +node-primitives ={ version="2.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-offchain ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-core ={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-std ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-api ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-runtime ={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-staking ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-keyring ={ version="6.0.0", optional=true, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-session ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-transaction-pool ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-version ={ version="5.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-npos-elections ={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +sp-io ={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } # frame dependencies -frame-executive={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -frame-benchmarking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master", optional=true } -frame-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -frame-system={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -frame-system-benchmarking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master", optional=true } -frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -frame-system-rpc-runtime-api={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -frame-try-runtime={ version="0.10.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master", optional=true } -pallet-assets={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-authority-discovery={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-authorship={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-babe={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-bags-list={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-balances={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-bounties={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-collective={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-contracts={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-contracts-primitives={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-contracts-rpc-runtime-api={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-conviction-voting={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-democracy={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-election-provider-multi-phase={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-elections-phragmen={ version="5.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-grandpa={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-im-online={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-indices={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-identity={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-lottery={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-membership={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-multisig={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-offences={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-offences-benchmarking={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master", default-features=false, optional=true } -pallet-preimage={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-proxy={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-randomness-collective-flip={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-referenda={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-recovery={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +frame-executive={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-benchmarking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30", optional=true } +frame-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-system={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-system-benchmarking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30", optional=true } +frame-election-provider-support={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-system-rpc-runtime-api={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +frame-try-runtime={ version="0.10.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30", optional=true } +pallet-assets={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-authority-discovery={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-authorship={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-babe={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-bags-list={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-balances={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-bounties={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-collective={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-contracts={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-contracts-primitives={ version="6.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-conviction-voting={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-democracy={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-election-provider-multi-phase={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-election-provider-support-benchmarking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30", optional=true } +pallet-elections-phragmen={ version="5.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-grandpa={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-im-online={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-indices={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-identity={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-lottery={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-membership={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-multisig={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-offences={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-offences-benchmarking={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30", default-features=false, optional=true } +pallet-preimage={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-proxy={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-randomness-collective-flip={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-referenda={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-recovery={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } pallet-session={ version="4.0.0-dev", features=[ "historical", -], git='https://github.com/paritytech/substrate.git', branch="master", default-features=false } -pallet-session-benchmarking={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master", default-features=false, optional=true } -pallet-staking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-staking-reward-curve={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-scheduler={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-society={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-sudo={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-timestamp={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-tips={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-treasury={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-utility={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-transaction-payment={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-transaction-payment-rpc-runtime-api={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-transaction-storage={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } -pallet-vesting={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="master" } +], git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30", default-features=false } +pallet-session-benchmarking={ version="4.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30", default-features=false, optional=true } +pallet-staking={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-staking-reward-curve={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-scheduler={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-society={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-sudo={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-timestamp={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-tips={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-treasury={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-utility={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-transaction-payment={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-transaction-payment-rpc-runtime-api={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-transaction-storage={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-nomination-pools={ version="1.0.0", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-nomination-pools-benchmarking={ version="1.0.0", default-features=false, optional=true, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-nomination-pools-runtime-api={ version="1.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } +pallet-vesting={ version="4.0.0-dev", default-features=false, git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } pallet-propagation ={ version='3.0.0-monthly-2021-10', default-features=false, path='../pallets/propagation' } pallet-relayer ={ version='3.0.0-monthly-2021-10', default-features=false, path='../pallets/relayer' } @@ -107,7 +110,7 @@ pallet-transaction-pause={ version='3.0.0-monthly-2021-10', default-features=fal pallet-free-tx ={ version='3.0.0-monthly-2021-10', default-features=false, path='../pallets/free-tx' } substrate-common ={ path="../crypto/substrate-common", default-features=false } [build-dependencies] -substrate-wasm-builder={ version="5.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="master" } +substrate-wasm-builder={ version="5.0.0-dev", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } [features] default=["std"] @@ -129,7 +132,6 @@ std=[ "pallet-contracts/std", "pallet-constraints/std", "pallet-contracts-primitives/std", - "pallet-contracts-rpc-runtime-api/std", "pallet-conviction-voting/std", "pallet-democracy/std", "pallet-elections-phragmen/std", @@ -154,6 +156,9 @@ std=[ "pallet-proxy/std", "sp-core/std", "pallet-randomness-collective-flip/std", + "pallet-nomination-pools/std", + "pallet-nomination-pools-runtime-api/std", + "pallet-nomination-pools-benchmarking?/std", "sp-std/std", "pallet-session/std", "sp-api/std", @@ -193,6 +198,7 @@ runtime-benchmarks=[ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "pallet-election-provider-multi-phase/runtime-benchmarks", + "pallet-election-provider-support-benchmarking/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "pallet-assets/runtime-benchmarks", "pallet-babe/runtime-benchmarks", @@ -201,6 +207,7 @@ runtime-benchmarks=[ "pallet-bounties/runtime-benchmarks", "pallet-collective/runtime-benchmarks", "pallet-constraints/runtime-benchmarks", + "pallet-nomination-pools-benchmarking/runtime-benchmarks", "pallet-conviction-voting/runtime-benchmarks", "pallet-democracy/runtime-benchmarks", "pallet-elections-phragmen/runtime-benchmarks", @@ -227,9 +234,9 @@ runtime-benchmarks=[ "pallet-treasury/runtime-benchmarks", "pallet-utility/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", - "pallet-offences-benchmarking", - "pallet-session-benchmarking", - "frame-system-benchmarking", + "pallet-offences-benchmarking/runtime-benchmarks", + "pallet-session-benchmarking/runtime-benchmarks", + "frame-system-benchmarking/runtime-benchmarks", "hex-literal", ] try-runtime=[ @@ -240,6 +247,7 @@ try-runtime=[ "pallet-authority-discovery/try-runtime", "pallet-authorship/try-runtime", "pallet-babe/try-runtime", + "pallet-nomination-pools/try-runtime", "pallet-balances/try-runtime", "pallet-bounties/try-runtime", "pallet-collective/try-runtime", diff --git a/runtime/src/impls.rs b/runtime/src/impls.rs index afad6ee4b..c3ddc314f 100644 --- a/runtime/src/impls.rs +++ b/runtime/src/impls.rs @@ -18,6 +18,7 @@ //! Some configurable implementations as associated type for the substrate runtime. use frame_support::traits::{Currency, OnUnbalanced}; +use sp_std::prelude::*; use crate::{Authorship, Balances, NegativeImbalance}; @@ -32,7 +33,10 @@ impl OnUnbalanced for Author { #[cfg(test)] mod multiplier_tests { - use frame_support::weights::{DispatchClass, Weight, WeightToFeePolynomial}; + use frame_support::{ + dispatch::DispatchClass, + weights::{Weight, WeightToFee, WeightToFeePolynomial}, + }; use pallet_transaction_payment::{Multiplier, TargetedFeeAdjustment}; use sp_runtime::{ assert_eq_error_rate, @@ -67,7 +71,6 @@ mod multiplier_tests { >::convert(fm) } - // update based on reference impl. fn truth_value_update(block_weight: Weight, previous: Multiplier) -> Multiplier { let accuracy = Multiplier::accuracy() as f64; let previous_float = previous.into_inner() as f64 / accuracy; @@ -75,13 +78,13 @@ mod multiplier_tests { let previous_float = previous_float.max(min_multiplier().into_inner() as f64 / accuracy); // maximum tx weight - let m = max_normal() as f64; + let m = max_normal().ref_time() as f64; // block weight always truncated to max weight - let block_weight = (block_weight as f64).min(m); + let block_weight = (block_weight.ref_time() as f64).min(m); let v: f64 = AdjustmentVariable::get().to_float(); // Ideal saturation in terms of weight - let ss = target() as f64; + let ss = target().ref_time() as f64; // Current saturation in terms of weight let s = block_weight; @@ -105,9 +108,9 @@ mod multiplier_tests { fn truth_value_update_poc_works() { let fm = Multiplier::saturating_from_rational(1, 2); let test_set = vec![ - (0, fm), - (100, fm), - (1000, fm), + (Weight::zero(), fm), + (Weight::from_ref_time(100), fm), + (Weight::from_ref_time(1000), fm), (target(), fm), (max_normal() / 2, fm), (max_normal(), fm), @@ -135,9 +138,10 @@ mod multiplier_tests { } #[test] + fn multiplier_cannot_go_below_limit() { // will not go any further below even if block is empty. - run_with_system_weight(0, || { + run_with_system_weight(Weight::zero(), || { let next = runtime_multiplier_update(min_multiplier()); assert_eq!(next, min_multiplier()); }) @@ -155,7 +159,7 @@ mod multiplier_tests { // 1 < 0.00001 * k * 0.1875 // 10^9 / 1875 < k // k > 533_333 ~ 18,5 days. - run_with_system_weight(0, || { + run_with_system_weight(Weight::zero(), || { // start from 1, the default. let mut fm = Multiplier::one(); let mut iterations: u64 = 0; @@ -191,7 +195,8 @@ mod multiplier_tests { // `cargo test congested_chain_simulation -- --nocapture` to get some insight. // almost full. The entire quota of normal transactions is taken. - let block_weight = BlockWeights::get().get(DispatchClass::Normal).max_total.unwrap() - 100; + let block_weight = BlockWeights::get().get(DispatchClass::Normal).max_total.unwrap() + - Weight::from_ref_time(100); // Default substrate weight. let tx_weight = frame_support::weights::constants::ExtrinsicBaseWeight::get(); @@ -211,7 +216,9 @@ mod multiplier_tests { fm = next; iterations += 1; let fee = - ::WeightToFee::calc(&tx_weight); + ::WeightToFee::weight_to_fee( + &tx_weight, + ); let adjusted_fee = fm.saturating_mul_acc_int(fee); println!( "iteration {}, new fm = {:?}. Fee at this point is: {} units / {} millicents, \ @@ -226,7 +233,6 @@ mod multiplier_tests { } }); } - #[test] fn stateless_weight_mul() { let fm = Multiplier::saturating_from_rational(1, 2); @@ -313,27 +319,27 @@ mod multiplier_tests { #[test] fn weight_to_fee_should_not_overflow_on_large_weights() { - let kb = 1024 as Weight; - let mb = kb * kb; + let kb = Weight::from_ref_time(1024); + let mb = 1024u64 * kb; let max_fm = Multiplier::saturating_from_integer(i128::MAX); // check that for all values it can compute, correctly. vec![ - 0, - 1, - 10, - 1000, + Weight::zero(), + Weight::from_ref_time(1), + Weight::from_ref_time(10), + Weight::from_ref_time(1000), kb, - 10 * kb, - 100 * kb, + 10u64 * kb, + 100u64 * kb, mb, - 10 * mb, - 2147483647, - 4294967295, + 10u64 * mb, + Weight::from_ref_time(2147483647), + Weight::from_ref_time(4294967295), BlockWeights::get().max_block / 2, BlockWeights::get().max_block, - Weight::max_value() / 2, - Weight::max_value(), + Weight::MAX / 2, + Weight::MAX, ] .into_iter() .for_each(|i| { @@ -346,7 +352,7 @@ mod multiplier_tests { // Some values that are all above the target and will cause an increase. let t = target(); - vec![t + 100, t * 2, t * 4].into_iter().for_each(|i| { + vec![t + Weight::from_ref_time(100), t * 2, t * 4].into_iter().for_each(|i| { run_with_system_weight(i, || { let fm = runtime_multiplier_update(max_fm); // won't grow. The convert saturates everything. diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index c6af0f026..756709ad7 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -24,16 +24,21 @@ #![allow(unused_imports)] use codec::{Decode, Encode, MaxEncodedLen}; -use frame_election_provider_support::{onchain, ExtendedBalance, SequentialPhragmen, VoteWeight}; +use frame_election_provider_support::{ + onchain, BalancingConfig, ElectionDataProvider, ExtendedBalance, SequentialPhragmen, VoteWeight, +}; use frame_support::{ - construct_runtime, parameter_types, + construct_runtime, + dispatch::DispatchClass, + pallet_prelude::Get, + parameter_types, traits::{ - ConstU16, ConstU32, Contains, Currency, EnsureOneOf, EqualPrivilegeOnly, Imbalance, + ConstU16, ConstU32, Contains, Currency, EitherOfDiverse, EqualPrivilegeOnly, Imbalance, InstanceFilter, KeyOwnerProofSystem, LockIdentifier, OnUnbalanced, U128CurrencyToVote, }, weights::{ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, - DispatchClass, IdentityFee, Weight, + IdentityFee, Weight, }, PalletId, RuntimeDebug, }; @@ -47,6 +52,7 @@ pub use node_primitives::{AccountId, Signature}; use node_primitives::{AccountIndex, Balance, BlockNumber, Hash, Index, Moment}; #[cfg(any(feature = "std", test))] pub use pallet_balances::Call as BalancesCall; +use pallet_election_provider_multi_phase::SolutionAccuracyOf; use pallet_grandpa::{ fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList, }; @@ -71,7 +77,7 @@ use sp_runtime::{ SaturatedConversion, StaticLookup, }, transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, FixedPointNumber, Perbill, Percent, Permill, Perquintill, + ApplyExtrinsicResult, FixedPointNumber, FixedU128, Perbill, Percent, Permill, Perquintill, }; use sp_std::prelude::*; #[cfg(any(feature = "std", test))] @@ -159,7 +165,9 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); /// by Operational extrinsics. const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 2 seconds of compute with a 6 second average block time. -const MAXIMUM_BLOCK_WEIGHT: Weight = 2 * WEIGHT_PER_SECOND; +const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.saturating_mul(2_u64); + +pub const EXISTENTIAL_DEPOSIT: Balance = DOLLARS; parameter_types! { pub const BlockHashCount: BlockNumber = 2400; @@ -190,9 +198,9 @@ parameter_types! { const_assert!(NORMAL_DISPATCH_RATIO.deconstruct() >= AVERAGE_ON_INITIALIZE_RATIO.deconstruct()); pub struct BaseCallFilter; -impl Contains for BaseCallFilter { - fn contains(call: &Call) -> bool { - let is_core_call = matches!(call, Call::System(_) | Call::Timestamp(_)); +impl Contains for BaseCallFilter { + fn contains(call: &RuntimeCall) -> bool { + let is_core_call = matches!(call, RuntimeCall::System(_) | RuntimeCall::Timestamp(_)); if is_core_call { // always allow core call return true; @@ -202,8 +210,8 @@ impl Contains for BaseCallFilter { pallet_transaction_pause::PausedTransactionFilter::::contains(call); let system_reject = matches!( call, - Call::Staking(pallet_staking::Call::withdraw_unbonded { .. }) - | Call::Staking(pallet_staking::Call::validate { .. }) + RuntimeCall::Staking(pallet_staking::Call::withdraw_unbonded { .. }) + | RuntimeCall::Staking(pallet_staking::Call::validate { .. }) ); if is_paused || system_reject { // no paused call @@ -221,9 +229,7 @@ impl frame_system::Config for Runtime { type BlockLength = RuntimeBlockLength; type BlockNumber = BlockNumber; type BlockWeights = RuntimeBlockWeights; - type Call = Call; type DbWeight = RocksDbWeight; - type Event = Event; type Hash = Hash; type Hashing = BlakeTwo256; type Header = generic::Header; @@ -233,8 +239,10 @@ impl frame_system::Config for Runtime { type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); - type Origin = Origin; type PalletInfo = PalletInfo; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type SS58Prefix = SS58Prefix; type SystemWeightInfo = frame_system::weights::SubstrateWeight; type Version = Version; @@ -243,9 +251,9 @@ impl frame_system::Config for Runtime { impl pallet_randomness_collective_flip::Config for Runtime {} impl pallet_utility::Config for Runtime { - type Call = Call; - type Event = Event; type PalletsOrigin = OriginCaller; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; type WeightInfo = pallet_utility::weights::SubstrateWeight; } @@ -258,12 +266,12 @@ parameter_types! { } impl pallet_multisig::Config for Runtime { - type Call = Call; type Currency = Balances; type DepositBase = DepositBase; type DepositFactor = DepositFactor; - type Event = Event; type MaxSignatories = MaxSignatories; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; type WeightInfo = pallet_multisig::weights::SubstrateWeight; } @@ -301,26 +309,26 @@ pub enum ProxyType { impl Default for ProxyType { fn default() -> Self { Self::Any } } -impl InstanceFilter for ProxyType { - fn filter(&self, c: &Call) -> bool { +impl InstanceFilter for ProxyType { + fn filter(&self, c: &RuntimeCall) -> bool { match self { ProxyType::Any => true, ProxyType::NonTransfer => !matches!( c, - Call::Balances(..) - | Call::Vesting(pallet_vesting::Call::vested_transfer { .. }) - | Call::Indices(pallet_indices::Call::transfer { .. }) + RuntimeCall::Balances(..) + | RuntimeCall::Vesting(pallet_vesting::Call::vested_transfer { .. }) + | RuntimeCall::Indices(pallet_indices::Call::transfer { .. }) ), ProxyType::Governance => matches!( c, - Call::Democracy(..) - | Call::Council(..) - | Call::Society(..) - | Call::TechnicalCommittee(..) - | Call::Elections(..) - | Call::Treasury(..) + RuntimeCall::Democracy(..) + | RuntimeCall::Council(..) + | RuntimeCall::Society(..) + | RuntimeCall::TechnicalCommittee(..) + | RuntimeCall::Elections(..) + | RuntimeCall::Treasury(..) ), - ProxyType::Staking => matches!(c, Call::Staking(..)), + ProxyType::Staking => matches!(c, RuntimeCall::Staking(..)), } } @@ -338,15 +346,15 @@ impl InstanceFilter for ProxyType { impl pallet_proxy::Config for Runtime { type AnnouncementDepositBase = AnnouncementDepositBase; type AnnouncementDepositFactor = AnnouncementDepositFactor; - type Call = Call; type CallHasher = BlakeTwo256; type Currency = Balances; - type Event = Event; type MaxPending = MaxPending; type MaxProxies = MaxProxies; type ProxyDepositBase = ProxyDepositBase; type ProxyDepositFactor = ProxyDepositFactor; type ProxyType = ProxyType; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; type WeightInfo = pallet_proxy::weights::SubstrateWeight; } @@ -387,12 +395,12 @@ impl pallet_indices::Config for Runtime { type AccountIndex = AccountIndex; type Currency = Balances; type Deposit = IndexDeposit; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = pallet_indices::weights::SubstrateWeight; } parameter_types! { - pub const ExistentialDeposit: Balance = DOLLARS; + pub const ExistentialDeposit: Balance = EXISTENTIAL_DEPOSIT; // For weight estimation, we assume that the most locks on an individual account will be 50. // This number may need to be adjusted in the future if this assumption no longer holds true. pub const MaxLocks: u32 = 50; @@ -403,11 +411,11 @@ impl pallet_balances::Config for Runtime { type AccountStore = frame_system::Pallet; type Balance = Balance; type DustRemoval = (); - type Event = Event; type ExistentialDeposit = ExistentialDeposit; type MaxLocks = MaxLocks; type MaxReserves = MaxReserves; type ReserveIdentifier = [u8; 8]; + type RuntimeEvent = RuntimeEvent; type WeightInfo = pallet_balances::weights::SubstrateWeight; } @@ -422,9 +430,10 @@ parameter_types! { impl pallet_transaction_payment::Config for Runtime { type FeeMultiplierUpdate = TargetedFeeAdjustment; + type LengthToFee = IdentityFee; type OnChargeTransaction = CurrencyAdapter; type OperationalFeeMultiplier = OperationalFeeMultiplier; - type TransactionByteFee = TransactionByteFee; + type RuntimeEvent = RuntimeEvent; type WeightToFee = IdentityFee; } @@ -460,9 +469,9 @@ impl_opaque_keys! { } impl pallet_session::Config for Runtime { - type Event = Event; type Keys = SessionKeys; type NextSessionRotation = Babe; + type RuntimeEvent = RuntimeEvent; type SessionHandler = ::KeyTypeIdProviders; type SessionManager = pallet_session::historical::NoteHistoricalRoot; type ShouldEndSession = Babe; @@ -495,23 +504,44 @@ parameter_types! { pub const MaxNominatorRewardedPerValidator: u32 = 256; pub const OffendingValidatorsThreshold: Perbill = Perbill::from_percent(17); pub OffchainRepeat: BlockNumber = 5; + pub HistoryDepth: u32 = 84; } pub struct OnChainSeqPhragmen; -impl onchain::ExecutionConfig for OnChainSeqPhragmen { +impl onchain::Config for OnChainSeqPhragmen { type DataProvider = ::DataProvider; type Solver = SequentialPhragmen< AccountId, pallet_election_provider_multi_phase::SolutionAccuracyOf, >; type System = Runtime; + type WeightInfo = frame_election_provider_support::weights::SubstrateWeight; } -impl onchain::BoundedExecutionConfig for OnChainSeqPhragmen { +impl onchain::BoundedConfig for OnChainSeqPhragmen { type TargetsBound = ConstU32<2_000>; type VotersBound = ConstU32<20_000>; } +impl pallet_election_provider_multi_phase::MinerConfig for Runtime { + type AccountId = AccountId; + type MaxLength = MinerMaxLength; + type MaxVotesPerVoter = + <::DataProvider as ElectionDataProvider>::MaxVotesPerVoter; + type MaxWeight = MinerMaxWeight; + type Solution = NposSolution16; + + // The unsigned submissions have to respect the weight of the submit_unsigned call, thus their + // weight estimate function is wired to this call's weight. + fn solution_weight(v: u32, t: u32, a: u32, d: u32) -> Weight { + < + ::WeightInfo + as + pallet_election_provider_multi_phase::WeightInfo + >::submit_unsigned(v, t, a, d) + } +} + pub struct StakingBenchmarkingConfig; impl pallet_staking::BenchmarkingConfig for StakingBenchmarkingConfig { type MaxNominators = ConstU32<1000>; @@ -522,29 +552,33 @@ impl pallet_staking::Config for Runtime { type BenchmarkingConfig = StakingBenchmarkingConfig; type BondingDuration = BondingDuration; type Currency = Balances; + type CurrencyBalance = Balance; type CurrencyToVote = U128CurrencyToVote; type ElectionProvider = ElectionProviderMultiPhase; type EraPayout = pallet_staking::ConvertCurve; - type Event = Event; type GenesisElectionProvider = onchain::UnboundedExecution; + type HistoryDepth = HistoryDepth; type MaxNominations = MaxNominations; type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator; type MaxUnlockingChunks = ConstU32<32>; type NextNewSession = Session; type OffendingValidatorsThreshold = OffendingValidatorsThreshold; + type OnStakerSlash = (); // send the slashed funds to the treasury. type Reward = (); type RewardRemainder = Treasury; + type RuntimeEvent = RuntimeEvent; type SessionInterface = Self; // rewards are minted from the void type SessionsPerEra = SessionsPerEra; type Slash = Treasury; /// A super-majority of the council can cancel the slash. - type SlashCancelOrigin = EnsureOneOf< + type SlashCancelOrigin = EitherOfDiverse< EnsureRoot, pallet_collective::EnsureProportionAtLeast, >; type SlashDeferDuration = SlashDeferDuration; + type TargetList = pallet_staking::UseValidatorsMap; type UnixTime = Timestamp; type VoterList = BagsList; type WeightInfo = pallet_staking::weights::SubstrateWeight; @@ -555,37 +589,34 @@ parameter_types! { } impl pallet_staking_extension::Config for Runtime { type Currency = Balances; - type Event = Event; type MaxEndpointLength = MaxEndpointLength; + type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::pallet_staking_extension::WeightInfo; } parameter_types! { - // phase durations. 1/4 of the last session for each. - pub const SignedPhase: u32 = EPOCH_DURATION_IN_BLOCKS / 4; - pub const UnsignedPhase: u32 = EPOCH_DURATION_IN_BLOCKS / 4; - - // signed config - pub const SignedMaxSubmissions: u32 = 10; - pub const SignedRewardBase: Balance = DOLLARS; - pub const SignedDepositBase: Balance = DOLLARS; - pub const SignedDepositByte: Balance = CENTS; - - pub SolutionImprovementThreshold: Perbill = Perbill::from_rational(1u32, 10_000); - - // miner configs - pub const MultiPhaseUnsignedPriority: TransactionPriority = StakingUnsignedPriority::get() - 1u64; - pub MinerMaxWeight: Weight = RuntimeBlockWeights::get() - .get(DispatchClass::Normal) - .max_extrinsic.expect("Normal extrinsics have a weight limit configured; qed") - .saturating_sub(BlockExecutionWeight::get()); - // Solution can occupy 90% of normal block size - pub MinerMaxLength: u32 = Perbill::from_rational(9u32, 10) * - *RuntimeBlockLength::get() - .max - .get(DispatchClass::Normal); - - pub const VoterSnapshotPerBlock: u32 = 10_000; + // phase durations. 1/4 of the last session for each. + pub const SignedPhase: u32 = EPOCH_DURATION_IN_BLOCKS / 4; + pub const UnsignedPhase: u32 = EPOCH_DURATION_IN_BLOCKS / 4; + + // signed config + pub const SignedRewardBase: Balance = DOLLARS; + pub const SignedDepositBase: Balance = DOLLARS; + pub const SignedDepositByte: Balance = CENTS; + + pub BetterUnsignedThreshold: Perbill = Perbill::from_rational(1u32, 10_000); + + // miner configs + pub const MultiPhaseUnsignedPriority: TransactionPriority = StakingUnsignedPriority::get() - 1u64; + pub MinerMaxWeight: Weight = RuntimeBlockWeights::get() + .get(DispatchClass::Normal) + .max_extrinsic.expect("Normal extrinsics have a weight limit configured; qed") + .saturating_sub(BlockExecutionWeight::get()); + // Solution can occupy 90% of normal block size + pub MinerMaxLength: u32 = Perbill::from_rational(9u32, 10) * + *RuntimeBlockLength::get() + .max + .get(DispatchClass::Normal); } frame_election_provider_support::generate_solution_type!( @@ -621,12 +652,10 @@ pub const MINER_MAX_ITERATIONS: u32 = 10; /// A source of random balance for NposSolver, which is meant to be run by the OCW election miner. pub struct OffchainRandomBalancing; -impl frame_support::pallet_prelude::Get> - for OffchainRandomBalancing -{ - fn get() -> Option<(usize, sp_npos_elections::ExtendedBalance)> { +impl Get> for OffchainRandomBalancing { + fn get() -> Option { use sp_runtime::traits::TrailingZeroInput; - let iters = match MINER_MAX_ITERATIONS { + let iterations = match MINER_MAX_ITERATIONS { 0 => 0, max => { let seed = sp_io::offchain::random_seed(); @@ -637,43 +666,40 @@ impl frame_support::pallet_prelude::Get; type ForceOrigin = EnsureRootOrHalfCouncil; type GovernanceFallback = onchain::BoundedExecution; type MaxElectableTargets = ConstU16<{ u16::MAX }>; type MaxElectingVoters = MaxElectingVoters; - type MinerMaxLength = MinerMaxLength; - type MinerMaxWeight = MinerMaxWeight; + type MinerConfig = Self; type MinerTxPriority = MultiPhaseUnsignedPriority; type OffchainRepeat = OffchainRepeat; // burn slashes type RewardHandler = (); + type RuntimeEvent = RuntimeEvent; type SignedDepositBase = SignedDepositBase; type SignedDepositByte = SignedDepositByte; type SignedDepositWeight = (); - type SignedMaxSubmissions = SignedMaxSubmissions; + type SignedMaxRefunds = ConstU32<3>; + type SignedMaxSubmissions = ConstU32<10>; type SignedMaxWeight = MinerMaxWeight; type SignedPhase = SignedPhase; type SignedRewardBase = SignedRewardBase; type SlashHandler = (); - type Solution = NposSolution16; - type SolutionImprovementThreshold = SolutionImprovementThreshold; - type Solver = frame_election_provider_support::SequentialPhragmen< - AccountId, - pallet_election_provider_multi_phase::SolutionAccuracyOf, - OffchainRandomBalancing, - >; + type Solver = SequentialPhragmen, OffchainRandomBalancing>; type UnsignedPhase = UnsignedPhase; type WeightInfo = pallet_election_provider_multi_phase::weights::SubstrateWeight; } @@ -694,7 +720,7 @@ impl pallet_democracy::Config for Runtime { type BlacklistOrigin = EnsureRoot; // To cancel a proposal before it has been passed, the technical committee must be unanimous or // Root must agree. - type CancelProposalOrigin = EnsureOneOf< + type CancelProposalOrigin = EitherOfDiverse< EnsureRoot, pallet_collective::EnsureProportionAtLeast, >; @@ -704,7 +730,6 @@ impl pallet_democracy::Config for Runtime { type CooloffPeriod = CooloffPeriod; type Currency = Balances; type EnactmentPeriod = EnactmentPeriod; - type Event = Event; /// A unanimous council can have the next scheduled referendum be a straight default-carries /// (NTB) vote. type ExternalDefaultOrigin = @@ -731,7 +756,8 @@ impl pallet_democracy::Config for Runtime { type OperationalPreimageOrigin = pallet_collective::EnsureMember; type PalletsOrigin = OriginCaller; type PreimageByteDeposit = PreimageByteDeposit; - type Proposal = Call; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; type Scheduler = Scheduler; type Slash = Treasury; // Any single technical committee member may veto a coming council proposal, however they can @@ -751,12 +777,12 @@ parameter_types! { type CouncilCollective = pallet_collective::Instance1; impl pallet_collective::Config for Runtime { type DefaultVote = pallet_collective::PrimeDefaultVote; - type Event = Event; type MaxMembers = CouncilMaxMembers; type MaxProposals = CouncilMaxProposals; type MotionDuration = CouncilMotionDuration; - type Origin = Origin; - type Proposal = Call; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type WeightInfo = pallet_collective::weights::SubstrateWeight; } @@ -770,6 +796,8 @@ parameter_types! { pub const DesiredMembers: u32 = 13; pub const DesiredRunnersUp: u32 = 7; pub const ElectionsPhragmenPalletId: LockIdentifier = *b"phrelect"; + pub const MaxCandidates: u32 = 1000; + pub const MaxVoters: u32 = 10 * 1000; } // Make sure that there are no more than `MaxMembers` members elected via elections-phragmen. @@ -782,13 +810,15 @@ impl pallet_elections_phragmen::Config for Runtime { type CurrencyToVote = U128CurrencyToVote; type DesiredMembers = DesiredMembers; type DesiredRunnersUp = DesiredRunnersUp; - type Event = Event; // NOTE: this implies that council's genesis members cannot be set directly and must come from // this module. type InitializeMembers = Council; type KickedMember = (); type LoserCandidate = (); + type MaxCandidates = MaxCandidates; + type MaxVoters = MaxVoters; type PalletId = ElectionsPhragmenPalletId; + type RuntimeEvent = RuntimeEvent; type TermDuration = TermDuration; type VotingBondBase = VotingBondBase; type VotingBondFactor = VotingBondFactor; @@ -804,28 +834,28 @@ parameter_types! { type TechnicalCollective = pallet_collective::Instance2; impl pallet_collective::Config for Runtime { type DefaultVote = pallet_collective::PrimeDefaultVote; - type Event = Event; type MaxMembers = TechnicalMaxMembers; type MaxProposals = TechnicalMaxProposals; type MotionDuration = TechnicalMotionDuration; - type Origin = Origin; - type Proposal = Call; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type WeightInfo = pallet_collective::weights::SubstrateWeight; } -type EnsureRootOrHalfCouncil = EnsureOneOf< +type EnsureRootOrHalfCouncil = EitherOfDiverse< EnsureRoot, pallet_collective::EnsureProportionMoreThan, >; impl pallet_membership::Config for Runtime { type AddOrigin = EnsureRootOrHalfCouncil; - type Event = Event; type MaxMembers = TechnicalMaxMembers; type MembershipChanged = TechnicalCommittee; type MembershipInitialized = TechnicalCommittee; type PrimeOrigin = EnsureRootOrHalfCouncil; type RemoveOrigin = EnsureRootOrHalfCouncil; type ResetOrigin = EnsureRootOrHalfCouncil; + type RuntimeEvent = RuntimeEvent; type SwapOrigin = EnsureRootOrHalfCouncil; type WeightInfo = pallet_membership::weights::SubstrateWeight; } @@ -853,25 +883,26 @@ parameter_types! { } impl pallet_treasury::Config for Runtime { - type ApproveOrigin = EnsureOneOf< + type ApproveOrigin = EitherOfDiverse< EnsureRoot, pallet_collective::EnsureProportionAtLeast, >; type Burn = Burn; type BurnDestination = (); type Currency = Balances; - type Event = Event; type MaxApprovals = MaxApprovals; type OnSlash = (); type PalletId = TreasuryPalletId; type ProposalBond = ProposalBond; type ProposalBondMaximum = (); type ProposalBondMinimum = ProposalBondMinimum; - type RejectOrigin = EnsureOneOf< + type RejectOrigin = EitherOfDiverse< EnsureRoot, pallet_collective::EnsureProportionMoreThan, >; + type RuntimeEvent = RuntimeEvent; type SpendFunds = Bounties; + type SpendOrigin = frame_support::traits::NeverEnsureOrigin; type SpendPeriod = SpendPeriod; type WeightInfo = pallet_treasury::weights::SubstrateWeight; } @@ -886,15 +917,15 @@ impl pallet_bounties::Config for Runtime { type CuratorDepositMin = CuratorDepositMin; type CuratorDepositMultiplier = CuratorDepositMultiplier; type DataDepositPerByte = DataDepositPerByte; - type Event = Event; type MaximumReasonLength = MaximumReasonLength; + type RuntimeEvent = RuntimeEvent; type WeightInfo = pallet_bounties::weights::SubstrateWeight; } impl pallet_tips::Config for Runtime { type DataDepositPerByte = DataDepositPerByte; - type Event = Event; type MaximumReasonLength = MaximumReasonLength; + type RuntimeEvent = RuntimeEvent; type TipCountdown = TipCountdown; type TipFindersFee = TipFindersFee; type TipReportDepositBase = TipReportDepositBase; @@ -910,15 +941,15 @@ parameter_types! { } impl pallet_scheduler::Config for Runtime { - type Call = Call; - type Event = Event; type MaxScheduledPerBlock = ConstU32<50>; type MaximumWeight = MaximumSchedulerWeight; type NoPreimagePostponement = NoPreimagePostponement; - type Origin = Origin; type OriginPrivilegeCmp = EqualPrivilegeOnly; type PalletsOrigin = OriginCaller; type PreimageProvider = Preimage; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type ScheduleOrigin = EnsureRoot; type WeightInfo = pallet_scheduler::weights::SubstrateWeight; } @@ -934,15 +965,15 @@ impl pallet_preimage::Config for Runtime { type BaseDeposit = PreimageBaseDeposit; type ByteDeposit = PreimageByteDeposit; type Currency = Balances; - type Event = Event; type ManagerOrigin = EnsureRoot; type MaxSize = PreimageMaxSize; + type RuntimeEvent = RuntimeEvent; type WeightInfo = pallet_preimage::weights::SubstrateWeight; } impl pallet_sudo::Config for Runtime { - type Call = Call; - type Event = Event; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; } parameter_types! { @@ -956,14 +987,14 @@ parameter_types! { } impl frame_system::offchain::CreateSignedTransaction for Runtime -where Call: From +where RuntimeCall: From { fn create_transaction>( - call: Call, + call: RuntimeCall, public: ::Signer, account: AccountId, nonce: Index, - ) -> Option<(Call, ::SignaturePayload)> { + ) -> Option<(RuntimeCall, ::SignaturePayload)> { let tip = 0; // take the biggest period possible. let period = @@ -1002,29 +1033,29 @@ impl frame_system::offchain::SigningTypes for Runtime { } impl frame_system::offchain::SendTransactionTypes for Runtime -where Call: From +where RuntimeCall: From { type Extrinsic = UncheckedExtrinsic; - type OverarchingCall = Call; + type OverarchingCall = RuntimeCall; } impl pallet_im_online::Config for Runtime { type AuthorityId = ImOnlineId; - type Event = Event; type MaxKeys = MaxKeys; type MaxPeerDataEncodingSize = MaxPeerDataEncodingSize; type MaxPeerInHeartbeats = MaxPeerInHeartbeats; type NextSessionRotation = Babe; type ReportUnresponsiveness = Offences; + type RuntimeEvent = RuntimeEvent; type UnsignedPriority = ImOnlineUnsignedPriority; type ValidatorSet = Historical; type WeightInfo = pallet_im_online::weights::SubstrateWeight; } impl pallet_offences::Config for Runtime { - type Event = Event; type IdentificationTuple = pallet_session::historical::IdentificationTuple; type OnOffenceHandler = Staking; + type RuntimeEvent = RuntimeEvent; } impl pallet_authority_discovery::Config for Runtime { @@ -1032,8 +1063,6 @@ impl pallet_authority_discovery::Config for Runtime { } impl pallet_grandpa::Config for Runtime { - type Call = Call; - type Event = Event; type HandleEquivocation = pallet_grandpa::EquivocationHandler< Self::KeyOwnerIdentification, Offences, @@ -1047,6 +1076,7 @@ impl pallet_grandpa::Config for Runtime { >::Proof; type KeyOwnerProofSystem = Historical; type MaxAuthorities = MaxAuthorities; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -1062,13 +1092,13 @@ parameter_types! { impl pallet_identity::Config for Runtime { type BasicDeposit = BasicDeposit; type Currency = Balances; - type Event = Event; type FieldDeposit = FieldDeposit; type ForceOrigin = EnsureRootOrHalfCouncil; type MaxAdditionalFields = MaxAdditionalFields; type MaxRegistrars = MaxRegistrars; type MaxSubAccounts = MaxSubAccounts; type RegistrarOrigin = EnsureRootOrHalfCouncil; + type RuntimeEvent = RuntimeEvent; type Slashed = Treasury; type SubAccountDeposit = SubAccountDeposit; type WeightInfo = pallet_identity::weights::SubstrateWeight; @@ -1082,13 +1112,14 @@ parameter_types! { } impl pallet_recovery::Config for Runtime { - type Call = Call; type ConfigDepositBase = ConfigDepositBase; type Currency = Balances; - type Event = Event; type FriendDepositFactor = FriendDepositFactor; type MaxFriends = MaxFriends; type RecoveryDeposit = RecoveryDeposit; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type WeightInfo = pallet_recovery::weights::SubstrateWeight; } parameter_types! { @@ -1107,7 +1138,6 @@ impl pallet_society::Config for Runtime { type CandidateDeposit = CandidateDeposit; type ChallengePeriod = ChallengePeriod; type Currency = Balances; - type Event = Event; type FounderSetOrigin = pallet_collective::EnsureProportionMoreThan; type MaxCandidateIntake = MaxCandidateIntake; @@ -1118,6 +1148,7 @@ impl pallet_society::Config for Runtime { type PeriodSpend = PeriodSpend; type Randomness = RandomnessCollectiveFlip; type RotationPeriod = RotationPeriod; + type RuntimeEvent = RuntimeEvent; type SuspensionJudgementOrigin = pallet_society::EnsureFounder; type WrongSideDeduction = WrongSideDeduction; } @@ -1129,8 +1160,8 @@ parameter_types! { impl pallet_vesting::Config for Runtime { type BlockNumberToBalance = ConvertInto; type Currency = Balances; - type Event = Event; type MinVestedTransfer = MinVestedTransfer; + type RuntimeEvent = RuntimeEvent; type WeightInfo = pallet_vesting::weights::SubstrateWeight; // `VestingInfo` encode length is 36bytes. 28 schedules gets encoded as 1009 bytes, which is the @@ -1139,15 +1170,65 @@ impl pallet_vesting::Config for Runtime { } impl pallet_transaction_storage::Config for Runtime { - type Call = Call; type Currency = Balances; - type Event = Event; type FeeDestination = (); + type MaxBlockTransactions = + ConstU32<{ pallet_transaction_storage::DEFAULT_MAX_BLOCK_TRANSACTIONS }>; + type MaxTransactionSize = + ConstU32<{ pallet_transaction_storage::DEFAULT_MAX_TRANSACTION_SIZE }>; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; type WeightInfo = pallet_transaction_storage::weights::SubstrateWeight; } +parameter_types! { + pub const BagThresholds: &'static [u64] = &voter_bags::THRESHOLDS; +} +type VoterBagsListInstance = pallet_bags_list::Instance1; +impl pallet_bags_list::Config for Runtime { + type BagThresholds = BagThresholds; + type RuntimeEvent = RuntimeEvent; + type Score = VoteWeight; + /// The voter bags-list is loosely kept up to date, and the real source of truth for the score + /// of each node is the staking pallet. + type ScoreProvider = Staking; + type WeightInfo = pallet_bags_list::weights::SubstrateWeight; +} + +parameter_types! { + pub const PostUnbondPoolsWindow: u32 = 4; + pub const NominationPoolsPalletId: PalletId = PalletId(*b"py/nopls"); + pub const MaxPointsToBalance: u8 = 10; +} + +use sp_runtime::traits::Convert; +pub struct BalanceToU256; +impl Convert for BalanceToU256 { + fn convert(balance: Balance) -> sp_core::U256 { sp_core::U256::from(balance) } +} +pub struct U256ToBalance; +impl Convert for U256ToBalance { + fn convert(n: sp_core::U256) -> Balance { n.try_into().unwrap_or(Balance::max_value()) } +} + +impl pallet_nomination_pools::Config for Runtime { + type BalanceToU256 = BalanceToU256; + type Currency = Balances; + type CurrencyBalance = Balance; + type MaxMetadataLen = ConstU32<256>; + type MaxPointsToBalance = MaxPointsToBalance; + type MaxUnbonding = ConstU32<8>; + type PalletId = NominationPoolsPalletId; + type PostUnbondingPoolsWindow = PostUnbondPoolsWindow; + type RewardCounter = FixedU128; + type RuntimeEvent = RuntimeEvent; + type StakingInterface = pallet_staking::Pallet; + type U256ToBalance = U256ToBalance; + type WeightInfo = (); +} + impl pallet_propagation::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; } parameter_types! { @@ -1156,9 +1237,9 @@ parameter_types! { impl pallet_slashing::Config for Runtime { type AuthorityId = pallet_babe::AuthorityId; - type Event = Event; type MinValidators = MinValidators; type ReportBad = Offences; + type RuntimeEvent = RuntimeEvent; type ValidatorIdOf = pallet_staking::StashOf; type ValidatorSet = Historical; } @@ -1169,8 +1250,8 @@ parameter_types! { } impl pallet_relayer::Config for Runtime { - type Event = Event; type PruneBlock = PruneBlock; + type RuntimeEvent = RuntimeEvent; type SigningPartySize = SigningPartySize; type WeightInfo = weights::pallet_relayer::WeightInfo; } @@ -1183,37 +1264,25 @@ parameter_types! { } impl pallet_constraints::Config for Runtime { - type Event = Event; type MaxAddressLength = MaxAddressLengthNum; type MaxWhitelist = MaxWhitelistNum; + type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::pallet_constraints::WeightInfo; } impl pallet_transaction_pause::Config for Runtime { - type Event = Event; - type UpdateOrigin = EnsureOneOf< + type RuntimeEvent = RuntimeEvent; + type UpdateOrigin = EitherOfDiverse< EnsureRoot, pallet_collective::EnsureProportionAtLeast, >; type WeightInfo = weights::pallet_transaction_pause::WeightInfo; } -parameter_types! { - pub const BagThresholds: &'static [u64] = &voter_bags::THRESHOLDS; -} - -impl pallet_bags_list::Config for Runtime { - type BagThresholds = BagThresholds; - type Event = Event; - type Score = VoteWeight; - type ScoreProvider = Staking; - type WeightInfo = pallet_bags_list::weights::SubstrateWeight; -} - impl pallet_free_tx::Config for Runtime { - type Call = Call; - type Event = Event; - type UpdateOrigin = EnsureOneOf< + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type UpdateOrigin = EitherOfDiverse< EnsureRoot, pallet_collective::EnsureProportionAtLeast, >; @@ -1267,15 +1336,18 @@ construct_runtime!( Bounties: pallet_bounties = 46, Tips: pallet_tips = 47, TransactionStorage: pallet_transaction_storage = 48, - BagsList: pallet_bags_list = 49, + BagsList: pallet_bags_list:: = 49, + NominationPools: pallet_nomination_pools = 50, // custom pallets - Propagation: pallet_propagation = 50, - Relayer: pallet_relayer = 51, - Slashing: pallet_slashing = 52, - Constraints: pallet_constraints = 53, - TransactionPause: pallet_transaction_pause = 54, - FreeTx: pallet_free_tx = 55 + Propagation: pallet_propagation = 51, + Relayer: pallet_relayer = 52, + Slashing: pallet_slashing = 53, + Constraints: pallet_constraints = 54, + TransactionPause: pallet_transaction_pause = 55, + FreeTx: pallet_free_tx = 56, + + } ); @@ -1305,11 +1377,12 @@ pub type SignedExtra = ( pallet_free_tx::ValidateElectricityPayment, ); /// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; +pub type UncheckedExtrinsic = + generic::UncheckedExtrinsic; /// The payload being signed in transactions. -pub type SignedPayload = generic::SignedPayload; +pub type SignedPayload = generic::SignedPayload; /// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = generic::CheckedExtrinsic; +pub type CheckedExtrinsic = generic::CheckedExtrinsic; /// Executive: handles dispatch to the various modules. pub type Executive = frame_executive::Executive< Runtime, @@ -1317,9 +1390,12 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - pallet_bags_list::migrations::CheckCounterPrefix, + // TODO JH fix this + Migrations, >; +type Migrations = (pallet_nomination_pools::migration::v2::MigrateToV2,); + #[cfg(feature = "runtime-benchmarks")] #[macro_use] extern crate frame_benchmarking; @@ -1336,6 +1412,7 @@ mod benches { [pallet_constraints, Constraints] [pallet_democracy, Democracy] [pallet_election_provider_multi_phase, ElectionProviderMultiPhase] + [pallet_election_provider_support_benchmarking, EPSBench::] [pallet_elections_phragmen, Elections] [pallet_free_tx, FreeTx] [pallet_staking_extension, StakingExtension] @@ -1343,6 +1420,7 @@ mod benches { [pallet_im_online, ImOnline] [pallet_indices, Indices] [pallet_membership, TechnicalMembership] + [pallet_nomination_pools, NominationPoolsBench::] [pallet_multisig, Multisig] [pallet_offences, OffencesBench::] [pallet_preimage, Preimage] @@ -1412,11 +1490,11 @@ impl_runtime_apis! { } } - impl sp_offchain::OffchainWorkerApi for Runtime { - fn offchain_worker(header: &::Header) { - Executive::offchain_worker(header) + impl sp_offchain::OffchainWorkerApi for Runtime { + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) + } } - } impl fg_primitives::GrandpaApi for Runtime { fn grandpa_authorities() -> GrandpaAuthorityList { @@ -1455,21 +1533,17 @@ impl_runtime_apis! { } impl sp_consensus_babe::BabeApi for Runtime { - fn configuration() -> sp_consensus_babe::BabeGenesisConfiguration { - // The choice of `c` parameter (where `1 - c` represents the - // probability of a slot being empty), is done in accordance to the - // slot duration and expected target block time, for safely - // resisting network delays of maximum two seconds. - // - sp_consensus_babe::BabeGenesisConfiguration { - slot_duration: Babe::slot_duration(), - epoch_length: EpochDuration::get(), - c: BABE_GENESIS_EPOCH_CONFIG.c, - genesis_authorities: Babe::authorities().to_vec(), - randomness: Babe::randomness(), - allowed_slots: BABE_GENESIS_EPOCH_CONFIG.allowed_slots, - } - } + fn configuration() -> sp_consensus_babe::BabeConfiguration { + let epoch_config = Babe::epoch_config().unwrap_or(BABE_GENESIS_EPOCH_CONFIG); + sp_consensus_babe::BabeConfiguration { + slot_duration: Babe::slot_duration(), + epoch_length: EpochDuration::get(), + c: epoch_config.c, + authorities: Babe::authorities().to_vec(), + randomness: Babe::randomness(), + allowed_slots: epoch_config.allowed_slots, + } + } fn current_epoch_start() -> sp_consensus_babe::Slot { Babe::current_epoch_start() @@ -1556,70 +1630,67 @@ impl_runtime_apis! { #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { fn benchmark_metadata(extra: bool) -> ( - Vec, - Vec, - ) { - use frame_benchmarking::{baseline, Benchmarking, BenchmarkList}; - use frame_support::traits::StorageInfoTrait; - - // Trying to add benchmarks directly to the Session Pallet caused cyclic dependency - // issues. To get around that, we separated the Session benchmarks into its own crate, - // which is why we need these two lines below. - use pallet_session_benchmarking::Pallet as SessionBench; - use pallet_offences_benchmarking::Pallet as OffencesBench; - use frame_system_benchmarking::Pallet as SystemBench; - use baseline::Pallet as BaselineBench; - - let mut list = Vec::::new(); - list_benchmarks!(list, extra); - - let storage_info = AllPalletsWithSystem::storage_info(); - - return (list, storage_info) - } + Vec, + Vec, + ) { + use frame_benchmarking::{baseline, Benchmarking, BenchmarkList}; + use frame_support::traits::StorageInfoTrait; + + // Trying to add benchmarks directly to the Session Pallet caused cyclic dependency + // issues. To get around that, we separated the Session benchmarks into its own crate, + // which is why we need these two lines below. + use pallet_session_benchmarking::Pallet as SessionBench; + use pallet_offences_benchmarking::Pallet as OffencesBench; + use pallet_election_provider_support_benchmarking::Pallet as EPSBench; + use frame_system_benchmarking::Pallet as SystemBench; + use baseline::Pallet as BaselineBench; + use pallet_nomination_pools_benchmarking::Pallet as NominationPoolsBench; + + let mut list = Vec::::new(); + list_benchmarks!(list, extra); + + let storage_info = AllPalletsWithSystem::storage_info(); + + (list, storage_info) + } - fn dispatch_benchmark( - config: frame_benchmarking::BenchmarkConfig - ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{baseline, Benchmarking, BenchmarkBatch, TrackedStorageKey}; - - // Trying to add benchmarks directly to the Session Pallet caused cyclic dependency - // issues. To get around that, we separated the Session benchmarks into its own crate, - // which is why we need these two lines below. - use pallet_session_benchmarking::Pallet as SessionBench; - use pallet_offences_benchmarking::Pallet as OffencesBench; - use frame_system_benchmarking::Pallet as SystemBench; - use baseline::Pallet as BaselineBench; - - impl pallet_session_benchmarking::Config for Runtime {} - impl pallet_offences_benchmarking::Config for Runtime {} - impl frame_system_benchmarking::Config for Runtime {} - impl baseline::Config for Runtime {} - - let whitelist: Vec = vec![ - // Block Number - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), - // Total Issuance - hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(), - // Execution Phase - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(), - // Event Count - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(), - // System Events - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), - // System BlockWeight - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef734abf5cb34d6244378cddbf18e849d96").to_vec().into(), - // Treasury Account - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da95ecffd7b6c0f78751baa9d281e0bfa3a6d6f646c70792f74727372790000000000000000000000000000000000000000").to_vec().into(), - ]; - - let mut batches = Vec::::new(); - let params = (&config, &whitelist); - add_benchmarks!(params, batches); - - Ok(batches) - } - } + fn dispatch_benchmark( + config: frame_benchmarking::BenchmarkConfig + ) -> Result, sp_runtime::RuntimeString> { + use frame_benchmarking::{baseline, Benchmarking, BenchmarkBatch, TrackedStorageKey}; + + // Trying to add benchmarks directly to the Session Pallet caused cyclic dependency + // issues. To get around that, we separated the Session benchmarks into its own crate, + // which is why we need these two lines below. + use pallet_session_benchmarking::Pallet as SessionBench; + use pallet_offences_benchmarking::Pallet as OffencesBench; + use pallet_election_provider_support_benchmarking::Pallet as EPSBench; + use frame_system_benchmarking::Pallet as SystemBench; + use baseline::Pallet as BaselineBench; + use pallet_nomination_pools_benchmarking::Pallet as NominationPoolsBench; + + impl pallet_session_benchmarking::Config for Runtime {} + impl pallet_offences_benchmarking::Config for Runtime {} + impl pallet_election_provider_support_benchmarking::Config for Runtime {} + impl frame_system_benchmarking::Config for Runtime {} + impl baseline::Config for Runtime {} + impl pallet_nomination_pools_benchmarking::Config for Runtime {} + + use frame_support::traits::WhitelistedStorageKeys; + let mut whitelist: Vec = AllPalletsWithSystem::whitelisted_storage_keys(); + + // Treasury Account + // TODO: this is manual for now, someday we might be able to use a + // macro for this particular key + let treasury_key = frame_system::Account::::hashed_key_for(Treasury::account_id()); + whitelist.push(treasury_key.to_vec().into()); + + let mut batches = Vec::::new(); + let params = (&config, &whitelist); + add_benchmarks!(params, batches); + Ok(batches) + } + } } #[cfg(test)] @@ -1633,7 +1704,7 @@ mod tests { #[test] fn validate_transaction_submitter_bounds() { fn is_submit_signed_transaction() - where T: CreateSignedTransaction { + where T: CreateSignedTransaction { } is_submit_signed_transaction::(); @@ -1642,7 +1713,7 @@ mod tests { #[test] fn perbill_as_onchain_accuracy() { type OnChainAccuracy = - <::Solution as NposSolution>::Accuracy; + <::Solution as NposSolution>::Accuracy; let maximum_chain_accuracy: Vec> = (0..MaxNominations::get()) .map(|_| >::from(OnChainAccuracy::one().deconstruct())) .collect(); @@ -1653,7 +1724,7 @@ mod tests { #[test] fn call_size() { assert!( - core::mem::size_of::() <= 200, + core::mem::size_of::() <= 200, "size of Call is more than 200 bytes: some calls have too big arguments, use Box to \ reduce the size of Call. diff --git a/runtime/src/weights/pallet_constraints.rs b/runtime/src/weights/pallet_constraints.rs index 622b7bf82..ce31ebcfe 100644 --- a/runtime/src/weights/pallet_constraints.rs +++ b/runtime/src/weights/pallet_constraints.rs @@ -29,10 +29,10 @@ pub struct WeightInfo(PhantomData); impl pallet_constraints::WeightInfo for WeightInfo { // Storage: Constraints AddressWhitelist (r:1 w:1) fn add_whitelist_address(a: u32, ) -> Weight { - (24_526_000 as Weight) + Weight::from_ref_time(24_526_000_u64) // Standard Error: 0 - .saturating_add((265_000 as Weight).saturating_mul(a as Weight)) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + + Weight::from_ref_time(265_000_u64.saturating_mul(a as u64)) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } } diff --git a/runtime/src/weights/pallet_free_tx.rs b/runtime/src/weights/pallet_free_tx.rs index 25a4c3df5..78bc8b003 100644 --- a/runtime/src/weights/pallet_free_tx.rs +++ b/runtime/src/weights/pallet_free_tx.rs @@ -31,25 +31,23 @@ impl pallet_free_tx::WeightInfo for WeightInfo { // Storage: FreeTx FreeCallsRemaining (r:1 w:1) // Storage: Staking CurrentEra (r:1 w:0) fn call_using_electricity() -> Weight { - (18_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(3 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(18_000_000_u64) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } // Storage: unknown [0x3a7472616e73616374696f6e5f6c6576656c3a] (r:1 w:1) // Storage: FreeTx FreeCallsPerEra (r:0 w:1) fn set_individual_electricity_era_limit() -> Weight { - (4_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) + Weight::from_ref_time(4_000_000_u64) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } // TODO fn give_zaps() -> Weight { - (0 as Weight) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + T::DbWeight::get().writes(1_u64) } // TODO fn set_battery_count() -> Weight { - (0 as Weight) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + T::DbWeight::get().writes(1_u64) } } diff --git a/runtime/src/weights/pallet_relayer.rs b/runtime/src/weights/pallet_relayer.rs index 7f214d9dc..bb1c4fd18 100644 --- a/runtime/src/weights/pallet_relayer.rs +++ b/runtime/src/weights/pallet_relayer.rs @@ -29,14 +29,14 @@ pub struct WeightInfo(PhantomData); impl pallet_relayer::WeightInfo for WeightInfo { // Storage: Relayer Messages (r:1 w:1) fn prep_transaction() -> Weight { - (34_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(34_000_000_u64) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } // Storage: Relayer Registered (r:0 w:1) fn register() -> Weight { - (22_000_000 as Weight) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(22_000_000_u64) + .saturating_add(T::DbWeight::get().writes(1_u64)) } // Storage: Relayer Messages (r:1 w:0) // Storage: Relayer Failures (r:1 w:0) @@ -45,12 +45,12 @@ impl pallet_relayer::WeightInfo for WeightInfo { // Storage: Authorship Author (r:1 w:0) // Storage: System Digest (r:1 w:0) // Storage: Relayer Pending (r:0 w:1) - fn move_active_to_pending_no_failure(m: u32, ) -> Weight { - (32_945_000 as Weight) + fn move_active_to_pending_no_failure(m: u64, ) -> Weight { + Weight::from_ref_time(32_945_000_u64) // Standard Error: 24_000 - .saturating_add((449_000 as Weight).saturating_mul(m as Weight)) - .saturating_add(T::DbWeight::get().reads(6 as Weight)) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) + + Weight::from_ref_time(449_000_u64.saturating_mul(m)) + .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } // Storage: Relayer Messages (r:1 w:0) // Storage: Relayer Failures (r:1 w:0) @@ -59,11 +59,11 @@ impl pallet_relayer::WeightInfo for WeightInfo { // Storage: Authorship Author (r:1 w:0) // Storage: System Digest (r:1 w:0) // Storage: Relayer Pending (r:0 w:1) - fn move_active_to_pending_failure(m: u32, ) -> Weight { - (31_050_000 as Weight) + fn move_active_to_pending_failure(m: u64, ) -> Weight { + Weight::from_ref_time(31_050_000_u64) // Standard Error: 43_000 - .saturating_add((734_000 as Weight).saturating_mul(m as Weight)) - .saturating_add(T::DbWeight::get().reads(6 as Weight)) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) + + Weight::from_ref_time(734_000_u64.saturating_mul(m)) + .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } } diff --git a/runtime/src/weights/pallet_staking_extension.rs b/runtime/src/weights/pallet_staking_extension.rs index b78e2e990..327f6281f 100644 --- a/runtime/src/weights/pallet_staking_extension.rs +++ b/runtime/src/weights/pallet_staking_extension.rs @@ -30,25 +30,25 @@ impl pallet_staking_extension::WeightInfo for WeightInf // Storage: Staking Ledger (r:1 w:0) // Storage: StakingExtension EndpointRegister (r:0 w:1) fn change_endpoint() -> Weight { - (34_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(34_000_000_u64) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } // Storage: Staking Ledger (r:1 w:0) // Storage: StakingExtension ThresholdAccounts (r:0 w:1) fn change_threshold_accounts() -> Weight { - (34_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) + Weight::from_ref_time(34_000_000_u64) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } // Storage: Staking Ledger (r:1 w:1) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn withdraw_unbonded() -> Weight { - (41_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(4 as Weight)) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) + Weight::from_ref_time(41_000_000_u64) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } // Storage: Staking Ledger (r:1 w:0) // Storage: Staking MinValidatorBond (r:1 w:0) @@ -64,8 +64,8 @@ impl pallet_staking_extension::WeightInfo for WeightInf // Storage: StakingExtension ThresholdAccounts (r:0 w:1) // Storage: StakingExtension EndpointRegister (r:0 w:1) fn validate() -> Weight { - (95_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(11 as Weight)) - .saturating_add(T::DbWeight::get().writes(7 as Weight)) + Weight::from_ref_time(95_000_000_u64) + .saturating_add(T::DbWeight::get().reads(11_u64)) + .saturating_add(T::DbWeight::get().writes(7_u64)) } } diff --git a/runtime/src/weights/pallet_transaction_pause.rs b/runtime/src/weights/pallet_transaction_pause.rs index 5707d1108..665c062ee 100644 --- a/runtime/src/weights/pallet_transaction_pause.rs +++ b/runtime/src/weights/pallet_transaction_pause.rs @@ -30,15 +30,15 @@ impl pallet_transaction_pause::WeightInfo for WeightInf // Storage: unknown [0x3a7472616e73616374696f6e5f6c6576656c3a] (r:1 w:1) // Storage: TransactionPause PausedTransactions (r:1 w:1) fn pause_transaction() -> Weight { - (30_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) + Weight::from_ref_time(30_000_000_u64) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } // Storage: unknown [0x3a7472616e73616374696f6e5f6c6576656c3a] (r:1 w:1) // Storage: TransactionPause PausedTransactions (r:1 w:1) fn unpause_transaction() -> Weight { - (30_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) + Weight::from_ref_time(30_000_000_u64) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } } diff --git a/subxttest/Cargo.toml b/subxttest/Cargo.toml index 049479140..418b623a5 100644 --- a/subxttest/Cargo.toml +++ b/subxttest/Cargo.toml @@ -6,8 +6,8 @@ edition="2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -subxt={ git="https://github.com/paritytech/subxt.git" } -sp-keyring="6.0.0" +subxt={ git="https://github.com/entropyxyz/subxt.git", branch="substrate-master" } +sp-keyring={ version="6.0.0", git='https://github.com/paritytech/substrate.git', branch="polkadot-v0.9.30" } async-std={ version="1.9.0", features=["attributes", "tokio1"] } codec={ package="parity-scale-codec", version="3.0.0", default-features=false, features=[ "derive", diff --git a/subxttest/src/entropy_metadata.scale b/subxttest/src/entropy_metadata.scale index 2afb399cb..3ce31d5a1 100644 Binary files a/subxttest/src/entropy_metadata.scale and b/subxttest/src/entropy_metadata.scale differ diff --git a/subxttest/src/main.rs b/subxttest/src/main.rs index 176881c6c..d22d06ab8 100644 --- a/subxttest/src/main.rs +++ b/subxttest/src/main.rs @@ -1,5 +1,6 @@ use sp_keyring::AccountKeyring; -use subxt::{ClientBuilder, DefaultConfig, DefaultExtra, PairSigner}; +use subxt::{OnlineClient, PolkadotConfig as EntropyConfig, DefaultExtra, tx::PairSigner}; +use chain_api::EntropyConfig; #[subxt::subxt(runtime_metadata_path = "src/entropy_metadata.scale")] pub mod entropy {} @@ -10,17 +11,13 @@ async fn main() -> Result<(), Box> { let dest = AccountKeyring::Bob.to_account_id().into(); //TODO replace accept weak inclusion - let api = ClientBuilder::new() - .set_url("ws://localhost:9944") - .build() - .await? - .to_runtime_api::>>(); + let api = OnlineClient::::new().await?; - let result = api + let balance_transfer_tx = entropy::tx().balances().transfer(dest, 10_000); + + let balance_transfer = api .tx() - .balances() - .transfer(dest, 10_000) - .sign_and_submit_then_watch(&signer) + .sign_and_submit_then_watch_default(&balance_transfer_tx, &signer) .await? .wait_for_finalized_success() .await?;