From 9d346b7285332f92ae3d39446f32557eaaf1cb7e Mon Sep 17 00:00:00 2001 From: Sergei Shulepov Date: Tue, 9 Feb 2021 19:18:54 +0100 Subject: [PATCH] Enable wasmtime caching for PVF (companion for #8057) (#2387) * Wasm caching * Fix compilation errors * Rename `cache_path` to `cache_base_path` * "Update Substrate" * Fix check-web-wasm build Co-authored-by: parity-processbot <> --- Cargo.lock | 609 ++++++++++-------- cli/src/cli.rs | 3 + cli/src/command.rs | 5 +- node/service/src/lib.rs | 21 +- parachain/src/wasm_executor/mod.rs | 44 +- .../src/wasm_executor/validation_host.rs | 26 +- parachain/test-parachains/tests/lib.rs | 2 +- 7 files changed, 407 insertions(+), 303 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3103a5f322a6..c6bf1655f64f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,11 +12,11 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.13.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6a2d3371669ab3ca9797670853d61402b03d0b4b9ebf33d677dfa720203072" +checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7" dependencies = [ - "gimli 0.22.0", + "gimli", ] [[package]] @@ -368,15 +368,15 @@ checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" [[package]] name = "backtrace" -version = "0.3.50" +version = "0.3.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46254cf2fdcdf1badb5934448c1bcbe046a56537b3987d96c51a7afc5d03f293" +checksum = "9d117600f438b1707d4e4ae15d3595657288f8235a0eb593e80ecc98ab34e1bc" dependencies = [ "addr2line", - "cfg-if 0.1.10", + "cfg-if 1.0.0", "libc", "miniz_oxide", - "object 0.20.0", + "object 0.23.0", "rustc-demangle", ] @@ -871,6 +871,16 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" +[[package]] +name = "cpp_demangle" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44919ecaf6f99e8e737bc239408931c9a01e9a6c74814fee8242dd2506b65390" +dependencies = [ + "cfg-if 1.0.0", + "glob", +] + [[package]] name = "cpuid-bool" version = "0.1.0" @@ -879,25 +889,25 @@ checksum = "6d375c433320f6c5057ae04a04376eef4d04ce2801448cf8863a78da99107be4" [[package]] name = "cranelift-bforest" -version = "0.66.0" +version = "0.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dcc286b052ee24a1e5a222e7c1125e6010ad35b0f248709b9b3737a8fedcfdf" +checksum = "4066fd63b502d73eb8c5fa6bcab9c7962b05cd580f6b149ee83a8e730d8ce7fb" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.66.0" +version = "0.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d9badfe36176cb653506091693bc2bb1970c9bddfcd6ec7fac404f7eaec6f38" +checksum = "1a54e4beb833a3c873a18a8fe735d73d732044004c7539a072c8faa35ccb0c60" dependencies = [ "byteorder", "cranelift-bforest", "cranelift-codegen-meta", "cranelift-codegen-shared", "cranelift-entity", - "gimli 0.21.0", + "gimli", "log", "regalloc", "serde", @@ -908,9 +918,9 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.66.0" +version = "0.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3f460031861e4f4ad510be62b2ae50bba6cc886b598a36f9c0a970feab9598" +checksum = "c54cac7cacb443658d8f0ff36a3545822613fa202c946c0891897843bc933810" dependencies = [ "cranelift-codegen-shared", "cranelift-entity", @@ -918,24 +928,24 @@ dependencies = [ [[package]] name = "cranelift-codegen-shared" -version = "0.66.0" +version = "0.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ad12409e922e7697cd0bdc7dc26992f64a77c31880dfe5e3c7722f4710206d" +checksum = "a109760aff76788b2cdaeefad6875a73c2b450be13906524f6c2a81e05b8d83c" [[package]] name = "cranelift-entity" -version = "0.66.0" +version = "0.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97cdc58972ea065d107872cfb9079f4c92ade78a8af85aaff519a65b5d13f71" +checksum = "3b044234aa32531f89a08b487630ddc6744696ec04c8123a1ad388de837f5de3" dependencies = [ "serde", ] [[package]] name = "cranelift-frontend" -version = "0.66.0" +version = "0.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ef419efb4f94ecc02e5d9fbcc910d2bb7f0040e2de570e63a454f883bc891d6" +checksum = "5452b3e4e97538ee5ef2cc071301c69a86c7adf2770916b9d04e9727096abd93" dependencies = [ "cranelift-codegen", "log", @@ -945,9 +955,9 @@ dependencies = [ [[package]] name = "cranelift-native" -version = "0.66.0" +version = "0.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e69d44d59826eef6794066ac2c0f4ad3975f02d97030c60dbc04e3886adf36e" +checksum = "f68035c10b2e80f26cc29c32fa824380877f38483504c2a47b54e7da311caaf3" dependencies = [ "cranelift-codegen", "raw-cpuid", @@ -956,17 +966,19 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.66.0" +version = "0.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "979df666b1304624abe99738e9e0e7c7479ee5523ba4b8b237df9ff49996acbb" +checksum = "a530eb9d1c95b3309deb24c3d179d8b0ba5837ed98914a429787c395f614949d" dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", + "itertools", "log", "serde", + "smallvec 1.6.1", "thiserror", - "wasmparser 0.59.0", + "wasmparser", ] [[package]] @@ -1000,7 +1012,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "lazy_static", "maybe-uninit", - "memoffset", + "memoffset 0.5.5", "scopeguard", ] @@ -1182,21 +1194,21 @@ dependencies = [ [[package]] name = "directories" -version = "2.0.2" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c" +checksum = "f8fed639d60b58d0f53498ab13d26f621fd77569cc6edb031f4cc36a2ad9da0f" dependencies = [ - "cfg-if 0.1.10", "dirs-sys", ] [[package]] -name = "directories" -version = "3.0.1" +name = "directories-next" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8fed639d60b58d0f53498ab13d26f621fd77569cc6edb031f4cc36a2ad9da0f" +checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" dependencies = [ - "dirs-sys", + "cfg-if 1.0.0", + "dirs-sys-next", ] [[package]] @@ -1206,7 +1218,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a" dependencies = [ "libc", - "redox_users", + "redox_users 0.3.4", + "winapi 0.3.9", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users 0.4.0", "winapi 0.3.9", ] @@ -1567,7 +1590,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", ] @@ -1585,7 +1608,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", @@ -1603,7 +1626,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "Inflector", "chrono", @@ -1626,7 +1649,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", @@ -1642,7 +1665,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "12.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "serde", @@ -1653,12 +1676,12 @@ dependencies = [ [[package]] name = "frame-support" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "bitflags", "frame-metadata", "frame-support-procedural", - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "log", "once_cell", "parity-scale-codec", @@ -1679,7 +1702,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -1691,7 +1714,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1703,7 +1726,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", @@ -1713,10 +1736,10 @@ dependencies = [ [[package]] name = "frame-system" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "parity-scale-codec", "serde", "sp-core", @@ -1729,7 +1752,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -1743,7 +1766,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "sp-api", @@ -2049,21 +2072,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.21.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" +checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce" dependencies = [ "fallible-iterator", "indexmap", "stable_deref_trait", ] -[[package]] -name = "gimli" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf91faf136cb47367fa430cd46e37a788775e7fa104f8b4bcb3861dc389b724" - [[package]] name = "glob" version = "0.3.0" @@ -2469,20 +2486,9 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef5550a42e3740a0e71f909d4c861056a284060af885ae7aa6242820f920d9d" -dependencies = [ - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.60", -] - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f65a8ecf74feeacdab8d38cb129e550ca871cccaa7d1921d8636ecd75534903" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", @@ -3525,6 +3531,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memoffset" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87" +dependencies = [ + "autocfg", +] + [[package]] name = "memory-db" version = "0.26.0" @@ -3935,21 +3950,20 @@ dependencies = [ [[package]] name = "object" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cbca9424c482ee628fa549d9c812e2cd22f1180b9222c9200fdfa6eb31aecb2" - -[[package]] -name = "object" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ab52be62400ca80aa00285d25253d7f7c437b7375c4de678f5405d3afe82ca5" +checksum = "8d3b63360ec3cb337817c2dbd47ab4a0f170d285d8e5a2064600f3def1402397" dependencies = [ "crc32fast", "indexmap", - "wasmparser 0.57.0", ] +[[package]] +name = "object" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4" + [[package]] name = "once_cell" version = "1.4.1" @@ -4019,7 +4033,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-authority-discovery" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", @@ -4035,11 +4049,11 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "parity-scale-codec", "sp-authorship", "sp-inherents", @@ -4050,7 +4064,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4075,7 +4089,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4089,7 +4103,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4104,7 +4118,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4120,7 +4134,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4135,7 +4149,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4150,7 +4164,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4171,7 +4185,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4187,7 +4201,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4206,7 +4220,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4223,7 +4237,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", @@ -4237,7 +4251,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4253,7 +4267,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", @@ -4267,7 +4281,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", @@ -4282,7 +4296,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4303,7 +4317,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4319,7 +4333,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", @@ -4332,7 +4346,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "enumflags2", "frame-support", @@ -4347,7 +4361,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4362,11 +4376,11 @@ dependencies = [ [[package]] name = "pallet-session" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", - "impl-trait-for-tuples 0.1.3", + "impl-trait-for-tuples", "pallet-timestamp", "parity-scale-codec", "serde", @@ -4382,7 +4396,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4398,7 +4412,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", @@ -4412,7 +4426,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4434,7 +4448,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.24", @@ -4445,7 +4459,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", @@ -4459,12 +4473,12 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "parity-scale-codec", "serde", "sp-inherents", @@ -4477,7 +4491,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4492,7 +4506,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-support", "frame-system", @@ -4508,7 +4522,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4525,7 +4539,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -4536,12 +4550,12 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "pallet-balances", "parity-scale-codec", "serde", @@ -4552,7 +4566,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4568,7 +4582,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4673,7 +4687,7 @@ dependencies = [ "cfg-if 1.0.0", "ethereum-types", "hashbrown", - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "jemallocator", "lru", "parity-util-mem-derive", @@ -6301,6 +6315,15 @@ dependencies = [ "prost", ] +[[package]] +name = "psm" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3abf49e5417290756acfd26501536358560c4a5cc4a0934d390939acb3e7083a" +dependencies = [ + "cc", +] + [[package]] name = "pwasm-utils" version = "0.14.0" @@ -6499,9 +6522,9 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "7.0.3" +version = "8.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a349ca83373cfa5d6dbb66fd76e58b2cca08da71a5f6400de0a0a6a9bceeaf" +checksum = "1fdf7d9dbd43f3d81d94a49c1c3df73cc2b3827995147e6cf7f89d4ec5483e73" dependencies = [ "bitflags", "cc", @@ -6574,6 +6597,16 @@ dependencies = [ "rust-argon2", ] +[[package]] +name = "redox_users" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +dependencies = [ + "getrandom 0.2.1", + "redox_syscall 0.2.4", +] + [[package]] name = "reed-solomon-erasure" version = "4.0.2" @@ -6605,9 +6638,9 @@ dependencies = [ [[package]] name = "regalloc" -version = "0.0.27" +version = "0.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ba8aaf5fe7cf307c6dbdaeed85478961d29e25e3bee5169e11b92fa9f027a8" +checksum = "571f7f397d61c4755285cd37853fe8e03271c243424a907415909379659381c5" dependencies = [ "log", "rustc-hash", @@ -6896,7 +6929,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "async-trait", "derive_more", @@ -6924,7 +6957,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.3.12", "futures-timer 3.0.2", @@ -6947,7 +6980,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -6964,9 +6997,9 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "parity-scale-codec", "sc-chain-spec-derive", "sc-consensus-babe", @@ -6985,7 +7018,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.24", @@ -6996,7 +7029,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "chrono", "fdlimit", @@ -7034,7 +7067,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "derive_more", "fnv", @@ -7068,7 +7101,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "blake2-rfc", "hash-db", @@ -7098,7 +7131,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "sc-client-api", "sp-blockchain", @@ -7109,7 +7142,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "derive_more", "fork-tree", @@ -7155,7 +7188,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "derive_more", "futures 0.3.12", @@ -7179,7 +7212,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "fork-tree", "parity-scale-codec", @@ -7192,7 +7225,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.3.12", "futures-timer 3.0.2", @@ -7218,7 +7251,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "log", "sc-client-api", @@ -7232,7 +7265,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "derive_more", "lazy_static", @@ -7261,7 +7294,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "derive_more", "parity-scale-codec", @@ -7277,7 +7310,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "log", "parity-scale-codec", @@ -7292,7 +7325,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "log", "parity-scale-codec", @@ -7310,7 +7343,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "derive_more", "finality-grandpa", @@ -7348,7 +7381,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "derive_more", "finality-grandpa", @@ -7372,7 +7405,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "derive_more", "futures 0.3.12", @@ -7392,7 +7425,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "ansi_term 0.12.1", "futures 0.3.12", @@ -7410,7 +7443,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "async-trait", "derive_more", @@ -7430,7 +7463,7 @@ dependencies = [ [[package]] name = "sc-light" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "hash-db", "lazy_static", @@ -7449,7 +7482,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "async-std", "async-trait", @@ -7502,7 +7535,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.3.12", "futures-timer 3.0.2", @@ -7518,7 +7551,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "bytes 0.5.6", "fnv", @@ -7545,7 +7578,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.3.12", "libp2p", @@ -7558,7 +7591,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -7567,7 +7600,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.3.12", "hash-db", @@ -7601,7 +7634,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "derive_more", "futures 0.3.12", @@ -7625,7 +7658,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.1.29", "jsonrpc-core", @@ -7643,9 +7676,9 @@ dependencies = [ [[package]] name = "sc-service" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ - "directories 3.0.1", + "directories", "exit-future", "futures 0.1.29", "futures 0.3.12", @@ -7706,7 +7739,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "log", "parity-scale-codec", @@ -7721,7 +7754,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -7741,7 +7774,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "chrono", "futures 0.3.12", @@ -7763,7 +7796,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "ansi_term 0.12.1", "atty", @@ -7791,7 +7824,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.24", @@ -7802,7 +7835,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "derive_more", "futures 0.3.12", @@ -7824,7 +7857,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.3.12", "futures-diagnose", @@ -8246,7 +8279,7 @@ dependencies = [ [[package]] name = "sp-allocator" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "log", "sp-core", @@ -8258,7 +8291,7 @@ dependencies = [ [[package]] name = "sp-api" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "hash-db", "parity-scale-codec", @@ -8274,7 +8307,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "blake2-rfc", "proc-macro-crate", @@ -8286,7 +8319,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "serde", @@ -8298,7 +8331,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "integer-sqrt", "num-traits 0.2.14", @@ -8311,7 +8344,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "sp-api", @@ -8323,7 +8356,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -8334,7 +8367,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "sp-api", @@ -8346,7 +8379,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.3.12", "log", @@ -8364,7 +8397,7 @@ dependencies = [ [[package]] name = "sp-chain-spec" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "serde", "serde_json", @@ -8373,7 +8406,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.3.12", "futures-timer 3.0.2", @@ -8399,7 +8432,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "merlin", "parity-scale-codec", @@ -8419,7 +8452,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -8429,7 +8462,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -8441,7 +8474,7 @@ dependencies = [ [[package]] name = "sp-core" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "base58", "blake2-rfc", @@ -8485,7 +8518,7 @@ dependencies = [ [[package]] name = "sp-database" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -8494,7 +8527,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", @@ -8504,7 +8537,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "environmental", "parity-scale-codec", @@ -8515,7 +8548,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "finality-grandpa", "log", @@ -8532,7 +8565,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "parking_lot 0.11.1", @@ -8544,7 +8577,7 @@ dependencies = [ [[package]] name = "sp-io" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.3.12", "hash-db", @@ -8568,7 +8601,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "lazy_static", "sp-core", @@ -8579,7 +8612,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "async-trait", "derive_more", @@ -8596,7 +8629,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "serde", @@ -8609,7 +8642,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.24", @@ -8620,7 +8653,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "sp-api", "sp-core", @@ -8630,7 +8663,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "backtrace", ] @@ -8638,7 +8671,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "serde", "sp-core", @@ -8647,11 +8680,11 @@ dependencies = [ [[package]] name = "sp-runtime" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "either", "hash256-std-hasher", - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "log", "parity-scale-codec", "parity-util-mem", @@ -8668,9 +8701,9 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", "sp-externalities", @@ -8685,7 +8718,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "Inflector", "proc-macro-crate", @@ -8697,7 +8730,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "serde", "serde_json", @@ -8706,7 +8739,7 @@ dependencies = [ [[package]] name = "sp-session" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "sp-api", @@ -8719,7 +8752,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -8729,7 +8762,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "hash-db", "log", @@ -8751,12 +8784,12 @@ dependencies = [ [[package]] name = "sp-std" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" [[package]] name = "sp-storage" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8769,7 +8802,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "log", "sp-core", @@ -8782,9 +8815,9 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "parity-scale-codec", "sp-api", "sp-inherents", @@ -8796,7 +8829,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "log", "parity-scale-codec", @@ -8809,7 +8842,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "derive_more", "futures 0.3.12", @@ -8825,7 +8858,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "hash-db", "memory-db", @@ -8839,7 +8872,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.3.12", "futures-core", @@ -8851,7 +8884,7 @@ dependencies = [ [[package]] name = "sp-version" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8863,9 +8896,9 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "parity-scale-codec", "sp-std", "wasmi", @@ -8995,7 +9028,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "chrono", "console_error_panic_hook", @@ -9022,7 +9055,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "platforms", ] @@ -9030,7 +9063,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.12", @@ -9053,7 +9086,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "async-std", "derive_more", @@ -9067,7 +9100,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.1.29", "futures 0.3.12", @@ -9094,7 +9127,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "futures 0.3.12", "substrate-test-utils-derive", @@ -9104,7 +9137,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.8.1" -source = "git+https://github.com/paritytech/substrate#09ba69f9e8e77eadc6acf22d3a96f2d54fd34e92" +source = "git+https://github.com/paritytech/substrate#48e9d49789b3e779b6016933b28c29bf56a2246d" dependencies = [ "proc-macro-crate", "quote 1.0.7", @@ -9187,9 +9220,9 @@ checksum = "36474e732d1affd3a6ed582781b3683df3d0563714c59c39591e8ff707cf078e" [[package]] name = "target-lexicon" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab0e7238dcc7b40a7be719a25365910f6807bd864f4cce6b2e6b873658e2b19d" +checksum = "4ee5a98e506fb7231a304c3a1bd7c132a55016cf65001e0282480665870dfcb9" [[package]] name = "tempfile" @@ -10155,33 +10188,31 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.57.0" +version = "0.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32fddd575d477c6e9702484139cf9f23dcd554b06d185ed0f56c857dd3a47aa6" - -[[package]] -name = "wasmparser" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a950e6a618f62147fd514ff445b2a0b53120d382751960797f85f058c7eda9b9" +checksum = "89a30c99437829ede826802bfcf28500cf58df00e66cb9114df98813bc145ff1" [[package]] name = "wasmtime" -version = "0.19.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd3c4f449382779ef6e0a7c3ec6752ae614e20a42e4100000c3efdc973100e2" +checksum = "7426055cb92bd9a1e9469b48154d8d6119cd8c498c8b70284e420342c05dc45d" dependencies = [ "anyhow", "backtrace", - "cfg-if 0.1.10", - "lazy_static", + "bincode", + "cfg-if 1.0.0", + "cpp_demangle", + "indexmap", "libc", "log", "region", "rustc-demangle", + "serde", "smallvec 1.6.1", "target-lexicon", - "wasmparser 0.59.0", + "wasmparser", + "wasmtime-cache", "wasmtime-environ", "wasmtime-jit", "wasmtime-profiling", @@ -10190,74 +10221,101 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "wasmtime-cache" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c01d9287e36921e46f5887a47007824ae5dbb9b7517a2d565660ab4471478709" +dependencies = [ + "anyhow", + "base64 0.13.0", + "bincode", + "directories-next", + "errno", + "file-per-thread-logger", + "libc", + "log", + "serde", + "sha2 0.9.2", + "toml", + "winapi 0.3.9", + "zstd", +] + +[[package]] +name = "wasmtime-cranelift" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4134ed3a4316cd0de0e546c6004850afe472b0fa3fcdc2f2c15f8d449562d962" +dependencies = [ + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "cranelift-wasm", + "wasmtime-environ", +] + [[package]] name = "wasmtime-debug" -version = "0.19.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e634af9067a3af6cf2c7d33dc3b84767ddaf5d010ba68e80eecbcea73d4a349" +checksum = "e91fa931df6dd8af2b02606307674d3bad23f55473d5f4c809dddf7e4c4dc411" dependencies = [ "anyhow", - "gimli 0.21.0", + "gimli", "more-asserts", - "object 0.20.0", + "object 0.22.0", "target-lexicon", "thiserror", - "wasmparser 0.59.0", + "wasmparser", "wasmtime-environ", ] [[package]] name = "wasmtime-environ" -version = "0.19.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f85619a94ee4034bd5bb87fc3dcf71fd2237b81c840809da1201061eec9ab3" +checksum = "a1098871dc3120aaf8190d79153e470658bb79f63ee9ca31716711e123c28220" dependencies = [ "anyhow", - "base64 0.12.3", - "bincode", - "cfg-if 0.1.10", + "cfg-if 1.0.0", "cranelift-codegen", "cranelift-entity", - "cranelift-frontend", "cranelift-wasm", - "directories 2.0.2", - "errno", - "file-per-thread-logger", + "gimli", "indexmap", - "libc", "log", "more-asserts", - "rayon", "serde", - "sha2 0.8.2", "thiserror", - "toml", - "wasmparser 0.59.0", - "winapi 0.3.9", - "zstd", + "wasmparser", ] [[package]] name = "wasmtime-jit" -version = "0.19.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e914c013c7a9f15f4e429d5431f2830fb8adb56e40567661b69c5ec1d645be23" +checksum = "738bfcd1561ede8bb174215776fd7d9a95d5f0a47ca3deabe0282c55f9a89f68" dependencies = [ + "addr2line", "anyhow", - "cfg-if 0.1.10", + "cfg-if 1.0.0", "cranelift-codegen", "cranelift-entity", "cranelift-frontend", "cranelift-native", "cranelift-wasm", - "gimli 0.21.0", + "gimli", "log", "more-asserts", - "object 0.20.0", + "object 0.22.0", + "rayon", "region", + "serde", "target-lexicon", "thiserror", - "wasmparser 0.59.0", + "wasmparser", + "wasmtime-cranelift", "wasmtime-debug", "wasmtime-environ", "wasmtime-obj", @@ -10268,13 +10326,13 @@ dependencies = [ [[package]] name = "wasmtime-obj" -version = "0.19.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e81d8e02e9bc9fe2da9b6d48bbc217f96e089f7df613f11a28a3958abc44641e" +checksum = "3e96d77f1801131c5e86d93e42a3cf8a35402107332c202c245c83f34888a906" dependencies = [ "anyhow", "more-asserts", - "object 0.20.0", + "object 0.22.0", "target-lexicon", "wasmtime-debug", "wasmtime-environ", @@ -10282,16 +10340,16 @@ dependencies = [ [[package]] name = "wasmtime-profiling" -version = "0.19.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e8d4d1af8dd5f7096cfcc89dd668d358e52980c38cce199643372ffd6590e27" +checksum = "60bb672c9d894776d7b9250dd9b4fe890f8760201ee4f53e5f2da772b6c4debb" dependencies = [ "anyhow", - "cfg-if 0.1.10", - "gimli 0.21.0", + "cfg-if 1.0.0", + "gimli", "lazy_static", "libc", - "object 0.19.0", + "object 0.22.0", "scroll", "serde", "target-lexicon", @@ -10301,19 +10359,20 @@ dependencies = [ [[package]] name = "wasmtime-runtime" -version = "0.19.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a25f140bbbaadb07c531cba99ce1a966dba216138dc1b2a0ddecec851a01a93" +checksum = "a978086740949eeedfefcee667b57a9e98d9a7fc0de382fcfa0da30369e3530d" dependencies = [ "backtrace", "cc", - "cfg-if 0.1.10", + "cfg-if 1.0.0", "indexmap", "lazy_static", "libc", "log", - "memoffset", + "memoffset 0.6.1", "more-asserts", + "psm", "region", "thiserror", "wasmtime-environ", @@ -10579,7 +10638,7 @@ name = "xcm-executor" version = "0.8.22" dependencies = [ "frame-support", - "impl-trait-for-tuples 0.2.0", + "impl-trait-for-tuples", "parity-scale-codec", "sp-arithmetic", "sp-core", diff --git a/cli/src/cli.rs b/cli/src/cli.rs index 8c4bfb1e74e5..f4f325568aaa 100644 --- a/cli/src/cli.rs +++ b/cli/src/cli.rs @@ -60,6 +60,9 @@ pub enum Subcommand { #[allow(missing_docs)] #[derive(Debug, StructOpt)] pub struct ValidationWorkerCommand { + /// The path that the executor can use for it's caching purposes. + pub cache_base_path: Option, + #[allow(missing_docs)] pub mem_id: String, } diff --git a/cli/src/command.rs b/cli/src/command.rs index 656e464a1fd3..eb7c21108a60 100644 --- a/cli/src/command.rs +++ b/cli/src/command.rs @@ -257,7 +257,10 @@ pub fn run() -> Result<()> { Err(sc_cli::Error::Input("Cannot run validation worker in browser".into()).into()) } else { #[cfg(not(any(target_os = "android", feature = "browser")))] - polkadot_parachain::wasm_executor::run_worker(&cmd.mem_id)?; + polkadot_parachain::wasm_executor::run_worker( + &cmd.mem_id, + cmd.cache_base_path.clone(), + )?; Ok(()) } }, diff --git a/node/service/src/lib.rs b/node/service/src/lib.rs index 8dce808b4c10..b0333aedda2d 100644 --- a/node/service/src/lib.rs +++ b/node/service/src/lib.rs @@ -1005,13 +1005,26 @@ pub fn build_full( grandpa_pause: Option<(u32, u32)>, jaeger_agent: Option, ) -> Result, Error> { + let isolation_strategy = { + #[cfg(not(any(target_os = "android", target_os = "unknown")))] + { + let cache_base_path = config.database.path(); + IsolationStrategy::external_process_with_caching(cache_base_path) + } + + #[cfg(any(target_os = "android", target_os = "unknown"))] + { + IsolationStrategy::InProcess + } + }; + if config.chain_spec.is_rococo() { new_full::( config, is_collator, grandpa_pause, jaeger_agent, - Default::default(), + isolation_strategy, ).map(|full| full.with_client(Client::Rococo)) } else if config.chain_spec.is_kusama() { new_full::( @@ -1019,7 +1032,7 @@ pub fn build_full( is_collator, grandpa_pause, jaeger_agent, - Default::default(), + isolation_strategy, ).map(|full| full.with_client(Client::Kusama)) } else if config.chain_spec.is_westend() { new_full::( @@ -1027,7 +1040,7 @@ pub fn build_full( is_collator, grandpa_pause, jaeger_agent, - Default::default(), + isolation_strategy, ).map(|full| full.with_client(Client::Westend)) } else { new_full::( @@ -1035,7 +1048,7 @@ pub fn build_full( is_collator, grandpa_pause, jaeger_agent, - Default::default(), + isolation_strategy, ).map(|full| full.with_client(Client::Polkadot)) } } diff --git a/parachain/src/wasm_executor/mod.rs b/parachain/src/wasm_executor/mod.rs index 5192bf115de0..fe44f41513cd 100644 --- a/parachain/src/wasm_executor/mod.rs +++ b/parachain/src/wasm_executor/mod.rs @@ -20,7 +20,7 @@ //! Assuming the parameters are correct, this module provides a wrapper around //! a WASM VM for re-execution of a parachain candidate. -use std::{any::{TypeId, Any}, path::PathBuf}; +use std::{any::{TypeId, Any}, path::{Path, PathBuf}}; use crate::primitives::{ValidationParams, ValidationResult}; use parity_scale_codec::{Decode, Encode}; use sp_core::{storage::{ChildInfo, TrackedStorageKey}, traits::{CallInWasm, SpawnNamed}}; @@ -76,7 +76,10 @@ pub enum IsolationStrategy { /// The validation worker is ran using the process' executable and the subcommand `validation-worker` is passed /// following by the address of the shared memory. #[cfg(not(any(target_os = "android", target_os = "unknown")))] - ExternalProcessSelfHost(ValidationPool), + ExternalProcessSelfHost { + pool: ValidationPool, + cache_base_path: Option, + }, /// The validation worker is ran using the command provided and the argument provided. The address of the shared /// memory is added at the end of the arguments. #[cfg(not(any(target_os = "android", target_os = "unknown")))] @@ -91,16 +94,16 @@ pub enum IsolationStrategy { }, } -impl Default for IsolationStrategy { - fn default() -> Self { - #[cfg(not(any(target_os = "android", target_os = "unknown")))] - { - Self::ExternalProcessSelfHost(ValidationPool::new()) - } - - #[cfg(any(target_os = "android", target_os = "unknown"))] - { - Self::InProcess +impl IsolationStrategy { + #[cfg(not(any(target_os = "android", target_os = "unknown")))] + pub fn external_process_with_caching(cache_base_path: Option<&Path>) -> Self { + // Convert cache path to string here so that we don't have to do that each time we launch + // validation worker. + let cache_base_path = cache_base_path.map(|path| path.display().to_string()); + + Self::ExternalProcessSelfHost { + pool: ValidationPool::new(), + cache_base_path, } } } @@ -165,8 +168,12 @@ pub enum InternalError { /// This should be reused across candidate validation instances. pub struct ExecutorCache(sc_executor::WasmExecutor); -impl Default for ExecutorCache { - fn default() -> Self { +impl ExecutorCache { + /// Returns a new instance of an executor cache. + /// + /// `cache_base_path` allows to specify a directory where the executor is allowed to store files + /// for caching, e.g. compilation artifacts. + pub fn new(cache_base_path: Option) -> ExecutorCache { ExecutorCache(sc_executor::WasmExecutor::new( #[cfg(all(feature = "wasmtime", not(any(target_os = "android", target_os = "unknown"))))] sc_executor::WasmExecutionMethod::Compiled, @@ -175,7 +182,8 @@ impl Default for ExecutorCache { // TODO: Make sure we don't use more than 1GB: https://github.com/paritytech/polkadot/issues/699 Some(1024), HostFunctions::host_functions(), - 8 + 8, + cache_base_path, )) } } @@ -192,15 +200,15 @@ pub fn validate_candidate( match isolation_strategy { IsolationStrategy::InProcess => { validate_candidate_internal( - &ExecutorCache::default(), + &ExecutorCache::new(None), validation_code, ¶ms.encode(), spawner, ) }, #[cfg(not(any(target_os = "android", target_os = "unknown")))] - IsolationStrategy::ExternalProcessSelfHost(pool) => { - pool.validate_candidate(validation_code, params) + IsolationStrategy::ExternalProcessSelfHost { pool, cache_base_path } => { + pool.validate_candidate(validation_code, params, cache_base_path.as_deref()) }, #[cfg(not(any(target_os = "android", target_os = "unknown")))] IsolationStrategy::ExternalProcessCustomHost { pool, binary, args } => { diff --git a/parachain/src/wasm_executor/validation_host.rs b/parachain/src/wasm_executor/validation_host.rs index 2db89b4bbaa1..cd58ec5971a9 100644 --- a/parachain/src/wasm_executor/validation_host.rs +++ b/parachain/src/wasm_executor/validation_host.rs @@ -87,17 +87,35 @@ impl ValidationPool { /// /// This will fail if the validation code is not a proper parachain validation module. /// - /// This function will use `std::env::current_exe()` with the default arguments [`WORKER_ARGS`] to run the worker. + /// This function will use `std::env::current_exe()` with the arguments that consist of [`WORKER_ARGS`] + /// with appended `cache_base_path` (if any). pub fn validate_candidate( &self, validation_code: &[u8], params: ValidationParams, + cache_base_path: Option<&str>, ) -> Result { + use std::{iter, borrow::Cow}; + + let worker_cli_args = match cache_base_path { + Some(cache_base_path) => { + let worker_cli_args: Vec<&str> = + WORKER_ARGS.into_iter() + .cloned() + .chain(iter::once(cache_base_path)) + .collect(); + Cow::from(worker_cli_args) + } + None => { + Cow::from(WORKER_ARGS) + }, + }; + self.validate_candidate_custom( validation_code, params, &env::current_exe().map_err(|err| ValidationError::Internal(err.into()))?, - WORKER_ARGS, + &worker_cli_args, ) } @@ -126,7 +144,7 @@ impl ValidationPool { /// Validation worker process entry point. Runs a loop waiting for candidates to validate /// and sends back results via shared memory. -pub fn run_worker(mem_id: &str) -> Result<(), String> { +pub fn run_worker(mem_id: &str, cache_base_path: Option) -> Result<(), String> { let mut memory = match SharedMem::open(mem_id) { Ok(memory) => memory, Err(e) => { @@ -151,7 +169,7 @@ pub fn run_worker(mem_id: &str) -> Result<(), String> { memory.set(Event::WorkerReady as usize, EventState::Signaled) .map_err(|e| format!("{} Error setting shared event: {:?}", process::id(), e))?; - let executor = super::ExecutorCache::default(); + let executor = super::ExecutorCache::new(cache_base_path); loop { if watch_exit.load(atomic::Ordering::Relaxed) { diff --git a/parachain/test-parachains/tests/lib.rs b/parachain/test-parachains/tests/lib.rs index 3ad021a16e70..e2c7c9a57d2f 100644 --- a/parachain/test-parachains/tests/lib.rs +++ b/parachain/test-parachains/tests/lib.rs @@ -25,6 +25,6 @@ use parachain::wasm_executor::run_worker; #[test] fn validation_worker() { if let Some(id) = std::env::args().find(|a| a.starts_with("/shmem_rs_")) { - run_worker(&id).unwrap() + run_worker(&id, None).unwrap() } }