From 59796d378234da9280263163aa7720029dd20bfd Mon Sep 17 00:00:00 2001 From: Aleksandr Krupenkin Date: Mon, 13 Mar 2023 11:47:33 +0300 Subject: [PATCH] Astar Collator 5.0.0 release (#865) * EVM tracing support (#802) * Added EVM tracing into local runtime * Added tracing CLI * Compilation fixes * Added EVM tracing host functions * Added EVM tracing into parachain runtimes * TracingConfig -> EvmTracingConfig * Compilation fixes * Fix clippy errors * Fix formatting * Updated dependencies in Cargo.lock * Updated Cargo.lock * Update bin/collator/src/local/service.rs Co-authored-by: Shunsuke Watanabe * Update bin/collator/src/parachain/service.rs Co-authored-by: Shunsuke Watanabe * Bump astar/shiden runtime specs Co-authored-by: Shunsuke Watanabe * Fix srtool build * [CI] temporary disable aarch64 target * [CI] fix binaries upload for release pipeline * Fix CI errors * Update rust toolchain version to 2023-01-11 * Update Cargo.lock * Added txpool rpc support (#855) * Added txpool rpc support * Fix licensing * Bump dependencies & runtime versions * Remove outdated migrations from runtimes * Sort review comments --------- Co-authored-by: Shunsuke Watanabe --- .github/workflows/release.yml | 2 +- Cargo.lock | 1481 ++++++++++++++++--------- bin/collator/Cargo.toml | 11 +- bin/collator/src/cli.rs | 94 ++ bin/collator/src/command.rs | 19 +- bin/collator/src/local/service.rs | 43 +- bin/collator/src/parachain/service.rs | 60 +- bin/collator/src/rpc.rs | 46 +- bin/collator/src/rpc/tracing.rs | 126 +++ runtime/astar/Cargo.toml | 10 +- runtime/astar/src/lib.rs | 92 +- runtime/local/Cargo.toml | 10 +- runtime/local/src/lib.rs | 92 +- runtime/shibuya/Cargo.toml | 10 +- runtime/shibuya/src/lib.rs | 93 +- runtime/shiden/Cargo.toml | 10 +- runtime/shiden/src/lib.rs | 92 +- 17 files changed, 1701 insertions(+), 590 deletions(-) create mode 100644 bin/collator/src/rpc/tracing.rs diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 988e6a12f..9d87c86aa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -359,7 +359,7 @@ jobs: strategy: matrix: os: ["ubuntu", "macOS"] - arch: ["x86_64", "aarch64"] + arch: ["x86_64"] exclude: - os: macOS arch: aarch64 diff --git a/Cargo.lock b/Cargo.lock index ea6c5ac5c..890e7480e 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.1", + "gimli 0.27.2", ] [[package]] @@ -55,6 +55,16 @@ 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" @@ -79,17 +89,14 @@ dependencies = [ ] [[package]] -name = "aes-gcm" -version = "0.8.0" +name = "aes" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" +checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" dependencies = [ - "aead 0.3.2", - "aes 0.6.0", - "cipher 0.2.5", - "ctr 0.6.0", - "ghash 0.3.1", - "subtle", + "cfg-if", + "cipher 0.4.3", + "cpufeatures", ] [[package]] @@ -106,6 +113,20 @@ 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" @@ -172,9 +193,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "approx" @@ -234,7 +255,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.18", + "time 0.3.20", ] [[package]] @@ -250,7 +271,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.18", + "time 0.3.20", ] [[package]] @@ -302,7 +323,7 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "astar-collator" -version = "4.50.0" +version = "5.0.0" dependencies = [ "astar-runtime", "async-trait", @@ -333,10 +354,16 @@ dependencies = [ "frame-benchmarking-cli", "frame-system", "frame-try-runtime", - "futures", + "futures 0.3.26", "jsonrpsee", "local-runtime", "log", + "moonbeam-primitives-ext", + "moonbeam-rpc-debug", + "moonbeam-rpc-primitives-debug", + "moonbeam-rpc-primitives-txpool", + "moonbeam-rpc-trace", + "moonbeam-rpc-txpool", "pallet-block-reward", "pallet-ethereum", "pallet-evm", @@ -389,13 +416,14 @@ dependencies = [ "substrate-build-script-utils", "substrate-frame-rpc-system", "substrate-prometheus-endpoint", + "tokio", "try-runtime-cli", "url", ] [[package]] name = "astar-runtime" -version = "4.50.0" +version = "5.0.0" dependencies = [ "array-bytes 6.0.0", "cumulus-pallet-aura-ext", @@ -416,6 +444,9 @@ dependencies = [ "frame-system-rpc-runtime-api", "frame-try-runtime", "log", + "moonbeam-evm-tracer", + "moonbeam-rpc-primitives-debug", + "moonbeam-rpc-primitives-txpool", "pallet-assets", "pallet-aura", "pallet-authorship", @@ -500,19 +531,18 @@ dependencies = [ [[package]] name = "async-lock" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" dependencies = [ "event-listener", - "futures-lite", ] [[package]] name = "async-trait" -version = "0.1.63" +version = "0.1.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff18d764974428cf3a9328e23fc5c986f5fbed46e6cd4cdf42544df5d297ec1" +checksum = "b84f9ebcc6c1f5b8cb160f6990096a5c127f423fcb6e1ccc46c370cbdfb75dfc" dependencies = [ "proc-macro2", "quote", @@ -614,9 +644,9 @@ checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" [[package]] name = "base64ct" -version = "1.5.3" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "beef" @@ -635,7 +665,7 @@ dependencies = [ "array-bytes 4.2.0", "async-trait", "fnv", - "futures", + "futures 0.3.26", "log", "parity-scale-codec", "parking_lot 0.12.1", @@ -667,7 +697,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "beefy-gadget", - "futures", + "futures 0.3.26", "jsonrpsee", "log", "parity-scale-codec", @@ -701,9 +731,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.60.1" +version = "0.64.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6" +checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" dependencies = [ "bitflags", "cexpr", @@ -716,6 +746,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", + "syn", ] [[package]] @@ -747,24 +778,24 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127" +checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq 0.1.5", + "constant_time_eq", ] [[package]] name = "blake2s_simd" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4" +checksum = "6637f448b9e61dfadbdcbae9a885fadee1f3eaffb1f8d3c1965d3ade8bdfd44f" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq 0.1.5", + "constant_time_eq", ] [[package]] @@ -777,7 +808,7 @@ dependencies = [ "arrayvec 0.7.2", "cc", "cfg-if", - "constant_time_eq 0.2.4", + "constant_time_eq", "digest 0.10.6", ] @@ -853,9 +884,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45ea9b00a7b3f2988e9a65ad3917e62123c38dba709b666506207be96d1790b" +checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1" dependencies = [ "memchr", "serde", @@ -896,9 +927,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "bzip2-sys" @@ -913,9 +944,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055" +checksum = "6031a462f977dd38968b6f23378356512feeace69cef817e1a4475108093cec3" dependencies = [ "serde", ] @@ -944,9 +975,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" dependencies = [ "jobserver", ] @@ -1040,7 +1071,7 @@ checksum = "f6ed9c8b2d17acb8110c46f1da5bf4a696d745e1474a16db0cd2b49cd0249bf2" dependencies = [ "core2", "multibase", - "multihash", + "multihash 0.16.3", "serde", "unsigned-varint", ] @@ -1063,6 +1094,16 @@ 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" @@ -1074,9 +1115,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.4.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" +checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a" dependencies = [ "glob", "libc", @@ -1085,9 +1126,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.1.4" +version = "4.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" +checksum = "c3d7ae14b20b94cb02149ed21a86c423859cbe18dc7ed69845cace50e52b40a5" dependencies = [ "bitflags", "clap_derive", @@ -1100,9 +1141,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.1.0" +version = "4.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" +checksum = "44bec8e5c9d09e439c4335b1af0abaab56dcf3b94999a936e1bb47b9134288f0" dependencies = [ "heck", "proc-macro-error", @@ -1113,18 +1154,18 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" +checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09" dependencies = [ "os_str_bytes", ] [[package]] name = "coarsetime" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "454038500439e141804c655b4cd1bc6a70bcb95cd2bc9463af5661b6956f0e46" +checksum = "a90d114103adbc625300f346d4d09dfb4ab1c4a8df6868435dd903392ecf4354" dependencies = [ "libc", "once_cell", @@ -1164,15 +1205,9 @@ dependencies = [ [[package]] name = "const-oid" -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" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" [[package]] name = "constant_time_eq" @@ -1239,12 +1274,6 @@ 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.88.2" @@ -1369,9 +1398,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" dependencies = [ "cfg-if", "crossbeam-utils", @@ -1379,9 +1408,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" dependencies = [ "cfg-if", "crossbeam-epoch", @@ -1390,14 +1419,14 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.13" +version = "0.9.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" +checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "memoffset 0.7.1", + "memoffset 0.8.0", "scopeguard", ] @@ -1413,9 +1442,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" +checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" dependencies = [ "cfg-if", ] @@ -1445,6 +1474,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.6", + "rand_core 0.6.4", "typenum", ] @@ -1458,16 +1488,6 @@ 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" @@ -1480,20 +1500,20 @@ dependencies = [ [[package]] name = "ctr" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" +checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "cipher 0.2.5", + "cipher 0.3.0", ] [[package]] name = "ctr" -version = "0.8.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.3.0", + "cipher 0.4.3", ] [[package]] @@ -1519,7 +1539,7 @@ dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", "cumulus-primitives-core", - "futures", + "futures 0.3.26", "parity-scale-codec", "parking_lot 0.12.1", "polkadot-node-primitives", @@ -1542,7 +1562,7 @@ dependencies = [ "async-trait", "cumulus-client-consensus-common", "cumulus-primitives-core", - "futures", + "futures 0.3.26", "parity-scale-codec", "sc-client-api", "sc-consensus", @@ -1573,7 +1593,7 @@ dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", "dyn-clone", - "futures", + "futures 0.3.26", "log", "parity-scale-codec", "polkadot-primitives", @@ -1595,7 +1615,7 @@ dependencies = [ "cumulus-client-consensus-common", "cumulus-primitives-core", "cumulus-relay-chain-interface", - "futures", + "futures 0.3.26", "parking_lot 0.12.1", "sc-consensus", "sp-api", @@ -1616,7 +1636,7 @@ source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#0941 dependencies = [ "async-trait", "cumulus-relay-chain-interface", - "futures", + "futures 0.3.26", "futures-timer", "parity-scale-codec", "parking_lot 0.12.1", @@ -1639,7 +1659,7 @@ source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#0941 dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", - "futures", + "futures 0.3.26", "futures-timer", "parity-scale-codec", "polkadot-node-primitives", @@ -1668,7 +1688,7 @@ dependencies = [ "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", "cumulus-relay-chain-minimal-node", - "futures", + "futures 0.3.26", "parking_lot 0.12.1", "polkadot-primitives", "sc-client-api", @@ -1833,7 +1853,7 @@ version = "0.1.0" source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-primitives-core", - "futures", + "futures 0.3.26", "parity-scale-codec", "sp-inherents", "sp-std", @@ -1864,7 +1884,7 @@ dependencies = [ "async-trait", "cumulus-primitives-core", "cumulus-relay-chain-interface", - "futures", + "futures 0.3.26", "futures-timer", "polkadot-cli", "polkadot-client", @@ -1888,7 +1908,7 @@ source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#0941 dependencies = [ "async-trait", "cumulus-primitives-core", - "futures", + "futures 0.3.26", "jsonrpsee-core", "parity-scale-codec", "polkadot-overseer", @@ -1911,7 +1931,7 @@ dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", - "futures", + "futures 0.3.26", "lru", "polkadot-core-primitives", "polkadot-network-bridge", @@ -1949,7 +1969,7 @@ dependencies = [ "async-trait", "cumulus-primitives-core", "cumulus-relay-chain-interface", - "futures", + "futures 0.3.26", "futures-timer", "jsonrpsee", "lru", @@ -2011,9 +2031,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-pre.5" +version = "4.0.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67bc65846be335cb20f4e52d49a437b773a2c1fdb42b19fc84e79e6f6771536f" +checksum = "8da00a7a9a4eb92a0a0f8e75660926d48f0d0f3c537e455c457bcdaa1e16b1ac" dependencies = [ "cfg-if", "fiat-crypto", @@ -2025,9 +2045,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.87" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b61a7545f753a88bcbe0a70de1fcc0221e10bfc752f576754fa91e663db1622e" +checksum = "9a140f260e6f3f79013b8bfc65e7ce630c9ab4388c6a89c71e07226f49487b72" dependencies = [ "cc", "cxxbridge-flags", @@ -2037,9 +2057,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.87" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f464457d494b5ed6905c63b0c4704842aba319084a0a3561cdc1359536b53200" +checksum = "da6383f459341ea689374bf0a42979739dc421874f112ff26f829b8040b8e613" dependencies = [ "cc", "codespan-reporting", @@ -2052,15 +2072,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.87" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c7119ce3a3701ed81aca8410b9acf6fc399d2629d057b87e2efa4e63a3aaea" +checksum = "90201c1a650e95ccff1c8c0bb5a343213bdd317c6e600a93075bca2eff54ec97" [[package]] name = "cxxbridge-macro" -version = "1.0.87" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e07508b90551e610910fa648a1878991d367064997a596135b86df30daf07e" +checksum = "0b75aed41bb2e6367cae39e6326ef817a851db13c13e4f3263714ca3cfb8de56" dependencies = [ "proc-macro2", "quote", @@ -2335,9 +2355,9 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "dtoa" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00704156a7de8df8da0911424e30c2049957b0a714542a44e05fe693dd85313" +checksum = "65d09067bfacaa79114679b279d7f5885b53295b1e2cfb4e79c8e4bd3d633169" [[package]] name = "dyn-clonable" @@ -2362,9 +2382,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" +checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30" [[package]] name = "ecdsa" @@ -2417,9 +2437,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "elliptic-curve" @@ -2477,9 +2497,9 @@ dependencies = [ [[package]] name = "enumn" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88bcb3a067a6555d577aba299e75eff9942da276e6506fc6274327daa026132" +checksum = "1940ea32e14d489b401074558be4567f35ca9507c4628b4b3fd6fe6eb2ca7b88" dependencies = [ "proc-macro2", "quote", @@ -2652,13 +2672,28 @@ dependencies = [ "sha3 0.10.6", ] +[[package]] +name = "evm-tracing-events" +version = "0.1.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" +dependencies = [ + "environmental", + "ethereum", + "ethereum-types", + "evm", + "evm-gasometer", + "evm-runtime", + "parity-scale-codec", + "sp-runtime-interface", +] + [[package]] name = "exit-future" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" dependencies = [ - "futures", + "futures 0.3.26", ] [[package]] @@ -2706,9 +2741,9 @@ checksum = "51e2ce894d53b295cf97b05685aa077950ff3e8541af83217fc720a6437169f8" [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -2784,7 +2819,7 @@ dependencies = [ "fc-db", "fp-consensus", "fp-rpc", - "futures", + "futures 0.3.26", "futures-timer", "log", "sc-client-api", @@ -2806,7 +2841,7 @@ dependencies = [ "fp-ethereum", "fp-rpc", "fp-storage", - "futures", + "futures 0.3.26", "hex", "jsonrpsee", "libsecp256k1", @@ -2869,9 +2904,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90" +checksum = "54b2f3c51e4dd999930845da5d10a48775b8fe4ca9f4f9ec1f9161f334da5dfe" [[package]] name = "file-per-thread-logger" @@ -2885,14 +2920,14 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.19" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" +checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412" dependencies = [ "cfg-if", "libc", "redox_syscall", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2902,7 +2937,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e24e6c429951433ccb7c87fd528c60084834dcd14763182c1f83291bcde24c34" dependencies = [ "either", - "futures", + "futures 0.3.26", "futures-timer", "log", "num-traits", @@ -3186,7 +3221,7 @@ name = "frame-remote-externalities" version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ - "futures", + "futures 0.3.26", "log", "parity-scale-codec", "serde", @@ -3335,12 +3370,6 @@ dependencies = [ "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" @@ -3349,9 +3378,15 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.25" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" + +[[package]] +name = "futures" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -3364,9 +3399,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -3374,15 +3409,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -3392,9 +3427,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-lite" @@ -3413,9 +3448,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", @@ -3435,15 +3470,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-timer" @@ -3453,10 +3488,11 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ + "futures 0.1.31", "futures-channel", "futures-core", "futures-io", @@ -3531,22 +3567,22 @@ dependencies = [ [[package]] name = "ghash" -version = "0.3.1" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" dependencies = [ "opaque-debug 0.3.0", - "polyval 0.4.5", + "polyval 0.5.3", ] [[package]] name = "ghash" -version = "0.4.4" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" dependencies = [ "opaque-debug 0.3.0", - "polyval 0.5.3", + "polyval 0.6.0", ] [[package]] @@ -3562,9 +3598,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "221996f774192f0f718773def8201c4ae31f02616a54ccfc2d358bb0e5cefdec" +checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" [[package]] name = "glob" @@ -3598,9 +3634,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d" dependencies = [ "bytes", "fnv", @@ -3655,9 +3691,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" @@ -3677,11 +3713,20 @@ 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" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] [[package]] name = "hex-literal" @@ -3708,16 +3753,6 @@ 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" @@ -3761,9 +3796,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -3807,9 +3842,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.23" +version = "0.14.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" dependencies = [ "bytes", "futures-channel", @@ -3914,7 +3949,7 @@ dependencies = [ "async-io", "core-foundation", "fnv", - "futures", + "futures 0.3.26", "if-addrs", "ipnet", "log", @@ -3979,6 +4014,15 @@ 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" @@ -4030,12 +4074,12 @@ checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "io-lifetimes" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" dependencies = [ "libc", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -4064,14 +4108,14 @@ checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857" dependencies = [ - "hermit-abi 0.2.6", - "io-lifetimes 1.0.4", - "rustix 0.36.7", - "windows-sys 0.42.0", + "hermit-abi 0.3.1", + "io-lifetimes 1.0.5", + "rustix 0.36.9", + "windows-sys 0.45.0", ] [[package]] @@ -4085,24 +4129,24 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" [[package]] name = "jobserver" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -4441,16 +4485,16 @@ checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "libp2p" -version = "0.50.0" +version = "0.50.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0a0d2f693675f49ded13c5d510c48b78069e23cbd9108d7ccd59f6dc568819" +checksum = "9c7b0104790be871edcf97db9bd2356604984e623a08d825c3f27852290266b8" dependencies = [ "bytes", - "futures", + "futures 0.3.26", "futures-timer", "getrandom 0.2.8", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-dns", "libp2p-identify", "libp2p-kad", @@ -4467,7 +4511,7 @@ dependencies = [ "libp2p-webrtc", "libp2p-websocket", "libp2p-yamux", - "multiaddr", + "multiaddr 0.16.0", "parking_lot 0.12.1", "pin-project", "smallvec", @@ -4484,12 +4528,46 @@ dependencies = [ "ed25519-dalek", "either", "fnv", - "futures", + "futures 0.3.26", + "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", + "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 0.3.26", "futures-timer", "instant", "log", - "multiaddr", - "multihash", + "multiaddr 0.17.0", + "multihash 0.17.0", "multistream-select", "once_cell", "parking_lot 0.12.1", @@ -4513,8 +4591,8 @@ version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5" dependencies = [ - "futures", - "libp2p-core", + "futures 0.3.26", + "libp2p-core 0.38.0", "log", "parking_lot 0.12.1", "smallvec", @@ -4528,9 +4606,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c052d0026f4817b44869bfb6810f4e1112f43aec8553f2cb38881c524b563abf" dependencies = [ "asynchronous-codec", - "futures", + "futures 0.3.26", "futures-timer", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "lru", @@ -4553,10 +4631,10 @@ dependencies = [ "bytes", "either", "fnv", - "futures", + "futures 0.3.26", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "prost", @@ -4577,9 +4655,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04f378264aade9872d6ccd315c0accc18be3a35d15fc1b9c36e5b6f983b62b5b" dependencies = [ "data-encoding", - "futures", + "futures 0.3.26", "if-watch", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "rand 0.8.5", @@ -4596,7 +4674,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55" dependencies = [ - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-identify", "libp2p-kad", "libp2p-ping", @@ -4612,8 +4690,8 @@ checksum = "03805b44107aa013e7cbbfa5627b31c36cbedfdfb00603c0311998882bc4bace" dependencies = [ "asynchronous-codec", "bytes", - "futures", - "libp2p-core", + "futures 0.3.26", + "libp2p-core 0.38.0", "log", "nohash-hasher", "parking_lot 0.12.1", @@ -4630,8 +4708,8 @@ checksum = "a978cb57efe82e892ec6f348a536bfbd9fee677adbe5689d7a93ad3a9bffbf2e" dependencies = [ "bytes", "curve25519-dalek 3.2.0", - "futures", - "libp2p-core", + "futures 0.3.26", + "libp2p-core 0.38.0", "log", "once_cell", "prost", @@ -4651,10 +4729,10 @@ version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "929fcace45a112536e22b3dcfd4db538723ef9c3cb79f672b98be2cc8e25f37f" dependencies = [ - "futures", + "futures 0.3.26", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "rand 0.8.5", @@ -4668,10 +4746,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59" dependencies = [ "bytes", - "futures", + "futures 0.3.26", "futures-timer", "if-watch", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-tls", "log", "parking_lot 0.12.1", @@ -4690,9 +4768,9 @@ checksum = "3236168796727bfcf4927f766393415361e2c644b08bedb6a6b13d957c9a4884" dependencies = [ "async-trait", "bytes", - "futures", + "futures 0.3.26", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "rand 0.8.5", @@ -4708,10 +4786,10 @@ checksum = "b2a35472fe3276b3855c00f1c032ea8413615e030256429ad5349cdf67c6e1a0" dependencies = [ "either", "fnv", - "futures", + "futures 0.3.26", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm-derive", "log", "pin-project", @@ -4739,11 +4817,11 @@ version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4b257baf6df8f2df39678b86c578961d48cc8b68642a12f0f763f56c8e5858d" dependencies = [ - "futures", + "futures 0.3.26", "futures-timer", "if-watch", "libc", - "libp2p-core", + "libp2p-core 0.38.0", "log", "socket2", "tokio", @@ -4751,13 +4829,13 @@ dependencies = [ [[package]] name = "libp2p-tls" -version = "0.1.0-alpha" +version = "0.1.0-alpha.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8" +checksum = "e9baf6f6292149e124ee737d9a79dbee783f29473fc368c7faad9d157841078a" dependencies = [ - "futures", + "futures 0.3.26", "futures-rustls", - "libp2p-core", + "libp2p-core 0.39.0", "rcgen 0.10.0", "ring", "rustls 0.20.8", @@ -4773,9 +4851,9 @@ version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bb1a35299860e0d4b3c02a3e74e3b293ad35ae0cee8a056363b0c862d082069" dependencies = [ - "futures", + "futures 0.3.26", "js-sys", - "libp2p-core", + "libp2p-core 0.38.0", "parity-send-wrapper", "wasm-bindgen", "wasm-bindgen-futures", @@ -4790,14 +4868,14 @@ dependencies = [ "async-trait", "asynchronous-codec", "bytes", - "futures", + "futures 0.3.26", "futures-timer", "hex", "if-watch", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-noise", "log", - "multihash", + "multihash 0.16.3", "prost", "prost-build", "prost-codec", @@ -4819,9 +4897,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d705506030d5c0aaf2882437c70dab437605f21c5f9811978f694e6917a3b54" dependencies = [ "either", - "futures", + "futures 0.3.26", "futures-rustls", - "libp2p-core", + "libp2p-core 0.38.0", "log", "parking_lot 0.12.1", "quicksink", @@ -4837,8 +4915,8 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29" dependencies = [ - "futures", - "libp2p-core", + "futures 0.3.26", + "libp2p-core 0.38.0", "log", "parking_lot 0.12.1", "thiserror", @@ -4847,9 +4925,9 @@ dependencies = [ [[package]] name = "librocksdb-sys" -version = "0.8.0+7.4.4" +version = "0.8.3+7.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d" +checksum = "557b255ff04123fcc176162f56ed0c9cd42d8f357cf55b3fabeb60f7413741b3" dependencies = [ "bindgen", "bzip2-sys", @@ -4967,7 +5045,7 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "local-runtime" -version = "4.50.0" +version = "5.0.0" dependencies = [ "array-bytes 6.0.0", "fp-rpc", @@ -4980,6 +5058,9 @@ dependencies = [ "frame-system-rpc-runtime-api", "frame-try-runtime", "log", + "moonbeam-evm-tracer", + "moonbeam-rpc-primitives-debug", + "moonbeam-rpc-primitives-txpool", "pallet-assets", "pallet-assets-chain-extension", "pallet-aura", @@ -5154,14 +5235,14 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" dependencies = [ - "rustix 0.36.7", + "rustix 0.36.9", ] [[package]] name = "memmap2" -version = "0.5.8" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" dependencies = [ "libc", ] @@ -5177,9 +5258,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" dependencies = [ "autocfg", ] @@ -5218,7 +5299,7 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69672161530e8aeca1d1400fbf3f1a1747ff60ea604265a4e906c2442df20532" dependencies = [ - "futures", + "futures 0.3.26", "rand 0.8.5", "thrift", ] @@ -5239,90 +5320,325 @@ dependencies = [ ] [[package]] -name = "mio" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +name = "mio" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +dependencies = [ + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.45.0", +] + +[[package]] +name = "mmr-gadget" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +dependencies = [ + "futures 0.3.26", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-offchain", + "sp-api", + "sp-beefy", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-mmr-primitives", + "sp-runtime", +] + +[[package]] +name = "mmr-rpc" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +dependencies = [ + "anyhow", + "jsonrpsee", + "parity-scale-codec", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-mmr-primitives", + "sp-runtime", +] + +[[package]] +name = "mockall" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e4a1c770583dac7ab5e2f6c139153b783a53a1bbee9729613f193e59828326" +dependencies = [ + "cfg-if", + "downcast", + "fragile", + "lazy_static", + "mockall_derive", + "predicates", + "predicates-tree", +] + +[[package]] +name = "mockall_derive" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "832663583d5fa284ca8810bf7015e46c9fff9622d3cf34bd1eea5003fec06dd0" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "moonbeam-client-evm-tracing" +version = "0.1.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" +dependencies = [ + "ethereum-types", + "evm-tracing-events", + "hex", + "moonbeam-rpc-primitives-debug", + "parity-scale-codec", + "serde", + "serde_json", + "sp-std", +] + +[[package]] +name = "moonbeam-evm-tracer" +version = "0.1.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" +dependencies = [ + "ethereum-types", + "evm", + "evm-gasometer", + "evm-runtime", + "evm-tracing-events", + "fp-evm", + "moonbeam-primitives-ext", + "pallet-evm", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "moonbeam-primitives-ext" +version = "0.1.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" +dependencies = [ + "ethereum-types", + "evm-tracing-events", + "parity-scale-codec", + "sp-externalities", + "sp-runtime-interface", + "sp-std", +] + +[[package]] +name = "moonbeam-rpc-core-debug" +version = "0.1.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" +dependencies = [ + "ethereum-types", + "futures 0.3.26", + "jsonrpsee", + "moonbeam-client-evm-tracing", + "moonbeam-rpc-core-types", + "serde", + "serde_json", + "sp-core", +] + +[[package]] +name = "moonbeam-rpc-core-trace" +version = "0.6.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" +dependencies = [ + "ethereum-types", + "futures 0.3.26", + "jsonrpsee", + "moonbeam-client-evm-tracing", + "moonbeam-rpc-core-types", + "serde", + "serde_json", +] + +[[package]] +name = "moonbeam-rpc-core-txpool" +version = "0.6.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" +dependencies = [ + "ethereum", + "ethereum-types", + "fc-rpc-core", + "jsonrpsee", + "serde", + "serde_json", +] + +[[package]] +name = "moonbeam-rpc-core-types" +version = "0.1.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" +dependencies = [ + "ethereum-types", + "serde", + "serde_json", +] + +[[package]] +name = "moonbeam-rpc-debug" +version = "0.1.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" +dependencies = [ + "ethereum", + "ethereum-types", + "fc-consensus", + "fc-db", + "fc-rpc", + "fp-rpc", + "futures 0.3.26", + "hex-literal", + "jsonrpsee", + "moonbeam-client-evm-tracing", + "moonbeam-rpc-core-debug", + "moonbeam-rpc-core-types", + "moonbeam-rpc-primitives-debug", + "sc-client-api", + "sc-utils", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-io", + "sp-runtime", + "tokio", +] + +[[package]] +name = "moonbeam-rpc-primitives-debug" +version = "0.1.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" dependencies = [ - "libc", - "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "environmental", + "ethereum", + "ethereum-types", + "hex", + "parity-scale-codec", + "serde", + "serde_json", + "sp-api", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] -name = "mmr-gadget" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +name = "moonbeam-rpc-primitives-txpool" +version = "0.6.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" dependencies = [ - "futures", - "log", + "ethereum", "parity-scale-codec", - "sc-client-api", - "sc-offchain", "sp-api", - "sp-beefy", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-mmr-primitives", + "sp-io", "sp-runtime", + "sp-std", ] [[package]] -name = "mmr-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +name = "moonbeam-rpc-trace" +version = "0.6.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" dependencies = [ - "anyhow", + "ethereum", + "ethereum-types", + "fc-consensus", + "fc-rpc", + "fc-rpc-core", + "fp-rpc", + "futures 0.3.26", "jsonrpsee", - "parity-scale-codec", + "moonbeam-client-evm-tracing", + "moonbeam-rpc-core-trace", + "moonbeam-rpc-core-types", + "moonbeam-rpc-primitives-debug", + "sc-client-api", + "sc-network", + "sc-utils", "serde", + "sha3 0.10.6", "sp-api", + "sp-block-builder", "sp-blockchain", - "sp-core", - "sp-mmr-primitives", + "sp-io", "sp-runtime", + "sp-std", + "sp-transaction-pool", + "tokio", + "tracing", ] [[package]] -name = "mockall" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e4a1c770583dac7ab5e2f6c139153b783a53a1bbee9729613f193e59828326" +name = "moonbeam-rpc-txpool" +version = "0.6.0" +source = "git+https://github.com/AstarNetwork/astar-frame?branch=polkadot-v0.9.37#07b479cd20c8f6cbd09efe0086e85eefe4430a9d" dependencies = [ - "cfg-if", - "downcast", - "fragile", - "lazy_static", - "mockall_derive", - "predicates", - "predicates-tree", + "ethereum-types", + "fc-rpc", + "frame-system", + "jsonrpsee", + "moonbeam-rpc-core-txpool", + "moonbeam-rpc-primitives-txpool", + "rlp", + "sc-transaction-pool", + "sc-transaction-pool-api", + "serde", + "sha3 0.10.6", + "sp-api", + "sp-blockchain", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] -name = "mockall_derive" -version = "0.11.3" +name = "multiaddr" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "832663583d5fa284ca8810bf7015e46c9fff9622d3cf34bd1eea5003fec06dd0" +checksum = "a4aebdb21e90f81d13ed01dc84123320838e53963c2ca94b60b305d3fa64f31e" dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn", + "arrayref", + "byteorder", + "data-encoding", + "multibase", + "multihash 0.16.3", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint", + "url", ] [[package]] name = "multiaddr" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aebdb21e90f81d13ed01dc84123320838e53963c2ca94b60b305d3fa64f31e" +checksum = "3b53e0cc5907a5c216ba6584bf74be8ab47d6d6289f72793b2dddbf15dc3bf8c" dependencies = [ "arrayref", "byteorder", "data-encoding", "multibase", - "multihash", + "multihash 0.17.0", "percent-encoding", "serde", "static_assertions", @@ -5358,6 +5674,19 @@ 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.0" @@ -5385,7 +5714,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" dependencies = [ "bytes", - "futures", + "futures 0.3.26", "log", "pin-project", "smallvec", @@ -5464,9 +5793,9 @@ dependencies = [ [[package]] name = "netlink-packet-utils" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25af9cf0dc55498b7bd94a1508af7a78706aa0ab715a73c5169273e03c84845e" +checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" dependencies = [ "anyhow", "byteorder", @@ -5481,7 +5810,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" dependencies = [ "bytes", - "futures", + "futures 0.3.26", "log", "netlink-packet-core", "netlink-sys", @@ -5491,12 +5820,12 @@ dependencies = [ [[package]] name = "netlink-sys" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b" +checksum = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411" dependencies = [ "bytes", - "futures", + "futures 0.3.26", "libc", "log", "tokio", @@ -5530,15 +5859,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "nom8" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" -dependencies = [ - "memchr", -] - [[package]] name = "normalize-line-endings" version = "0.3.0" @@ -5644,18 +5964,18 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d829733185c1ca374f17e52b762f24f535ec625d2cc1f070e34c8a9068f341b" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2be1598bf1c313dcdd12092e3f1920f463462525a21b7b4e11b4168353d0123e" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5742,9 +6062,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.17.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "opaque-debug" @@ -5772,7 +6092,7 @@ checksum = "17e7d5b6bb115db09390bed8842c94180893dd83df3dfce7354f2a2aa090a4ee" dependencies = [ "async-trait", "dyn-clonable", - "futures", + "futures 0.3.26", "futures-timer", "orchestra-proc-macro", "pin-project", @@ -7317,9 +7637,9 @@ dependencies = [ [[package]] name = "parity-db" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd684a725651d9588ef21f140a328b6b4f64e646b2e931f3e6f14f75eedf9980" +checksum = "df89dd8311063c54ae4e03d9aeb597b04212a57e82c339344130a9cad9b3e2d9" dependencies = [ "blake2", "crc32fast", @@ -7331,14 +7651,15 @@ dependencies = [ "memmap2", "parking_lot 0.12.1", "rand 0.8.5", + "siphasher", "snap", ] [[package]] name = "parity-scale-codec" -version = "3.2.2" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ab01d0f889e957861bc65888d5ccbe82c158d0270136ba46820d43837cdf72" +checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -7397,7 +7718,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.6", + "parking_lot_core 0.9.7", ] [[package]] @@ -7416,22 +7737,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "paste" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" +checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" [[package]] name = "pbkdf2" @@ -7483,9 +7804,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.5.4" +version = "2.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f" +checksum = "8cbd939b234e95d72bc393d51788aec68aeeb5d51e748ca08ff3aad58cb722f7" dependencies = [ "thiserror", "ucd-trie", @@ -7493,9 +7814,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.5.4" +version = "2.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf026e2d0581559db66d837fe5242320f525d85c76283c61f4d51a1238d65ea" +checksum = "a81186863f3d0a27340815be8f2078dd8050b14cd71913db9fbda795e5f707d7" dependencies = [ "pest", "pest_generator", @@ -7503,9 +7824,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.5.4" +version = "2.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b27bd18aa01d91c8ed2b61ea23406a676b42d82609c6e2581fba42f0c15f17f" +checksum = "75a1ef20bf3193c15ac345acb32e26b3dc3223aff4d77ae4fc5359567683796b" dependencies = [ "pest", "pest_meta", @@ -7516,9 +7837,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.5.4" +version = "2.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f02b677c1859756359fc9983c2e56a0237f18624a3789528804406b7e915e5d" +checksum = "5e3b284b1f13a20dc5ebc90aff59a51b8d7137c221131b52a7260c08cbc1cc80" dependencies = [ "once_cell", "pest", @@ -7527,9 +7848,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" +checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" dependencies = [ "fixedbitset", "indexmap", @@ -7606,7 +7927,7 @@ name = "polkadot-approval-distribution" version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ - "futures", + "futures 0.3.26", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -7621,7 +7942,7 @@ name = "polkadot-availability-bitfield-distribution" version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ - "futures", + "futures 0.3.26", "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-node-subsystem-util", @@ -7637,7 +7958,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#6457 dependencies = [ "derive_more", "fatality", - "futures", + "futures 0.3.26", "lru", "parity-scale-codec", "polkadot-erasure-coding", @@ -7659,7 +7980,7 @@ version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "fatality", - "futures", + "futures 0.3.26", "lru", "parity-scale-codec", "polkadot-erasure-coding", @@ -7681,7 +8002,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#6457 dependencies = [ "clap", "frame-benchmarking-cli", - "futures", + "futures 0.3.26", "log", "polkadot-client", "polkadot-node-core-pvf", @@ -7711,7 +8032,7 @@ dependencies = [ "frame-benchmarking-cli", "frame-system", "frame-system-rpc-runtime-api", - "futures", + "futures 0.3.26", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "polkadot-core-primitives", @@ -7751,7 +8072,7 @@ dependencies = [ "always-assert", "bitvec", "fatality", - "futures", + "futures 0.3.26", "futures-timer", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -7784,7 +8105,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#6457 dependencies = [ "derive_more", "fatality", - "futures", + "futures 0.3.26", "futures-timer", "indexmap", "lru", @@ -7821,7 +8142,7 @@ name = "polkadot-gossip-support" version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ - "futures", + "futures 0.3.26", "futures-timer", "polkadot-node-network-protocol", "polkadot-node-subsystem", @@ -7845,7 +8166,7 @@ dependencies = [ "async-trait", "bytes", "fatality", - "futures", + "futures 0.3.26", "parity-scale-codec", "parking_lot 0.12.1", "polkadot-node-metrics", @@ -7865,7 +8186,7 @@ name = "polkadot-node-collation-generation" version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ - "futures", + "futures 0.3.26", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-primitives", @@ -7885,7 +8206,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#6457 dependencies = [ "bitvec", "derive_more", - "futures", + "futures 0.3.26", "futures-timer", "kvdb", "lru", @@ -7913,7 +8234,7 @@ version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bitvec", - "futures", + "futures 0.3.26", "futures-timer", "kvdb", "parity-scale-codec", @@ -7934,7 +8255,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#6457 dependencies = [ "bitvec", "fatality", - "futures", + "futures 0.3.26", "polkadot-erasure-coding", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -7951,7 +8272,7 @@ name = "polkadot-node-core-bitfield-signing" version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ - "futures", + "futures 0.3.26", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", @@ -7967,7 +8288,7 @@ version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "async-trait", - "futures", + "futures 0.3.26", "futures-timer", "parity-scale-codec", "polkadot-node-core-pvf", @@ -7985,7 +8306,7 @@ name = "polkadot-node-core-chain-api" version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ - "futures", + "futures 0.3.26", "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-primitives", @@ -8000,7 +8321,7 @@ name = "polkadot-node-core-chain-selection" version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ - "futures", + "futures 0.3.26", "futures-timer", "kvdb", "parity-scale-codec", @@ -8018,7 +8339,7 @@ version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "fatality", - "futures", + "futures 0.3.26", "kvdb", "lru", "parity-scale-codec", @@ -8037,7 +8358,7 @@ version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "async-trait", - "futures", + "futures 0.3.26", "futures-timer", "polkadot-node-subsystem", "polkadot-overseer", @@ -8055,7 +8376,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#6457 dependencies = [ "bitvec", "fatality", - "futures", + "futures 0.3.26", "futures-timer", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -8074,7 +8395,7 @@ dependencies = [ "always-assert", "assert_matches", "cpu-time", - "futures", + "futures 0.3.26", "futures-timer", "parity-scale-codec", "pin-project", @@ -8103,7 +8424,7 @@ name = "polkadot-node-core-pvf-checker" version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ - "futures", + "futures 0.3.26", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", @@ -8119,7 +8440,7 @@ name = "polkadot-node-core-runtime-api" version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ - "futures", + "futures 0.3.26", "lru", "polkadot-node-metrics", "polkadot-node-subsystem", @@ -8153,7 +8474,7 @@ version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bs58", - "futures", + "futures 0.3.26", "futures-timer", "log", "parity-scale-codec", @@ -8174,7 +8495,7 @@ dependencies = [ "async-trait", "derive_more", "fatality", - "futures", + "futures 0.3.26", "hex", "parity-scale-codec", "polkadot-node-jaeger", @@ -8195,7 +8516,7 @@ version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bounded-vec", - "futures", + "futures 0.3.26", "parity-scale-codec", "polkadot-parachain", "polkadot-primitives", @@ -8228,7 +8549,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#6457 dependencies = [ "async-trait", "derive_more", - "futures", + "futures 0.3.26", "orchestra", "polkadot-node-jaeger", "polkadot-node-network-protocol", @@ -8252,7 +8573,7 @@ dependencies = [ "async-trait", "derive_more", "fatality", - "futures", + "futures 0.3.26", "futures-channel", "itertools", "kvdb", @@ -8283,7 +8604,7 @@ version = "0.9.37" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "async-trait", - "futures", + "futures 0.3.26", "futures-timer", "lru", "orchestra", @@ -8604,7 +8925,7 @@ dependencies = [ "beefy-gadget", "frame-support", "frame-system-rpc-runtime-api", - "futures", + "futures 0.3.26", "hex-literal", "kusama-runtime", "kvdb", @@ -8708,7 +9029,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#6457 dependencies = [ "arrayvec 0.5.2", "fatality", - "futures", + "futures 0.3.26", "indexmap", "parity-scale-codec", "polkadot-node-network-protocol", @@ -8754,30 +9075,31 @@ checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" dependencies = [ "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", ] [[package]] name = "polyval" -version = "0.4.5" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" dependencies = [ - "cpuid-bool", + "cfg-if", + "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", ] [[package]] name = "polyval" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6" dependencies = [ "cfg-if", "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.5.0", ] [[package]] @@ -8853,9 +9175,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" +checksum = "4ebcd279d20a4a0a2404a33056388e950504d891c855c7975b9a8fef75f3bf04" dependencies = [ "proc-macro2", "syn", @@ -8884,7 +9206,7 @@ dependencies = [ "coarsetime", "crossbeam-queue", "derive_more", - "futures", + "futures 0.3.26", "futures-timer", "nanorand", "thiserror", @@ -8893,9 +9215,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", "toml_edit", @@ -8927,9 +9249,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.50" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] @@ -8973,9 +9295,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698" +checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537" dependencies = [ "bytes", "prost-derive", @@ -8983,9 +9305,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e" +checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12" dependencies = [ "bytes", "heck", @@ -9018,9 +9340,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d" +checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b" dependencies = [ "anyhow", "itertools", @@ -9031,11 +9353,10 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788" +checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88" dependencies = [ - "bytes", "prost", ] @@ -9196,9 +9517,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" +checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" dependencies = [ "either", "rayon-core", @@ -9206,9 +9527,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.10.2" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" +checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -9224,7 +9545,7 @@ checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ "pem", "ring", - "time 0.3.18", + "time 0.3.20", "x509-parser 0.13.2", "yasna", ] @@ -9237,7 +9558,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.18", + "time 0.3.20", "yasna", ] @@ -9276,18 +9597,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" +checksum = "a9af2cf09ef80e610097515e80095b7f76660a92743c4185aff5406cd5ce3dd5" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" +checksum = "9c501201393982e275433bc55de7d6ae6f00e7699cd5572c5b57581cd69c881b" dependencies = [ "proc-macro2", "quote", @@ -9332,15 +9653,6 @@ version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" -[[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" @@ -9546,7 +9858,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0" dependencies = [ - "futures", + "futures 0.3.26", "log", "netlink-packet-route", "netlink-proto", @@ -9640,16 +9952,16 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.7" +version = "0.36.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03" +checksum = "fd5c6ff11fecd55b40746d1995a02f2eb375bf8c00d192d521ee09f42bef37bc" dependencies = [ "bitflags", "errno", - "io-lifetimes 1.0.4", + "io-lifetimes 1.0.5", "libc", "linux-raw-sys 0.1.4", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -9700,9 +10012,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" +checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" [[package]] name = "rw-stream-sink" @@ -9710,16 +10022,16 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" dependencies = [ - "futures", + "futures 0.3.26", "pin-project", "static_assertions", ] [[package]] name = "ryu" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" [[package]] name = "safe-mix" @@ -9756,7 +10068,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "async-trait", - "futures", + "futures 0.3.26", "futures-timer", "ip_network", "libp2p", @@ -9782,7 +10094,7 @@ name = "sc-basic-authorship" version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ - "futures", + "futures 0.3.26", "futures-timer", "log", "parity-scale-codec", @@ -9851,7 +10163,7 @@ dependencies = [ "chrono", "clap", "fdlimit", - "futures", + "futures 0.3.26", "libp2p", "log", "names", @@ -9888,7 +10200,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "fnv", - "futures", + "futures 0.3.26", "log", "parity-scale-codec", "parking_lot 0.12.1", @@ -9939,7 +10251,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "async-trait", - "futures", + "futures 0.3.26", "futures-timer", "libp2p", "log", @@ -9964,7 +10276,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "async-trait", - "futures", + "futures 0.3.26", "log", "parity-scale-codec", "sc-block-builder", @@ -9994,7 +10306,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f3 dependencies = [ "async-trait", "fork-tree", - "futures", + "futures 0.3.26", "log", "merlin", "num-bigint", @@ -10030,7 +10342,7 @@ name = "sc-consensus-babe-rpc" version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ - "futures", + "futures 0.3.26", "jsonrpsee", "sc-consensus-babe", "sc-consensus-epochs", @@ -10066,7 +10378,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "async-trait", - "futures", + "futures 0.3.26", "futures-timer", "log", "parity-scale-codec", @@ -10161,7 +10473,7 @@ dependencies = [ "dyn-clone", "finality-grandpa", "fork-tree", - "futures", + "futures 0.3.26", "futures-timer", "log", "parity-scale-codec", @@ -10196,7 +10508,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "finality-grandpa", - "futures", + "futures 0.3.26", "jsonrpsee", "log", "parity-scale-codec", @@ -10216,7 +10528,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "ansi_term", - "futures", + "futures 0.3.26", "futures-timer", "log", "sc-client-api", @@ -10252,7 +10564,7 @@ dependencies = [ "bytes", "either", "fnv", - "futures", + "futures 0.3.26", "futures-timer", "ip_network", "libp2p", @@ -10288,7 +10600,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "cid", - "futures", + "futures 0.3.26", "libp2p", "log", "prost", @@ -10309,7 +10621,7 @@ dependencies = [ "async-trait", "bitflags", "bytes", - "futures", + "futures 0.3.26", "futures-timer", "libp2p", "linked_hash_set", @@ -10333,7 +10645,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "ahash", - "futures", + "futures 0.3.26", "futures-timer", "libp2p", "log", @@ -10351,7 +10663,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "array-bytes 4.2.0", - "futures", + "futures 0.3.26", "libp2p", "log", "parity-scale-codec", @@ -10374,7 +10686,7 @@ dependencies = [ "array-bytes 4.2.0", "async-trait", "fork-tree", - "futures", + "futures 0.3.26", "libp2p", "log", "lru", @@ -10404,7 +10716,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "array-bytes 4.2.0", - "futures", + "futures 0.3.26", "libp2p", "log", "parity-scale-codec", @@ -10425,7 +10737,7 @@ dependencies = [ "array-bytes 4.2.0", "bytes", "fnv", - "futures", + "futures 0.3.26", "futures-timer", "hyper", "hyper-rustls", @@ -10452,7 +10764,7 @@ name = "sc-peerset" version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ - "futures", + "futures 0.3.26", "libp2p", "log", "sc-utils", @@ -10474,7 +10786,7 @@ name = "sc-rpc" version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ - "futures", + "futures 0.3.26", "jsonrpsee", "log", "parity-scale-codec", @@ -10538,7 +10850,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "array-bytes 4.2.0", - "futures", + "futures 0.3.26", "futures-util", "hex", "jsonrpsee", @@ -10566,7 +10878,7 @@ dependencies = [ "async-trait", "directories", "exit-future", - "futures", + "futures 0.3.26", "futures-timer", "jsonrpsee", "log", @@ -10658,7 +10970,7 @@ name = "sc-sysinfo" version = "6.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ - "futures", + "futures 0.3.26", "libc", "log", "rand 0.8.5", @@ -10678,7 +10990,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "chrono", - "futures", + "futures 0.3.26", "libp2p", "log", "parking_lot 0.12.1", @@ -10739,7 +11051,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "async-trait", - "futures", + "futures 0.3.26", "futures-timer", "linked-hash-map", "log", @@ -10765,7 +11077,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "async-trait", - "futures", + "futures 0.3.26", "log", "serde", "sp-blockchain", @@ -10779,7 +11091,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "backtrace", - "futures", + "futures 0.3.26", "futures-timer", "lazy_static", "log", @@ -10848,9 +11160,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.3" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" +checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" [[package]] name = "sct" @@ -10927,9 +11239,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.1" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c4437699b6d34972de58652c68b98cb5b53a4199ab126db8e20ec8ded29a721" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", @@ -11003,9 +11315,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.91" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" dependencies = [ "itoa", "ryu", @@ -11025,6 +11337,17 @@ 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" @@ -11095,7 +11418,7 @@ dependencies = [ [[package]] name = "shibuya-runtime" -version = "4.50.0" +version = "5.0.0" dependencies = [ "array-bytes 6.0.0", "cumulus-pallet-aura-ext", @@ -11116,6 +11439,9 @@ dependencies = [ "frame-system-rpc-runtime-api", "frame-try-runtime", "log", + "moonbeam-evm-tracer", + "moonbeam-rpc-primitives-debug", + "moonbeam-rpc-primitives-txpool", "pallet-assets", "pallet-assets-chain-extension", "pallet-aura", @@ -11194,7 +11520,7 @@ dependencies = [ [[package]] name = "shiden-runtime" -version = "4.50.0" +version = "5.0.0" dependencies = [ "array-bytes 6.0.0", "cumulus-pallet-aura-ext", @@ -11215,6 +11541,9 @@ dependencies = [ "frame-system-rpc-runtime-api", "frame-try-runtime", "log", + "moonbeam-evm-tracer", + "moonbeam-rpc-primitives-debug", + "moonbeam-rpc-primitives-txpool", "pallet-assets", "pallet-aura", "pallet-authorship", @@ -11289,9 +11618,9 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] @@ -11318,11 +11647,17 @@ dependencies = [ "paste", ] +[[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.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] @@ -11380,14 +11715,14 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snow" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774d05a3edae07ce6d68ea6984f3c05e9bba8927e3dd591e3b479e5b03213d0d" +checksum = "12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d" dependencies = [ "aes-gcm 0.9.4", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-pre.5", + "curve25519-dalek 4.0.0-rc.0", "rand_core 0.6.4", "ring", "rustc_version 0.4.0", @@ -11397,9 +11732,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", "winapi", @@ -11414,7 +11749,7 @@ dependencies = [ "base64 0.13.1", "bytes", "flate2", - "futures", + "futures 0.3.26", "http", "httparse", "log", @@ -11538,7 +11873,7 @@ name = "sp-blockchain" version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ - "futures", + "futures 0.3.26", "log", "lru", "parity-scale-codec", @@ -11557,7 +11892,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "async-trait", - "futures", + "futures 0.3.26", "log", "parity-scale-codec", "sp-core", @@ -11646,7 +11981,7 @@ dependencies = [ "blake2", "dyn-clonable", "ed25519-zebra", - "futures", + "futures 0.3.26", "hash-db", "hash256-std-hasher", "impl-serde", @@ -11772,7 +12107,7 @@ dependencies = [ "bytes", "ed25519", "ed25519-dalek", - "futures", + "futures 0.3.26", "libsecp256k1", "log", "parity-scale-codec", @@ -11806,7 +12141,7 @@ version = "0.13.0" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "async-trait", - "futures", + "futures 0.3.26", "merlin", "parity-scale-codec", "parking_lot 0.12.1", @@ -12159,9 +12494,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.38.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" +checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" dependencies = [ "Inflector", "num-format", @@ -12337,7 +12672,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" dependencies = [ "frame-system-rpc-runtime-api", - "futures", + "futures 0.3.26", "jsonrpsee", "log", "parity-scale-codec", @@ -12428,9 +12763,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -12478,22 +12813,21 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" +checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" [[package]] name = "tempfile" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" dependencies = [ "cfg-if", "fastrand", - "libc", "redox_syscall", - "remove_dir_all", - "winapi", + "rustix 0.36.9", + "windows-sys 0.42.0", ] [[package]] @@ -12513,18 +12847,18 @@ checksum = "95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8" [[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" dependencies = [ "proc-macro2", "quote", @@ -12539,10 +12873,11 @@ checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ + "cfg-if", "once_cell", ] @@ -12581,12 +12916,11 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.2+5.3.0-patched" +version = "0.5.3+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec45c14da997d0925c7835883e4d5c181f196fa142f8c19d7643d1e9af2592c3" +checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" dependencies = [ "cc", - "fs_extra", "libc", ] @@ -12603,9 +12937,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.18" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af0097eaf301d576d0b2aead7a59facab6d53cc636340f0291fab8446a2e8613" +checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" dependencies = [ "itoa", "serde", @@ -12621,9 +12955,9 @@ checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" [[package]] name = "time-macros" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" +checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" dependencies = [ "time-core", ] @@ -12677,15 +13011,15 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.24.2" +version = "1.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" +checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" dependencies = [ "autocfg", "bytes", @@ -12698,7 +13032,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -12725,9 +13059,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" +checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" dependencies = [ "futures-core", "pin-project-lite 0.2.9", @@ -12737,9 +13071,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ "bytes", "futures-core", @@ -12761,19 +13095,19 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" +checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" [[package]] name = "toml_edit" -version = "0.18.0" +version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729bfd096e40da9c001f778f5cdecbd2957929a24e10e5883d9392220a751581" +checksum = "9a1eb0622d28f4b9c90adc4ea4b2b46b47663fde9ac5fafcb14a1369d5508825" dependencies = [ "indexmap", - "nom8", "toml_datetime", + "winnow", ] [[package]] @@ -13057,7 +13391,7 @@ checksum = "4712ee30d123ec7ae26d1e1b218395a16c87cdbaf4b3925d170d684af62ea5e8" dependencies = [ "async-trait", "base64 0.13.1", - "futures", + "futures 0.3.26", "log", "md-5", "rand 0.8.5", @@ -13112,9 +13446,9 @@ checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" [[package]] name = "unicode-normalization" @@ -13147,6 +13481,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "universal-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5" +dependencies = [ + "crypto-common", + "subtle", +] + [[package]] name = "unsigned-varint" version = "0.7.1" @@ -13265,9 +13609,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -13275,9 +13619,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", @@ -13290,9 +13634,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" dependencies = [ "cfg-if", "js-sys", @@ -13302,9 +13646,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -13312,9 +13656,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -13325,9 +13669,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "wasm-instrument" @@ -13394,7 +13738,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" dependencies = [ - "futures", + "futures 0.3.26", "js-sys", "parking_lot 0.11.2", "pin-utils", @@ -13655,9 +13999,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -13718,7 +14062,7 @@ dependencies = [ "sha2 0.10.6", "stun", "thiserror", - "time 0.3.18", + "time 0.3.20", "tokio", "turn", "url", @@ -13750,12 +14094,12 @@ dependencies = [ [[package]] name = "webrtc-dtls" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7021987ae0a2ed6c8cd33f68e98e49bb6e74ffe9543310267b48a1bbe3900e5f" +checksum = "942be5bd85f072c3128396f6e5a9bfb93ca8c1939ded735d177b7bcba9a13d05" dependencies = [ "aes 0.6.0", - "aes-gcm 0.8.0", + "aes-gcm 0.10.1", "async-trait", "bincode", "block-modes", @@ -13765,7 +14109,7 @@ dependencies = [ "der-parser 8.1.0", "elliptic-curve", "hkdf", - "hmac 0.10.1", + "hmac 0.12.1", "log", "oid-registry 0.6.1", "p256", @@ -13777,8 +14121,8 @@ dependencies = [ "rustls 0.19.1", "sec1", "serde", - "sha-1", - "sha2 0.9.9", + "sha1", + "sha2 0.10.6", "signature", "subtle", "thiserror", @@ -14106,6 +14450,30 @@ 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" @@ -14208,6 +14576,15 @@ version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +[[package]] +name = "winnow" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c95fb4ff192527911dd18eb138ac30908e7165b8944e528b6af93aa4c842d345" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.10.1" @@ -14264,7 +14641,7 @@ dependencies = [ "ring", "rusticata-macros", "thiserror", - "time 0.3.18", + "time 0.3.20", ] [[package]] @@ -14282,7 +14659,7 @@ dependencies = [ "oid-registry 0.6.1", "rusticata-macros", "thiserror", - "time 0.3.18", + "time 0.3.20", ] [[package]] @@ -14448,7 +14825,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" dependencies = [ - "futures", + "futures 0.3.26", "log", "nohash-hasher", "parking_lot 0.12.1", @@ -14462,7 +14839,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" dependencies = [ - "time 0.3.18", + "time 0.3.20", ] [[package]] @@ -14507,9 +14884,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.5+zstd.1.5.2" +version = "2.0.7+zstd.1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc50ffce891ad571e9f9afe5039c4837bede781ac4bb13052ed7ae695518596" +checksum = "94509c3ba2fe55294d752b79842c530ccfab760192521df74a081a78d2b3c7f5" dependencies = [ "cc", "libc", diff --git a/bin/collator/Cargo.toml b/bin/collator/Cargo.toml index 6ece3274e..d9a8bf034 100644 --- a/bin/collator/Cargo.toml +++ b/bin/collator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "astar-collator" -version = "4.50.0" +version = "5.0.0" authors = ["Stake Technologies "] description = "Astar collator implementation in Rust." build = "build.rs" @@ -23,6 +23,7 @@ futures = { version = "0.3.21" } log = "0.4.17" serde = { version = "1.0.151", features = ["derive"] } serde_json = "1.0" +tokio = { version = "1.13.0", features = ["macros", "sync"] } url = "2.2.2" # primitives @@ -127,6 +128,14 @@ polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot", defa frame-try-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37", optional = true } try-runtime-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37", optional = true } +# evm-tracing +moonbeam-primitives-ext = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37" } +moonbeam-rpc-debug = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37" } +moonbeam-rpc-primitives-debug = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37" } +moonbeam-rpc-primitives-txpool = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37" } +moonbeam-rpc-trace = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37" } +moonbeam-rpc-txpool = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37" } + [build-dependencies] build-script-utils = { package = "substrate-build-script-utils", git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" } polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", optional = true } diff --git a/bin/collator/src/cli.rs b/bin/collator/src/cli.rs index 0b8e9c13a..3e2ea131d 100644 --- a/bin/collator/src/cli.rs +++ b/bin/collator/src/cli.rs @@ -30,6 +30,47 @@ pub struct Cli { #[clap(flatten)] pub run: cumulus_client_cli::RunCmd, + /// Enable EVM tracing module on a non-authority node. + #[clap( + long, + conflicts_with = "collator", + conflicts_with = "validator", + value_delimiter = ',' + )] + pub ethapi: Vec, + + /// Number of concurrent tracing tasks. Meant to be shared by both "debug" and "trace" modules. + #[clap(long, default_value = "10")] + pub ethapi_max_permits: u32, + + /// Maximum number of trace entries a single request of `trace_filter` is allowed to return. + /// A request asking for more or an unbounded one going over this limit will both return an + /// error. + #[clap(long, default_value = "500")] + pub ethapi_trace_max_count: u32, + + /// Duration (in seconds) after which the cache of `trace_filter` for a given block will be + /// discarded. + #[clap(long, default_value = "300")] + pub ethapi_trace_cache_duration: u64, + + /// Size in bytes of the LRU cache for block data. + #[clap(long, default_value = "300000000")] + pub eth_log_block_cache: usize, + + /// Size in bytes of the LRU cache for transactions statuses data. + #[clap(long, default_value = "300000000")] + pub eth_statuses_cache: usize, + + /// Size in bytes of data a raw tracing request is allowed to use. + /// Bound the size of memory, stack and storage data. + #[clap(long, default_value = "20000000")] + pub tracing_raw_max_memory_usage: usize, + + /// Maximum number of logs in a query. + #[clap(long, default_value = "10000")] + pub max_past_logs: u32, + /// Enable Ethereum compatible JSON-RPC servers (disabled by default). #[clap(name = "enable-evm-rpc", long)] pub enable_evm_rpc: bool, @@ -125,3 +166,56 @@ impl RelayChainCli { } } } + +/// EVM tracing CLI flags. +#[derive(Debug, PartialEq, Clone)] +pub enum EthApi { + /// Enable EVM debug RPC methods. + Debug, + /// Enable EVM trace RPC methods. + Trace, + /// Enable pending transactions RPC methods. + TxPool, +} + +impl std::str::FromStr for EthApi { + type Err = String; + + fn from_str(s: &str) -> Result { + Ok(match s { + "debug" => Self::Debug, + "trace" => Self::Trace, + "txpool" => Self::TxPool, + _ => { + return Err(format!( + "`{}` is not recognized as a supported Ethereum Api", + s + )) + } + }) + } +} + +/// EVM tracing CLI config. +pub struct EvmTracingConfig { + /// Enabled EVM tracing flags. + pub ethapi: Vec, + /// Number of concurrent tracing tasks. + pub ethapi_max_permits: u32, + /// Maximum number of trace entries a single request of `trace_filter` is allowed to return. + /// A request asking for more or an unbounded one going over this limit will both return an + /// error. + pub ethapi_trace_max_count: u32, + /// Duration (in seconds) after which the cache of `trace_filter` for a given block will be + /// discarded. + pub ethapi_trace_cache_duration: u64, + /// Size in bytes of the LRU cache for block data. + pub eth_log_block_cache: usize, + /// Size in bytes of the LRU cache for transactions statuses data. + pub eth_statuses_cache: usize, + /// Maximum number of logs in a query. + pub max_past_logs: u32, + /// Size in bytes of data a raw tracing request is allowed to use. + /// Bound the size of memory, stack and storage data. + pub tracing_raw_max_memory_usage: usize, +} diff --git a/bin/collator/src/command.rs b/bin/collator/src/command.rs index 1289e7903..c45a00250 100644 --- a/bin/collator/src/command.rs +++ b/bin/collator/src/command.rs @@ -819,9 +819,20 @@ pub fn run() -> Result<()> { let runner = cli.create_runner(&cli.run.normalize())?; let collator_options = cli.run.collator_options(); + let evm_tracing_config = crate::cli::EvmTracingConfig { + ethapi: cli.ethapi, + ethapi_max_permits: cli.ethapi_max_permits, + ethapi_trace_max_count: cli.ethapi_trace_max_count, + ethapi_trace_cache_duration: cli.ethapi_trace_cache_duration, + eth_log_block_cache: cli.eth_log_block_cache, + eth_statuses_cache: cli.eth_statuses_cache, + max_past_logs: cli.max_past_logs, + tracing_raw_max_memory_usage: cli.tracing_raw_max_memory_usage, + }; + runner.run_node_until_exit(|config| async move { if config.chain_spec.is_dev() { - return local::start_node(config).map_err(Into::into); + return local::start_node(config, evm_tracing_config).map_err(Into::into); } let polkadot_cli = RelayChainCli::new( @@ -865,17 +876,17 @@ pub fn run() -> Result<()> { ); if config.chain_spec.is_astar() { - start_astar_node(config, polkadot_config, collator_options, para_id, cli.enable_evm_rpc) + start_astar_node(config, polkadot_config, evm_tracing_config, collator_options, para_id, cli.enable_evm_rpc) .await .map(|r| r.0) .map_err(Into::into) } else if config.chain_spec.is_shiden() { - start_shiden_node(config, polkadot_config, collator_options, para_id, cli.enable_evm_rpc) + start_shiden_node(config, polkadot_config, evm_tracing_config, collator_options, para_id, cli.enable_evm_rpc) .await .map(|r| r.0) .map_err(Into::into) } else if config.chain_spec.is_shibuya() { - start_shibuya_node(config, polkadot_config, collator_options, para_id, cli.enable_evm_rpc) + start_shibuya_node(config, polkadot_config, evm_tracing_config, collator_options, para_id, cli.enable_evm_rpc) .await .map(|r| r.0) .map_err(Into::into) diff --git a/bin/collator/src/local/service.rs b/bin/collator/src/local/service.rs index 2b5fa191d..422ef3e3b 100644 --- a/bin/collator/src/local/service.rs +++ b/bin/collator/src/local/service.rs @@ -32,17 +32,22 @@ use std::{collections::BTreeMap, sync::Arc, time::Duration}; pub use local_runtime::RuntimeApi; +use crate::cli::{EthApi as EthApiCmd, EvmTracingConfig}; use crate::primitives::*; +use crate::rpc::tracing; /// Local runtime native executor. pub struct Executor; impl sc_executor::NativeExecutionDispatch for Executor { #[cfg(not(feature = "runtime-benchmarks"))] - type ExtendHostFunctions = (); + type ExtendHostFunctions = moonbeam_primitives_ext::moonbeam_ext::HostFunctions; #[cfg(feature = "runtime-benchmarks")] - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; + type ExtendHostFunctions = ( + frame_benchmarking::benchmarking::HostFunctions, + moonbeam_primitives_ext::moonbeam_ext::HostFunctions, + ); fn dispatch(method: &str, data: &[u8]) -> Option> { local_runtime::api::dispatch(method, data) @@ -182,7 +187,10 @@ pub fn new_partial( } /// Builds a new service. -pub fn start_node(config: Configuration) -> Result { +pub fn start_node( + config: Configuration, + evm_tracing_config: EvmTracingConfig, +) -> Result { let sc_service::PartialComponents { client, backend, @@ -227,6 +235,27 @@ pub fn start_node(config: Configuration) -> Result { let fee_history_cache: FeeHistoryCache = Arc::new(std::sync::Mutex::new(BTreeMap::new())); let overrides = crate::rpc::overrides_handle(client.clone()); + let ethapi_cmd = evm_tracing_config.ethapi.clone(); + let tracing_requesters = + if ethapi_cmd.contains(&EthApiCmd::Debug) || ethapi_cmd.contains(&EthApiCmd::Trace) { + tracing::spawn_tracing_tasks( + &evm_tracing_config, + tracing::SpawnTasksParams { + task_manager: &task_manager, + client: client.clone(), + substrate_backend: backend.clone(), + frontier_backend: frontier_backend.clone(), + filter_pool: Some(filter_pool.clone()), + overrides: overrides.clone(), + }, + ) + } else { + tracing::RpcRequesters { + debug: None, + trace: None, + } + }; + // Frontier offchain DB task. Essential. // Maps emulated ethereum data to substrate native data. task_manager.spawn_essential_handle().spawn( @@ -290,6 +319,11 @@ pub fn start_node(config: Configuration) -> Result { let client = client.clone(); let network = network.clone(); let transaction_pool = transaction_pool.clone(); + let rpc_config = crate::rpc::EvmTracingConfig { + tracing_requesters, + trace_filter_max_count: evm_tracing_config.ethapi_trace_max_count, + enable_txpool: ethapi_cmd.contains(&EthApiCmd::TxPool), + }; Box::new(move |deny_unsafe, subscription| { let deps = crate::rpc::FullDeps { @@ -308,7 +342,8 @@ pub fn start_node(config: Configuration) -> Result { enable_evm_rpc: true, // enable EVM RPC for dev node by default }; - crate::rpc::create_full(deps, subscription).map_err::(Into::into) + crate::rpc::create_full(deps, subscription, rpc_config.clone()) + .map_err::(Into::into) }) }; diff --git a/bin/collator/src/parachain/service.rs b/bin/collator/src/parachain/service.rs index c4a02920e..8d60d58b0 100644 --- a/bin/collator/src/parachain/service.rs +++ b/bin/collator/src/parachain/service.rs @@ -47,7 +47,9 @@ use std::{collections::BTreeMap, sync::Arc, time::Duration}; use substrate_prometheus_endpoint::Registry; use super::shell_upgrade::*; +use crate::cli::{EthApi as EthApiCmd, EvmTracingConfig}; use crate::primitives::*; +use crate::rpc::tracing; /// Astar network runtime executor. pub mod astar { @@ -57,10 +59,13 @@ pub mod astar { pub struct Executor; impl sc_executor::NativeExecutionDispatch for Executor { #[cfg(not(feature = "runtime-benchmarks"))] - type ExtendHostFunctions = (); + type ExtendHostFunctions = moonbeam_primitives_ext::moonbeam_ext::HostFunctions; #[cfg(feature = "runtime-benchmarks")] - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; + type ExtendHostFunctions = ( + frame_benchmarking::benchmarking::HostFunctions, + moonbeam_primitives_ext::moonbeam_ext::HostFunctions, + ); fn dispatch(method: &str, data: &[u8]) -> Option> { astar_runtime::api::dispatch(method, data) @@ -80,10 +85,13 @@ pub mod shiden { pub struct Executor; impl sc_executor::NativeExecutionDispatch for Executor { #[cfg(not(feature = "runtime-benchmarks"))] - type ExtendHostFunctions = (); + type ExtendHostFunctions = moonbeam_primitives_ext::moonbeam_ext::HostFunctions; #[cfg(feature = "runtime-benchmarks")] - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; + type ExtendHostFunctions = ( + frame_benchmarking::benchmarking::HostFunctions, + moonbeam_primitives_ext::moonbeam_ext::HostFunctions, + ); fn dispatch(method: &str, data: &[u8]) -> Option> { shiden_runtime::api::dispatch(method, data) @@ -103,10 +111,13 @@ pub mod shibuya { pub struct Executor; impl sc_executor::NativeExecutionDispatch for Executor { #[cfg(not(feature = "runtime-benchmarks"))] - type ExtendHostFunctions = (); + type ExtendHostFunctions = moonbeam_primitives_ext::moonbeam_ext::HostFunctions; #[cfg(feature = "runtime-benchmarks")] - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; + type ExtendHostFunctions = ( + frame_benchmarking::benchmarking::HostFunctions, + moonbeam_primitives_ext::moonbeam_ext::HostFunctions, + ); fn dispatch(method: &str, data: &[u8]) -> Option> { shibuya_runtime::api::dispatch(method, data) @@ -305,6 +316,7 @@ async fn build_relay_chain_interface( async fn start_node_impl( parachain_config: Configuration, polkadot_config: Configuration, + evm_tracing_config: EvmTracingConfig, collator_options: CollatorOptions, id: ParaId, enable_evm_rpc: bool, @@ -329,6 +341,8 @@ where + sp_block_builder::BlockBuilder + substrate_frame_rpc_system::AccountNonceApi + pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi + + moonbeam_rpc_primitives_debug::DebugRuntimeApi + + moonbeam_rpc_primitives_txpool::TxPoolRuntimeApi + fp_rpc::EthereumRuntimeRPCApi + fp_rpc::ConvertTransactionRuntimeApi + cumulus_primitives_core::CollectCollationInfo, @@ -427,6 +441,27 @@ where let fee_history_cache: FeeHistoryCache = Arc::new(std::sync::Mutex::new(BTreeMap::new())); let overrides = crate::rpc::overrides_handle(client.clone()); + let ethapi_cmd = evm_tracing_config.ethapi.clone(); + let tracing_requesters = + if ethapi_cmd.contains(&EthApiCmd::Debug) || ethapi_cmd.contains(&EthApiCmd::Trace) { + tracing::spawn_tracing_tasks( + &evm_tracing_config, + tracing::SpawnTasksParams { + task_manager: &task_manager, + client: client.clone(), + substrate_backend: backend.clone(), + frontier_backend: frontier_backend.clone(), + filter_pool: Some(filter_pool.clone()), + overrides: overrides.clone(), + }, + ) + } else { + tracing::RpcRequesters { + debug: None, + trace: None, + } + }; + // Frontier offchain DB task. Essential. // Maps emulated ethereum data to substrate native data. task_manager.spawn_essential_handle().spawn( @@ -482,6 +517,11 @@ where let client = client.clone(); let network = network.clone(); let transaction_pool = transaction_pool.clone(); + let rpc_config = crate::rpc::EvmTracingConfig { + tracing_requesters, + trace_filter_max_count: evm_tracing_config.ethapi_trace_max_count, + enable_txpool: ethapi_cmd.contains(&EthApiCmd::TxPool), + }; Box::new(move |deny_unsafe, subscription| { let deps = crate::rpc::FullDeps { @@ -500,7 +540,7 @@ where enable_evm_rpc, }; - crate::rpc::create_full(deps, subscription).map_err(Into::into) + crate::rpc::create_full(deps, subscription, rpc_config.clone()).map_err(Into::into) }) }; @@ -671,6 +711,7 @@ where pub async fn start_astar_node( parachain_config: Configuration, polkadot_config: Configuration, + evm_tracing_config: EvmTracingConfig, collator_options: CollatorOptions, id: ParaId, enable_evm_rpc: bool, @@ -681,6 +722,7 @@ pub async fn start_astar_node( start_node_impl::( parachain_config, polkadot_config, + evm_tracing_config, collator_options, id, enable_evm_rpc, @@ -801,6 +843,7 @@ pub async fn start_astar_node( pub async fn start_shiden_node( parachain_config: Configuration, polkadot_config: Configuration, + evm_tracing_config: EvmTracingConfig, collator_options: CollatorOptions, id: ParaId, enable_evm_rpc: bool, @@ -811,6 +854,7 @@ pub async fn start_shiden_node( start_node_impl::( parachain_config, polkadot_config, + evm_tracing_config, collator_options, id, enable_evm_rpc, @@ -957,6 +1001,7 @@ pub async fn start_shiden_node( pub async fn start_shibuya_node( parachain_config: Configuration, polkadot_config: Configuration, + evm_tracing_config: EvmTracingConfig, collator_options: CollatorOptions, id: ParaId, enable_evm_rpc: bool, @@ -967,6 +1012,7 @@ pub async fn start_shibuya_node( start_node_impl::( parachain_config, polkadot_config, + evm_tracing_config, collator_options, id, enable_evm_rpc, diff --git a/bin/collator/src/rpc.rs b/bin/collator/src/rpc.rs index 54e3c8998..64d39867a 100644 --- a/bin/collator/src/rpc.rs +++ b/bin/collator/src/rpc.rs @@ -43,8 +43,21 @@ use std::collections::BTreeMap; use std::sync::Arc; use substrate_frame_rpc_system::{System, SystemApiServer}; +use moonbeam_rpc_debug::{Debug, DebugServer}; +use moonbeam_rpc_trace::{Trace, TraceServer}; +use moonbeam_rpc_txpool::{TxPool, TxPoolServer}; + use crate::primitives::*; +pub mod tracing; + +#[derive(Clone)] +pub struct EvmTracingConfig { + pub tracing_requesters: tracing::RpcRequesters, + pub trace_filter_max_count: u32, + pub enable_txpool: bool, +} + // TODO This is copied from frontier. It should be imported instead after // https://github.com/paritytech/frontier/issues/333 is solved pub fn open_frontier_backend( @@ -140,6 +153,7 @@ pub struct FullDeps { pub fn create_full( deps: FullDeps, subscription_task_executor: SubscriptionTaskExecutor, + tracing_config: EvmTracingConfig, ) -> Result, Box> where C: ProvideRuntimeApi @@ -154,6 +168,8 @@ where C: sc_client_api::BlockBackend, C::Api: substrate_frame_rpc_system::AccountNonceApi + pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi + + moonbeam_rpc_primitives_debug::DebugRuntimeApi + + moonbeam_rpc_primitives_txpool::TxPoolRuntimeApi + fp_rpc::ConvertTransactionRuntimeApi + fp_rpc::EthereumRuntimeRPCApi + BlockBuilder, @@ -194,7 +210,7 @@ where Eth::new( client.clone(), pool.clone(), - graph, + graph.clone(), no_tx_converter, network.clone(), Default::default(), @@ -229,8 +245,34 @@ where io.merge(Web3::new(client.clone()).into_rpc())?; io.merge( - EthPubSub::new(pool, client, network, subscription_task_executor, overrides).into_rpc(), + EthPubSub::new( + pool, + client.clone(), + network, + subscription_task_executor, + overrides, + ) + .into_rpc(), )?; + if tracing_config.enable_txpool { + io.merge(TxPool::new(Arc::clone(&client), graph).into_rpc())?; + } + + if let Some(trace_filter_requester) = tracing_config.tracing_requesters.trace { + io.merge( + Trace::new( + client, + trace_filter_requester, + tracing_config.trace_filter_max_count, + ) + .into_rpc(), + )?; + } + + if let Some(debug_requester) = tracing_config.tracing_requesters.debug { + io.merge(Debug::new(debug_requester).into_rpc())?; + } + Ok(io) } diff --git a/bin/collator/src/rpc/tracing.rs b/bin/collator/src/rpc/tracing.rs new file mode 100644 index 000000000..1c514aa74 --- /dev/null +++ b/bin/collator/src/rpc/tracing.rs @@ -0,0 +1,126 @@ +// This file is part of Astar. + +// Copyright (C) 2019-2023 Stake Technologies Pte.Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later + +// Astar is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Astar is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Astar. If not, see . + +///! EVM tracing RPC support. +use crate::cli::EthApi as EthApiCmd; + +use fc_rpc::OverrideHandle; +use fc_rpc_core::types::FilterPool; +use fp_rpc::EthereumRuntimeRPCApi; +use moonbeam_rpc_debug::{DebugHandler, DebugRequester}; +use moonbeam_rpc_trace::{CacheRequester as TraceFilterCacheRequester, CacheTask}; +use sc_client_api::{ + Backend, BlockOf, BlockchainEvents, HeaderBackend, StateBackend, StorageProvider, +}; +use sc_service::TaskManager; +use sp_api::{BlockT, HeaderT, ProvideRuntimeApi}; +use sp_block_builder::BlockBuilder; +use sp_blockchain::{Error as BlockChainError, HeaderMetadata}; +use sp_core::H256; +use sp_runtime::traits::BlakeTwo256; +use std::sync::Arc; +use tokio::sync::Semaphore; + +#[derive(Clone)] +pub struct RpcRequesters { + pub debug: Option, + pub trace: Option, +} + +pub struct SpawnTasksParams<'a, B: BlockT, C, BE> { + pub task_manager: &'a TaskManager, + pub client: Arc, + pub substrate_backend: Arc, + pub frontier_backend: Arc>, + pub filter_pool: Option, + pub overrides: Arc>, +} + +/// Spawn the tasks that are required to run a EVM tracing. +pub fn spawn_tracing_tasks( + rpc_config: &crate::cli::EvmTracingConfig, + params: SpawnTasksParams, +) -> RpcRequesters +where + C: ProvideRuntimeApi + BlockOf, + C: StorageProvider, + C: HeaderBackend + HeaderMetadata + 'static, + C: BlockchainEvents, + C: Send + Sync + 'static, + C::Api: EthereumRuntimeRPCApi + moonbeam_rpc_primitives_debug::DebugRuntimeApi, + C::Api: BlockBuilder, + B: BlockT + Send + Sync + 'static, + B::Header: HeaderT, + BE: Backend + 'static, + BE::State: StateBackend, +{ + let permit_pool = Arc::new(Semaphore::new(rpc_config.ethapi_max_permits as usize)); + + let (trace_filter_task, trace_filter_requester) = + if rpc_config.ethapi.contains(&EthApiCmd::Trace) { + let (trace_filter_task, trace_filter_requester) = CacheTask::create( + Arc::clone(¶ms.client), + Arc::clone(¶ms.substrate_backend), + core::time::Duration::from_secs(rpc_config.ethapi_trace_cache_duration), + Arc::clone(&permit_pool), + Arc::clone(¶ms.overrides), + ); + (Some(trace_filter_task), Some(trace_filter_requester)) + } else { + (None, None) + }; + + let (debug_task, debug_requester) = if rpc_config.ethapi.contains(&EthApiCmd::Debug) { + let (debug_task, debug_requester) = DebugHandler::task( + Arc::clone(¶ms.client), + Arc::clone(¶ms.substrate_backend), + Arc::clone(¶ms.frontier_backend), + Arc::clone(&permit_pool), + Arc::clone(¶ms.overrides), + rpc_config.tracing_raw_max_memory_usage, + ); + (Some(debug_task), Some(debug_requester)) + } else { + (None, None) + }; + + // `trace_filter` cache task. Essential. + // Proxies rpc requests to it's handler. + if let Some(trace_filter_task) = trace_filter_task { + params.task_manager.spawn_essential_handle().spawn( + "trace-filter-cache", + Some("eth-tracing"), + trace_filter_task, + ); + } + + // `debug` task if enabled. Essential. + // Proxies rpc requests to it's handler. + if let Some(debug_task) = debug_task { + params.task_manager.spawn_essential_handle().spawn( + "ethapi-debug", + Some("eth-tracing"), + debug_task, + ); + } + + RpcRequesters { + debug: debug_requester, + trace: trace_filter_requester, + } +} diff --git a/runtime/astar/Cargo.toml b/runtime/astar/Cargo.toml index 474e4ccbc..b68a7f683 100644 --- a/runtime/astar/Cargo.toml +++ b/runtime/astar/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "astar-runtime" -version = "4.50.0" +version = "5.0.0" authors = ["Stake Technologies "] edition = "2021" build = "build.rs" @@ -100,6 +100,11 @@ pallet-xc-asset-config = { git = "https://github.com/AstarNetwork/astar-frame", pallet-xcm = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } xcm-primitives = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } +# Moonbeam tracing +moonbeam-evm-tracer = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } +moonbeam-rpc-primitives-debug = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } +moonbeam-rpc-primitives-txpool = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } + [build-dependencies] substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37", optional = true } @@ -172,6 +177,9 @@ std = [ "cumulus-pallet-xcm/std", "pallet-collator-selection/std", "frame-benchmarking/std", + "moonbeam-evm-tracer/std", + "moonbeam-rpc-primitives-debug/std", + "moonbeam-rpc-primitives-txpool/std", "xcm/std", "xcm-builder/std", "xcm-executor/std", diff --git a/runtime/astar/src/lib.rs b/runtime/astar/src/lib.rs index b12418395..b03252872 100644 --- a/runtime/astar/src/lib.rs +++ b/runtime/astar/src/lib.rs @@ -890,10 +890,6 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - ( - pallet_assets::migration::v1::MigrateToV1, - pallet_balances::migration::MigrateToTrackInactive, - ), >; impl fp_self_contained::SelfContainedCall for RuntimeCall { @@ -1291,6 +1287,94 @@ impl_runtime_apis! { } } + impl moonbeam_rpc_primitives_debug::DebugRuntimeApi for Runtime { + fn trace_transaction( + extrinsics: Vec<::Extrinsic>, + traced_transaction: &pallet_ethereum::Transaction, + ) -> Result< + (), + sp_runtime::DispatchError, + > { + use moonbeam_evm_tracer::tracer::EvmTracer; + + // Apply the a subset of extrinsics: all the substrate-specific or ethereum + // transactions that preceded the requested transaction. + for ext in extrinsics.into_iter() { + let _ = match &ext.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => { + if transaction == traced_transaction { + EvmTracer::new().trace(|| Executive::apply_extrinsic(ext)); + return Ok(()); + } else { + Executive::apply_extrinsic(ext) + } + } + _ => Executive::apply_extrinsic(ext), + }; + } + Err(sp_runtime::DispatchError::Other( + "Failed to find Ethereum transaction among the extrinsics.", + )) + } + + fn trace_block( + extrinsics: Vec<::Extrinsic>, + known_transactions: Vec, + ) -> Result< + (), + sp_runtime::DispatchError, + > { + use moonbeam_evm_tracer::tracer::EvmTracer; + + let mut config = ::config().clone(); + config.estimate = true; + + // Apply all extrinsics. Ethereum extrinsics are traced. + for ext in extrinsics.into_iter() { + match &ext.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => { + if known_transactions.contains(&transaction.hash()) { + // Each known extrinsic is a new call stack. + EvmTracer::emit_new(); + EvmTracer::new().trace(|| Executive::apply_extrinsic(ext)); + } else { + let _ = Executive::apply_extrinsic(ext); + } + } + _ => { + let _ = Executive::apply_extrinsic(ext); + } + }; + } + + Ok(()) + } + } + + impl moonbeam_rpc_primitives_txpool::TxPoolRuntimeApi for Runtime { + fn extrinsic_filter( + xts_ready: Vec<::Extrinsic>, + xts_future: Vec<::Extrinsic>, + ) -> moonbeam_rpc_primitives_txpool::TxPoolResponse { + moonbeam_rpc_primitives_txpool::TxPoolResponse { + ready: xts_ready + .into_iter() + .filter_map(|xt| match xt.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => Some(transaction), + _ => None, + }) + .collect(), + future: xts_future + .into_iter() + .filter_map(|xt| match xt.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => Some(transaction), + _ => None, + }) + .collect(), + } + } + } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) { diff --git a/runtime/local/Cargo.toml b/runtime/local/Cargo.toml index d28ebb901..56c739eac 100644 --- a/runtime/local/Cargo.toml +++ b/runtime/local/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "local-runtime" -version = "4.50.0" +version = "5.0.0" authors = ["Stake Technologies "] edition = "2021" build = "build.rs" @@ -72,6 +72,11 @@ pallet-evm-precompile-xvm = { git = "https://github.com/AstarNetwork/astar-frame pallet-precompile-dapps-staking = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } pallet-xvm = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false, features = ["evm", "wasm"] } +# Moonbeam tracing +moonbeam-evm-tracer = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } +moonbeam-rpc-primitives-debug = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } +moonbeam-rpc-primitives-txpool = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } + # chain-extensions pallet-assets-chain-extension = { git = "https://github.com/AstarNetwork/pallet-assets-chain-extension", branch = "polkadot-v0.9.37", default-features = false, features = ["substrate"] } @@ -149,6 +154,9 @@ std = [ "pallet-scheduler/std", "pallet-treasury/std", "pallet-xvm/std", + "moonbeam-evm-tracer/std", + "moonbeam-rpc-primitives-debug/std", + "moonbeam-rpc-primitives-txpool/std", "substrate-wasm-builder", ] runtime-benchmarks = [ diff --git a/runtime/local/src/lib.rs b/runtime/local/src/lib.rs index a7cb92b02..13417305f 100644 --- a/runtime/local/src/lib.rs +++ b/runtime/local/src/lib.rs @@ -846,8 +846,8 @@ impl InstanceFilter for ProxyType { | RuntimeCall::Grandpa(..) // Skip entire Balances pallet | RuntimeCall::Vesting(pallet_vesting::Call::vest{..}) - | RuntimeCall::Vesting(pallet_vesting::Call::vest_other{..}) - // Specifically omitting Vesting `vested_transfer`, and `force_vested_transfer` + | RuntimeCall::Vesting(pallet_vesting::Call::vest_other{..}) + // Specifically omitting Vesting `vested_transfer`, and `force_vested_transfer` | RuntimeCall::DappsStaking(..) // Skip entire EVM pallet // Skip entire Ethereum pallet @@ -1476,6 +1476,94 @@ impl_runtime_apis! { } } + impl moonbeam_rpc_primitives_debug::DebugRuntimeApi for Runtime { + fn trace_transaction( + extrinsics: Vec<::Extrinsic>, + traced_transaction: &pallet_ethereum::Transaction, + ) -> Result< + (), + sp_runtime::DispatchError, + > { + use moonbeam_evm_tracer::tracer::EvmTracer; + + // Apply the a subset of extrinsics: all the substrate-specific or ethereum + // transactions that preceded the requested transaction. + for ext in extrinsics.into_iter() { + let _ = match &ext.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => { + if transaction == traced_transaction { + EvmTracer::new().trace(|| Executive::apply_extrinsic(ext)); + return Ok(()); + } else { + Executive::apply_extrinsic(ext) + } + } + _ => Executive::apply_extrinsic(ext), + }; + } + Err(sp_runtime::DispatchError::Other( + "Failed to find Ethereum transaction among the extrinsics.", + )) + } + + fn trace_block( + extrinsics: Vec<::Extrinsic>, + known_transactions: Vec, + ) -> Result< + (), + sp_runtime::DispatchError, + > { + use moonbeam_evm_tracer::tracer::EvmTracer; + + let mut config = ::config().clone(); + config.estimate = true; + + // Apply all extrinsics. Ethereum extrinsics are traced. + for ext in extrinsics.into_iter() { + match &ext.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => { + if known_transactions.contains(&transaction.hash()) { + // Each known extrinsic is a new call stack. + EvmTracer::emit_new(); + EvmTracer::new().trace(|| Executive::apply_extrinsic(ext)); + } else { + let _ = Executive::apply_extrinsic(ext); + } + } + _ => { + let _ = Executive::apply_extrinsic(ext); + } + }; + } + + Ok(()) + } + } + + impl moonbeam_rpc_primitives_txpool::TxPoolRuntimeApi for Runtime { + fn extrinsic_filter( + xts_ready: Vec<::Extrinsic>, + xts_future: Vec<::Extrinsic>, + ) -> moonbeam_rpc_primitives_txpool::TxPoolResponse { + moonbeam_rpc_primitives_txpool::TxPoolResponse { + ready: xts_ready + .into_iter() + .filter_map(|xt| match xt.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => Some(transaction), + _ => None, + }) + .collect(), + future: xts_future + .into_iter() + .filter_map(|xt| match xt.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => Some(transaction), + _ => None, + }) + .collect(), + } + } + } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) { diff --git a/runtime/shibuya/Cargo.toml b/runtime/shibuya/Cargo.toml index 47d67c70b..12e6d01a1 100644 --- a/runtime/shibuya/Cargo.toml +++ b/runtime/shibuya/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shibuya-runtime" -version = "4.50.0" +version = "5.0.0" authors = ["Stake Technologies "] edition = "2021" build = "build.rs" @@ -105,6 +105,11 @@ pallet-xcm = { git = "https://github.com/AstarNetwork/astar-frame", branch = "po pallet-xvm = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false, features = ["evm", "wasm"] } xcm-primitives = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } +# Moonbeam tracing +moonbeam-evm-tracer = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } +moonbeam-rpc-primitives-debug = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } +moonbeam-rpc-primitives-txpool = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } + # chain-extensions pallet-assets-chain-extension = { git = "https://github.com/AstarNetwork/pallet-assets-chain-extension", branch = "polkadot-v0.9.37", default-features = false, features = ["substrate"] } @@ -205,6 +210,9 @@ std = [ "pallet-collator-selection/std", "frame-benchmarking/std", "frame-try-runtime/std", + "moonbeam-evm-tracer/std", + "moonbeam-rpc-primitives-debug/std", + "moonbeam-rpc-primitives-txpool/std", "xcm/std", "xcm-builder/std", "xcm-executor/std", diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index 3b1e61cd8..e3613036b 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -1286,11 +1286,6 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - ( - pallet_assets::migration::v1::MigrateToV1, - pallet_balances::migration::MigrateToTrackInactive, - pallet_scheduler::migration::v4::CleanupAgendas, - ), >; impl fp_self_contained::SelfContainedCall for RuntimeCall { @@ -1737,6 +1732,94 @@ impl_runtime_apis! { } } + impl moonbeam_rpc_primitives_debug::DebugRuntimeApi for Runtime { + fn trace_transaction( + extrinsics: Vec<::Extrinsic>, + traced_transaction: &pallet_ethereum::Transaction, + ) -> Result< + (), + sp_runtime::DispatchError, + > { + use moonbeam_evm_tracer::tracer::EvmTracer; + + // Apply the a subset of extrinsics: all the substrate-specific or ethereum + // transactions that preceded the requested transaction. + for ext in extrinsics.into_iter() { + let _ = match &ext.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => { + if transaction == traced_transaction { + EvmTracer::new().trace(|| Executive::apply_extrinsic(ext)); + return Ok(()); + } else { + Executive::apply_extrinsic(ext) + } + } + _ => Executive::apply_extrinsic(ext), + }; + } + Err(sp_runtime::DispatchError::Other( + "Failed to find Ethereum transaction among the extrinsics.", + )) + } + + fn trace_block( + extrinsics: Vec<::Extrinsic>, + known_transactions: Vec, + ) -> Result< + (), + sp_runtime::DispatchError, + > { + use moonbeam_evm_tracer::tracer::EvmTracer; + + let mut config = ::config().clone(); + config.estimate = true; + + // Apply all extrinsics. Ethereum extrinsics are traced. + for ext in extrinsics.into_iter() { + match &ext.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => { + if known_transactions.contains(&transaction.hash()) { + // Each known extrinsic is a new call stack. + EvmTracer::emit_new(); + EvmTracer::new().trace(|| Executive::apply_extrinsic(ext)); + } else { + let _ = Executive::apply_extrinsic(ext); + } + } + _ => { + let _ = Executive::apply_extrinsic(ext); + } + }; + } + + Ok(()) + } + } + + impl moonbeam_rpc_primitives_txpool::TxPoolRuntimeApi for Runtime { + fn extrinsic_filter( + xts_ready: Vec<::Extrinsic>, + xts_future: Vec<::Extrinsic>, + ) -> moonbeam_rpc_primitives_txpool::TxPoolResponse { + moonbeam_rpc_primitives_txpool::TxPoolResponse { + ready: xts_ready + .into_iter() + .filter_map(|xt| match xt.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => Some(transaction), + _ => None, + }) + .collect(), + future: xts_future + .into_iter() + .filter_map(|xt| match xt.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => Some(transaction), + _ => None, + }) + .collect(), + } + } + } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) { diff --git a/runtime/shiden/Cargo.toml b/runtime/shiden/Cargo.toml index a7fa40f5c..a3b361165 100644 --- a/runtime/shiden/Cargo.toml +++ b/runtime/shiden/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shiden-runtime" -version = "4.50.0" +version = "5.0.0" authors = ["Stake Technologies "] edition = "2021" build = "build.rs" @@ -104,6 +104,11 @@ pallet-xc-asset-config = { git = "https://github.com/AstarNetwork/astar-frame", pallet-xcm = { git = "https://github.com/AstarNetwork/astar-frame", default-features = false, branch = "polkadot-v0.9.37" } xcm-primitives = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } +# Moonbeam tracing +moonbeam-evm-tracer = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } +moonbeam-rpc-primitives-debug = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } +moonbeam-rpc-primitives-txpool = { git = "https://github.com/AstarNetwork/astar-frame", branch = "polkadot-v0.9.37", default-features = false } + [build-dependencies] substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37", optional = true } @@ -179,6 +184,9 @@ std = [ "cumulus-pallet-xcmp-queue/std", "cumulus-pallet-xcm/std", "pallet-collator-selection/std", + "moonbeam-evm-tracer/std", + "moonbeam-rpc-primitives-debug/std", + "moonbeam-rpc-primitives-txpool/std", "frame-benchmarking/std", "frame-try-runtime/std", "xcm/std", diff --git a/runtime/shiden/src/lib.rs b/runtime/shiden/src/lib.rs index c5791e7c9..e74def731 100644 --- a/runtime/shiden/src/lib.rs +++ b/runtime/shiden/src/lib.rs @@ -1008,10 +1008,6 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - ( - pallet_assets::migration::v1::MigrateToV1, - pallet_balances::migration::MigrateToTrackInactive, - ), >; impl fp_self_contained::SelfContainedCall for RuntimeCall { @@ -1459,6 +1455,94 @@ impl_runtime_apis! { } } + impl moonbeam_rpc_primitives_debug::DebugRuntimeApi for Runtime { + fn trace_transaction( + extrinsics: Vec<::Extrinsic>, + traced_transaction: &pallet_ethereum::Transaction, + ) -> Result< + (), + sp_runtime::DispatchError, + > { + use moonbeam_evm_tracer::tracer::EvmTracer; + + // Apply the a subset of extrinsics: all the substrate-specific or ethereum + // transactions that preceded the requested transaction. + for ext in extrinsics.into_iter() { + let _ = match &ext.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => { + if transaction == traced_transaction { + EvmTracer::new().trace(|| Executive::apply_extrinsic(ext)); + return Ok(()); + } else { + Executive::apply_extrinsic(ext) + } + } + _ => Executive::apply_extrinsic(ext), + }; + } + Err(sp_runtime::DispatchError::Other( + "Failed to find Ethereum transaction among the extrinsics.", + )) + } + + fn trace_block( + extrinsics: Vec<::Extrinsic>, + known_transactions: Vec, + ) -> Result< + (), + sp_runtime::DispatchError, + > { + use moonbeam_evm_tracer::tracer::EvmTracer; + + let mut config = ::config().clone(); + config.estimate = true; + + // Apply all extrinsics. Ethereum extrinsics are traced. + for ext in extrinsics.into_iter() { + match &ext.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => { + if known_transactions.contains(&transaction.hash()) { + // Each known extrinsic is a new call stack. + EvmTracer::emit_new(); + EvmTracer::new().trace(|| Executive::apply_extrinsic(ext)); + } else { + let _ = Executive::apply_extrinsic(ext); + } + } + _ => { + let _ = Executive::apply_extrinsic(ext); + } + }; + } + + Ok(()) + } + } + + impl moonbeam_rpc_primitives_txpool::TxPoolRuntimeApi for Runtime { + fn extrinsic_filter( + xts_ready: Vec<::Extrinsic>, + xts_future: Vec<::Extrinsic>, + ) -> moonbeam_rpc_primitives_txpool::TxPoolResponse { + moonbeam_rpc_primitives_txpool::TxPoolResponse { + ready: xts_ready + .into_iter() + .filter_map(|xt| match xt.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => Some(transaction), + _ => None, + }) + .collect(), + future: xts_future + .into_iter() + .filter_map(|xt| match xt.0.function { + RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => Some(transaction), + _ => None, + }) + .collect(), + } + } + } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) {