diff --git a/Cargo.lock b/Cargo.lock index 67e7b98e52..bf74bc52bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,7 +27,7 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.27.2", + "gimli 0.27.1", ] [[package]] @@ -55,16 +55,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "aead" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c192eb8f11fc081b0fe4259ba5af04217d4e0faddd02417310a927911abd7c8" -dependencies = [ - "crypto-common", - "generic-array 0.14.6", -] - [[package]] name = "aes" version = "0.6.0" @@ -89,14 +79,17 @@ dependencies = [ ] [[package]] -name = "aes" -version = "0.8.2" +name = "aes-gcm" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" +checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" dependencies = [ - "cfg-if", - "cipher 0.4.3", - "cpufeatures", + "aead 0.3.2", + "aes 0.6.0", + "cipher 0.2.5", + "ctr 0.6.0", + "ghash 0.3.1", + "subtle", ] [[package]] @@ -113,20 +106,6 @@ dependencies = [ "subtle", ] -[[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", -] - [[package]] name = "aes-soft" version = "0.6.4" @@ -188,12 +167,6 @@ dependencies = [ "libc", ] -[[package]] -name = "anes" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" - [[package]] name = "ansi_term" version = "0.12.1" @@ -205,9 +178,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.69" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "approx" @@ -218,12 +191,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "arbitrary" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e" - [[package]] name = "arc-swap" version = "1.6.0" @@ -267,7 +234,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.20", + "time 0.3.17", ] [[package]] @@ -283,7 +250,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.20", + "time 0.3.17", ] [[package]] @@ -327,37 +294,12 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21" -[[package]] -name = "assert_cmd" -version = "2.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9834fcc22e0874394a010230586367d4a3e9f11b560f469262678547e1d2575e" -dependencies = [ - "bstr", - "doc-comment", - "predicates", - "predicates-core", - "predicates-tree", - "wait-timeout", -] - [[package]] name = "assert_matches" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" -[[package]] -name = "async-channel" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - [[package]] name = "async-io" version = "1.12.0" @@ -375,7 +317,7 @@ dependencies = [ "slab", "socket2", "waker-fn", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -388,33 +330,11 @@ dependencies = [ "futures-lite", ] -[[package]] -name = "async-stream" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad445822218ce64be7a341abfb0b1ea43b5c23aa83902542a4542e78309d8e5e" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite 0.2.9", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4655ae1a7b0cdf149156f780c5bf3f1352bc53cbd9e0a361a7ef7b22947e965" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "async-trait" -version = "0.1.64" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" +checksum = "eff18d764974428cf3a9328e23fc5c986f5fbed46e6cd4cdf42544df5d297ec1" dependencies = [ "proc-macro2", "quote", @@ -434,6 +354,15 @@ dependencies = [ "pin-project-lite 0.2.9", ] +[[package]] +name = "atoi" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e" +dependencies = [ + "num-traits", +] + [[package]] name = "atomic-waker" version = "1.1.0" @@ -451,6 +380,18 @@ dependencies = [ "winapi", ] +[[package]] +name = "auto_impl" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a8c1df849285fbacd587de7818cc7d13be6cd2cbcd47a04fb1801b0e2706e33" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "autocfg" version = "1.1.0" @@ -485,10 +426,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" [[package]] -name = "base16ct" +name = "base58" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" [[package]] name = "base64" @@ -504,18 +445,9 @@ checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" [[package]] name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - -[[package]] -name = "basic-toml" -version = "0.1.1" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e819b667739967cd44d308b8c7b71305d8bb0729ac44a248aa08f33d01950b4" -dependencies = [ - "serde", -] +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" [[package]] name = "beef" @@ -529,13 +461,10 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "array-bytes", - "env_logger 0.9.3", "hash-db", "log", - "sp-core", - "sp-runtime", ] [[package]] @@ -549,9 +478,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.64.0" +version = "0.60.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" +checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6" dependencies = [ "bitflags", "cexpr", @@ -564,7 +493,6 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn", ] [[package]] @@ -596,24 +524,24 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc" +checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq", + "constant_time_eq 0.1.5", ] [[package]] name = "blake2s_simd" -version = "1.0.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6637f448b9e61dfadbdcbae9a885fadee1f3eaffb1f8d3c1965d3ade8bdfd44f" +checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq", + "constant_time_eq 0.1.5", ] [[package]] @@ -626,7 +554,7 @@ dependencies = [ "arrayvec 0.7.2", "cc", "cfg-if", - "constant_time_eq", + "constant_time_eq 0.2.4", ] [[package]] @@ -652,9 +580,9 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.10.4" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ "generic-array 0.14.6", ] @@ -704,13 +632,11 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "1.3.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1" +checksum = "b45ea9b00a7b3f2988e9a65ad3917e62123c38dba709b666506207be96d1790b" dependencies = [ "memchr", - "once_cell", - "regex-automata", "serde", ] @@ -743,9 +669,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" [[package]] name = "byteorder" @@ -755,9 +681,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.4.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "bzip2-sys" @@ -772,9 +698,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.3" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6031a462f977dd38968b6f23378356512feeace69cef817e1a4475108093cec3" +checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055" dependencies = [ "serde", ] @@ -802,17 +728,11 @@ dependencies = [ "thiserror", ] -[[package]] -name = "cast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" - [[package]] name = "cc" -version = "1.0.79" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" dependencies = [ "jobserver", ] @@ -883,20 +803,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "chain-spec-builder" -version = "2.0.0" -dependencies = [ - "ansi_term", - "clap 4.1.8", - "node-cli", - "rand 0.8.5", - "sc-chain-spec", - "sc-keystore", - "sp-core", - "sp-keystore", -] - [[package]] name = "chrono" version = "0.4.23" @@ -912,33 +818,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "ciborium" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f" -dependencies = [ - "ciborium-io", - "ciborium-ll", - "serde", -] - -[[package]] -name = "ciborium-io" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369" - -[[package]] -name = "ciborium-ll" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b" -dependencies = [ - "ciborium-io", - "half", -] - [[package]] name = "cid" version = "0.8.6" @@ -947,7 +826,7 @@ checksum = "f6ed9c8b2d17acb8110c46f1da5bf4a696d745e1474a16db0cd2b49cd0249bf2" dependencies = [ "core2", "multibase", - "multihash 0.16.3", + "multihash", "serde", "unsigned-varint", ] @@ -970,16 +849,6 @@ dependencies = [ "generic-array 0.14.6", ] -[[package]] -name = "cipher" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" -dependencies = [ - "crypto-common", - "inout", -] - [[package]] name = "ckb-merkle-mountain-range" version = "0.5.2" @@ -991,9 +860,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.6.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a" +checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" dependencies = [ "glob", "libc", @@ -1002,45 +871,24 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" -dependencies = [ - "bitflags", - "clap_lex 0.2.4", - "indexmap", - "textwrap", -] - -[[package]] -name = "clap" -version = "4.1.8" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d7ae14b20b94cb02149ed21a86c423859cbe18dc7ed69845cace50e52b40a5" +checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3" dependencies = [ "bitflags", "clap_derive", - "clap_lex 0.3.2", + "clap_lex", "is-terminal", "once_cell", "strsim", "termcolor", ] -[[package]] -name = "clap_complete" -version = "4.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501ff0a401473ea1d4c3b125ff95506b62c5bc5768d818634195fbb7c4ad5ff4" -dependencies = [ - "clap 4.1.8", -] - [[package]] name = "clap_derive" -version = "4.1.8" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44bec8e5c9d09e439c4335b1af0abaab56dcf3b94999a936e1bb47b9134288f0" +checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" dependencies = [ "heck", "proc-macro-error", @@ -1051,18 +899,9 @@ dependencies = [ [[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 = "clap_lex" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09" +checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" dependencies = [ "os_str_bytes", ] @@ -1099,9 +938,15 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.2" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" + +[[package]] +name = "constant_time_eq" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" [[package]] name = "constant_time_eq" @@ -1152,20 +997,26 @@ dependencies = [ "libc", ] +[[package]] +name = "cpuid-bool" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" + [[package]] name = "cranelift-bforest" -version = "0.93.1" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7379abaacee0f14abf3204a7606118f0465785252169d186337bcb75030815a" +checksum = "91b18cf92869a6ae85cde3af4bc4beb6154efa8adef03b18db2ad413d5bce3a2" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.93.1" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9489fa336927df749631f1008007ced2871068544f40a202ce6d93fbf2366a7b" +checksum = "567d9f6e919bac076f39b902a072686eaf9e6d015baa34d10a61b85105b7af59" dependencies = [ "arrayvec 0.7.2", "bumpalo", @@ -1184,33 +1035,33 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.93.1" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05bbb67da91ec721ed57cef2f7c5ef7728e1cd9bde9ffd3ef8601022e73e3239" +checksum = "1e72b2d5ec8917b2971fe83850187373d0a186db4748a7c23a5f48691b8d92bb" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.93.1" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418ecb2f36032f6665dc1a5e2060a143dbab41d83b784882e97710e890a7a16d" +checksum = "3461c0e0c2ebbeb92533aacb27e219289f60dc84134ef34fbf2d77c9eddf07ef" [[package]] name = "cranelift-entity" -version = "0.93.1" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cf583f7b093f291005f9fb1323e2c37f6ee4c7909e39ce016b2e8360d461705" +checksum = "af684f7f7b01427b1942c7102673322a51b9d6f261e9663dc5e5595786775531" dependencies = [ "serde", ] [[package]] name = "cranelift-frontend" -version = "0.93.1" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b66bf9e916f57fbbd0f7703ec6286f4624866bf45000111627c70d272c8dda1" +checksum = "7d361ed0373cf5f086b49c499aa72227b646a64f899f32e34312f97c0fadff75" dependencies = [ "cranelift-codegen", "log", @@ -1220,15 +1071,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.93.1" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "649782a39ce99798dd6b4029e2bb318a2fbeaade1b4fa25330763c10c65bc358" +checksum = "cef4f8f3984d772c199a48896d2fb766f96301bf71b371e03a2b99f4f3b7b931" [[package]] name = "cranelift-native" -version = "0.93.1" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "937e021e089c51f9749d09e7ad1c4f255c2f8686cb8c3df63a34b3ec9921bc41" +checksum = "f98e4e99a353703475d5acb402b9c13482d41d8a4008b352559bd560afb90363" dependencies = [ "cranelift-codegen", "libc", @@ -1237,9 +1088,9 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.93.1" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d850cf6775477747c9dfda9ae23355dd70512ffebc70cf82b85a5b111ae668b5" +checksum = "a1e3f4f0779a1b0f286a6ef19835d8665f88326e656a6d7d84fa9a39fa38ca32" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -1253,9 +1104,9 @@ dependencies = [ [[package]] name = "crc" -version = "3.0.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +checksum = "53757d12b596c16c78b83458d732a5d1a17ab3f53f2f7412f6fb57cc8a140ab3" dependencies = [ "crc-catalog", ] @@ -1275,49 +1126,11 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "criterion" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb" -dependencies = [ - "anes", - "atty", - "cast", - "ciborium", - "clap 3.2.23", - "criterion-plot", - "futures", - "itertools", - "lazy_static", - "num-traits", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_derive", - "serde_json", - "tinytemplate", - "tokio", - "walkdir", -] - -[[package]] -name = "criterion-plot" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" -dependencies = [ - "cast", - "itertools", -] - [[package]] name = "crossbeam-channel" -version = "0.5.7" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" +checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ "cfg-if", "crossbeam-utils", @@ -1325,9 +1138,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ "cfg-if", "crossbeam-epoch", @@ -1336,22 +1149,32 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.14" +version = "0.9.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" +checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "memoffset 0.8.0", + "memoffset 0.7.1", "scopeguard", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" -version = "0.8.15" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" dependencies = [ "cfg-if", ] @@ -1374,18 +1197,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "crypto-bigint" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c2538c4e68e52548bacb3e83ac549f903d44f011ac9d5abb5e132e67d0808f7" -dependencies = [ - "generic-array 0.14.6", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -1393,7 +1204,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.6", - "rand_core 0.6.4", "typenum", ] @@ -1407,6 +1217,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "crypto-mac" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a" +dependencies = [ + "generic-array 0.14.6", + "subtle", +] + [[package]] name = "crypto-mac" version = "0.11.1" @@ -1418,13 +1238,12 @@ dependencies = [ ] [[package]] -name = "ctor" -version = "0.1.26" +name = "ctr" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" dependencies = [ - "quote", - "syn", + "cipher 0.2.5", ] [[package]] @@ -1436,15 +1255,6 @@ 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 = "curve25519-dalek" version = "2.1.3" @@ -1473,23 +1283,22 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-rc.0" +version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da00a7a9a4eb92a0a0f8e75660926d48f0d0f3c537e455c457bcdaa1e16b1ac" +checksum = "4033478fbf70d6acf2655ac70da91ee65852d69daf7a67bf7a2f518fb47aafcf" dependencies = [ - "cfg-if", - "fiat-crypto", - "packed_simd_2", - "platforms 3.0.2", + "byteorder", + "digest 0.9.0", + "rand_core 0.6.4", "subtle", "zeroize", ] [[package]] name = "cxx" -version = "1.0.91" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" +checksum = "b61a7545f753a88bcbe0a70de1fcc0221e10bfc752f576754fa91e663db1622e" dependencies = [ "cc", "cxxbridge-flags", @@ -1499,9 +1308,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.91" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" +checksum = "f464457d494b5ed6905c63b0c4704842aba319084a0a3561cdc1359536b53200" dependencies = [ "cc", "codespan-reporting", @@ -1514,15 +1323,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.91" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" +checksum = "43c7119ce3a3701ed81aca8410b9acf6fc399d2629d057b87e2efa4e63a3aaea" [[package]] name = "cxxbridge-macro" -version = "1.0.91" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" +checksum = "65e07508b90551e610910fa648a1878991d367064997a596135b86df30daf07e" dependencies = [ "proc-macro2", "quote", @@ -1531,9 +1340,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.14.3" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" dependencies = [ "darling_core", "darling_macro", @@ -1541,9 +1350,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.14.3" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" dependencies = [ "fnv", "ident_case", @@ -1555,9 +1364,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.14.3" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" dependencies = [ "darling_core", "quote", @@ -1601,16 +1410,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "der" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc906908ea6458456e5eaa160a9c08543ec3d1e6f71e2235cedd660cb65f9df0" -dependencies = [ - "const-oid", - "zeroize", -] - [[package]] name = "der-parser" version = "7.0.0" @@ -1692,12 +1491,6 @@ dependencies = [ "syn", ] -[[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - [[package]] name = "difflib" version = "0.4.0" @@ -1728,7 +1521,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ - "block-buffer 0.10.4", + "block-buffer 0.10.3", "crypto-common", "subtle", ] @@ -1786,16 +1579,10 @@ dependencies = [ ] [[package]] -name = "dissimilar" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "210ec60ae7d710bed8683e333e9d2855a8a56a3e9892b38bad3bb0d4d29b0d5e" - -[[package]] -name = "doc-comment" -version = "0.3.3" +name = "dotenvy" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "downcast" @@ -1838,9 +1625,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.11" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30" +checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" @@ -1848,22 +1635,10 @@ version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ - "der 0.6.1", - "elliptic-curve 0.12.3", - "rfc6979 0.3.1", - "signature 1.6.4", -] - -[[package]] -name = "ecdsa" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1b0a1222f8072619e8a6b667a854020a03d363738303203c09468b3424a420a" -dependencies = [ - "der 0.7.1", - "elliptic-curve 0.13.2", - "rfc6979 0.4.0", - "signature 2.0.0", + "der", + "elliptic-curve", + "rfc6979", + "signature", ] [[package]] @@ -1872,7 +1647,7 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ - "signature 1.6.4", + "signature", ] [[package]] @@ -1905,9 +1680,12 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +dependencies = [ + "serde", +] [[package]] name = "elliptic-curve" @@ -1915,37 +1693,18 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ - "base16ct 0.1.1", - "crypto-bigint 0.4.9", - "der 0.6.1", + "base16ct", + "crypto-bigint", + "der", "digest 0.10.6", - "ff 0.12.1", + "ff", "generic-array 0.14.6", - "group 0.12.1", + "group", "hkdf", "pem-rfc7468", - "pkcs8 0.9.0", - "rand_core 0.6.4", - "sec1 0.3.0", - "subtle", - "zeroize", -] - -[[package]] -name = "elliptic-curve" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea5a92946e8614bb585254898bb7dd1ddad241ace60c52149e3765e34cc039d" -dependencies = [ - "base16ct 0.2.0", - "crypto-bigint 0.5.1", - "digest 0.10.6", - "ff 0.13.0", - "generic-array 0.14.6", - "group 0.13.0", - "pkcs8 0.10.1", + "pkcs8", "rand_core 0.6.4", - "sec1 0.7.1", + "sec1", "subtle", "zeroize", ] @@ -1962,39 +1721,6 @@ dependencies = [ "syn", ] -[[package]] -name = "enumflags2" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e75d4cd21b95383444831539909fbb14b9dc3fdceb2a6f5d36577329a1f55ccb" -dependencies = [ - "enumflags2_derive", -] - -[[package]] -name = "enumflags2_derive" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f58dc3c5e468259f19f2d46304a6b28f1c3d034442e14b322d2b850e36f6d5ae" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "env_logger" version = "0.10.0" @@ -2036,638 +1762,959 @@ dependencies = [ ] [[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "exit-future" -version = "0.2.0" +name = "ethbloom" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" dependencies = [ - "futures", + "crunchy", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "tiny-keccak", ] [[package]] -name = "expander" -version = "1.0.0" +name = "ethereum" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f360349150728553f92e4c997a16af8915f418d3a0f21b440d34c5632f16ed84" +checksum = "6a89fb87a9e103f71b903b80b670200b54cc67a07578f070681f1fffb7396fb7" dependencies = [ - "blake2", - "fs-err", - "proc-macro2", - "quote", - "syn", + "bytes", + "ethereum-types", + "hash-db", + "hash256-std-hasher", + "parity-scale-codec", + "rlp", + "scale-info", + "serde", + "sha3", + "triehash", ] [[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - -[[package]] -name = "fastrand" -version = "1.9.0" +name = "ethereum-types" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" dependencies = [ - "instant", + "ethbloom", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "primitive-types", + "scale-info", + "uint", ] [[package]] -name = "fdlimit" -version = "0.2.1" +name = "event-listener" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b" -dependencies = [ - "libc", -] +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] -name = "ff" -version = "0.12.1" +name = "evm" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" +checksum = "f4448c65b71e8e2b9718232d84d09045eeaaccb2320494e6bd6dbf7e58fec8ff" dependencies = [ - "rand_core 0.6.4", - "subtle", + "auto_impl", + "environmental", + "ethereum", + "evm-core", + "evm-gasometer", + "evm-runtime", + "log", + "parity-scale-codec", + "primitive-types", + "rlp", + "scale-info", + "serde", + "sha3", ] [[package]] -name = "ff" -version = "0.13.0" +name = "evm-core" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "64c51bec0eb68a891c2575c758eaaa1d61373fc51f7caaf216b1fb5c3fea3b5d" dependencies = [ - "rand_core 0.6.4", - "subtle", + "parity-scale-codec", + "primitive-types", + "scale-info", + "serde", ] [[package]] -name = "fiat-crypto" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90" - -[[package]] -name = "file-per-thread-logger" -version = "0.1.6" +name = "evm-gasometer" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" +checksum = "a8b93c59c54fc26522d842f0e0d3f8e8be331c776df18ff3e540b53c2f64d509" dependencies = [ - "env_logger 0.10.0", - "log", + "environmental", + "evm-core", + "evm-runtime", + "primitive-types", ] [[package]] -name = "filetime" -version = "0.2.20" +name = "evm-runtime" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412" +checksum = "c79b9459ce64f1a28688397c4013764ce53cd57bb84efc16b5187fa9b05b13ad" dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "windows-sys 0.45.0", + "auto_impl", + "environmental", + "evm-core", + "primitive-types", + "sha3", ] [[package]] -name = "finality-grandpa" -version = "0.16.2" +name = "exit-future" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36530797b9bf31cd4ff126dcfee8170f86b00cfdcea3269d73133cc0415945c3" +checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" dependencies = [ - "either", "futures", - "futures-timer", - "log", - "num-traits", - "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.8.5", - "scale-info", ] [[package]] -name = "fixed-hash" -version = "0.8.0" +name = "fake-simd" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" -dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", -] +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" [[package]] -name = "fixedbitset" -version = "0.4.2" +name = "fallible-iterator" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] -name = "flate2" -version = "1.0.25" +name = "fastrand" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" dependencies = [ - "crc32fast", - "libz-sys", - "miniz_oxide", + "instant", ] [[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +name = "fc-cli" +version = "1.0.0-dev" dependencies = [ - "num-traits", + "clap", + "ethereum-types", + "fc-db", + "fp-rpc", + "fp-storage", + "frontier-template-runtime", + "futures", + "parity-scale-codec", + "sc-block-builder", + "sc-cli", + "sc-client-db", + "serde", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-io", + "sp-runtime", + "substrate-test-runtime-client", + "tempfile", ] [[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "fork-tree" -version = "3.0.0" +name = "fc-consensus" +version = "2.0.0-dev" dependencies = [ - "parity-scale-codec", + "async-trait", + "fp-consensus", + "fp-rpc", + "sc-consensus", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-runtime", + "thiserror", ] [[package]] -name = "form_urlencoded" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +name = "fc-db" +version = "2.0.0-dev" dependencies = [ - "percent-encoding", -] - -[[package]] -name = "fraction" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3027ae1df8d41b4bed2241c8fdad4acc1e7af60c8e17743534b545e77182d678" -dependencies = [ - "lazy_static", - "num", + "async-trait", + "ethereum", + "fc-rpc", + "fc-storage", + "fp-consensus", + "fp-rpc", + "fp-storage", + "futures", + "kvdb-rocksdb", + "log", + "maplit", + "parity-db", + "parity-scale-codec", + "parking_lot 0.12.1", + "sc-block-builder", + "sc-client-api", + "sc-client-db", + "smallvec", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-database", + "sp-runtime", + "sp-storage", + "sqlx", + "substrate-test-runtime-client", + "tempfile", + "tokio", ] [[package]] -name = "fragile" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" - -[[package]] -name = "frame-benchmarking" -version = "4.0.0-dev" +name = "fc-mapping-sync" +version = "2.0.0-dev" dependencies = [ - "array-bytes", - "frame-support", - "frame-support-procedural", - "frame-system", - "linregress", + "ethereum", + "ethereum-types", + "fc-db", + "fc-rpc", + "fc-storage", + "fp-consensus", + "fp-rpc", + "fp-storage", + "frontier-template-runtime", + "futures", + "futures-timer", "log", "parity-scale-codec", - "paste", - "rusty-fork", - "scale-info", - "serde", + "sc-block-builder", + "sc-client-api", "sp-api", - "sp-application-crypto", + "sp-blockchain", + "sp-consensus", "sp-core", "sp-io", - "sp-keystore", "sp-runtime", - "sp-runtime-interface", - "sp-std", - "sp-storage", - "static_assertions", + "sqlx", + "substrate-test-runtime-client", + "tempfile", + "tokio", ] [[package]] -name = "frame-benchmarking-cli" -version = "4.0.0-dev" +name = "fc-rpc" +version = "2.0.0-dev" dependencies = [ - "Inflector", - "array-bytes", - "chrono", - "clap 4.1.8", - "comfy-table", - "frame-benchmarking", - "frame-support", - "frame-system", - "gethostname", - "handlebars", - "itertools", - "lazy_static", - "linked-hash-map", + "ethereum", + "ethereum-types", + "evm", + "fc-db", + "fc-rpc-core", + "fc-storage", + "fp-ethereum", + "fp-rpc", + "fp-storage", + "futures", + "hex", + "jsonrpsee", + "libsecp256k1", "log", + "lru", "parity-scale-codec", + "prometheus", "rand 0.8.5", - "rand_pcg", + "rlp", "sc-block-builder", - "sc-cli", "sc-client-api", "sc-client-db", - "sc-executor", + "sc-network", + "sc-network-common", + "sc-rpc", "sc-service", - "sc-sysinfo", - "serde", - "serde_json", + "sc-transaction-pool", + "sc-transaction-pool-api", "sp-api", + "sp-block-builder", "sp-blockchain", + "sp-consensus", "sp-core", - "sp-database", - "sp-externalities", - "sp-inherents", - "sp-keystore", + "sp-io", "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-storage", - "sp-trie", - "thiserror", - "thousands", + "substrate-prometheus-endpoint", + "substrate-test-runtime-client", + "tempfile", + "tokio", ] [[package]] -name = "frame-benchmarking-pallet-pov" -version = "4.0.0-dev" +name = "fc-rpc-core" +version = "1.1.0-dev" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-io", - "sp-runtime", - "sp-std", + "ethereum", + "ethereum-types", + "jsonrpsee", + "rustc-hex", + "serde", + "serde_json", ] [[package]] -name = "frame-election-provider-solution-type" -version = "4.0.0-dev" +name = "fc-storage" +version = "1.0.0-dev" dependencies = [ - "frame-election-provider-support", - "frame-support", + "ethereum", + "ethereum-types", + "fp-rpc", + "fp-storage", "parity-scale-codec", - "proc-macro-crate", - "proc-macro2", - "quote", - "scale-info", - "sp-arithmetic", - "syn", - "trybuild", + "sc-client-api", + "sp-api", + "sp-blockchain", + "sp-io", + "sp-runtime", + "sp-storage", ] [[package]] -name = "frame-election-provider-support" -version = "4.0.0-dev" +name = "fdlimit" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b" dependencies = [ - "frame-election-provider-solution-type", - "frame-support", - "frame-system", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-npos-elections", - "sp-runtime", - "sp-std", + "libc", ] [[package]] -name = "frame-election-solution-type-fuzzer" -version = "2.0.0-alpha.5" +name = "ff" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ - "clap 4.1.8", - "frame-election-provider-solution-type", - "frame-election-provider-support", - "frame-support", - "honggfuzz", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sp-arithmetic", - "sp-npos-elections", - "sp-runtime", + "rand_core 0.6.4", + "subtle", ] [[package]] -name = "frame-executive" -version = "4.0.0-dev" +name = "file-per-thread-logger" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" dependencies = [ - "array-bytes", - "frame-support", - "frame-system", - "frame-try-runtime", - "pallet-balances", - "pallet-transaction-payment", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-std", - "sp-tracing", - "sp-version", + "env_logger", + "log", ] [[package]] -name = "frame-metadata" -version = "15.0.0" +name = "filetime" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" +checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" dependencies = [ "cfg-if", - "parity-scale-codec", - "scale-info", - "serde", + "libc", + "redox_syscall", + "windows-sys", ] [[package]] -name = "frame-remote-externalities" -version = "0.10.0-dev" +name = "finality-grandpa" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e24e6c429951433ccb7c87fd528c60084834dcd14763182c1f83291bcde24c34" dependencies = [ - "frame-support", + "either", "futures", + "futures-timer", "log", - "pallet-elections-phragmen", + "num-traits", "parity-scale-codec", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "substrate-rpc-client", - "tokio", - "tracing-subscriber 0.3.16", + "parking_lot 0.12.1", + "scale-info", ] [[package]] -name = "frame-support" -version = "4.0.0-dev" +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ - "assert_matches", - "bitflags", - "environmental", - "frame-metadata", - "frame-support-procedural", - "frame-system", - "impl-trait-for-tuples", - "k256", - "log", - "once_cell", - "parity-scale-codec", - "paste", - "pretty_assertions", - "scale-info", - "serde", - "serde_json", - "smallvec", - "sp-api", - "sp-arithmetic", - "sp-core", - "sp-core-hashing-proc-macro", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-state-machine", - "sp-std", - "sp-tracing", - "sp-weights", - "tt-call", + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", ] [[package]] -name = "frame-support-procedural" -version = "4.0.0-dev" -dependencies = [ - "Inflector", - "cfg-expr", - "derive-syn-parse", - "frame-support-procedural-tools", - "itertools", - "proc-macro2", - "quote", - "syn", +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +dependencies = [ + "crc32fast", + "libz-sys", + "miniz_oxide", ] [[package]] -name = "frame-support-procedural-tools" -version = "4.0.0-dev" +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" dependencies = [ - "frame-support-procedural-tools-derive", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", + "num-traits", ] [[package]] -name = "frame-support-procedural-tools-derive" -version = "3.0.0" +name = "flume" +version = "0.10.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" dependencies = [ - "proc-macro2", - "quote", - "syn", + "futures-core", + "futures-sink", + "pin-project", + "spin 0.9.7", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", ] [[package]] -name = "frame-support-test" +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "fork-tree" version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-support-test-pallet", - "frame-system", "parity-scale-codec", - "pretty_assertions", - "rustversion", +] + +[[package]] +name = "form_urlencoded" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fp-account" +version = "1.0.0-dev" +dependencies = [ + "hex", + "impl-serde", + "libsecp256k1", + "log", + "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-state-machine", "sp-std", - "sp-version", - "trybuild", ] [[package]] -name = "frame-support-test-compile-pass" -version = "4.0.0-dev" +name = "fp-consensus" +version = "2.0.0-dev" dependencies = [ - "frame-support", - "frame-system", + "ethereum", "parity-scale-codec", - "scale-info", "sp-core", "sp-runtime", - "sp-version", + "sp-std", ] [[package]] -name = "frame-support-test-pallet" -version = "4.0.0-dev" +name = "fp-dynamic-fee" +version = "1.0.0" +dependencies = [ + "async-trait", + "sp-core", + "sp-inherents", +] + +[[package]] +name = "fp-ethereum" +version = "1.0.0-dev" dependencies = [ + "ethereum", + "ethereum-types", + "fp-evm", "frame-support", - "frame-system", + "num_enum", "parity-scale-codec", - "scale-info", + "sp-std", ] [[package]] -name = "frame-system" -version = "4.0.0-dev" +name = "fp-evm" +version = "3.0.0-dev" dependencies = [ - "criterion", + "evm", "frame-support", - "log", "parity-scale-codec", - "scale-info", "serde", "sp-core", - "sp-externalities", - "sp-io", "sp-runtime", "sp-std", - "sp-version", - "sp-weights", - "substrate-test-runtime-client", ] [[package]] -name = "frame-system-benchmarking" -version = "4.0.0-dev" +name = "fp-rpc" +version = "3.0.0-dev" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "ethereum", + "ethereum-types", + "fp-evm", "parity-scale-codec", "scale-info", + "sp-api", "sp-core", - "sp-io", "sp-runtime", "sp-std", ] [[package]] -name = "frame-system-rpc-runtime-api" -version = "4.0.0-dev" +name = "fp-self-contained" +version = "1.0.0-dev" dependencies = [ + "frame-support", "parity-scale-codec", - "sp-api", + "scale-info", + "serde", + "sp-runtime", ] [[package]] -name = "frame-try-runtime" -version = "0.10.0-dev" +name = "fp-storage" +version = "2.0.0" dependencies = [ - "frame-support", "parity-scale-codec", - "sp-api", - "sp-runtime", - "sp-std", + "serde", ] [[package]] -name = "fs-err" -version = "2.9.0" +name = "fragile" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" +checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +name = "frame-benchmarking" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "libc", - "winapi", + "frame-support", + "frame-support-procedural", + "frame-system", + "linregress", + "log", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-runtime-interface", + "sp-std", + "sp-storage", + "static_assertions", ] [[package]] -name = "fs4" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea55201cc351fdb478217c0fb641b59813da9b4efe4c414a9d8f989a657d149" +name = "frame-benchmarking-cli" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "libc", - "rustix 0.35.13", - "winapi", + "Inflector", + "array-bytes", + "chrono", + "clap", + "comfy-table", + "frame-benchmarking", + "frame-support", + "frame-system", + "gethostname", + "handlebars", + "itertools", + "lazy_static", + "linked-hash-map", + "log", + "parity-scale-codec", + "rand 0.8.5", + "rand_pcg", + "sc-block-builder", + "sc-cli", + "sc-client-api", + "sc-client-db", + "sc-executor", + "sc-service", + "sc-sysinfo", + "serde", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-database", + "sp-externalities", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-storage", + "sp-trie", + "thiserror", + "thousands", ] [[package]] -name = "fs_extra" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" +name = "frame-executive" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", ] [[package]] -name = "futures-channel" -version = "0.3.26" +name = "frame-metadata" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" +checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" dependencies = [ - "futures-core", - "futures-sink", + "cfg-if", + "parity-scale-codec", + "scale-info", + "serde", ] [[package]] -name = "futures-core" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" - -[[package]] -name = "futures-executor" -version = "0.3.26" +name = "frame-support" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" +dependencies = [ + "bitflags", + "frame-metadata", + "frame-support-procedural", + "impl-trait-for-tuples", + "k256", + "log", + "once_cell", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "smallvec", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-core-hashing-proc-macro", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-staking", + "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?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" +dependencies = [ + "Inflector", + "cfg-expr", + "derive-syn-parse", + "frame-support-procedural-tools", + "itertools", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "frame-support-procedural-tools" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" +dependencies = [ + "frame-support-procedural-tools-derive", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "frame-support-procedural-tools-derive" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "frame-system" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" +dependencies = [ + "frame-support", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "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?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "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?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" +dependencies = [ + "parity-scale-codec", + "sp-api", +] + +[[package]] +name = "frontier-template-node" +version = "0.0.0" +dependencies = [ + "async-trait", + "clap", + "fc-cli", + "fc-consensus", + "fc-db", + "fc-mapping-sync", + "fc-rpc", + "fc-rpc-core", + "fc-storage", + "fp-account", + "fp-dynamic-fee", + "fp-evm", + "fp-rpc", + "frame-benchmarking", + "frame-benchmarking-cli", + "frame-system", + "frame-system-rpc-runtime-api", + "frontier-template-runtime", + "futures", + "jsonrpsee", + "log", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "sc-basic-authorship", + "sc-chain-spec", + "sc-cli", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-manual-seal", + "sc-executor", + "sc-finality-grandpa", + "sc-network", + "sc-network-common", + "sc-rpc", + "sc-rpc-api", + "sc-service", + "sc-telemetry", + "sc-transaction-pool", + "sc-transaction-pool-api", + "serde", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus-aura", + "sp-core", + "sp-finality-grandpa", + "sp-inherents", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-timestamp", + "sp-transaction-pool", + "sp-trie", + "substrate-build-script-utils", + "substrate-frame-rpc-system", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "frontier-template-runtime" +version = "0.0.0" +dependencies = [ + "fp-account", + "fp-evm", + "fp-rpc", + "fp-self-contained", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "pallet-aura", + "pallet-balances", + "pallet-base-fee", + "pallet-dynamic-fee", + "pallet-ethereum", + "pallet-evm", + "pallet-evm-chain-id", + "pallet-evm-precompile-modexp", + "pallet-evm-precompile-sha3fips", + "pallet-evm-precompile-simple", + "pallet-grandpa", + "pallet-hotfix-sufficients", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-std", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder", +] + +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "fs_extra" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" + +[[package]] +name = "futures-executor" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" +checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" dependencies = [ "futures-core", "futures-task", @@ -2675,11 +2722,22 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "futures-intrusive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot 0.11.2", +] + [[package]] name = "futures-io" -version = "0.3.26" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" +checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" [[package]] name = "futures-lite" @@ -2698,9 +2756,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.26" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" +checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" dependencies = [ "proc-macro2", "quote", @@ -2720,15 +2778,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.26" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" [[package]] name = "futures-task" -version = "0.3.26" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" +checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" [[package]] name = "futures-timer" @@ -2738,9 +2796,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.26" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" +checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" dependencies = [ "futures-channel", "futures-core", @@ -2763,19 +2821,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "generate-bags" -version = "4.0.0-dev" -dependencies = [ - "chrono", - "frame-election-provider-support", - "frame-support", - "frame-system", - "git2", - "num-format", - "pallet-staking", -] - [[package]] name = "generic-array" version = "0.12.4" @@ -2793,7 +2838,6 @@ checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -2830,22 +2874,22 @@ dependencies = [ [[package]] name = "ghash" -version = "0.4.4" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" dependencies = [ "opaque-debug 0.3.0", - "polyval 0.5.3", + "polyval 0.4.5", ] [[package]] name = "ghash" -version = "0.5.0" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" +checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" dependencies = [ "opaque-debug 0.3.0", - "polyval 0.6.0", + "polyval 0.5.3", ] [[package]] @@ -2861,22 +2905,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" - -[[package]] -name = "git2" -version = "0.16.1" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf7f68c2995f392c49fffb4f95ae2c873297830eb25c6bc4c114ce8f4562acc" -dependencies = [ - "bitflags", - "libc", - "libgit2-sys", - "log", - "url", -] +checksum = "221996f774192f0f718773def8201c4ae31f02616a54ccfc2d358bb0e5cefdec" [[package]] name = "glob" @@ -2903,27 +2934,16 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ - "ff 0.12.1", - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff 0.13.0", + "ff", "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" -version = "0.3.16" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ "bytes", "fnv", @@ -2938,12 +2958,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "half" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" - [[package]] name = "handlebars" version = "4.3.6" @@ -2960,9 +2974,9 @@ dependencies = [ [[package]] name = "hash-db" -version = "0.16.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e7d7786361d7425ae2fe4f9e407eb0efaa0840f5212d109cc018c40c35c6ab4" +checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" [[package]] name = "hash256-std-hasher" @@ -2991,11 +3005,23 @@ dependencies = [ "ahash 0.8.3", ] +[[package]] +name = "hashlink" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa" +dependencies = [ + "hashbrown 0.12.3", +] + [[package]] name = "heck" -version = "0.4.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +dependencies = [ + "unicode-segmentation", +] [[package]] name = "hermit-abi" @@ -3015,12 +3041,6 @@ dependencies = [ "libc", ] -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" - [[package]] name = "hex" version = "0.4.3" @@ -3046,6 +3066,16 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" +dependencies = [ + "crypto-mac 0.10.1", + "digest 0.9.0", +] + [[package]] name = "hmac" version = "0.11.0" @@ -3076,18 +3106,6 @@ dependencies = [ "hmac 0.8.1", ] -[[package]] -name = "honggfuzz" -version = "0.5.55" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "848e9c511092e0daa0a35a63e8e6e475a3e8f870741448b9f6028d69b142f18e" -dependencies = [ - "arbitrary", - "lazy_static", - "memmap2", - "rustc_version 0.4.0", -] - [[package]] name = "hostname" version = "0.3.1" @@ -3101,9 +3119,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.9" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes", "fnv", @@ -3147,9 +3165,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.24" +version = "0.14.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" dependencies = [ "bytes", "futures-channel", @@ -3273,6 +3291,15 @@ dependencies = [ "parity-scale-codec", ] +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + [[package]] name = "impl-serde" version = "0.4.0" @@ -3304,21 +3331,6 @@ dependencies = [ "serde", ] -[[package]] -name = "indexmap-nostd" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" - -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array 0.14.6", -] - [[package]] name = "instant" version = "0.1.12" @@ -3358,18 +3370,12 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" - -[[package]] -name = "io-lifetimes" -version = "1.0.5" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" dependencies = [ "libc", - "windows-sys 0.45.0", + "windows-sys", ] [[package]] @@ -3398,14 +3404,14 @@ checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.4" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes 1.0.5", - "rustix 0.36.8", - "windows-sys 0.45.0", + "hermit-abi 0.2.6", + "io-lifetimes", + "rustix", + "windows-sys", ] [[package]] @@ -3425,18 +3431,18 @@ checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] @@ -3451,29 +3457,7 @@ dependencies = [ "jsonrpsee-proc-macros", "jsonrpsee-server", "jsonrpsee-types", - "jsonrpsee-ws-client", - "tracing", -] - -[[package]] -name = "jsonrpsee-client-transport" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" -dependencies = [ - "futures-util", - "http", - "jsonrpsee-core", - "jsonrpsee-types", - "pin-project", - "rustls-native-certs", - "soketto", - "thiserror", - "tokio", - "tokio-rustls", - "tokio-util", "tracing", - "webpki-roots", ] [[package]] @@ -3484,11 +3468,9 @@ checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" dependencies = [ "anyhow", "arrayvec 0.7.2", - "async-lock", "async-trait", "beef", "futures-channel", - "futures-timer", "futures-util", "globset", "hyper", @@ -3553,28 +3535,15 @@ dependencies = [ "tracing", ] -[[package]] -name = "jsonrpsee-ws-client" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b83daeecfc6517cfe210df24e570fb06213533dfb990318fae781f4c7119dd9" -dependencies = [ - "http", - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", -] - [[package]] name = "k256" -version = "0.13.0" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955890845095ccf31ef83ad41a05aabb4d8cc23dc3cac5a9f5c89cf26dd0da75" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if", - "ecdsa 0.16.1", - "elliptic-curve 0.13.2", - "once_cell", + "ecdsa", + "elliptic-curve", "sha2 0.10.6", ] @@ -3587,119 +3556,6 @@ dependencies = [ "cpufeatures", ] -[[package]] -name = "keccak-hasher" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ea4653859ca2266a86419d3f592d3f22e7a854b482f99180d2498507902048" -dependencies = [ - "hash-db", - "hash256-std-hasher", - "tiny-keccak", -] - -[[package]] -name = "kitchensink-runtime" -version = "3.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-benchmarking-pallet-pov", - "frame-election-provider-support", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "log", - "node-primitives", - "pallet-alliance", - "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-conviction-voting", - "pallet-core-fellowship", - "pallet-democracy", - "pallet-election-provider-multi-phase", - "pallet-election-provider-support-benchmarking", - "pallet-elections-phragmen", - "pallet-fast-unstake", - "pallet-glutton", - "pallet-grandpa", - "pallet-identity", - "pallet-im-online", - "pallet-indices", - "pallet-insecure-randomness-collective-flip", - "pallet-lottery", - "pallet-membership", - "pallet-message-queue", - "pallet-mmr", - "pallet-multisig", - "pallet-nfts", - "pallet-nfts-runtime-api", - "pallet-nis", - "pallet-nomination-pools", - "pallet-nomination-pools-benchmarking", - "pallet-nomination-pools-runtime-api", - "pallet-offences", - "pallet-offences-benchmarking", - "pallet-preimage", - "pallet-proxy", - "pallet-ranked-collective", - "pallet-recovery", - "pallet-referenda", - "pallet-remark", - "pallet-root-testing", - "pallet-salary", - "pallet-scheduler", - "pallet-session", - "pallet-session-benchmarking", - "pallet-society", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-staking-runtime-api", - "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-consensus-grandpa", - "sp-core", - "sp-inherents", - "sp-io", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-transaction-pool", - "sp-version", - "static_assertions", - "substrate-wasm-builder", -] - [[package]] name = "kvdb" version = "0.13.0" @@ -3738,6 +3594,9 @@ name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin 0.5.2", +] [[package]] name = "lazycell" @@ -3745,29 +3604,11 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" -[[package]] -name = "leb128" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" - [[package]] name = "libc" -version = "0.2.140" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" - -[[package]] -name = "libgit2-sys" -version = "0.14.2+1.5.1" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4" -dependencies = [ - "cc", - "libc", - "libz-sys", - "pkg-config", -] +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libloading" @@ -3779,12 +3620,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "libm" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" - [[package]] name = "libm" version = "0.2.6" @@ -3802,14 +3637,14 @@ dependencies = [ "futures-timer", "getrandom 0.2.8", "instant", - "libp2p-core 0.38.0", + "libp2p-core", "libp2p-dns", "libp2p-identify", "libp2p-kad", "libp2p-mdns", "libp2p-metrics", "libp2p-mplex", - "libp2p-noise 0.41.0", + "libp2p-noise", "libp2p-ping", "libp2p-quic", "libp2p-request-response", @@ -3819,7 +3654,7 @@ dependencies = [ "libp2p-webrtc", "libp2p-websocket", "libp2p-yamux", - "multiaddr 0.16.0", + "multiaddr", "parking_lot 0.12.1", "pin-project", "smallvec", @@ -3840,42 +3675,8 @@ dependencies = [ "futures-timer", "instant", "log", - "multiaddr 0.16.0", - "multihash 0.16.3", - "multistream-select", - "once_cell", - "parking_lot 0.12.1", - "pin-project", - "prost", - "prost-build", - "rand 0.8.5", - "rw-stream-sink", - "sec1 0.3.0", - "sha2 0.10.6", - "smallvec", - "thiserror", - "unsigned-varint", - "void", - "zeroize", -] - -[[package]] -name = "libp2p-core" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881d9a54e97d97cdaa4125d48269d97ca8c40e5fefec6b85b30440dc60cc551f" -dependencies = [ - "asn1_der", - "bs58", - "ed25519-dalek", - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "log", - "multiaddr 0.17.0", - "multihash 0.17.0", + "multiaddr", + "multihash", "multistream-select", "once_cell", "parking_lot 0.12.1", @@ -3884,7 +3685,7 @@ dependencies = [ "prost-build", "rand 0.8.5", "rw-stream-sink", - "sec1 0.3.0", + "sec1", "sha2 0.10.6", "smallvec", "thiserror", @@ -3900,7 +3701,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5" dependencies = [ "futures", - "libp2p-core 0.38.0", + "libp2p-core", "log", "parking_lot 0.12.1", "smallvec", @@ -3916,7 +3717,7 @@ dependencies = [ "asynchronous-codec", "futures", "futures-timer", - "libp2p-core 0.38.0", + "libp2p-core", "libp2p-swarm", "log", "lru", @@ -3942,7 +3743,7 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core 0.38.0", + "libp2p-core", "libp2p-swarm", "log", "prost", @@ -3965,7 +3766,7 @@ dependencies = [ "data-encoding", "futures", "if-watch", - "libp2p-core 0.38.0", + "libp2p-core", "libp2p-swarm", "log", "rand 0.8.5", @@ -3982,7 +3783,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55" dependencies = [ - "libp2p-core 0.38.0", + "libp2p-core", "libp2p-identify", "libp2p-kad", "libp2p-ping", @@ -3999,7 +3800,7 @@ dependencies = [ "asynchronous-codec", "bytes", "futures", - "libp2p-core 0.38.0", + "libp2p-core", "log", "nohash-hasher", "parking_lot 0.12.1", @@ -4017,30 +3818,7 @@ dependencies = [ "bytes", "curve25519-dalek 3.2.0", "futures", - "libp2p-core 0.38.0", - "log", - "once_cell", - "prost", - "prost-build", - "rand 0.8.5", - "sha2 0.10.6", - "snow", - "static_assertions", - "thiserror", - "x25519-dalek 1.1.1", - "zeroize", -] - -[[package]] -name = "libp2p-noise" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1216f9ec823ac7a2289b954674c54cbce81c9e45920b4fcf173018ede4295246" -dependencies = [ - "bytes", - "curve25519-dalek 3.2.0", - "futures", - "libp2p-core 0.39.0", + "libp2p-core", "log", "once_cell", "prost", @@ -4063,7 +3841,7 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core 0.38.0", + "libp2p-core", "libp2p-swarm", "log", "rand 0.8.5", @@ -4072,15 +3850,15 @@ dependencies = [ [[package]] name = "libp2p-quic" -version = "0.7.0-alpha.2" +version = "0.7.0-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971f629ff7519f4d4889a7c981f0dc09c6ad493423cd8a13ee442de241bc8c8" +checksum = "01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59" dependencies = [ "bytes", "futures", "futures-timer", "if-watch", - "libp2p-core 0.39.0", + "libp2p-core", "libp2p-tls", "log", "parking_lot 0.12.1", @@ -4101,7 +3879,7 @@ dependencies = [ "bytes", "futures", "instant", - "libp2p-core 0.38.0", + "libp2p-core", "libp2p-swarm", "log", "rand 0.8.5", @@ -4120,7 +3898,7 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core 0.38.0", + "libp2p-core", "libp2p-swarm-derive", "log", "pin-project", @@ -4152,7 +3930,7 @@ dependencies = [ "futures-timer", "if-watch", "libc", - "libp2p-core 0.38.0", + "libp2p-core", "log", "socket2", "tokio", @@ -4160,13 +3938,13 @@ dependencies = [ [[package]] name = "libp2p-tls" -version = "0.1.0-alpha.2" +version = "0.1.0-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9baf6f6292149e124ee737d9a79dbee783f29473fc368c7faad9d157841078a" +checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8" dependencies = [ "futures", "futures-rustls", - "libp2p-core 0.39.0", + "libp2p-core", "rcgen 0.10.0", "ring", "rustls 0.20.8", @@ -4184,7 +3962,7 @@ checksum = "1bb1a35299860e0d4b3c02a3e74e3b293ad35ae0cee8a056363b0c862d082069" dependencies = [ "futures", "js-sys", - "libp2p-core 0.38.0", + "libp2p-core", "parity-send-wrapper", "wasm-bindgen", "wasm-bindgen-futures", @@ -4192,9 +3970,9 @@ dependencies = [ [[package]] name = "libp2p-webrtc" -version = "0.4.0-alpha.2" +version = "0.4.0-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db4401ec550d36f413310ba5d4bf564bb21f89fb1601cadb32b2300f8bc1eb5b" +checksum = "cdb6cd86dd68cba72308ea05de1cebf3ba0ae6e187c40548167955d4e3970f6a" dependencies = [ "async-trait", "asynchronous-codec", @@ -4203,10 +3981,10 @@ dependencies = [ "futures-timer", "hex", "if-watch", - "libp2p-core 0.39.0", - "libp2p-noise 0.42.0", + "libp2p-core", + "libp2p-noise", "log", - "multihash 0.17.0", + "multihash", "prost", "prost-build", "prost-codec", @@ -4230,7 +4008,7 @@ dependencies = [ "either", "futures", "futures-rustls", - "libp2p-core 0.38.0", + "libp2p-core", "log", "parking_lot 0.12.1", "quicksink", @@ -4247,7 +4025,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29" dependencies = [ "futures", - "libp2p-core 0.38.0", + "libp2p-core", "log", "parking_lot 0.12.1", "thiserror", @@ -4256,9 +4034,9 @@ dependencies = [ [[package]] name = "librocksdb-sys" -version = "0.8.3+7.4.4" +version = "0.8.0+7.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "557b255ff04123fcc176162f56ed0c9cd42d8f357cf55b3fabeb60f7413741b3" +checksum = "611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d" dependencies = [ "bindgen", "bzip2-sys", @@ -4317,6 +4095,17 @@ dependencies = [ "libsecp256k1-core", ] +[[package]] +name = "libsqlite3-sys" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + [[package]] name = "libz-sys" version = "1.1.8" @@ -4324,7 +4113,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" dependencies = [ "cc", - "libc", "pkg-config", "vcpkg", ] @@ -4364,33 +4152,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.0.46" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" - -[[package]] -name = "linux-raw-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" - -[[package]] -name = "lite-json" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0e787ffe1153141a0f6f6d759fdf1cc34b1226e088444523812fd412a5cca2" -dependencies = [ - "lite-parser", -] - -[[package]] -name = "lite-parser" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d5f9dc37c52d889a21fd701983d02bb6a84f852c5140a6c80ef4557f7dc29e" -dependencies = [ - "paste", -] +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "lock_api" @@ -4458,6 +4222,12 @@ 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" @@ -4473,15 +4243,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata", -] - [[package]] name = "matches" version = "0.1.10" @@ -4518,14 +4279,14 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" dependencies = [ - "rustix 0.36.8", + "rustix", ] [[package]] name = "memmap2" -version = "0.5.10" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" dependencies = [ "libc", ] @@ -4548,22 +4309,14 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - [[package]] name = "memory-db" -version = "0.32.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" +checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", + "hashbrown 0.12.3", ] [[package]] @@ -4601,53 +4354,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.6" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", -] - -[[package]] -name = "mmr-gadget" -version = "4.0.0-dev" -dependencies = [ - "futures", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-block-builder", - "sc-client-api", - "sc-offchain", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-consensus-beefy", - "sp-core", - "sp-mmr-primitives", - "sp-runtime", - "sp-tracing", - "substrate-test-runtime-client", - "tokio", -] - -[[package]] -name = "mmr-rpc" -version = "4.0.0-dev" -dependencies = [ - "anyhow", - "jsonrpsee", - "parity-scale-codec", - "serde", - "serde_json", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-mmr-primitives", - "sp-runtime", + "windows-sys", ] [[package]] @@ -4687,25 +4401,7 @@ dependencies = [ "byteorder", "data-encoding", "multibase", - "multihash 0.16.3", - "percent-encoding", - "serde", - "static_assertions", - "unsigned-varint", - "url", -] - -[[package]] -name = "multiaddr" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b53e0cc5907a5c216ba6584bf74be8ab47d6d6289f72793b2dddbf15dc3bf8c" -dependencies = [ - "arrayref", - "byteorder", - "data-encoding", - "multibase", - "multihash 0.17.0", + "multihash", "percent-encoding", "serde", "static_assertions", @@ -4741,19 +4437,6 @@ dependencies = [ "unsigned-varint", ] -[[package]] -name = "multihash" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" -dependencies = [ - "core2", - "digest 0.10.6", - "multihash-derive", - "sha2 0.10.6", - "unsigned-varint", -] - [[package]] name = "multihash-derive" version = "0.8.1" @@ -4824,6 +4507,24 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "netlink-packet-core" version = "0.4.2" @@ -4852,9 +4553,9 @@ dependencies = [ [[package]] name = "netlink-packet-utils" -version = "0.5.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" +checksum = "25af9cf0dc55498b7bd94a1508af7a78706aa0ab715a73c5169273e03c84845e" dependencies = [ "anyhow", "byteorder", @@ -4917,384 +4618,32 @@ dependencies = [ ] [[package]] -name = "node-bench" -version = "0.9.0-dev" -dependencies = [ - "array-bytes", - "clap 4.1.8", - "derive_more", - "fs_extra", - "futures", - "hash-db", - "kitchensink-runtime", - "kvdb", - "kvdb-rocksdb", - "lazy_static", - "log", - "node-primitives", - "node-testing", - "parity-db", - "rand 0.8.5", - "sc-basic-authorship", - "sc-client-api", - "sc-transaction-pool", - "sc-transaction-pool-api", - "serde", - "serde_json", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-timestamp", - "sp-tracing", - "sp-trie", - "tempfile", -] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] -name = "node-cli" -version = "3.0.0-dev" +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ - "array-bytes", - "assert_cmd", - "clap 4.1.8", - "clap_complete", - "criterion", - "frame-benchmarking-cli", - "frame-system", - "frame-system-rpc-runtime-api", - "futures", - "jsonrpsee", - "kitchensink-runtime", - "log", - "nix 0.26.2", - "node-executor", - "node-inspect", - "node-primitives", - "node-rpc", - "pallet-asset-tx-payment", - "pallet-assets", - "pallet-balances", - "pallet-im-online", - "pallet-timestamp", - "pallet-transaction-payment", - "parity-scale-codec", - "platforms 2.0.0", - "rand 0.8.5", - "regex", - "sc-authority-discovery", - "sc-basic-authorship", - "sc-block-builder", - "sc-chain-spec", - "sc-cli", - "sc-client-api", - "sc-client-db", - "sc-consensus", - "sc-consensus-babe", - "sc-consensus-epochs", - "sc-consensus-grandpa", - "sc-consensus-slots", - "sc-executor", - "sc-keystore", - "sc-network", - "sc-network-common", - "sc-network-sync", - "sc-rpc", - "sc-service", - "sc-service-test", - "sc-storage-monitor", - "sc-sync-state-rpc", - "sc-sysinfo", - "sc-telemetry", - "sc-transaction-pool", - "sc-transaction-pool-api", - "serde", - "serde_json", - "soketto", - "sp-api", - "sp-authority-discovery", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-consensus-grandpa", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keyring", - "sp-keystore", - "sp-runtime", - "sp-timestamp", - "sp-tracing", - "sp-transaction-pool", - "sp-transaction-storage-proof", - "substrate-build-script-utils", - "substrate-frame-cli", - "substrate-rpc-client", - "tempfile", - "tokio", - "tokio-util", - "try-runtime-cli", - "wait-timeout", + "memchr", + "minimal-lexical", ] [[package]] -name = "node-executor" -version = "3.0.0-dev" -dependencies = [ - "criterion", - "frame-benchmarking", - "frame-support", - "frame-system", - "futures", - "kitchensink-runtime", - "node-primitives", - "node-testing", - "pallet-balances", - "pallet-contracts", - "pallet-glutton", - "pallet-im-online", - "pallet-root-testing", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-treasury", - "parity-scale-codec", - "sc-executor", - "scale-info", - "sp-application-crypto", - "sp-consensus-babe", - "sp-core", - "sp-externalities", - "sp-keyring", - "sp-keystore", - "sp-runtime", - "sp-state-machine", - "sp-tracing", - "sp-trie", - "wat", -] +name = "normalize-line-endings" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" [[package]] -name = "node-inspect" -version = "0.9.0-dev" -dependencies = [ - "clap 4.1.8", - "parity-scale-codec", - "sc-cli", - "sc-client-api", - "sc-executor", - "sc-service", - "sp-blockchain", - "sp-core", - "sp-runtime", - "thiserror", -] - -[[package]] -name = "node-primitives" -version = "2.0.0" -dependencies = [ - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-application-crypto", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "node-rpc" -version = "3.0.0-dev" -dependencies = [ - "jsonrpsee", - "mmr-rpc", - "node-primitives", - "pallet-transaction-payment-rpc", - "sc-chain-spec", - "sc-client-api", - "sc-consensus-babe", - "sc-consensus-babe-rpc", - "sc-consensus-epochs", - "sc-consensus-grandpa", - "sc-consensus-grandpa-rpc", - "sc-rpc", - "sc-rpc-api", - "sc-rpc-spec-v2", - "sc-sync-state-rpc", - "sc-transaction-pool-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-keystore", - "sp-runtime", - "substrate-frame-rpc-system", - "substrate-state-trie-migration-rpc", -] - -[[package]] -name = "node-runtime-generate-bags" -version = "3.0.0" -dependencies = [ - "clap 4.1.8", - "generate-bags", - "kitchensink-runtime", -] - -[[package]] -name = "node-template" -version = "4.0.0-dev" -dependencies = [ - "clap 4.1.8", - "frame-benchmarking", - "frame-benchmarking-cli", - "frame-system", - "futures", - "jsonrpsee", - "node-template-runtime", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc", - "sc-basic-authorship", - "sc-cli", - "sc-client-api", - "sc-consensus", - "sc-consensus-aura", - "sc-consensus-grandpa", - "sc-executor", - "sc-keystore", - "sc-rpc", - "sc-rpc-api", - "sc-service", - "sc-telemetry", - "sc-transaction-pool", - "sc-transaction-pool-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-consensus-grandpa", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keyring", - "sp-runtime", - "sp-timestamp", - "substrate-build-script-utils", - "substrate-frame-rpc-system", - "try-runtime-cli", -] - -[[package]] -name = "node-template-runtime" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "pallet-aura", - "pallet-balances", - "pallet-grandpa", - "pallet-sudo", - "pallet-template", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-block-builder", - "sp-consensus-aura", - "sp-consensus-grandpa", - "sp-core", - "sp-inherents", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-std", - "sp-transaction-pool", - "sp-version", - "substrate-wasm-builder", -] - -[[package]] -name = "node-testing" -version = "3.0.0-dev" -dependencies = [ - "frame-system", - "fs_extra", - "futures", - "kitchensink-runtime", - "log", - "node-executor", - "node-primitives", - "pallet-asset-tx-payment", - "pallet-assets", - "pallet-transaction-payment", - "parity-scale-codec", - "sc-block-builder", - "sc-client-api", - "sc-client-db", - "sc-consensus", - "sc-executor", - "sc-service", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keyring", - "sp-runtime", - "sp-timestamp", - "substrate-test-client", - "tempfile", -] - -[[package]] -name = "nohash-hasher" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "normalize-line-endings" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" +name = "num" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" dependencies = [ "num-bigint", "num-complex", @@ -5374,7 +4723,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", - "libm 0.2.6", ] [[package]] @@ -5388,1342 +4736,276 @@ dependencies = [ ] [[package]] -name = "object" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" -dependencies = [ - "crc32fast", - "hashbrown 0.12.3", - "indexmap", - "memchr", -] - -[[package]] -name = "object" -version = "0.30.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" -dependencies = [ - "memchr", -] - -[[package]] -name = "oid-registry" -version = "0.4.0" +name = "num_enum" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" +checksum = "8d829733185c1ca374f17e52b762f24f535ec625d2cc1f070e34c8a9068f341b" dependencies = [ - "asn1-rs 0.3.1", + "num_enum_derive", ] [[package]] -name = "oid-registry" -version = "0.6.1" +name = "num_enum_derive" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" +checksum = "2be1598bf1c313dcdd12092e3f1920f463462525a21b7b4e11b4168353d0123e" dependencies = [ - "asn1-rs 0.5.1", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "once_cell" -version = "1.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" - -[[package]] -name = "oorandom" -version = "11.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" - -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "os_str_bytes" -version = "6.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" - -[[package]] -name = "output_vt100" -version = "0.1.3" +name = "object" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66" +checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ - "winapi", + "crc32fast", + "hashbrown 0.12.3", + "indexmap", + "memchr", ] - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "p256" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" -dependencies = [ - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.6", -] - -[[package]] -name = "p384" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" -dependencies = [ - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.6", -] - -[[package]] -name = "packed_simd_2" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282" -dependencies = [ - "cfg-if", - "libm 0.1.4", -] - -[[package]] -name = "pallet-alliance" -version = "4.0.0-dev" -dependencies = [ - "array-bytes", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "pallet-collective", - "pallet-identity", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-core-hashing", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-asset-tx-payment" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-assets", - "pallet-authorship", - "pallet-balances", - "pallet-transaction-payment", - "parity-scale-codec", - "scale-info", - "serde", - "serde_json", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-storage", -] - -[[package]] -name = "pallet-assets" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-atomic-swap" -version = "4.0.0-dev" -dependencies = [ - "frame-support", - "frame-system", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-aura" -version = "4.0.0-dev" -dependencies = [ - "frame-support", - "frame-system", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-application-crypto", - "sp-consensus-aura", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-authority-discovery" -version = "4.0.0-dev" -dependencies = [ - "frame-support", - "frame-system", - "pallet-session", - "parity-scale-codec", - "scale-info", - "sp-application-crypto", - "sp-authority-discovery", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-authorship" -version = "4.0.0-dev" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-babe" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-balances", - "pallet-offences", - "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-application-crypto", - "sp-consensus-babe", - "sp-consensus-vrf", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-bags-list" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-tracing", -] - -[[package]] -name = "pallet-bags-list-fuzzer" -version = "4.0.0-dev" -dependencies = [ - "frame-election-provider-support", - "honggfuzz", - "pallet-bags-list", - "rand 0.8.5", -] - -[[package]] -name = "pallet-bags-list-remote-tests" -version = "4.0.0-dev" -dependencies = [ - "frame-election-provider-support", - "frame-remote-externalities", - "frame-support", - "frame-system", - "log", - "pallet-bags-list", - "pallet-staking", - "sp-core", - "sp-runtime", - "sp-std", - "sp-storage", - "sp-tracing", -] - -[[package]] -name = "pallet-balances" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-transaction-payment", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-beefy" -version = "4.0.0-dev" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "pallet-authorship", - "pallet-balances", - "pallet-offences", - "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "serde", - "sp-consensus-beefy", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-beefy-mmr" -version = "4.0.0-dev" -dependencies = [ - "array-bytes", - "binary-merkle-tree", - "frame-support", - "frame-system", - "log", - "pallet-beefy", - "pallet-mmr", - "pallet-session", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-consensus-beefy", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-bounties" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "pallet-treasury", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-child-bounties" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "pallet-bounties", - "pallet-treasury", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-collective" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-contracts" -version = "4.0.0-dev" -dependencies = [ - "array-bytes", - "assert_matches", - "bitflags", - "env_logger 0.9.3", - "environmental", - "frame-benchmarking", - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "log", - "pallet-balances", - "pallet-contracts-primitives", - "pallet-contracts-proc-macro", - "pallet-insecure-randomness-collective-flip", - "pallet-timestamp", - "pallet-utility", - "parity-scale-codec", - "pretty_assertions", - "rand 0.8.5", - "rand_pcg", - "scale-info", - "serde", - "smallvec", - "sp-api", - "sp-core", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-std", - "wasm-instrument 0.4.0", - "wasmi 0.28.0", - "wasmparser-nostd", - "wat", -] - -[[package]] -name = "pallet-contracts-primitives" -version = "7.0.0" -dependencies = [ - "bitflags", - "parity-scale-codec", - "scale-info", - "sp-runtime", - "sp-std", - "sp-weights", -] - -[[package]] -name = "pallet-contracts-proc-macro" -version = "4.0.0-dev" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pallet-conviction-voting" -version = "4.0.0-dev" -dependencies = [ - "assert_matches", - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-balances", - "pallet-scheduler", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-core-fellowship" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-democracy" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "pallet-preimage", - "pallet-scheduler", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-election-provider-multi-phase" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "pallet-election-provider-support-benchmarking", - "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.8.5", - "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-npos-elections", - "sp-runtime", - "sp-std", - "sp-tracing", - "strum", -] - -[[package]] -name = "pallet-election-provider-support-benchmarking" -version = "4.0.0-dev" -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" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-npos-elections", - "sp-runtime", - "sp-std", - "sp-tracing", - "substrate-test-utils", -] - -[[package]] -name = "pallet-example-basic" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-example-offchain-worker" -version = "4.0.0-dev" -dependencies = [ - "frame-support", - "frame-system", - "lite-json", - "log", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-fast-unstake" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", - "sp-tracing", - "substrate-test-utils", -] - -[[package]] -name = "pallet-glutton" -version = "4.0.0-dev" -dependencies = [ - "blake2", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-grandpa" -version = "4.0.0-dev" -dependencies = [ - "finality-grandpa", - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-balances", - "pallet-offences", - "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-application-crypto", - "sp-consensus-grandpa", - "sp-core", - "sp-io", - "sp-keyring", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-identity" -version = "4.0.0-dev" -dependencies = [ - "enumflags2", - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-im-online" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "scale-info", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-indices" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-keyring", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-insecure-randomness-collective-flip" -version = "4.0.0-dev" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "safe-mix", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-lottery" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-support-test", - "frame-system", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-membership" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-message-queue" -version = "7.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "rand 0.8.5", - "rand_distr", - "scale-info", - "serde", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-tracing", - "sp-weights", -] - -[[package]] -name = "pallet-mmr" -version = "4.0.0-dev" -dependencies = [ - "array-bytes", - "env_logger 0.9.3", - "frame-benchmarking", - "frame-support", - "frame-system", - "itertools", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-mmr-primitives", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-multisig" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-nfts" -version = "4.0.0-dev" -dependencies = [ - "enumflags2", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-nfts-runtime-api" -version = "4.0.0-dev" -dependencies = [ - "frame-support", - "pallet-nfts", - "parity-scale-codec", - "sp-api", -] - -[[package]] -name = "pallet-nicks" -version = "4.0.0-dev" -dependencies = [ - "frame-support", - "frame-system", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-nis" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-node-authorization" -version = "4.0.0-dev" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-nomination-pools" -version = "1.0.0" -dependencies = [ - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", - "sp-tracing", -] - -[[package]] -name = "pallet-nomination-pools-benchmarking" -version = "1.0.0" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "pallet-bags-list", - "pallet-balances", - "pallet-nomination-pools", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-runtime-interface", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-nomination-pools-fuzzer" -version = "2.0.0" -dependencies = [ - "frame-support", - "frame-system", - "honggfuzz", - "log", - "pallet-nomination-pools", - "rand 0.8.5", - "sp-io", - "sp-runtime", - "sp-tracing", -] - -[[package]] -name = "pallet-nomination-pools-runtime-api" -version = "1.0.0-dev" -dependencies = [ - "pallet-nomination-pools", - "parity-scale-codec", - "sp-api", - "sp-std", -] - -[[package]] -name = "pallet-nomination-pools-test-staking" -version = "1.0.0" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-bags-list", - "pallet-balances", - "pallet-nomination-pools", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", - "sp-tracing", -] - -[[package]] -name = "pallet-offences" -version = "4.0.0-dev" -dependencies = [ - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-offences-benchmarking" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-babe", - "pallet-balances", - "pallet-grandpa", - "pallet-im-online", - "pallet-offences", - "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", + +[[package]] +name = "object" +version = "0.30.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +dependencies = [ + "memchr", ] [[package]] -name = "pallet-preimage" -version = "4.0.0-dev" +name = "oid-registry" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "asn1-rs 0.3.1", ] [[package]] -name = "pallet-proxy" -version = "4.0.0-dev" +name = "oid-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-balances", - "pallet-utility", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "asn1-rs 0.5.1", ] [[package]] -name = "pallet-ranked-collective" -version = "4.0.0-dev" +name = "once_cell" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" + +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "openssl" +version = "0.10.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "518915b97df115dd36109bfa429a48b8f737bd05508cf9588977b599648926d2" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", ] [[package]] -name = "pallet-recovery" -version = "4.0.0-dev" +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "pallet-referenda" -version = "4.0.0-dev" +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "666416d899cf077260dac8698d60a60b435a46d57e82acb1be3d0dad87284e5b" dependencies = [ - "assert_matches", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "pallet-preimage", - "pallet-scheduler", - "parity-scale-codec", - "scale-info", - "serde", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "autocfg", + "cc", + "libc", + "pkg-config", + "vcpkg", ] [[package]] -name = "pallet-remark" -version = "4.0.0-dev" +name = "os_str_bytes" +version = "6.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" + +[[package]] +name = "p256" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "ecdsa", + "elliptic-curve", + "sha2 0.10.6", ] [[package]] -name = "pallet-root-offences" -version = "1.0.0-dev" +name = "p384" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "pallet-balances", - "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", + "ecdsa", + "elliptic-curve", + "sha2 0.10.6", ] [[package]] -name = "pallet-root-testing" -version = "1.0.0-dev" +name = "pallet-aura" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "frame-support", "frame-system", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-application-crypto", + "sp-consensus-aura", "sp-runtime", "sp-std", ] [[package]] -name = "pallet-salary" +name = "pallet-authorship" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "frame-benchmarking", "frame-support", "frame-system", - "log", + "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", "sp-runtime", "sp-std", ] [[package]] -name = "pallet-scheduler" +name = "pallet-babe" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-preimage", + "pallet-authorship", + "pallet-session", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core", + "sp-application-crypto", + "sp-consensus-babe", + "sp-consensus-vrf", "sp-io", "sp-runtime", + "sp-session", + "sp-staking", "sp-std", - "sp-weights", - "substrate-test-utils", ] [[package]] -name = "pallet-scored-pool" +name = "pallet-balances" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", - "pallet-balances", + "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", "sp-runtime", "sp-std", ] [[package]] -name = "pallet-session" -version = "4.0.0-dev" +name = "pallet-base-fee" +version = "1.0.0" dependencies = [ + "fp-evm", "frame-support", "frame-system", - "impl-trait-for-tuples", - "log", - "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-trie", ] [[package]] -name = "pallet-session-benchmarking" +name = "pallet-beefy" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", "frame-support", "frame-system", - "pallet-balances", + "pallet-authorship", "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", "parity-scale-codec", - "rand 0.8.5", "scale-info", - "sp-core", - "sp-io", + "serde", + "sp-beefy", "sp-runtime", "sp-session", + "sp-staking", "sp-std", ] [[package]] -name = "pallet-society" +name = "pallet-beefy-mmr" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ + "array-bytes", + "binary-merkle-tree", "frame-support", - "frame-support-test", "frame-system", - "pallet-balances", + "log", + "pallet-beefy", + "pallet-mmr", + "pallet-session", "parity-scale-codec", - "rand_chacha 0.2.2", "scale-info", + "serde", + "sp-api", + "sp-beefy", "sp-core", "sp-io", "sp-runtime", @@ -6731,94 +5013,71 @@ dependencies = [ ] [[package]] -name = "pallet-staking" +name = "pallet-dynamic-fee" version = "4.0.0-dev" dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", + "fp-dynamic-fee", + "fp-evm", "frame-support", "frame-system", - "log", - "pallet-authorship", - "pallet-bags-list", - "pallet-balances", - "pallet-session", - "pallet-staking-reward-curve", "pallet-timestamp", "parity-scale-codec", - "rand_chacha 0.2.2", "scale-info", - "serde", - "sp-application-crypto", "sp-core", + "sp-inherents", "sp-io", - "sp-npos-elections", "sp-runtime", - "sp-staking", "sp-std", - "sp-tracing", - "substrate-test-utils", -] - -[[package]] -name = "pallet-staking-reward-curve" -version = "4.0.0-dev" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "sp-runtime", - "syn", -] - -[[package]] -name = "pallet-staking-reward-fn" -version = "4.0.0-dev" -dependencies = [ - "log", - "sp-arithmetic", -] - -[[package]] -name = "pallet-staking-runtime-api" -version = "4.0.0-dev" -dependencies = [ - "parity-scale-codec", - "sp-api", ] [[package]] -name = "pallet-state-trie-migration" +name = "pallet-ethereum" version = "4.0.0-dev" dependencies = [ - "frame-benchmarking", - "frame-remote-externalities", + "ethereum", + "ethereum-types", + "evm", + "fp-consensus", + "fp-ethereum", + "fp-evm", + "fp-rpc", + "fp-self-contained", + "fp-storage", "frame-support", "frame-system", - "log", + "hex", + "libsecp256k1", "pallet-balances", + "pallet-evm", + "pallet-timestamp", "parity-scale-codec", - "parking_lot 0.12.1", + "rlp", "scale-info", - "serde", "sp-core", "sp-io", "sp-runtime", "sp-std", - "sp-tracing", - "substrate-state-trie-migration-rpc", - "thousands", - "tokio", - "zstd", ] [[package]] -name = "pallet-sudo" -version = "4.0.0-dev" +name = "pallet-evm" +version = "6.0.0-dev" dependencies = [ + "environmental", + "evm", + "fp-account", + "fp-evm", + "frame-benchmarking", "frame-support", "frame-system", + "hex", + "impl-trait-for-tuples", + "log", + "pallet-balances", + "pallet-evm-precompile-simple", + "pallet-timestamp", "parity-scale-codec", + "rlp", "scale-info", "sp-core", "sp-io", @@ -6827,68 +5086,141 @@ dependencies = [ ] [[package]] -name = "pallet-template" -version = "4.0.0-dev" +name = "pallet-evm-chain-id" +version = "1.0.0-dev" dependencies = [ - "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", +] + +[[package]] +name = "pallet-evm-precompile-blake2" +version = "2.0.0-dev" +dependencies = [ + "fp-evm", + "pallet-evm-test-vector-support", +] + +[[package]] +name = "pallet-evm-precompile-bn128" +version = "2.0.0-dev" +dependencies = [ + "fp-evm", + "pallet-evm-test-vector-support", "sp-core", - "sp-io", - "sp-runtime", + "substrate-bn", ] [[package]] -name = "pallet-timestamp" -version = "4.0.0-dev" +name = "pallet-evm-precompile-curve25519" +version = "1.0.0-dev" dependencies = [ - "frame-benchmarking", + "curve25519-dalek 4.0.0-pre.1", + "fp-evm", +] + +[[package]] +name = "pallet-evm-precompile-dispatch" +version = "2.0.0-dev" +dependencies = [ + "fp-evm", "frame-support", "frame-system", - "log", + "pallet-balances", + "pallet-evm", + "pallet-timestamp", + "pallet-utility", "parity-scale-codec", "scale-info", "sp-core", - "sp-inherents", "sp-io", "sp-runtime", "sp-std", - "sp-timestamp", ] [[package]] -name = "pallet-tips" +name = "pallet-evm-precompile-ed25519" +version = "2.0.0-dev" +dependencies = [ + "ed25519-dalek", + "fp-evm", +] + +[[package]] +name = "pallet-evm-precompile-modexp" +version = "2.0.0-dev" +dependencies = [ + "fp-evm", + "hex", + "num", + "pallet-evm-test-vector-support", +] + +[[package]] +name = "pallet-evm-precompile-sha3fips" +version = "2.0.0-dev" +dependencies = [ + "fp-evm", + "tiny-keccak", +] + +[[package]] +name = "pallet-evm-precompile-simple" +version = "2.0.0-dev" +dependencies = [ + "fp-evm", + "pallet-evm-test-vector-support", + "ripemd", + "sp-io", +] + +[[package]] +name = "pallet-evm-test-vector-support" +version = "1.0.0-dev" +dependencies = [ + "evm", + "fp-evm", + "hex", + "serde", + "serde_json", + "sp-core", +] + +[[package]] +name = "pallet-grandpa" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-balances", - "pallet-treasury", + "pallet-authorship", + "pallet-session", "parity-scale-codec", "scale-info", - "serde", + "sp-application-crypto", "sp-core", + "sp-finality-grandpa", "sp-io", "sp-runtime", + "sp-session", + "sp-staking", "sp-std", - "sp-storage", ] [[package]] -name = "pallet-transaction-payment" -version = "4.0.0-dev" +name = "pallet-hotfix-sufficients" +version = "1.0.0" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", - "pallet-balances", + "pallet-evm", "parity-scale-codec", "scale-info", - "serde", - "serde_json", "sp-core", "sp-io", "sp-runtime", @@ -6896,101 +5228,85 @@ dependencies = [ ] [[package]] -name = "pallet-transaction-payment-rpc" +name = "pallet-mmr" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "jsonrpsee", - "pallet-transaction-payment-rpc-runtime-api", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", - "sp-api", - "sp-blockchain", + "scale-info", "sp-core", - "sp-rpc", - "sp-runtime", - "sp-weights", -] - -[[package]] -name = "pallet-transaction-payment-rpc-runtime-api" -version = "4.0.0-dev" -dependencies = [ - "pallet-transaction-payment", - "parity-scale-codec", - "sp-api", + "sp-io", + "sp-mmr-primitives", "sp-runtime", - "sp-weights", + "sp-std", ] [[package]] -name = "pallet-transaction-storage" +name = "pallet-session" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "array-bytes", - "frame-benchmarking", "frame-support", "frame-system", + "impl-trait-for-tuples", "log", - "pallet-balances", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "serde", "sp-core", - "sp-inherents", "sp-io", "sp-runtime", + "sp-session", + "sp-staking", "sp-std", - "sp-transaction-storage-proof", + "sp-trie", ] [[package]] -name = "pallet-treasury" +name = "pallet-sudo" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "frame-benchmarking", "frame-support", "frame-system", - "impl-trait-for-tuples", - "pallet-balances", - "pallet-utility", "parity-scale-codec", "scale-info", - "serde", - "sp-core", "sp-io", "sp-runtime", "sp-std", ] [[package]] -name = "pallet-uniques" +name = "pallet-timestamp" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core", + "sp-inherents", "sp-io", "sp-runtime", "sp-std", + "sp-timestamp", ] [[package]] -name = "pallet-utility" +name = "pallet-transaction-payment" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "frame-benchmarking", "frame-support", "frame-system", - "pallet-balances", - "pallet-collective", - "pallet-root-testing", - "pallet-timestamp", "parity-scale-codec", "scale-info", + "serde", "sp-core", "sp-io", "sp-runtime", @@ -6998,34 +5314,43 @@ dependencies = [ ] [[package]] -name = "pallet-vesting" +name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-balances", + "jsonrpsee", + "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", - "scale-info", + "sp-api", + "sp-blockchain", "sp-core", - "sp-io", + "sp-rpc", "sp-runtime", - "sp-std", + "sp-weights", +] + +[[package]] +name = "pallet-transaction-payment-rpc-runtime-api" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" +dependencies = [ + "pallet-transaction-payment", + "parity-scale-codec", + "sp-api", + "sp-runtime", + "sp-weights", ] [[package]] -name = "pallet-whitelist" +name = "pallet-utility" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "pallet-balances", - "pallet-preimage", "parity-scale-codec", "scale-info", - "sp-api", "sp-core", "sp-io", "sp-runtime", @@ -7034,9 +5359,9 @@ dependencies = [ [[package]] name = "parity-db" -version = "0.4.6" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00bfb81cf5c90a222db2fb7b3a7cbf8cc7f38dfb6647aca4d98edf8281f56ed5" +checksum = "dd684a725651d9588ef21f140a328b6b4f64e646b2e931f3e6f14f75eedf9980" dependencies = [ "blake2", "crc32fast", @@ -7048,7 +5373,6 @@ dependencies = [ "memmap2", "parking_lot 0.12.1", "rand 0.8.5", - "siphasher", "snap", ] @@ -7115,7 +5439,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.7", + "parking_lot_core 0.9.6", ] [[package]] @@ -7134,15 +5458,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.45.0", + "windows-sys", ] [[package]] @@ -7201,9 +5525,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.5.5" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028accff104c4e513bad663bbcd2ad7cfd5304144404c31ed0a77ac103d00660" +checksum = "4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f" dependencies = [ "thiserror", "ucd-trie", @@ -7211,9 +5535,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.5.5" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ac3922aac69a40733080f53c1ce7f91dcf57e1a5f6c52f421fadec7fbdc4b69" +checksum = "8bf026e2d0581559db66d837fe5242320f525d85c76283c61f4d51a1238d65ea" dependencies = [ "pest", "pest_generator", @@ -7221,9 +5545,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.5.5" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06646e185566b5961b4058dd107e0a7f56e77c3f484549fb119867773c0f202" +checksum = "2b27bd18aa01d91c8ed2b61ea23406a676b42d82609c6e2581fba42f0c15f17f" dependencies = [ "pest", "pest_meta", @@ -7234,9 +5558,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.5.5" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6f60b2ba541577e2a0c307c8f39d1439108120eb7903adeb6497fa880c59616" +checksum = "9f02b677c1859756359fc9983c2e56a0237f18624a3789528804406b7e915e5d" dependencies = [ "once_cell", "pest", @@ -7245,9 +5569,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" dependencies = [ "fixedbitset", "indexmap", @@ -7297,18 +5621,8 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ - "der 0.6.1", - "spki 0.6.0", -] - -[[package]] -name = "pkcs8" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d2820d87d2b008616e5c27212dd9e0e694fb4c6b522de06094106813328cb49" -dependencies = [ - "der 0.7.1", - "spki 0.7.0", + "der", + "spki", ] [[package]] @@ -7323,40 +5637,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8d0eef3571242013a0d5dc84861c3ae4a652e56e12adf8bdc26ff5f8cb34c94" -[[package]] -name = "platforms" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" - -[[package]] -name = "plotters" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97" -dependencies = [ - "num-traits", - "plotters-backend", - "plotters-svg", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "plotters-backend" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142" - -[[package]] -name = "plotters-svg" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f" -dependencies = [ - "plotters-backend", -] - [[package]] name = "polling" version = "2.5.2" @@ -7368,7 +5648,7 @@ dependencies = [ "libc", "log", "wepoll-ffi", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -7379,31 +5659,30 @@ checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" dependencies = [ "cpufeatures", "opaque-debug 0.3.0", - "universal-hash 0.4.1", + "universal-hash", ] [[package]] name = "polyval" -version = "0.5.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" dependencies = [ - "cfg-if", - "cpufeatures", + "cpuid-bool", "opaque-debug 0.3.0", - "universal-hash 0.4.1", + "universal-hash", ] [[package]] name = "polyval" -version = "0.6.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6" +checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" dependencies = [ "cfg-if", "cpufeatures", "opaque-debug 0.3.0", - "universal-hash 0.5.0", + "universal-hash", ] [[package]] @@ -7442,18 +5721,6 @@ dependencies = [ "termtree", ] -[[package]] -name = "pretty_assertions" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755" -dependencies = [ - "ctor", - "diff", - "output_vt100", - "yansi", -] - [[package]] name = "prettyplease" version = "0.1.23" @@ -7472,6 +5739,7 @@ checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" dependencies = [ "fixed-hash", "impl-codec", + "impl-rlp", "impl-serde", "scale-info", "uint", @@ -7513,9 +5781,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.51" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" +checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" dependencies = [ "unicode-ident", ] @@ -7559,9 +5827,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.8" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537" +checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698" dependencies = [ "bytes", "prost-derive", @@ -7569,9 +5837,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.8" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12" +checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e" dependencies = [ "bytes", "heck", @@ -7604,9 +5872,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.8" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b" +checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d" dependencies = [ "anyhow", "itertools", @@ -7617,10 +5885,11 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.8" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88" +checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788" dependencies = [ + "bytes", "prost", ] @@ -7639,15 +5908,6 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" -[[package]] -name = "quickcheck" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" -dependencies = [ - "rand 0.8.5", -] - [[package]] name = "quicksink" version = "0.1.2" @@ -7754,16 +6014,6 @@ dependencies = [ "getrandom 0.2.8", ] -[[package]] -name = "rand_distr" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - [[package]] name = "rand_hc" version = "0.2.0" @@ -7818,7 +6068,7 @@ checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ "pem", "ring", - "time 0.3.20", + "time 0.3.17", "x509-parser 0.13.2", "yasna", ] @@ -7831,7 +6081,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.20", + "time 0.3.17", "yasna", ] @@ -7925,6 +6175,15 @@ dependencies = [ "winapi", ] +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi", +] + [[package]] name = "resolv-conf" version = "0.7.0" @@ -7941,21 +6200,11 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ - "crypto-bigint 0.4.9", + "crypto-bigint", "hmac 0.12.1", "zeroize", ] -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac 0.12.1", - "subtle", -] - [[package]] name = "ring" version = "0.16.20" @@ -7971,6 +6220,37 @@ dependencies = [ "winapi", ] +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.6", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rlp-derive", + "rustc-hex", +] + +[[package]] +name = "rlp-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "rocksdb" version = "0.19.0" @@ -8060,15 +6340,6 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - [[package]] name = "rustc_version" version = "0.4.0" @@ -8089,30 +6360,16 @@ dependencies = [ [[package]] name = "rustix" -version = "0.35.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" -dependencies = [ - "bitflags", - "errno", - "io-lifetimes 0.7.5", - "libc", - "linux-raw-sys 0.0.46", - "windows-sys 0.42.0", -] - -[[package]] -name = "rustix" -version = "0.36.8" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" +checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03" dependencies = [ "bitflags", "errno", - "io-lifetimes 1.0.5", + "io-lifetimes", "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.45.0", + "linux-raw-sys", + "windows-sys", ] [[package]] @@ -8167,17 +6424,6 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" -[[package]] -name = "rusty-fork" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" -dependencies = [ - "fnv", - "quick-error", - "tempfile", -] - [[package]] name = "rw-stream-sink" version = "0.3.0" @@ -8195,15 +6441,6 @@ version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" -[[package]] -name = "safe-mix" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" -dependencies = [ - "rustc_version 0.2.3", -] - [[package]] name = "safe_arch" version = "0.6.0" @@ -8225,6 +6462,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "log", "sp-core", @@ -8232,50 +6470,19 @@ dependencies = [ "thiserror", ] -[[package]] -name = "sc-authority-discovery" -version = "0.10.0-dev" -dependencies = [ - "async-trait", - "futures", - "futures-timer", - "ip_network", - "libp2p", - "log", - "parity-scale-codec", - "prost", - "prost-build", - "quickcheck", - "rand 0.8.5", - "sc-client-api", - "sc-network", - "sc-network-common", - "sp-api", - "sp-authority-discovery", - "sp-blockchain", - "sp-core", - "sp-keystore", - "sp-runtime", - "sp-tracing", - "substrate-prometheus-endpoint", - "substrate-test-runtime-client", - "thiserror", -] - [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "futures", "futures-timer", "log", "parity-scale-codec", - "parking_lot 0.12.1", "sc-block-builder", "sc-client-api", "sc-proposer-metrics", "sc-telemetry", - "sc-transaction-pool", "sc-transaction-pool-api", "sp-api", "sp-blockchain", @@ -8284,12 +6491,12 @@ dependencies = [ "sp-inherents", "sp-runtime", "substrate-prometheus-endpoint", - "substrate-test-runtime-client", ] [[package]] name = "sc-block-builder" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8300,30 +6507,27 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-state-machine", - "substrate-test-runtime-client", ] [[package]] name = "sc-chain-spec" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "memmap2", "sc-chain-spec-derive", - "sc-client-api", - "sc-executor", - "sc-network", + "sc-network-common", "sc-telemetry", "serde", "serde_json", - "sp-blockchain", "sp-core", "sp-runtime", - "sp-state-machine", ] [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -8334,13 +6538,13 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "array-bytes", "chrono", - "clap 4.1.8", + "clap", "fdlimit", "futures", - "futures-timer", "libp2p", "log", "names", @@ -8365,9 +6569,7 @@ dependencies = [ "sp-keystore", "sp-panic-handler", "sp-runtime", - "sp-tracing", "sp-version", - "tempfile", "thiserror", "tiny-bip39", "tokio", @@ -8376,6 +6578,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "fnv", "futures", @@ -8395,20 +6598,15 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-storage", - "sp-test-primitives", "substrate-prometheus-endpoint", - "substrate-test-runtime", - "thiserror", ] [[package]] name = "sc-client-db" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "array-bytes", - "criterion", "hash-db", - "kitchensink-runtime", "kvdb", "kvdb-memorydb", "kvdb-rocksdb", @@ -8417,8 +6615,6 @@ dependencies = [ "parity-db", "parity-scale-codec", "parking_lot 0.12.1", - "quickcheck", - "rand 0.8.5", "sc-client-api", "sc-state-db", "schnellru", @@ -8428,15 +6624,13 @@ dependencies = [ "sp-database", "sp-runtime", "sp-state-machine", - "sp-tracing", "sp-trie", - "substrate-test-runtime-client", - "tempfile", ] [[package]] name = "sc-consensus" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", "futures", @@ -8454,7 +6648,6 @@ dependencies = [ "sp-core", "sp-runtime", "sp-state-machine", - "sp-test-primitives", "substrate-prometheus-endpoint", "thiserror", ] @@ -8462,19 +6655,16 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", "futures", "log", "parity-scale-codec", - "parking_lot 0.12.1", "sc-block-builder", "sc-client-api", "sc-consensus", "sc-consensus-slots", - "sc-keystore", - "sc-network", - "sc-network-test", "sc-telemetry", "sp-api", "sp-application-crypto", @@ -8485,21 +6675,16 @@ dependencies = [ "sp-consensus-slots", "sp-core", "sp-inherents", - "sp-keyring", "sp-keystore", "sp-runtime", - "sp-timestamp", - "sp-tracing", "substrate-prometheus-endpoint", - "substrate-test-runtime-client", - "tempfile", "thiserror", - "tokio", ] [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", "fork-tree", @@ -8511,15 +6696,11 @@ dependencies = [ "num-traits", "parity-scale-codec", "parking_lot 0.12.1", - "rand_chacha 0.2.2", - "sc-block-builder", "sc-client-api", "sc-consensus", "sc-consensus-epochs", "sc-consensus-slots", "sc-keystore", - "sc-network", - "sc-network-test", "sc-telemetry", "scale-info", "schnorrkel", @@ -8533,193 +6714,29 @@ dependencies = [ "sp-consensus-vrf", "sp-core", "sp-inherents", - "sp-keyring", - "sp-keystore", - "sp-runtime", - "sp-timestamp", - "sp-tracing", - "substrate-prometheus-endpoint", - "substrate-test-runtime-client", - "thiserror", - "tokio", -] - -[[package]] -name = "sc-consensus-babe-rpc" -version = "0.10.0-dev" -dependencies = [ - "futures", - "jsonrpsee", - "sc-consensus", - "sc-consensus-babe", - "sc-consensus-epochs", - "sc-keystore", - "sc-rpc-api", - "serde", - "serde_json", - "sp-api", - "sp-application-crypto", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-core", - "sp-keyring", - "sp-keystore", - "sp-runtime", - "substrate-test-runtime-client", - "thiserror", - "tokio", -] - -[[package]] -name = "sc-consensus-beefy" -version = "4.0.0-dev" -dependencies = [ - "array-bytes", - "async-trait", - "fnv", - "futures", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-keystore", - "sc-network", - "sc-network-common", - "sc-network-gossip", - "sc-network-sync", - "sc-network-test", - "sc-utils", - "serde", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-beefy", - "sp-consensus-grandpa", - "sp-core", - "sp-keyring", "sp-keystore", - "sp-mmr-primitives", "sp-runtime", - "sp-tracing", "substrate-prometheus-endpoint", - "substrate-test-runtime-client", - "tempfile", - "thiserror", - "tokio", - "wasm-timer", -] - -[[package]] -name = "sc-consensus-beefy-rpc" -version = "4.0.0-dev" -dependencies = [ - "futures", - "jsonrpsee", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-consensus-beefy", - "sc-rpc", - "serde", - "serde_json", - "sp-consensus-beefy", - "sp-core", - "sp-runtime", - "substrate-test-runtime-client", "thiserror", - "tokio", ] [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "fork-tree", - "parity-scale-codec", - "sc-client-api", - "sc-consensus", - "sp-blockchain", - "sp-runtime", -] - -[[package]] -name = "sc-consensus-grandpa" -version = "0.10.0-dev" -dependencies = [ - "ahash 0.8.3", - "array-bytes", - "assert_matches", - "async-trait", - "dyn-clone", - "finality-grandpa", - "fork-tree", - "futures", - "futures-timer", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.8.5", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-common", - "sc-network-gossip", - "sc-network-test", - "sc-telemetry", - "sc-utils", - "serde", - "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-grandpa", - "sp-core", - "sp-keyring", - "sp-keystore", - "sp-runtime", - "sp-tracing", - "substrate-prometheus-endpoint", - "substrate-test-runtime-client", - "thiserror", - "tokio", -] - -[[package]] -name = "sc-consensus-grandpa-rpc" -version = "0.10.0-dev" -dependencies = [ - "finality-grandpa", - "futures", - "jsonrpsee", - "log", + "fork-tree", "parity-scale-codec", - "sc-block-builder", "sc-client-api", - "sc-consensus-grandpa", - "sc-rpc", - "serde", + "sc-consensus", "sp-blockchain", - "sp-consensus-grandpa", - "sp-core", - "sp-keyring", "sp-runtime", - "substrate-test-runtime-client", - "thiserror", - "tokio", ] [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "assert_matches", "async-trait", @@ -8727,7 +6744,6 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "sc-basic-authorship", "sc-client-api", "sc-consensus", "sc-consensus-aura", @@ -8748,39 +6764,13 @@ dependencies = [ "sp-runtime", "sp-timestamp", "substrate-prometheus-endpoint", - "substrate-test-runtime-client", - "substrate-test-runtime-transaction-pool", - "thiserror", - "tokio", -] - -[[package]] -name = "sc-consensus-pow" -version = "0.10.0-dev" -dependencies = [ - "async-trait", - "futures", - "futures-timer", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-client-api", - "sc-consensus", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-pow", - "sp-core", - "sp-inherents", - "sp-runtime", - "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", "futures", @@ -8798,107 +6788,126 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-state-machine", - "substrate-test-runtime-client", ] [[package]] name = "sc-executor" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "array-bytes", - "assert_matches", - "criterion", - "env_logger 0.9.3", "lru", - "num_cpus", "parity-scale-codec", "parking_lot 0.12.1", - "paste", - "regex", "sc-executor-common", "sc-executor-wasmi", "sc-executor-wasmtime", - "sc-runtime-test", - "sc-tracing", "sp-api", "sp-core", "sp-externalities", "sp-io", - "sp-maybe-compressed-blob", "sp-panic-handler", - "sp-runtime", "sp-runtime-interface", - "sp-state-machine", - "sp-tracing", "sp-trie", "sp-version", "sp-wasm-interface", - "substrate-test-runtime", - "tempfile", "tracing", - "tracing-subscriber 0.2.25", - "wasmi 0.13.2", - "wat", + "wasmi", ] [[package]] name = "sc-executor-common" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", "sp-wasm-interface", "thiserror", - "wasm-instrument 0.3.0", - "wasmi 0.13.2", + "wasm-instrument", + "wasmi", ] [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "log", "sc-allocator", "sc-executor-common", "sp-runtime-interface", "sp-wasm-interface", - "wasmi 0.13.2", + "wasmi", ] [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "anyhow", - "cargo_metadata", "cfg-if", "libc", "log", "once_cell", - "parity-scale-codec", - "paste", - "rustix 0.36.8", + "rustix", "sc-allocator", "sc-executor-common", - "sc-runtime-test", - "sp-io", "sp-runtime-interface", "sp-wasm-interface", - "tempfile", "wasmtime", - "wat", +] + +[[package]] +name = "sc-finality-grandpa" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" +dependencies = [ + "ahash 0.8.3", + "array-bytes", + "async-trait", + "dyn-clone", + "finality-grandpa", + "fork-tree", + "futures", + "futures-timer", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "rand 0.8.5", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-common", + "sc-network-gossip", + "sc-telemetry", + "sc-utils", + "serde_json", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-finality-grandpa", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror", ] [[package]] name = "sc-informant" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "ansi_term", "futures", "futures-timer", "log", "sc-client-api", - "sc-network", "sc-network-common", "sp-blockchain", "sp-runtime", @@ -8907,6 +6916,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "array-bytes", "async-trait", @@ -8915,19 +6925,18 @@ dependencies = [ "sp-application-crypto", "sp-core", "sp-keystore", - "tempfile", "thiserror", ] [[package]] name = "sc-network" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "array-bytes", - "assert_matches", - "async-channel", "async-trait", "asynchronous-codec", + "backtrace", "bytes", "either", "fnv", @@ -8935,11 +6944,9 @@ dependencies = [ "futures-timer", "ip_network", "libp2p", - "linked_hash_set", "log", "lru", "mockall", - "multistream-select", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", @@ -8948,8 +6955,6 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-network-common", - "sc-network-light", - "sc-network-sync", "sc-peerset", "sc-utils", "serde", @@ -8960,16 +6965,8 @@ dependencies = [ "sp-consensus", "sp-core", "sp-runtime", - "sp-test-primitives", - "sp-tracing", "substrate-prometheus-endpoint", - "substrate-test-runtime", - "substrate-test-runtime-client", - "tempfile", "thiserror", - "tokio", - "tokio-test", - "tokio-util", "unsigned-varint", "zeroize", ] @@ -8977,6 +6974,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "cid", "futures", @@ -8984,53 +6982,44 @@ dependencies = [ "log", "prost", "prost-build", - "sc-block-builder", "sc-client-api", - "sc-consensus", - "sc-network", "sc-network-common", "sp-blockchain", - "sp-consensus", - "sp-core", "sp-runtime", - "substrate-test-runtime", - "substrate-test-runtime-client", "thiserror", - "tokio", "unsigned-varint", ] [[package]] name = "sc-network-common" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "array-bytes", "async-trait", "bitflags", "bytes", "futures", "futures-timer", "libp2p", + "linked_hash_set", "parity-scale-codec", "prost-build", "sc-consensus", "sc-peerset", - "sc-utils", "serde", "smallvec", "sp-blockchain", "sp-consensus", - "sp-consensus-grandpa", + "sp-finality-grandpa", "sp-runtime", "substrate-prometheus-endpoint", - "tempfile", "thiserror", - "zeroize", ] [[package]] name = "sc-network-gossip" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "ahash 0.8.3", "futures", @@ -9038,20 +7027,17 @@ dependencies = [ "libp2p", "log", "lru", - "quickcheck", - "sc-network", "sc-network-common", "sc-peerset", "sp-runtime", "substrate-prometheus-endpoint", - "substrate-test-runtime-client", - "tokio", "tracing", ] [[package]] name = "sc-network-light" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "array-bytes", "futures", @@ -9061,7 +7047,6 @@ dependencies = [ "prost", "prost-build", "sc-client-api", - "sc-network", "sc-network-common", "sc-peerset", "sp-blockchain", @@ -9073,12 +7058,12 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "array-bytes", "async-trait", "fork-tree", "futures", - "futures-timer", "libp2p", "log", "lru", @@ -9086,11 +7071,8 @@ dependencies = [ "parity-scale-codec", "prost", "prost-build", - "quickcheck", - "sc-block-builder", "sc-client-api", "sc-consensus", - "sc-network", "sc-network-common", "sc-peerset", "sc-utils", @@ -9098,50 +7080,17 @@ dependencies = [ "sp-arithmetic", "sp-blockchain", "sp-consensus", - "sp-consensus-grandpa", "sp-core", + "sp-finality-grandpa", "sp-runtime", - "sp-test-primitives", - "sp-tracing", "substrate-prometheus-endpoint", - "substrate-test-runtime-client", "thiserror", - "tokio", -] - -[[package]] -name = "sc-network-test" -version = "0.8.0" -dependencies = [ - "async-trait", - "futures", - "futures-timer", - "libp2p", - "log", - "parking_lot 0.12.1", - "rand 0.8.5", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-common", - "sc-network-light", - "sc-network-sync", - "sc-service", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-core", - "sp-runtime", - "sp-tracing", - "substrate-test-runtime", - "substrate-test-runtime-client", - "tokio", ] [[package]] name = "sc-network-transactions" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "array-bytes", "futures", @@ -9149,7 +7098,6 @@ dependencies = [ "log", "parity-scale-codec", "pin-project", - "sc-network", "sc-network-common", "sc-peerset", "sc-utils", @@ -9161,6 +7109,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "array-bytes", "bytes", @@ -9169,42 +7118,32 @@ dependencies = [ "futures-timer", "hyper", "hyper-rustls", - "lazy_static", "libp2p", "num_cpus", "once_cell", "parity-scale-codec", "parking_lot 0.12.1", "rand 0.8.5", - "sc-block-builder", "sc-client-api", - "sc-client-db", - "sc-network", "sc-network-common", "sc-peerset", - "sc-transaction-pool", - "sc-transaction-pool-api", "sc-utils", "sp-api", - "sp-consensus", "sp-core", "sp-offchain", "sp-runtime", - "sp-tracing", - "substrate-test-runtime-client", "threadpool", - "tokio", "tracing", ] [[package]] name = "sc-peerset" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "futures", "libp2p", "log", - "rand 0.8.5", "sc-utils", "serde_json", "wasm-timer", @@ -9213,6 +7152,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9221,9 +7161,8 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "assert_matches", - "env_logger 0.9.3", "futures", "jsonrpsee", "log", @@ -9232,32 +7171,27 @@ dependencies = [ "sc-block-builder", "sc-chain-spec", "sc-client-api", - "sc-network", - "sc-network-common", "sc-rpc-api", "sc-tracing", - "sc-transaction-pool", "sc-transaction-pool-api", "sc-utils", "serde_json", "sp-api", "sp-blockchain", - "sp-consensus", "sp-core", - "sp-io", "sp-keystore", "sp-offchain", "sp-rpc", "sp-runtime", "sp-session", "sp-version", - "substrate-test-runtime-client", "tokio", ] [[package]] name = "sc-rpc-api" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9276,6 +7210,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "http", "jsonrpsee", @@ -9290,9 +7225,9 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "array-bytes", - "assert_matches", "futures", "futures-util", "hex", @@ -9300,42 +7235,23 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.1", - "sc-block-builder", "sc-chain-spec", "sc-client-api", "sc-transaction-pool-api", - "sc-utils", "serde", - "serde_json", "sp-api", "sp-blockchain", - "sp-consensus", "sp-core", - "sp-maybe-compressed-blob", "sp-runtime", "sp-version", - "substrate-test-runtime", - "substrate-test-runtime-client", "thiserror", - "tokio", "tokio-stream", ] -[[package]] -name = "sc-runtime-test" -version = "2.0.0" -dependencies = [ - "sp-core", - "sp-io", - "sp-runtime", - "sp-runtime-interface", - "sp-std", - "substrate-wasm-builder", -] - [[package]] name = "sc-service" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", "directories", @@ -9391,8 +7307,6 @@ dependencies = [ "sp-version", "static_init", "substrate-prometheus-endpoint", - "substrate-test-runtime", - "substrate-test-runtime-client", "tempfile", "thiserror", "tokio", @@ -9400,46 +7314,10 @@ dependencies = [ "tracing-futures", ] -[[package]] -name = "sc-service-test" -version = "2.0.0" -dependencies = [ - "array-bytes", - "async-channel", - "fdlimit", - "futures", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-block-builder", - "sc-client-api", - "sc-client-db", - "sc-consensus", - "sc-executor", - "sc-network", - "sc-network-common", - "sc-network-sync", - "sc-service", - "sc-transaction-pool-api", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-io", - "sp-runtime", - "sp-state-machine", - "sp-storage", - "sp-tracing", - "sp-trie", - "substrate-test-runtime", - "substrate-test-runtime-client", - "tempfile", - "tokio", -] - [[package]] name = "sc-state-db" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "log", "parity-scale-codec", @@ -9450,11 +7328,12 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.1.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "clap 4.1.8", - "fs4", + "clap", "futures", "log", + "nix 0.26.2", "sc-client-db", "sc-utils", "sp-core", @@ -9462,27 +7341,10 @@ dependencies = [ "tokio", ] -[[package]] -name = "sc-sync-state-rpc" -version = "0.10.0-dev" -dependencies = [ - "jsonrpsee", - "parity-scale-codec", - "sc-chain-spec", - "sc-client-api", - "sc-consensus-babe", - "sc-consensus-epochs", - "sc-consensus-grandpa", - "serde", - "serde_json", - "sp-blockchain", - "sp-runtime", - "thiserror", -] - [[package]] name = "sc-sysinfo" version = "6.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "futures", "libc", @@ -9495,13 +7357,13 @@ dependencies = [ "serde_json", "sp-core", "sp-io", - "sp-runtime", "sp-std", ] [[package]] name = "sc-telemetry" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "chrono", "futures", @@ -9520,11 +7382,11 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "ansi_term", "atty", "chrono", - "criterion", "lazy_static", "libc", "log", @@ -9545,12 +7407,13 @@ dependencies = [ "thiserror", "tracing", "tracing-log", - "tracing-subscriber 0.2.25", + "tracing-subscriber", ] [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -9561,11 +7424,9 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "array-bytes", - "assert_matches", "async-trait", - "criterion", "futures", "futures-timer", "linked-hash-map", @@ -9573,34 +7434,29 @@ dependencies = [ "num-traits", "parity-scale-codec", "parking_lot 0.12.1", - "sc-block-builder", "sc-client-api", "sc-transaction-pool-api", "sc-utils", "serde", "sp-api", "sp-blockchain", - "sp-consensus", "sp-core", "sp-runtime", "sp-tracing", "sp-transaction-pool", "substrate-prometheus-endpoint", - "substrate-test-runtime", - "substrate-test-runtime-client", - "substrate-test-runtime-transaction-pool", "thiserror", ] [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", "futures", "log", "serde", - "serde_json", "sp-blockchain", "sp-runtime", "thiserror", @@ -9609,16 +7465,15 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "async-channel", + "backtrace", "futures", "futures-timer", "lazy_static", "log", "parking_lot 0.12.1", "prometheus", - "sp-arithmetic", - "tokio-test", ] [[package]] @@ -9653,7 +7508,7 @@ version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -9735,24 +7590,10 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ - "base16ct 0.1.1", - "der 0.6.1", - "generic-array 0.14.6", - "pkcs8 0.9.0", - "subtle", - "zeroize", -] - -[[package]] -name = "sec1" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48518a2b5775ba8ca5b46596aae011caa431e6ce7e4a67ead66d92f08884220e" -dependencies = [ - "base16ct 0.2.0", - "der 0.7.1", + "base16ct", + "der", "generic-array 0.14.6", - "pkcs8 0.10.1", + "pkcs8", "subtle", "zeroize", ] @@ -9786,9 +7627,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.2" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" +checksum = "7c4437699b6d34972de58652c68b98cb5b53a4199ab126db8e20ec8ded29a721" dependencies = [ "bitflags", "core-foundation", @@ -9816,15 +7657,6 @@ dependencies = [ "semver-parser", ] -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - [[package]] name = "semver" version = "1.0.16" @@ -9884,17 +7716,6 @@ dependencies = [ "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.6", -] - [[package]] name = "sha2" version = "0.8.2" @@ -9958,9 +7779,9 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" dependencies = [ "libc", ] @@ -9975,16 +7796,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "signature" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fe458c98333f9c8152221191a77e2a44e8325d0193484af2e9421a53019e57d" -dependencies = [ - "digest 0.10.6", - "rand_core 0.6.4", -] - [[package]] name = "simba" version = "0.8.0" @@ -9998,17 +7809,11 @@ dependencies = [ "wide", ] -[[package]] -name = "siphasher" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" - [[package]] name = "slab" -version = "0.4.8" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" dependencies = [ "autocfg", ] @@ -10033,17 +7838,17 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snow" -version = "0.9.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d" +checksum = "774d05a3edae07ce6d68ea6984f3c05e9bba8927e3dd591e3b479e5b03213d0d" dependencies = [ "aes-gcm 0.9.4", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-rc.0", + "curve25519-dalek 4.0.0-pre.1", "rand_core 0.6.4", "ring", - "rustc_version 0.4.0", + "rustc_version", "sha2 0.10.6", "subtle", ] @@ -10078,6 +7883,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "hash-db", "log", @@ -10087,7 +7893,6 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-std", - "sp-test-primitives", "sp-trie", "sp-version", "thiserror", @@ -10096,40 +7901,19 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "Inflector", "blake2", - "expander", "proc-macro-crate", "proc-macro2", "quote", "syn", ] -[[package]] -name = "sp-api-test" -version = "2.0.1" -dependencies = [ - "criterion", - "futures", - "log", - "parity-scale-codec", - "rustversion", - "sc-block-builder", - "sp-api", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-tracing", - "sp-version", - "substrate-test-runtime-client", - "trybuild", -] - [[package]] name = "sp-application-crypto" version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "parity-scale-codec", "scale-info", @@ -10139,63 +7923,43 @@ dependencies = [ "sp-std", ] -[[package]] -name = "sp-application-crypto-test" -version = "2.0.0" -dependencies = [ - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", - "substrate-test-runtime-client", -] - [[package]] name = "sp-arithmetic" version = "6.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "criterion", "integer-sqrt", "num-traits", "parity-scale-codec", - "primitive-types", - "rand 0.8.5", "scale-info", "serde", - "sp-core", "sp-std", "static_assertions", ] [[package]] -name = "sp-arithmetic-fuzzer" -version = "2.0.0" -dependencies = [ - "arbitrary", - "fraction", - "honggfuzz", - "num-bigint", - "num-traits", - "primitive-types", - "sp-arithmetic", -] - -[[package]] -name = "sp-authority-discovery" +name = "sp-beefy" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ + "lazy_static", "parity-scale-codec", "scale-info", + "serde", "sp-api", "sp-application-crypto", + "sp-core", + "sp-io", + "sp-mmr-primitives", "sp-runtime", "sp-std", + "strum", ] [[package]] name = "sp-block-builder" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "parity-scale-codec", "sp-api", @@ -10207,6 +7971,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "futures", "log", @@ -10224,21 +7989,25 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", "futures", "log", + "parity-scale-codec", "sp-core", "sp-inherents", "sp-runtime", "sp-state-machine", - "sp-test-primitives", + "sp-std", + "sp-version", "thiserror", ] [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", "parity-scale-codec", @@ -10256,6 +8025,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", "merlin", @@ -10275,57 +8045,10 @@ dependencies = [ "sp-timestamp", ] -[[package]] -name = "sp-consensus-beefy" -version = "4.0.0-dev" -dependencies = [ - "array-bytes", - "lazy_static", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-keystore", - "sp-mmr-primitives", - "sp-runtime", - "sp-std", - "strum", -] - -[[package]] -name = "sp-consensus-grandpa" -version = "4.0.0-dev" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-consensus-pow" -version = "0.10.0-dev" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-core", - "sp-runtime", - "sp-std", -] - [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "parity-scale-codec", "scale-info", @@ -10337,6 +8060,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "parity-scale-codec", "scale-info", @@ -10349,13 +8073,13 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "array-bytes", + "base58", "bitflags", "blake2", "bounded-collections", - "bs58", - "criterion", "dyn-clonable", "ed25519-zebra", "futures", @@ -10376,13 +8100,10 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "serde_json", "sp-core-hashing", - "sp-core-hashing-proc-macro", "sp-debug-derive", "sp-externalities", "sp-runtime-interface", - "sp-serializer", "sp-std", "sp-storage", "ss58-registry", @@ -10395,8 +8116,9 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "blake2b_simd", + "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", @@ -10408,6 +8130,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "proc-macro2", "quote", @@ -10418,6 +8141,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -10426,6 +8150,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "proc-macro2", "quote", @@ -10435,6 +8160,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "environmental", "parity-scale-codec", @@ -10442,12 +8168,30 @@ dependencies = [ "sp-storage", ] +[[package]] +name = "sp-finality-grandpa" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" +dependencies = [ + "finality-grandpa", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "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?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", - "futures", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", @@ -10460,6 +8204,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "bytes", "ed25519", @@ -10468,7 +8213,6 @@ dependencies = [ "libsecp256k1", "log", "parity-scale-codec", - "rustversion", "secp256k1", "sp-core", "sp-externalities", @@ -10485,6 +8229,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "lazy_static", "sp-core", @@ -10495,13 +8240,13 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ + "async-trait", "futures", "merlin", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.7.3", - "rand_chacha 0.2.2", "schnorrkel", "serde", "sp-core", @@ -10512,6 +8257,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "thiserror", "zstd", @@ -10520,8 +8266,8 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "array-bytes", "ckb-merkle-mountain-range", "log", "parity-scale-codec", @@ -10535,37 +8281,10 @@ dependencies = [ "thiserror", ] -[[package]] -name = "sp-npos-elections" -version = "4.0.0-dev" -dependencies = [ - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "serde", - "sp-arithmetic", - "sp-core", - "sp-runtime", - "sp-std", - "substrate-test-utils", -] - -[[package]] -name = "sp-npos-elections-fuzzer" -version = "2.0.0-alpha.5" -dependencies = [ - "clap 4.1.8", - "honggfuzz", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sp-npos-elections", - "sp-runtime", -] - [[package]] name = "sp-offchain" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "sp-api", "sp-core", @@ -10575,6 +8294,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "backtrace", "lazy_static", @@ -10584,16 +8304,17 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "rustc-hash", "serde", - "serde_json", "sp-core", ] [[package]] name = "sp-runtime" version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "either", "hash256-std-hasher", @@ -10604,104 +8325,48 @@ dependencies = [ "rand 0.8.5", "scale-info", "serde", - "serde_json", - "sp-api", "sp-application-crypto", "sp-arithmetic", "sp-core", "sp-io", - "sp-state-machine", "sp-std", - "sp-tracing", "sp-weights", - "substrate-test-runtime-client", - "zstd", ] [[package]] name = "sp-runtime-interface" version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "rustversion", - "sp-core", - "sp-externalities", - "sp-io", - "sp-runtime-interface-proc-macro", - "sp-runtime-interface-test-wasm", - "sp-state-machine", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", - "static_assertions", - "trybuild", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "6.0.0" -dependencies = [ - "Inflector", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-runtime-interface-test" -version = "2.0.0" -dependencies = [ - "sc-executor", - "sc-executor-common", - "sp-io", - "sp-runtime", - "sp-runtime-interface", - "sp-runtime-interface-test-wasm", - "sp-runtime-interface-test-wasm-deprecated", - "sp-state-machine", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-runtime-interface-test-wasm" -version = "2.0.0" -dependencies = [ - "bytes", - "sp-core", - "sp-io", - "sp-runtime-interface", - "sp-std", - "substrate-wasm-builder", -] - -[[package]] -name = "sp-runtime-interface-test-wasm-deprecated" -version = "2.0.0" -dependencies = [ - "sp-core", - "sp-io", - "sp-runtime-interface", + "sp-externalities", + "sp-runtime-interface-proc-macro", "sp-std", - "substrate-wasm-builder", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", + "static_assertions", ] [[package]] -name = "sp-serializer" -version = "4.0.0-dev" +name = "sp-runtime-interface-proc-macro" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "serde", - "serde_json", + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", ] [[package]] name = "sp-session" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "parity-scale-codec", "scale-info", @@ -10715,6 +8380,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "parity-scale-codec", "scale-info", @@ -10726,34 +8392,32 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "array-bytes", - "assert_matches", "hash-db", "log", "parity-scale-codec", "parking_lot 0.12.1", - "pretty_assertions", "rand 0.8.5", "smallvec", "sp-core", "sp-externalities", "sp-panic-handler", - "sp-runtime", "sp-std", "sp-trie", "thiserror", "tracing", - "trie-db", ] [[package]] name = "sp-std" version = "5.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" [[package]] name = "sp-storage" version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10763,20 +8427,10 @@ dependencies = [ "sp-std", ] -[[package]] -name = "sp-test-primitives" -version = "2.0.0" -dependencies = [ - "parity-scale-codec", - "serde", - "sp-application-crypto", - "sp-core", - "sp-runtime", -] - [[package]] name = "sp-timestamp" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", "futures-timer", @@ -10791,17 +8445,19 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "parity-scale-codec", "sp-std", "tracing", "tracing-core", - "tracing-subscriber 0.2.25", + "tracing-subscriber", ] [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "sp-api", "sp-runtime", @@ -10810,6 +8466,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "async-trait", "log", @@ -10825,12 +8482,11 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "ahash 0.8.3", - "array-bytes", - "criterion", "hash-db", - "hashbrown 0.13.2", + "hashbrown 0.12.3", "lazy_static", "memory-db", "nohash-hasher", @@ -10839,19 +8495,17 @@ dependencies = [ "scale-info", "schnellru", "sp-core", - "sp-runtime", "sp-std", "thiserror", "tracing", - "trie-bench", "trie-db", "trie-root", - "trie-standardmap", ] [[package]] name = "sp-version" version = "5.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10868,30 +8522,32 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "sp-version", "syn", ] [[package]] name = "sp-wasm-interface" version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "anyhow", "impl-trait-for-tuples", "log", "parity-scale-codec", "sp-std", - "wasmi 0.13.2", + "wasmi", "wasmtime", ] [[package]] name = "sp-weights" version = "4.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "parity-scale-codec", "scale-info", @@ -10911,9 +8567,12 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spin" -version = "0.9.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dccf47db1b41fa1573ed27ccf5e08e3ca771cb994f776668c5ebda893b248fc" +checksum = "c0959fd6f767df20b231736396e4f602171e00d95205676286e79d4a4eb67bef" +dependencies = [ + "lock_api", +] [[package]] name = "spki" @@ -10922,24 +8581,109 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", - "der 0.6.1", + "der", ] [[package]] -name = "spki" -version = "0.7.0" +name = "sqlformat" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0445c905640145c7ea8c1993555957f65e7c46d0535b91ba501bc9bfc85522f" +checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e" dependencies = [ - "base64ct", - "der 0.7.1", + "itertools", + "nom", + "unicode_categories", +] + +[[package]] +name = "sqlx" +version = "0.6.2" +source = "git+https://github.com/PureStake/sqlx?branch=v0.6.2-timeout#607635f001c948b6db2347d30aaa56930cbf3cca" +dependencies = [ + "sqlx-core", + "sqlx-macros", +] + +[[package]] +name = "sqlx-core" +version = "0.6.2" +source = "git+https://github.com/PureStake/sqlx?branch=v0.6.2-timeout#607635f001c948b6db2347d30aaa56930cbf3cca" +dependencies = [ + "ahash 0.7.6", + "atoi", + "bitflags", + "byteorder", + "bytes", + "crc", + "crossbeam-queue", + "dotenvy", + "either", + "event-listener", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "hashlink", + "hex", + "indexmap", + "itoa", + "libc", + "libsqlite3-sys", + "log", + "memchr", + "once_cell", + "paste", + "percent-encoding", + "serde", + "sha2 0.10.6", + "smallvec", + "sqlformat", + "sqlx-rt", + "stringprep", + "thiserror", + "tokio-stream", + "url", +] + +[[package]] +name = "sqlx-macros" +version = "0.6.2" +source = "git+https://github.com/PureStake/sqlx?branch=v0.6.2-timeout#607635f001c948b6db2347d30aaa56930cbf3cca" +dependencies = [ + "dotenvy", + "either", + "heck", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2 0.10.6", + "sqlx-core", + "sqlx-rt", + "syn", + "url", +] + +[[package]] +name = "sqlx-rt" +version = "0.6.2" +source = "git+https://github.com/PureStake/sqlx?branch=v0.6.2-timeout#607635f001c948b6db2347d30aaa56930cbf3cca" +dependencies = [ + "native-tls", + "once_cell", + "tokio", + "tokio-native-tls", ] [[package]] name = "ss58-registry" -version = "1.39.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" +checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" dependencies = [ "Inflector", "num-format", @@ -10990,6 +8734,16 @@ dependencies = [ "syn", ] +[[package]] +name = "stringprep" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "strsim" version = "0.10.0" @@ -11037,14 +8791,6 @@ dependencies = [ "webrtc-util", ] -[[package]] -name = "subkey" -version = "3.0.0" -dependencies = [ - "clap 4.1.8", - "sc-cli", -] - [[package]] name = "substrate-bip39" version = "0.4.4" @@ -11059,67 +8805,49 @@ dependencies = [ ] [[package]] -name = "substrate-build-script-utils" -version = "3.0.0" -dependencies = [ - "platforms 2.0.0", -] - -[[package]] -name = "substrate-frame-cli" -version = "4.0.0-dev" +name = "substrate-bn" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b5bbfa79abbae15dd642ea8176a21a635ff3c00059961d1ea27ad04e5b441c" dependencies = [ - "clap 4.1.8", - "frame-support", - "frame-system", - "sc-cli", - "sp-core", - "sp-runtime", + "byteorder", + "crunchy", + "lazy_static", + "rand 0.8.5", + "rustc-hex", ] [[package]] -name = "substrate-frame-rpc-support" +name = "substrate-build-script-utils" version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "frame-support", - "frame-system", - "jsonrpsee", - "parity-scale-codec", - "sc-rpc-api", - "scale-info", - "serde", - "sp-core", - "sp-runtime", - "sp-storage", - "tokio", + "platforms", ] [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "assert_matches", "frame-system-rpc-runtime-api", "futures", "jsonrpsee", "log", "parity-scale-codec", "sc-rpc-api", - "sc-transaction-pool", "sc-transaction-pool-api", "sp-api", "sp-block-builder", "sp-blockchain", "sp-core", "sp-runtime", - "sp-tracing", - "substrate-test-runtime-client", - "tokio", ] [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "hyper", "log", @@ -11128,42 +8856,10 @@ dependencies = [ "tokio", ] -[[package]] -name = "substrate-rpc-client" -version = "0.10.0-dev" -dependencies = [ - "async-trait", - "jsonrpsee", - "log", - "sc-rpc-api", - "serde", - "sp-core", - "sp-runtime", - "tokio", -] - -[[package]] -name = "substrate-state-trie-migration-rpc" -version = "4.0.0-dev" -dependencies = [ - "jsonrpsee", - "log", - "parity-scale-codec", - "sc-client-api", - "sc-rpc-api", - "scale-info", - "serde", - "serde_json", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-trie", - "trie-db", -] - [[package]] name = "substrate-test-client" version = "2.0.1" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "array-bytes", "async-trait", @@ -11189,117 +8885,69 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "cfg-if", "frame-support", "frame-system", "frame-system-rpc-runtime-api", - "futures", "log", "memory-db", "pallet-babe", "pallet-beefy-mmr", "pallet-timestamp", "parity-scale-codec", - "sc-block-builder", - "sc-executor", "sc-service", "scale-info", "serde", "sp-api", "sp-application-crypto", + "sp-beefy", "sp-block-builder", - "sp-consensus", "sp-consensus-aura", "sp-consensus-babe", - "sp-consensus-beefy", - "sp-consensus-grandpa", "sp-core", "sp-externalities", - "sp-inherents", - "sp-io", - "sp-keyring", - "sp-offchain", - "sp-runtime", - "sp-runtime-interface", - "sp-session", - "sp-state-machine", - "sp-std", - "sp-transaction-pool", - "sp-trie", - "sp-version", - "substrate-test-runtime-client", - "substrate-wasm-builder", - "trie-db", -] - -[[package]] -name = "substrate-test-runtime-client" -version = "2.0.0" -dependencies = [ - "futures", - "parity-scale-codec", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-consensus", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "substrate-test-client", - "substrate-test-runtime", -] - -[[package]] -name = "substrate-test-runtime-transaction-pool" -version = "2.0.0" -dependencies = [ - "futures", - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-transaction-pool", - "sc-transaction-pool-api", - "sp-blockchain", - "sp-runtime", - "substrate-test-runtime-client", - "thiserror", -] - -[[package]] -name = "substrate-test-utils" -version = "4.0.0-dev" -dependencies = [ - "futures", - "sc-service", - "substrate-test-utils-derive", - "tokio", - "trybuild", -] - -[[package]] -name = "substrate-test-utils-derive" -version = "0.10.0-dev" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", + "sp-finality-grandpa", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-offchain", + "sp-runtime", + "sp-runtime-interface", + "sp-session", + "sp-state-machine", + "sp-std", + "sp-transaction-pool", + "sp-trie", + "sp-version", + "substrate-wasm-builder", + "trie-db", ] [[package]] -name = "substrate-test-utils-test-crate" -version = "0.1.0" +name = "substrate-test-runtime-client" +version = "2.0.0" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ - "sc-service", - "substrate-test-utils", - "tokio", + "futures", + "parity-scale-codec", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "substrate-test-client", + "substrate-test-runtime", ] [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#1837f423b494254e1d27834b1c9da34b2c0c2375" dependencies = [ "ansi_term", "build-helper", @@ -11330,9 +8978,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.109" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -11380,21 +9028,22 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.6" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" +checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" [[package]] name = "tempfile" -version = "3.4.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" dependencies = [ "cfg-if", "fastrand", + "libc", "redox_syscall", - "rustix 0.36.8", - "windows-sys 0.42.0", + "remove_dir_all", + "winapi", ] [[package]] @@ -11412,12 +9061,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8" -[[package]] -name = "textwrap" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" - [[package]] name = "thiserror" version = "1.0.38" @@ -11446,11 +9089,10 @@ checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" dependencies = [ - "cfg-if", "once_cell", ] @@ -11465,11 +9107,12 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.3+5.3.0-patched" +version = "0.5.2+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" +checksum = "ec45c14da997d0925c7835883e4d5c181f196fa142f8c19d7643d1e9af2592c3" dependencies = [ "cc", + "fs_extra", "libc", ] @@ -11486,9 +9129,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.20" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" +checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" dependencies = [ "itoa", "serde", @@ -11504,9 +9147,9 @@ checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" [[package]] name = "time-macros" -version = "0.2.8" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" +checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" dependencies = [ "time-core", ] @@ -11560,15 +9203,15 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.25.0" +version = "1.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" +checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" dependencies = [ "autocfg", "bytes", @@ -11581,7 +9224,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -11595,6 +9238,16 @@ dependencies = [ "syn", ] +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.23.4" @@ -11608,9 +9261,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.12" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" +checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" dependencies = [ "futures-core", "pin-project-lite 0.2.9", @@ -11618,24 +9271,11 @@ dependencies = [ "tokio-util", ] -[[package]] -name = "tokio-test" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53474327ae5e166530d17f2d956afcb4f8a004de581b3cae10f12006bc8163e3" -dependencies = [ - "async-stream", - "bytes", - "futures-core", - "tokio", - "tokio-stream", -] - [[package]] name = "tokio-util" -version = "0.7.7" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" dependencies = [ "bytes", "futures-core", @@ -11770,7 +9410,7 @@ dependencies = [ "ansi_term", "chrono", "lazy_static", - "matchers 0.0.1", + "matchers", "parking_lot 0.11.2", "regex", "serde", @@ -11784,45 +9424,11 @@ dependencies = [ "tracing-serde", ] -[[package]] -name = "tracing-subscriber" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" -dependencies = [ - "matchers 0.1.0", - "nu-ansi-term", - "once_cell", - "regex", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "trie-bench" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f54b4f9d51d368e62cf7e0730c7c1e18fc658cc84333656bab5b328f44aa964" -dependencies = [ - "criterion", - "hash-db", - "keccak-hasher", - "memory-db", - "parity-scale-codec", - "trie-db", - "trie-root", - "trie-standardmap", -] - [[package]] name = "trie-db" -version = "0.27.1" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767abe6ffed88a1889671a102c2861ae742726f52e0a5a425b92c9fbfa7e9c85" +checksum = "3390c0409daaa6027d6681393316f4ccd3ff82e1590a1e4725014e3ae2bf1920" dependencies = [ "hash-db", "hashbrown 0.13.2", @@ -11833,21 +9439,21 @@ dependencies = [ [[package]] name = "trie-root" -version = "0.18.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" +checksum = "9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891" dependencies = [ "hash-db", ] [[package]] -name = "trie-standardmap" -version = "0.16.0" +name = "triehash" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684aafb332fae6f83d7fe10b3fbfdbe39a1b3234c4e2a618f030815838519516" +checksum = "a1631b201eb031b563d2e85ca18ec8092508e262a3196ce9bd10a67ec87b9f5c" dependencies = [ "hash-db", - "keccak-hasher", + "rlp", ] [[package]] @@ -11902,59 +9508,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" -[[package]] -name = "try-runtime-cli" -version = "0.10.0-dev" -dependencies = [ - "async-trait", - "clap 4.1.8", - "frame-remote-externalities", - "frame-try-runtime", - "hex", - "log", - "parity-scale-codec", - "sc-cli", - "sc-executor", - "sc-service", - "serde", - "serde_json", - "sp-api", - "sp-consensus-aura", - "sp-consensus-babe", - "sp-core", - "sp-debug-derive", - "sp-externalities", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-rpc", - "sp-runtime", - "sp-state-machine", - "sp-timestamp", - "sp-transaction-storage-proof", - "sp-version", - "sp-weights", - "substrate-rpc-client", - "tokio", - "zstd", -] - -[[package]] -name = "trybuild" -version = "1.0.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44da5a6f2164c8e14d3bbc0657d69c5966af9f5f6930d4f600b1f5c4a673413" -dependencies = [ - "basic-toml", - "dissimilar", - "glob", - "once_cell", - "serde", - "serde_derive", - "serde_json", - "termcolor", -] - [[package]] name = "tt-call" version = "1.0.9" @@ -12037,6 +9590,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + [[package]] name = "unicode-width" version = "0.1.10" @@ -12050,22 +9609,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] -name = "universal-hash" -version = "0.4.1" +name = "unicode_categories" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" -dependencies = [ - "generic-array 0.14.6", - "subtle", -] +checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" [[package]] name = "universal-hash" -version = "0.5.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5" +checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" dependencies = [ - "crypto-common", + "generic-array 0.14.6", "subtle", ] @@ -12100,9 +9655,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.3.0" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" +checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c" dependencies = [ "getrandom 0.2.8", ] @@ -12131,15 +9686,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" -[[package]] -name = "wait-timeout" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" -dependencies = [ - "libc", -] - [[package]] name = "waitgroup" version = "0.1.2" @@ -12196,9 +9742,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -12206,9 +9752,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", "log", @@ -12221,9 +9767,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.34" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" dependencies = [ "cfg-if", "js-sys", @@ -12233,9 +9779,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -12243,9 +9789,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ "proc-macro2", "quote", @@ -12256,18 +9802,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" - -[[package]] -name = "wasm-encoder" -version = "0.24.1" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f7d56227d910901ce12dfd19acc40c12687994dfb3f57c90690f80be946ec5" -dependencies = [ - "leb128", -] +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] name = "wasm-instrument" @@ -12278,15 +9815,6 @@ dependencies = [ "parity-wasm", ] -[[package]] -name = "wasm-instrument" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc" -dependencies = [ - "parity-wasm", -] - [[package]] name = "wasm-opt" version = "0.111.0" @@ -12351,19 +9879,7 @@ checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ "parity-wasm", "wasmi-validation", - "wasmi_core 0.2.1", -] - -[[package]] -name = "wasmi" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e61a7006b0fdf24f6bbe8dcfdad5ca1b350de80061fb2827f31c82fbbb9565a" -dependencies = [ - "spin 0.9.5", - "wasmi_arena", - "wasmi_core 0.12.0", - "wasmparser-nostd", + "wasmi_core", ] [[package]] @@ -12375,12 +9891,6 @@ dependencies = [ "parity-wasm", ] -[[package]] -name = "wasmi_arena" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "401c1f35e413fac1846d4843745589d9ec678977ab35a384db8ae7830525d468" - [[package]] name = "wasmi_core" version = "0.2.1" @@ -12388,25 +9898,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ "downcast-rs", - "libm 0.2.6", + "libm", "memory_units", "num-rational", "num-traits", "region", ] -[[package]] -name = "wasmi_core" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624e6333e861ef49095d2d678b76ebf30b06bf37effca845be7e5b87c90071b7" -dependencies = [ - "downcast-rs", - "libm 0.2.6", - "num-traits", - "paste", -] - [[package]] name = "wasmparser" version = "0.100.0" @@ -12417,20 +9915,11 @@ dependencies = [ "url", ] -[[package]] -name = "wasmparser-nostd" -version = "0.100.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9157cab83003221bfd385833ab587a039f5d6fa7304854042ba358a3b09e0724" -dependencies = [ - "indexmap-nostd", -] - [[package]] name = "wasmtime" -version = "6.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e89f9819523447330ffd70367ef4a18d8c832e24e8150fe054d1d912841632" +checksum = "9010891d0b8e367c3be94ca35d7bc25c1de3240463bb1d61bcfc8c2233c4e0d0" dependencies = [ "anyhow", "bincode", @@ -12451,23 +9940,23 @@ dependencies = [ "wasmtime-environ", "wasmtime-jit", "wasmtime-runtime", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "wasmtime-asm-macros" -version = "6.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd3a5e46c198032da934469f3a6e48649d1f9142438e4fd4617b68a35644b8a" +checksum = "65805c663eaa8257b910666f6d4b056b5c7329750da754ba5df54f3af7dbf35c" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-cache" -version = "6.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b389ae9b678b9c3851091a4804f4182d688d27aff7abc9aa37fa7be37d8ecffa" +checksum = "2049ddfc1b10efc3c5591d0e84b9570ca50478f8818f3bfabb1a467918f53fb4" dependencies = [ "anyhow", "base64 0.13.1", @@ -12475,19 +9964,19 @@ dependencies = [ "directories-next", "file-per-thread-logger", "log", - "rustix 0.36.8", + "rustix", "serde", "sha2 0.10.6", "toml", - "windows-sys 0.42.0", + "windows-sys", "zstd", ] [[package]] name = "wasmtime-cranelift" -version = "6.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b2c92a08c0db6efffd88fdc97d7aa9c7c63b03edb0971dbca745469f820e8c" +checksum = "3f9065cad6a724fa838ec8497567e0b23acc26417bb2449f8d9d2021925c72f2" dependencies = [ "anyhow", "cranelift-codegen", @@ -12506,9 +9995,9 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "6.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a6db9fc52985ba06ca601f2ff0ff1f526c5d724c7ac267b47326304b0c97883" +checksum = "4f964bb0b91fa021b8d1b488c62cc77b346c1dae6e3ebd010050b57c1f2ca657" dependencies = [ "anyhow", "cranelift-entity", @@ -12525,9 +10014,9 @@ dependencies = [ [[package]] name = "wasmtime-jit" -version = "6.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b77e3a52cd84d0f7f18554afa8060cfe564ccac61e3b0802d3fd4084772fa5f6" +checksum = "b7a1d06f5d109539e0168fc74fa65e3948ac8dac3bb8cdbd08b62b36a0ae27b8" dependencies = [ "addr2line 0.17.0", "anyhow", @@ -12544,36 +10033,36 @@ dependencies = [ "wasmtime-jit-debug", "wasmtime-jit-icache-coherence", "wasmtime-runtime", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "wasmtime-jit-debug" -version = "6.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0245e8a9347017c7185a72e215218a802ff561545c242953c11ba00fccc930f" +checksum = "f76ef2e410329aaf8555ac6571d6fe07711be0646dcdf7ff3ab750a42ed2e583" dependencies = [ "object 0.29.0", "once_cell", - "rustix 0.36.8", + "rustix", ] [[package]] name = "wasmtime-jit-icache-coherence" -version = "6.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67d412e9340ab1c83867051d8d1d7c90aa8c9afc91da086088068e2734e25064" +checksum = "ec1fd0f0dd79e7cc0f55b102e320d7c77ab76cd272008a8fd98e25b5777e2636" dependencies = [ "cfg-if", "libc", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "wasmtime-runtime" -version = "6.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d594e791b5fdd4dbaf8cf7ae62f2e4ff85018ce90f483ca6f42947688e48827d" +checksum = "271aef9b4ca2e953a866293683f2db33cda46f6933c5e431e68d8373723d4ab6" dependencies = [ "anyhow", "cc", @@ -12586,18 +10075,18 @@ dependencies = [ "memoffset 0.6.5", "paste", "rand 0.8.5", - "rustix 0.36.8", + "rustix", "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-jit-debug", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "wasmtime-types" -version = "6.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6688d6f96d4dbc1f89fab626c56c1778936d122b5f4ae7a57c2eb42b8d982e2" +checksum = "b18144b0e45479a830ac9fcebfc71a16d90dc72d8ebd5679700eb3bfe974d7df" dependencies = [ "cranelift-entity", "serde", @@ -12605,32 +10094,11 @@ dependencies = [ "wasmparser", ] -[[package]] -name = "wast" -version = "54.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d48d9d731d835f4f8dacbb8de7d47be068812cb9877f5c60d408858778d8d2a" -dependencies = [ - "leb128", - "memchr", - "unicode-width", - "wasm-encoder", -] - -[[package]] -name = "wat" -version = "1.0.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1db2e3ed05ea31243761439194bec3af6efbbaf87c4c8667fb879e4f23791a0" -dependencies = [ - "wast", -] - [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" dependencies = [ "js-sys", "wasm-bindgen", @@ -12691,7 +10159,7 @@ dependencies = [ "sha2 0.10.6", "stun", "thiserror", - "time 0.3.20", + "time 0.3.17", "tokio", "turn", "url", @@ -12723,12 +10191,12 @@ dependencies = [ [[package]] name = "webrtc-dtls" -version = "0.7.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942be5bd85f072c3128396f6e5a9bfb93ca8c1939ded735d177b7bcba9a13d05" +checksum = "7021987ae0a2ed6c8cd33f68e98e49bb6e74ffe9543310267b48a1bbe3900e5f" dependencies = [ "aes 0.6.0", - "aes-gcm 0.10.1", + "aes-gcm 0.8.0", "async-trait", "bincode", "block-modes", @@ -12736,9 +10204,9 @@ dependencies = [ "ccm", "curve25519-dalek 3.2.0", "der-parser 8.1.0", - "elliptic-curve 0.12.3", + "elliptic-curve", "hkdf", - "hmac 0.12.1", + "hmac 0.10.1", "log", "oid-registry 0.6.1", "p256", @@ -12748,11 +10216,11 @@ dependencies = [ "rcgen 0.9.3", "ring", "rustls 0.19.1", - "sec1 0.3.0", + "sec1", "serde", - "sha1", - "sha2 0.10.6", - "signature 1.6.4", + "sha-1", + "sha2 0.9.9", + "signature", "subtle", "thiserror", "tokio", @@ -12764,9 +10232,9 @@ dependencies = [ [[package]] name = "webrtc-ice" -version = "0.9.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "465a03cc11e9a7d7b4f9f99870558fe37a102b65b93f8045392fef7c67b39e80" +checksum = "494483fbb2f5492620871fdc78b084aed8807377f6e3fe88b2e49f0a9c9c41d7" dependencies = [ "arc-swap", "async-trait", @@ -12972,30 +10440,6 @@ dependencies = [ "windows_x86_64_msvc 0.42.1", ] -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-targets" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.1", -] - [[package]] name = "windows_aarch64_gnullvm" version = "0.42.1" @@ -13124,7 +10568,7 @@ dependencies = [ "ring", "rusticata-macros", "thiserror", - "time 0.3.20", + "time 0.3.17", ] [[package]] @@ -13142,7 +10586,7 @@ dependencies = [ "oid-registry 0.6.1", "rusticata-macros", "thiserror", - "time 0.3.20", + "time 0.3.17", ] [[package]] @@ -13159,19 +10603,13 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - [[package]] name = "yasna" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" dependencies = [ - "time 0.3.20", + "time 0.3.17", ] [[package]] @@ -13216,11 +10654,11 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.7+zstd.1.5.4" +version = "2.0.5+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94509c3ba2fe55294d752b79842c530ccfab760192521df74a081a78d2b3c7f5" +checksum = "edc50ffce891ad571e9f9afe5039c4837bede781ac4bb13052ed7ae695518596" dependencies = [ "cc", "libc", "pkg-config", -] \ No newline at end of file +] diff --git a/Cargo.toml b/Cargo.toml index 5afcc748bc..8407af95eb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,7 @@ members = [ "client/db", "client/storage", "client/mapping-sync", + "primitives/account", "primitives/consensus", "primitives/dynamic-fee", "primitives/evm", @@ -41,9 +42,11 @@ environmental = { version = "1.1.3", default-features = false } ethereum = { version = "0.14.0", default-features = false } ethereum-types = { version = "0.14.1", default-features = false } evm = { version = "0.37.0", default-features = false } +impl-serde = { version = "0.4.0", default-features = false } jsonrpsee = "0.16.2" kvdb-rocksdb = "0.17.0" -libsecp256k1 = "0.7.1" +libsecp256k1 = { version = "0.7.1", default-features = false } +log = { version = "0.4.17", default-features = false } parity-db = "0.4.2" rlp = { version = "0.5", default-features = false } scale-codec = { package = "parity-scale-codec", version = "3.2.1", default-features = false, features = ["derive"] } @@ -53,6 +56,7 @@ serde_json = "1.0" # Substrate Client sc-basic-authorship = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate", branch = "master" } sc-block-builder = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate", branch = "master" } +sc-chain-spec = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate", branch = "master" } sc-cli = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate", branch = "master" } sc-client-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate", branch = "master" } sc-client-db = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate", branch = "master" } @@ -124,6 +128,7 @@ fc-rpc = { version = "2.0.0-dev", path = "client/rpc" } fc-rpc-core = { version = "1.1.0-dev", path = "client/rpc-core" } fc-storage = { version = "1.0.0-dev", path = "client/storage" } # Frontier Primitive +fp-account = { version = "1.0.0-dev", path = "primitives/account", default-features = false } fp-consensus = { version = "2.0.0-dev", path = "primitives/consensus", default-features = false } fp-dynamic-fee = { version = "1.0.0", path = "primitives/dynamic-fee", default-features = false } fp-ethereum = { version = "1.0.0-dev", path = "primitives/ethereum", default-features = false } diff --git a/client/cli/src/frontier_db_cmd/mapping_db.rs b/client/cli/src/frontier_db_cmd/mapping_db.rs index 04af607012..0b1e56410c 100644 --- a/client/cli/src/frontier_db_cmd/mapping_db.rs +++ b/client/cli/src/frontier_db_cmd/mapping_db.rs @@ -23,7 +23,7 @@ use serde::Deserialize; // Substrate use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; -use sp_runtime::{generic::BlockId, traits::Block as BlockT}; +use sp_runtime::traits::Block as BlockT; // Frontier use fp_rpc::EthereumRuntimeRPCApi; @@ -83,11 +83,10 @@ where .block_hash(ethereum_block_hash)? .is_none() { - let id = BlockId::Hash(*substrate_block_hash); let existing_transaction_hashes: Vec = if let Some(statuses) = self .client .runtime_api() - .current_transaction_statuses(&id) + .current_transaction_statuses(*substrate_block_hash) .map_err(|e| format!("{:?}", e))? { statuses @@ -142,11 +141,10 @@ where .block_hash(ethereum_block_hash)? .is_some() { - let id = BlockId::Hash(*substrate_block_hash); let existing_transaction_hashes: Vec = if let Some(statuses) = self .client .runtime_api() - .current_transaction_statuses(&id) + .current_transaction_statuses(*substrate_block_hash) .map_err(|e| format!("{:?}", e))? { statuses diff --git a/client/cli/src/frontier_db_cmd/tests.rs b/client/cli/src/frontier_db_cmd/tests.rs index 5882de6057..bce1bf7d3e 100644 --- a/client/cli/src/frontier_db_cmd/tests.rs +++ b/client/cli/src/frontier_db_cmd/tests.rs @@ -30,7 +30,7 @@ use sp_blockchain::HeaderBackend; use sp_consensus::BlockOrigin; use sp_io::hashing::twox_128; use sp_runtime::{ - generic::{Block, BlockId, Header}, + generic::{Block, Header}, traits::{BlakeTwo256, Block as BlockT}, }; use substrate_test_runtime_client::{ @@ -626,11 +626,7 @@ fn commitment_update() { // Build a block A1 and fill the pallet-ethereum status. let mut builder = client - .new_block_at( - &BlockId::Hash(client.genesis_hash()), - Default::default(), - false, - ) + .new_block_at(client.genesis_hash(), Default::default(), false) .unwrap(); builder .push_storage_change(key.clone(), Some(statuses_a1.encode())) @@ -680,11 +676,7 @@ fn commitment_update() { let tmp = tempdir().expect("create a temporary directory"); let mut builder = client - .new_block_at( - &BlockId::Hash(client.genesis_hash()), - Default::default(), - false, - ) + .new_block_at(client.genesis_hash(), Default::default(), false) .unwrap(); builder .push_storage_change(key, Some(statuses_a2.encode())) diff --git a/client/cli/src/lib.rs b/client/cli/src/lib.rs index 1d4c7e668f..e30cb5f4e3 100644 --- a/client/cli/src/lib.rs +++ b/client/cli/src/lib.rs @@ -16,6 +16,8 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +#![deny(unused_crate_dependencies)] + mod frontier_db_cmd; pub use self::frontier_db_cmd::FrontierDbCmd; diff --git a/client/consensus/Cargo.toml b/client/consensus/Cargo.toml index 5330da29fe..de05589c04 100644 --- a/client/consensus/Cargo.toml +++ b/client/consensus/Cargo.toml @@ -21,6 +21,5 @@ sp-blockchain = { workspace = true } sp-consensus = { workspace = true } sp-runtime = { workspace = true } # Frontier -fc-db = { workspace = true } fp-consensus = { workspace = true, features = ["default"] } fp-rpc = { workspace = true, features = ["default"] } diff --git a/client/consensus/src/lib.rs b/client/consensus/src/lib.rs index d7a57b04af..d8775c2a5a 100644 --- a/client/consensus/src/lib.rs +++ b/client/consensus/src/lib.rs @@ -16,6 +16,8 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +#![deny(unused_crate_dependencies)] + use std::{collections::HashMap, marker::PhantomData, sync::Arc}; // Substrate diff --git a/client/db/src/kv/upgrade.rs b/client/db/src/kv/upgrade.rs index 1a535d6a47..20ab19befd 100644 --- a/client/db/src/kv/upgrade.rs +++ b/client/db/src/kv/upgrade.rs @@ -337,7 +337,7 @@ mod tests { use sp_blockchain::HeaderBackend; use sp_core::H256; use sp_runtime::{ - generic::{Block, BlockId, Header}, + generic::{Block, Header}, traits::{BlakeTwo256, Block as BlockT}, }; use tempfile::tempdir; @@ -406,11 +406,7 @@ mod tests { // Keep track of the canon hash to later verify the migration replaced it. // A1 let mut builder = client - .new_block_at( - &BlockId::Hash(previous_canon_block_hash), - Default::default(), - false, - ) + .new_block_at(previous_canon_block_hash, Default::default(), false) .unwrap(); builder.push_storage_change(vec![1], None).unwrap(); let block = builder.build().unwrap().block; @@ -418,11 +414,7 @@ mod tests { executor::block_on(client.import(BlockOrigin::Own, block)).unwrap(); // A2 let mut builder = client - .new_block_at( - &BlockId::Hash(previous_canon_block_hash), - Default::default(), - false, - ) + .new_block_at(previous_canon_block_hash, Default::default(), false) .unwrap(); builder.push_storage_change(vec![2], None).unwrap(); let block = builder.build().unwrap().block; diff --git a/client/db/src/lib.rs b/client/db/src/lib.rs index f28a462274..8bb0f10618 100644 --- a/client/db/src/lib.rs +++ b/client/db/src/lib.rs @@ -16,6 +16,8 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +#![deny(unused_crate_dependencies)] + use scale_codec::{Decode, Encode}; // Substrate pub use sc_client_db::DatabaseSource; diff --git a/client/db/src/sql/mod.rs b/client/db/src/sql/mod.rs index 758bbe421d..044aae916c 100644 --- a/client/db/src/sql/mod.rs +++ b/client/db/src/sql/mod.rs @@ -17,7 +17,7 @@ // along with this program. If not, see . use fc_storage::OverrideHandle; -use fp_consensus::FindLogError; +use fp_consensus::{FindLogError, Hashes, Log as ConsensusLog, PostLog, PreLog}; use fp_rpc::EthereumRuntimeRPCApi; use fp_storage::{EthereumStorageSchema, PALLET_ETHEREUM_SCHEMA}; use futures::TryStreamExt; @@ -223,7 +223,10 @@ where { let has_api = client .runtime_api() - .has_api_with::, _>(&id, |version| version >= 1) + .has_api_with::, _>( + substrate_genesis_hash, + |version| version >= 1, + ) .expect("runtime api reachable"); log::debug!( @@ -238,7 +241,7 @@ where // Read from the runtime and store the block metadata. let ethereum_block = client .runtime_api() - .current_block(&id) + .current_block(substrate_genesis_hash) .expect("runtime api reachable") .expect("ethereum genesis block"); @@ -276,6 +279,7 @@ where fn insert_block_metadata_inner( client: Arc, hash: H256, + overrides: Arc>, ) -> Result where Client: StorageProvider + HeaderBackend + Send + Sync + 'static, @@ -290,6 +294,39 @@ where if let Ok(Some(header)) = client.header(hash) { match fp_consensus::find_log(header.digest()) { Ok(log) => { + let schema = Self::onchain_storage_schema(client.as_ref(), hash); + let log_hashes = match log { + ConsensusLog::Post(PostLog::Hashes(post_hashes)) => post_hashes, + ConsensusLog::Post(PostLog::Block(block)) => Hashes::from_block(block), + ConsensusLog::Post(PostLog::BlockHash(expect_eth_block_hash)) => { + let ethereum_block = overrides + .schemas + .get(&schema) + .unwrap_or(&overrides.fallback) + .current_block(hash); + match ethereum_block { + Some(block) => { + let got_eth_block_hash = block.header.hash(); + if got_eth_block_hash != expect_eth_block_hash { + return Err(Error::Protocol(format!( + "Ethereum block hash mismatch: \ + frontier consensus digest ({expect_eth_block_hash:?}), \ + db state ({got_eth_block_hash:?})" + ))); + } else { + Hashes::from_block(block) + } + } + None => { + return Err(Error::Protocol(format!( + "Missing ethereum block for hash mismatch {expect_eth_block_hash:?}" + ))) + } + } + } + ConsensusLog::Pre(PreLog::Block(block)) => Hashes::from_block(block), + }; + let header_number = *header.number(); let block_number = UniqueSaturatedInto::::unique_saturated_into(header_number) as i32; @@ -313,7 +350,6 @@ where } }; - let schema = Self::onchain_storage_schema(client.as_ref(), hash); log::trace!( target: "frontier-sql", "[Metadata] Prepared block metadata for #{} ({:?}) canon={}", @@ -324,7 +360,7 @@ where return Ok(BlockMetadata { substrate_block_hash: hash, block_number, - post_hashes: log.into_hashes(), + post_hashes: log_hashes, schema, is_canon, }); @@ -362,8 +398,9 @@ where BE::State: StateBackend, { // Spawn a blocking task to get block metadata from substrate backend. + let overrides = self.overrides.clone(); let metadata = tokio::task::spawn_blocking(move || { - Self::insert_block_metadata_inner(client.clone(), hash) + Self::insert_block_metadata_inner(client.clone(), hash, overrides) }) .await .map_err(|_| Error::Protocol("tokio blocking metadata task failed".to_string()))??; diff --git a/client/mapping-sync/Cargo.toml b/client/mapping-sync/Cargo.toml index 29872f6f2e..b86f3183f8 100644 --- a/client/mapping-sync/Cargo.toml +++ b/client/mapping-sync/Cargo.toml @@ -14,7 +14,6 @@ targets = ["x86_64-unknown-linux-gnu"] futures = "0.3.25" futures-timer = "3.0.2" log = "0.4.17" -sqlx = { features = ["runtime-tokio-native-tls", "sqlite", "offline"], git = "https://github.com/PureStake/sqlx", branch = "v0.6.2-timeout" } tokio = { version = "1.19", features = ["macros", "sync"] } # Substrate @@ -26,12 +25,14 @@ sp-runtime = { workspace = true } # Frontier fc-db = { workspace = true } +fc-storage = { workspace = true } fp-consensus = { workspace = true, features = ["default"] } fp-rpc = { workspace = true, features = ["default"] } [dev-dependencies] ethereum = { workspace = true } scale-codec = { package = "parity-scale-codec", workspace = true } +sqlx = { features = ["runtime-tokio-native-tls", "sqlite", "offline"], git = "https://github.com/PureStake/sqlx", branch = "v0.6.2-timeout" } tempfile = "3.3.0" # Frontier fp-consensus = { workspace = true, features = ["std"] } @@ -41,7 +42,6 @@ ethereum-types = { workspace = true } fc-rpc = { workspace = true } frontier-template-runtime = { workspace = true } sc-block-builder = { workspace = true } -sc-client-db = { workspace = true } sp-consensus = { workspace = true } sp-io = { workspace = true } -substrate-test-runtime-client = { workspace = true } \ No newline at end of file +substrate-test-runtime-client = { workspace = true } diff --git a/client/mapping-sync/src/kv/mod.rs b/client/mapping-sync/src/kv/mod.rs index fd0269760e..0eb2dcf4a5 100644 --- a/client/mapping-sync/src/kv/mod.rs +++ b/client/mapping-sync/src/kv/mod.rs @@ -22,40 +22,86 @@ mod worker; pub use worker::{MappingSyncWorker, SyncStrategy}; +use std::sync::Arc; + // Substrate -use sc_client_api::backend::Backend; +use sc_client_api::backend::{Backend, StorageProvider}; use sp_api::{ApiExt, ProvideRuntimeApi}; use sp_blockchain::{Backend as _, HeaderBackend}; -use sp_runtime::{ - generic::BlockId, - traits::{Block as BlockT, Header as HeaderT, Zero}, -}; +use sp_runtime::traits::{Block as BlockT, Header as HeaderT, Zero}; // Frontier -use fp_consensus::FindLogError; +use fc_storage::OverrideHandle; +use fp_consensus::{FindLogError, Hashes, Log, PostLog, PreLog}; use fp_rpc::EthereumRuntimeRPCApi; -pub fn sync_block( +pub fn sync_block( + client: &C, + overrides: Arc>, backend: &fc_db::kv::Backend, header: &Block::Header, -) -> Result<(), String> { +) -> Result<(), String> +where + C: HeaderBackend + StorageProvider, + BE: Backend, +{ + let substrate_block_hash = header.hash(); match fp_consensus::find_log(header.digest()) { Ok(log) => { - let post_hashes = log.into_hashes(); - - let mapping_commitment = fc_db::kv::MappingCommitment { - block_hash: header.hash(), - ethereum_block_hash: post_hashes.block_hash, - ethereum_transaction_hashes: post_hashes.transaction_hashes, + let gen_from_hashes = |hashes: Hashes| -> fc_db::kv::MappingCommitment { + fc_db::kv::MappingCommitment { + block_hash: substrate_block_hash, + ethereum_block_hash: hashes.block_hash, + ethereum_transaction_hashes: hashes.transaction_hashes, + } + }; + let gen_from_block = |block| -> fc_db::kv::MappingCommitment { + let hashes = Hashes::from_block(block); + gen_from_hashes(hashes) }; - backend.mapping().write_hashes(mapping_commitment)?; - - Ok(()) - } - Err(FindLogError::NotFound) => { - backend.mapping().write_none(header.hash())?; - Ok(()) + match log { + Log::Pre(PreLog::Block(block)) => { + let mapping_commitment = gen_from_block(block); + backend.mapping().write_hashes(mapping_commitment) + } + Log::Post(post_log) => match post_log { + PostLog::Hashes(hashes) => { + let mapping_commitment = gen_from_hashes(hashes); + backend.mapping().write_hashes(mapping_commitment) + } + PostLog::Block(block) => { + let mapping_commitment = gen_from_block(block); + backend.mapping().write_hashes(mapping_commitment) + } + PostLog::BlockHash(expect_eth_block_hash) => { + let schema = + fc_storage::onchain_storage_schema(client, substrate_block_hash); + let ethereum_block = overrides + .schemas + .get(&schema) + .unwrap_or(&overrides.fallback) + .current_block(substrate_block_hash); + match ethereum_block { + Some(block) => { + let got_eth_block_hash = block.header.hash(); + if got_eth_block_hash != expect_eth_block_hash { + Err(format!( + "Ethereum block hash mismatch: \ + frontier consensus digest ({expect_eth_block_hash:?}), \ + db state ({got_eth_block_hash:?})" + )) + } else { + let mapping_commitment = gen_from_block(block); + backend.mapping().write_hashes(mapping_commitment) + } + } + None => backend.mapping().write_none(substrate_block_hash), + } + } + }, + } } + Err(FindLogError::NotFound) => backend.mapping().write_none(substrate_block_hash), Err(FindLogError::MultipleLogs) => Err("Multiple logs found".to_string()), } } @@ -69,23 +115,23 @@ where C: ProvideRuntimeApi, C::Api: EthereumRuntimeRPCApi, { - let id = BlockId::Hash(header.hash()); + let substrate_block_hash = header.hash(); if let Some(api_version) = client .runtime_api() - .api_version::>(&id) + .api_version::>(substrate_block_hash) .map_err(|e| format!("{:?}", e))? { let block = if api_version > 1 { client .runtime_api() - .current_block(&id) + .current_block(substrate_block_hash) .map_err(|e| format!("{:?}", e))? } else { #[allow(deprecated)] let legacy_block = client .runtime_api() - .current_block_before_version_2(&id) + .current_block_before_version_2(substrate_block_hash) .map_err(|e| format!("{:?}", e))?; legacy_block.map(|block| block.into()) }; @@ -94,13 +140,13 @@ where .header .hash(); let mapping_commitment = fc_db::kv::MappingCommitment:: { - block_hash: header.hash(), + block_hash: substrate_block_hash, ethereum_block_hash: block_hash, ethereum_transaction_hashes: Vec::new(), }; backend.mapping().write_hashes(mapping_commitment)?; } else { - backend.mapping().write_none(header.hash())?; + backend.mapping().write_none(substrate_block_hash)?; }; Ok(()) @@ -109,6 +155,7 @@ where pub fn sync_one_block( client: &C, substrate_backend: &BE, + overrides: Arc>, frontier_backend: &fc_db::kv::Backend, sync_from: ::Number, strategy: SyncStrategy, @@ -116,7 +163,7 @@ pub fn sync_one_block( where C: ProvideRuntimeApi, C::Api: EthereumRuntimeRPCApi, - C: HeaderBackend, + C: HeaderBackend + StorageProvider, BE: Backend, { let mut current_syncing_tips = frontier_backend.meta().current_syncing_tips()?; @@ -167,7 +214,7 @@ where { return Ok(false); } - sync_block(frontier_backend, &operating_header)?; + sync_block(client, overrides, frontier_backend, &operating_header)?; current_syncing_tips.push(*operating_header.parent_hash()); frontier_backend @@ -180,6 +227,7 @@ where pub fn sync_blocks( client: &C, substrate_backend: &BE, + overrides: Arc>, frontier_backend: &fc_db::kv::Backend, limit: usize, sync_from: ::Number, @@ -188,7 +236,7 @@ pub fn sync_blocks( where C: ProvideRuntimeApi, C::Api: EthereumRuntimeRPCApi, - C: HeaderBackend, + C: HeaderBackend + StorageProvider, BE: Backend, { let mut synced_any = false; @@ -198,6 +246,7 @@ where || sync_one_block( client, substrate_backend, + overrides.clone(), frontier_backend, sync_from, strategy, diff --git a/client/mapping-sync/src/kv/worker.rs b/client/mapping-sync/src/kv/worker.rs index 3b9c5bc3a8..be3e7286b5 100644 --- a/client/mapping-sync/src/kv/worker.rs +++ b/client/mapping-sync/src/kv/worker.rs @@ -25,11 +25,15 @@ use futures::{ use futures_timer::Delay; use log::debug; // Substrate -use sc_client_api::{backend::Backend, client::ImportNotifications}; +use sc_client_api::{ + backend::{Backend, StorageProvider}, + client::ImportNotifications, +}; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; use sp_runtime::traits::{Block as BlockT, Header as HeaderT}; // Frontier +use fc_storage::OverrideHandle; use fp_rpc::EthereumRuntimeRPCApi; #[derive(Copy, Clone, Eq, PartialEq)] @@ -45,6 +49,7 @@ pub struct MappingSyncWorker { client: Arc, substrate_backend: Arc, + overrides: Arc>, frontier_backend: Arc>, have_next: bool, @@ -61,6 +66,7 @@ impl MappingSyncWorker { timeout: Duration, client: Arc, substrate_backend: Arc, + overrides: Arc>, frontier_backend: Arc>, retry_times: usize, sync_from: ::Number, @@ -73,6 +79,7 @@ impl MappingSyncWorker { client, substrate_backend, + overrides, frontier_backend, have_next: true, @@ -87,7 +94,7 @@ impl Stream for MappingSyncWorker where C: ProvideRuntimeApi, C::Api: EthereumRuntimeRPCApi, - C: HeaderBackend, + C: HeaderBackend + StorageProvider, BE: Backend, { type Item = (); @@ -122,9 +129,10 @@ where if fire { self.inner_delay = None; - match super::sync_blocks( + match crate::kv::sync_blocks( self.client.as_ref(), self.substrate_backend.as_ref(), + self.overrides.clone(), self.frontier_backend.as_ref(), self.retry_times, self.sync_from, diff --git a/client/mapping-sync/src/lib.rs b/client/mapping-sync/src/lib.rs index 31ae8acaa1..74443509c4 100644 --- a/client/mapping-sync/src/lib.rs +++ b/client/mapping-sync/src/lib.rs @@ -16,6 +16,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +#![deny(unused_crate_dependencies)] #![feature(async_closure)] pub mod kv; diff --git a/client/mapping-sync/src/sql/mod.rs b/client/mapping-sync/src/sql/mod.rs index 4b24d62c0e..5e4a56ab72 100644 --- a/client/mapping-sync/src/sql/mod.rs +++ b/client/mapping-sync/src/sql/mod.rs @@ -525,7 +525,7 @@ mod test { use sp_consensus::BlockOrigin; use sp_core::{H160, H256, U256}; use sp_io::hashing::twox_128; - use sp_runtime::generic::{BlockId, Digest}; + use sp_runtime::generic::Digest; use sqlx::Row; use std::{collections::BTreeMap, path::Path, sync::Arc}; use substrate_test_runtime_client::{ @@ -1022,7 +1022,7 @@ mod test { for block_number in 1..11 { // New block including pallet ethereum block digest let builder = client - .new_block_at(&BlockId::Hash(parent_hash), ethereum_digest(), false) + .new_block_at(parent_hash, ethereum_digest(), false) .unwrap(); let block = builder.build().unwrap().block; let block_hash = block.header.hash(); @@ -1056,7 +1056,7 @@ mod test { for _ in 1..11 { // New block including pallet ethereum block digest let builder = client - .new_block_at(&BlockId::Hash(parent_hash), ethereum_digest(), false) + .new_block_at(parent_hash, ethereum_digest(), false) .unwrap(); let block = builder.build().unwrap().block; let block_hash = block.header.hash(); @@ -1155,7 +1155,7 @@ mod test { let mut block_hashes: Vec = vec![]; for _block_number in 1..=5 { let builder = client - .new_block_at(&BlockId::Hash(parent_hash), ethereum_digest(), false) + .new_block_at(parent_hash, ethereum_digest(), false) .unwrap(); let block = builder.build().unwrap().block; let block_hash = block.header.hash(); diff --git a/client/rpc-core/src/lib.rs b/client/rpc-core/src/lib.rs index c595bf8a1e..701c095e2f 100644 --- a/client/rpc-core/src/lib.rs +++ b/client/rpc-core/src/lib.rs @@ -16,6 +16,8 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +#![deny(unused_crate_dependencies)] + pub mod types; mod eth; diff --git a/client/rpc-core/src/types/filter.rs b/client/rpc-core/src/types/filter.rs index 76cfd4824e..72ffe325ce 100644 --- a/client/rpc-core/src/types/filter.rs +++ b/client/rpc-core/src/types/filter.rs @@ -67,7 +67,7 @@ where /// Filter Address pub type FilterAddress = VariadicValue; -/// Topic, supports `A` | `null` | `[A,B,C]` | `[A,[B,C]]` | [null,[B,C]] | [null,[null,C]] +/// Topic, supports `A` | `null` | `[A,B,C]` | `[A,[B,C]]` | `[null,[B,C]]` | `[null,[null,C]]` pub type Topic = VariadicValue>>>; /// FlatTopic, simplifies the matching logic. pub type FlatTopic = VariadicValue>; diff --git a/client/rpc/src/eth/block.rs b/client/rpc/src/eth/block.rs index 546e08e74a..c4a15866e4 100644 --- a/client/rpc/src/eth/block.rs +++ b/client/rpc/src/eth/block.rs @@ -27,7 +27,7 @@ use sc_transaction_pool::ChainApi; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; use sp_core::hashing::keccak_256; -use sp_runtime::{generic::BlockId, traits::Block as BlockT}; +use sp_runtime::traits::Block as BlockT; // Frontier use fc_rpc_core::types::*; use fp_rpc::EthereumRuntimeRPCApi; @@ -69,12 +69,15 @@ where .current_transaction_statuses(schema, substrate_hash) .await; - let base_fee = client.runtime_api().gas_price(&id).unwrap_or_default(); + let base_fee = client + .runtime_api() + .gas_price(substrate_hash) + .unwrap_or_default(); match (block, statuses) { (Some(block), Some(statuses)) => Ok(Some(rich_block_build( block, - statuses.into_iter().map(Option::Some).collect(), + statuses.into_iter().map(Some).collect(), Some(hash), full, Some(base_fee), @@ -113,7 +116,10 @@ where .current_transaction_statuses(schema, substrate_hash) .await; - let base_fee = client.runtime_api().gas_price(&id).unwrap_or_default(); + let base_fee = client + .runtime_api() + .gas_price(substrate_hash) + .unwrap_or_default(); match (block, statuses) { (Some(block), Some(statuses)) => { diff --git a/client/rpc/src/eth/cache/mod.rs b/client/rpc/src/eth/cache/mod.rs index 1dcd755e35..42e163d6fb 100644 --- a/client/rpc/src/eth/cache/mod.rs +++ b/client/rpc/src/eth/cache/mod.rs @@ -36,10 +36,7 @@ use sc_client_api::{ use sc_service::SpawnTaskHandle; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; -use sp_runtime::{ - generic::BlockId, - traits::{Block as BlockT, Header as HeaderT, UniqueSaturatedInto}, -}; +use sp_runtime::traits::{Block as BlockT, Header as HeaderT, UniqueSaturatedInto}; // Frontier use fc_rpc_core::types::*; use fc_storage::{OverrideHandle, StorageOverride}; @@ -339,7 +336,7 @@ where let block = handler.current_block(hash); let mut block_number: Option = None; - let base_fee = client.runtime_api().gas_price(&BlockId::Hash(hash)).unwrap_or_default(); + let base_fee = client.runtime_api().gas_price(hash).unwrap_or_default(); let receipts = handler.current_receipts(hash); let mut result = FeeHistoryCacheItem { base_fee: if base_fee > U256::from(u64::MAX) { u64::MAX } else { base_fee.low_u64() }, diff --git a/client/rpc/src/eth/client.rs b/client/rpc/src/eth/client.rs index 17f97bdf19..82ba8948fa 100644 --- a/client/rpc/src/eth/client.rs +++ b/client/rpc/src/eth/client.rs @@ -25,10 +25,7 @@ use sc_transaction_pool::ChainApi; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; use sp_consensus::SyncOracle; -use sp_runtime::{ - generic::BlockId, - traits::{Block as BlockT, UniqueSaturatedInto}, -}; +use sp_runtime::traits::{Block as BlockT, UniqueSaturatedInto}; // Frontier use fc_rpc_core::types::*; use fp_rpc::EthereumRuntimeRPCApi; @@ -101,7 +98,7 @@ where Ok(Some( self.client .runtime_api() - .chain_id(&BlockId::Hash(hash)) + .chain_id(hash) .map_err(|err| internal_err(format!("fetch runtime chain id failed: {:?}", err)))? .into(), )) diff --git a/client/rpc/src/eth/execute.rs b/client/rpc/src/eth/execute.rs index 0202e5e0a1..d5de3bbd82 100644 --- a/client/rpc/src/eth/execute.rs +++ b/client/rpc/src/eth/execute.rs @@ -28,7 +28,7 @@ use sc_transaction_pool::ChainApi; use sp_api::{ApiExt, ProvideRuntimeApi}; use sp_block_builder::BlockBuilder as BlockBuilderApi; use sp_blockchain::HeaderBackend; -use sp_runtime::{generic::BlockId, traits::Block as BlockT, SaturatedConversion}; +use sp_runtime::{traits::Block as BlockT, SaturatedConversion}; // Frontier use fc_rpc_core::types::*; use fp_rpc::EthereumRuntimeRPCApi; @@ -93,42 +93,43 @@ where ) }; - let (id, api) = match frontier_backend_client::native_block_id::( + let (substrate_hash, api) = match frontier_backend_client::native_block_id::( self.client.as_ref(), self.backend.as_ref(), number, ) .await? { - Some(id) => (id, self.client.runtime_api()), + Some(id) => { + let hash = self + .client + .expect_block_hash_from_id(&id) + .map_err(|_| crate::err(JSON_RPC_ERROR_DEFAULT, "header not found", None))?; + (hash, self.client.runtime_api()) + } None => { // Not mapped in the db, assume pending. - let id = BlockId::Hash(self.client.info().best_hash); + let hash = self.client.info().best_hash; let api = pending_runtime_api(self.client.as_ref(), self.graph.as_ref())?; - (id, api) + (hash, api) } }; - if let Err(sp_blockchain::Error::UnknownBlock(_)) = - self.client.expect_block_hash_from_id(&id) + let api_version = if let Ok(Some(api_version)) = + api.api_version::>(substrate_hash) { - return Err(crate::err(JSON_RPC_ERROR_DEFAULT, "header not found", None)); - } - - let api_version = - if let Ok(Some(api_version)) = api.api_version::>(&id) { - api_version - } else { - return Err(internal_err("failed to retrieve Runtime Api version")); - }; + api_version + } else { + return Err(internal_err("failed to retrieve Runtime Api version")); + }; let block = if api_version > 1 { - api.current_block(&id) + api.current_block(substrate_hash) .map_err(|err| internal_err(format!("runtime error: {:?}", err)))? } else { #[allow(deprecated)] let legacy_block = api - .current_block_before_version_2(&id) + .current_block_before_version_2(substrate_hash) .map_err(|err| internal_err(format!("runtime error: {:?}", err)))?; legacy_block.map(|block| block.into()) }; @@ -152,7 +153,7 @@ where } // If gas limit is not specified in the request we either use the multiplier if supported // or fallback to the block gas limit. - None => match api.gas_limit_multiplier_support(&id) { + None => match api.gas_limit_multiplier_support(substrate_hash) { Ok(_) => max_gas_limit, _ => block_gas_limit, }, @@ -165,7 +166,7 @@ where // Legacy pre-london #[allow(deprecated)] let info = api.call_before_version_2( - &id, + substrate_hash, from.unwrap_or_default(), to, data, @@ -184,7 +185,7 @@ where // Post-london #[allow(deprecated)] let info = api.call_before_version_4( - &id, + substrate_hash, from.unwrap_or_default(), to, data, @@ -205,7 +206,7 @@ where let access_list = access_list.unwrap_or_default(); let info = api .call( - &id, + substrate_hash, from.unwrap_or_default(), to, data, @@ -236,7 +237,7 @@ where // Legacy pre-london #[allow(deprecated)] let info = api.create_before_version_2( - &id, + substrate_hash, from.unwrap_or_default(), data, value.unwrap_or_default(), @@ -251,14 +252,14 @@ where error_on_execution_failure(&info.exit_reason, &[])?; let code = api - .account_code_at(&id, info.value) + .account_code_at(substrate_hash, info.value) .map_err(|err| internal_err(format!("runtime error: {:?}", err)))?; Ok(Bytes(code)) } else if api_version >= 2 && api_version < 4 { // Post-london #[allow(deprecated)] let info = api.create_before_version_4( - &id, + substrate_hash, from.unwrap_or_default(), data, value.unwrap_or_default(), @@ -274,7 +275,7 @@ where error_on_execution_failure(&info.exit_reason, &[])?; let code = api - .account_code_at(&id, info.value) + .account_code_at(substrate_hash, info.value) .map_err(|err| internal_err(format!("runtime error: {:?}", err)))?; Ok(Bytes(code)) } else if api_version == 4 { @@ -282,7 +283,7 @@ where let access_list = access_list.unwrap_or_default(); let info = api .create( - &id, + substrate_hash, from.unwrap_or_default(), data, value.unwrap_or_default(), @@ -304,7 +305,7 @@ where error_on_execution_failure(&info.exit_reason, &[])?; let code = api - .account_code_at(&id, info.value) + .account_code_at(substrate_hash, info.value) .map_err(|err| internal_err(format!("runtime error: {:?}", err)))?; Ok(Bytes(code)) } else { @@ -323,7 +324,6 @@ where // Get best hash (TODO missing support for estimating gas historically) let substrate_hash = client.info().best_hash; - let id = BlockId::Hash(substrate_hash); // Adapt request for gas estimation. let request = EGA::adapt_request(request); @@ -337,7 +337,7 @@ where if let Some(to) = request.to { let to_code = client .runtime_api() - .account_code_at(&id, to) + .account_code_at(substrate_hash, to) .map_err(|err| internal_err(format!("runtime error: {:?}", err)))?; if to_code.is_empty() { return Ok(MIN_GAS_PER_TX); @@ -384,7 +384,7 @@ where } // If gas limit is not specified in the request we either use the multiplier if supported // or fallback to the block gas limit. - None => match api.gas_limit_multiplier_support(&id) { + None => match api.gas_limit_multiplier_support(substrate_hash) { Ok(_) => max_gas_limit, _ => block_gas_limit, }, @@ -395,7 +395,7 @@ where let gas_price = gas_price.unwrap_or_default(); if gas_price > U256::zero() { let balance = api - .account_basic(&id, from) + .account_basic(substrate_hash, from) .map_err(|err| internal_err(format!("runtime error: {:?}", err)))? .balance; let mut available = balance; @@ -463,7 +463,7 @@ where // Legacy pre-london #[allow(deprecated)] api.call_before_version_2( - &id, + substrate_hash, from.unwrap_or_default(), to, data, @@ -479,7 +479,7 @@ where // Post-london #[allow(deprecated)] api.call_before_version_4( - &id, + substrate_hash, from.unwrap_or_default(), to, data, @@ -496,7 +496,7 @@ where // Post-london + access list support let access_list = access_list.unwrap_or_default(); api.call( - &id, + substrate_hash, from.unwrap_or_default(), to, data, @@ -524,7 +524,7 @@ where // Legacy pre-london #[allow(deprecated)] api.create_before_version_2( - &id, + substrate_hash, from.unwrap_or_default(), data, value.unwrap_or_default(), @@ -539,7 +539,7 @@ where // Post-london #[allow(deprecated)] api.create_before_version_4( - &id, + substrate_hash, from.unwrap_or_default(), data, value.unwrap_or_default(), @@ -555,7 +555,7 @@ where // Post-london + access list support let access_list = access_list.unwrap_or_default(); api.create( - &id, + substrate_hash, from.unwrap_or_default(), data, value.unwrap_or_default(), @@ -587,7 +587,7 @@ where let api_version = if let Ok(Some(api_version)) = client .runtime_api() - .api_version::>(&id) + .api_version::>(substrate_hash) { api_version } else { diff --git a/client/rpc/src/eth/fee.rs b/client/rpc/src/eth/fee.rs index 683022f15d..a257a3a089 100644 --- a/client/rpc/src/eth/fee.rs +++ b/client/rpc/src/eth/fee.rs @@ -24,10 +24,7 @@ use sc_network_common::ExHashT; use sc_transaction_pool::ChainApi; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; -use sp_runtime::{ - generic::BlockId, - traits::{Block as BlockT, UniqueSaturatedInto}, -}; +use sp_runtime::traits::{Block as BlockT, UniqueSaturatedInto}; // Frontier use fc_rpc_core::types::*; use fp_rpc::EthereumRuntimeRPCApi; @@ -43,11 +40,11 @@ where BE: Backend + 'static, { pub fn gas_price(&self) -> Result { - let block = BlockId::Hash(self.client.info().best_hash); + let block_hash = self.client.info().best_hash; self.client .runtime_api() - .gas_price(&block) + .gas_price(block_hash) .map_err(|err| internal_err(format!("fetch runtime chain id failed: {:?}", err))) } diff --git a/client/rpc/src/eth/mod.rs b/client/rpc/src/eth/mod.rs index a106631cc1..887b45cd6c 100644 --- a/client/rpc/src/eth/mod.rs +++ b/client/rpc/src/eth/mod.rs @@ -43,10 +43,7 @@ use sp_api::{Core, HeaderT, ProvideRuntimeApi}; use sp_block_builder::BlockBuilder as BlockBuilderApi; use sp_blockchain::HeaderBackend; use sp_core::hashing::keccak_256; -use sp_runtime::{ - generic::BlockId, - traits::{Block as BlockT, UniqueSaturatedInto}, -}; +use sp_runtime::traits::{Block as BlockT, UniqueSaturatedInto}; // Frontier use fc_rpc_core::{types::*, EthApiServer}; use fc_storage::OverrideHandle; @@ -524,7 +521,6 @@ where // In case of Pending, we need an overlayed state to query over. let api = client.runtime_api(); let best_hash = client.info().best_hash; - let best = BlockId::Hash(best_hash); // Get all transactions in the ready queue. let xts: Vec<::Extrinsic> = graph .validated_pool() @@ -533,18 +529,18 @@ where .collect::::Extrinsic>>(); // Manually initialize the overlay. if let Ok(Some(header)) = client.header(best_hash) { - let parent_hash = BlockId::Hash(*header.parent_hash()); - api.initialize_block(&parent_hash, &header) + let parent_hash = *header.parent_hash(); + api.initialize_block(parent_hash, &header) .map_err(|e| internal_err(format!("Runtime api access error: {:?}", e)))?; // Apply the ready queue to the best block's state. for xt in xts { - let _ = api.apply_extrinsic(&best, xt); + let _ = api.apply_extrinsic(best_hash, xt); } Ok(api) } else { Err(internal_err(format!( "Cannot get header for block {:?}", - best + best_hash ))) } } diff --git a/client/rpc/src/eth/state.rs b/client/rpc/src/eth/state.rs index e0ef703edc..43c0126a6b 100644 --- a/client/rpc/src/eth/state.rs +++ b/client/rpc/src/eth/state.rs @@ -27,7 +27,7 @@ use sc_transaction_pool_api::{InPoolTransaction, TransactionPool}; use sp_api::ProvideRuntimeApi; use sp_block_builder::BlockBuilder as BlockBuilderApi; use sp_blockchain::HeaderBackend; -use sp_runtime::{generic::BlockId, traits::Block as BlockT}; +use sp_runtime::traits::Block as BlockT; // Frontier use fc_rpc_core::types::*; use fp_rpc::EthereumRuntimeRPCApi; @@ -52,7 +52,7 @@ where if number == BlockNumber::Pending { let api = pending_runtime_api(self.client.as_ref(), self.graph.as_ref())?; Ok(api - .account_basic(&BlockId::Hash(self.client.info().best_hash), address) + .account_basic(self.client.info().best_hash, address) .map_err(|err| internal_err(format!("fetch runtime chain id failed: {:?}", err)))? .balance) } else if let Ok(Some(id)) = frontier_backend_client::native_block_id::( @@ -62,10 +62,15 @@ where ) .await { + let substrate_hash = self + .client + .expect_block_hash_from_id(&id) + .map_err(|_| internal_err(format!("Expect block number from id: {}", id)))?; + Ok(self .client .runtime_api() - .account_basic(&id, address) + .account_basic(substrate_hash, address) .map_err(|err| internal_err(format!("fetch runtime chain id failed: {:?}", err)))? .balance) } else { @@ -83,7 +88,7 @@ where if number == BlockNumber::Pending { let api = pending_runtime_api(self.client.as_ref(), self.graph.as_ref())?; Ok(api - .storage_at(&BlockId::Hash(self.client.info().best_hash), address, index) + .storage_at(self.client.info().best_hash, address, index) .unwrap_or_default()) } else if let Ok(Some(id)) = frontier_backend_client::native_block_id::( self.client.as_ref(), @@ -115,12 +120,12 @@ where number: Option, ) -> Result { if let Some(BlockNumber::Pending) = number { - let block = BlockId::Hash(self.client.info().best_hash); + let substrate_hash = self.client.info().best_hash; let nonce = self .client .runtime_api() - .account_basic(&block, address) + .account_basic(substrate_hash, address) .map_err(|err| { internal_err(format!("fetch runtime account basic failed: {:?}", err)) })? @@ -151,10 +156,15 @@ where None => return Ok(U256::zero()), }; + let substrate_hash = self + .client + .expect_block_hash_from_id(&id) + .map_err(|_| internal_err(format!("Expect block number from id: {}", id)))?; + Ok(self .client .runtime_api() - .account_basic(&id, address) + .account_basic(substrate_hash, address) .map_err(|err| internal_err(format!("fetch runtime account basic failed: {:?}", err)))? .nonce) } @@ -164,7 +174,7 @@ where if number == BlockNumber::Pending { let api = pending_runtime_api(self.client.as_ref(), self.graph.as_ref())?; Ok(api - .account_code_at(&BlockId::Hash(self.client.info().best_hash), address) + .account_code_at(self.client.info().best_hash, address) .unwrap_or_default() .into()) } else if let Ok(Some(id)) = frontier_backend_client::native_block_id::( diff --git a/client/rpc/src/eth/submit.rs b/client/rpc/src/eth/submit.rs index 41e62f28b2..c9a969062f 100644 --- a/client/rpc/src/eth/submit.rs +++ b/client/rpc/src/eth/submit.rs @@ -86,10 +86,7 @@ where let gas_limit = match request.gas { Some(gas_limit) => gas_limit, None => { - let block = self - .client - .runtime_api() - .current_block(&BlockId::Hash(hash)); + let block = self.client.runtime_api().current_block(hash); if let Ok(Some(block)) = block { block.header.gas_limit } else { @@ -148,11 +145,11 @@ where }; let transaction_hash = transaction.hash(); - let block_hash = BlockId::hash(self.client.info().best_hash); + let block_hash = self.client.info().best_hash; let api_version = match self .client .runtime_api() - .api_version::>(&block_hash) + .api_version::>(block_hash) { Ok(api_version) => api_version, _ => return Err(internal_err("cannot access runtime api")), @@ -162,7 +159,7 @@ where Some(2) => match self .client .runtime_api() - .convert_transaction(&block_hash, transaction) + .convert_transaction(block_hash, transaction) { Ok(extrinsic) => extrinsic, Err(_) => return Err(internal_err("cannot access runtime api")), @@ -174,7 +171,7 @@ where match self .client .runtime_api() - .convert_transaction_before_version_2(&block_hash, legacy_transaction) + .convert_transaction_before_version_2(block_hash, legacy_transaction) { Ok(extrinsic) => extrinsic, Err(_) => return Err(internal_err("cannot access runtime api")), @@ -200,7 +197,11 @@ where }; self.pool - .submit_one(&block_hash, TransactionSource::Local, extrinsic) + .submit_one( + &BlockId::Hash(block_hash), + TransactionSource::Local, + extrinsic, + ) .map_ok(move |_| transaction_hash) .map_err(|err| internal_err(format::Geth::pool_error(err))) .await @@ -219,11 +220,11 @@ where let transaction_hash = transaction.hash(); - let block_hash = BlockId::hash(self.client.info().best_hash); + let block_hash = self.client.info().best_hash; let api_version = match self .client .runtime_api() - .api_version::>(&block_hash) + .api_version::>(block_hash) { Ok(api_version) => api_version, _ => return Err(internal_err("cannot access runtime api")), @@ -233,7 +234,7 @@ where Some(2) => match self .client .runtime_api() - .convert_transaction(&block_hash, transaction) + .convert_transaction(block_hash, transaction) { Ok(extrinsic) => extrinsic, Err(_) => return Err(internal_err("cannot access runtime api")), @@ -245,7 +246,7 @@ where match self .client .runtime_api() - .convert_transaction_before_version_2(&block_hash, legacy_transaction) + .convert_transaction_before_version_2(block_hash, legacy_transaction) { Ok(extrinsic) => extrinsic, Err(_) => { @@ -273,7 +274,11 @@ where }; self.pool - .submit_one(&block_hash, TransactionSource::Local, extrinsic) + .submit_one( + &BlockId::Hash(block_hash), + TransactionSource::Local, + extrinsic, + ) .map_ok(move |_| transaction_hash) .map_err(|err| internal_err(format::Geth::pool_error(err))) .await diff --git a/client/rpc/src/eth/transaction.rs b/client/rpc/src/eth/transaction.rs index d6e4404c41..c639fdf5f6 100644 --- a/client/rpc/src/eth/transaction.rs +++ b/client/rpc/src/eth/transaction.rs @@ -29,7 +29,7 @@ use sc_transaction_pool_api::InPoolTransaction; use sp_api::{ApiExt, ProvideRuntimeApi}; use sp_blockchain::HeaderBackend; use sp_core::hashing::keccak_256; -use sp_runtime::{generic::BlockId, traits::Block as BlockT}; +use sp_runtime::traits::Block as BlockT; // Frontier use fc_rpc_core::types::*; use fp_rpc::EthereumRuntimeRPCApi; @@ -66,10 +66,10 @@ where Some((hash, index)) => (hash, index as usize), None => { let api = client.runtime_api(); - let best_block: BlockId = BlockId::Hash(client.info().best_hash); + let best_block = client.info().best_hash; let api_version = if let Ok(Some(api_version)) = - api.api_version::>(&best_block) + api.api_version::>(best_block) { api_version } else { @@ -98,12 +98,12 @@ where ); let ethereum_transactions: Vec = if api_version > 1 { - api.extrinsic_filter(&best_block, xts).map_err(|err| { + api.extrinsic_filter(best_block, xts).map_err(|err| { internal_err(format!("fetch runtime extrinsic filter failed: {:?}", err)) })? } else { #[allow(deprecated)] - let legacy = api.extrinsic_filter_before_version_2(&best_block, xts) + let legacy = api.extrinsic_filter_before_version_2(best_block, xts) .map_err(|err| { internal_err(format!( "fetch runtime extrinsic filter failed: {:?}", @@ -145,7 +145,7 @@ where let base_fee = client .runtime_api() - .gas_price(&BlockId::Hash(substrate_hash)) + .gas_price(substrate_hash) .unwrap_or_default(); match (block, statuses) { @@ -191,7 +191,7 @@ where let base_fee = client .runtime_api() - .gas_price(&BlockId::Hash(substrate_hash)) + .gas_price(substrate_hash) .unwrap_or_default(); match (block, statuses) { @@ -244,7 +244,10 @@ where .current_transaction_statuses(schema, substrate_hash) .await; - let base_fee = client.runtime_api().gas_price(&id).unwrap_or_default(); + let base_fee = client + .runtime_api() + .gas_price(substrate_hash) + .unwrap_or_default(); match (block, statuses) { (Some(block), Some(statuses)) => { @@ -383,7 +386,7 @@ where EthereumTransaction::EIP2930(t) => t.gas_price, EthereumTransaction::EIP1559(t) => client .runtime_api() - .gas_price(&BlockId::Hash(substrate_hash)) + .gas_price(substrate_hash) .unwrap_or_default() .checked_add(t.max_priority_fee_per_gas) .unwrap_or_else(U256::max_value) diff --git a/client/rpc/src/eth_pubsub.rs b/client/rpc/src/eth_pubsub.rs index 8e7bd9e39c..670f653358 100644 --- a/client/rpc/src/eth_pubsub.rs +++ b/client/rpc/src/eth_pubsub.rs @@ -31,7 +31,7 @@ use sc_network::{NetworkService, NetworkStatusProvider}; use sc_network_common::ExHashT; use sc_rpc::SubscriptionTaskExecutor; use sc_transaction_pool_api::TransactionPool; -use sp_api::{ApiExt, BlockId, ProvideRuntimeApi}; +use sp_api::{ApiExt, ProvideRuntimeApi}; use sp_blockchain::HeaderBackend; use sp_consensus::SyncOracle; use sp_core::hashing::keccak_256; @@ -292,12 +292,12 @@ where .import_notification_stream() .filter_map(move |txhash| { if let Some(xt) = pool.ready_transaction(&txhash) { - let best_block: BlockId = BlockId::Hash(client.info().best_hash); + let best_block = client.info().best_hash; let api = client.runtime_api(); let api_version = if let Ok(Some(api_version)) = - api.api_version::>(&best_block) + api.api_version::>(best_block) { api_version } else { @@ -307,11 +307,11 @@ where let xts = vec![xt.data().clone()]; let txs: Option> = if api_version > 1 { - api.extrinsic_filter(&best_block, xts).ok() + api.extrinsic_filter(best_block, xts).ok() } else { #[allow(deprecated)] if let Ok(legacy) = - api.extrinsic_filter_before_version_2(&best_block, xts) + api.extrinsic_filter_before_version_2(best_block, xts) { Some(legacy.into_iter().map(|tx| tx.into()).collect()) } else { diff --git a/client/rpc/src/lib.rs b/client/rpc/src/lib.rs index ab46ddfe38..75eb4f2540 100644 --- a/client/rpc/src/lib.rs +++ b/client/rpc/src/lib.rs @@ -24,6 +24,7 @@ clippy::len_zero, clippy::new_without_default )] +#![deny(unused_crate_dependencies)] mod eth; mod eth_pubsub; @@ -218,7 +219,7 @@ mod tests { use sp_blockchain::HeaderBackend; use sp_consensus::BlockOrigin; use sp_runtime::{ - generic::{Block, BlockId, Header}, + generic::{Block, Header}, traits::{BlakeTwo256, Block as BlockT}, }; use substrate_test_runtime_client::{ @@ -270,7 +271,7 @@ mod tests { // A1 -> B1 let mut builder = client - .new_block_at(&BlockId::Hash(a1_hash), Default::default(), false) + .new_block_at(a1_hash, Default::default(), false) .unwrap(); builder.push_storage_change(vec![1], None).unwrap(); let b1 = builder.build().unwrap().block; @@ -299,7 +300,7 @@ mod tests { // A1 -> B2 let mut builder = client - .new_block_at(&BlockId::Hash(a1_hash), Default::default(), false) + .new_block_at(a1_hash, Default::default(), false) .unwrap(); builder.push_storage_change(vec![2], None).unwrap(); let b2 = builder.build().unwrap().block; @@ -328,7 +329,7 @@ mod tests { // B2 -> C1. B2 branch is now canon. let mut builder = client - .new_block_at(&BlockId::Hash(b2_hash), Default::default(), false) + .new_block_at(b2_hash, Default::default(), false) .unwrap(); builder.push_storage_change(vec![1], None).unwrap(); let c1 = builder.build().unwrap().block; diff --git a/client/rpc/src/net.rs b/client/rpc/src/net.rs index 4b12efc014..b931b453be 100644 --- a/client/rpc/src/net.rs +++ b/client/rpc/src/net.rs @@ -24,7 +24,7 @@ use sc_network::NetworkService; use sc_network_common::{service::NetworkPeers, ExHashT}; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; -use sp_runtime::{generic::BlockId, traits::Block as BlockT}; +use sp_runtime::traits::Block as BlockT; // Frontier use fc_rpc_core::{types::PeerCount, NetApiServer}; use fp_rpc::EthereumRuntimeRPCApi; @@ -64,7 +64,7 @@ where Ok(self .client .runtime_api() - .chain_id(&BlockId::Hash(hash)) + .chain_id(hash) .map_err(|_| internal_err("fetch runtime chain id failed"))? .to_string()) } diff --git a/client/rpc/src/web3.rs b/client/rpc/src/web3.rs index 4f97b78315..4d702cda1d 100644 --- a/client/rpc/src/web3.rs +++ b/client/rpc/src/web3.rs @@ -24,7 +24,7 @@ use jsonrpsee::core::RpcResult as Result; use sp_api::{Core, ProvideRuntimeApi}; use sp_blockchain::HeaderBackend; use sp_core::keccak_256; -use sp_runtime::{generic::BlockId, traits::Block as BlockT}; +use sp_runtime::traits::Block as BlockT; // Frontier use fc_rpc_core::{types::Bytes, Web3ApiServer}; use fp_rpc::EthereumRuntimeRPCApi; @@ -58,7 +58,7 @@ where let version = self .client .runtime_api() - .version(&BlockId::Hash(hash)) + .version(hash) .map_err(|err| internal_err(format!("fetch runtime version failed: {:?}", err)))?; Ok(format!( "{spec_name}/v{spec_version}.{impl_version}/{pkg_name}-{pkg_version}", diff --git a/client/storage/src/lib.rs b/client/storage/src/lib.rs index b9496a6e69..93ecc035ab 100644 --- a/client/storage/src/lib.rs +++ b/client/storage/src/lib.rs @@ -16,6 +16,8 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +#![deny(unused_crate_dependencies)] + mod overrides; pub use self::overrides::*; diff --git a/client/storage/src/overrides/mod.rs b/client/storage/src/overrides/mod.rs index 3f2966b062..b30e3662d1 100644 --- a/client/storage/src/overrides/mod.rs +++ b/client/storage/src/overrides/mod.rs @@ -21,7 +21,7 @@ use std::{collections::BTreeMap, marker::PhantomData, sync::Arc}; use ethereum::BlockV2 as EthereumBlock; use ethereum_types::{H160, H256, U256}; // Substrate -use sp_api::{ApiExt, BlockId, ProvideRuntimeApi}; +use sp_api::{ApiExt, ProvideRuntimeApi}; use sp_io::hashing::{blake2_128, twox_128}; use sp_runtime::{traits::Block as BlockT, Permill}; // Frontier @@ -103,7 +103,7 @@ where fn account_code_at(&self, block_hash: Block::Hash, address: H160) -> Option> { self.client .runtime_api() - .account_code_at(&BlockId::Hash(block_hash), address) + .account_code_at(block_hash, address) .ok() } @@ -111,7 +111,7 @@ where fn storage_at(&self, block_hash: Block::Hash, address: H160, index: U256) -> Option { self.client .runtime_api() - .storage_at(&BlockId::Hash(block_hash), address, index) + .storage_at(block_hash, address, index) .ok() } @@ -120,7 +120,7 @@ where let api = self.client.runtime_api(); let api_version = if let Ok(Some(api_version)) = - api.api_version::>(&BlockId::Hash(block_hash)) + api.api_version::>(block_hash) { api_version } else { @@ -128,12 +128,10 @@ where }; if api_version == 1 { #[allow(deprecated)] - let old_block = api - .current_block_before_version_2(&BlockId::Hash(block_hash)) - .ok()?; + let old_block = api.current_block_before_version_2(block_hash).ok()?; old_block.map(|block| block.into()) } else { - api.current_block(&BlockId::Hash(block_hash)).ok()? + api.current_block(block_hash).ok()? } } @@ -142,7 +140,7 @@ where let api = self.client.runtime_api(); let api_version = if let Ok(Some(api_version)) = - api.api_version::>(&BlockId::Hash(block_hash)) + api.api_version::>(block_hash) { api_version } else { @@ -150,9 +148,7 @@ where }; if api_version < 4 { #[allow(deprecated)] - let old_receipts = api - .current_receipts_before_version_4(&BlockId::Hash(block_hash)) - .ok()?; + let old_receipts = api.current_receipts_before_version_4(block_hash).ok()?; old_receipts.map(|receipts| { receipts .into_iter() @@ -169,7 +165,7 @@ where } else { self.client .runtime_api() - .current_receipts(&BlockId::Hash(block_hash)) + .current_receipts(block_hash) .ok()? } } @@ -181,17 +177,14 @@ where ) -> Option> { self.client .runtime_api() - .current_transaction_statuses(&BlockId::Hash(block_hash)) + .current_transaction_statuses(block_hash) .ok()? } /// Return the elasticity multiplier at the give post-eip1559 height. fn elasticity(&self, block_hash: Block::Hash) -> Option { if self.is_eip1559(block_hash) { - self.client - .runtime_api() - .elasticity(&BlockId::Hash(block_hash)) - .ok()? + self.client.runtime_api().elasticity(block_hash).ok()? } else { None } @@ -201,7 +194,7 @@ where if let Ok(Some(api_version)) = self .client .runtime_api() - .api_version::>(&BlockId::Hash(block_hash)) + .api_version::>(block_hash) { return api_version >= 2; } diff --git a/docs/accounts.md b/docs/accounts.md new file mode 100644 index 0000000000..e0b278c408 --- /dev/null +++ b/docs/accounts.md @@ -0,0 +1,18 @@ +Frontier provides two different strategies for handling `H160` addresses. + +# H256 -> H160 mapping + +The first strategy consists of of a truncated hash scheme, where the first 160 LE bytes of a `H256` address are used to form the `H160` address. + +`AccountId32` is the Account type used for `frame_system::pallet::Config::AccountId`. + +The Runtime's `Signature` type is configured as [`sp_runtime::MultiSignature`](https://docs.rs/sp-runtime/2.0.1/sp_runtime/enum.MultiSignature.html), which means signatures can be: +- `Sr25519` +- `Ed25519` +- `ECDSA` + +# Native H160 via AccountId20 + +The second strategy consists of using `fp-account` so that `AccountId20` is the Account type used for `frame_system::pallet::Config::AccountId`. + +The Runtime's `Signature` type is configured as `EthereumSigner`, which means only `ECDSA` signatures are supported. \ No newline at end of file diff --git a/docs/yarn.lock b/docs/yarn.lock index d31524cd79..e551b16dbd 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -2226,9 +2226,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219: - version "1.0.30001230" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz#8135c57459854b2240b57a4a6786044bdc5a9f71" - integrity sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ== + version "1.0.30001468" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001468.tgz#0101837c6a4e38e6331104c33dcfb3bdf367a4b7" + integrity sha512-zgAo8D5kbOyUcRAgSmgyuvBkjrGk5CGYG5TYgFdpQv+ywcyEpo1LOWoG8YmoflGnh+V+UsNuKYedsoYs0hzV5A== caseless@~0.12.0: version "0.12.0" diff --git a/frame/base-fee/Cargo.toml b/frame/base-fee/Cargo.toml index df30cc2a1f..dc89a53b4b 100644 --- a/frame/base-fee/Cargo.toml +++ b/frame/base-fee/Cargo.toml @@ -23,7 +23,7 @@ fp-evm = { workspace = true } [dev-dependencies] # Substrate -sp-io = { workspace = true } +sp-io = { workspace = true, features = ["default"] } [features] default = ["std"] diff --git a/frame/base-fee/src/lib.rs b/frame/base-fee/src/lib.rs index 2d562d7a51..4cb182032e 100644 --- a/frame/base-fee/src/lib.rs +++ b/frame/base-fee/src/lib.rs @@ -17,6 +17,7 @@ #![cfg_attr(not(feature = "std"), no_std)] #![allow(clippy::comparison_chain)] +#![deny(unused_crate_dependencies)] #[cfg(test)] mod tests; diff --git a/frame/dynamic-fee/Cargo.toml b/frame/dynamic-fee/Cargo.toml index d08dfd43ae..b26de76fc0 100644 --- a/frame/dynamic-fee/Cargo.toml +++ b/frame/dynamic-fee/Cargo.toml @@ -18,7 +18,6 @@ frame-support = { workspace = true } frame-system = { workspace = true } sp-core = { workspace = true } sp-inherents = { workspace = true } -sp-runtime = { workspace = true } sp-std = { workspace = true } # Frontier fp-dynamic-fee = { workspace = true } @@ -26,8 +25,9 @@ fp-evm = { workspace = true } [dev-dependencies] # Substrate -pallet-timestamp = { workspace = true } -sp-io = { workspace = true } +pallet-timestamp = { workspace = true, features = ["default"] } +sp-io = { workspace = true, features = ["default"] } +sp-runtime = { workspace = true, features = ["default"] } [features] default = ["std"] @@ -37,7 +37,6 @@ std = [ # Substrate "sp-core/std", "sp-inherents/std", - "sp-runtime/std", "sp-std/std", # Substrate "frame-system/std", diff --git a/frame/dynamic-fee/src/lib.rs b/frame/dynamic-fee/src/lib.rs index 4351364b28..64b5f3d3df 100644 --- a/frame/dynamic-fee/src/lib.rs +++ b/frame/dynamic-fee/src/lib.rs @@ -17,6 +17,7 @@ // Ensure we're `no_std` when compiling for Wasm. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] #[cfg(test)] mod tests; diff --git a/frame/ethereum/Cargo.toml b/frame/ethereum/Cargo.toml index e6c6f3c836..1d58fb1303 100644 --- a/frame/ethereum/Cargo.toml +++ b/frame/ethereum/Cargo.toml @@ -14,7 +14,6 @@ targets = ["x86_64-unknown-linux-gnu"] ethereum = { workspace = true, features = ["with-codec"] } ethereum-types = { workspace = true } evm = { workspace = true, features = ["with-codec"] } -rlp = { workspace = true } scale-codec = { package = "parity-scale-codec", workspace = true } scale-info = { workspace = true } @@ -31,16 +30,18 @@ fp-consensus = { workspace = true } fp-ethereum = { workspace = true } fp-evm = { workspace = true } fp-rpc = { workspace = true } -fp-self-contained = { workspace = true } fp-storage = { workspace = true } pallet-evm = { workspace = true } [dev-dependencies] hex = "0.4.3" libsecp256k1 = { workspace = true, features = ["static-context", "hmac"] } +rlp = { workspace = true } # Substrate pallet-balances = { workspace = true, features = ["default"] } -sp-core = { workspace = true } +sp-core = { workspace = true, features = ["default"] } +# Frontier +fp-self-contained = { workspace = true, features = ["default"] } [features] default = ["std"] diff --git a/frame/ethereum/src/lib.rs b/frame/ethereum/src/lib.rs index f351101510..72e47a4c6a 100644 --- a/frame/ethereum/src/lib.rs +++ b/frame/ethereum/src/lib.rs @@ -23,6 +23,7 @@ // Ensure we're `no_std` when compiling for Wasm. #![cfg_attr(not(feature = "std"), no_std)] #![allow(clippy::comparison_chain, clippy::large_enum_variant)] +#![deny(unused_crate_dependencies)] #[cfg(all(feature = "std", test))] mod mock; @@ -64,7 +65,8 @@ pub use ethereum::{ }; pub use fp_rpc::TransactionStatus; -#[derive(Clone, Eq, PartialEq, RuntimeDebug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive(Clone, Eq, PartialEq, RuntimeDebug)] +#[derive(Encode, Decode, MaxEncodedLen, TypeInfo)] pub enum RawOrigin { EthereumTransaction(H160), } @@ -163,6 +165,13 @@ where } } +#[derive(Copy, Clone, Eq, PartialEq, Default)] +pub enum PostLogContent { + #[default] + BlockAndTxnHashes, + OnlyBlockHash, +} + pub use self::pallet::*; #[frame_support::pallet] @@ -185,13 +194,18 @@ pub mod pallet { type RuntimeEvent: From + IsType<::RuntimeEvent>; /// How Ethereum state root is calculated. type StateRoot: Get; + /// What's included in the PostLog. + type PostLogContent: Get; } #[pallet::hooks] impl Hooks> for Pallet { fn on_finalize(n: T::BlockNumber) { >::store_block( - fp_consensus::find_pre_log(&frame_system::Pallet::::digest()).is_err(), + match fp_consensus::find_pre_log(&frame_system::Pallet::::digest()) { + Ok(_) => None, + Err(_) => Some(T::PostLogContent::get()), + }, U256::from(UniqueSaturatedInto::::unique_saturated_into( frame_system::Pallet::::block_number(), )), @@ -332,7 +346,7 @@ pub mod pallet { #[pallet::genesis_build] impl GenesisBuild for GenesisConfig { fn build(&self) { - >::store_block(false, U256::zero()); + >::store_block(None, U256::zero()); frame_support::storage::unhashed::put::( PALLET_ETHEREUM_SCHEMA, &EthereumStorageSchema::V3, @@ -375,7 +389,7 @@ impl Pallet { Some(H160::from(H256::from(sp_io::hashing::keccak_256(&pubkey)))) } - fn store_block(post_log: bool, block_number: U256) { + fn store_block(post_log: Option, block_number: U256) { let mut transactions = Vec::new(); let mut statuses = Vec::new(); let mut receipts = Vec::new(); @@ -426,12 +440,22 @@ impl Pallet { CurrentTransactionStatuses::::put(statuses.clone()); BlockHash::::insert(block_number, block.header.hash()); - if post_log { - let digest = DigestItem::Consensus( - FRONTIER_ENGINE_ID, - PostLog::Hashes(fp_consensus::Hashes::from_block(block)).encode(), - ); - frame_system::Pallet::::deposit_log(digest); + match post_log { + Some(PostLogContent::BlockAndTxnHashes) => { + let digest = DigestItem::Consensus( + FRONTIER_ENGINE_ID, + PostLog::Hashes(fp_consensus::Hashes::from_block(block)).encode(), + ); + frame_system::Pallet::::deposit_log(digest); + } + Some(PostLogContent::OnlyBlockHash) => { + let digest = DigestItem::Consensus( + FRONTIER_ENGINE_ID, + PostLog::BlockHash(block.header.hash()).encode(), + ); + frame_system::Pallet::::deposit_log(digest); + } + None => { /* do nothing*/ } } } diff --git a/frame/ethereum/src/mock.rs b/frame/ethereum/src/mock.rs index 4928dca369..5e41224e9d 100644 --- a/frame/ethereum/src/mock.rs +++ b/frame/ethereum/src/mock.rs @@ -143,7 +143,6 @@ parameter_types! { } pub struct HashedAddressMapping; - impl AddressMapping for HashedAddressMapping { fn into_account_id(address: H160) -> AccountId32 { let mut data = [0u8; 32]; @@ -172,9 +171,14 @@ impl pallet_evm::Config for Test { type FindAuthor = FindAuthorTruncated; } +parameter_types! { + pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes; +} + impl Config for Test { type RuntimeEvent = RuntimeEvent; type StateRoot = IntermediateStateRoot; + type PostLogContent = PostBlockAndTxnHashes; } impl fp_self_contained::SelfContainedCall for RuntimeCall { diff --git a/frame/evm-chain-id/src/lib.rs b/frame/evm-chain-id/src/lib.rs index 589019f06e..04dd317814 100644 --- a/frame/evm-chain-id/src/lib.rs +++ b/frame/evm-chain-id/src/lib.rs @@ -26,6 +26,7 @@ // Ensure we're `no_std` when compiling for Wasm. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] pub use pallet::*; diff --git a/frame/evm/Cargo.toml b/frame/evm/Cargo.toml index d5bd7084cf..8a82b5a60e 100644 --- a/frame/evm/Cargo.toml +++ b/frame/evm/Cargo.toml @@ -16,7 +16,7 @@ environmental = { workspace = true, optional = true } evm = { workspace = true, features = ["with-codec"] } hex = { version = "0.4.3", default-features = false, features = ["alloc"] } impl-trait-for-tuples = "0.2.2" -log = { version = "0.4.17", default-features = false } +log = { workspace = true } rlp = { workspace = true } scale-codec = { package = "parity-scale-codec", workspace = true } scale-info = { workspace = true } @@ -30,12 +30,13 @@ sp-io = { workspace = true } sp-runtime = { workspace = true } sp-std = { workspace = true } # Frontier +fp-account = { workspace = true } fp-evm = { workspace = true } [dev-dependencies] # Substrate pallet-balances = { workspace = true, features = ["default"] } -pallet-evm-precompile-simple = { workspace = true } +pallet-evm-precompile-simple = { workspace = true, features = ["default"] } [features] default = ["std"] @@ -58,6 +59,7 @@ std = [ "sp-runtime/std", "sp-std/std", # Frontier + "fp-account/std", "fp-evm/std", ] runtime-benchmarks = [ diff --git a/frame/evm/precompile/blake2/src/lib.rs b/frame/evm/precompile/blake2/src/lib.rs index 50441f913b..09561c73b6 100644 --- a/frame/evm/precompile/blake2/src/lib.rs +++ b/frame/evm/precompile/blake2/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] extern crate alloc; diff --git a/frame/evm/precompile/bn128/src/lib.rs b/frame/evm/precompile/bn128/src/lib.rs index 10ca750c2a..1fd3060c8a 100644 --- a/frame/evm/precompile/bn128/src/lib.rs +++ b/frame/evm/precompile/bn128/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] extern crate alloc; diff --git a/frame/evm/precompile/curve25519/src/lib.rs b/frame/evm/precompile/curve25519/src/lib.rs index d2aa0d0d4f..29d62149d9 100644 --- a/frame/evm/precompile/curve25519/src/lib.rs +++ b/frame/evm/precompile/curve25519/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] extern crate alloc; use alloc::vec::Vec; diff --git a/frame/evm/precompile/dispatch/Cargo.toml b/frame/evm/precompile/dispatch/Cargo.toml index b2be365313..782f3b404f 100644 --- a/frame/evm/precompile/dispatch/Cargo.toml +++ b/frame/evm/precompile/dispatch/Cargo.toml @@ -18,14 +18,14 @@ pallet-evm = { workspace = true } scale-codec = { package = "parity-scale-codec", workspace = true } scale-info = { workspace = true } # Substrate -frame-system = { workspace = true } +frame-system = { workspace = true, features = ["default"] } pallet-balances = { workspace = true, features = ["default"] } -pallet-timestamp = { workspace = true } -pallet-utility = { workspace = true } -sp-core = { workspace = true } -sp-io = { workspace = true } -sp-runtime = { workspace = true } -sp-std = { workspace = true } +pallet-timestamp = { workspace = true, features = ["default"] } +pallet-utility = { workspace = true, features = ["default"] } +sp-core = { workspace = true, features = ["default"] } +sp-io = { workspace = true, features = ["default"] } +sp-runtime = { workspace = true, features = ["default"] } +sp-std = { workspace = true, features = ["default"] } [features] default = ["std"] diff --git a/frame/evm/precompile/dispatch/src/lib.rs b/frame/evm/precompile/dispatch/src/lib.rs index 958a4a86cc..82aee787e7 100644 --- a/frame/evm/precompile/dispatch/src/lib.rs +++ b/frame/evm/precompile/dispatch/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] extern crate alloc; diff --git a/frame/evm/precompile/ed25519/src/lib.rs b/frame/evm/precompile/ed25519/src/lib.rs index 971730a579..8c1c841ce1 100644 --- a/frame/evm/precompile/ed25519/src/lib.rs +++ b/frame/evm/precompile/ed25519/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] extern crate alloc; diff --git a/frame/evm/precompile/modexp/src/lib.rs b/frame/evm/precompile/modexp/src/lib.rs index 6932df40ab..87da646bce 100644 --- a/frame/evm/precompile/modexp/src/lib.rs +++ b/frame/evm/precompile/modexp/src/lib.rs @@ -17,13 +17,14 @@ #![cfg_attr(not(feature = "std"), no_std)] #![allow(clippy::comparison_chain)] +#![deny(unused_crate_dependencies)] extern crate alloc; use alloc::{vec, vec::Vec}; use core::cmp::max; -use num::{BigUint, FromPrimitive, One, ToPrimitive, Zero}; +use num::{BigUint, FromPrimitive, Integer, One, ToPrimitive, Zero}; use fp_evm::{ ExitError, ExitSucceed, Precompile, PrecompileFailure, PrecompileHandle, PrecompileOutput, @@ -41,6 +42,7 @@ fn calculate_gas_cost( mod_length: u64, exponent: &BigUint, exponent_bytes: &[u8], + mod_is_even: bool, ) -> u64 { fn calculate_multiplication_complexity(base_length: u64, mod_length: u64) -> u64 { let max_length = max(base_length, mod_length); @@ -91,6 +93,7 @@ fn calculate_gas_cost( MIN_GAS_COST, multiplication_complexity * iteration_count / 3, ) + .saturating_mul(if mod_is_even { 20 } else { 1 }) } /// Copy bytes from input to target. @@ -196,7 +199,13 @@ impl Precompile for Modexp { let modulus = BigUint::from_bytes_be(&mod_buf); // do our gas accounting - let gas_cost = calculate_gas_cost(base_len as u64, mod_len as u64, &exponent, &exp_buf); + let gas_cost = calculate_gas_cost( + base_len as u64, + mod_len as u64, + &exponent, + &exp_buf, + modulus.is_even(), + ); handle.record_cost(gas_cost)?; @@ -510,6 +519,6 @@ mod tests { let _ = Modexp::execute(&mut handle).expect("Modexp::execute() returned error"); - assert_eq!(handle.gas_used, 7104); // gas used when ran in geth + assert_eq!(handle.gas_used, 7104 * 20); // gas used when ran in geth (x20) } } diff --git a/frame/evm/precompile/sha3fips/src/lib.rs b/frame/evm/precompile/sha3fips/src/lib.rs index d76f9650bb..6f951d35e8 100644 --- a/frame/evm/precompile/sha3fips/src/lib.rs +++ b/frame/evm/precompile/sha3fips/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] extern crate alloc; diff --git a/frame/evm/precompile/simple/src/lib.rs b/frame/evm/precompile/simple/src/lib.rs index df4366679a..0791111fd0 100644 --- a/frame/evm/precompile/simple/src/lib.rs +++ b/frame/evm/precompile/simple/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] extern crate alloc; diff --git a/frame/evm/src/lib.rs b/frame/evm/src/lib.rs index a6b1406e2d..fdabd8b4ab 100644 --- a/frame/evm/src/lib.rs +++ b/frame/evm/src/lib.rs @@ -52,8 +52,9 @@ // Ensure we're `no_std` when compiling for Wasm. #![cfg_attr(not(feature = "std"), no_std)] -#![allow(clippy::too_many_arguments)] #![cfg_attr(test, feature(assert_matches))] +#![cfg_attr(feature = "runtime-benchmarks", deny(unused_crate_dependencies))] +#![allow(clippy::too_many_arguments)] #[cfg(feature = "runtime-benchmarks")] pub mod benchmarking; @@ -84,6 +85,7 @@ use sp_std::{cmp::min, vec::Vec}; pub use evm::{ Config as EvmConfig, Context, ExitError, ExitFatal, ExitReason, ExitRevert, ExitSucceed, }; +use fp_account::AccountId20; #[cfg(feature = "std")] use fp_evm::GenesisAccount; pub use fp_evm::{ @@ -603,6 +605,24 @@ where } } +/// Ensure that the address is AccountId20. +pub struct EnsureAccountId20; + +impl EnsureAddressOrigin for EnsureAccountId20 +where + OuterOrigin: Into, OuterOrigin>> + From>, +{ + type Success = AccountId20; + + fn try_address_origin(address: &H160, origin: OuterOrigin) -> Result { + let acc: AccountId20 = AccountId20::from(*address); + origin.into().and_then(|o| match o { + RawOrigin::Signed(who) if who == acc => Ok(who), + r => Err(OuterOrigin::from(r)), + }) + } +} + pub trait AddressMapping { fn into_account_id(address: H160) -> A; } @@ -610,9 +630,9 @@ pub trait AddressMapping { /// Identity address mapping. pub struct IdentityAddressMapping; -impl AddressMapping for IdentityAddressMapping { - fn into_account_id(address: H160) -> H160 { - address +impl> AddressMapping for IdentityAddressMapping { + fn into_account_id(address: H160) -> T { + address.into() } } diff --git a/frame/evm/src/runner/stack.rs b/frame/evm/src/runner/stack.rs index be39912a48..3193b1c049 100644 --- a/frame/evm/src/runner/stack.rs +++ b/frame/evm/src/runner/stack.rs @@ -130,6 +130,10 @@ where >, ) -> (ExitReason, R), { + // Only check the restrictions of EIP-3607 if the source of the EVM operation is from an external transaction. + // If the source of this EVM operation is from an internal call, like from `eth_call` or `eth_estimateGas` RPC, + // we will skip the checks for the EIP-3607. + // // EIP-3607: https://eips.ethereum.org/EIPS/eip-3607 // Do not allow transactions for which `tx.sender` has any code deployed. // @@ -137,7 +141,9 @@ where // of a precompile. While mainnet Ethereum currently only has stateless precompiles, // projects using Frontier can have stateful precompiles that can manage funds or // which calls other contracts that expects this precompile address to be trustworthy. - if !>::get(source).is_empty() || precompiles.is_precompile(source) { + if is_transactional + && (!>::get(source).is_empty() || precompiles.is_precompile(source)) + { return Err(RunnerError { error: Error::::TransactionMustComeFromEOA, weight, diff --git a/frame/evm/src/tests.rs b/frame/evm/src/tests.rs index 1e8202ea43..65fc0e033b 100644 --- a/frame/evm/src/tests.rs +++ b/frame/evm/src/tests.rs @@ -414,8 +414,10 @@ fn handle_sufficient_reference() { new_test_ext().execute_with(|| { let addr = H160::from_str("1230000000000000000000000000000000000001").unwrap(); let addr_2 = H160::from_str("1234000000000000000000000000000000000001").unwrap(); - let substrate_addr = ::AddressMapping::into_account_id(addr); - let substrate_addr_2 = ::AddressMapping::into_account_id(addr_2); + let substrate_addr: ::AccountId = + ::AddressMapping::into_account_id(addr); + let substrate_addr_2: ::AccountId = + ::AddressMapping::into_account_id(addr_2); // Sufficients should increase when creating EVM accounts. let _ = >::insert(addr, &vec![0]); @@ -559,8 +561,9 @@ fn runner_max_fee_per_gas_gte_max_priority_fee_per_gas() { } #[test] -fn eip3607_transaction_from_contract_should_fail() { +fn eip3607_transaction_from_contract() { new_test_ext().execute_with(|| { + // external transaction match ::Runner::call( // Contract address. H160::from_str("1000000000000000000000000000000000000001").unwrap(), @@ -572,8 +575,8 @@ fn eip3607_transaction_from_contract_should_fail() { None, None, Vec::new(), - false, // non-transactional - true, // must be validated + true, // transactional + false, // not sure be validated &::config().clone(), ) { Err(RunnerError { @@ -582,12 +585,31 @@ fn eip3607_transaction_from_contract_should_fail() { }) => (), _ => panic!("Should have failed"), } + + // internal call + assert!(::Runner::call( + // Contract address. + H160::from_str("1000000000000000000000000000000000000001").unwrap(), + H160::from_str("1000000000000000000000000000000000000001").unwrap(), + Vec::new(), + U256::from(1u32), + 1000000, + None, + None, + None, + Vec::new(), + false, // non-transactional + true, // must be validated + &::config().clone(), + ) + .is_ok()); }); } #[test] -fn eip3607_transaction_from_precompile_should_fail() { +fn eip3607_transaction_from_precompile() { new_test_ext().execute_with(|| { + // external transaction match ::Runner::call( // Precompile address. H160::from_str("0000000000000000000000000000000000000001").unwrap(), @@ -599,8 +621,8 @@ fn eip3607_transaction_from_precompile_should_fail() { None, None, Vec::new(), - false, // non-transactional - true, // must be validated + true, // transactional + false, // not sure be validated &::config().clone(), ) { Err(RunnerError { @@ -609,5 +631,23 @@ fn eip3607_transaction_from_precompile_should_fail() { }) => (), _ => panic!("Should have failed"), } + + // internal call + assert!(::Runner::call( + // Contract address. + H160::from_str("0000000000000000000000000000000000000001").unwrap(), + H160::from_str("1000000000000000000000000000000000000001").unwrap(), + Vec::new(), + U256::from(1u32), + 1000000, + None, + None, + None, + Vec::new(), + false, // non-transactional + true, // must be validated + &::config().clone(), + ) + .is_ok()); }); } diff --git a/frame/evm/test-vector-support/Cargo.toml b/frame/evm/test-vector-support/Cargo.toml index 6434383e44..bfa85744c8 100644 --- a/frame/evm/test-vector-support/Cargo.toml +++ b/frame/evm/test-vector-support/Cargo.toml @@ -13,6 +13,6 @@ hex = "0.4.3" serde = { workspace = true } serde_json = { workspace = true } # Substrate -sp-core = { workspace = true } +sp-core = { workspace = true, features = ["default"] } # Frontier fp-evm = { workspace = true, features = ["default"] } diff --git a/frame/evm/test-vector-support/src/lib.rs b/frame/evm/test-vector-support/src/lib.rs index 5b12131725..fd67f747f9 100644 --- a/frame/evm/test-vector-support/src/lib.rs +++ b/frame/evm/test-vector-support/src/lib.rs @@ -15,6 +15,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +#![deny(unused_crate_dependencies)] + use std::fs; use evm::{Context, ExitError, ExitReason, ExitSucceed, Transfer}; diff --git a/frame/hotfix-sufficients/Cargo.toml b/frame/hotfix-sufficients/Cargo.toml index 0fbaff4322..e7c75cddda 100644 --- a/frame/hotfix-sufficients/Cargo.toml +++ b/frame/hotfix-sufficients/Cargo.toml @@ -26,7 +26,7 @@ pallet-evm = { workspace = true } [dev-dependencies] # Substrate -sp-io = { workspace = true } +sp-io = { workspace = true, features = ["default"] } [features] default = ["std"] diff --git a/frame/hotfix-sufficients/src/lib.rs b/frame/hotfix-sufficients/src/lib.rs index 37f9f6628b..86a45be36f 100644 --- a/frame/hotfix-sufficients/src/lib.rs +++ b/frame/hotfix-sufficients/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![cfg_attr(feature = "runtime-benchmarks", deny(unused_crate_dependencies))] #[cfg(feature = "runtime-benchmarks")] pub mod benchmarking; diff --git a/frame/hotfix-sufficients/src/tests.rs b/frame/hotfix-sufficients/src/tests.rs index eedbf06aa2..d5effd936e 100644 --- a/frame/hotfix-sufficients/src/tests.rs +++ b/frame/hotfix-sufficients/src/tests.rs @@ -62,8 +62,10 @@ fn test_hotfix_inc_account_sufficients_increments_if_nonce_nonzero() { let addr_2 = "1234000000000000000000000000000000000001" .parse::() .unwrap(); - let substrate_addr_1 = ::AddressMapping::into_account_id(addr_1); - let substrate_addr_2 = ::AddressMapping::into_account_id(addr_2); + let substrate_addr_1: ::AccountId = + ::AddressMapping::into_account_id(addr_1); + let substrate_addr_2: ::AccountId = + ::AddressMapping::into_account_id(addr_2); frame_system::Pallet::::inc_account_nonce(&substrate_addr_1); @@ -95,7 +97,8 @@ fn test_hotfix_inc_account_sufficients_increments_with_saturation_if_nonce_nonze let addr = "1230000000000000000000000000000000000001" .parse::() .unwrap(); - let substrate_addr = ::AddressMapping::into_account_id(addr); + let substrate_addr: ::AccountId = + ::AddressMapping::into_account_id(addr); frame_system::Account::::mutate(substrate_addr, |x| { x.nonce = 1; @@ -125,7 +128,8 @@ fn test_hotfix_inc_account_sufficients_does_not_increment_if_both_nonce_and_refs let addr = "1230000000000000000000000000000000000001" .parse::() .unwrap(); - let substrate_addr = ::AddressMapping::into_account_id(addr); + let substrate_addr: ::AccountId = + ::AddressMapping::into_account_id(addr); frame_system::Account::::mutate(substrate_addr, |x| { x.nonce = 1; diff --git a/primitives/account/Cargo.toml b/primitives/account/Cargo.toml new file mode 100644 index 0000000000..a56506cca1 --- /dev/null +++ b/primitives/account/Cargo.toml @@ -0,0 +1,42 @@ +[package] +name = "fp-account" +version = "1.0.0-dev" +license = "Apache-2.0" +description = "Primitives for Frontier AccountId20." +authors = { workspace = true } +edition = { workspace = true } +repository = { workspace = true } + +[dependencies] +hex = { version = "0.4.3", default-features = false } +impl-serde = { workspace = true, optional = true } +libsecp256k1 = { workspace = true } +log = { workspace = true } +scale-codec = { package = "parity-scale-codec", workspace = true } +scale-info = { workspace = true } +serde = { workspace = true, optional = true } + +# Substrate +sp-core = { workspace = true } +sp-io = { workspace = true } +sp-runtime = { workspace = true } +sp-std = { workspace = true } + +[dev-dependencies] + +[features] +default = ["std"] +std = [ + "hex/std", + "impl-serde/std", + "libsecp256k1/std", + "log/std", + "scale-codec/std", + "scale-info/std", + "serde", + # Substrate + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", +] diff --git a/primitives/account/src/lib.rs b/primitives/account/src/lib.rs new file mode 100644 index 0000000000..d1be0e8e29 --- /dev/null +++ b/primitives/account/src/lib.rs @@ -0,0 +1,223 @@ +// SPDX-License-Identifier: Apache-2.0 +// This file is part of Frontier. +// +// Copyright (c) 2020-2023 Parity Technologies (UK) Ltd. +// +// 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. + +#![cfg_attr(not(feature = "std"), no_std)] + +use scale_codec::{Decode, Encode, MaxEncodedLen}; +use scale_info::TypeInfo; +// Substrate +use sp_core::{ecdsa, H160, H256}; +use sp_io::hashing::keccak_256; + +/// A fully Ethereum-compatible `AccountId`. +/// Conforms to H160 address and ECDSA key standards. +/// Alternative to H256->H160 mapping. +#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Default)] +#[derive(Encode, Decode, MaxEncodedLen, TypeInfo)] +pub struct AccountId20(pub [u8; 20]); + +#[cfg(feature = "std")] +impl_serde::impl_fixed_hash_serde!(AccountId20, 20); + +#[cfg(feature = "std")] +impl std::str::FromStr for AccountId20 { + type Err = &'static str; + + fn from_str(s: &str) -> Result { + H160::from_str(s) + .map(Into::into) + .map_err(|_| "invalid hex address.") + } +} + +#[cfg(feature = "std")] +impl std::fmt::Display for AccountId20 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let address = hex::encode(self.0).trim_start_matches("0x").to_lowercase(); + let address_hash = hex::encode(keccak_256(address.as_bytes())); + + let checksum: String = + address + .char_indices() + .fold(String::from("0x"), |mut acc, (index, address_char)| { + let n = u16::from_str_radix(&address_hash[index..index + 1], 16) + .expect("Keccak256 hashed; qed"); + + if n > 7 { + // make char uppercase if ith character is 9..f + acc.push_str(&address_char.to_uppercase().to_string()) + } else { + // already lowercased + acc.push(address_char) + } + + acc + }); + write!(f, "{}", checksum) + } +} + +impl sp_std::fmt::Debug for AccountId20 { + fn fmt(&self, f: &mut sp_std::fmt::Formatter<'_>) -> sp_std::fmt::Result { + write!(f, "{:?}", H160(self.0)) + } +} + +impl From<[u8; 20]> for AccountId20 { + fn from(bytes: [u8; 20]) -> Self { + Self(bytes) + } +} + +impl From for [u8; 20] { + fn from(val: AccountId20) -> Self { + val.0 + } +} + +impl From for AccountId20 { + fn from(h160: H160) -> Self { + Self(h160.0) + } +} + +impl From for H160 { + fn from(val: AccountId20) -> Self { + H160(val.0) + } +} + +impl From for AccountId20 { + fn from(pk: ecdsa::Public) -> Self { + let decompressed = libsecp256k1::PublicKey::parse_compressed(&pk.0) + .expect("Wrong compressed public key provided") + .serialize(); + let mut m = [0u8; 64]; + m.copy_from_slice(&decompressed[1..65]); + let account = H160::from(H256::from(keccak_256(&m))); + Self(account.into()) + } +} + +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +#[derive(Eq, PartialEq, Clone, Encode, Decode, sp_core::RuntimeDebug, TypeInfo)] +pub struct EthereumSignature(ecdsa::Signature); + +impl sp_runtime::traits::Verify for EthereumSignature { + type Signer = EthereumSigner; + fn verify>(&self, mut msg: L, signer: &AccountId20) -> bool { + let m = keccak_256(msg.get()); + match sp_io::crypto::secp256k1_ecdsa_recover(self.0.as_ref(), &m) { + Ok(pubkey) => AccountId20(H160::from(H256::from(keccak_256(&pubkey))).0) == *signer, + Err(sp_io::EcdsaVerifyError::BadRS) => { + log::error!(target: "evm", "Error recovering: Incorrect value of R or S"); + false + } + Err(sp_io::EcdsaVerifyError::BadV) => { + log::error!(target: "evm", "Error recovering: Incorrect value of V"); + false + } + Err(sp_io::EcdsaVerifyError::BadSignature) => { + log::error!(target: "evm", "Error recovering: Invalid signature"); + false + } + } + } +} + +impl EthereumSignature { + pub fn new(s: ecdsa::Signature) -> Self { + EthereumSignature(s) + } +} + +pub struct EthereumSigner([u8; 20]); + +impl From<[u8; 20]> for EthereumSigner { + fn from(x: [u8; 20]) -> Self { + EthereumSigner(x) + } +} + +impl sp_runtime::traits::IdentifyAccount for EthereumSigner { + type AccountId = AccountId20; + fn into_account(self) -> AccountId20 { + AccountId20(self.0) + } +} + +#[cfg(feature = "std")] +impl std::fmt::Display for EthereumSigner { + fn fmt(&self, fmt: &mut std::fmt::Formatter) -> std::fmt::Result { + write!(fmt, "{:?}", H160::from(self.0)) + } +} + +impl From for EthereumSigner { + fn from(pk: ecdsa::Public) -> Self { + let decompressed = libsecp256k1::PublicKey::parse_compressed(&pk.0) + .expect("Wrong compressed public key provided") + .serialize(); + let mut m = [0u8; 64]; + m.copy_from_slice(&decompressed[1..65]); + let account = H160::from(H256::from(keccak_256(&m))); + EthereumSigner(account.into()) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use sp_core::{ecdsa, Pair, H256}; + use sp_runtime::traits::IdentifyAccount; + + #[test] + fn test_derive_from_secret_key() { + let sk = hex::decode("eb3d6b0b0c794f6fd8964b4a28df99d4baa5f9c8d33603c4cc62504daa259358") + .unwrap(); + let hex_acc: [u8; 20] = hex::decode("98fa2838ee6471ae87135880f870a785318e6787") + .unwrap() + .try_into() + .unwrap(); + let acc = AccountId20::from(hex_acc); + + let pk = ecdsa::Pair::from_seed_slice(&sk).unwrap().public(); + let signer: EthereumSigner = pk.into(); + + assert_eq!(signer.into_account(), acc); + } + + #[test] + fn test_from_h160() { + let m = hex::decode("28490327ff4e60d44b8aadf5478266422ed01232cc712c2d617e5c650ca15b85") + .unwrap(); + let old: AccountId20 = H160::from(H256::from(keccak_256(&m))).into(); + let new: AccountId20 = H160::from_slice(&keccak_256(&m)[12..32]).into(); + assert_eq!(new, old); + } + + #[test] + fn test_account_display() { + let pk = ecdsa::Pair::from_string("//Alice", None) + .expect("static values are valid; qed") + .public(); + let signer: EthereumSigner = pk.into(); + let account: AccountId20 = signer.into_account(); + let account_fmt = format!("{}", account); + assert_eq!(account_fmt, "0xE04CC55ebEE1cBCE552f250e85c57B70B2E2625b"); + } +} diff --git a/primitives/consensus/src/lib.rs b/primitives/consensus/src/lib.rs index f66b782bad..e9643d8eee 100644 --- a/primitives/consensus/src/lib.rs +++ b/primitives/consensus/src/lib.rs @@ -17,6 +17,7 @@ #![cfg_attr(not(feature = "std"), no_std)] #![allow(clippy::large_enum_variant)] +#![deny(unused_crate_dependencies)] use scale_codec::{Decode, Encode}; use sp_core::H256; @@ -34,16 +35,6 @@ pub enum Log { Post(PostLog), } -impl Log { - pub fn into_hashes(self) -> Hashes { - match self { - Log::Post(PostLog::Hashes(post_hashes)) => post_hashes, - Log::Post(PostLog::Block(block)) => Hashes::from_block(block), - Log::Pre(PreLog::Block(block)) => Hashes::from_block(block), - } - } -} - #[derive(Decode, Encode, Clone, PartialEq, Eq)] pub enum PreLog { #[codec(index = 3)] @@ -52,10 +43,15 @@ pub enum PreLog { #[derive(Decode, Encode, Clone, PartialEq, Eq)] pub enum PostLog { + /// Ethereum block hash and txn hashes. #[codec(index = 1)] Hashes(Hashes), + /// Ethereum block. #[codec(index = 2)] Block(ethereum::BlockV2), + /// Ethereum block hash. + #[codec(index = 3)] + BlockHash(H256), } #[derive(Decode, Encode, Clone, PartialEq, Eq)] @@ -68,17 +64,13 @@ pub struct Hashes { impl Hashes { pub fn from_block(block: ethereum::BlockV2) -> Self { - let mut transaction_hashes = Vec::new(); - - for t in &block.transactions { - transaction_hashes.push(t.hash()); - } - - let block_hash = block.header.hash(); - Hashes { - transaction_hashes, - block_hash, + block_hash: block.header.hash(), + transaction_hashes: block + .transactions + .into_iter() + .map(|txn| txn.hash()) + .collect(), } } } diff --git a/primitives/dynamic-fee/Cargo.toml b/primitives/dynamic-fee/Cargo.toml index 0ddb16636c..6ecd0fefae 100644 --- a/primitives/dynamic-fee/Cargo.toml +++ b/primitives/dynamic-fee/Cargo.toml @@ -11,7 +11,7 @@ repository = { workspace = true } targets = ["x86_64-unknown-linux-gnu"] [dependencies] -async-trait = "0.1" +async-trait = { version = "0.1", optional = true } # Substrate sp-core = { workspace = true } sp-inherents = { workspace = true } @@ -19,6 +19,7 @@ sp-inherents = { workspace = true } [features] default = ["std"] std = [ + "async-trait", # Substrate "sp-core/std", "sp-inherents/std", diff --git a/primitives/dynamic-fee/src/lib.rs b/primitives/dynamic-fee/src/lib.rs index c3f098818a..f2a8101e45 100644 --- a/primitives/dynamic-fee/src/lib.rs +++ b/primitives/dynamic-fee/src/lib.rs @@ -18,6 +18,7 @@ //! Core types and inherents for dynamic fee. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] use sp_core::U256; use sp_inherents::InherentIdentifier; diff --git a/primitives/ethereum/src/lib.rs b/primitives/ethereum/src/lib.rs index eeead1b777..03d7092ea3 100644 --- a/primitives/ethereum/src/lib.rs +++ b/primitives/ethereum/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] pub use ethereum::{ AccessListItem, BlockV2 as Block, LegacyTransactionMessage, Log, ReceiptV3 as Receipt, diff --git a/primitives/evm/src/lib.rs b/primitives/evm/src/lib.rs index 43e0929cda..b7e8e38741 100644 --- a/primitives/evm/src/lib.rs +++ b/primitives/evm/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] mod precompile; mod validation; diff --git a/primitives/rpc/src/lib.rs b/primitives/rpc/src/lib.rs index 638c7074a5..a02882106d 100644 --- a/primitives/rpc/src/lib.rs +++ b/primitives/rpc/src/lib.rs @@ -17,6 +17,7 @@ #![cfg_attr(not(feature = "std"), no_std)] #![allow(clippy::too_many_arguments)] +#![deny(unused_crate_dependencies)] use ethereum::Log; use ethereum_types::Bloom; diff --git a/primitives/self-contained/src/lib.rs b/primitives/self-contained/src/lib.rs index 3cc392cb94..e3590f6e55 100644 --- a/primitives/self-contained/src/lib.rs +++ b/primitives/self-contained/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] mod checked_extrinsic; mod unchecked_extrinsic; diff --git a/primitives/self-contained/src/unchecked_extrinsic.rs b/primitives/self-contained/src/unchecked_extrinsic.rs index 30f4d9f4d5..97032c7add 100644 --- a/primitives/self-contained/src/unchecked_extrinsic.rs +++ b/primitives/self-contained/src/unchecked_extrinsic.rs @@ -16,11 +16,11 @@ // limitations under the License. use frame_support::{ - codec::{Decode, Encode}, dispatch::{DispatchInfo, GetDispatchInfo}, - scale_info::TypeInfo, traits::ExtrinsicCall, }; +use scale_codec::{Decode, Encode}; +use scale_info::TypeInfo; use sp_runtime::{ traits::{ self, Checkable, Extrinsic, ExtrinsicMetadata, IdentifyAccount, MaybeDisplay, Member, diff --git a/primitives/storage/Cargo.toml b/primitives/storage/Cargo.toml index 6f4de1f9d9..260643ed37 100644 --- a/primitives/storage/Cargo.toml +++ b/primitives/storage/Cargo.toml @@ -11,32 +11,12 @@ repository = { workspace = true } targets = ["x86_64-unknown-linux-gnu"] [dependencies] -ethereum = { workspace = true } -serde = { workspace = true, optional = true } - -# Frontier -fp-rpc = { workspace = true } - -# Parity -ethereum-types = { workspace = true } scale-codec = { package = "parity-scale-codec", workspace = true } - -# Substrate -sp-api = { workspace = true } -sp-runtime = { workspace = true } -sp-std = { workspace = true } +serde = { workspace = true, optional = true } [features] default = ["std"] std = [ - "ethereum/std", - "serde", - # Frontier - "fp-rpc/std", - # Parity "scale-codec/std", - "ethereum-types/std", - # Substrate - "sp-api/std", - "sp-runtime/std", -] + "serde" +] \ No newline at end of file diff --git a/primitives/storage/src/lib.rs b/primitives/storage/src/lib.rs index 81a9e89c7d..db845bc2e2 100644 --- a/primitives/storage/src/lib.rs +++ b/primitives/storage/src/lib.rs @@ -16,6 +16,7 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +#![deny(unused_crate_dependencies)] use scale_codec::{Decode, Encode}; diff --git a/rustfmt.toml b/rustfmt.toml index d66360b1bf..67966db319 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,3 +1,4 @@ hard_tabs = true imports_granularity = "Crate" use_field_init_shorthand = true +merge_derives = false diff --git a/shell.nix b/shell.nix index 51b64ce669..b4c47b9b6f 100644 --- a/shell.nix +++ b/shell.nix @@ -2,7 +2,7 @@ let mozillaOverlay = import (builtins.fetchGit { url = "https://github.com/mozilla/nixpkgs-mozilla.git"; - rev = "4a07484cf0e49047f82d83fd119acffbad3b235f"; + rev = "78e723925daf5c9e8d0a1837ec27059e61649cb6"; }); nixpkgs = import { overlays = [ mozillaOverlay ]; }; rust-nightly = with nixpkgs; ((rustChannelOf { date = "2022-11-16"; channel = "nightly"; }).rust.override { diff --git a/template/node/Cargo.toml b/template/node/Cargo.toml index 76097bf7ca..3c3581fafb 100644 --- a/template/node/Cargo.toml +++ b/template/node/Cargo.toml @@ -24,6 +24,7 @@ serde = { workspace = true } # Substrate prometheus-endpoint = { package = "substrate-prometheus-endpoint", workspace = true } sc-basic-authorship = { workspace = true } +sc-chain-spec = { workspace = true } sc-cli = { workspace = true } sc-client-api = { workspace = true } sc-consensus = { workspace = true } @@ -32,6 +33,7 @@ sc-consensus-manual-seal = { workspace = true } sc-executor = { workspace = true } sc-finality-grandpa = { workspace = true } sc-network = { workspace = true } +sc-network-common = { workspace = true } sc-rpc = { workspace = true } sc-rpc-api = { workspace = true } sc-service = { workspace = true } @@ -45,7 +47,6 @@ sp-consensus-aura = { workspace = true, features = ["default"] } sp-core = { workspace = true, features = ["default"] } sp-finality-grandpa = { workspace = true, features = ["default"] } sp-inherents = { workspace = true, features = ["default"] } -sp-keyring = { workspace = true } sp-offchain = { workspace = true, features = ["default"] } sp-runtime = { workspace = true, features = ["default"] } sp-session = { workspace = true, features = ["default"] } @@ -72,6 +73,7 @@ fc-mapping-sync = { workspace = true } fc-rpc = { workspace = true } fc-rpc-core = { workspace = true } fc-storage = { workspace = true } +fp-account = { workspace = true } fp-dynamic-fee = { workspace = true, features = ["default"] } fp-evm = { workspace = true, features = ["default"] } fp-rpc = { workspace = true, features = ["default"] } diff --git a/template/node/src/benchmarking.rs b/template/node/src/benchmarking.rs index d0d5b5d584..81b88077b5 100644 --- a/template/node/src/benchmarking.rs +++ b/template/node/src/benchmarking.rs @@ -25,11 +25,11 @@ use scale_codec::Encode; // Substrate use sc_cli::Result; use sc_client_api::BlockBackend; -use sp_core::{sr25519, Pair}; +use sp_core::{ecdsa, Pair}; use sp_inherents::{InherentData, InherentDataProvider}; -use sp_keyring::Sr25519Keyring; -use sp_runtime::{generic::Era, AccountId32, OpaqueExtrinsic, SaturatedConversion}; +use sp_runtime::{generic::Era, OpaqueExtrinsic, SaturatedConversion}; // Frontier +use fp_account::AccountId20; use frontier_template_runtime::{self as runtime, AccountId, Balance, BalancesCall, SystemCall}; use crate::client::Client; @@ -58,7 +58,7 @@ impl frame_benchmarking_cli::ExtrinsicBuilder for RemarkBuilder { } fn build(&self, nonce: u32) -> std::result::Result { - let acc = Sr25519Keyring::Bob.pair(); + let acc = ecdsa::Pair::from_string("//Bob", None).expect("static values are valid; qed"); let extrinsic: OpaqueExtrinsic = create_benchmark_extrinsic( self.client.as_ref(), acc, @@ -101,12 +101,12 @@ impl frame_benchmarking_cli::ExtrinsicBuilder for TransferKeepAliveBuilder { } fn build(&self, nonce: u32) -> std::result::Result { - let acc = Sr25519Keyring::Bob.pair(); + let acc = ecdsa::Pair::from_string("//Bob", None).expect("static values are valid; qed"); let extrinsic: OpaqueExtrinsic = create_benchmark_extrinsic( self.client.as_ref(), acc, BalancesCall::transfer_keep_alive { - dest: self.dest.clone().into(), + dest: self.dest.into(), value: self.value, } .into(), @@ -123,7 +123,7 @@ impl frame_benchmarking_cli::ExtrinsicBuilder for TransferKeepAliveBuilder { /// Note: Should only be used for benchmarking. pub fn create_benchmark_extrinsic( client: &Client, - sender: sr25519::Pair, + sender: ecdsa::Pair, call: runtime::RuntimeCall, nonce: u32, ) -> runtime::UncheckedExtrinsic { @@ -171,8 +171,8 @@ pub fn create_benchmark_extrinsic( runtime::UncheckedExtrinsic::new_signed( call, - AccountId32::from(sender.public()).into(), - runtime::Signature::Sr25519(signature), + AccountId20::from(sender.public()).into(), + runtime::Signature::new(signature), extra, ) } diff --git a/template/node/src/chain_spec.rs b/template/node/src/chain_spec.rs index b4b1ffe392..e09fa944c2 100644 --- a/template/node/src/chain_spec.rs +++ b/template/node/src/chain_spec.rs @@ -2,15 +2,15 @@ use std::{collections::BTreeMap, str::FromStr}; use serde::{Deserialize, Serialize}; // Substrate -use sc_service::ChainType; +use sc_chain_spec::{ChainType, Properties}; use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_core::{sr25519, storage::Storage, Pair, Public, H160, U256}; +use sp_core::{ecdsa, storage::Storage, Pair, Public, H160, U256}; use sp_finality_grandpa::AuthorityId as GrandpaId; use sp_runtime::traits::{IdentifyAccount, Verify}; use sp_state_machine::BasicExternalities; // Frontier use frontier_template_runtime::{ - AccountId, EnableManualSeal, GenesisConfig, Signature, WASM_BINARY, + AccountId, EnableManualSeal, GenesisConfig, SS58Prefix, Signature, WASM_BINARY, }; // The URL for the telemetry server. @@ -64,6 +64,13 @@ pub fn authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId) { (get_from_seed::(s), get_from_seed::(s)) } +fn properties() -> Properties { + let mut properties = Properties::new(); + properties.insert("tokenDecimals".into(), 18.into()); + properties.insert("ss58Format".into(), SS58Prefix::get().into()); + properties +} + pub fn development_config(enable_manual_seal: Option) -> DevChainSpec { let wasm_binary = WASM_BINARY.expect("WASM not available"); @@ -78,17 +85,18 @@ pub fn development_config(enable_manual_seal: Option) -> DevChainSpec { genesis_config: testnet_genesis( wasm_binary, // Sudo account - get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Alice"), // Pre-funded accounts vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), ], // Initial PoA authorities vec![authority_keys_from_seed("Alice")], - 42, + // Ethereum chain ID + SS58Prefix::get() as u64, ), enable_manual_seal, } @@ -99,9 +107,10 @@ pub fn development_config(enable_manual_seal: Option) -> DevChainSpec { None, // Protocol ID None, + // Fork ID None, // Properties - None, + Some(properties()), // Extensions None, ) @@ -121,21 +130,21 @@ pub fn local_testnet_config() -> ChainSpec { wasm_binary, // Initial PoA authorities // Sudo account - get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Alice"), // Pre-funded accounts vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - get_account_id_from_seed::("Eve"), - get_account_id_from_seed::("Ferdie"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), - get_account_id_from_seed::("Charlie//stash"), - get_account_id_from_seed::("Dave//stash"), - get_account_id_from_seed::("Eve//stash"), - get_account_id_from_seed::("Ferdie//stash"), + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + get_account_id_from_seed::("Charlie//stash"), + get_account_id_from_seed::("Dave//stash"), + get_account_id_from_seed::("Eve//stash"), + get_account_id_from_seed::("Ferdie//stash"), ], vec![ authority_keys_from_seed("Alice"), diff --git a/template/node/src/command.rs b/template/node/src/command.rs index 9b21695299..562f1af531 100644 --- a/template/node/src/command.rs +++ b/template/node/src/command.rs @@ -28,6 +28,9 @@ use crate::{ service::{self, db_config_dir}, }; +#[cfg(feature = "runtime-benchmarks")] +use crate::chain_spec::get_account_id_from_seed; + impl SubstrateCli for Cli { fn impl_name() -> String { "Frontier Node".into() @@ -214,7 +217,7 @@ pub fn run() -> sc_cli::Result<()> { Box::new(RemarkBuilder::new(client.clone())), Box::new(TransferKeepAliveBuilder::new( client.clone(), - sp_keyring::Sr25519Keyring::Alice.to_account_id(), + get_account_id_from_seed::("Alice"), ExistentialDeposit::get(), )), ]); diff --git a/template/node/src/eth.rs b/template/node/src/eth.rs index c4f36f645c..5e00666eef 100644 --- a/template/node/src/eth.rs +++ b/template/node/src/eth.rs @@ -159,12 +159,13 @@ pub async fn spawn_frontier_tasks( fc_db::Backend::KeyValue(b) => { task_manager.spawn_essential_handle().spawn( "frontier-mapping-sync-worker", - None, + Some("frontier"), fc_mapping_sync::kv::MappingSyncWorker::new( client.import_notification_stream(), Duration::new(6, 0), client.clone(), backend, + overrides.clone(), Arc::new(b), 3, 0, @@ -176,7 +177,7 @@ pub async fn spawn_frontier_tasks( fc_db::Backend::Sql(b) => { task_manager.spawn_essential_handle().spawn_blocking( "frontier-mapping-sync-worker", - None, + Some("frontier"), fc_mapping_sync::sql::SyncWorker::run( client.clone(), backend, diff --git a/template/node/src/main.rs b/template/node/src/main.rs index 3adb9624c0..94c4643c1b 100644 --- a/template/node/src/main.rs +++ b/template/node/src/main.rs @@ -6,6 +6,7 @@ clippy::too_many_arguments, clippy::large_enum_variant )] +#![cfg_attr(feature = "runtime-benchmarks", deny(unused_crate_dependencies))] #[cfg(feature = "runtime-benchmarks")] mod benchmarking; diff --git a/template/node/src/service.rs b/template/node/src/service.rs index 052e30e307..22805c3e12 100644 --- a/template/node/src/service.rs +++ b/template/node/src/service.rs @@ -8,6 +8,7 @@ use prometheus_endpoint::Registry; use sc_client_api::{BlockBackend, StateBackendFor}; use sc_consensus::BasicQueue; use sc_executor::{NativeElseWasmExecutor, NativeExecutionDispatch}; +use sc_network_common::sync::warp::WarpSyncParams; use sc_service::{error::Error as ServiceError, Configuration, PartialComponents, TaskManager}; use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker}; use sp_api::{ConstructRuntimeApi, TransactionFor}; @@ -318,24 +319,23 @@ where &config.chain_spec, ); - let warp_sync: Option>> = - if sealing.is_some() { - None - } else { - config - .network - .extra_sets - .push(sc_finality_grandpa::grandpa_peers_set_config( - grandpa_protocol_name.clone(), - )); - Some(Arc::new( - sc_finality_grandpa::warp_proof::NetworkProvider::new( - backend.clone(), - grandpa_link.shared_authority_set().clone(), - Vec::default(), - ), - )) - }; + let warp_sync_params = if sealing.is_some() { + None + } else { + config + .network + .extra_sets + .push(sc_finality_grandpa::grandpa_peers_set_config( + grandpa_protocol_name.clone(), + )); + let warp_sync: Arc> = + Arc::new(sc_finality_grandpa::warp_proof::NetworkProvider::new( + backend.clone(), + grandpa_link.shared_authority_set().clone(), + Vec::default(), + )); + Some(WarpSyncParams::WithProvider(warp_sync)) + }; let (network, system_rpc_tx, tx_handler_controller, network_starter) = sc_service::build_network(sc_service::BuildNetworkParams { @@ -345,7 +345,7 @@ where spawn_handle: task_manager.spawn_handle(), import_queue, block_announce_validator_builder: None, - warp_sync, + warp_sync_params, })?; if config.offchain_worker.enabled { diff --git a/template/runtime/Cargo.toml b/template/runtime/Cargo.toml index e20acb7a9f..a870753908 100644 --- a/template/runtime/Cargo.toml +++ b/template/runtime/Cargo.toml @@ -43,6 +43,7 @@ pallet-transaction-payment = { workspace = true } pallet-transaction-payment-rpc-runtime-api = { workspace = true } # Frontier +fp-account = { workspace = true } fp-evm = { workspace = true } fp-rpc = { workspace = true } fp-self-contained = { workspace = true } @@ -95,6 +96,7 @@ std = [ "pallet-transaction-payment/std", "pallet-transaction-payment-rpc-runtime-api/std", # Frontier + "fp-account/std", "fp-evm/std", "fp-rpc/std", "fp-self-contained/std", diff --git a/template/runtime/src/lib.rs b/template/runtime/src/lib.rs index 2fbea2d6e0..b196b4d97f 100644 --- a/template/runtime/src/lib.rs +++ b/template/runtime/src/lib.rs @@ -4,6 +4,7 @@ // `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. #![recursion_limit = "256"] #![allow(clippy::new_without_default, clippy::or_fun_call)] +#![cfg_attr(feature = "runtime-benchmarks", deny(unused_crate_dependencies))] // Make the WASM binary available. #[cfg(feature = "std")] @@ -23,7 +24,7 @@ use sp_runtime::{ IdentifyAccount, NumberFor, PostDispatchInfoOf, UniqueSaturatedInto, Verify, }, transaction_validity::{TransactionSource, TransactionValidity, TransactionValidityError}, - ApplyExtrinsicResult, ConsensusEngineId, MultiSignature, Perbill, Permill, + ApplyExtrinsicResult, ConsensusEngineId, Perbill, Permill, }; use sp_std::{marker::PhantomData, prelude::*}; use sp_version::RuntimeVersion; @@ -42,11 +43,12 @@ use pallet_grandpa::{ }; use pallet_transaction_payment::CurrencyAdapter; // Frontier +use fp_account::EthereumSignature; use fp_evm::weight_per_gas; use fp_rpc::TransactionStatus; -use pallet_ethereum::{Call::transact, Transaction as EthereumTransaction}; +use pallet_ethereum::{Call::transact, PostLogContent, Transaction as EthereumTransaction}; use pallet_evm::{ - Account as EVMAccount, EnsureAddressTruncated, FeeCalculator, HashedAddressMapping, Runner, + Account as EVMAccount, EnsureAccountId20, FeeCalculator, IdentityAddressMapping, Runner, }; // A few exports that help ease life for downstream crates. @@ -61,7 +63,7 @@ use precompiles::FrontierPrecompiles; pub type BlockNumber = u32; /// Alias to 512-bit hash when used in the context of a transaction signature on the chain. -pub type Signature = MultiSignature; +pub type Signature = EthereumSignature; /// Some way of identifying an account on the chain. We intentionally make it equivalent /// to the public key of our transaction signing scheme. @@ -108,8 +110,8 @@ pub mod opaque { } pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: create_runtime_str!("node-frontier-template"), - impl_name: create_runtime_str!("node-frontier-template"), + spec_name: create_runtime_str!("frontier-template"), + impl_name: create_runtime_str!("frontier-template"), authoring_version: 1, spec_version: 1, impl_version: 1, @@ -330,9 +332,9 @@ impl pallet_evm::Config for Runtime { type GasWeightMapping = pallet_evm::FixedGasWeightMapping; type WeightPerGas = WeightPerGas; type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping; - type CallOrigin = EnsureAddressTruncated; - type WithdrawOrigin = EnsureAddressTruncated; - type AddressMapping = HashedAddressMapping; + type CallOrigin = EnsureAccountId20; + type WithdrawOrigin = EnsureAccountId20; + type AddressMapping = IdentityAddressMapping; type Currency = Balances; type RuntimeEvent = RuntimeEvent; type PrecompilesType = FrontierPrecompiles; @@ -345,9 +347,14 @@ impl pallet_evm::Config for Runtime { type FindAuthor = FindAuthorTruncated; } +parameter_types! { + pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes; +} + impl pallet_ethereum::Config for Runtime { type RuntimeEvent = RuntimeEvent; type StateRoot = pallet_ethereum::IntermediateStateRoot; + type PostLogContent = PostBlockAndTxnHashes; } parameter_types! { @@ -384,7 +391,7 @@ impl pallet_base_fee::Config for Runtime { } impl pallet_hotfix_sufficients::Config for Runtime { - type AddressMapping = HashedAddressMapping; + type AddressMapping = IdentityAddressMapping; type WeightInfo = pallet_hotfix_sufficients::weights::SubstrateWeight; } diff --git a/ts-tests/tests/config.ts b/ts-tests/tests/config.ts index 8fa1702b75..aae797f0e8 100644 --- a/ts-tests/tests/config.ts +++ b/ts-tests/tests/config.ts @@ -6,7 +6,7 @@ export const FIRST_CONTRACT_ADDRESS = "0xc2bf5f29a4384b1ab0c063e1c666f02121b6084 export const NODE_BINARY_NAME = "frontier-template-node"; -export const RUNTIME_SPEC_NAME = "node-frontier-template"; +export const RUNTIME_SPEC_NAME = "frontier-template"; export const RUNTIME_SPEC_VERSION = 1; export const RUNTIME_IMPL_VERSION = 1;