diff --git a/Cargo.lock b/Cargo.lock index 4310c35..202cda1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -68,7 +68,7 @@ dependencies = [ "cipher 0.4.4", "ctr", "ghash", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] @@ -77,7 +77,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.15", + "getrandom", "once_cell", "version_check", ] @@ -89,7 +89,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom", "once_cell", "version_check", "zerocopy", @@ -142,9 +142,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", @@ -157,33 +157,33 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -215,7 +215,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -229,18 +229,6 @@ dependencies = [ "ark-std", ] -[[package]] -name = "ark-bls12-377-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c7021f180a0cbea0380eba97c2af3c57074cdaffe0eef7e840e1c9f2841e55" -dependencies = [ - "ark-bls12-377", - "ark-ec", - "ark-models-ext", - "ark-std", -] - [[package]] name = "ark-bls12-381" version = "0.4.0" @@ -253,45 +241,6 @@ dependencies = [ "ark-std", ] -[[package]] -name = "ark-bls12-381-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1dc4b3d08f19e8ec06e949712f95b8361e43f1391d94f65e4234df03480631c" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-models-ext", - "ark-serialize", - "ark-std", -] - -[[package]] -name = "ark-bw6-761" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0605daf0cc5aa2034b78d008aaf159f56901d92a52ee4f6ecdfdac4f426700" -dependencies = [ - "ark-bls12-377", - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-bw6-761-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccee5fba47266f460067588ee1bf070a9c760bf2050c1c509982c5719aadb4f2" -dependencies = [ - "ark-bw6-761", - "ark-ec", - "ark-ff", - "ark-models-ext", - "ark-std", -] - [[package]] name = "ark-ec" version = "0.4.2" @@ -306,60 +255,9 @@ dependencies = [ "hashbrown 0.13.2", "itertools 0.10.5", "num-traits", - "rayon", "zeroize", ] -[[package]] -name = "ark-ed-on-bls12-377" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10d901b9ac4b38f9c32beacedfadcdd64e46f8d7f8e88c1ae1060022cf6f6c6" -dependencies = [ - "ark-bls12-377", - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-ed-on-bls12-377-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524a4fb7540df2e1a8c2e67a83ba1d1e6c3947f4f9342cc2359fc2e789ad731d" -dependencies = [ - "ark-ec", - "ark-ed-on-bls12-377", - "ark-ff", - "ark-models-ext", - "ark-std", -] - -[[package]] -name = "ark-ed-on-bls12-381-bandersnatch" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-ed-on-bls12-381-bandersnatch-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15185f1acb49a07ff8cbe5f11a1adc5a93b19e211e325d826ae98e98e124346" -dependencies = [ - "ark-ec", - "ark-ed-on-bls12-381-bandersnatch", - "ark-ff", - "ark-models-ext", - "ark-std", -] - [[package]] name = "ark-ff" version = "0.4.2" @@ -403,19 +301,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "ark-models-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9eab5d4b5ff2f228b763d38442adc9b084b0a465409b059fac5c2308835ec2" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", - "derivative", -] - [[package]] name = "ark-poly" version = "0.4.2" @@ -429,35 +314,6 @@ dependencies = [ "hashbrown 0.13.2", ] -[[package]] -name = "ark-scale" -version = "0.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f69c00b3b529be29528a6f2fd5fa7b1790f8bed81b9cdca17e326538545a179" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "ark-secret-scalar" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", - "ark-transcript", - "digest 0.10.7", - "getrandom_or_panic", - "zeroize", -] - [[package]] name = "ark-serialize" version = "0.4.2" @@ -488,29 +344,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand 0.8.5", - "rayon", + "rand", ] -[[package]] -name = "ark-transcript" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "digest 0.10.7", - "rand_core 0.6.4", - "sha3 0.10.8", -] - -[[package]] -name = "array-bytes" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" - [[package]] name = "array-bytes" version = "6.2.3" @@ -519,9 +355,9 @@ checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" @@ -540,9 +376,9 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "asn1-rs" @@ -550,8 +386,24 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ - "asn1-rs-derive", - "asn1-rs-impl", + "asn1-rs-derive 0.4.0", + "asn1-rs-impl 0.1.0", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time", +] + +[[package]] +name = "asn1-rs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" +dependencies = [ + "asn1-rs-derive 0.5.1", + "asn1-rs-impl 0.2.0", "displaydoc", "nom", "num-traits", @@ -572,6 +424,18 @@ dependencies = [ "synstructure 0.12.6", ] +[[package]] +name = "asn1-rs-derive" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.75", + "synstructure 0.13.1", +] + [[package]] name = "asn1-rs-impl" version = "0.1.0" @@ -583,6 +447,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "asn1-rs-impl" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.75", +] + [[package]] name = "assert_matches" version = "1.5.0" @@ -609,14 +484,14 @@ dependencies = [ "concurrent-queue", "event-listener-strategy", "futures-core", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" +checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" dependencies = [ "async-task", "concurrent-queue", @@ -637,6 +512,17 @@ dependencies = [ "futures-lite 1.13.0", ] +[[package]] +name = "async-fs" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" +dependencies = [ + "async-lock 3.4.0", + "blocking", + "futures-lite 2.3.0", +] + [[package]] name = "async-io" version = "1.13.0" @@ -659,9 +545,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.3" +version = "2.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" +checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" dependencies = [ "async-lock 3.4.0", "cfg-if", @@ -669,11 +555,11 @@ dependencies = [ "futures-io", "futures-lite 2.3.0", "parking", - "polling 3.7.2", + "polling 3.7.3", "rustix 0.38.34", "slab", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -693,7 +579,7 @@ checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ "event-listener 5.3.1", "event-listener-strategy", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -707,6 +593,17 @@ dependencies = [ "futures-lite 1.13.0", ] +[[package]] +name = "async-net" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" +dependencies = [ + "async-io 2.3.4", + "blocking", + "futures-lite 2.3.0", +] + [[package]] name = "async-process" version = "1.8.1" @@ -724,13 +621,33 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "async-process" +version = "2.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8a07789659a4d385b79b18b9127fc27e1a59e1e89117c78c5ea3b806f016374" +dependencies = [ + "async-channel 2.3.1", + "async-io 2.3.4", + "async-lock 3.4.0", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener 5.3.1", + "futures-lite 2.3.0", + "rustix 0.38.34", + "tracing", + "windows-sys 0.59.0", +] + [[package]] name = "async-signal" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" +checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" dependencies = [ - "async-io 2.3.3", + "async-io 2.3.4", "async-lock 3.4.0", "atomic-waker", "cfg-if", @@ -739,7 +656,7 @@ dependencies = [ "rustix 0.38.34", "signal-hook-registry", "slab", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -750,13 +667,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -769,7 +686,7 @@ dependencies = [ "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -793,6 +710,17 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +[[package]] +name = "attohttpc" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" +dependencies = [ + "http 0.2.12", + "log", + "url", +] + [[package]] name = "atty" version = "0.2.14" @@ -812,7 +740,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -832,33 +760,10 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.36.0", + "object 0.36.3", "rustc-demangle", ] -[[package]] -name = "bandersnatch_vrfs" -version = "0.0.4" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ed-on-bls12-381-bandersnatch", - "ark-ff", - "ark-serialize", - "ark-std", - "dleq_vrf", - "fflonk", - "merlin 3.0.0", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "ring 0.1.0", - "sha2 0.10.8", - "sp-ark-bls12-381", - "sp-ark-ed-on-bls12-381-bandersnatch", - "zeroize", -] - [[package]] name = "base-x" version = "0.2.11" @@ -889,6 +794,12 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "base64ct" version = "1.6.0" @@ -943,8 +854,8 @@ dependencies = [ [[package]] name = "binary-merkle-tree" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "hash-db", "log", @@ -977,7 +888,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -986,19 +897,31 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" dependencies = [ - "bitcoin_hashes", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "unicode-normalization", + "bitcoin_hashes 0.11.0", ] +[[package]] +name = "bitcoin-internals" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" + [[package]] name = "bitcoin_hashes" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" +[[package]] +name = "bitcoin_hashes" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" +dependencies = [ + "bitcoin-internals", + "hex-conservative", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -1071,7 +994,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "constant_time_eq 0.3.0", ] @@ -1082,42 +1005,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "constant_time_eq 0.3.0", ] [[package]] name = "blake3" -version = "1.5.1" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "cc", "cfg-if", "constant_time_eq 0.3.0", ] -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding 0.1.5", - "byte-tools", - "byteorder", - "generic-array 0.12.4", -] - [[package]] name = "block-buffer" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "block-padding 0.2.1", + "block-padding", "generic-array 0.14.7", ] @@ -1130,15 +1041,6 @@ dependencies = [ "generic-array 0.14.7", ] -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", -] - [[package]] name = "block-padding" version = "0.2.1" @@ -1148,26 +1050,14 @@ checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" [[package]] name = "blocking" version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" -dependencies = [ - "async-channel 2.3.1", - "async-task", - "futures-io", - "futures-lite 2.3.0", - "piper", -] - -[[package]] -name = "bounded-collections" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca548b6163b872067dc5eb82fd130c56881435e30367d2073594a3d9744120dd" -dependencies = [ - "log", - "parity-scale-codec", - "scale-info", - "serde", +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" +dependencies = [ + "async-channel 2.3.1", + "async-task", + "futures-io", + "futures-lite 2.3.0", + "piper", ] [[package]] @@ -1193,13 +1083,13 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.14.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] @@ -1219,9 +1109,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.9.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" dependencies = [ "memchr", "serde", @@ -1256,9 +1146,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.16.1" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" +checksum = "6fd4c6dcc3b0aea2f5c0b4b82c2b15fe39ddbc76041a310848f4706edf76bb31" [[package]] name = "byteorder" @@ -1268,9 +1158,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" [[package]] name = "bzip2-sys" @@ -1295,9 +1185,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] @@ -1333,15 +1223,21 @@ checksum = "fd6c0e7b807d60291f42f33f58480c0bfafe28ed08286446f45e463728cf9c1c" [[package]] name = "cc" -version = "1.0.101" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac367972e516d45567c7eafc73d24e1c193dcf200a8d94e9db7b3d38b349572d" +checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" dependencies = [ "jobserver", "libc", - "once_cell", + "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cexpr" version = "0.6.0" @@ -1372,6 +1268,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chacha" version = "0.3.0" @@ -1417,7 +1319,7 @@ dependencies = [ "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -1452,7 +1354,20 @@ dependencies = [ "multibase", "multihash 0.17.0", "serde", - "unsigned-varint", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "cid" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd94671561e36e4e7de75f753f577edafb0e7c05d6e4547229fdf7938fbcd2c3" +dependencies = [ + "core2", + "multibase", + "multihash 0.18.1", + "serde", + "unsigned-varint 0.7.2", ] [[package]] @@ -1475,15 +1390,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ckb-merkle-mountain-range" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ccb671c5921be8a84686e6212ca184cb1d7c51cadcdbfcbd1cc3f042f5dfb8" -dependencies = [ - "cfg-if", -] - [[package]] name = "clang-sys" version = "1.8.1" @@ -1514,23 +1420,23 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.7" +version = "4.5.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" +checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" dependencies = [ "clap_builder", - "clap_derive 4.5.5", + "clap_derive 4.5.13", ] [[package]] name = "clap_builder" -version = "4.5.7" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", - "clap_lex 0.7.1", + "clap_lex 0.7.2", "strsim 0.11.1", "terminal_size", ] @@ -1550,14 +1456,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.5" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -1571,9 +1477,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "coarsetime" @@ -1625,14 +1531,14 @@ dependencies = [ "nom", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "colored" @@ -1644,6 +1550,16 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "comfy-table" version = "7.1.1" @@ -1655,22 +1571,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "common" -version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "fflonk", - "getrandom_or_panic", - "merlin 3.0.0", - "rand_chacha 0.3.1", -] - [[package]] name = "common-path" version = "1.0.0" @@ -1720,7 +1620,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.15", + "getrandom", "once_cell", "tiny-keccak", ] @@ -1761,9 +1661,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core2" @@ -1795,9 +1695,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -1826,7 +1726,7 @@ dependencies = [ "gimli 0.27.3", "hashbrown 0.13.2", "log", - "regalloc2", + "regalloc2 0.6.1", "smallvec", "target-lexicon", ] @@ -1972,7 +1872,7 @@ checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.6.1", "zeroize", ] @@ -2004,17 +1904,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ "generic-array 0.14.7", - "subtle 2.4.1", -] - -[[package]] -name = "crypto-mac" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" -dependencies = [ - "generic-array 0.14.7", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] @@ -2028,25 +1918,25 @@ dependencies = [ [[package]] name = "cumulus-client-cli" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "clap 4.5.7", + "clap 4.5.16", "parity-scale-codec", "sc-chain-spec", "sc-cli", "sc-client-api", "sc-service", "sp-blockchain", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", "url", ] [[package]] name = "cumulus-client-collator" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2061,15 +1951,15 @@ dependencies = [ "sc-client-api", "sp-api", "sp-consensus", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", "tracing", ] [[package]] name = "cumulus-client-consensus-aura" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2081,6 +1971,7 @@ dependencies = [ "cumulus-relay-chain-interface", "futures", "parity-scale-codec", + "parking_lot 0.12.3", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", @@ -2091,27 +1982,29 @@ dependencies = [ "sc-consensus-babe", "sc-consensus-slots", "sc-telemetry", + "sc-utils", "schnellru", "sp-api", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", "sp-timestamp", "substrate-prometheus-endpoint", + "tokio", "tracing", ] [[package]] name = "cumulus-client-consensus-common" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2129,33 +2022,34 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-slots", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", "sp-timestamp", - "sp-trie 29.0.0", + "sp-trie 37.0.0", + "sp-version", "substrate-prometheus-endpoint", "tracing", ] [[package]] name = "cumulus-client-consensus-proposer" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "anyhow", "async-trait", "cumulus-primitives-parachain-inherent", "sp-consensus", "sp-inherents", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", "thiserror", ] [[package]] name = "cumulus-client-network" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2164,21 +2058,24 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "polkadot-node-primitives", + "polkadot-node-subsystem", "polkadot-parachain-primitives", "polkadot-primitives", "sc-client-api", + "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-core 34.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-version", "tracing", ] [[package]] name = "cumulus-client-parachain-inherent" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.11.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2187,22 +2084,20 @@ dependencies = [ "cumulus-test-relay-sproof-builder", "parity-scale-codec", "sc-client-api", - "scale-info", "sp-api", - "sp-crypto-hashing", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "sp-inherents", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-storage 21.0.0", + "sp-trie 37.0.0", "tracing", ] [[package]] name = "cumulus-client-pov-recovery" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2214,19 +2109,21 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-overseer", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-client-api", "sc-consensus", + "sp-api", "sp-consensus", "sp-maybe-compressed-blob", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", + "sp-version", "tracing", ] [[package]] name = "cumulus-client-service" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2254,15 +2151,16 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "sp-transaction-pool", ] [[package]] name = "cumulus-pallet-aura-ext" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -2271,16 +2169,15 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-consensus-aura", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "cumulus-pallet-parachain-system" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -2296,68 +2193,68 @@ dependencies = [ "pallet-message-queue", "parity-scale-codec", "polkadot-parachain-primitives", + "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", - "sp-core 28.0.0", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-externalities 0.29.0", "sp-inherents", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-trie 37.0.0", "sp-version", "staging-xcm", - "trie-db", + "staging-xcm-builder", + "trie-db 0.29.1", ] [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "cumulus-pallet-session-benchmarking" -version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "pallet-session", "parity-scale-codec", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "cumulus-pallet-xcm" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "staging-xcm", ] [[package]] name = "cumulus-pallet-xcmp-queue" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "bounded-collections 0.2.0", + "bounded-collections", "bp-xcm-bridge-hub-router", "cumulus-primitives-core", "frame-benchmarking", @@ -2369,32 +2266,31 @@ dependencies = [ "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "staging-xcm", + "staging-xcm-builder", "staging-xcm-executor", ] [[package]] name = "cumulus-primitives-aura" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", "polkadot-primitives", "sp-api", "sp-consensus-aura", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "cumulus-primitives-core" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2402,66 +2298,67 @@ dependencies = [ "polkadot-primitives", "scale-info", "sp-api", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "sp-runtime 39.0.0", + "sp-trie 37.0.0", "staging-xcm", ] [[package]] name = "cumulus-primitives-parachain-inherent" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "cumulus-primitives-core", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-trie 37.0.0", ] [[package]] name = "cumulus-primitives-proof-size-hostfunction" -version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.10.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "sp-externalities 0.29.0", + "sp-runtime-interface 28.0.0", + "sp-trie 37.0.0", ] [[package]] -name = "cumulus-primitives-timestamp" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +name = "cumulus-primitives-storage-weight-reclaim" +version = "7.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "cumulus-primitives-core", - "futures", + "cumulus-primitives-proof-size-hostfunction", + "docify", + "frame-support", + "frame-system", + "log", "parity-scale-codec", - "sp-inherents", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-timestamp", + "scale-info", + "sp-runtime 39.0.0", ] [[package]] name = "cumulus-primitives-utility" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "cumulus-primitives-core", "frame-support", "log", "pallet-asset-conversion", - "pallet-xcm-benchmarks", "parity-scale-codec", "polkadot-runtime-common", "polkadot-runtime-parachains", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2469,8 +2366,8 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2486,53 +2383,48 @@ dependencies = [ "sc-tracing", "sp-api", "sp-consensus", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-core 34.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", ] [[package]] name = "cumulus-relay-chain-interface" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "cumulus-primitives-core", "futures", - "jsonrpsee-core", + "jsonrpsee-core 0.23.2", "parity-scale-codec", "polkadot-overseer", "sc-client-api", "sp-api", "sp-blockchain", - "sp-state-machine 0.35.0", + "sp-state-machine 0.43.0", + "sp-version", "thiserror", ] [[package]] name = "cumulus-relay-chain-minimal-node" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "async-trait", "cumulus-primitives-core", "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures", - "parking_lot 0.12.3", - "polkadot-availability-recovery", - "polkadot-collator-protocol", "polkadot-core-primitives", "polkadot-network-bridge", - "polkadot-node-collation-generation", - "polkadot-node-core-chain-api", - "polkadot-node-core-prospective-parachains", - "polkadot-node-core-runtime-api", "polkadot-node-network-protocol", "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", + "polkadot-service", "sc-authority-discovery", "sc-client-api", "sc-network", @@ -2544,7 +2436,7 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-babe", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", "tokio", "tracing", @@ -2552,8 +2444,8 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2561,11 +2453,11 @@ dependencies = [ "either", "futures", "futures-timer", - "jsonrpsee", + "jsonrpsee 0.23.2", "parity-scale-codec", "pin-project", "polkadot-overseer", - "rand 0.8.5", + "rand", "sc-client-api", "sc-rpc-api", "sc-service", @@ -2577,10 +2469,10 @@ dependencies = [ "sp-api", "sp-authority-discovery", "sp-consensus-babe", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-storage 21.0.0", "sp-version", "thiserror", "tokio", @@ -2591,29 +2483,15 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "polkadot-primitives", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", -] - -[[package]] -name = "curve25519-dalek" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216" -dependencies = [ - "byteorder", - "digest 0.8.1", - "rand_core 0.5.1", - "subtle 2.4.1", - "zeroize", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-trie 37.0.0", ] [[package]] @@ -2625,7 +2503,7 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "subtle 2.4.1", + "subtle 2.6.1", "zeroize", ] @@ -2641,7 +2519,7 @@ dependencies = [ "digest 0.10.7", "fiat-crypto", "rustc_version 0.4.0", - "subtle 2.4.1", + "subtle 2.6.1", "zeroize", ] @@ -2653,7 +2531,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -2671,9 +2549,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.124" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "273dcfd3acd4e1e276af13ed2a43eea7001318823e7a726a6b3ed39b4acc0b82" +checksum = "3c4eae4b7fc8dcb0032eb3b1beee46b38d371cdeaf2d0c64b9944f6f69ad7755" dependencies = [ "cc", "cxxbridge-flags", @@ -2683,9 +2561,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.124" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b2766fbd92be34e9ed143898fce6c572dc009de39506ed6903e5a05b68914e" +checksum = "6c822bf7fb755d97328d6c337120b6f843678178751cba33c9da25cf522272e0" dependencies = [ "cc", "codespan-reporting", @@ -2693,24 +2571,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "cxxbridge-flags" -version = "1.0.124" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "839fcd5e43464614ffaa989eaf1c139ef1f0c51672a1ed08023307fa1b909ccd" +checksum = "719d6197dc016c88744aff3c0d0340a01ecce12e8939fc282e7c8f583ee64bc6" [[package]] name = "cxxbridge-macro" -version = "1.0.124" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2c1c1776b986979be68bb2285da855f8d8a35851a769fca8740df7c3d07877" +checksum = "35de3b547387863c8f82013c4f79f1c2162edee956383e4089e1d04c18c4f16c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -2725,12 +2603,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.9", - "darling_macro 0.20.9", + "darling_core 0.20.10", + "darling_macro 0.20.10", ] [[package]] @@ -2749,16 +2627,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -2774,13 +2652,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.9", + "darling_core 0.20.10", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -2838,7 +2716,21 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "asn1-rs", + "asn1-rs 0.5.2", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "der-parser" +version = "9.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" +dependencies = [ + "asn1-rs 0.6.2", "displaydoc", "nom", "num-bigint", @@ -2868,24 +2760,24 @@ dependencies = [ [[package]] name = "derive-syn-parse" -version = "0.1.5" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.75", ] [[package]] -name = "derive-syn-parse" -version = "0.2.0" +name = "derive-where" +version = "1.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" +checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -2898,7 +2790,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -2946,7 +2838,7 @@ dependencies = [ "block-buffer 0.10.4", "const-oid", "crypto-common", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] @@ -3009,23 +2901,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", -] - -[[package]] -name = "dleq_vrf" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-scale", - "ark-secret-scalar", - "ark-serialize", - "ark-std", - "ark-transcript", - "arrayvec 0.7.4", - "zeroize", + "syn 2.0.75", ] [[package]] @@ -3044,14 +2920,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a081e51fb188742f5a7a1164ad752121abcb22874b21e2c3b0dd040c515fdad" dependencies = [ "common-path", - "derive-syn-parse 0.2.0", + "derive-syn-parse", "once_cell", "proc-macro2", "quote", "regex", - "syn 2.0.68", + "syn 2.0.75", "termcolor", - "toml 0.8.14", + "toml 0.8.19", "walkdir", ] @@ -3116,6 +2992,7 @@ dependencies = [ "digest 0.10.7", "elliptic-curve", "rfc6979", + "serdect", "signature", "spki", ] @@ -3141,7 +3018,7 @@ dependencies = [ "rand_core 0.6.4", "serde", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.6.1", "zeroize", ] @@ -3198,7 +3075,8 @@ dependencies = [ "pkcs8", "rand_core 0.6.4", "sec1", - "subtle 2.4.1", + "serdect", + "subtle 2.6.1", "zeroize", ] @@ -3220,6 +3098,18 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "enum-as-inner" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.75", +] + [[package]] name = "enumflags2" version = "0.7.10" @@ -3237,18 +3127,18 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "enumn" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" +checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3372,7 +3262,17 @@ checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" dependencies = [ "concurrent-queue", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "pin-project-lite", ] [[package]] @@ -3383,7 +3283,7 @@ checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -3393,7 +3293,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ "event-listener 5.3.1", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -3463,18 +3363,6 @@ dependencies = [ "futures", ] -[[package]] -name = "expander" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a718c0675c555c5f976fff4ea9e2c150fa06cefa201cadef87cfbf9324075881" -dependencies = [ - "blake3", - "fs-err", - "proc-macro2", - "quote", -] - [[package]] name = "expander" version = "2.2.1" @@ -3487,7 +3375,7 @@ dependencies = [ "prettyplease 0.2.20", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3498,20 +3386,20 @@ checksum = "fe5e43d0f78a42ad591453aedb1d7ae631ce7ee445c7643691055a9ed8d3b01c" dependencies = [ "log", "once_cell", - "rand 0.8.5", + "rand", ] [[package]] -name = "fake-simd" -version = "0.1.2" +name = "fallible-iterator" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fallible-iterator" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] name = "fastrand" @@ -3530,9 +3418,9 @@ checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fatality" -version = "0.0.6" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad875162843b0d046276327afe0136e9ed3a23d5a754210fb6f1f33610d39ab" +checksum = "ec6f82451ff7f0568c6181287189126d492b5654e30a788add08027b6363d019" dependencies = [ "fatality-proc-macro", "thiserror", @@ -3540,37 +3428,36 @@ dependencies = [ [[package]] name = "fatality-proc-macro" -version = "0.0.6" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5aa1e3ae159e592ad222dc90c5acbad632b527779ba88486abe92782ab268bd" +checksum = "eb42427514b063d97ce21d5199f36c0c307d981434a6be32582bc79fe5bd2303" dependencies = [ - "expander 0.0.4", - "indexmap 1.9.3", - "proc-macro-crate 1.1.3", + "expander", + "indexmap 2.4.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 1.0.109", - "thiserror", + "syn 2.0.75", ] [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "async-trait", "fp-storage", "parity-scale-codec", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "fc-cli" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ - "clap 4.5.7", + "clap 4.5.16", "ethereum-types", "fc-db", "fp-rpc", @@ -3580,13 +3467,13 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", ] [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "async-trait", "fp-consensus", @@ -3595,14 +3482,14 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-consensus", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "thiserror", ] [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "async-trait", "ethereum", @@ -3622,10 +3509,9 @@ dependencies = [ "smallvec", "sp-api", "sp-blockchain", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-database", - "sp-runtime 31.0.1", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", "sqlx", "tokio", ] @@ -3633,7 +3519,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fc-db", "fc-storage", @@ -3648,15 +3534,15 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", "tokio", ] [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -3670,18 +3556,17 @@ dependencies = [ "fp-storage", "futures", "hex", - "jsonrpsee", + "jsonrpsee 0.23.2", "libsecp256k1", "log", "pallet-evm", "parity-scale-codec", "prometheus", - "rand 0.8.5", + "rand", "rlp", "sc-client-api", "sc-consensus-aura", "sc-network", - "sc-network-common", "sc-network-sync", "sc-rpc", "sc-service", @@ -3695,13 +3580,13 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-aura", - "sp-core 28.0.0", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-externalities 0.29.0", "sp-inherents", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-storage 21.0.0", "sp-timestamp", "substrate-prometheus-endpoint", "thiserror", @@ -3711,22 +3596,22 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", - "jsonrpsee", + "jsonrpsee 0.23.2", "rlp", "rustc-hex", "serde", "serde_json", - "sp-core-hashing 15.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", ] [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -3735,10 +3620,9 @@ dependencies = [ "parity-scale-codec", "sc-client-api", "sp-api", - "sp-blockchain", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-storage 21.0.0", ] [[package]] @@ -3758,20 +3642,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ "rand_core 0.6.4", - "subtle 2.4.1", -] - -[[package]] -name = "fflonk" -version = "0.1.0" -source = "git+https://github.com/w3f/fflonk#1e854f35e9a65d08b11a86291405cdc95baa0a35" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "merlin 3.0.0", + "subtle 2.6.1", ] [[package]] @@ -3802,14 +3673,14 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", + "libredox", + "windows-sys 0.59.0", ] [[package]] @@ -3828,6 +3699,16 @@ dependencies = [ "scale-info", ] +[[package]] +name = "finito" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2384245d85162258a14b43567a9ee3598f5ae746a1581fb5d3d2cb780f0dbf95" +dependencies = [ + "futures-timer", + "pin-project", +] + [[package]] name = "fixed-hash" version = "0.8.0" @@ -3835,7 +3716,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand", "rustc-hex", "static_assertions", ] @@ -3852,17 +3733,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flate2" -version = "1.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" -dependencies = [ - "crc32fast", - "libz-sys", - "miniz_oxide", -] - [[package]] name = "float-cmp" version = "0.9.0" @@ -3906,8 +3776,8 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" -version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", ] @@ -3921,10 +3791,20 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "forwarded-header-value" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835f84f38484cc86f110a805655697908257fb9a7af005234060891557198e9" +dependencies = [ + "nonempty", + "thiserror", +] + [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "hex", "impl-serde", @@ -3933,52 +3813,50 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-runtime-interface 28.0.0", + "staging-xcm", ] [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "parity-scale-codec", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "fp-dynamic-fee" version = "1.0.0" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "async-trait", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", ] [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", "fp-evm", "frame-support", "parity-scale-codec", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "evm", "frame-support", @@ -3986,15 +3864,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -4002,28 +3879,27 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", ] [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "frame-support", "parity-scale-codec", "scale-info", "serde", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", ] [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "parity-scale-codec", "serde", @@ -4037,8 +3913,8 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-support-procedural", @@ -4050,39 +3926,39 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 30.0.0", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-runtime-interface 28.0.0", + "sp-storage 21.0.0", "static_assertions", ] [[package]] name = "frame-benchmarking-cli" -version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "42.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "Inflector", - "array-bytes 6.2.3", + "array-bytes", "chrono", - "clap 4.5.7", + "clap 4.5.16", "comfy-table", "frame-benchmarking", "frame-support", "frame-system", "gethostname", "handlebars", - "itertools 0.10.5", + "itertools 0.11.0", "lazy_static", "linked-hash-map", "log", "parity-scale-codec", - "rand 0.8.5", + "rand", "rand_pcg", "sc-block-builder", + "sc-chain-spec", "sc-cli", "sc-client-api", "sc-client-db", @@ -4093,65 +3969,65 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-database", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-externalities 0.29.0", + "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-storage 21.0.0", + "sp-trie 37.0.0", + "sp-wasm-interface 21.0.0", "thiserror", "thousands", ] [[package]] name = "frame-election-provider-solution-type" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "14.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "frame-election-provider-support" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", "sp-npos-elections", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "frame-executive" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ + "aquamarine", "frame-support", "frame-system", "frame-try-runtime", "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-tracing 17.0.0", ] [[package]] @@ -4179,48 +4055,26 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.5.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "docify", "frame-support", "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", -] - -[[package]] -name = "frame-remote-externalities" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" -dependencies = [ - "futures", - "indicatif", - "jsonrpsee", - "log", - "parity-scale-codec", - "serde", - "sp-core 28.0.0", - "sp-crypto-hashing", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "spinners", - "substrate-rpc-client", - "tokio", - "tokio-retry", + "sp-runtime 39.0.0", ] [[package]] name = "frame-support" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "aquamarine", - "array-bytes 6.2.3", + "array-bytes", "bitflags 1.3.2", "docify", "environmental", @@ -4237,69 +4091,69 @@ dependencies = [ "serde_json", "smallvec", "sp-api", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", "sp-crypto-hashing-proc-macro", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io 38.0.0", "sp-metadata-ir", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-staking", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-weights 27.0.0", + "sp-state-machine 0.43.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-tracing 17.0.0", + "sp-weights 31.0.0", "static_assertions", "tt-call", ] [[package]] name = "frame-support-procedural" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "30.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "Inflector", "cfg-expr", - "derive-syn-parse 0.1.5", - "expander 2.2.1", + "derive-syn-parse", + "expander", "frame-support-procedural-tools", - "itertools 0.10.5", + "itertools 0.11.0", "macro_magic", - "proc-macro-warning", + "proc-macro-warning 1.0.2", "proc-macro2", "quote", - "sp-crypto-hashing", - "syn 2.0.68", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "syn 2.0.75", ] [[package]] name = "frame-support-procedural-tools" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "frame-support-procedural-tools-derive" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "frame-system" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "cfg-if", "docify", @@ -4308,48 +4162,47 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "sp-version", - "sp-weights 27.0.0", + "sp-weights 31.0.0", ] [[package]] name = "frame-system-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "frame-system-rpc-runtime-api" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ + "docify", "parity-scale-codec", "sp-api", ] [[package]] name = "frame-try-runtime" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "parity-scale-codec", "sp-api", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] @@ -4402,6 +4255,16 @@ dependencies = [ "futures-util", ] +[[package]] +name = "futures-bounded" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b07bbbe7d7e78809544c6f718d875627addc73a7c3582447abc052cd3dc67e0" +dependencies = [ + "futures-timer", + "futures-util", +] + [[package]] name = "futures-channel" version = "0.3.30" @@ -4458,7 +4321,7 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", "waker-fn", ] @@ -4472,7 +4335,7 @@ dependencies = [ "futures-core", "futures-io", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -4483,18 +4346,17 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "futures-rustls" -version = "0.22.2" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" +checksum = "35bd3cf68c183738046838e300353e4716c674dc5e56890de4826801a6622a28" dependencies = [ "futures-io", - "rustls 0.20.9", - "webpki", + "rustls 0.21.12", ] [[package]] @@ -4528,7 +4390,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.14", + "pin-project-lite", "pin-utils", "slab", ] @@ -4572,17 +4434,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - [[package]] name = "getrandom" version = "0.2.15" @@ -4591,7 +4442,7 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -4600,7 +4451,7 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "rand 0.8.5", + "rand", "rand_core 0.6.4", ] @@ -4620,11 +4471,21 @@ version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" dependencies = [ - "fallible-iterator", + "fallible-iterator 0.2.0", "indexmap 1.9.3", "stable_deref_trait", ] +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +dependencies = [ + "fallible-iterator 0.3.0", + "stable_deref_trait", +] + [[package]] name = "gimli" version = "0.29.0" @@ -4661,6 +4522,26 @@ dependencies = [ "walkdir", ] +[[package]] +name = "governor" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +dependencies = [ + "cfg-if", + "dashmap", + "futures", + "futures-timer", + "no-std-compat", + "nonzero_ext", + "parking_lot 0.12.3", + "portable-atomic", + "quanta", + "rand", + "smallvec", + "spinning_top", +] + [[package]] name = "group" version = "0.13.0" @@ -4669,7 +4550,7 @@ checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] @@ -4683,8 +4564,27 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http", - "indexmap 2.2.6", + "http 0.2.12", + "indexmap 2.4.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -4693,9 +4593,9 @@ dependencies = [ [[package]] name = "handlebars" -version = "4.5.0" +version = "5.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225" +checksum = "d08485b96a0e6393e9e4d1b8d48cf74ad6c063cd905eb33f42c1ce3f0377539b" dependencies = [ "log", "pest", @@ -4809,6 +4709,12 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hex-conservative" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" + [[package]] name = "hex-literal" version = "0.4.1" @@ -4834,16 +4740,6 @@ dependencies = [ "digest 0.9.0", ] -[[package]] -name = "hmac" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" -dependencies = [ - "crypto-mac 0.11.1", - "digest 0.9.0", -] - [[package]] name = "hmac" version = "0.12.1" @@ -4895,6 +4791,17 @@ dependencies = [ "itoa", ] +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http-body" version = "0.4.6" @@ -4902,15 +4809,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http", - "pin-project-lite 0.2.14", + "http 0.2.12", + "pin-project-lite", ] [[package]] -name = "http-range-header" -version = "0.3.1" +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "pin-project-lite", +] [[package]] name = "httparse" @@ -4941,21 +4865,21 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.14", + "pin-project-lite", "socket2 0.5.7", "tokio", "tower-service", @@ -4963,6 +4887,26 @@ dependencies = [ "want", ] +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", +] + [[package]] name = "hyper-rustls" version = "0.24.2" @@ -4970,13 +4914,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http", - "hyper", + "http 0.2.12", + "hyper 0.14.30", "log", "rustls 0.21.12", - "rustls-native-certs", + "rustls-native-certs 0.6.3", + "tokio", + "tokio-rustls 0.24.1", +] + +[[package]] +name = "hyper-util" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.4.1", + "pin-project-lite", "tokio", - "tokio-rustls", + "tower", + "tower-service", ] [[package]] @@ -5019,6 +4980,16 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "idna" version = "0.5.0" @@ -5045,7 +5016,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" dependencies = [ - "async-io 2.3.3", + "async-io 2.3.4", "core-foundation", "fnv", "futures", @@ -5058,6 +5029,25 @@ dependencies = [ "windows", ] +[[package]] +name = "igd-next" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" +dependencies = [ + "async-trait", + "attohttpc", + "bytes", + "futures", + "http 0.2.12", + "hyper 0.14.30", + "log", + "rand", + "tokio", + "url", + "xmltree", +] + [[package]] name = "ignore" version = "0.4.22" @@ -5158,9 +5148,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -5172,19 +5162,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" -[[package]] -name = "indicatif" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" -dependencies = [ - "console", - "instant", - "number_prefix", - "portable-atomic", - "unicode-width", -] - [[package]] name = "inout" version = "0.1.3" @@ -5268,11 +5245,11 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.4.0", "libc", "windows-sys 0.52.0", ] @@ -5288,9 +5265,9 @@ dependencies = [ [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -5325,97 +5302,177 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +[[package]] +name = "jni" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] [[package]] -name = "jsonrpsee" -version = "0.20.3" +name = "jsonrpsee" +version = "0.22.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfdb12a2381ea5b2e68c3469ec604a007b367778cdb14d09612c8069ebd616ad" +dependencies = [ + "jsonrpsee-client-transport 0.22.5", + "jsonrpsee-core 0.22.5", + "jsonrpsee-http-client", + "jsonrpsee-types 0.22.5", +] + +[[package]] +name = "jsonrpsee" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b089779ad7f80768693755a031cc14a7766aba707cbe886674e3f79e9b7e47" +dependencies = [ + "jsonrpsee-core 0.23.2", + "jsonrpsee-proc-macros", + "jsonrpsee-server", + "jsonrpsee-types 0.23.2", + "jsonrpsee-ws-client", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.22.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4978087a58c3ab02efc5b07c5e5e2803024536106fd5506f558db172c889b3aa" +dependencies = [ + "futures-util", + "http 0.2.12", + "jsonrpsee-core 0.22.5", + "pin-project", + "rustls-native-certs 0.7.2", + "rustls-pki-types", + "soketto 0.7.1", + "thiserror", + "tokio", + "tokio-rustls 0.25.0", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "affdc52f7596ccb2d7645231fc6163bb314630c989b64998f3699a28b4d5d4dc" +checksum = "08163edd8bcc466c33d79e10f695cdc98c00d1e6ddfb95cec41b6b0279dd5432" dependencies = [ - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-http-client", - "jsonrpsee-proc-macros", - "jsonrpsee-server", - "jsonrpsee-types", - "jsonrpsee-ws-client", + "base64 0.22.1", + "futures-util", + "http 1.1.0", + "jsonrpsee-core 0.23.2", + "pin-project", + "rustls 0.23.12", + "rustls-pki-types", + "rustls-platform-verifier", + "soketto 0.8.0", + "thiserror", "tokio", + "tokio-rustls 0.26.0", + "tokio-util", "tracing", + "url", ] [[package]] -name = "jsonrpsee-client-transport" -version = "0.20.3" +name = "jsonrpsee-core" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b005c793122d03217da09af68ba9383363caa950b90d3436106df8cabce935" +checksum = "b4b257e1ec385e07b0255dde0b933f948b5c8b8c28d42afda9587c3a967b896d" dependencies = [ + "anyhow", + "async-trait", + "beef", + "futures-timer", "futures-util", - "http", - "jsonrpsee-core", + "hyper 0.14.30", + "jsonrpsee-types 0.22.5", "pin-project", - "rustls-native-certs", - "soketto", + "rustc-hash", + "serde", + "serde_json", "thiserror", "tokio", - "tokio-rustls", - "tokio-util", + "tokio-stream", "tracing", - "url", ] [[package]] name = "jsonrpsee-core" -version = "0.20.3" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2327ba8df2fdbd5e897e2b5ed25ce7f299d345b9736b6828814c3dbd1fd47b" +checksum = "79712302e737d23ca0daa178e752c9334846b08321d439fd89af9a384f8c830b" dependencies = [ "anyhow", - "async-lock 2.8.0", "async-trait", "beef", + "bytes", "futures-timer", "futures-util", - "hyper", - "jsonrpsee-types", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "jsonrpsee-types 0.23.2", "parking_lot 0.12.3", - "rand 0.8.5", + "pin-project", + "rand", "rustc-hash", "serde", "serde_json", - "soketto", "thiserror", "tokio", + "tokio-stream", "tracing", ] [[package]] name = "jsonrpsee-http-client" -version = "0.20.3" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f80c17f62c7653ce767e3d7288b793dfec920f97067ceb189ebdd3570f2bc20" +checksum = "1ccf93fc4a0bfe05d851d37d7c32b7f370fe94336b52a2f0efc5f1981895c2e5" dependencies = [ "async-trait", - "hyper", + "hyper 0.14.30", "hyper-rustls", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.22.5", + "jsonrpsee-types 0.22.5", "serde", "serde_json", "thiserror", @@ -5427,32 +5484,37 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.20.3" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29110019693a4fa2dbda04876499d098fa16d70eba06b1e6e2b3f1b251419515" +checksum = "7895f186d5921065d96e16bd795e5ca89ac8356ec423fafc6e3d7cf8ec11aee4" dependencies = [ - "heck 0.4.1", - "proc-macro-crate 1.1.3", + "heck 0.5.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.75", ] [[package]] name = "jsonrpsee-server" -version = "0.20.3" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82c39a00449c9ef3f50b84fc00fc4acba20ef8f559f07902244abf4c15c5ab9c" +checksum = "654afab2e92e5d88ebd8a39d6074483f3f2bfdf91c5ac57fe285e7127cdd4f51" dependencies = [ + "anyhow", "futures-util", - "http", - "hyper", - "jsonrpsee-core", - "jsonrpsee-types", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "jsonrpsee-core 0.23.2", + "jsonrpsee-types 0.23.2", + "pin-project", "route-recognizer", "serde", "serde_json", - "soketto", + "soketto 0.8.0", "thiserror", "tokio", "tokio-stream", @@ -5463,28 +5525,40 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.20.3" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be0be325642e850ed0bdff426674d2e66b2b7117c9be23a7caef68a2902b7d9" +checksum = "150d6168405890a7a3231a3c74843f58b8959471f6df76078db2619ddee1d07d" dependencies = [ "anyhow", "beef", "serde", "serde_json", "thiserror", - "tracing", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c465fbe385238e861fdc4d1c85e04ada6c1fd246161d26385c1b311724d2af" +dependencies = [ + "beef", + "http 1.1.0", + "serde", + "serde_json", + "thiserror", ] [[package]] name = "jsonrpsee-ws-client" -version = "0.20.3" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bca9cb3933ccae417eb6b08c3448eb1cb46e39834e5b503e395e5e5bd08546c0" +checksum = "1c28759775f5cb2f1ea9667672d3fe2b0e701d1f4b7b67954e60afe7fd058b5e" dependencies = [ - "http", - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", + "http 1.1.0", + "jsonrpsee-client-transport 0.23.2", + "jsonrpsee-core 0.23.2", + "jsonrpsee-types 0.23.2", "url", ] @@ -5498,6 +5572,7 @@ dependencies = [ "ecdsa", "elliptic-curve", "once_cell", + "serdect", "sha2 0.10.8", ] @@ -5577,18 +5652,18 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libloading" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -5599,14 +5674,15 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libp2p" -version = "0.51.4" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f35eae38201a993ece6bdc823292d6abd1bffed1c4d0f4a3517d2bd8e1d917fe" +checksum = "e94495eb319a85b70a68b85e2389a95bb3555c71c49025b78c691a854a7e6464" dependencies = [ "bytes", + "either", "futures", "futures-timer", - "getrandom 0.2.15", + "getrandom", "instant", "libp2p-allow-block-list", "libp2p-connection-limits", @@ -5623,18 +5699,21 @@ dependencies = [ "libp2p-request-response", "libp2p-swarm", "libp2p-tcp", + "libp2p-upnp", "libp2p-wasm-ext", "libp2p-websocket", "libp2p-yamux", - "multiaddr", + "multiaddr 0.18.1", "pin-project", + "rw-stream-sink", + "thiserror", ] [[package]] name = "libp2p-allow-block-list" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50" +checksum = "55b46558c5c0bf99d3e2a1a38fd54ff5476ca66dd1737b12466a1824dd219311" dependencies = [ "libp2p-core", "libp2p-identity", @@ -5644,9 +5723,9 @@ dependencies = [ [[package]] name = "libp2p-connection-limits" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4caa33f1d26ed664c4fe2cca81a08c8e07d4c1c04f2f4ac7655c2dd85467fda0" +checksum = "2f5107ad45cb20b2f6c3628c7b6014b996fcb13a88053f4569c872c6e30abf58" dependencies = [ "libp2p-core", "libp2p-identity", @@ -5656,9 +5735,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.39.2" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c1df63c0b582aa434fb09b2d86897fa2b419ffeccf934b36f87fcedc8e835c2" +checksum = "dd44289ab25e4c9230d9246c475a22241e301b23e8f4061d3bdef304a1a99713" dependencies = [ "either", "fnv", @@ -5667,29 +5746,31 @@ dependencies = [ "instant", "libp2p-identity", "log", - "multiaddr", - "multihash 0.17.0", + "multiaddr 0.18.1", + "multihash 0.19.1", "multistream-select", "once_cell", "parking_lot 0.12.3", "pin-project", "quick-protobuf", - "rand 0.8.5", + "rand", "rw-stream-sink", "smallvec", "thiserror", - "unsigned-varint", + "unsigned-varint 0.7.2", "void", ] [[package]] name = "libp2p-dns" -version = "0.39.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146ff7034daae62077c415c2376b8057368042df6ab95f5432ad5e88568b1554" +checksum = "e6a18db73084b4da2871438f6239fef35190b05023de7656e877c18a00541a3b" dependencies = [ + "async-trait", "futures", "libp2p-core", + "libp2p-identity", "log", "parking_lot 0.12.3", "smallvec", @@ -5698,19 +5779,20 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.42.2" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c" +checksum = "45a96638a0a176bec0a4bcaebc1afa8cf909b114477209d7456ade52c61cd9cd" dependencies = [ "asynchronous-codec", "either", "futures", + "futures-bounded", "futures-timer", "libp2p-core", "libp2p-identity", "libp2p-swarm", "log", - "lru 0.10.1", + "lru 0.12.4", "quick-protobuf", "quick-protobuf-codec", "smallvec", @@ -5720,29 +5802,29 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.1.3" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276bb57e7af15d8f100d3c11cbdd32c6752b7eef4ba7a18ecf464972c07abcce" +checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" dependencies = [ - "bs58 0.4.0", + "bs58 0.5.1", "ed25519-dalek", - "log", - "multiaddr", - "multihash 0.17.0", + "hkdf", + "multihash 0.19.1", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "thiserror", + "tracing", "zeroize", ] [[package]] name = "libp2p-kad" -version = "0.43.3" +version = "0.44.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff" +checksum = "16ea178dabba6dde6ffc260a8e0452ccdc8f79becf544946692fff9d412fc29d" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "asynchronous-codec", "bytes", "either", @@ -5755,20 +5837,21 @@ dependencies = [ "libp2p-swarm", "log", "quick-protobuf", - "rand 0.8.5", + "quick-protobuf-codec", + "rand", "sha2 0.10.8", "smallvec", "thiserror", "uint", - "unsigned-varint", + "unsigned-varint 0.7.2", "void", ] [[package]] name = "libp2p-mdns" -version = "0.43.1" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19983e1f949f979a928f2c603de1cf180cc0dc23e4ac93a62651ccb18341460b" +checksum = "42a2567c305232f5ef54185e9604579a894fd0674819402bb0ac0246da82f52a" dependencies = [ "data-encoding", "futures", @@ -5777,73 +5860,79 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "smallvec", - "socket2 0.4.10", + "socket2 0.5.7", "tokio", - "trust-dns-proto", + "trust-dns-proto 0.22.0", "void", ] [[package]] name = "libp2p-metrics" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a42ec91e227d7d0dafa4ce88b333cdf5f277253873ab087555c92798db2ddd46" +checksum = "239ba7d28f8d0b5d77760dc6619c05c7e88e74ec8fbbe97f856f20a56745e620" dependencies = [ + "instant", "libp2p-core", "libp2p-identify", + "libp2p-identity", "libp2p-kad", "libp2p-ping", "libp2p-swarm", + "once_cell", "prometheus-client", ] [[package]] name = "libp2p-noise" -version = "0.42.2" +version = "0.43.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e" +checksum = "d2eeec39ad3ad0677551907dd304b2f13f17208ccebe333bef194076cd2e8921" dependencies = [ "bytes", - "curve25519-dalek 3.2.0", + "curve25519-dalek 4.1.3", "futures", "libp2p-core", "libp2p-identity", "log", + "multiaddr 0.18.1", + "multihash 0.19.1", "once_cell", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "snow", "static_assertions", "thiserror", - "x25519-dalek 1.1.1", + "x25519-dalek", "zeroize", ] [[package]] name = "libp2p-ping" -version = "0.42.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e57759c19c28a73ef1eb3585ca410cefb72c1a709fcf6de1612a378e4219202" +checksum = "e702d75cd0827dfa15f8fd92d15b9932abe38d10d21f47c50438c71dd1b5dae3" dependencies = [ "either", "futures", "futures-timer", "instant", "libp2p-core", + "libp2p-identity", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "void", ] [[package]] name = "libp2p-quic" -version = "0.7.0-alpha.3" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6b26abd81cd2398382a1edfe739b539775be8a90fa6914f39b2ab49571ec735" +checksum = "130d451d83f21b81eb7b35b360bc7972aeafb15177784adc56528db082e6b927" dependencies = [ "bytes", "futures", @@ -5854,18 +5943,20 @@ dependencies = [ "libp2p-tls", "log", "parking_lot 0.12.3", - "quinn-proto", - "rand 0.8.5", - "rustls 0.20.9", + "quinn 0.10.2", + "rand", + "ring 0.16.20", + "rustls 0.21.12", + "socket2 0.5.7", "thiserror", "tokio", ] [[package]] name = "libp2p-request-response" -version = "0.24.1" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffdb374267d42dc5ed5bc53f6e601d4a64ac5964779c6e40bb9e4f14c1e30d5" +checksum = "d8e3b4d67870478db72bac87bfc260ee6641d0734e0e3e275798f089c3fecfd4" dependencies = [ "async-trait", "futures", @@ -5873,15 +5964,17 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "log", + "rand", "smallvec", + "void", ] [[package]] name = "libp2p-swarm" -version = "0.42.2" +version = "0.43.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903b3d592d7694e56204d211f29d31bc004be99386644ba8731fc3e3ef27b296" +checksum = "580189e0074af847df90e75ef54f3f30059aedda37ea5a1659e8b9fca05c0141" dependencies = [ "either", "fnv", @@ -5892,7 +5985,9 @@ dependencies = [ "libp2p-identity", "libp2p-swarm-derive", "log", - "rand 0.8.5", + "multistream-select", + "once_cell", + "rand", "smallvec", "tokio", "void", @@ -5900,36 +5995,39 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" -version = "0.32.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f" +checksum = "c4d5ec2a3df00c7836d7696c136274c9c59705bac69133253696a6c932cd1d74" dependencies = [ "heck 0.4.1", + "proc-macro-warning 0.4.2", + "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.75", ] [[package]] name = "libp2p-tcp" -version = "0.39.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d33698596d7722d85d3ab0c86c2c322254fce1241e91208e3679b4eb3026cf" +checksum = "b558dd40d1bcd1aaaed9de898e9ec6a436019ecc2420dd0016e712fbb61c5508" dependencies = [ "futures", "futures-timer", "if-watch", "libc", "libp2p-core", + "libp2p-identity", "log", - "socket2 0.4.10", + "socket2 0.5.7", "tokio", ] [[package]] name = "libp2p-tls" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08d13d0dc66e5e9ba6279c1de417b84fa0d0adc3b03e5732928c180ec02781" +checksum = "8218d1d5482b122ccae396bbf38abdcb283ecc96fa54760e1dfd251f0546ac61" dependencies = [ "futures", "futures-rustls", @@ -5937,51 +6035,69 @@ dependencies = [ "libp2p-identity", "rcgen", "ring 0.16.20", - "rustls 0.20.9", + "rustls 0.21.12", + "rustls-webpki 0.101.7", "thiserror", - "webpki", - "x509-parser", + "x509-parser 0.15.1", "yasna", ] +[[package]] +name = "libp2p-upnp" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82775a47b34f10f787ad3e2a22e2c1541e6ebef4fe9f28f3ac553921554c94c1" +dependencies = [ + "futures", + "futures-timer", + "igd-next", + "libp2p-core", + "libp2p-swarm", + "log", + "tokio", + "void", +] + [[package]] name = "libp2p-wasm-ext" -version = "0.39.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77dff9d32353a5887adb86c8afc1de1a94d9e8c3bc6df8b2201d7cdf5c848f43" +checksum = "1e5d8e3a9e07da0ef5b55a9f26c009c8fb3c725d492d8bb4b431715786eea79c" dependencies = [ "futures", "js-sys", "libp2p-core", - "parity-send-wrapper", + "send_wrapper", "wasm-bindgen", "wasm-bindgen-futures", ] [[package]] name = "libp2p-websocket" -version = "0.41.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "111273f7b3d3510524c752e8b7a5314b7f7a1fee7e68161c01a7d72cbb06db9f" +checksum = "004ee9c4a4631435169aee6aad2f62e3984dc031c43b6d29731e8e82a016c538" dependencies = [ "either", "futures", "futures-rustls", "libp2p-core", + "libp2p-identity", "log", "parking_lot 0.12.3", - "quicksink", + "pin-project-lite", "rw-stream-sink", - "soketto", + "soketto 0.8.0", + "thiserror", "url", - "webpki-roots", + "webpki-roots 0.25.4", ] [[package]] name = "libp2p-yamux" -version = "0.43.1" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda" +checksum = "8eedcb62824c4300efb9cfd4e2a6edaf3ca097b9e68b36dabe45a44469fd6a85" dependencies = [ "futures", "libp2p-core", @@ -5998,6 +6114,7 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.6.0", "libc", + "redox_syscall 0.5.3", ] [[package]] @@ -6028,7 +6145,7 @@ dependencies = [ "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand 0.8.5", + "rand", "serde", "sha2 0.9.9", "typenum", @@ -6042,7 +6159,7 @@ checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" dependencies = [ "crunchy", "digest 0.9.0", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] @@ -6076,9 +6193,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.18" +version = "1.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" +checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" dependencies = [ "cc", "pkg-config", @@ -6148,6 +6265,61 @@ dependencies = [ "keystream", ] +[[package]] +name = "litep2p" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f46c51c205264b834ceed95c8b195026e700494bc3991aaba3b4ea9e20626d9" +dependencies = [ + "async-trait", + "bs58 0.4.0", + "bytes", + "cid 0.10.1", + "ed25519-dalek", + "futures", + "futures-timer", + "hex-literal", + "indexmap 2.4.0", + "libc", + "mockall 0.12.1", + "multiaddr 0.17.1", + "multihash 0.17.0", + "network-interface", + "nohash-hasher", + "parking_lot 0.12.3", + "pin-project", + "prost 0.12.6", + "prost-build 0.11.9", + "quinn 0.9.4", + "rand", + "rcgen", + "ring 0.16.20", + "rustls 0.20.9", + "serde", + "sha2 0.10.8", + "simple-dns", + "smallvec", + "snow", + "socket2 0.5.7", + "static_assertions", + "str0m", + "thiserror", + "tokio", + "tokio-stream", + "tokio-tungstenite", + "tokio-util", + "tracing", + "trust-dns-resolver", + "uint", + "unsigned-varint 0.8.0", + "url", + "webpki", + "x25519-dalek", + "x509-parser 0.16.0", + "yasna", + "zeroize", +] + [[package]] name = "lock_api" version = "0.4.12" @@ -6160,22 +6332,13 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" dependencies = [ "serde", ] -[[package]] -name = "lru" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" -dependencies = [ - "hashbrown 0.13.2", -] - [[package]] name = "lru" version = "0.11.1" @@ -6184,9 +6347,9 @@ checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" [[package]] name = "lru" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" dependencies = [ "hashbrown 0.14.5", ] @@ -6202,9 +6365,9 @@ dependencies = [ [[package]] name = "lz4" -version = "1.25.0" +version = "1.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6eab492fe7f8651add23237ea56dbf11b3c4ff762ab83d40a47f11433421f91" +checksum = "958b4caa893816eea05507c20cfe47574a43d9a697138a7872990bba8a0ece68" dependencies = [ "libc", "lz4-sys", @@ -6212,9 +6375,9 @@ dependencies = [ [[package]] name = "lz4-sys" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9764018d143cc854c9f17f0b907de70f14393b1f502da6375dce70f00514eb3" +checksum = "109de74d5d2353660401699a4174a4ff23fcc649caf553df71933c7fb45ad868" dependencies = [ "cc", "libc", @@ -6231,58 +6394,52 @@ dependencies = [ [[package]] name = "macro_magic" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03844fc635e92f3a0067e25fa4bf3e3dbf3f2927bf3aa01bb7bc8f1c428949d" +checksum = "cc33f9f0351468d26fbc53d9ce00a096c8522ecb42f19b50f34f2c422f76d21d" dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "macro_magic_core" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "468155613a44cfd825f1fb0ffa532b018253920d404e6fca1e8d43155198a46d" +checksum = "1687dc887e42f352865a393acae7cf79d98fab6351cde1f58e9e057da89bf150" dependencies = [ "const-random", - "derive-syn-parse 0.1.5", + "derive-syn-parse", "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "macro_magic_core_macros" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" +checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "macro_magic_macros" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" +checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.68", + "syn 2.0.75", ] -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - [[package]] name = "match_cfg" version = "0.1.0" @@ -6315,9 +6472,9 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matrixmultiply" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" +checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a" dependencies = [ "autocfg", "rawpointer", @@ -6357,17 +6514,17 @@ dependencies = [ "sc-telemetry", "schnellru", "sp-api", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-storage 21.0.0", "sp-timestamp", "substrate-prometheus-endpoint", "subxt", @@ -6388,6 +6545,7 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", + "frame-support", "futures", "log", "mp-coretime-common", @@ -6405,19 +6563,20 @@ dependencies = [ "sc-consensus-slots", "sc-service", "sc-telemetry", + "scale-info", "schnellru", "sp-api", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-storage 21.0.0", "sp-timestamp", "substrate-prometheus-endpoint", "subxt", @@ -6464,18 +6623,18 @@ dependencies = [ "sc-transaction-pool-api", "schnellru", "sp-api", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-storage 21.0.0", "sp-timestamp", "substrate-prometheus-endpoint", "subxt", @@ -6534,15 +6693,17 @@ dependencies = [ ] [[package]] -name = "merlin" -version = "2.0.1" +name = "merkleized-metadata" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" +checksum = "f313fcff1d2a4bcaa2deeaa00bf7530d77d5f7bd0467a117dde2e29a75a7a17a" dependencies = [ - "byteorder", - "keccak", - "rand_core 0.5.1", - "zeroize", + "array-bytes", + "blake3", + "frame-metadata 16.0.0", + "parity-scale-codec", + "scale-decode", + "scale-info", ] [[package]] @@ -6564,7 +6725,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69672161530e8aeca1d1400fbf3f1a1747ff60ea604265a4e906c2442df20532" dependencies = [ "futures", - "rand 0.8.5", + "rand", "thrift", ] @@ -6585,13 +6746,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.11" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ + "hermit-abi 0.3.9", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", + "wasi", + "windows-sys 0.52.0", ] [[package]] @@ -6601,7 +6763,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daa3eb39495d8e2e2947a1d862852c90cc6a4a8845f8b41c8829cb9fcc047f4a" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bitflags 1.3.2", "blake2 0.10.6", "c2-chacha", @@ -6611,18 +6773,18 @@ dependencies = [ "lioness", "log", "parking_lot 0.12.3", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "rand_distr", - "subtle 2.4.1", + "subtle 2.6.1", "thiserror", "zeroize", ] [[package]] name = "mmr-gadget" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", "log", @@ -6633,24 +6795,24 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-beefy", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-mmr-primitives", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", ] [[package]] name = "mmr-rpc" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.23.2", "parity-scale-codec", "serde", "sp-api", "sp-blockchain", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-mmr-primitives", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", ] [[package]] @@ -6663,8 +6825,23 @@ dependencies = [ "downcast", "fragile", "lazy_static", - "mockall_derive", - "predicates", + "mockall_derive 0.11.4", + "predicates 2.1.5", + "predicates-tree", +] + +[[package]] +name = "mockall" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48" +dependencies = [ + "cfg-if", + "downcast", + "fragile", + "lazy_static", + "mockall_derive 0.12.1", + "predicates 3.1.2", "predicates-tree", ] @@ -6680,10 +6857,22 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "mockall_derive" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn 2.0.75", +] + [[package]] name = "move-abigen" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "bcs 0.1.6", @@ -6700,7 +6889,7 @@ dependencies = [ [[package]] name = "move-binary-format" version = "0.0.3" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "hashbrown 0.14.5", @@ -6713,12 +6902,12 @@ dependencies = [ [[package]] name = "move-borrow-graph" version = "0.0.1" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" [[package]] name = "move-bytecode-source-map" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "bcs 0.1.6", @@ -6733,7 +6922,7 @@ dependencies = [ [[package]] name = "move-bytecode-verifier" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "fail", @@ -6747,7 +6936,7 @@ dependencies = [ [[package]] name = "move-command-line-common" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "difference", @@ -6765,7 +6954,7 @@ dependencies = [ [[package]] name = "move-compiler" version = "0.0.1" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "bcs 0.1.6", @@ -6795,7 +6984,7 @@ dependencies = [ [[package]] name = "move-core-types" version = "0.0.4" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "bcs 0.1.4", @@ -6805,7 +6994,7 @@ dependencies = [ "num", "parity-scale-codec", "primitive-types", - "rand 0.8.5", + "rand", "ref-cast", "scale-info", "serde", @@ -6816,7 +7005,7 @@ dependencies = [ [[package]] name = "move-coverage" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "bcs 0.1.6", @@ -6836,7 +7025,7 @@ dependencies = [ [[package]] name = "move-disassembler" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "clap 3.2.25", @@ -6854,7 +7043,7 @@ dependencies = [ [[package]] name = "move-docgen" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "codespan", @@ -6872,7 +7061,7 @@ dependencies = [ [[package]] name = "move-errmapgen" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "bcs 0.1.6", @@ -6886,7 +7075,7 @@ dependencies = [ [[package]] name = "move-ir-to-bytecode" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "codespan-reporting", @@ -6905,7 +7094,7 @@ dependencies = [ [[package]] name = "move-ir-to-bytecode-syntax" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "hex", @@ -6918,7 +7107,7 @@ dependencies = [ [[package]] name = "move-ir-types" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "hex", @@ -6932,7 +7121,7 @@ dependencies = [ [[package]] name = "move-model" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "codespan", @@ -6958,7 +7147,7 @@ dependencies = [ [[package]] name = "move-prover" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "async-trait", @@ -6984,7 +7173,7 @@ dependencies = [ "num", "once_cell", "pretty", - "rand 0.8.5", + "rand", "serde", "serde_json", "simplelog", @@ -6995,7 +7184,7 @@ dependencies = [ [[package]] name = "move-prover-boogie-backend" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "async-trait", @@ -7013,7 +7202,7 @@ dependencies = [ "num", "once_cell", "pretty", - "rand 0.8.5", + "rand", "regex", "serde", "serde_json", @@ -7024,7 +7213,7 @@ dependencies = [ [[package]] name = "move-read-write-set-types" version = "0.0.3" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "move-binary-format", @@ -7035,7 +7224,7 @@ dependencies = [ [[package]] name = "move-stackless-bytecode" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "codespan", "codespan-reporting", @@ -7062,7 +7251,7 @@ dependencies = [ [[package]] name = "move-stdlib" version = "0.1.1" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "blake2-rfc", "hex", @@ -7087,7 +7276,7 @@ dependencies = [ [[package]] name = "move-symbol-pool" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "once_cell", "serde", @@ -7096,7 +7285,7 @@ dependencies = [ [[package]] name = "move-vm-backend" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "bcs 0.1.4", @@ -7115,7 +7304,7 @@ dependencies = [ [[package]] name = "move-vm-backend-common" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "bcs 0.1.4", @@ -7135,7 +7324,7 @@ dependencies = [ [[package]] name = "move-vm-runtime" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "better_any", "fail", @@ -7151,7 +7340,7 @@ dependencies = [ [[package]] name = "move-vm-support" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "blake2 0.10.6", @@ -7162,7 +7351,7 @@ dependencies = [ [[package]] name = "move-vm-test-utils" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "anyhow", "lazy_static", @@ -7175,7 +7364,7 @@ dependencies = [ [[package]] name = "move-vm-types" version = "0.1.0" -source = "git+https://github.com/eigerco/substrate-move.git?branch=main#a5333a3db42bdd0e3839e48443e04d411eb198bc" +source = "git+https://github.com/eigerco/substrate-move.git?branch=main#5aeb04bb1b9125b30f38ec6167a810b882f6f59a" dependencies = [ "bcs 0.1.4", "move-binary-format", @@ -7199,15 +7388,15 @@ dependencies = [ "sp-api", "sp-consensus-aura", "sp-consensus-grandpa", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "sp-session", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", - "sp-weights 27.0.0", + "sp-state-machine 0.43.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-trie 37.0.0", + "sp-weights 31.0.0", ] [[package]] @@ -7224,15 +7413,15 @@ dependencies = [ "sp-api", "sp-consensus-aura", "sp-consensus-grandpa", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "sp-session", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", - "sp-weights 27.0.0", + "sp-state-machine 0.43.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-trie 37.0.0", + "sp-weights 31.0.0", ] [[package]] @@ -7251,15 +7440,15 @@ dependencies = [ "sp-api", "sp-consensus-aura", "sp-consensus-grandpa", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "sp-session", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", - "sp-weights 27.0.0", + "sp-state-machine 0.43.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-trie 37.0.0", + "sp-weights 31.0.0", ] [[package]] @@ -7268,9 +7457,15 @@ version = "0.1.0" dependencies = [ "frame-support", "sp-api", - "sp-core 28.0.0", + "sp-core 34.0.0", ] +[[package]] +name = "multi-stash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685a9ac4b61f4e728e1d2c6a7844609c16527aeb5e6c865915c08e619c16410f" + [[package]] name = "multiaddr" version = "0.17.1" @@ -7282,11 +7477,30 @@ dependencies = [ "data-encoding", "log", "multibase", - "multihash 0.17.0", + "multihash 0.17.0", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.7.2", + "url", +] + +[[package]] +name = "multiaddr" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b852bc02a2da5feed68cd14fa50d0774b92790a5bdbfa932a813926c8472070" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "libp2p-identity", + "multibase", + "multihash 0.19.1", "percent-encoding", "serde", "static_assertions", - "unsigned-varint", + "unsigned-varint 0.7.2", "url", ] @@ -7312,10 +7526,10 @@ dependencies = [ "blake3", "core2", "digest 0.10.7", - "multihash-derive 0.8.1", + "multihash-derive", "sha2 0.10.8", "sha3 0.10.8", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] @@ -7324,11 +7538,15 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfd8a792c1694c6da4f68db0a9d707c72bd260994da179e6030a5dcee00bb815" dependencies = [ + "blake2b_simd", + "blake2s_simd", + "blake3", "core2", "digest 0.10.7", - "multihash-derive 0.8.1", + "multihash-derive", "sha2 0.10.8", - "unsigned-varint", + "sha3 0.10.8", + "unsigned-varint 0.7.2", ] [[package]] @@ -7338,27 +7556,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" dependencies = [ "core2", - "unsigned-varint", -] - -[[package]] -name = "multihash-codetable" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6d815ecb3c8238d00647f8630ede7060a642c9f704761cd6082cb4028af6935" -dependencies = [ - "blake2b_simd", - "blake2s_simd", - "blake3", - "core2", - "digest 0.10.7", - "multihash-derive 0.9.0", - "ripemd", - "serde", - "sha1", - "sha2 0.10.8", - "sha3 0.10.8", - "strobe-rs", + "unsigned-varint 0.7.2", ] [[package]] @@ -7376,48 +7574,29 @@ dependencies = [ ] [[package]] -name = "multihash-derive" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "890e72cb7396cb99ed98c1246a97b243cc16394470d94e0bc8b0c2c11d84290e" -dependencies = [ - "core2", - "multihash 0.19.1", - "multihash-derive-impl", -] - -[[package]] -name = "multihash-derive-impl" -version = "0.1.1" +name = "multimap" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3958713ce794e12f7c6326fac9aa274c68d74c4881dd37b3e2662b8a2046bb19" -dependencies = [ - "proc-macro-crate 2.0.0", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.68", - "synstructure 0.13.1", -] +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "multimap" -version = "0.8.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "multistream-select" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" +checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" dependencies = [ "bytes", "futures", "log", "pin-project", "smallvec", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] @@ -7444,7 +7623,7 @@ checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -7453,7 +7632,7 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" dependencies = [ - "rand 0.8.5", + "rand", ] [[package]] @@ -7545,6 +7724,18 @@ dependencies = [ "tokio", ] +[[package]] +name = "network-interface" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a43439bf756eed340bdf8feba761e2d50c7d47175d87545cd5cbe4a137c4d1" +dependencies = [ + "cc", + "libc", + "thiserror", + "winapi", +] + [[package]] name = "nix" version = "0.24.3" @@ -7558,15 +7749,22 @@ dependencies = [ [[package]] name = "nix" -version = "0.27.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ "bitflags 2.6.0", "cfg-if", + "cfg_aliases 0.1.1", "libc", ] +[[package]] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" + [[package]] name = "no-std-net" version = "0.6.0" @@ -7595,6 +7793,18 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonempty" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" + +[[package]] +name = "nonzero_ext" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" + [[package]] name = "normalize-line-endings" version = "0.3.0" @@ -7627,9 +7837,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", @@ -7650,13 +7860,24 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.75", +] + [[package]] name = "num-format" version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "itoa", ] @@ -7713,31 +7934,25 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - [[package]] name = "object" version = "0.30.4" @@ -7752,9 +7967,18 @@ dependencies = [ [[package]] name = "object" -version = "0.36.0" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "object" +version = "0.36.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" dependencies = [ "memchr", ] @@ -7765,7 +7989,16 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "asn1-rs", + "asn1-rs 0.5.2", +] + +[[package]] +name = "oid-registry" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c958dd45046245b9c3c2547369bb634eb461670b2e7e0de552905801a648d1d" +dependencies = [ + "asn1-rs 0.6.2", ] [[package]] @@ -7788,9 +8021,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.64" +version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ "bitflags 2.6.0", "cfg-if", @@ -7809,7 +8042,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -7818,14 +8051,24 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +[[package]] +name = "openssl-src" +version = "300.3.1+3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" +dependencies = [ + "cc", +] + [[package]] name = "openssl-sys" -version = "0.9.102" +version = "0.9.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", + "openssl-src", "pkg-config", "vcpkg", ] @@ -7838,9 +8081,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orchestra" -version = "0.3.6" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92829eef0328a3d1cd22a02c0e51deb92a5362df3e7d21a4e9bdc38934694e66" +checksum = "41f6bbacc8c189a3f2e45e0fd0436e5d97f194db888e721bdbc3973e7dbed4c2" dependencies = [ "async-trait", "dyn-clonable", @@ -7855,12 +8098,12 @@ dependencies = [ [[package]] name = "orchestra-proc-macro" -version = "0.3.6" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1344346d5af32c95bbddea91b18a88cc83eac394192d20ef2fc4c40a74332355" +checksum = "f7b1d40dd8f367db3c65bec8d3dd47d4a604ee8874480738f93191bddab4e0e0" dependencies = [ - "expander 2.2.1", - "indexmap 2.2.6", + "expander", + "indexmap 2.4.0", "itertools 0.11.0", "petgraph 0.6.5", "proc-macro-crate 3.1.0", @@ -7915,41 +8158,40 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-asset-conversion" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", "sp-api", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-asset-rate" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-asset-tx-payment" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -7958,26 +8200,25 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-assets" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] @@ -7995,10 +8236,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", ] [[package]] @@ -8017,16 +8258,16 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", ] [[package]] name = "pallet-aura" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-system", @@ -8034,46 +8275,43 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-consensus-aura", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-authority-discovery" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-system", "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-authority-discovery", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-authorship" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-babe" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8084,20 +8322,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-consensus-babe", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-bags-list" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "aquamarine", "docify", @@ -8109,17 +8346,16 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-tracing 17.0.0", ] [[package]] name = "pallet-balances" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "docify", "frame-benchmarking", @@ -8128,28 +8364,27 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-beefy" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-system", @@ -8160,18 +8395,17 @@ dependencies = [ "scale-info", "serde", "sp-consensus-beefy", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-beefy-mmr" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "binary-merkle-tree", "frame-support", "frame-system", @@ -8184,17 +8418,16 @@ dependencies = [ "serde", "sp-api", "sp-consensus-beefy", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", ] [[package]] name = "pallet-bounties" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8203,27 +8436,27 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-broker" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitvec", "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-api", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] @@ -8252,17 +8485,17 @@ dependencies = [ "scale-info", "serde", "sp-consensus-aura", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-trie 37.0.0", "staging-xcm-builder", ] [[package]] name = "pallet-child-bounties" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8272,16 +8505,15 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-collator-selection" -version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8291,17 +8523,16 @@ dependencies = [ "pallet-balances", "pallet-session", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-collective" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8309,16 +8540,15 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-contracts" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitflags 1.3.2", "environmental", @@ -8331,48 +8561,49 @@ dependencies = [ "pallet-contracts-proc-macro", "pallet-contracts-uapi", "parity-scale-codec", - "rand 0.8.5", + "paste", + "rand", "rand_pcg", "scale-info", "serde", "smallvec", "sp-api", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "staging-xcm", "staging-xcm-builder", "wasm-instrument", - "wasmi", + "wasmi 0.32.3", ] [[package]] name = "pallet-contracts-proc-macro" -version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "23.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "pallet-contracts-uapi" -version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", "paste", - "polkavm-derive 0.5.0", + "polkavm-derive 0.9.1", "scale-info", ] [[package]] name = "pallet-conviction-voting" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "assert_matches", "frame-benchmarking", @@ -8381,15 +8612,27 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", +] + +[[package]] +name = "pallet-delegated-staking" +version = "4.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-runtime 39.0.0", + "sp-staking", ] [[package]] name = "pallet-democracy" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8398,16 +8641,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-dynamic-fee" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-dynamic-fee", "fp-evm", @@ -8415,15 +8657,14 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-election-provider-multi-phase" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8432,35 +8673,33 @@ dependencies = [ "log", "pallet-election-provider-support-benchmarking", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", "sp-npos-elections", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "strum 0.24.1", + "sp-runtime 39.0.0", + "strum 0.26.3", ] [[package]] name = "pallet-election-provider-support-benchmarking" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", "frame-system", "parity-scale-codec", "sp-npos-elections", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-elections-phragmen" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8468,18 +8707,17 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -8494,15 +8732,14 @@ dependencies = [ "pallet-evm", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "environmental", "evm", @@ -8512,23 +8749,20 @@ dependencies = [ "frame-support", "frame-system", "hash-db", - "hex", "hex-literal", "impl-trait-for-tuples", "log", "parity-scale-codec", - "rlp", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "frame-support", "frame-system", @@ -8539,7 +8773,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "num", @@ -8548,7 +8782,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "tiny-keccak", @@ -8557,11 +8791,11 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "ripemd", - "sp-io 30.0.0", + "sp-io 38.0.0", ] [[package]] @@ -8580,15 +8814,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-fast-unstake" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "docify", "frame-benchmarking", @@ -8598,16 +8832,15 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-grandpa" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8617,20 +8850,19 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-consensus-grandpa", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-hotfix-sufficients" version = "1.0.0" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "frame-benchmarking", "frame-support", @@ -8638,15 +8870,14 @@ dependencies = [ "pallet-evm", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-identity" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "enumflags2", "frame-benchmarking", @@ -8655,15 +8886,14 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-im-online" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8672,43 +8902,40 @@ dependencies = [ "pallet-authorship", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-indices" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", "sp-keyring", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-insecure-randomness-collective-flip" -version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "25.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "safe-mix", "scale-info", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] @@ -8731,10 +8958,10 @@ dependencies = [ "scale-info", "smallvec", "sp-consensus-aura", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -8742,8 +8969,8 @@ dependencies = [ [[package]] name = "pallet-membership" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8751,16 +8978,15 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-message-queue" -version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "40.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "environmental", "frame-benchmarking", @@ -8769,18 +8995,17 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-weights 27.0.0", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-weights 31.0.0", ] [[package]] name = "pallet-mmr" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8788,17 +9013,16 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", "sp-mmr-primitives", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-move" version = "0.1.0" -source = "git+https://github.com/Magport/pallet-move?branch=main#3c477380e724de6c0290694874cce999cfa768d8" +source = "git+https://github.com/Magport/pallet-move?branch=stable2407#26e4d0db3d58e108d495c4c32bf7fff880248b45" dependencies = [ "anyhow", "bcs 0.1.4", @@ -8816,30 +9040,30 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", ] [[package]] name = "pallet-move-rpc" version = "0.1.0" -source = "git+https://github.com/Magport/pallet-move?branch=main#3c477380e724de6c0290694874cce999cfa768d8" +source = "git+https://github.com/Magport/pallet-move?branch=stable2407#26e4d0db3d58e108d495c4c32bf7fff880248b45" dependencies = [ "frame-support", - "jsonrpsee", + "jsonrpsee 0.23.2", "pallet-move", "parity-scale-codec", "serde", "sp-api", "sp-blockchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-multisig" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8847,31 +9071,29 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-nis" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-nomination-pools" -version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-system", @@ -8879,49 +9101,47 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-tracing 17.0.0", ] [[package]] name = "pallet-nomination-pools-benchmarking" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", "pallet-bags-list", + "pallet-delegated-staking", "pallet-nomination-pools", "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", + "sp-runtime-interface 28.0.0", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-nomination-pools-runtime-api" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "32.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", "sp-api", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-offences" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-system", @@ -8930,15 +9150,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-offences-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8954,9 +9173,8 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] @@ -8985,14 +9203,31 @@ dependencies = [ "scale-info", "serde", "sp-consensus-aura", - "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", "sp-keyring", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", + "sp-runtime 39.0.0", + "sp-trie 37.0.0", "staging-xcm-builder", ] +[[package]] +name = "pallet-parameters" +version = "0.8.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "sp-core 34.0.0", + "sp-runtime 39.0.0", +] + [[package]] name = "pallet-pot" version = "0.1.0" @@ -9006,21 +9241,21 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", ] [[package]] name = "pallet-pot-rpc" version = "0.1.0" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.23.2", "pallet-pot-runtime-api", "sp-api", "sp-blockchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", ] [[package]] @@ -9029,7 +9264,7 @@ version = "0.1.0" dependencies = [ "scale-info", "sp-api", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", ] [[package]] @@ -9046,9 +9281,9 @@ dependencies = [ "parity-scale-codec", "precompile-utils", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] @@ -9068,17 +9303,17 @@ dependencies = [ "parity-scale-codec", "precompile-utils", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "staging-xcm", ] [[package]] name = "pallet-preimage" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9086,31 +9321,29 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-proxy" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-ranked-collective" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9119,32 +9352,30 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-recovery" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-referenda" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "assert_matches", "frame-benchmarking", @@ -9154,31 +9385,29 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 23.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-arithmetic 26.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-root-testing" -version = "4.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-scheduler" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "docify", "frame-benchmarking", @@ -9187,16 +9416,15 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-weights 27.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-weights 31.0.0", ] [[package]] name = "pallet-session" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-system", @@ -9205,20 +9433,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "sp-session", "sp-staking", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "sp-state-machine 0.43.0", + "sp-trie 37.0.0", ] [[package]] name = "pallet-session-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9226,34 +9453,32 @@ dependencies = [ "pallet-session", "pallet-staking", "parity-scale-codec", - "rand 0.8.5", - "sp-runtime 31.0.1", + "rand", + "sp-runtime 39.0.0", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-society" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", "parity-scale-codec", - "rand_chacha 0.2.2", + "rand_chacha", "scale-info", - "sp-arithmetic 23.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-arithmetic 26.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-staking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9263,40 +9488,39 @@ dependencies = [ "pallet-authorship", "pallet-session", "parity-scale-codec", - "rand_chacha 0.2.2", + "rand_chacha", "scale-info", "serde", - "sp-application-crypto 30.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-application-crypto 38.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "pallet-staking-reward-curve" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "pallet-staking-reward-fn" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "log", - "sp-arithmetic 23.0.0", + "sp-arithmetic 26.0.0", ] [[package]] name = "pallet-staking-runtime-api" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "sp-api", @@ -9305,8 +9529,8 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9314,16 +9538,15 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-sudo" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "docify", "frame-benchmarking", @@ -9331,15 +9554,14 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-timestamp" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "docify", "frame-benchmarking", @@ -9349,17 +9571,16 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-storage 21.0.0", "sp-timestamp", ] [[package]] name = "pallet-tips" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9369,60 +9590,58 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-transaction-payment" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-transaction-payment-rpc" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "40.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.23.2", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", "sp-api", "sp-blockchain", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-rpc", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-runtime 39.0.0", + "sp-weights 31.0.0", ] [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "sp-api", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-runtime 39.0.0", + "sp-weights 31.0.0", ] [[package]] name = "pallet-treasury" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "docify", "frame-benchmarking", @@ -9433,31 +9652,29 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-utility" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-vesting" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9465,14 +9682,13 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-whitelist" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9480,16 +9696,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "pallet-xcm" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "bounded-collections 0.2.0", + "bounded-collections", "frame-benchmarking", "frame-support", "frame-system", @@ -9498,19 +9713,19 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", + "xcm-runtime-apis", ] [[package]] name = "pallet-xcm-benchmarks" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9518,9 +9733,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -9530,8 +9744,7 @@ dependencies = [ name = "parachain-magnet-node" version = "0.6.0" dependencies = [ - "array-bytes 6.2.3", - "clap 4.5.7", + "clap 4.5.16", "color-print", "cumulus-client-cli", "cumulus-client-collator", @@ -9542,6 +9755,7 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", + "docify", "fc-api", "fc-cli", "fc-consensus", @@ -9555,29 +9769,23 @@ dependencies = [ "fp-rpc", "frame-benchmarking", "frame-benchmarking-cli", - "frame-system", "frame-system-rpc-runtime-api", "futures", - "hex-literal", - "jsonrpsee", + "jsonrpsee 0.23.2", "log", "mc-coretime-bulk", "mc-coretime-on-demand", "mp-coretime-bulk", "mp-coretime-on-demand", "mp-system", - "pallet-balances", "pallet-move-rpc", "pallet-pot-rpc", - "pallet-transaction-payment", "pallet-transaction-payment-rpc", "pallet-transaction-payment-rpc-runtime-api", "parachain-magnet-runtime", "parity-scale-codec", "polkadot-cli", "polkadot-primitives", - "polkadot-runtime-common", - "polkadot-runtime-parachains", "sc-basic-authorship", "sc-chain-spec", "sc-cli", @@ -9597,34 +9805,25 @@ dependencies = [ "sc-tracing", "sc-transaction-pool", "sc-transaction-pool-api", - "scale-info", - "schnellru", "serde", "serde_json", "sp-api", - "sp-application-crypto 30.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-io 30.0.0", - "sp-keystore 0.34.0", + "sp-io 38.0.0", + "sp-keystore 0.40.0", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "sp-timestamp", "sp-transaction-pool", - "sp-trie 29.0.0", "staging-xcm", "substrate-build-script-utils", "substrate-frame-rpc-system", "substrate-prometheus-endpoint", - "subxt", - "subxt-signer", - "tracing", - "url", ] [[package]] @@ -9638,8 +9837,9 @@ dependencies = [ "cumulus-pallet-xcmp-queue", "cumulus-primitives-aura", "cumulus-primitives-core", - "cumulus-primitives-timestamp", + "cumulus-primitives-storage-weight-reclaim", "cumulus-primitives-utility", + "docify", "fp-account", "fp-dynamic-fee", "fp-evm", @@ -9647,6 +9847,7 @@ dependencies = [ "fp-self-contained", "frame-benchmarking", "frame-executive", + "frame-metadata-hash-extension", "frame-support", "frame-system", "frame-system-benchmarking", @@ -9694,7 +9895,6 @@ dependencies = [ "pallet-referenda", "pallet-scheduler", "pallet-session", - "pallet-society", "pallet-sudo", "pallet-timestamp", "pallet-transaction-payment", @@ -9710,18 +9910,17 @@ dependencies = [ "scale-info", "smallvec", "sp-api", - "sp-arithmetic 23.0.0", + "sp-arithmetic 26.0.0", "sp-block-builder", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-genesis-builder", "sp-inherents", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "sp-transaction-pool", - "sp-trie 29.0.0", "sp-version", "staging-parachain-info", "staging-xcm", @@ -9732,8 +9931,8 @@ dependencies = [ [[package]] name = "parachains-common" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -9751,16 +9950,28 @@ dependencies = [ "polkadot-primitives", "scale-info", "sp-consensus-aura", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", "substrate-wasm-builder", ] +[[package]] +name = "parity-bip39" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" +dependencies = [ + "bitcoin_hashes 0.13.0", + "rand", + "rand_core 0.6.4", + "serde", + "unicode-normalization", +] + [[package]] name = "parity-db" version = "0.4.13" @@ -9776,7 +9987,7 @@ dependencies = [ "lz4", "memmap2 0.5.10", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "siphasher 0.3.11", "snap", "winapi", @@ -9788,7 +9999,7 @@ version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bitvec", "byte-slice-cast", "bytes", @@ -9809,12 +10020,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "parity-send-wrapper" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" - [[package]] name = "parity-wasm" version = "0.45.0" @@ -9870,9 +10075,9 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.2", + "redox_syscall 0.5.3", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -9891,19 +10096,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" [[package]] -name = "paste" -version = "1.0.15" +name = "password-hash" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle 2.6.1", +] [[package]] -name = "pbkdf2" -version = "0.8.0" +name = "paste" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" -dependencies = [ - "crypto-mac 0.11.1", -] +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pbkdf2" @@ -9912,6 +10119,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest 0.10.7", + "password-hash", ] [[package]] @@ -9937,9 +10145,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", "thiserror", @@ -9948,9 +10156,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" +checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" dependencies = [ "pest", "pest_generator", @@ -9958,22 +10166,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" +checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "pest_meta" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" +checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" dependencies = [ "once_cell", "pest", @@ -9997,7 +10205,7 @@ source = "git+https://github.com/eigerco/petgraph.git?branch=master#1d8299983104 dependencies = [ "fixedbitset 0.4.2", "hashbrown 0.14.5", - "indexmap 2.2.6", + "indexmap 2.4.0", ] [[package]] @@ -10007,7 +10215,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset 0.4.2", - "indexmap 2.2.6", + "indexmap 2.4.0", ] [[package]] @@ -10036,7 +10244,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ "phf_shared", - "rand 0.8.5", + "rand", ] [[package]] @@ -10065,14 +10273,8 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", -] - -[[package]] -name = "pin-project-lite" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" + "syn 2.0.75", +] [[package]] name = "pin-project-lite" @@ -10088,9 +10290,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", "fastrand 2.1.0", @@ -10115,13 +10317,13 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "polkadot-approval-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitvec", "futures", "futures-timer", - "itertools 0.10.5", + "itertools 0.11.0", "polkadot-node-jaeger", "polkadot-node-metrics", "polkadot-node-network-protocol", @@ -10129,14 +10331,14 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "tracing-gum", ] [[package]] name = "polkadot-availability-bitfield-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "always-assert", "futures", @@ -10145,14 +10347,14 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "tracing-gum", ] [[package]] name = "polkadot-availability-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "derive_more", "fatality", @@ -10164,18 +10366,19 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", + "sc-network", "schnellru", - "sp-core 28.0.0", - "sp-keystore 0.34.0", + "sp-core 34.0.0", + "sp-keystore 0.40.0", "thiserror", "tracing-gum", ] [[package]] name = "polkadot-availability-recovery" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "fatality", @@ -10187,7 +10390,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-network", "schnellru", "thiserror", @@ -10195,13 +10398,23 @@ dependencies = [ "tracing-gum", ] +[[package]] +name = "polkadot-ckb-merkle-mountain-range" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4b44320e5f7ce2c18227537a3032ae5b2c476a7e8eddba45333e1011fc31b92" +dependencies = [ + "cfg-if", + "itertools 0.10.5", +] + [[package]] name = "polkadot-cli" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "cfg-if", - "clap 4.5.7", + "clap 4.5.16", "frame-benchmarking-cli", "futures", "log", @@ -10214,19 +10427,19 @@ dependencies = [ "sc-storage-monitor", "sc-sysinfo", "sc-tracing", - "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", "sp-keyring", "sp-maybe-compressed-blob", + "sp-runtime 39.0.0", "substrate-build-script-utils", "thiserror", - "try-runtime-cli", ] [[package]] name = "polkadot-collator-protocol" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitvec", "fatality", @@ -10237,9 +10450,9 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "thiserror", "tokio-util", "tracing-gum", @@ -10247,26 +10460,25 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "polkadot-dispute-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "derive_more", "fatality", "futures", "futures-timer", - "indexmap 2.2.6", + "indexmap 2.4.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -10276,30 +10488,30 @@ dependencies = [ "polkadot-primitives", "sc-network", "schnellru", - "sp-application-crypto 30.0.0", - "sp-keystore 0.34.0", + "sp-application-crypto 38.0.0", + "sp-keystore 0.40.0", "thiserror", "tracing-gum", ] [[package]] name = "polkadot-erasure-coding" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", "polkadot-primitives", "reed-solomon-novelpoly", - "sp-core 28.0.0", - "sp-trie 29.0.0", + "sp-core 34.0.0", + "sp-trie 37.0.0", "thiserror", ] [[package]] name = "polkadot-gossip-support" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", "futures-timer", @@ -10307,21 +10519,21 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "sc-network", "sc-network-common", - "sp-application-crypto 30.0.0", - "sp-core 28.0.0", - "sp-crypto-hashing", - "sp-keystore 0.34.0", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-keystore 0.40.0", "tracing-gum", ] [[package]] name = "polkadot-network-bridge" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "always-assert", "async-trait", @@ -10343,8 +10555,8 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", "parity-scale-codec", @@ -10353,7 +10565,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-maybe-compressed-blob", "thiserror", "tracing-gum", @@ -10361,16 +10573,16 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitvec", "derive_more", "futures", "futures-timer", - "itertools 0.10.5", + "itertools 0.11.0", "kvdb", - "merlin 3.0.0", + "merlin", "parity-scale-codec", "polkadot-node-jaeger", "polkadot-node-primitives", @@ -10378,24 +10590,24 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "rand_core 0.6.4", "sc-keystore", "schnellru", "schnorrkel 0.11.4", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-consensus", "sp-consensus-slots", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "thiserror", "tracing-gum", ] [[package]] name = "polkadot-node-core-av-store" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitvec", "futures", @@ -10416,8 +10628,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitvec", "fatality", @@ -10428,21 +10640,22 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-primitives", "polkadot-statement-table", - "sp-keystore 0.34.0", + "schnellru", + "sp-keystore 0.40.0", "thiserror", "tracing-gum", ] [[package]] name = "polkadot-node-core-bitfield-signing" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "sp-keystore 0.34.0", + "sp-keystore 0.40.0", "thiserror", "tracing-gum", "wasm-timer", @@ -10450,8 +10663,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "futures", @@ -10465,14 +10678,16 @@ dependencies = [ "polkadot-overseer", "polkadot-parachain-primitives", "polkadot-primitives", + "sp-application-crypto 38.0.0", + "sp-keystore 0.40.0", "sp-maybe-compressed-blob", "tracing-gum", ] [[package]] name = "polkadot-node-core-chain-api" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", "polkadot-node-metrics", @@ -10485,8 +10700,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", "futures-timer", @@ -10502,8 +10717,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "fatality", "futures", @@ -10521,8 +10736,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "futures", @@ -10538,14 +10753,11 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" -version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "bitvec", "fatality", "futures", - "parity-scale-codec", - "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", @@ -10555,8 +10767,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitvec", "fatality", @@ -10566,23 +10778,22 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", + "schnellru", "thiserror", "tracing-gum", ] [[package]] name = "polkadot-node-core-pvf" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "always-assert", - "array-bytes 6.2.3", + "array-bytes", "blake3", "cfg-if", "futures", "futures-timer", - "is_executable", - "libc", "parity-scale-codec", "pin-project", "polkadot-core-primitives", @@ -10592,11 +10803,9 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-parachain-primitives", "polkadot-primitives", - "rand 0.8.5", + "rand", "slotmap", - "sp-core 28.0.0", - "sp-maybe-compressed-blob", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", "tempfile", "thiserror", "tokio", @@ -10605,8 +10814,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", "polkadot-node-primitives", @@ -10614,22 +10823,21 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", - "sp-keystore 0.34.0", + "sp-keystore 0.40.0", "thiserror", "tracing-gum", ] [[package]] name = "polkadot-node-core-pvf-common" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "cfg-if", "cpu-time", "futures", "landlock", "libc", - "nix 0.27.1", + "nix 0.28.0", "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-primitives", @@ -10637,19 +10845,19 @@ dependencies = [ "sc-executor-common", "sc-executor-wasmtime", "seccompiler", - "sp-core 28.0.0", - "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-io 30.0.0", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-externalities 0.29.0", + "sp-io 38.0.0", + "sp-tracing 17.0.0", "thiserror", "tracing-gum", ] [[package]] name = "polkadot-node-core-runtime-api" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", "polkadot-node-metrics", @@ -10663,8 +10871,8 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "lazy_static", "log", @@ -10674,15 +10882,16 @@ dependencies = [ "polkadot-node-primitives", "polkadot-primitives", "sc-network", - "sp-core 28.0.0", + "sc-network-types", + "sp-core 34.0.0", "thiserror", "tokio", ] [[package]] name = "polkadot-node-metrics" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bs58 0.5.1", "futures", @@ -10700,8 +10909,8 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -10714,18 +10923,20 @@ dependencies = [ "polkadot-node-jaeger", "polkadot-node-primitives", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-authority-discovery", "sc-network", - "strum 0.24.1", + "sc-network-types", + "sp-runtime 39.0.0", + "strum 0.26.3", "thiserror", "tracing-gum", ] [[package]] name = "polkadot-node-primitives" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitvec", "bounded-vec", @@ -10735,20 +10946,20 @@ dependencies = [ "polkadot-primitives", "schnorrkel 0.11.4", "serde", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-consensus-babe", - "sp-core 28.0.0", - "sp-keystore 0.34.0", + "sp-core 34.0.0", + "sp-keystore 0.40.0", "sp-maybe-compressed-blob", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "thiserror", "zstd 0.12.4", ] [[package]] name = "polkadot-node-subsystem" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -10757,12 +10968,13 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "bitvec", "derive_more", + "fatality", "futures", "orchestra", "polkadot-node-jaeger", @@ -10772,33 +10984,35 @@ dependencies = [ "polkadot-statement-table", "sc-client-api", "sc-network", + "sc-network-types", "sc-transaction-pool-api", "smallvec", "sp-api", "sp-authority-discovery", "sp-blockchain", "sp-consensus-babe", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "polkadot-node-subsystem-util" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "derive_more", "fatality", "futures", "futures-channel", - "itertools 0.10.5", + "itertools 0.11.0", "kvdb", "parity-db", "parity-scale-codec", "parking_lot 0.12.3", "pin-project", + "polkadot-erasure-coding", "polkadot-node-jaeger", "polkadot-node-metrics", "polkadot-node-network-protocol", @@ -10808,20 +11022,20 @@ dependencies = [ "polkadot-overseer", "polkadot-primitives", "prioritized-metered-channel", - "rand 0.8.5", + "rand", "sc-client-api", "schnellru", - "sp-application-crypto 30.0.0", - "sp-core 28.0.0", - "sp-keystore 0.34.0", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", + "sp-keystore 0.40.0", "thiserror", "tracing-gum", ] [[package]] name = "polkadot-overseer" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "futures", @@ -10835,60 +11049,59 @@ dependencies = [ "polkadot-primitives", "sc-client-api", "sp-api", - "sp-core 28.0.0", + "sp-core 34.0.0", "tikv-jemalloc-ctl", "tracing-gum", ] [[package]] name = "polkadot-parachain-primitives" -version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "bounded-collections 0.2.0", + "bounded-collections", "derive_more", "parity-scale-codec", "polkadot-core-primitives", "scale-info", "serde", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-weights 27.0.0", + "sp-core 34.0.0", + "sp-runtime 39.0.0", + "sp-weights 31.0.0", ] [[package]] name = "polkadot-primitives" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitvec", "hex-literal", + "log", "parity-scale-codec", "polkadot-core-primitives", "polkadot-parachain-primitives", "scale-info", "serde", "sp-api", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-application-crypto 38.0.0", + "sp-arithmetic 26.0.0", "sp-authority-discovery", "sp-consensus-slots", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-io 38.0.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "polkadot-rpc" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.23.2", "mmr-rpc", "pallet-transaction-payment-rpc", "polkadot-primitives", @@ -10906,20 +11119,22 @@ dependencies = [ "sc-sync-state-rpc", "sc-transaction-pool-api", "sp-api", + "sp-application-crypto 38.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-consensus-beefy", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", ] [[package]] name = "polkadot-runtime-common" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitvec", "frame-benchmarking", @@ -10944,7 +11159,6 @@ dependencies = [ "pallet-transaction-payment", "pallet-treasury", "pallet-vesting", - "pallet-xcm-benchmarks", "parity-scale-codec", "polkadot-primitives", "polkadot-runtime-parachains", @@ -10954,14 +11168,13 @@ dependencies = [ "serde_derive", "slot-range-helper", "sp-api", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-io 30.0.0", + "sp-io 38.0.0", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -10970,21 +11183,20 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bs58 0.5.1", "frame-benchmarking", "parity-scale-codec", "polkadot-primitives", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-tracing 17.0.0", ] [[package]] name = "polkadot-runtime-parachains" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -11009,22 +11221,20 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-metrics", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rustc-hex", + "rand", + "rand_chacha", "scale-info", "serde", "sp-api", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", + "sp-application-crypto 38.0.0", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-io 38.0.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "staging-xcm", "staging-xcm-executor", "static_assertions", @@ -11032,10 +11242,11 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", + "bitvec", "frame-benchmarking", "frame-benchmarking-cli", "frame-metadata-hash-extension", @@ -11050,7 +11261,6 @@ dependencies = [ "log", "mmr-gadget", "pallet-babe", - "pallet-im-online", "pallet-staking", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", @@ -11128,45 +11338,47 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-io 30.0.0", + "sp-io 38.0.0", "sp-keyring", - "sp-keystore 0.34.0", + "sp-keystore 0.40.0", "sp-mmr-primitives", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-session", - "sp-state-machine 0.35.0", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-state-machine 0.43.0", + "sp-storage 21.0.0", "sp-timestamp", "sp-transaction-pool", "sp-version", - "sp-weights 27.0.0", + "sp-weights 31.0.0", + "staging-xcm", "substrate-prometheus-endpoint", "thiserror", "tracing-gum", "westend-runtime", + "xcm-runtime-apis", ] [[package]] name = "polkadot-statement-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bitvec", "fatality", "futures", "futures-timer", - "indexmap 2.2.6", + "indexmap 2.4.0", "parity-scale-codec", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "sp-keystore 0.34.0", + "sp-keystore 0.40.0", "sp-staking", "thiserror", "tracing-gum", @@ -11174,34 +11386,59 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "polkadot-primitives", - "sp-core 28.0.0", + "sp-core 34.0.0", + "tracing-gum", +] + +[[package]] +name = "polkavm" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a3693e5efdb2bf74e449cd25fd777a28bd7ed87e41f5d5da75eb31b4de48b94" +dependencies = [ + "libc", + "log", + "polkavm-assembler", + "polkavm-common 0.9.0", + "polkavm-linux-raw", +] + +[[package]] +name = "polkavm-assembler" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa96d6d868243acc12de813dd48e756cbadcc8e13964c70d272753266deadc1" +dependencies = [ + "log", ] [[package]] name = "polkavm-common" -version = "0.5.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b4e215c80fe876147f3d58158d5dfeae7dabdd6047e175af77095b78d0035c" +checksum = "92c99f7eee94e7be43ba37eef65ad0ee8cbaf89b7c00001c3f6d2be985cb1817" [[package]] name = "polkavm-common" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d9428a5cfcc85c5d7b9fc4b6a18c4b802d0173d768182a51cc7751640f08b92" +dependencies = [ + "log", +] [[package]] name = "polkavm-derive" -version = "0.5.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6380dbe1fb03ecc74ad55d841cfc75480222d153ba69ddcb00977866cbdabdb8" +checksum = "79fa916f7962348bd1bb1a65a83401675e6fc86c51a0fdbcf92a3108e58e6125" dependencies = [ - "polkavm-derive-impl 0.5.0", - "syn 2.0.68", + "polkavm-derive-impl-macro 0.8.0", ] [[package]] @@ -11210,19 +11447,19 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606" dependencies = [ - "polkavm-derive-impl-macro", + "polkavm-derive-impl-macro 0.9.0", ] [[package]] name = "polkavm-derive-impl" -version = "0.5.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc8211b3365bbafb2fb32057d68b0e1ca55d079f5cf6f9da9b98079b94b3987d" +checksum = "c10b2654a8a10a83c260bfb93e97b262cf0017494ab94a65d389e0eda6de6c9c" dependencies = [ - "polkavm-common 0.5.0", + "polkavm-common 0.8.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -11234,7 +11471,17 @@ dependencies = [ "polkavm-common 0.9.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", +] + +[[package]] +name = "polkavm-derive-impl-macro" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e85319a0d5129dc9f021c62607e0804f5fb777a05cdda44d750ac0732def66" +dependencies = [ + "polkavm-derive-impl 0.8.0", + "syn 2.0.75", ] [[package]] @@ -11244,9 +11491,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl 0.9.0", - "syn 2.0.68", + "syn 2.0.75", +] + +[[package]] +name = "polkavm-linker" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c7be503e60cf56c0eb785f90aaba4b583b36bff00e93997d93fef97f9553c39" +dependencies = [ + "gimli 0.28.1", + "hashbrown 0.14.5", + "log", + "object 0.32.2", + "polkavm-common 0.9.0", + "regalloc2 0.9.3", + "rustc-demangle", ] +[[package]] +name = "polkavm-linux-raw" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26e85d3456948e650dff0cfc85603915847faf893ed1e66b020bb82ef4557120" + [[package]] name = "polling" version = "2.8.0" @@ -11259,23 +11527,23 @@ dependencies = [ "concurrent-queue", "libc", "log", - "pin-project-lite 0.2.14", + "pin-project-lite", "windows-sys 0.48.0", ] [[package]] name = "polling" -version = "3.7.2" +version = "3.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" +checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi 0.4.0", - "pin-project-lite 0.2.14", + "pin-project-lite", "rustix 0.38.34", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -11303,9 +11571,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" [[package]] name = "powerfmt" @@ -11315,14 +11583,17 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "environmental", "evm", @@ -11336,25 +11607,24 @@ dependencies = [ "pallet-evm", "parity-scale-codec", "precompile-utils-macro", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-weights 27.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-weights 31.0.0", "staging-xcm", ] [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/frontier?branch=polkadot-v1.7.0#c5d6daa9ffd46c0a85915526aa26d200fd635e30" +source = "git+https://github.com/polkadot-evm/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "case", "num_enum", "prettyplease 0.2.20", "proc-macro2", "quote", - "sp-core-hashing 15.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "syn 1.0.109", ] @@ -11372,17 +11642,27 @@ dependencies = [ "regex", ] +[[package]] +name = "predicates" +version = "3.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" +dependencies = [ + "anstyle", + "predicates-core", +] + [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" [[package]] name = "predicates-tree" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" dependencies = [ "predicates-core", "termtree", @@ -11415,7 +11695,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -11458,15 +11738,6 @@ dependencies = [ "toml 0.5.11", ] -[[package]] -name = "proc-macro-crate" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" -dependencies = [ - "toml_edit 0.20.7", -] - [[package]] name = "proc-macro-crate" version = "3.1.0" @@ -11500,6 +11771,17 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-warning" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.75", +] + [[package]] name = "proc-macro-warning" version = "1.0.2" @@ -11508,7 +11790,7 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -11536,9 +11818,9 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.19.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" +checksum = "3c99afa9a01501019ac3a14d71d9f94050346f55ca471ce90c799a15c58f61e2" dependencies = [ "dtoa", "itoa", @@ -11554,7 +11836,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -11588,17 +11870,38 @@ dependencies = [ "itertools 0.10.5", "lazy_static", "log", - "multimap", + "multimap 0.8.3", "petgraph 0.6.5", "prettyplease 0.1.25", "prost 0.11.9", - "prost-types", + "prost-types 0.11.9", "regex", "syn 1.0.109", "tempfile", "which", ] +[[package]] +name = "prost-build" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +dependencies = [ + "bytes", + "heck 0.5.0", + "itertools 0.12.1", + "log", + "multimap 0.10.0", + "once_cell", + "petgraph 0.6.5", + "prettyplease 0.2.20", + "prost 0.12.6", + "prost-types 0.12.6", + "regex", + "syn 2.0.75", + "tempfile", +] + [[package]] name = "prost-derive" version = "0.11.9" @@ -11622,7 +11925,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -11634,6 +11937,15 @@ dependencies = [ "prost 0.11.9", ] +[[package]] +name = "prost-types" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +dependencies = [ + "prost 0.12.6", +] + [[package]] name = "psm" version = "0.1.21" @@ -11643,6 +11955,21 @@ dependencies = [ "cc", ] +[[package]] +name = "quanta" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" +dependencies = [ + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi", + "web-sys", + "winapi", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -11660,44 +11987,112 @@ dependencies = [ [[package]] name = "quick-protobuf-codec" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b" +checksum = "f8ededb1cd78531627244d51dd0c7139fbe736c7d57af0092a76f0ffb2f56e98" dependencies = [ "asynchronous-codec", "bytes", "quick-protobuf", "thiserror", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] -name = "quicksink" -version = "0.1.2" +name = "quinn" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" +checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" dependencies = [ - "futures-core", - "futures-sink", - "pin-project-lite 0.1.12", + "bytes", + "pin-project-lite", + "quinn-proto 0.9.6", + "quinn-udp 0.3.2", + "rustc-hash", + "rustls 0.20.9", + "thiserror", + "tokio", + "tracing", + "webpki", +] + +[[package]] +name = "quinn" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" +dependencies = [ + "bytes", + "futures-io", + "pin-project-lite", + "quinn-proto 0.10.6", + "quinn-udp 0.4.1", + "rustc-hash", + "rustls 0.21.12", + "thiserror", + "tokio", + "tracing", ] [[package]] name = "quinn-proto" version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863" +checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863" +dependencies = [ + "bytes", + "rand", + "ring 0.16.20", + "rustc-hash", + "rustls 0.20.9", + "slab", + "thiserror", + "tinyvec", + "tracing", + "webpki", +] + +[[package]] +name = "quinn-proto" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" +dependencies = [ + "bytes", + "rand", + "ring 0.16.20", + "rustc-hash", + "rustls 0.21.12", + "slab", + "thiserror", + "tinyvec", + "tracing", +] + +[[package]] +name = "quinn-udp" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4" +dependencies = [ + "libc", + "quinn-proto 0.9.6", + "socket2 0.4.10", + "tracing", + "windows-sys 0.42.0", +] + +[[package]] +name = "quinn-udp" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" dependencies = [ "bytes", - "rand 0.8.5", - "ring 0.16.20", - "rustc-hash", - "rustls 0.20.9", - "slab", - "thiserror", - "tinyvec", + "libc", + "socket2 0.5.7", "tracing", - "webpki", + "windows-sys 0.48.0", ] [[package]] @@ -11715,19 +12110,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] - [[package]] name = "rand" version = "0.8.5" @@ -11735,20 +12117,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha 0.3.1", + "rand_chacha", "rand_core 0.6.4", ] -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - [[package]] name = "rand_chacha" version = "0.3.1" @@ -11764,9 +12136,6 @@ name = "rand_core" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] [[package]] name = "rand_core" @@ -11774,7 +12143,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom", ] [[package]] @@ -11784,16 +12153,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", + "rand", ] [[package]] @@ -11814,6 +12174,15 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "raw-cpuid" +version = "11.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb9ee317cfe3fbd54b36a511efc1edd42e216903c9cd575e686dd68a2ba90d8d" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "rawpointer" version = "0.2.1" @@ -11853,39 +12222,46 @@ dependencies = [ ] [[package]] -name = "redox_syscall" -version = "0.2.16" +name = "reconnecting-jsonrpsee-ws-client" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "06fa4f17e09edfc3131636082faaec633c7baa269396b4004040bc6c52f49f65" dependencies = [ - "bitflags 1.3.2", + "cfg_aliases 0.2.1", + "finito", + "futures", + "jsonrpsee 0.23.2", + "serde_json", + "thiserror", + "tokio", + "tracing", ] [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ "bitflags 2.6.0", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.15", + "getrandom", "libredox", "thiserror", ] @@ -11919,7 +12295,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -11934,11 +12310,24 @@ dependencies = [ "smallvec", ] +[[package]] +name = "regalloc2" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" +dependencies = [ + "hashbrown 0.13.2", + "log", + "rustc-hash", + "slice-group-by", + "smallvec", +] + [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -11995,23 +12384,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ "hmac 0.12.1", - "subtle 2.4.1", -] - -[[package]] -name = "ring" -version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "blake2 0.10.6", - "common", - "fflonk", - "merlin 3.0.0", + "subtle 2.6.1", ] [[package]] @@ -12037,7 +12410,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -12087,10 +12460,11 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "binary-merkle-tree", + "bitvec", "frame-benchmarking", "frame-executive", "frame-metadata-hash-extension", @@ -12116,7 +12490,6 @@ dependencies = [ "pallet-elections-phragmen", "pallet-grandpa", "pallet-identity", - "pallet-im-online", "pallet-indices", "pallet-membership", "pallet-message-queue", @@ -12124,6 +12497,7 @@ dependencies = [ "pallet-multisig", "pallet-nis", "pallet-offences", + "pallet-parameters", "pallet-preimage", "pallet-proxy", "pallet-ranked-collective", @@ -12155,24 +12529,25 @@ dependencies = [ "scale-info", "serde", "serde_derive", + "serde_json", "smallvec", "sp-api", - "sp-arithmetic 23.0.0", + "sp-arithmetic 26.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", - "sp-core 28.0.0", + "sp-consensus-grandpa", + "sp-core 34.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io 38.0.0", "sp-mmr-primitives", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-storage 21.0.0", "sp-transaction-pool", "sp-version", "staging-xcm", @@ -12180,20 +12555,21 @@ dependencies = [ "staging-xcm-executor", "static_assertions", "substrate-wasm-builder", + "xcm-runtime-apis", ] [[package]] name = "rococo-runtime-constants" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-core 34.0.0", + "sp-runtime 39.0.0", + "sp-weights 31.0.0", "staging-xcm", "staging-xcm-builder", ] @@ -12332,7 +12708,6 @@ version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" dependencies = [ - "log", "ring 0.16.20", "sct", "webpki", @@ -12346,10 +12721,39 @@ checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring 0.17.8", - "rustls-webpki", + "rustls-webpki 0.101.7", "sct", ] +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.6", + "subtle 2.6.1", + "zeroize", +] + +[[package]] +name = "rustls" +version = "0.23.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +dependencies = [ + "log", + "once_cell", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.6", + "subtle 2.6.1", + "zeroize", +] + [[package]] name = "rustls-native-certs" version = "0.6.3" @@ -12357,7 +12761,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile", + "rustls-pemfile 1.0.4", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-native-certs" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04182dffc9091a404e0fc069ea5cd60e5b866c3adf881eff99a32d048242dffa" +dependencies = [ + "openssl-probe", + "rustls-pemfile 2.1.3", + "rustls-pki-types", "schannel", "security-framework", ] @@ -12371,6 +12788,49 @@ dependencies = [ "base64 0.21.7", ] +[[package]] +name = "rustls-pemfile" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" + +[[package]] +name = "rustls-platform-verifier" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93bda3f493b9abe5b93b3e7e3ecde0df292f2bd28c0296b90586ee0055ff5123" +dependencies = [ + "core-foundation", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls 0.23.12", + "rustls-native-certs 0.7.2", + "rustls-platform-verifier-android", + "rustls-webpki 0.102.6", + "security-framework", + "security-framework-sys", + "webpki-roots 0.26.3", + "winapi", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.101.7" @@ -12381,6 +12841,17 @@ dependencies = [ "untrusted 0.9.0", ] +[[package]] +name = "rustls-webpki" +version = "0.102.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +dependencies = [ + "ring 0.17.8", + "rustls-pki-types", + "untrusted 0.9.0", +] + [[package]] name = "rustversion" version = "1.0.17" @@ -12411,9 +12882,9 @@ dependencies = [ [[package]] name = "rw-stream-sink" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" +checksum = "d8c9026ff5d2f23da5e45bbc283f156383001bfb09c4e44256d02c1a685fe9a1" dependencies = [ "futures", "pin-project", @@ -12455,48 +12926,49 @@ dependencies = [ [[package]] name = "sc-allocator" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "log", - "sp-core 28.0.0", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-wasm-interface 21.0.0", "thiserror", ] [[package]] name = "sc-authority-discovery" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "futures", "futures-timer", "ip_network", "libp2p", + "linked_hash_set", "log", - "multihash 0.18.1", - "multihash-codetable", + "multihash 0.19.1", "parity-scale-codec", "prost 0.12.6", - "prost-build", - "rand 0.8.5", + "prost-build 0.12.6", + "rand", "sc-client-api", "sc-network", + "sc-network-types", "sp-api", "sp-authority-discovery", "sp-blockchain", - "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-basic-authorship" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", "futures-timer", @@ -12509,33 +12981,33 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", ] [[package]] name = "sc-block-builder" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.42.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", + "sp-runtime 39.0.0", + "sp-trie 37.0.0", ] [[package]] name = "sc-chain-spec" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "docify", "log", "memmap2 0.9.4", @@ -12548,42 +13020,43 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core 28.0.0", - "sp-crypto-hashing", + "sp-core 34.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "sp-genesis-builder", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-tracing 17.0.0", ] [[package]] name = "sc-chain-spec-derive" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "sc-cli" -version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.46.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", - "bip39", + "array-bytes", "chrono", - "clap 4.5.7", + "clap 4.5.16", "fdlimit", "futures", - "itertools 0.10.5", + "itertools 0.11.0", "libp2p-identity", "log", "names", + "parity-bip39", "parity-scale-codec", - "rand 0.8.5", + "rand", "regex", "rpassword", "sc-client-api", @@ -12598,11 +13071,11 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-keyring", - "sp-keystore 0.34.0", - "sp-panic-handler 13.0.0", - "sp-runtime 31.0.1", + "sp-keystore 0.40.0", + "sp-panic-handler 13.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-runtime 39.0.0", "sp-version", "thiserror", "tokio", @@ -12610,8 +13083,8 @@ dependencies = [ [[package]] name = "sc-client-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "fnv", "futures", @@ -12624,21 +13097,21 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-database", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-externalities 0.29.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", "sp-statement-store", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "sp-storage 21.0.0", + "sp-trie 37.0.0", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "hash-db", "kvdb", @@ -12652,44 +13125,43 @@ dependencies = [ "sc-client-api", "sc-state-db", "schnellru", - "sp-arithmetic 23.0.0", + "sp-arithmetic 26.0.0", "sp-blockchain", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-database", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-trie 29.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-trie 37.0.0", ] [[package]] name = "sc-consensus" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "futures", - "futures-timer", - "libp2p-identity", "log", - "mockall", + "mockall 0.11.4", "parking_lot 0.12.3", "sc-client-api", + "sc-network-types", "sc-utils", "serde", "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-core 34.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-consensus-aura" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "futures", @@ -12701,24 +13173,24 @@ dependencies = [ "sc-consensus-slots", "sc-telemetry", "sp-api", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-aura", "sp-consensus-slots", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-consensus-babe" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "fork-tree", @@ -12736,49 +13208,49 @@ dependencies = [ "sc-telemetry", "sc-transaction-pool-api", "sp-api", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-consensus-slots", - "sp-core 28.0.0", - "sp-crypto-hashing", + "sp-core 34.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "sp-inherents", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-consensus-babe-rpc" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", - "jsonrpsee", + "jsonrpsee 0.23.2", "sc-consensus-babe", "sc-consensus-epochs", "sc-rpc-api", "serde", "sp-api", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-babe", - "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "thiserror", ] [[package]] name = "sc-consensus-beefy" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "async-channel 1.9.0", "async-trait", "fnv", @@ -12791,18 +13263,18 @@ dependencies = [ "sc-network", "sc-network-gossip", "sc-network-sync", + "sc-network-types", "sc-utils", "sp-api", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-application-crypto 38.0.0", + "sp-arithmetic 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-beefy", - "sp-core 28.0.0", - "sp-crypto-hashing", - "sp-keystore 0.34.0", - "sp-mmr-primitives", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", "thiserror", "tokio", @@ -12811,43 +13283,44 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", - "jsonrpsee", + "jsonrpsee 0.23.2", "log", "parity-scale-codec", "parking_lot 0.12.3", "sc-consensus-beefy", "sc-rpc", "serde", + "sp-application-crypto 38.0.0", "sp-consensus-beefy", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", "thiserror", ] [[package]] name = "sc-consensus-epochs" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "fork-tree", "parity-scale-codec", "sc-client-api", "sc-consensus", "sp-blockchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", ] [[package]] name = "sc-consensus-grandpa" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.29.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "ahash 0.8.11", - "array-bytes 6.2.3", + "array-bytes", "async-trait", "dyn-clone", "finality-grandpa", @@ -12857,7 +13330,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -12866,32 +13339,33 @@ dependencies = [ "sc-network-common", "sc-network-gossip", "sc-network-sync", + "sc-network-types", "sc-telemetry", "sc-transaction-pool-api", "sc-utils", "serde_json", "sp-api", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-application-crypto 38.0.0", + "sp-arithmetic 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", - "sp-core 28.0.0", - "sp-crypto-hashing", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-consensus-grandpa-rpc" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "finality-grandpa", "futures", - "jsonrpsee", + "jsonrpsee 0.23.2", "log", "parity-scale-codec", "sc-client-api", @@ -12899,21 +13373,21 @@ dependencies = [ "sc-rpc", "serde", "sp-blockchain", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", "thiserror", ] [[package]] name = "sc-consensus-manual-seal" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.45.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "assert_matches", "async-trait", "futures", "futures-timer", - "jsonrpsee", + "jsonrpsee 0.23.2", "log", "parity-scale-codec", "sc-client-api", @@ -12930,10 +13404,10 @@ dependencies = [ "sp-consensus-aura", "sp-consensus-babe", "sp-consensus-slots", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "sp-timestamp", "substrate-prometheus-endpoint", "thiserror", @@ -12941,8 +13415,8 @@ dependencies = [ [[package]] name = "sc-consensus-slots" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "futures", @@ -12952,54 +13426,67 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-telemetry", - "sp-arithmetic 23.0.0", + "sp-arithmetic 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-slots", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", ] [[package]] name = "sc-executor" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sc-executor-common", + "sc-executor-polkavm", "sc-executor-wasmtime", "schnellru", "sp-api", - "sp-core 28.0.0", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-io 30.0.0", - "sp-panic-handler 13.0.0", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "sp-core 34.0.0", + "sp-externalities 0.29.0", + "sp-io 38.0.0", + "sp-panic-handler 13.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-runtime-interface 28.0.0", + "sp-trie 37.0.0", "sp-version", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-wasm-interface 21.0.0", "tracing", ] [[package]] name = "sc-executor-common" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ + "polkavm", "sc-allocator", "sp-maybe-compressed-blob", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-wasm-interface 21.0.0", "thiserror", "wasm-instrument", ] +[[package]] +name = "sc-executor-polkavm" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" +dependencies = [ + "log", + "polkavm", + "sc-executor-common", + "sp-wasm-interface 21.0.0", +] + [[package]] name = "sc-executor-wasmtime" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "anyhow", "cfg-if", @@ -13009,15 +13496,15 @@ dependencies = [ "rustix 0.36.17", "sc-allocator", "sc-executor-common", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime-interface 28.0.0", + "sp-wasm-interface 21.0.0", "wasmtime", ] [[package]] name = "sc-informant" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "ansi_term", "futures", @@ -13028,62 +13515,63 @@ dependencies = [ "sc-network-common", "sc-network-sync", "sp-blockchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", ] [[package]] name = "sc-keystore" -version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "33.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "parking_lot 0.12.3", "serde_json", - "sp-application-crypto 30.0.0", - "sp-core 28.0.0", - "sp-keystore 0.34.0", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", + "sp-keystore 0.40.0", "thiserror", ] [[package]] name = "sc-mixnet" -version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.14.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 4.2.0", - "arrayvec 0.7.4", + "array-bytes", + "arrayvec 0.7.6", "blake2 0.10.6", "bytes", "futures", "futures-timer", - "libp2p-identity", "log", "mixnet", - "multiaddr", + "multiaddr 0.18.1", "parity-scale-codec", "parking_lot 0.12.3", "sc-client-api", "sc-network", + "sc-network-types", "sc-transaction-pool-api", "sp-api", "sp-consensus", - "sp-core 28.0.0", - "sp-keystore 0.34.0", + "sp-core 34.0.0", + "sp-keystore 0.40.0", "sp-mixnet", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "thiserror", ] [[package]] name = "sc-network" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "async-channel 1.9.0", "async-trait", "asynchronous-codec", "bytes", + "cid 0.9.0", "either", "fnv", "futures", @@ -13091,115 +13579,103 @@ dependencies = [ "ip_network", "libp2p", "linked_hash_set", + "litep2p", "log", - "mockall", + "mockall 0.11.4", + "once_cell", "parity-scale-codec", "parking_lot 0.12.3", "partial_sort", "pin-project", - "rand 0.8.5", + "prost 0.12.6", + "prost-build 0.12.6", + "rand", "sc-client-api", "sc-network-common", + "sc-network-types", "sc-utils", + "schnellru", "serde", "serde_json", "smallvec", - "sp-arithmetic 23.0.0", + "sp-arithmetic 26.0.0", "sp-blockchain", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", "thiserror", "tokio", "tokio-stream", - "unsigned-varint", + "unsigned-varint 0.7.2", + "void", "wasm-timer", "zeroize", ] -[[package]] -name = "sc-network-bitswap" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" -dependencies = [ - "async-channel 1.9.0", - "cid", - "futures", - "libp2p-identity", - "log", - "prost 0.12.6", - "prost-build", - "sc-client-api", - "sc-network", - "sp-blockchain", - "sp-runtime 31.0.1", - "thiserror", - "unsigned-varint", -] - [[package]] name = "sc-network-common" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "bitflags 1.3.2", "futures", "libp2p-identity", "parity-scale-codec", - "prost-build", + "prost-build 0.12.6", "sc-consensus", + "sc-network-types", "sp-consensus", "sp-consensus-grandpa", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", ] [[package]] name = "sc-network-gossip" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "ahash 0.8.11", "futures", "futures-timer", - "libp2p", "log", "sc-network", "sc-network-common", "sc-network-sync", + "sc-network-types", "schnellru", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", "tracing", ] [[package]] name = "sc-network-light" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "async-channel 1.9.0", "futures", - "libp2p-identity", "log", "parity-scale-codec", "prost 0.12.6", - "prost-build", + "prost-build 0.12.6", "sc-client-api", "sc-network", + "sc-network-types", "sp-blockchain", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", "thiserror", ] [[package]] name = "sc-network-sync" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "async-channel 1.9.0", "async-trait", "fork-tree", @@ -13207,23 +13683,24 @@ dependencies = [ "futures-timer", "libp2p", "log", - "mockall", + "mockall 0.11.4", "parity-scale-codec", "prost 0.12.6", - "prost-build", + "prost-build 0.12.6", "sc-client-api", "sc-consensus", "sc-network", "sc-network-common", + "sc-network-types", "sc-utils", "schnellru", "smallvec", - "sp-arithmetic 23.0.0", + "sp-arithmetic 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", "thiserror", "tokio", @@ -13232,61 +13709,78 @@ dependencies = [ [[package]] name = "sc-network-transactions" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "futures", - "libp2p", "log", "parity-scale-codec", "sc-network", "sc-network-common", "sc-network-sync", + "sc-network-types", "sc-utils", "sp-consensus", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "substrate-prometheus-endpoint", ] +[[package]] +name = "sc-network-types" +version = "0.12.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" +dependencies = [ + "bs58 0.5.1", + "ed25519-dalek", + "libp2p-identity", + "litep2p", + "log", + "multiaddr 0.18.1", + "multihash 0.19.1", + "rand", + "thiserror", + "zeroize", +] + [[package]] name = "sc-offchain" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "bytes", "fnv", "futures", "futures-timer", - "hyper", + "hyper 0.14.30", "hyper-rustls", - "libp2p", "log", "num_cpus", "once_cell", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "sc-client-api", "sc-network", "sc-network-common", + "sc-network-types", "sc-transaction-pool-api", "sc-utils", "sp-api", - "sp-core 28.0.0", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-keystore 0.34.0", + "sp-core 34.0.0", + "sp-externalities 0.29.0", + "sp-keystore 0.40.0", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "threadpool", "tracing", ] [[package]] name = "sc-proposer-metrics" -version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.18.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -13294,11 +13788,11 @@ dependencies = [ [[package]] name = "sc-rpc" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", - "jsonrpsee", + "jsonrpsee 0.23.2", "log", "parity-scale-codec", "parking_lot 0.12.3", @@ -13313,11 +13807,11 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-core 28.0.0", - "sp-keystore 0.34.0", + "sp-core 34.0.0", + "sp-keystore 0.40.0", "sp-offchain", "sp-rpc", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-session", "sp-statement-store", "sp-version", @@ -13326,10 +13820,10 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.23.2", "parity-scale-codec", "sc-chain-spec", "sc-mixnet", @@ -13337,21 +13831,28 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-rpc", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-version", "thiserror", ] [[package]] name = "sc-rpc-server" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "http", - "jsonrpsee", + "forwarded-header-value", + "futures", + "governor", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", + "ip_network", + "jsonrpsee 0.23.2", "log", + "serde", "serde_json", "substrate-prometheus-endpoint", "tokio", @@ -13361,28 +13862,30 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", + "array-bytes", "futures", "futures-util", "hex", - "jsonrpsee", + "jsonrpsee 0.23.2", "log", "parity-scale-codec", "parking_lot 0.12.3", + "rand", "sc-chain-spec", "sc-client-api", "sc-rpc", "sc-transaction-pool-api", "sc-utils", + "schnellru", "serde", "sp-api", "sp-blockchain", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-rpc", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-version", "thiserror", "tokio", @@ -13391,20 +13894,20 @@ dependencies = [ [[package]] name = "sc-service" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.45.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "directories", "exit-future", "futures", "futures-timer", - "jsonrpsee", + "jsonrpsee 0.23.2", "log", "parity-scale-codec", "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", + "rand", "sc-chain-spec", "sc-client-api", "sc-client-db", @@ -13413,11 +13916,11 @@ dependencies = [ "sc-informant", "sc-keystore", "sc-network", - "sc-network-bitswap", "sc-network-common", "sc-network-light", "sc-network-sync", "sc-network-transactions", + "sc-network-types", "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", @@ -13427,21 +13930,22 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "sc-utils", + "schnellru", "serde", "serde_json", "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 28.0.0", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-externalities 0.29.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "sp-session", - "sp-state-machine 0.35.0", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-state-machine 0.43.0", + "sp-storage 21.0.0", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie 29.0.0", + "sp-trie 37.0.0", "sp-version", "static_init", "substrate-prometheus-endpoint", @@ -13454,34 +13958,34 @@ dependencies = [ [[package]] name = "sc-state-db" -version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.36.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sp-core 28.0.0", + "sp-core 34.0.0", ] [[package]] name = "sc-storage-monitor" -version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.22.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "clap 4.5.7", + "clap 4.5.16", "fs4", "log", - "sp-core 28.0.0", + "sp-core 34.0.0", "thiserror", "tokio", ] [[package]] name = "sc-sync-state-rpc" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.23.2", "parity-scale-codec", "sc-chain-spec", "sc-client-api", @@ -13491,35 +13995,35 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "thiserror", ] [[package]] name = "sc-sysinfo" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "derive_more", "futures", "libc", "log", - "rand 0.8.5", + "rand", "rand_pcg", "regex", "sc-telemetry", "serde", "serde_json", - "sp-core 28.0.0", - "sp-crypto-hashing", - "sp-io 30.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-io 38.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", ] [[package]] name = "sc-telemetry" -version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "24.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "chrono", "futures", @@ -13527,7 +14031,8 @@ dependencies = [ "log", "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", + "rand", + "sc-network", "sc-utils", "serde", "serde_json", @@ -13537,8 +14042,8 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "ansi_term", "chrono", @@ -13555,31 +14060,31 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-rpc", - "sp-runtime 31.0.1", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", + "sp-tracing 17.0.0", "thiserror", "tracing", - "tracing-log 0.1.4", - "tracing-subscriber 0.2.25", + "tracing-log 0.2.0", + "tracing-subscriber 0.3.18", ] [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "sc-transaction-pool" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "futures", @@ -13594,10 +14099,10 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core 28.0.0", - "sp-crypto-hashing", - "sp-runtime 31.0.1", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-runtime 39.0.0", + "sp-tracing 17.0.0", "sp-transaction-pool", "substrate-prometheus-endpoint", "thiserror", @@ -13605,8 +14110,8 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "futures", @@ -13614,15 +14119,15 @@ dependencies = [ "parity-scale-codec", "serde", "sp-blockchain", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", "thiserror", ] [[package]] name = "sc-utils" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-channel 1.9.0", "futures", @@ -13631,43 +14136,43 @@ dependencies = [ "log", "parking_lot 0.12.3", "prometheus", - "sp-arithmetic 23.0.0", + "sp-arithmetic 26.0.0", ] [[package]] name = "scale-bits" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "036575c29af9b6e4866ffb7fa055dbf623fe7a9cc159b33786de6013a6969d89" +checksum = "e57b1e7f6b65ed1f04e79a85a57d755ad56d76fdf1e9bddcc9ae14f71fcdcf54" dependencies = [ "parity-scale-codec", "scale-info", + "scale-type-resolver", "serde", ] [[package]] name = "scale-decode" -version = "0.10.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7caaf753f8ed1ab4752c6afb20174f03598c664724e0e32628e161c21000ff76" +checksum = "e98f3262c250d90e700bb802eb704e1f841e03331c2eb815e46516c4edbf5b27" dependencies = [ "derive_more", "parity-scale-codec", "primitive-types", "scale-bits", "scale-decode-derive", - "scale-info", + "scale-type-resolver", "smallvec", ] [[package]] name = "scale-decode-derive" -version = "0.10.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3475108a1b62c7efd1b5c65974f30109a598b2f45f23c9ae030acb9686966db" +checksum = "9bb22f574168103cdd3133b19281639ca65ad985e24612728f727339dcaf4021" dependencies = [ "darling 0.14.4", - "proc-macro-crate 1.1.3", "proc-macro2", "quote", "syn 1.0.109", @@ -13675,24 +14180,24 @@ dependencies = [ [[package]] name = "scale-encode" -version = "0.5.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d70cb4b29360105483fac1ed567ff95d65224a14dd275b6303ed0a654c78de5" +checksum = "4ba0b9c48dc0eb20c60b083c29447c0c4617cb7c4a4c9fef72aa5c5bc539e15e" dependencies = [ "derive_more", "parity-scale-codec", "primitive-types", "scale-bits", "scale-encode-derive", - "scale-info", + "scale-type-resolver", "smallvec", ] [[package]] name = "scale-encode-derive" -version = "0.5.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "995491f110efdc6bea96d6a746140e32bfceb4ea47510750a5467295a4707a25" +checksum = "82ab7e60e2d9c8d47105f44527b26f04418e5e624ffc034f6b4a86c0ba19c5bf" dependencies = [ "darling 0.14.4", "proc-macro-crate 1.1.3", @@ -13727,11 +14232,34 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "scale-type-resolver" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb" +dependencies = [ + "scale-info", + "smallvec", +] + +[[package]] +name = "scale-typegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "498d1aecf2ea61325d4511787c115791639c0fd21ef4f8e11e49dd09eff2bbac" +dependencies = [ + "proc-macro2", + "quote", + "scale-info", + "syn 2.0.75", + "thiserror", +] + [[package]] name = "scale-value" -version = "0.13.0" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58223c7691bf0bd46b43c9aea6f0472d1067f378d574180232358d7c6e0a8089" +checksum = "ba4d772cfb7569e03868400344a1695d16560bf62b86b918604773607d39ec84" dependencies = [ "base58", "blake2 0.10.6", @@ -13743,6 +14271,7 @@ dependencies = [ "scale-decode", "scale-encode", "scale-info", + "scale-type-resolver", "serde", "yap", ] @@ -13767,24 +14296,6 @@ dependencies = [ "hashbrown 0.13.2", ] -[[package]] -name = "schnorrkel" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "curve25519-dalek 2.1.3", - "getrandom 0.1.16", - "merlin 2.0.1", - "rand 0.7.3", - "rand_core 0.5.1", - "sha2 0.8.2", - "subtle 2.4.1", - "zeroize", -] - [[package]] name = "schnorrkel" version = "0.10.2" @@ -13792,9 +14303,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "844b7645371e6ecdf61ff246ba1958c29e802881a749ae3fb1993675d210d28d" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "curve25519-dalek-ng", - "merlin 3.0.0", + "merlin", "rand_core 0.6.4", "sha2 0.9.9", "subtle-ng", @@ -13809,14 +14320,14 @@ checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" dependencies = [ "aead", "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "curve25519-dalek 4.1.3", "getrandom_or_panic", - "merlin 3.0.0", + "merlin", "rand_core 0.6.4", "serde_bytes", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.6.1", "zeroize", ] @@ -13842,6 +14353,21 @@ dependencies = [ "untrusted 0.9.0", ] +[[package]] +name = "sctp-proto" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6220f78bb44c15f326b0596113305f6101097a18755d53727a575c97e09fb24" +dependencies = [ + "bytes", + "crc", + "fxhash", + "log", + "rand", + "slab", + "thiserror", +] + [[package]] name = "sec1" version = "0.7.3" @@ -13852,7 +14378,8 @@ dependencies = [ "der", "generic-array 0.14.7", "pkcs8", - "subtle 2.4.1", + "serdect", + "subtle 2.6.1", "zeroize", ] @@ -13865,31 +14392,13 @@ dependencies = [ "libc", ] -[[package]] -name = "secp256k1" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" -dependencies = [ - "secp256k1-sys 0.6.1", -] - [[package]] name = "secp256k1" version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" dependencies = [ - "secp256k1-sys 0.9.2", -] - -[[package]] -name = "secp256k1-sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" -dependencies = [ - "cc", + "secp256k1-sys", ] [[package]] @@ -13912,22 +14421,23 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", + "num-bigint", "security-framework-sys", ] [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" dependencies = [ "core-foundation-sys", "libc", @@ -13966,11 +14476,17 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + [[package]] name = "serde" -version = "1.0.203" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" dependencies = [ "serde_derive", ] @@ -13986,35 +14502,46 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "serde_json" -version = "1.0.118" +version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4" +checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +dependencies = [ + "base16ct", + "serde", +] + [[package]] name = "sha-1" version = "0.9.8" @@ -14028,6 +14555,18 @@ dependencies = [ "opaque-debug 0.3.1", ] +[[package]] +name = "sha-1" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", + "sha1-asm", +] + [[package]] name = "sha1" version = "0.10.6" @@ -14040,15 +14579,12 @@ dependencies = [ ] [[package]] -name = "sha2" -version = "0.8.2" +name = "sha1-asm" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +checksum = "286acebaf8b67c1130aedffad26f594eff0c1292389158135327d2e23aed582b" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", + "cc", ] [[package]] @@ -14144,10 +14680,20 @@ dependencies = [ "wide", ] +[[package]] +name = "simple-dns" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cae9a3fcdadafb6d97f4c0e007e4247b114ee0f119f650c3cbf3a8b3a1479694" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "simple-mermaid" -version = "0.1.0" -source = "git+https://github.com/kianenigma/simple-mermaid.git?rev=e48b187bcfd5cc75111acd9d241f1bd36604344b#e48b187bcfd5cc75111acd9d241f1bd36604344b" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "620a1d43d70e142b1d46a929af51d44f383db9c7a2ec122de2cd992ccfcf3c18" [[package]] name = "simplelog" @@ -14199,14 +14745,13 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] @@ -14220,9 +14765,9 @@ dependencies = [ [[package]] name = "slug" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bd94acec9c8da640005f8e135a39fc0372e74535e6b368b7a04b875f784c8c4" +checksum = "882a80f72ee45de3cc9a5afeb2da0331d58df69e4e7d8eeb5d3c7784ae67e724" dependencies = [ "deunicode", "wasm-bindgen", @@ -14242,22 +14787,39 @@ checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1" dependencies = [ "async-channel 1.9.0", "async-executor", - "async-fs", + "async-fs 1.6.0", "async-io 1.13.0", "async-lock 2.8.0", - "async-net", - "async-process", + "async-net 1.8.0", + "async-process 1.8.1", "blocking", "futures-lite 1.13.0", ] +[[package]] +name = "smol" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aad24f41392790e6ac67f4f4cd871da61f7d758e07b5622431e491e897d9c8a7" +dependencies = [ + "async-channel 2.3.1", + "async-executor", + "async-fs 2.1.2", + "async-io 2.3.4", + "async-lock 3.4.0", + "async-net 2.0.0", + "async-process 2.2.4", + "blocking", + "futures-lite 2.3.0", +] + [[package]] name = "smoldot" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0bb30cf57b7b5f6109ce17c3164445e2d6f270af2cb48f6e4d31c2967c9a9f5" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "async-lock 2.8.0", "atomic-take", "base64 0.21.7", @@ -14278,17 +14840,17 @@ dependencies = [ "hmac 0.12.1", "itertools 0.11.0", "libsecp256k1", - "merlin 3.0.0", + "merlin", "no-std-net", "nom", "num-bigint", "num-rational", "num-traits", - "pbkdf2 0.12.2", + "pbkdf2", "pin-project", "poly1305", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "ruzstd 0.4.0", "schnorrkel 0.10.2", "serde", @@ -14298,20 +14860,20 @@ dependencies = [ "siphasher 0.3.11", "slab", "smallvec", - "soketto", + "soketto 0.7.1", "twox-hash", - "wasmi", - "x25519-dalek 2.0.1", + "wasmi 0.31.2", + "x25519-dalek", "zeroize", ] [[package]] name = "smoldot" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca99148e026936bbc444c3708748207033968e4ef1c33bfc885660ae4d44d21" +checksum = "e6d1eaa97d77be4d026a1e7ffad1bb3b78448763b357ea6f8188d3e6f736a9b9" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "async-lock 3.4.0", "atomic-take", "base64 0.21.7", @@ -14323,27 +14885,27 @@ dependencies = [ "derive_more", "ed25519-zebra 4.0.3", "either", - "event-listener 3.1.0", + "event-listener 4.0.3", "fnv", "futures-lite 2.3.0", "futures-util", "hashbrown 0.14.5", "hex", "hmac 0.12.1", - "itertools 0.11.0", + "itertools 0.12.1", "libm", "libsecp256k1", - "merlin 3.0.0", + "merlin", "no-std-net", "nom", "num-bigint", "num-rational", "num-traits", - "pbkdf2 0.12.2", + "pbkdf2", "pin-project", "poly1305", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "ruzstd 0.5.0", "schnorrkel 0.11.4", "serde", @@ -14353,10 +14915,10 @@ dependencies = [ "siphasher 1.0.1", "slab", "smallvec", - "soketto", + "soketto 0.7.1", "twox-hash", - "wasmi", - "x25519-dalek 2.0.1", + "wasmi 0.31.2", + "x25519-dalek", "zeroize", ] @@ -14385,22 +14947,22 @@ dependencies = [ "no-std-net", "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "serde", "serde_json", "siphasher 0.3.11", "slab", - "smol", + "smol 1.3.0", "smoldot 0.11.0", "zeroize", ] [[package]] name = "smoldot-light" -version = "0.12.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e6f1898682b618b81570047b9d870b3faaff6ae1891b468eddd94d7f903c2fe" +checksum = "5496f2d116b7019a526b1039ec2247dd172b8670633b1a64a614c9ea12c9d8c7" dependencies = [ "async-channel 2.3.1", "async-lock 3.4.0", @@ -14408,27 +14970,27 @@ dependencies = [ "blake2-rfc", "derive_more", "either", - "event-listener 3.1.0", + "event-listener 4.0.3", "fnv", "futures-channel", "futures-lite 2.3.0", "futures-util", "hashbrown 0.14.5", "hex", - "itertools 0.11.0", + "itertools 0.12.1", "log", - "lru 0.12.3", + "lru 0.12.4", "no-std-net", "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "serde", "serde_json", "siphasher 1.0.1", "slab", - "smol", - "smoldot 0.14.0", + "smol 2.0.1", + "smoldot 0.16.0", "zeroize", ] @@ -14452,7 +15014,7 @@ dependencies = [ "ring 0.17.8", "rustc_version 0.4.0", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] @@ -14483,241 +15045,234 @@ checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ "base64 0.13.1", "bytes", - "flate2", "futures", - "http", "httparse", "log", - "rand 0.8.5", - "sha-1", + "rand", + "sha-1 0.9.8", +] + +[[package]] +name = "soketto" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", ] [[package]] name = "sp-api" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ + "docify", "hash-db", "log", "parity-scale-codec", "scale-info", "sp-api-proc-macro", - "sp-core 28.0.0", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-externalities 0.29.0", "sp-metadata-ir", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "sp-runtime 39.0.0", + "sp-runtime-interface 28.0.0", + "sp-state-machine 0.43.0", + "sp-trie 37.0.0", "sp-version", "thiserror", ] [[package]] name = "sp-api-proc-macro" -version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "Inflector", "blake2 0.10.6", - "expander 2.2.1", + "expander", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "sp-application-crypto" -version = "28.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23030de8eae0272c705cf3e2ce0523a64708a6b53aa23f3cf9053ca63abd08d7" +checksum = "13ca6121c22c8bd3d1dce1f05c479101fd0d7b159bef2a3e8c834138d839c75c" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 26.0.0", - "sp-io 28.0.0", - "sp-std 12.0.0", + "sp-core 31.0.0", + "sp-io 33.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-application-crypto" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-io 38.0.0", ] [[package]] name = "sp-arithmetic" -version = "21.0.0" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf6e5c0c7c2e7be3a4a10af5316d2d40182915509a70f632a66c238a05c37b" +checksum = "910c07fa263b20bf7271fdd4adcb5d3217dfdac14270592e0780223542e7e114" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 12.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-arithmetic" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ + "docify", "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "static_assertions", ] -[[package]] -name = "sp-ark-bls12-381" -version = "0.4.2" -source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" -dependencies = [ - "ark-bls12-381-ext", - "sp-crypto-ec-utils", -] - -[[package]] -name = "sp-ark-ed-on-bls12-381-bandersnatch" -version = "0.4.2" -source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" -dependencies = [ - "ark-ed-on-bls12-381-bandersnatch-ext", - "sp-crypto-ec-utils", -] - [[package]] name = "sp-authority-discovery" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-application-crypto 38.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "sp-block-builder" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "sp-api", "sp-inherents", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "sp-blockchain" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "futures", - "log", "parity-scale-codec", "parking_lot 0.12.3", "schnellru", "sp-api", "sp-consensus", + "sp-core 34.0.0", "sp-database", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", "thiserror", + "tracing", ] [[package]] name = "sp-consensus" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "futures", "log", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", "thiserror", ] [[package]] name = "sp-consensus-aura" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-consensus-slots", "sp-inherents", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", "sp-timestamp", ] [[package]] name = "sp-consensus-babe" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 30.0.0", + "sp-application-crypto 38.0.0", "sp-consensus-slots", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", "sp-timestamp", ] [[package]] name = "sp-consensus-beefy" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "lazy_static", "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 30.0.0", - "sp-core 28.0.0", - "sp-crypto-hashing", - "sp-io 30.0.0", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-io 38.0.0", + "sp-keystore 0.40.0", "sp-mmr-primitives", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "strum 0.24.1", + "sp-runtime 39.0.0", + "strum 0.26.3", ] [[package]] name = "sp-consensus-grandpa" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "finality-grandpa", "log", @@ -14725,36 +15280,33 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 30.0.0", - "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", ] [[package]] name = "sp-consensus-slots" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "sp-timestamp", ] [[package]] name = "sp-core" -version = "26.0.0" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0db34a19be2efa0398a9506a365392d93a85220856d55e0eb78165ad2e1bedc" +checksum = "26d7a0fd8f16dcc3761198fc83be12872f823b37b749bc72a3a6a1f702509366" dependencies = [ - "array-bytes 6.2.3", - "bip39", + "array-bytes", "bitflags 1.3.2", "blake2 0.10.6", - "bounded-collections 0.1.9", + "bounded-collections", "bs58 0.5.1", "dyn-clonable", "ed25519-zebra 3.1.0", @@ -14763,29 +15315,29 @@ dependencies = [ "hash256-std-hasher", "impl-serde", "itertools 0.10.5", - "lazy_static", + "k256", "libsecp256k1", "log", - "merlin 2.0.1", + "merlin", + "parity-bip39", "parity-scale-codec", "parking_lot 0.12.3", "paste", "primitive-types", - "rand 0.8.5", - "regex", + "rand", "scale-info", - "schnorrkel 0.9.1", - "secp256k1 0.24.3", + "schnorrkel 0.11.4", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 13.0.0", - "sp-debug-derive 12.0.0", - "sp-externalities 0.23.0", - "sp-runtime-interface 22.0.0", - "sp-std 12.0.0", - "sp-storage 17.0.0", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.27.0", + "sp-runtime-interface 26.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 20.0.0", "ss58-registry", - "substrate-bip39", + "substrate-bip39 0.5.0", "thiserror", "tracing", "w3f-bls", @@ -14794,44 +15346,44 @@ dependencies = [ [[package]] name = "sp-core" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", - "bandersnatch_vrfs", - "bip39", + "array-bytes", "bitflags 1.3.2", "blake2 0.10.6", - "bounded-collections 0.2.0", + "bounded-collections", "bs58 0.5.1", "dyn-clonable", - "ed25519-zebra 3.1.0", + "ed25519-zebra 4.0.3", "futures", "hash-db", "hash256-std-hasher", "impl-serde", - "itertools 0.10.5", + "itertools 0.11.0", + "k256", "libsecp256k1", "log", - "merlin 3.0.0", + "merlin", + "parity-bip39", "parity-scale-codec", "parking_lot 0.12.3", "paste", "primitive-types", - "rand 0.8.5", + "rand", "scale-info", "schnorrkel 0.11.4", - "secp256k1 0.28.2", + "secp256k1", "secrecy", "serde", - "sp-crypto-hashing", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-externalities 0.29.0", + "sp-runtime-interface 28.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-storage 21.0.0", "ss58-registry", - "substrate-bip39", + "substrate-bip39 0.6.0", "thiserror", "tracing", "w3f-bls", @@ -14839,10 +15391,10 @@ dependencies = [ ] [[package]] -name = "sp-core-hashing" -version = "13.0.0" +name = "sp-crypto-hashing" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb8524f01591ee58b46cd83c9dbc0fcffd2fd730dabec4f59326cd58a00f17e2" +checksum = "bc9927a7f81334ed5b8a98a4a978c81324d12bd9713ec76b5c68fd410174c5eb" dependencies = [ "blake2b_simd", "byteorder", @@ -14852,38 +15404,10 @@ dependencies = [ "twox-hash", ] -[[package]] -name = "sp-core-hashing" -version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" -dependencies = [ - "sp-crypto-hashing", -] - -[[package]] -name = "sp-crypto-ec-utils" -version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#7c6ab07193e60a06de14f90fd3f618ac72ff17b6" -dependencies = [ - "ark-bls12-377", - "ark-bls12-377-ext", - "ark-bls12-381", - "ark-bls12-381-ext", - "ark-bw6-761", - "ark-bw6-761-ext", - "ark-ec", - "ark-ed-on-bls12-377", - "ark-ed-on-bls12-377-ext", - "ark-ed-on-bls12-381-bandersnatch", - "ark-ed-on-bls12-381-bandersnatch-ext", - "ark-scale", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk)", -] - [[package]] name = "sp-crypto-hashing" -version = "0.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "blake2b_simd", "byteorder", @@ -14895,201 +15419,181 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" -version = "0.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "quote", - "sp-crypto-hashing", - "syn 2.0.68", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "syn 2.0.75", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "kvdb", "parking_lot 0.12.3", ] -[[package]] -name = "sp-debug-derive" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50535e1a5708d3ba5c1195b59ebefac61cc8679c2c24716b87a86e8b7ed2e4a1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.68", -] - [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#7c6ab07193e60a06de14f90fd3f618ac72ff17b6" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "sp-externalities" -version = "0.23.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884d05160bc89d0943d1c9fb8006c3d44b80f37f8af607aeff8d4d9cc82e279a" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-std 12.0.0", - "sp-storage 17.0.0", -] - -[[package]] -name = "sp-externalities" -version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +checksum = "a1d6a4572eadd4a63cff92509a210bf425501a0c5e76574b30a366ac77653787" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 20.0.0", ] [[package]] name = "sp-externalities" -version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#7c6ab07193e60a06de14f90fd3f618ac72ff17b6" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "environmental", "parity-scale-codec", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-storage 21.0.0", ] [[package]] name = "sp-genesis-builder" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ + "parity-scale-codec", + "scale-info", "serde_json", "sp-api", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "sp-inherents" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", "thiserror", ] [[package]] name = "sp-io" -version = "28.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301c0ce94f80b324465a6f6173183aa07b26bd71d67f94a44de1fd11dea4a7cb" +checksum = "3e09bba780b55bd9e67979cd8f654a31e4a6cf45426ff371394a65953d2177f2" dependencies = [ "bytes", "ed25519-dalek", "libsecp256k1", "log", "parity-scale-codec", + "polkavm-derive 0.9.1", "rustversion", - "secp256k1 0.24.3", - "sp-core 26.0.0", - "sp-externalities 0.23.0", - "sp-keystore 0.32.0", - "sp-runtime-interface 22.0.0", - "sp-state-machine 0.33.0", - "sp-std 12.0.0", - "sp-tracing 14.0.0", - "sp-trie 27.0.0", + "secp256k1", + "sp-core 31.0.0", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.27.0", + "sp-keystore 0.37.0", + "sp-runtime-interface 26.0.0", + "sp-state-machine 0.38.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 16.0.0", + "sp-trie 32.0.0", "tracing", "tracing-core", ] [[package]] name = "sp-io" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bytes", + "docify", "ed25519-dalek", "libsecp256k1", "log", "parity-scale-codec", + "polkavm-derive 0.9.1", "rustversion", - "secp256k1 0.28.2", - "sp-core 28.0.0", - "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-keystore 0.34.0", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-state-machine 0.35.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "secp256k1", + "sp-core 34.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-externalities 0.29.0", + "sp-keystore 0.40.0", + "sp-runtime-interface 28.0.0", + "sp-state-machine 0.43.0", + "sp-tracing 17.0.0", + "sp-trie 37.0.0", "tracing", "tracing-core", ] [[package]] name = "sp-keyring" -version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "strum 0.24.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", + "strum 0.26.3", ] [[package]] name = "sp-keystore" -version = "0.32.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1db18ab01b2684856904c973d2be7dbf9ab3607cf706a7bd6648812662e5e7c5" +checksum = "bdbab8b61bd61d5f8625a0c75753b5d5a23be55d3445419acd42caf59cf6236b" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", - "sp-core 26.0.0", - "sp-externalities 0.23.0", - "thiserror", + "sp-core 31.0.0", + "sp-externalities 0.27.0", ] [[package]] name = "sp-keystore" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", - "sp-core 28.0.0", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "thiserror", + "sp-core 34.0.0", + "sp-externalities 0.29.0", ] [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "thiserror", "zstd 0.12.4", @@ -15097,74 +15601,70 @@ dependencies = [ [[package]] name = "sp-metadata-ir" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-metadata 16.0.0", "parity-scale-codec", "scale-info", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "sp-mixnet" -version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.12.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto 30.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-application-crypto 38.0.0", ] [[package]] name = "sp-mmr-primitives" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "ckb-merkle-mountain-range", "log", "parity-scale-codec", + "polkadot-ckb-merkle-mountain-range", "scale-info", "serde", "sp-api", - "sp-core 28.0.0", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-runtime 39.0.0", "thiserror", ] [[package]] name = "sp-npos-elections" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "sp-offchain" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "sp-api", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "sp-panic-handler" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00e40857ed3e0187f145b037c733545c5633859f1bd1d1b09deb52805fa696a" +checksum = "d8f5a17a0a11de029a8b811cb6e8b32ce7e02183cc04a3e965c383246798c416" dependencies = [ "backtrace", "lazy_static", @@ -15174,7 +15674,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "backtrace", "lazy_static", @@ -15183,341 +15683,281 @@ dependencies = [ [[package]] name = "sp-rpc" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "32.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "rustc-hash", "serde", - "sp-core 28.0.0", + "sp-core 34.0.0", ] [[package]] name = "sp-runtime" -version = "29.0.0" +version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "082bae4a164b8b629ce9cee79ff3c6b20e66d11d8ef37398796567d616325da4" +checksum = "ec3cb126971e7db2f0fcf8053dce740684c438c7180cfca1959598230f342c58" dependencies = [ + "docify", "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", "parity-scale-codec", "paste", - "rand 0.8.5", + "rand", "scale-info", "serde", - "sp-application-crypto 28.0.0", - "sp-arithmetic 21.0.0", - "sp-core 26.0.0", - "sp-io 28.0.0", - "sp-std 12.0.0", - "sp-weights 25.0.0", + "simple-mermaid", + "sp-application-crypto 33.0.0", + "sp-arithmetic 25.0.0", + "sp-core 31.0.0", + "sp-io 33.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-weights 30.0.0", ] [[package]] name = "sp-runtime" -version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "docify", "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", + "num-traits", "parity-scale-codec", "paste", - "rand 0.8.5", + "rand", "scale-info", "serde", "simple-mermaid", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-weights 27.0.0", + "sp-application-crypto 38.0.0", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-weights 31.0.0", + "tracing", ] [[package]] name = "sp-runtime-interface" -version = "22.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "695bba5d981a6fd3131b098d65f620601bd822501612bfb65897d4bb660762b1" -dependencies = [ - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec", - "primitive-types", - "sp-externalities 0.23.0", - "sp-runtime-interface-proc-macro 15.0.0", - "sp-std 12.0.0", - "sp-storage 17.0.0", - "sp-tracing 14.0.0", - "sp-wasm-interface 18.0.0", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface" -version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +checksum = "e48a675ea4858333d4d755899ed5ed780174aa34fec15953428d516af5452295" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", + "polkavm-derive 0.8.0", "primitive-types", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-externalities 0.27.0", + "sp-runtime-interface-proc-macro 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 20.0.0", + "sp-tracing 16.0.0", + "sp-wasm-interface 20.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface" -version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#7c6ab07193e60a06de14f90fd3f618ac72ff17b6" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "polkavm-derive 0.9.1", "primitive-types", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-externalities 0.29.0", + "sp-runtime-interface-proc-macro 18.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-storage 21.0.0", + "sp-tracing 17.0.0", + "sp-wasm-interface 21.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "15.0.0" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2afcbd1bd18d323371111b66b7ac2870bdc1c86c3d7b0dae67b112ca52b4d8" +checksum = "0195f32c628fee3ce1dfbbf2e7e52a30ea85f3589da9fe62a8b816d70fc06294" dependencies = [ "Inflector", - "proc-macro-crate 1.1.3", - "proc-macro2", - "quote", - "syn 2.0.68", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" -dependencies = [ - "Inflector", - "expander 2.2.1", + "expander", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#7c6ab07193e60a06de14f90fd3f618ac72ff17b6" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "Inflector", - "expander 2.2.1", + "expander", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "sp-session" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.0", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", ] [[package]] name = "sp-staking" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "sp-state-machine" -version = "0.33.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df7c6680d9342c22c10d8272ebf9f0339b0e439b3e67b68f5627f9dfc6926a07" +checksum = "1eae0eac8034ba14437e772366336f579398a46d101de13dbb781ab1e35e67c5" dependencies = [ "hash-db", "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "smallvec", - "sp-core 26.0.0", - "sp-externalities 0.23.0", - "sp-panic-handler 12.0.0", - "sp-std 12.0.0", - "sp-trie 27.0.0", + "sp-core 31.0.0", + "sp-externalities 0.27.0", + "sp-panic-handler 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 32.0.0", "thiserror", "tracing", - "trie-db", + "trie-db 0.28.0", ] [[package]] name = "sp-state-machine" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "hash-db", "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "smallvec", - "sp-core 28.0.0", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-panic-handler 13.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "sp-core 34.0.0", + "sp-externalities 0.29.0", + "sp-panic-handler 13.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-trie 37.0.0", "thiserror", "tracing", - "trie-db", + "trie-db 0.29.1", ] [[package]] name = "sp-statement-store" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "aes-gcm", "curve25519-dalek 4.1.3", "ed25519-dalek", "hkdf", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sha2 0.10.8", "sp-api", - "sp-application-crypto 30.0.0", - "sp-core 28.0.0", - "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-runtime 31.0.1", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-externalities 0.29.0", + "sp-runtime 39.0.0", + "sp-runtime-interface 28.0.0", "thiserror", - "x25519-dalek 2.0.1", + "x25519-dalek", ] -[[package]] -name = "sp-std" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c78c5a66682568cc7b153603c5d01a2cc8f5c221c7b1e921517a0eef18ae05" - [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834" [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#7c6ab07193e60a06de14f90fd3f618ac72ff17b6" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" [[package]] name = "sp-storage" -version = "17.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016f20812cc51bd479cc88d048c35d44cd3adde4accdb159d49d6050f2953595" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 12.0.0", - "sp-std 12.0.0", -] - -[[package]] -name = "sp-storage" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +checksum = "8dba5791cb3978e95daf99dad919ecb3ec35565604e88cd38d805d9d4981e8bd" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-storage" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#7c6ab07193e60a06de14f90fd3f618ac72ff17b6" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", ] [[package]] name = "sp-timestamp" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", "thiserror", ] -[[package]] -name = "sp-tracing" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d727cb5265641ffbb7d4e42c18b63e29f6cfdbd240aae3bcf093c3d6eb29a19" -dependencies = [ - "parity-scale-codec", - "sp-std 12.0.0", - "tracing", - "tracing-core", - "tracing-subscriber 0.2.25", -] - [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0351810b9d074df71c4514c5228ed05c250607cba131c1c9d1526760ab69c05c" dependencies = [ "parity-scale-codec", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", "tracing-subscriber 0.2.25", @@ -15525,8 +15965,8 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#7c6ab07193e60a06de14f90fd3f618ac72ff17b6" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "tracing", @@ -15536,57 +15976,56 @@ dependencies = [ [[package]] name = "sp-transaction-pool" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "sp-api", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", ] [[package]] name = "sp-transaction-storage-proof" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-inherents", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-trie 29.0.0", + "sp-runtime 39.0.0", + "sp-trie 37.0.0", ] [[package]] name = "sp-trie" -version = "27.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c4bf89a5bd74f696cd1f23d83bb6abe6bd0abad1f3c70d4b0d7ebec4098cfe" +checksum = "f1aa91ad26c62b93d73e65f9ce7ebd04459c4bad086599348846a81988d6faa4" dependencies = [ "ahash 0.8.11", "hash-db", - "hashbrown 0.13.2", "lazy_static", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "scale-info", "schnellru", - "sp-core 26.0.0", - "sp-std 12.0.0", + "sp-core 31.0.0", + "sp-externalities 0.27.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", - "trie-db", + "trie-db 0.28.0", "trie-root", ] [[package]] name = "sp-trie" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "ahash 0.8.11", "hash-db", @@ -15595,22 +16034,21 @@ dependencies = [ "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "scale-info", "schnellru", - "sp-core 28.0.0", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-core 34.0.0", + "sp-externalities 0.29.0", "thiserror", "tracing", - "trie-db", + "trie-db 0.29.1", "trie-root", ] [[package]] name = "sp-version" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "impl-serde", "parity-scale-codec", @@ -15618,89 +16056,77 @@ dependencies = [ "scale-info", "serde", "sp-crypto-hashing-proc-macro", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "sp-version-proc-macro", "thiserror", ] [[package]] name = "sp-version-proc-macro" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "sp-wasm-interface" -version = "18.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d85813d46a22484cdf5e5afddbbe85442dd1b4d84d67a8c7792f92f9f93607" +checksum = "9ef97172c42eb4c6c26506f325f48463e9bc29b2034a587f1b9e48c751229bee" dependencies = [ "anyhow", "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 12.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmtime", ] [[package]] name = "sp-wasm-interface" -version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "anyhow", "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", "wasmtime", ] -[[package]] -name = "sp-wasm-interface" -version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#7c6ab07193e60a06de14f90fd3f618ac72ff17b6" -dependencies = [ - "impl-trait-for-tuples", - "log", - "parity-scale-codec", -] - [[package]] name = "sp-weights" -version = "25.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1689f9594c2c4d09ede3d8a991a9eb900654e424fb00b62f2b370170af347acd" +checksum = "9af6c661fe3066b29f9e1d258000f402ff5cc2529a9191972d214e5871d0ba87" dependencies = [ + "bounded-collections", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 21.0.0", - "sp-core 26.0.0", - "sp-debug-derive 12.0.0", - "sp-std 12.0.0", + "sp-arithmetic 25.0.0", + "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-weights" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "31.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "bounded-collections 0.2.0", + "bounded-collections", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 23.0.0", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-arithmetic 26.0.0", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", ] [[package]] @@ -15719,14 +16145,12 @@ dependencies = [ ] [[package]] -name = "spinners" -version = "4.1.1" +name = "spinning_top" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ef947f358b9c238923f764c72a4a9d42f2d637c46e059dbd319d6e7cfb4f82" +checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" dependencies = [ - "lazy_static", - "maplit", - "strum 0.24.1", + "lock_api", ] [[package]] @@ -15781,7 +16205,7 @@ dependencies = [ "futures-util", "hashlink", "hex", - "indexmap 2.2.6", + "indexmap 2.4.0", "log", "memchr", "native-tls", @@ -15882,25 +16306,24 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-parachain-info" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-runtime 39.0.0", ] [[package]] name = "staging-xcm" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "14.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "array-bytes 6.2.3", - "bounded-collections 0.2.0", + "array-bytes", + "bounded-collections", "derivative", "environmental", "impl-trait-for-tuples", @@ -15908,14 +16331,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-weights 27.0.0", + "sp-weights 31.0.0", "xcm-procedural", ] [[package]] name = "staging-xcm-builder" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "frame-system", @@ -15925,34 +16348,32 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "scale-info", - "sp-arithmetic 23.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-weights 27.0.0", + "sp-arithmetic 26.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-weights 31.0.0", "staging-xcm", "staging-xcm-executor", ] [[package]] name = "staging-xcm-executor" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "environmental", "frame-benchmarking", "frame-support", "impl-trait-for-tuples", - "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-weights 27.0.0", + "sp-arithmetic 26.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.0", + "sp-weights 31.0.0", "staging-xcm", + "tracing", ] [[package]] @@ -15968,7 +16389,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" dependencies = [ "bitflags 1.3.2", - "cfg_aliases", + "cfg_aliases 0.1.1", "libc", "parking_lot 0.11.2", "parking_lot_core 0.8.6", @@ -15982,7 +16403,7 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" dependencies = [ - "cfg_aliases", + "cfg_aliases 0.1.1", "memchr", "proc-macro2", "quote", @@ -15990,16 +16411,34 @@ dependencies = [ ] [[package]] -name = "strobe-rs" -version = "0.8.1" +name = "str0m" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabb238a1cccccfa4c4fb703670c0d157e1256c1ba695abf1b93bd2bb14bab2d" +checksum = "6706347e49b13373f7ddfafad47df7583ed52083d6fc8a594eb2c80497ef959d" dependencies = [ - "bitflags 1.3.2", - "byteorder", - "keccak", - "subtle 2.4.1", - "zeroize", + "combine", + "crc", + "fastrand 2.1.0", + "hmac 0.12.1", + "once_cell", + "openssl", + "openssl-sys", + "sctp-proto", + "serde", + "sha-1 0.10.1", + "thiserror", + "tracing", +] + +[[package]] +name = "string-interner" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c6a0d765f5807e98a091107bae0a56ea3799f66a5de47b2c84c94a39c09974e" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "serde", ] [[package]] @@ -16019,15 +16458,15 @@ name = "strum" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" -dependencies = [ - "strum_macros 0.24.3", -] [[package]] name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros 0.26.4", +] [[package]] name = "strum_macros" @@ -16052,35 +16491,48 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "substrate-bip39" -version = "0.4.6" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a7590dc041b9bc2825e52ce5af8416c73dbe9d0654402bfd4b4941938b94d8f" +checksum = "a2b564c293e6194e8b222e52436bcb99f60de72043c7f845cf6c4406db4df121" dependencies = [ - "hmac 0.11.0", - "pbkdf2 0.8.0", + "hmac 0.12.1", + "pbkdf2", "schnorrkel 0.11.4", - "sha2 0.9.9", + "sha2 0.10.8", + "zeroize", +] + +[[package]] +name = "substrate-bip39" +version = "0.6.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" +dependencies = [ + "hmac 0.12.1", + "pbkdf2", + "schnorrkel 0.11.4", + "sha2 0.10.8", "zeroize", ] [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" [[package]] name = "substrate-frame-rpc-system" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ + "docify", "frame-system-rpc-runtime-api", "futures", - "jsonrpsee", + "jsonrpsee 0.23.2", "log", "parity-scale-codec", "sc-rpc-api", @@ -16088,66 +16540,65 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.0", ] [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "hyper", + "http-body-util", + "hyper 1.4.1", + "hyper-util", "log", "prometheus", "thiserror", "tokio", ] -[[package]] -name = "substrate-rpc-client" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" -dependencies = [ - "async-trait", - "jsonrpsee", - "log", - "sc-rpc-api", - "serde", - "sp-runtime 31.0.1", -] - [[package]] name = "substrate-state-trie-migration-rpc" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.23.2", "parity-scale-codec", "sc-client-api", "sc-rpc-api", "serde", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-trie 29.0.0", - "trie-db", + "sp-core 34.0.0", + "sp-runtime 39.0.0", + "sp-state-machine 0.43.0", + "sp-trie 37.0.0", + "trie-db 0.29.1", ] [[package]] name = "substrate-wasm-builder" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "24.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ + "array-bytes", "build-helper", "cargo_metadata", "console", "filetime", + "frame-metadata 16.0.0", + "merkleized-metadata", + "parity-scale-codec", "parity-wasm", + "polkavm-linker", + "sc-executor", + "sp-core 34.0.0", + "sp-io 38.0.0", "sp-maybe-compressed-blob", - "strum 0.24.1", + "sp-tracing 17.0.0", + "sp-version", + "strum 0.26.3", "tempfile", - "toml 0.8.14", + "toml 0.8.19", "walkdir", "wasm-opt", ] @@ -16160,9 +16611,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.4.1" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "subtle-ng" @@ -16172,22 +16623,22 @@ checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" [[package]] name = "subxt" -version = "0.33.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7cf683962113b84ce5226bdf6f27d7f92a7e5bb408a5231f6c205407fbb20df" +checksum = "a160cba1edbf3ec4fbbeaea3f1a185f70448116a6bccc8276bb39adb3b3053bd" dependencies = [ "async-trait", - "base58", - "blake2 0.10.6", - "derivative", + "derive-where", "either", "frame-metadata 16.0.0", "futures", "hex", "impl-serde", - "jsonrpsee", + "instant", + "jsonrpsee 0.22.5", "parity-scale-codec", "primitive-types", + "reconnecting-jsonrpsee-ws-client", "scale-bits", "scale-decode", "scale-encode", @@ -16195,47 +16646,78 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-core 26.0.0", - "sp-core-hashing 13.0.0", - "sp-runtime 29.0.0", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "subxt-core", "subxt-lightclient", "subxt-macro", "subxt-metadata", "thiserror", + "tokio-util", "tracing", + "url", ] [[package]] name = "subxt-codegen" -version = "0.33.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12800ad6128b4bfc93d2af89b7d368bff7ea2f6604add35f96f6a8c06c7f9abf" +checksum = "d703dca0905cc5272d7cc27a4ac5f37dcaae7671acc7fef0200057cc8c317786" dependencies = [ "frame-metadata 16.0.0", - "heck 0.4.1", + "heck 0.5.0", "hex", - "jsonrpsee", + "jsonrpsee 0.22.5", "parity-scale-codec", "proc-macro2", "quote", "scale-info", + "scale-typegen", "subxt-metadata", - "syn 2.0.68", + "syn 2.0.75", "thiserror", "tokio", ] +[[package]] +name = "subxt-core" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59f41eb2e2eea6ed45649508cc735f92c27f1fcfb15229e75f8270ea73177345" +dependencies = [ + "base58", + "blake2 0.10.6", + "derive-where", + "frame-metadata 16.0.0", + "hashbrown 0.14.5", + "hex", + "impl-serde", + "parity-scale-codec", + "primitive-types", + "scale-bits", + "scale-decode", + "scale-encode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-core 31.0.0", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 34.0.0", + "subxt-metadata", + "tracing", +] + [[package]] name = "subxt-lightclient" -version = "0.33.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243765099b60d97dc7fc80456ab951758a07ed0decb5c09283783f06ca04fc69" +checksum = "9d9406fbdb9548c110803cb8afa750f8b911d51eefdf95474b11319591d225d9" dependencies = [ "futures", "futures-util", "serde", "serde_json", - "smoldot-light 0.12.0", + "smoldot-light 0.14.0", "thiserror", "tokio", "tokio-stream", @@ -16244,50 +16726,30 @@ dependencies = [ [[package]] name = "subxt-macro" -version = "0.33.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5086ce2a90e723083ff19b77f06805d00e732eac3e19c86f6cd643d4255d334" +checksum = "1c195f803d70687e409aba9be6c87115b5da8952cd83c4d13f2e043239818fcd" dependencies = [ - "darling 0.20.9", + "darling 0.20.10", "parity-scale-codec", "proc-macro-error", + "quote", + "scale-typegen", "subxt-codegen", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "subxt-metadata" -version = "0.33.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19dc60f779bcab44084053e12d4ad5ac18ee217dbe8e26c919e7086fc0228d30" +checksum = "738be5890fdeff899bbffff4d9c0f244fe2a952fb861301b937e3aa40ebb55da" dependencies = [ "frame-metadata 16.0.0", + "hashbrown 0.14.5", "parity-scale-codec", - "scale-info", - "sp-core-hashing 13.0.0", - "thiserror", -] - -[[package]] -name = "subxt-signer" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05cc81461f8262b62acf7bfe178a45f22a40336a6ace6a3093bd3e22d7012ba3" -dependencies = [ - "bip39", - "hex", - "hmac 0.12.1", - "parity-scale-codec", - "pbkdf2 0.12.2", - "regex", - "schnorrkel 0.11.4", - "secp256k1 0.28.2", - "secrecy", - "sha2 0.10.8", - "sp-core-hashing 13.0.0", - "subxt", - "thiserror", - "zeroize", + "scale-info", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -16303,9 +16765,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -16332,7 +16794,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -16364,20 +16826,21 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.14" +version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.10.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" dependencies = [ "cfg-if", "fastrand 2.1.0", + "once_cell", "rustix 0.38.34", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -16394,7 +16857,7 @@ dependencies = [ "percent-encoding", "pest", "pest_derive", - "rand 0.8.5", + "rand", "regex", "serde", "serde_json", @@ -16435,9 +16898,9 @@ checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] @@ -16459,18 +16922,18 @@ checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -16574,9 +17037,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -16589,52 +17052,62 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.39.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "parking_lot 0.12.3", - "pin-project-lite 0.2.14", + "pin-project-lite", "signal-hook-registry", "socket2 0.5.7", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] -name = "tokio-retry" -version = "0.3.0" +name = "tokio-rustls" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "pin-project", - "rand 0.8.5", + "rustls 0.21.12", "tokio", ] [[package]] name = "tokio-rustls" -version = "0.24.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" dependencies = [ - "rustls 0.21.12", + "rustls 0.22.4", + "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.12", + "rustls-pki-types", "tokio", ] @@ -16645,11 +17118,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", - "pin-project-lite 0.2.14", + "pin-project-lite", "tokio", "tokio-util", ] +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "rustls 0.21.12", + "rustls-native-certs 0.6.3", + "tokio", + "tokio-rustls 0.24.1", + "tungstenite", +] + [[package]] name = "tokio-util" version = "0.7.11" @@ -16660,7 +17148,7 @@ dependencies = [ "futures-core", "futures-io", "futures-sink", - "pin-project-lite 0.2.14", + "pin-project-lite", "tokio", ] @@ -16675,58 +17163,47 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.14" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit 0.22.20", ] [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] -[[package]] -name = "toml_edit" -version = "0.20.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow 0.5.40", -] - [[package]] name = "toml_edit" version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "toml_datetime", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.14" +version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.13", + "winnow 0.6.18", ] [[package]] @@ -16738,7 +17215,8 @@ dependencies = [ "futures-core", "futures-util", "pin-project", - "pin-project-lite 0.2.14", + "pin-project-lite", + "tokio", "tower-layer", "tower-service", "tracing", @@ -16746,33 +17224,31 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.4" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ "bitflags 2.6.0", "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-range-header", - "pin-project-lite 0.2.14", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "pin-project-lite", "tower-layer", "tower-service", ] [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -16781,7 +17257,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ "log", - "pin-project-lite 0.2.14", + "pin-project-lite", "tracing-attributes", "tracing-core", ] @@ -16794,7 +17270,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -16819,8 +17295,8 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "coarsetime", "polkadot-primitives", @@ -16831,13 +17307,13 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ - "expander 2.2.1", + "expander", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -16882,7 +17358,6 @@ dependencies = [ "chrono", "lazy_static", "matchers 0.0.1", - "parking_lot 0.11.2", "regex", "serde", "serde_json", @@ -16904,6 +17379,7 @@ dependencies = [ "matchers 0.1.0", "nu-ansi-term", "once_cell", + "parking_lot 0.12.3", "regex", "sharded-slab", "smallvec", @@ -16926,6 +17402,18 @@ dependencies = [ "smallvec", ] +[[package]] +name = "trie-db" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c992b4f40c234a074d48a757efeabb1a6be88af84c0c23f7ca158950cb0ae7f" +dependencies = [ + "hash-db", + "log", + "rustc-hex", + "smallvec", +] + [[package]] name = "trie-root" version = "0.18.0" @@ -16944,14 +17432,14 @@ dependencies = [ "async-trait", "cfg-if", "data-encoding", - "enum-as-inner", + "enum-as-inner 0.5.1", "futures-channel", "futures-io", "futures-util", "idna 0.2.3", "ipnet", "lazy_static", - "rand 0.8.5", + "rand", "smallvec", "socket2 0.4.10", "thiserror", @@ -16961,24 +17449,50 @@ dependencies = [ "url", ] +[[package]] +name = "trust-dns-proto" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3119112651c157f4488931a01e586aa459736e9d6046d3bd9105ffb69352d374" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner 0.6.0", + "futures-channel", + "futures-io", + "futures-util", + "idna 0.4.0", + "ipnet", + "once_cell", + "rand", + "smallvec", + "thiserror", + "tinyvec", + "tokio", + "tracing", + "url", +] + [[package]] name = "trust-dns-resolver" -version = "0.22.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe" +checksum = "10a3e6c3aff1718b3c73e395d1f35202ba2ffa847c6a62eea0db8fb4cfe30be6" dependencies = [ "cfg-if", "futures-util", "ipconfig", - "lazy_static", "lru-cache", + "once_cell", "parking_lot 0.12.3", + "rand", "resolv-conf", "smallvec", "thiserror", "tokio", "tracing", - "trust-dns-proto", + "trust-dns-proto 0.23.2", ] [[package]] @@ -16987,48 +17501,32 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "try-runtime-cli" -version = "0.38.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" -dependencies = [ - "async-trait", - "clap 4.5.7", - "frame-remote-externalities", - "frame-try-runtime", - "hex", - "log", - "parity-scale-codec", - "sc-cli", - "sc-executor", - "serde", - "serde_json", - "sp-api", - "sp-consensus-aura", - "sp-consensus-babe", - "sp-core 28.0.0", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-inherents", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-rpc", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-timestamp", - "sp-transaction-storage-proof", - "sp-version", - "sp-weights 27.0.0", - "substrate-rpc-client", - "zstd 0.12.4", -] - [[package]] name = "tt-call" version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 0.2.12", + "httparse", + "log", + "rand", + "rustls 0.21.12", + "sha1", + "thiserror", + "url", + "utf-8", +] + [[package]] name = "twox-hash" version = "1.6.3" @@ -17037,7 +17535,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand 0.8.5", + "rand", "static_assertions", ] @@ -17156,9 +17654,9 @@ checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" [[package]] name = "unicode_categories" @@ -17173,7 +17671,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] @@ -17188,6 +17686,16 @@ dependencies = [ "futures-util", ] +[[package]] +name = "unsigned-varint" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" +dependencies = [ + "bytes", + "tokio-util", +] + [[package]] name = "untrusted" version = "0.7.1" @@ -17217,6 +17725,12 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + [[package]] name = "utf8parse" version = "0.2.2" @@ -17247,9 +17761,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "void" @@ -17272,8 +17786,8 @@ dependencies = [ "arrayref", "constcat", "digest 0.10.7", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "rand_core 0.6.4", "sha2 0.10.8", "sha3 0.10.8", @@ -17306,12 +17820,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -17324,39 +17832,40 @@ version = "0.12.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1fbb4ef9bbca0c1170e0b00dd28abc9e3b68669821600cad1caaed606583c6d" dependencies = [ - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" dependencies = [ "cfg-if", "js-sys", @@ -17366,9 +17875,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -17376,22 +17885,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "wasm-instrument" @@ -17466,7 +17975,24 @@ dependencies = [ "smallvec", "spin 0.9.8", "wasmi_arena", - "wasmi_core", + "wasmi_core 0.13.0", + "wasmparser-nostd", +] + +[[package]] +name = "wasmi" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50386c99b9c32bd2ed71a55b6dd4040af2580530fae8bdb9a6576571a80d0cca" +dependencies = [ + "arrayvec 0.7.6", + "multi-stash", + "num-derive", + "num-traits", + "smallvec", + "spin 0.9.8", + "wasmi_collections", + "wasmi_core 0.32.3", "wasmparser-nostd", ] @@ -17476,6 +18002,17 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073" +[[package]] +name = "wasmi_collections" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c128c039340ffd50d4195c3f8ce31aac357f06804cfc494c8b9508d4b30dca4" +dependencies = [ + "ahash 0.8.11", + "hashbrown 0.14.5", + "string-interner", +] + [[package]] name = "wasmi_core" version = "0.13.0" @@ -17488,6 +18025,18 @@ dependencies = [ "paste", ] +[[package]] +name = "wasmi_core" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23b3a7f6c8c3ceeec6b83531ee61f0013c56e51cbf2b14b0f213548b23a4b41" +dependencies = [ + "downcast-rs", + "libm", + "num-traits", + "paste", +] + [[package]] name = "wasmparser" version = "0.102.0" @@ -17682,7 +18231,7 @@ dependencies = [ "memfd", "memoffset", "paste", - "rand 0.8.5", + "rand", "rustix 0.36.17", "wasmtime-asm-macros", "wasmtime-environ", @@ -17704,9 +18253,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" dependencies = [ "js-sys", "wasm-bindgen", @@ -17724,17 +18273,23 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.6" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "webpki-roots" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" dependencies = [ - "webpki", + "rustls-pki-types", ] [[package]] name = "westend-runtime" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "binary-merkle-tree", "bitvec", @@ -17759,6 +18314,7 @@ dependencies = [ "pallet-beefy-mmr", "pallet-collective", "pallet-conviction-voting", + "pallet-delegated-staking", "pallet-democracy", "pallet-election-provider-multi-phase", "pallet-election-provider-support-benchmarking", @@ -17766,7 +18322,6 @@ dependencies = [ "pallet-fast-unstake", "pallet-grandpa", "pallet-identity", - "pallet-im-online", "pallet-indices", "pallet-membership", "pallet-message-queue", @@ -17805,30 +18360,28 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-common", "polkadot-runtime-parachains", - "rustc-hex", "scale-info", "serde", "serde_derive", "smallvec", "sp-api", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-application-crypto 38.0.0", + "sp-arithmetic 26.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", - "sp-core 28.0.0", + "sp-core 34.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io 38.0.0", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime 39.0.0", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0)", + "sp-storage 21.0.0", "sp-transaction-pool", "sp-version", "staging-xcm", @@ -17836,20 +18389,21 @@ dependencies = [ "staging-xcm-executor", "substrate-wasm-builder", "westend-runtime-constants", + "xcm-runtime-apis", ] [[package]] name = "westend-runtime-constants" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "frame-support", "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-core 34.0.0", + "sp-runtime 39.0.0", + "sp-weights 31.0.0", "staging-xcm", "staging-xcm-builder", ] @@ -17868,9 +18422,9 @@ dependencies = [ [[package]] name = "wide" -version = "0.7.24" +version = "0.7.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a040b111774ab63a19ef46bbc149398ab372b4ccdcfd719e9814dbd7dfd76c8" +checksum = "b828f995bf1e9622031f8009f8481a85406ce1f4d4588ff746d872043e855690" dependencies = [ "bytemuck", "safe_arch", @@ -17900,11 +18454,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -17938,7 +18492,22 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -17965,7 +18534,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -18000,18 +18578,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -18028,9 +18606,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -18046,9 +18624,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -18064,15 +18642,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -18088,9 +18666,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -18106,9 +18684,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -18124,9 +18702,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -18142,9 +18720,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -18157,9 +18735,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.13" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] @@ -18183,17 +18761,6 @@ dependencies = [ "tap", ] -[[package]] -name = "x25519-dalek" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" -dependencies = [ - "curve25519-dalek 3.2.0", - "rand_core 0.5.1", - "zeroize", -] - [[package]] name = "x25519-dalek" version = "2.0.1" @@ -18208,17 +18775,33 @@ dependencies = [ [[package]] name = "x509-parser" -version = "0.14.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" +checksum = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da" dependencies = [ - "asn1-rs", - "base64 0.13.1", + "asn1-rs 0.5.2", + "data-encoding", + "der-parser 8.2.0", + "lazy_static", + "nom", + "oid-registry 0.6.1", + "rusticata-macros", + "thiserror", + "time", +] + +[[package]] +name = "x509-parser" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" +dependencies = [ + "asn1-rs 0.6.2", "data-encoding", - "der-parser", + "der-parser 9.0.0", "lazy_static", "nom", - "oid-registry", + "oid-registry 0.7.0", "rusticata-macros", "thiserror", "time", @@ -18226,26 +18809,56 @@ dependencies = [ [[package]] name = "xcm-procedural" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.0#851c824dc7a8e7e6db2d0c9fb29d232f2f45198a" +version = "10.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", +] + +[[package]] +name = "xcm-runtime-apis" +version = "0.3.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#16b0fd09d9e9281c20ee0c1d8b87d011e3e3454e" +dependencies = [ + "frame-support", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-weights 31.0.0", + "staging-xcm", + "staging-xcm-executor", +] + +[[package]] +name = "xml-rs" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "539a77ee7c0de333dcc6da69b177380a0b81e0dacfa4f7344c465a36871ee601" + +[[package]] +name = "xmltree" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb" +dependencies = [ + "xml-rs", ] [[package]] name = "yamux" -version = "0.10.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" +checksum = "9ed0164ae619f2dc144909a9f082187ebb5893693d8c0196e8085283ccd4b776" dependencies = [ "futures", "log", "nohash-hasher", "parking_lot 0.12.3", - "rand 0.8.5", + "pin-project", + "rand", "static_assertions", ] @@ -18266,22 +18879,23 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -18301,7 +18915,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -18344,9 +18958,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.11+zstd.1.5.6" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 96be7da..af7abd9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,18 +17,6 @@ overflow-checks = true members = [ "node", "runtime", - "pallets/on-demand", - "pallets/bulk", - "primitives/system", - "pallets/evm-utils", - "pallets/evm/precompile/substrate-utils", - "pallets/evm/precompile/transfer-to-magnet", - "pallets/pot/runtime-api", - "pallets/pot/rpc", - "pallets/pot", - "pallets/assurance", - "pallets/liquidation", - "pallets/assets-bridge", ] resolver = "2" @@ -40,199 +28,204 @@ license = "Apache License 2.0" repository = "https://github.com/Magport/Magnet" [workspace.dependencies] -array-bytes = "6.1" -assert_matches = "1.3.0" +array-bytes = { version = "6.2.2", default-features = false } +assert_matches = { version = "1.5.0" } async-trait = "0.1.73" -bounded-collections = { version = "0.1.8", default-features = false } +bounded-collections = { version = "0.2.0", default-features = false } clap ="4.5" -codec = { package = "parity-scale-codec", version = "3.6.4", default-features = false } +codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" } color-print = "0.3.4" ethabi = "18.0.0" futures = "0.3.30" hex = { version = "0.4.3", default-features = false } hex-literal = "0.4.1" impl-trait-for-tuples = "0.2.1" -jsonrpsee ="0.20.3" +jsonrpsee = { version = "0.23.2" } log = { version = "0.4.20", default-features = false } -parity-scale-codec = { version = "3.6.4", default-features = false } -scale-codec = { package = "parity-scale-codec", version = "3.6.4", default-features = false, features = ["derive"] } scale-info = { version = "2.10.0", default-features = false, features = ["derive", "serde"] } schnellru = "0.2.1" -serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"] } -serde_json = "1.0.105" +serde = { version = "1.0.197", default-features = false } +serde_json = { version = "1.0.114", default-features = false } smallvec = "1.11.0" -subxt = {version = "0.33.0"} -subxt-signer = {version = "0.33.0"} +subxt = {version = "0.37.0"} +subxt-signer = {version = "0.37.0"} tracing = "0.1.37" url = "2.4.0" termcolor = "1.1.3" rand = "0.8.5" rand_core = "0.6.4" rand_chacha = "0.3.1" +docify = { version = "0.2.8" } +parachain-magnet-runtime = { path = "./runtime", version = "0.6.0" } # Substrate Client -sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } +sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } # Substrate Primitive -sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-application-crypto = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-state-machine = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -pallet-broker = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-storage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } +sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-application-crypto = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-state-machine = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-broker = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-storage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407"} # Substrate FRAME -frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-assets = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-contracts = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-conviction-voting = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-ranked-collective = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-referenda = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-society ={ git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -pallet-whitelist = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} +frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-assets = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-contracts = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-conviction-voting = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-ranked-collective = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-referenda = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-society ={ git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-whitelist = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} # Substrate Utility -substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } +substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false, package = "substrate-prometheus-endpoint"} # XCM -xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} +xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} # Cumulus Client -cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -cumulus-client-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0"} +cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407"} + # Cumulus Primitive -cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -cumulus-primitives-timestamp ={ git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } +cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-primitives-timestamp ={ git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-storage-weight-reclaim = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } + # Cumulus Pallet -cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -cumulus-pallet-session-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false} -cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -parachains-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } +cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-session-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false} +cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +parachains-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # Polkadot -pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -polkadot-node-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -polkadot-node-subsystem = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -polkadot-overseer = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" } -polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -primitives = { package = "polkadot-primitives", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0" , default-features = false } -runtime-parachains = { package = "polkadot-runtime-parachains", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } -polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.0", default-features = false } +pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-node-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +polkadot-node-subsystem = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +polkadot-overseer = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +primitives = { package = "polkadot-primitives", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" , default-features = false } +runtime-parachains = { package = "polkadot-runtime-parachains", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # Frontier Primitive -fp-account = { version = "1.0.0-dev", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -fp-evm = { version = "3.0.0-dev", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -fp-dynamic-fee = { version = "1.0.0", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -fp-rpc = { git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -fp-self-contained = { version = "1.0.0-dev", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false, features = ["serde", "try-runtime"] } +fp-account = { version = "1.0.0-dev", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +fp-evm = { version = "3.0.0-dev", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +fp-dynamic-fee = { version = "1.0.0", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +fp-rpc = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +fp-self-contained = { version = "1.0.0-dev", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false, features = ["serde", "try-runtime"] } # Frontier Client -fc-api = { git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -fc-cli = { git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -fc-consensus = { git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -fc-db = { git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -fc-mapping-sync = { git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -fc-rpc = { git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -fc-rpc-core = { git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -fc-storage = { git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } +fc-api = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +fc-cli = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +fc-consensus = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +fc-db = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +fc-mapping-sync = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +fc-rpc = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +fc-rpc-core = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +fc-storage = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } #Frontier FRAME -pallet-base-fee = { version = "1.0.0", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -pallet-dynamic-fee = { version = "4.0.0-dev", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -pallet-ethereum = { version = "4.0.0-dev", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -pallet-evm = { version = "6.0.0-dev", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -pallet-evm-chain-id = { version = "1.0.0-dev", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -pallet-evm-precompile-modexp = { version = "2.0.0-dev", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -pallet-evm-precompile-sha3fips = { version = "2.0.0-dev", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -pallet-evm-precompile-simple = { version = "2.0.0-dev", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -pallet-hotfix-sufficients = { version = "1.0.0", git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } -precompile-utils = { git = "https://github.com/paritytech/frontier", branch = "polkadot-v1.7.0", default-features = false } +pallet-base-fee = { version = "1.0.0", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +pallet-dynamic-fee = { version = "4.0.0-dev", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +pallet-ethereum = { version = "4.0.0-dev", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +pallet-evm = { version = "6.0.0-dev", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +pallet-evm-chain-id = { version = "1.0.0-dev", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +pallet-evm-precompile-modexp = { version = "2.0.0-dev", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +pallet-evm-precompile-sha3fips = { version = "2.0.0-dev", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +pallet-evm-precompile-simple = { version = "2.0.0-dev", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +pallet-hotfix-sufficients = { version = "1.0.0", git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } +precompile-utils = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2407", default-features = false } #Move pallet -pallet-move = { git = "https://github.com/Magport/pallet-move", branch = "main", default-features = false } -pallet-move-rpc = {package = "pallet-move-rpc", git = "https://github.com/Magport/pallet-move", branch = "main", default-features = false } +pallet-move = { git = "https://github.com/Magport/pallet-move", branch = "stable2407", default-features = false } +pallet-move-rpc = {package = "pallet-move-rpc", git = "https://github.com/Magport/pallet-move", branch = "stable2407", default-features = false } diff --git a/client/coretime/bulk/Cargo.toml b/client/coretime/bulk/Cargo.toml index 520a191..d6656f4 100644 --- a/client/coretime/bulk/Cargo.toml +++ b/client/coretime/bulk/Cargo.toml @@ -10,7 +10,7 @@ version = "0.1.0" [dependencies] async-trait = { workspace = true } -codec = { package = "parity-scale-codec", workspace = true, features = [ "derive" ] } +codec = { workspace = true } futures = { workspace = true } tracing = { workspace = true } schnellru = { workspace = true } diff --git a/client/coretime/bulk/src/lib.rs b/client/coretime/bulk/src/lib.rs index cac6112..dc2d0f7 100644 --- a/client/coretime/bulk/src/lib.rs +++ b/client/coretime/bulk/src/lib.rs @@ -29,12 +29,12 @@ use futures::{lock::Mutex, select, FutureExt}; use mc_coretime_common::is_parathread; use mp_coretime_bulk::{ self, well_known_keys::broker_regions, BulkMemRecord, BulkMemRecordItem, BulkRuntimeApi, - BulkStatus, + BulkStatus, RegionRecord, RegionRecordV0, }; use mp_coretime_common::{ chain_state_snapshot::GenericStateProof, well_known_keys::SYSTEM_BLOCKHASH_GENESIS, }; -use pallet_broker::{CoreMask, RegionId, RegionRecord}; +use pallet_broker::{CoreMask, RegionId}; use polkadot_primitives::{AccountId, Balance}; use sc_client_api::UsageProvider; use sc_service::TaskManager; @@ -78,9 +78,15 @@ where let rpc_url = std::str::from_utf8(&url)?; - let api = OnlineClient::::from_url(rpc_url).await?; + let api_client = OnlineClient::::from_url(rpc_url).await; - let mut blocks_sub = api.blocks().subscribe_best().await?; + let api = if let Ok(ok_api) = api_client { + ok_api + } else { + return Ok(()); + }; + + let mut blocks_sub = api.blocks().subscribe_finalized().await?; // For each block, print a bunch of information about it: while let Some(block) = blocks_sub.next().await { @@ -93,9 +99,18 @@ where continue; } let block_number = block.header().number; + let block_hash = block.hash(); let mut bulk_record_local = bulk_record.lock().await; bulk_record_local.coretime_para_height = block_number; + let record_index = parachain.runtime_api().record_index(hash)?; + // Remove useless item. + let record_items = &mut bulk_record_local.items; + if let Some(pos) = record_items.iter().position(|item| { + (item.status == BulkStatus::CoreAssigned) && (item.record_index + 1 == record_index) + }) { + record_items.remove(pos); + } let events = block.events().await?; for event in events.iter() { let event = event?; @@ -136,10 +151,8 @@ where relevant_keys.push(region_key.as_slice()); relevant_keys.push(block_hash_key); - let proof = rpc - .state_get_read_proof(relevant_keys, Some(events.block_hash())) - .await - .unwrap(); + let proof = + rpc.state_get_read_proof(relevant_keys, Some(block_hash)).await?; let storage_proof = StorageProof::new(proof.proof.into_iter().map(|bytes| bytes.to_vec())); @@ -155,8 +168,23 @@ where None, ) .ok(); + let mut proof_gen = false; // Check proof is ok. if head_data.is_some() { + proof_gen = true; + } else { + // decode to lower version + let head_data = relay_storage_rooted_proof + .read_entry::>( + region_key.as_slice(), + None, + ) + .ok(); + if head_data.is_some() { + proof_gen = true; + } + } + if proof_gen { // Record some data. let record_item = BulkMemRecordItem { storage_proof, @@ -166,6 +194,7 @@ where status: BulkStatus::Assigned, start_relaychain_height: 0, end_relaychain_height: 0, + record_index, }; bulk_record_local.items.push(record_item); } @@ -176,7 +205,6 @@ where // Query CoreAssigned event. let ev_core_assigned = event.as_event::(); - if let Ok(core_assigned_event) = ev_core_assigned { if let Some(ev) = core_assigned_event { log::info!( @@ -220,7 +248,6 @@ where } } } - Ok(()) } pub async fn run_coretime_bulk_task( @@ -236,9 +263,12 @@ pub async fn run_coretime_bulk_task( { let bulk_task = async move { loop { - let _ = + let result = coretime_bulk_task(&*parachain, relay_chain.clone(), para_id, bulk_record.clone()) .await; + if let Err(err) = result { + log::info!("==============run_coretime_bulk_task error:{:?}", err); + } } }; select! { diff --git a/client/coretime/bulk/src/metadata.rs b/client/coretime/bulk/src/metadata.rs index 9aa3fd0..e7f509d 100644 --- a/client/coretime/bulk/src/metadata.rs +++ b/client/coretime/bulk/src/metadata.rs @@ -19,15 +19,15 @@ //! The data type here is generated by the subxt tool and represents the event-related data of the coretime parachain. //! #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum CoreAssignment { #[codec(index = 0)] Idle, @@ -38,48 +38,48 @@ pub enum CoreAssignment { } #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct CoreAssigned { pub core: u16, pub when: u32, pub assignment: Vec<(CoreAssignment, u16)>, } -impl subxt::events::StaticEvent for CoreAssigned { +impl ::subxt::ext::subxt_core::events::StaticEvent for CoreAssigned { const PALLET: &'static str = "Broker"; const EVENT: &'static str = "CoreAssigned"; } #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct CoreMask(pub [u8; 10usize]); #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct RegionId { pub begin: u32, pub core: u16, @@ -87,22 +87,22 @@ pub struct RegionId { } #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct Assigned { pub region_id: RegionId, pub duration: u32, pub task: u32, } -impl ::subxt::events::StaticEvent for Assigned { +impl ::subxt::ext::subxt_core::events::StaticEvent for Assigned { const PALLET: &'static str = "Broker"; const EVENT: &'static str = "Assigned"; } diff --git a/client/coretime/common/Cargo.toml b/client/coretime/common/Cargo.toml index d9d4a4d..8d42408 100644 --- a/client/coretime/common/Cargo.toml +++ b/client/coretime/common/Cargo.toml @@ -10,12 +10,13 @@ version = "0.1.0" [dependencies] async-trait = { workspace = true } -codec = { package = "parity-scale-codec", workspace = true, features = [ "derive" ] } +codec = {workspace = true} futures = { workspace = true } tracing = { workspace = true } schnellru = { workspace = true } log = { workspace = true } subxt = { workspace = true, features = ["substrate-compat"]} +scale-info = { workspace = true, features = ["derive", "serde"] } mp-coretime-common = { path = "../../../primitives/coretime/common"} @@ -42,6 +43,7 @@ substrate-prometheus-endpoint = { workspace = true } sc-service = { workspace = true } pallet-broker = { workspace = true} sp-storage = { workspace = true } +frame-support = { workspace = true } # Cumulus cumulus-client-consensus-common = { workspace = true } diff --git a/client/coretime/common/src/configuration.rs b/client/coretime/common/src/configuration.rs new file mode 100644 index 0000000..fcf29b0 --- /dev/null +++ b/client/coretime/common/src/configuration.rs @@ -0,0 +1,434 @@ +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . + +use codec::{Decode, Encode}; +use polkadot_primitives::v7::NodeFeatures; +use polkadot_primitives::{AsyncBackingParams, Balance, ExecutorParams, SessionIndex}; +use sp_runtime::Perbill; + +#[derive(Clone, Encode, Decode, Debug)] +pub struct V8HostConfiguration { + pub max_code_size: u32, + pub max_head_data_size: u32, + pub max_upward_queue_count: u32, + pub max_upward_queue_size: u32, + pub max_upward_message_size: u32, + pub max_upward_message_num_per_candidate: u32, + pub hrmp_max_message_num_per_candidate: u32, + pub validation_upgrade_cooldown: BlockNumber, + pub validation_upgrade_delay: BlockNumber, + pub async_backing_params: AsyncBackingParams, + pub max_pov_size: u32, + pub max_downward_message_size: u32, + pub hrmp_max_parachain_outbound_channels: u32, + pub hrmp_sender_deposit: Balance, + pub hrmp_recipient_deposit: Balance, + pub hrmp_channel_max_capacity: u32, + pub hrmp_channel_max_total_size: u32, + pub hrmp_max_parachain_inbound_channels: u32, + pub hrmp_channel_max_message_size: u32, + pub executor_params: ExecutorParams, + pub code_retention_period: BlockNumber, + pub on_demand_cores: u32, + pub on_demand_retries: u32, + pub on_demand_queue_max_size: u32, + pub on_demand_target_queue_utilization: Perbill, + pub on_demand_fee_variability: Perbill, + pub on_demand_base_fee: Balance, + pub on_demand_ttl: BlockNumber, + pub group_rotation_frequency: BlockNumber, + pub paras_availability_period: BlockNumber, + pub scheduling_lookahead: u32, + pub max_validators_per_core: Option, + pub max_validators: Option, + pub dispute_period: SessionIndex, + pub dispute_post_conclusion_acceptance_period: BlockNumber, + pub no_show_slots: u32, + pub n_delay_tranches: u32, + pub zeroth_delay_tranche_width: u32, + pub needed_approvals: u32, + pub relay_vrf_modulo_samples: u32, + pub pvf_voting_ttl: SessionIndex, + pub minimum_validation_upgrade_delay: BlockNumber, +} + +#[derive(Clone, Encode, Decode, Debug)] +pub struct V9HostConfiguration { + pub max_code_size: u32, + pub max_head_data_size: u32, + pub max_upward_queue_count: u32, + pub max_upward_queue_size: u32, + pub max_upward_message_size: u32, + pub max_upward_message_num_per_candidate: u32, + pub hrmp_max_message_num_per_candidate: u32, + pub validation_upgrade_cooldown: BlockNumber, + pub validation_upgrade_delay: BlockNumber, + pub async_backing_params: AsyncBackingParams, + pub max_pov_size: u32, + pub max_downward_message_size: u32, + pub hrmp_max_parachain_outbound_channels: u32, + pub hrmp_sender_deposit: Balance, + pub hrmp_recipient_deposit: Balance, + pub hrmp_channel_max_capacity: u32, + pub hrmp_channel_max_total_size: u32, + pub hrmp_max_parachain_inbound_channels: u32, + pub hrmp_channel_max_message_size: u32, + pub executor_params: ExecutorParams, + pub code_retention_period: BlockNumber, + pub on_demand_cores: u32, + pub on_demand_retries: u32, + pub on_demand_queue_max_size: u32, + pub on_demand_target_queue_utilization: Perbill, + pub on_demand_fee_variability: Perbill, + pub on_demand_base_fee: Balance, + pub on_demand_ttl: BlockNumber, + pub group_rotation_frequency: BlockNumber, + pub paras_availability_period: BlockNumber, + pub scheduling_lookahead: u32, + pub max_validators_per_core: Option, + pub max_validators: Option, + pub dispute_period: SessionIndex, + pub dispute_post_conclusion_acceptance_period: BlockNumber, + pub no_show_slots: u32, + pub n_delay_tranches: u32, + pub zeroth_delay_tranche_width: u32, + pub needed_approvals: u32, + pub relay_vrf_modulo_samples: u32, + pub pvf_voting_ttl: SessionIndex, + pub minimum_validation_upgrade_delay: BlockNumber, + pub minimum_backing_votes: u32, +} + +#[derive(Clone, Encode, PartialEq, Decode, Debug)] +pub struct V10HostConfiguration { + pub max_code_size: u32, + pub max_head_data_size: u32, + pub max_upward_queue_count: u32, + pub max_upward_queue_size: u32, + pub max_upward_message_size: u32, + pub max_upward_message_num_per_candidate: u32, + pub hrmp_max_message_num_per_candidate: u32, + pub validation_upgrade_cooldown: BlockNumber, + pub validation_upgrade_delay: BlockNumber, + pub async_backing_params: AsyncBackingParams, + pub max_pov_size: u32, + pub max_downward_message_size: u32, + pub hrmp_max_parachain_outbound_channels: u32, + pub hrmp_sender_deposit: Balance, + pub hrmp_recipient_deposit: Balance, + pub hrmp_channel_max_capacity: u32, + pub hrmp_channel_max_total_size: u32, + pub hrmp_max_parachain_inbound_channels: u32, + pub hrmp_channel_max_message_size: u32, + pub executor_params: ExecutorParams, + pub code_retention_period: BlockNumber, + pub on_demand_cores: u32, + pub on_demand_retries: u32, + pub on_demand_queue_max_size: u32, + pub on_demand_target_queue_utilization: Perbill, + pub on_demand_fee_variability: Perbill, + pub on_demand_base_fee: Balance, + pub on_demand_ttl: BlockNumber, + pub group_rotation_frequency: BlockNumber, + pub paras_availability_period: BlockNumber, + pub scheduling_lookahead: u32, + pub max_validators_per_core: Option, + pub max_validators: Option, + pub dispute_period: SessionIndex, + pub dispute_post_conclusion_acceptance_period: BlockNumber, + pub no_show_slots: u32, + pub n_delay_tranches: u32, + pub zeroth_delay_tranche_width: u32, + pub needed_approvals: u32, + pub relay_vrf_modulo_samples: u32, + pub pvf_voting_ttl: SessionIndex, + pub minimum_validation_upgrade_delay: BlockNumber, + pub minimum_backing_votes: u32, + pub node_features: NodeFeatures, +} + +#[derive(Copy, Clone, PartialEq, Encode, Decode)] +pub struct ApprovalVotingParams { + /// The maximum number of candidates `approval-voting` can vote for with + /// a single signatures. + /// + /// Setting it to 1, means we send the approval as soon as we have it available. + pub max_approval_coalesce_count: u32, +} +#[derive(Clone, Encode, PartialEq, Decode)] +pub struct V11HostConfiguration { + pub max_code_size: u32, + pub max_head_data_size: u32, + pub max_upward_queue_count: u32, + pub max_upward_queue_size: u32, + pub max_upward_message_size: u32, + pub max_upward_message_num_per_candidate: u32, + pub hrmp_max_message_num_per_candidate: u32, + pub validation_upgrade_cooldown: BlockNumber, + pub validation_upgrade_delay: BlockNumber, + pub async_backing_params: AsyncBackingParams, + pub max_pov_size: u32, + pub max_downward_message_size: u32, + pub hrmp_max_parachain_outbound_channels: u32, + pub hrmp_sender_deposit: Balance, + pub hrmp_recipient_deposit: Balance, + pub hrmp_channel_max_capacity: u32, + pub hrmp_channel_max_total_size: u32, + pub hrmp_max_parachain_inbound_channels: u32, + pub hrmp_channel_max_message_size: u32, + pub executor_params: ExecutorParams, + pub code_retention_period: BlockNumber, + pub coretime_cores: u32, + pub on_demand_retries: u32, + pub on_demand_queue_max_size: u32, + pub on_demand_target_queue_utilization: Perbill, + pub on_demand_fee_variability: Perbill, + pub on_demand_base_fee: Balance, + pub on_demand_ttl: BlockNumber, + pub group_rotation_frequency: BlockNumber, + pub paras_availability_period: BlockNumber, + pub scheduling_lookahead: u32, + pub max_validators_per_core: Option, + pub max_validators: Option, + pub dispute_period: SessionIndex, + pub dispute_post_conclusion_acceptance_period: BlockNumber, + pub no_show_slots: u32, + pub n_delay_tranches: u32, + pub zeroth_delay_tranche_width: u32, + pub needed_approvals: u32, + pub relay_vrf_modulo_samples: u32, + pub pvf_voting_ttl: SessionIndex, + pub minimum_validation_upgrade_delay: BlockNumber, + pub minimum_backing_votes: u32, + pub node_features: NodeFeatures, + pub approval_voting_params: ApprovalVotingParams, +} +#[derive(Copy, Clone, PartialEq, Encode, Decode)] +pub struct SchedulerParams { + /// How often parachain groups should be rotated across parachains. + /// + /// Must be non-zero. + pub group_rotation_frequency: BlockNumber, + /// Availability timeout for a block on a core, measured in blocks. + /// + /// This is the maximum amount of blocks after a core became occupied that validators have time + /// to make the block available. + /// + /// This value only has effect on group rotations. If backers backed something at the end of + /// their rotation, the occupied core affects the backing group that comes afterwards. We limit + /// the effect one backing group can have on the next to `paras_availability_period` blocks. + /// + /// Within a group rotation there is no timeout as backers are only affecting themselves. + /// + /// Must be at least 1. With a value of 1, the previous group will not be able to negatively + /// affect the following group at the expense of a tight availability timeline at group + /// rotation boundaries. + pub paras_availability_period: BlockNumber, + /// The maximum number of validators to have per core. + /// + /// `None` means no maximum. + pub max_validators_per_core: Option, + /// The amount of blocks ahead to schedule paras. + pub lookahead: u32, + /// How many cores are managed by the coretime chain. + pub num_cores: u32, + /// The max number of times a claim can time out in availability. + pub max_availability_timeouts: u32, + /// The maximum queue size of the pay as you go module. + pub on_demand_queue_max_size: u32, + /// The target utilization of the spot price queue in percentages. + pub on_demand_target_queue_utilization: Perbill, + /// How quickly the fee rises in reaction to increased utilization. + /// The lower the number the slower the increase. + pub on_demand_fee_variability: Perbill, + /// The minimum amount needed to claim a slot in the spot pricing queue. + pub on_demand_base_fee: Balance, + /// The number of blocks a claim stays in the scheduler's claim queue before getting cleared. + /// This number should go reasonably higher than the number of blocks in the async backing + /// lookahead. + pub ttl: BlockNumber, +} +#[derive(Clone, Encode, Decode, PartialEq)] +pub struct HostConfiguration { + // NOTE: This structure is used by parachains via merkle proofs. Therefore, this struct + // requires special treatment. + // + // A parachain requested this struct can only depend on the subset of this struct. + // Specifically, only a first few fields can be depended upon. These fields cannot be changed + // without corresponding migration of the parachains. + /** + * The parameters that are required for the parachains. + */ + + /// The maximum validation code size, in bytes. + pub max_code_size: u32, + /// The maximum head-data size, in bytes. + pub max_head_data_size: u32, + /// Total number of individual messages allowed in the parachain -> relay-chain message queue. + pub max_upward_queue_count: u32, + /// Total size of messages allowed in the parachain -> relay-chain message queue before which + /// no further messages may be added to it. If it exceeds this then the queue may contain only + /// a single message. + pub max_upward_queue_size: u32, + /// The maximum size of an upward message that can be sent by a candidate. + /// + /// This parameter affects the size upper bound of the `CandidateCommitments`. + pub max_upward_message_size: u32, + /// The maximum number of messages that a candidate can contain. + /// + /// This parameter affects the size upper bound of the `CandidateCommitments`. + pub max_upward_message_num_per_candidate: u32, + /// The maximum number of outbound HRMP messages can be sent by a candidate. + /// + /// This parameter affects the upper bound of size of `CandidateCommitments`. + pub hrmp_max_message_num_per_candidate: u32, + /// The minimum period, in blocks, between which parachains can update their validation code. + /// + /// This number is used to prevent parachains from spamming the relay chain with validation + /// code upgrades. The only thing it controls is the number of blocks the + /// `UpgradeRestrictionSignal` is set for the parachain in question. + /// + /// If PVF pre-checking is enabled this should be greater than the maximum number of blocks + /// PVF pre-checking can take. Intuitively, this number should be greater than the duration + /// specified by [`pvf_voting_ttl`](Self::pvf_voting_ttl). Unlike, + /// [`pvf_voting_ttl`](Self::pvf_voting_ttl), this parameter uses blocks as a unit. + #[cfg_attr(feature = "std", serde(alias = "validation_upgrade_frequency"))] + pub validation_upgrade_cooldown: BlockNumber, + /// The delay, in blocks, after which an upgrade of the validation code is applied. + /// + /// The upgrade for a parachain takes place when the first candidate which has relay-parent >= + /// the relay-chain block where the upgrade is scheduled. This block is referred as to + /// `expected_at`. + /// + /// `expected_at` is determined when the upgrade is scheduled. This happens when the candidate + /// that signals the upgrade is enacted. Right now, the relay-parent block number of the + /// candidate scheduling the upgrade is used to determine the `expected_at`. This may change in + /// the future with [#4601]. + /// + /// When PVF pre-checking is enabled, the upgrade is scheduled only after the PVF pre-check has + /// been completed. + /// + /// Note, there are situations in which `expected_at` in the past. For example, if + /// [`paras_availability_period`](SchedulerParams::paras_availability_period) is less than the + /// delay set by this field or if PVF pre-check took more time than the delay. In such cases, + /// the upgrade is further at the earliest possible time determined by + /// [`minimum_validation_upgrade_delay`](Self::minimum_validation_upgrade_delay). + /// + /// The rationale for this delay has to do with relay-chain reversions. In case there is an + /// invalid candidate produced with the new version of the code, then the relay-chain can + /// revert [`validation_upgrade_delay`](Self::validation_upgrade_delay) many blocks back and + /// still find the new code in the storage by hash. + /// + /// [#4601]: https://github.com/paritytech/polkadot/issues/4601 + pub validation_upgrade_delay: BlockNumber, + /// Asynchronous backing parameters. + pub async_backing_params: AsyncBackingParams, + + /** + * The parameters that are not essential, but still may be of interest for parachains. + */ + + /// The maximum POV block size, in bytes. + pub max_pov_size: u32, + /// The maximum size of a message that can be put in a downward message queue. + /// + /// Since we require receiving at least one DMP message the obvious upper bound of the size is + /// the PoV size. Of course, there is a lot of other different things that a parachain may + /// decide to do with its PoV so this value in practice will be picked as a fraction of the PoV + /// size. + pub max_downward_message_size: u32, + /// The maximum number of outbound HRMP channels a parachain is allowed to open. + pub hrmp_max_parachain_outbound_channels: u32, + /// The deposit that the sender should provide for opening an HRMP channel. + pub hrmp_sender_deposit: Balance, + /// The deposit that the recipient should provide for accepting opening an HRMP channel. + pub hrmp_recipient_deposit: Balance, + /// The maximum number of messages allowed in an HRMP channel at once. + pub hrmp_channel_max_capacity: u32, + /// The maximum total size of messages in bytes allowed in an HRMP channel at once. + pub hrmp_channel_max_total_size: u32, + /// The maximum number of inbound HRMP channels a parachain is allowed to accept. + pub hrmp_max_parachain_inbound_channels: u32, + /// The maximum size of a message that could ever be put into an HRMP channel. + /// + /// This parameter affects the upper bound of size of `CandidateCommitments`. + pub hrmp_channel_max_message_size: u32, + /// The executor environment parameters + pub executor_params: ExecutorParams, + + /** + * Parameters that will unlikely be needed by parachains. + */ + + /// How long to keep code on-chain, in blocks. This should be sufficiently long that disputes + /// have concluded. + pub code_retention_period: BlockNumber, + + /// The maximum number of validators to use for parachain consensus, period. + /// + /// `None` means no maximum. + pub max_validators: Option, + /// The amount of sessions to keep for disputes. + pub dispute_period: SessionIndex, + /// How long after dispute conclusion to accept statements. + pub dispute_post_conclusion_acceptance_period: BlockNumber, + /// The amount of consensus slots that must pass between submitting an assignment and + /// submitting an approval vote before a validator is considered a no-show. + /// + /// Must be at least 1. + pub no_show_slots: u32, + /// The number of delay tranches in total. Must be at least 1. + pub n_delay_tranches: u32, + /// The width of the zeroth delay tranche for approval assignments. This many delay tranches + /// beyond 0 are all consolidated to form a wide 0 tranche. + pub zeroth_delay_tranche_width: u32, + /// The number of validators needed to approve a block. + pub needed_approvals: u32, + /// The number of samples to do of the `RelayVRFModulo` approval assignment criterion. + pub relay_vrf_modulo_samples: u32, + /// If an active PVF pre-checking vote observes this many number of sessions it gets + /// automatically rejected. + /// + /// 0 means PVF pre-checking will be rejected on the first observed session unless the voting + /// gained supermajority before that the session change. + pub pvf_voting_ttl: SessionIndex, + /// The lower bound number of blocks an upgrade can be scheduled. + /// + /// Typically, upgrade gets scheduled + /// [`validation_upgrade_delay`](Self::validation_upgrade_delay) relay-chain blocks after + /// the relay-parent of the parablock that signalled the validation code upgrade. However, + /// in the case a pre-checking voting was concluded in a longer duration the upgrade will be + /// scheduled to the next block. + /// + /// That can disrupt parachain inclusion. Specifically, it will make the blocks that were + /// already backed invalid. + /// + /// To prevent that, we introduce the minimum number of blocks after which the upgrade can be + /// scheduled. This number is controlled by this field. + /// + /// This value should be greater than + /// [`paras_availability_period`](SchedulerParams::paras_availability_period). + pub minimum_validation_upgrade_delay: BlockNumber, + /// The minimum number of valid backing statements required to consider a parachain candidate + /// backable. + pub minimum_backing_votes: u32, + /// Node features enablement. + pub node_features: NodeFeatures, + /// Params used by approval-voting + pub approval_voting_params: ApprovalVotingParams, + /// Scheduler parameters + pub scheduler_params: SchedulerParams, +} diff --git a/client/coretime/common/src/lib.rs b/client/coretime/common/src/lib.rs index 18a1988..6b87470 100644 --- a/client/coretime/common/src/lib.rs +++ b/client/coretime/common/src/lib.rs @@ -16,17 +16,28 @@ //! Coretime common function of client. //! +pub mod configuration; +pub mod types; +use crate::types::QueueStatusType; use codec::Decode; +use configuration::{ + HostConfiguration, V10HostConfiguration, V11HostConfiguration, V8HostConfiguration, + V9HostConfiguration, +}; use cumulus_primitives_core::ParaId; use cumulus_relay_chain_interface::RelayChainInterface; -use mp_coretime_common::well_known_keys::paras_para_lifecycles; +use mp_coretime_common::well_known_keys::{ + paras_para_lifecycles, ACTIVE_CONFIG, CONFIGURATION_VERSION, ON_DEMAND_VERSION, + QUEUE_STATUS_TYPE, SPOT_TRAFFIC, +}; use runtime_parachains::paras::ParaLifecycle; use sp_core::{ crypto::{ByteArray, Pair}, H256, }; use sp_keystore::KeystorePtr; +use sp_runtime::{traits::SaturatedConversion, FixedPointNumber, FixedU128}; use std::error::Error; type AuthorityId

=

::Public; @@ -55,6 +66,127 @@ pub async fn is_parathread( Ok(is_parathread) } +pub async fn coretime_cores( + relay_chain: &(impl RelayChainInterface + Clone), + p_hash: H256, +) -> Option { + // pallet version + let pallet_version_storage = + relay_chain.get_storage_by_key(p_hash, CONFIGURATION_VERSION).await.ok()?; + let pallet_version = pallet_version_storage + .map(|raw| ::decode(&mut &raw[..])) + .transpose() + .ok()??; + let active_config_storage = relay_chain.get_storage_by_key(p_hash, ACTIVE_CONFIG).await.ok()?; + // Get cores + let cores = if pallet_version == 8 { + let configuration = active_config_storage + .map(|raw| >::decode(&mut &raw[..])) + .transpose() + .ok()??; + configuration.on_demand_cores + } else if pallet_version == 9 { + let configuration = active_config_storage + .map(|raw| >::decode(&mut &raw[..])) + .transpose() + .ok()??; + configuration.on_demand_cores + } else if pallet_version == 10 { + let configuration = active_config_storage + .map(|raw| >::decode(&mut &raw[..])) + .transpose() + .ok()??; + configuration.on_demand_cores + } else if pallet_version == 11 { + let configuration = active_config_storage + .map(|raw| >::decode(&mut &raw[..])) + .transpose() + .ok()??; + configuration.coretime_cores + } else { + let configuration = active_config_storage + .map(|raw| >::decode(&mut &raw[..])) + .transpose() + .ok()??; + configuration.scheduler_params.num_cores + }; + + Some(cores) +} + +pub async fn relaychain_spot_price( + relay_chain: &(impl RelayChainInterface + Clone), + p_hash: H256, +) -> Option { + // configuration pallet version + let ondemand_version_storage = + relay_chain.get_storage_by_key(p_hash, ON_DEMAND_VERSION).await.ok()?; + let ondemand_version = ondemand_version_storage + .map(|raw| ::decode(&mut &raw[..])) + .transpose() + .ok()??; + let spot_traffic = if ondemand_version == 0 { + let spot_traffic_storage = + relay_chain.get_storage_by_key(p_hash, SPOT_TRAFFIC).await.ok()?; + let traffic = spot_traffic_storage + .map(|raw| ::decode(&mut &raw[..])) + .transpose() + .ok()??; + traffic + } else { + let spot_traffic_storage = + relay_chain.get_storage_by_key(p_hash, QUEUE_STATUS_TYPE).await.ok()?; + let traffic = spot_traffic_storage + .map(|raw| ::decode(&mut &raw[..])) + .transpose() + .ok()?? + .traffic; + FixedU128::from_rational(traffic.0, FixedU128::accuracy()) + }; + // configuration pallet version + let configuration_version_storage = + relay_chain.get_storage_by_key(p_hash, CONFIGURATION_VERSION).await.ok()?; + let configuration_version = configuration_version_storage + .map(|raw| ::decode(&mut &raw[..])) + .transpose() + .ok()??; + let active_config_storage = relay_chain.get_storage_by_key(p_hash, ACTIVE_CONFIG).await.ok()?; + // Get cores + let on_demand_base_fee = if configuration_version == 8 { + let configuration = active_config_storage + .map(|raw| >::decode(&mut &raw[..])) + .transpose() + .ok()??; + configuration.on_demand_base_fee + } else if configuration_version == 9 { + let configuration = active_config_storage + .map(|raw| >::decode(&mut &raw[..])) + .transpose() + .ok()??; + configuration.on_demand_base_fee + } else if configuration_version == 10 { + let configuration = active_config_storage + .map(|raw| >::decode(&mut &raw[..])) + .transpose() + .ok()??; + configuration.on_demand_base_fee + } else if configuration_version == 11 { + let configuration = active_config_storage + .map(|raw| >::decode(&mut &raw[..])) + .transpose() + .ok()??; + configuration.on_demand_base_fee + } else { + let configuration = active_config_storage + .map(|raw| >::decode(&mut &raw[..])) + .transpose() + .ok()??; + configuration.scheduler_params.on_demand_base_fee + }; + let spot_price = spot_traffic.saturating_mul_int(on_demand_base_fee.saturated_into::()); + Some(spot_price) +} + /// Randomly select a collator to place an order. pub async fn order_slot( idx: u32, diff --git a/client/coretime/common/src/types.rs b/client/coretime/common/src/types.rs new file mode 100644 index 0000000..2243df3 --- /dev/null +++ b/client/coretime/common/src/types.rs @@ -0,0 +1,71 @@ +// Copyright (C) Magnet. +// This file is part of Magnet. + +// Magnet 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. + +// Magnet 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 Magnet. If not, see . + +#[derive( + :: subxt :: ext :: subxt_core :: ext :: codec :: CompactAs, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, +)] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] +pub struct QueueIndex(pub ::core::primitive::u32); + +#[derive( + :: subxt :: ext :: subxt_core :: ext :: codec :: CompactAs, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, +)] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] +pub struct ReverseQueueIndex(pub ::core::primitive::u32); + +#[derive( + :: subxt :: ext :: subxt_core :: ext :: codec :: CompactAs, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, +)] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] +pub struct FixedU128(pub ::core::primitive::u128); + +#[derive( + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, +)] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] +pub struct QueueStatusType { + pub traffic: FixedU128, + pub next_index: QueueIndex, + pub smallest_index: QueueIndex, + pub freed_indices: ::subxt::ext::subxt_core::alloc::vec::Vec, +} diff --git a/client/coretime/on-demand/Cargo.toml b/client/coretime/on-demand/Cargo.toml index d59fbe7..4e51320 100644 --- a/client/coretime/on-demand/Cargo.toml +++ b/client/coretime/on-demand/Cargo.toml @@ -10,7 +10,7 @@ version = "0.1.0" [dependencies] async-trait = { workspace = true } -codec = { package = "parity-scale-codec", workspace = true, features = [ "derive" ] } +codec = { workspace = true } futures = { workspace = true } tracing = { workspace = true } schnellru = { workspace = true } diff --git a/client/coretime/on-demand/src/lib.rs b/client/coretime/on-demand/src/lib.rs index 493a02c..be4dfdd 100644 --- a/client/coretime/on-demand/src/lib.rs +++ b/client/coretime/on-demand/src/lib.rs @@ -31,19 +31,14 @@ use cumulus_primitives_core::{ }; use cumulus_relay_chain_interface::{RelayChainInterface, RelayChainResult}; use futures::{lock::Mutex, pin_mut, select, FutureExt, Stream, StreamExt}; -use mc_coretime_common::is_parathread; +use mc_coretime_common::{coretime_cores, is_parathread, relaychain_spot_price}; use metadata::{CoreAssignment, CoreDescriptor}; use mp_coretime_on_demand::{ - self, - well_known_keys::{ - paras_core_descriptors, EnqueuedOrder, ACTIVE_CONFIG, ON_DEMAND_QUEUE, SPOT_TRAFFIC, - }, - OrderRecord, OrderRuntimeApi, OrderStatus, + self, well_known_keys::paras_core_descriptors, OrderRecord, OrderRuntimeApi, OrderStatus, }; use mp_system::OnRelayChainApi; pub use pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi; use polkadot_primitives::OccupiedCoreAssumption; -use runtime_parachains::configuration::HostConfiguration; use sc_client_api::UsageProvider; use sc_service::TaskManager; use sc_transaction_pool_api::{InPoolTransaction, MaintainedTransactionPool}; @@ -55,14 +50,12 @@ use sp_core::H256; use sp_keystore::KeystorePtr; use sp_runtime::{ codec::Encode, - traits::{ - AtLeast32BitUnsigned, Block as BlockT, Header as HeaderT, MaybeDisplay, SaturatedConversion, - }, - FixedPointNumber, FixedU128, + traits::{AtLeast32BitUnsigned, Block as BlockT, Header as HeaderT, MaybeDisplay}, }; -use std::{cmp::Ordering, net::SocketAddr}; +use std::cmp::Ordering; use std::{error::Error, fmt::Debug, sync::Arc}; use submit_order::{build_rpc_for_submit_order, SubmitOrderError}; +use subxt::backend::{legacy::LegacyRpcMethods, rpc::RpcClient}; use subxt::{OnlineClient, PolkadotConfig}; /// Order type @@ -84,21 +77,9 @@ async fn get_spot_price( where Balance: Codec + MaybeDisplay + 'static + Debug + From, { - let spot_traffic_storage = relay_chain.get_storage_by_key(hash, SPOT_TRAFFIC).await.ok()?; - let p_spot_traffic = spot_traffic_storage - .map(|raw| ::decode(&mut &raw[..])) - .transpose() - .ok()?; - let active_config_storage = relay_chain.get_storage_by_key(hash, ACTIVE_CONFIG).await.ok()?; - let p_active_config = active_config_storage - .map(|raw| >::decode(&mut &raw[..])) - .transpose() - .ok()?; - if p_spot_traffic.is_some() && p_active_config.is_some() { - let spot_traffic = p_spot_traffic.unwrap(); - let active_config = p_active_config.unwrap(); - let spot_price = spot_traffic - .saturating_mul_int(active_config.on_demand_base_fee.saturated_into::()); + let p_spot_price = relaychain_spot_price(&relay_chain, hash).await; + log::info!("=============p_spot_price:{:?}", p_spot_price); + if let Some(spot_price) = p_spot_price { Some(Balance::from(spot_price)) } else { None @@ -107,20 +88,14 @@ where /// Whether the relay chain has ondemand function enabled. async fn start_on_demand( - relay_chain: impl RelayChainInterface + Clone, + relay_chain: impl RelayChainInterface + Clone + Send, hash: H256, para_id: ParaId, ) -> Option { - let active_config_storage = relay_chain.get_storage_by_key(hash, ACTIVE_CONFIG).await.ok()?; - // Get config - let p_active_config = active_config_storage - .map(|raw| >::decode(&mut &raw[..])) - .transpose() - .ok()?; - if let Some(active_config) = p_active_config { - let mut result = false; - // Get the number of cores. - let cores = active_config.coretime_cores; + // Get the number of cores. + let r_cores = coretime_cores(&relay_chain, hash).await; + let mut result = false; + if let Some(cores) = r_cores { for core in 0..cores { let key = paras_core_descriptors(polkadot_primitives::CoreIndex(core)); let core_descriptors_storage = @@ -143,11 +118,8 @@ async fn start_on_demand( } } } - Some(result) - } else { - // get config failed - Some(false) } + Some(result) } /// Create an order to purchase core. @@ -172,11 +144,13 @@ async fn reach_txpool_threshold( height: RelayBlockNumber, snap_txs: Vec, core_price: Balance, + relay_decimal: u64, + parachain_decimal: u64, ) -> Option<(bool, OrderType)> where Block: BlockT, P: ProvideRuntimeApi + UsageProvider, - Balance: Codec + MaybeDisplay + 'static + Debug + AtLeast32BitUnsigned + Copy, + Balance: Codec + MaybeDisplay + 'static + Debug + AtLeast32BitUnsigned + Copy + From, P::Api: TransactionPaymentApi + OrderRuntimeApi + OnRelayChainApi, @@ -199,14 +173,19 @@ where .ok()?; all_gas_value = query_fee.final_fee().add(all_gas_value); if transaction_pool.status().ready != 0 { + let new_core_price = if parachain_decimal >= relay_decimal { + core_price.saturating_mul( + (10 as u128).pow((parachain_decimal - relay_decimal) as u32).into(), + ) + } else { + core_price.checked_div( + &(10 as u128).pow((parachain_decimal - relay_decimal) as u32).into(), + )? + }; // Converted to a precision of 18 is_place_order = parachain .runtime_api() - .reach_txpool_threshold( - block_hash, - all_gas_value, - core_price.saturating_mul(1_000_000u32.into()), - ) + .reach_txpool_threshold(block_hash, all_gas_value, new_core_price) .ok()?; } log::info!( @@ -282,6 +261,8 @@ async fn handle_relaychain_stream( order_record: Arc>, transaction_pool: Arc, url: String, + relay_decimal: u64, + parachain_decimal: u64, ) -> Result<(), Box> where Block: BlockT, @@ -348,31 +329,18 @@ where ); // Check whether the conditions for placing an order are met, and if so, place the order - - // Check if it is in the ondemand queue, if so, do not place a order. - // key = OnDemandAssignmentProvider OnDemandQueue - let mut exist_order = false; - let on_demand_queue_storage = relay_chain.get_storage_by_key(p_hash, ON_DEMAND_QUEUE).await?; - let on_demand_queue = on_demand_queue_storage - .map(|raw| >::decode(&mut &raw[..])) - .transpose()?; - if let Some(vvs) = on_demand_queue.clone() { - for vv in vvs.into_iter() { - if vv.para_id == para_id { - exist_order = true; - break; - } - } - } - if exist_order { - let mut order_record_local = order_record.lock().await; - order_record_local.order_status = OrderStatus::Complete; - return Ok(()); - } // get on demand core price let max_amount = parachain.runtime_api().order_max_amount(hash)?; let p_spot_price = get_spot_price::(relay_chain.clone(), p_hash).await; - let spot_price = if let Some(pot_price) = p_spot_price { pot_price } else { max_amount }; + let (spot_price, place_price) = if let Some(spot_price) = p_spot_price { + if spot_price > max_amount { + (spot_price, spot_price) + } else { + (spot_price, max_amount) + } + } else { + (max_amount, max_amount) + }; // Check whether the gas of the transaction pool has reached the spot price threshold. let mut order_record_local = order_record.lock().await; @@ -382,6 +350,8 @@ where height, order_record_local.txs.clone(), spot_price, + relay_decimal, + parachain_decimal, ) .await; let mut can_order = false; @@ -409,7 +379,7 @@ where order_record_local.author_pub = Some(author); order_record_local.txs = get_txs(transaction_pool).await; let order_result = - try_place_order::(keystore, para_id, url, spot_price).await; + try_place_order::(keystore, para_id, url, place_price).await; order_record_local.order_status = OrderStatus::Order; if order_result.is_ok() { log::info!("===========place order successfully",); @@ -451,6 +421,7 @@ async fn relay_chain_notification( order_record: Arc>, transaction_pool: Arc, url: String, + parachain_decimal: u64, ) where R: RelayChainInterface + Clone, Block: BlockT, @@ -469,6 +440,16 @@ async fn relay_chain_notification( + OnRelayChainApi, ExPool: MaintainedTransactionPool::Hash> + 'static, { + let rpc_client = RpcClient::from_url(url.clone()).await.expect("rpc connect failed"); + let rpc = LegacyRpcMethods::::new(rpc_client.clone()); + let properties = rpc.system_properties().await.expect("can't get relaychain properties"); + // If tokenSymbol is not set in the relaychain's chainspec file, the default value is 12. + let relay_decimal = + if let Some(decimal) = properties.get("tokenDecimals").and_then(|v| v.as_u64()) { + decimal + } else { + 12 + }; let new_best_heads = match new_best_heads(relay_chain.clone(), para_id).await { Ok(best_heads_stream) => best_heads_stream.fuse(), Err(_err) => { @@ -481,7 +462,7 @@ async fn relay_chain_notification( h = new_best_heads.next() => { match h { Some((height, head, hash)) => { - let _ = handle_relaychain_stream(head,height, &*parachain,keystore.clone(), relay_chain.clone(), hash, para_id, order_record.clone(),transaction_pool.clone(), url.clone()).await; + let _ = handle_relaychain_stream(head,height, &*parachain,keystore.clone(), relay_chain.clone(), hash, para_id, order_record.clone(),transaction_pool.clone(), url.clone(), relay_decimal, parachain_decimal).await; }, None => { return; @@ -499,7 +480,7 @@ pub async fn ondemand_event_task( ) -> Result<(), Box> { // Get the final block of the relaychain through subxt. - let api = OnlineClient::::from_url(rpc_url).await?; + let api = OnlineClient::::from_url(rpc_url.clone()).await?; let mut blocks_sub = api.blocks().subscribe_best().await?; @@ -511,7 +492,7 @@ pub async fn ondemand_event_task( for event in events.iter() { let event = event?; // Query Broker Assigned Event - let ev_order_placed = event.as_event::(); + let ev_order_placed = event.as_event::(); if let Ok(order_placed_event) = ev_order_placed { if let Some(ev) = order_placed_event { log::info!( @@ -547,6 +528,7 @@ pub async fn run_on_demand_task( order_record: Arc>, transaction_pool: Arc, url: String, + parachain_decimal: u64, ) where R: RelayChainInterface + Clone, Block: BlockT, @@ -573,6 +555,7 @@ pub async fn run_on_demand_task( order_record.clone(), transaction_pool, url.clone(), + parachain_decimal, ); let event_notification = event_notification(para_id, url, order_record); select! { @@ -589,7 +572,8 @@ pub fn spawn_on_demand_order( task_manager: &TaskManager, keystore: KeystorePtr, order_record: Arc>, - relay_rpc: Option, + relay_rpc: String, + parachain_decimal: u64, ) -> sc_service::error::Result<()> where Block: BlockT, @@ -610,9 +594,6 @@ where + TransactionPaymentApi + OnRelayChainApi, { - let mut url = String::from("ws://"); - url.push_str(&relay_rpc.expect("Should set rpc address for submit order extrinic").to_string()); - let on_demand_order_task = run_on_demand_task( para_id, parachain.clone(), @@ -620,7 +601,8 @@ where keystore, order_record, transaction_pool.clone(), - url, + relay_rpc, + parachain_decimal, ); task_manager.spawn_essential_handle().spawn_blocking( "on demand order task", diff --git a/client/coretime/on-demand/src/metadata.rs b/client/coretime/on-demand/src/metadata.rs index ce5404b..9f6e344 100644 --- a/client/coretime/on-demand/src/metadata.rs +++ b/client/coretime/on-demand/src/metadata.rs @@ -20,17 +20,17 @@ //! #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, Eq, PartialEq, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum CoreAssignment { #[codec(index = 0)] Idle, @@ -41,56 +41,56 @@ pub enum CoreAssignment { } #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct QueueDescriptor<_0> { pub first: _0, pub last: _0, } #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: CompactAs, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct PartsOf57600(pub u16); #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct AssignmentState { pub ratio: PartsOf57600, pub remaining: PartsOf57600, } #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct WorkState<_0> { pub assignments: Vec<(CoreAssignment, AssignmentState)>, pub end_hint: Option<_0>, @@ -98,49 +98,49 @@ pub struct WorkState<_0> { pub step: PartsOf57600, } #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct CoreDescriptor<_0> { pub queue: Option>, pub current_work: Option>, } #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: CompactAs, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct Id(pub u32); #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct PlaceOrderAllowDeath { pub max_amount: u128, pub para_id: Id, } -impl ::subxt::blocks::StaticExtrinsic for PlaceOrderAllowDeath { +impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PlaceOrderAllowDeath { const PALLET: &'static str = "OnDemandAssignmentProvider"; const CALL: &'static str = "place_order_allow_death"; } @@ -148,8 +148,8 @@ impl ::subxt::blocks::StaticExtrinsic for PlaceOrderAllowDeath { pub fn place_order_allow_death( max_amount: u128, para_id: Id, -) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( +) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload { + ::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static( "OnDemandAssignmentProvider", "place_order_allow_death", PlaceOrderAllowDeath { max_amount, para_id }, @@ -162,21 +162,21 @@ pub fn place_order_allow_death( } #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct PlaceOrderKeepAlive { pub max_amount: u128, pub para_id: Id, } -impl ::subxt::blocks::StaticExtrinsic for PlaceOrderKeepAlive { +impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PlaceOrderKeepAlive { const PALLET: &'static str = "OnDemandAssignmentProvider"; const CALL: &'static str = "place_order_keep_alive"; } @@ -185,8 +185,8 @@ impl ::subxt::blocks::StaticExtrinsic for PlaceOrderKeepAlive { pub fn place_order_keep_alive( max_amount: u128, para_id: Id, -) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( +) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload { + ::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static( "OnDemandAssignmentProvider", "place_order_keep_alive", PlaceOrderKeepAlive { max_amount, para_id }, @@ -199,21 +199,42 @@ pub fn place_order_keep_alive( } #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, Debug, )] -# [codec (crate = :: subxt :: ext :: codec)] -#[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] -#[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct OnDemandOrderPlaced { pub para_id: Id, pub spot_price: u128, + pub ordered_by: ::subxt::ext::subxt_core::utils::AccountId32, } -impl ::subxt::events::StaticEvent for OnDemandOrderPlaced { +#[derive( + :: subxt :: ext :: subxt_core :: ext :: codec :: Decode, + :: subxt :: ext :: subxt_core :: ext :: codec :: Encode, + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, +)] +# [codec (crate = :: subxt :: ext :: subxt_core :: ext :: codec)] +#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] +#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] +pub struct OnDemandOrderPlacedV0 { + pub para_id: Id, + pub spot_price: u128, +} + +impl ::subxt::ext::subxt_core::events::StaticEvent for OnDemandOrderPlaced { + const PALLET: &'static str = "OnDemandAssignmentProvider"; + const EVENT: &'static str = "OnDemandOrderPlaced"; +} + +impl ::subxt::ext::subxt_core::events::StaticEvent for OnDemandOrderPlacedV0 { const PALLET: &'static str = "OnDemandAssignmentProvider"; const EVENT: &'static str = "OnDemandOrderPlaced"; } diff --git a/node/Cargo.toml b/node/Cargo.toml index ede4d98..eafec1d 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -11,24 +11,100 @@ build = "build.rs" publish = false [dependencies] -clap = { workspace = true, features = ["derive"] } -log = { workspace = true } -codec = { package = "parity-scale-codec", workspace = true } -serde = { workspace = true, features = ["derive"] } -jsonrpsee = { workspace = true, features = ["server"] } +clap = { features = ["derive"], workspace = true } +log = { workspace = true, default-features = true } +codec = { workspace = true, default-features = true } +serde = { features = ["derive"], workspace = true, default-features = true } +jsonrpsee = { features = ["server"], workspace = true } futures = { workspace = true } -serde_json = { workspace = true } -schnellru = { workspace = true } -url = { workspace = true } -tracing = { workspace = true } -array-bytes = { workspace = true } -hex-literal = { workspace = true } -scale-info = { workspace = true, features = ["derive", "serde"] } -subxt = { workspace = true, features = ["substrate-compat"]} -subxt-signer = { workspace = true } +serde_json = { workspace = true, default-features = true } +docify = { workspace = true } +parachain-magnet-runtime.workspace = true +frame-benchmarking.workspace = true +frame-benchmarking.default-features = true +frame-benchmarking-cli.workspace = true +frame-benchmarking-cli.default-features = true +pallet-transaction-payment-rpc.workspace = true +pallet-transaction-payment-rpc.default-features = true +sc-basic-authorship.workspace = true +sc-basic-authorship.default-features = true +sc-chain-spec.workspace = true +sc-chain-spec.default-features = true +sc-cli.workspace = true +sc-cli.default-features = true +sc-client-api.workspace = true +sc-client-api.default-features = true +sc-offchain.workspace = true +sc-offchain.default-features = true +sc-consensus.workspace = true +sc-consensus.default-features = true +sc-executor.workspace = true +sc-executor.default-features = true +sc-network.workspace = true +sc-network.default-features = true +sc-network-sync.workspace = true +sc-network-sync.default-features = true +sc-rpc.workspace = true +sc-rpc.default-features = true +sc-service.workspace = true +sc-service.default-features = true +sc-sysinfo.workspace = true +sc-sysinfo.default-features = true +sc-telemetry.workspace = true +sc-telemetry.default-features = true +sc-tracing.workspace = true +sc-tracing.default-features = true +sc-transaction-pool.workspace = true +sc-transaction-pool.default-features = true +sc-transaction-pool-api.workspace = true +sc-transaction-pool-api.default-features = true +sp-api.workspace = true +sp-api.default-features = true +sp-block-builder.workspace = true +sp-block-builder.default-features = true +sp-blockchain.workspace = true +sp-blockchain.default-features = true +sp-consensus-aura.workspace = true +sp-consensus-aura.default-features = true +sp-core.workspace = true +sp-core.default-features = true +sp-keystore.workspace = true +sp-keystore.default-features = true +sp-io.workspace = true +sp-io.default-features = true +sp-runtime.workspace = true +sp-runtime.default-features = true +sp-timestamp.workspace = true +sp-timestamp.default-features = true +substrate-frame-rpc-system.workspace = true +substrate-frame-rpc-system.default-features = true +prometheus-endpoint.workspace = true +prometheus-endpoint.default-features = true +polkadot-cli = { features = ["rococo-native"], workspace = true, default-features = true } +polkadot-primitives.workspace = true +polkadot-primitives.default-features = true +xcm.workspace = true +cumulus-client-cli.workspace = true +cumulus-client-cli.default-features = true +cumulus-client-collator.workspace = true +cumulus-client-collator.default-features = true +cumulus-client-consensus-aura.workspace = true +cumulus-client-consensus-aura.default-features = true +cumulus-client-consensus-common.workspace = true +cumulus-client-consensus-common.default-features = true +cumulus-client-consensus-proposer.workspace = true +cumulus-client-consensus-proposer.default-features = true +cumulus-client-service.workspace = true +cumulus-client-service.default-features = true +cumulus-primitives-core.workspace = true +cumulus-primitives-core.default-features = true +cumulus-primitives-parachain-inherent.workspace = true +cumulus-primitives-parachain-inherent.default-features = true +cumulus-relay-chain-interface.workspace = true +cumulus-relay-chain-interface.default-features = true +color-print = { workspace = true } # Local -parachain-magnet-runtime = { path = "../runtime" } pallet-pot-rpc = { path = "../pallets/pot/rpc" } mp-system = { path = "../primitives/system"} mc-coretime-bulk = {path ="../client/coretime/bulk"} @@ -36,72 +112,17 @@ mp-coretime-bulk = { path = "../primitives/coretime/bulk"} mc-coretime-on-demand = {path ="../client/coretime/on-demand"} mp-coretime-on-demand = { path = "../primitives/coretime/on-demand"} - -# Substrate -frame-benchmarking = { workspace = true } -frame-benchmarking-cli = { workspace = true } -pallet-transaction-payment-rpc = { workspace = true } -sc-basic-authorship = { workspace = true } -sc-chain-spec = { workspace = true } -sc-cli = { workspace = true } -sc-client-api = { workspace = true } -sc-offchain = { workspace = true } -sc-consensus = { workspace = true } -sc-consensus-aura = { workspace = true } -sc-consensus-manual-seal = { workspace = true } -sc-executor = { workspace = true } -sc-network = { workspace = true } -sc-network-sync = { workspace = true } -sc-rpc = { workspace = true } -sc-rpc-api = { workspace = true } -sc-service = { workspace = true } -sc-sysinfo = { workspace = true } -sc-telemetry = { workspace = true } -sc-tracing = { workspace = true } -sc-transaction-pool = { workspace = true } -sc-transaction-pool-api = { workspace = true } -sp-inherents = { workspace = true } -sp-api = { workspace = true } -sp-block-builder = { workspace = true } -sp-blockchain = { workspace = true } +#substrate sp-offchain = { workspace = true } -sp-consensus-aura = { workspace = true } -sp-core = { workspace = true } -sp-keystore = { workspace = true } -sp-io = { workspace = true } -sp-runtime = { workspace = true } -sp-timestamp = { workspace = true } -sp-transaction-pool = { workspace = true } sp-session = { workspace = true } -substrate-frame-rpc-system = { workspace = true } -substrate-prometheus-endpoint = { workspace = true } -pallet-balances = { workspace = true } -frame-system = { workspace = true } -pallet-transaction-payment = { workspace = true } -sp-application-crypto= { workspace = true } -sp-std = { workspace = true } -sp-trie = { workspace = true } - -# Polkadot -polkadot-cli = { workspace = true, features = ["rococo-native"] } -polkadot-primitives = { workspace = true } -xcm = { workspace = true, default-features = false} -polkadot-runtime-common = { workspace = true } -runtime-parachains = { workspace = true } +sp-transaction-pool = { workspace = true } +pallet-transaction-payment-rpc-runtime-api = { workspace = true} +frame-system-rpc-runtime-api = { workspace = true} +sc-consensus-aura = { workspace = true} +sp-inherents = { workspace = true} +sc-consensus-manual-seal = { workspace = true} +sc-rpc-api = { workspace = true} -# Cumulus -cumulus-client-cli = { workspace = true } -cumulus-client-collator = { workspace = true } -cumulus-client-consensus-aura = { workspace = true } -cumulus-client-consensus-common = { workspace = true } -cumulus-client-consensus-proposer = { workspace = true } -cumulus-client-service = { workspace = true} -cumulus-primitives-core = { workspace = true } -cumulus-primitives-parachain-inherent = { workspace = true } -cumulus-relay-chain-interface = { workspace = true } -frame-system-rpc-runtime-api={ workspace = true, default-features = false} -pallet-transaction-payment-rpc-runtime-api = { workspace = true, default-features = false } -color-print = "0.3.4" # Frontier Primitive fp-evm = { workspace = true } @@ -121,7 +142,8 @@ fc-consensus = { workspace = true } pallet-move-rpc = { workspace = true } [build-dependencies] -substrate-build-script-utils = { workspace = true } +substrate-build-script-utils.workspace = true +substrate-build-script-utils.default-features = true [features] default = [ @@ -149,6 +171,7 @@ with-paritydb-weights = ["parachain-magnet-runtime/with-paritydb-weights"] txpool = ["fc-rpc/txpool"] runtime-benchmarks = [ + "cumulus-primitives-core/runtime-benchmarks", "frame-benchmarking-cli/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "parachain-magnet-runtime/runtime-benchmarks", @@ -162,4 +185,3 @@ try-runtime = [ "polkadot-cli/try-runtime", "sp-runtime/try-runtime", ] - diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index 81dc8f8..1feace7 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -1,17 +1,16 @@ use cumulus_primitives_core::ParaId; -use parachain_magnet_runtime::{AccountId, AuraId, Signature, EXISTENTIAL_DEPOSIT}; +use parachain_magnet_runtime as runtime; +use runtime::{AccountId, AuraId, Signature, EXISTENTIAL_DEPOSIT}; use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup}; use sc_service::ChainType; use serde::{Deserialize, Serialize}; -use sp_core::{crypto::Ss58Codec, sr25519, Pair, Public, H160, U256}; +use sp_core::{crypto::Ss58Codec, sr25519, ByteArray, Pair, Public, H160, H256, U256}; use sp_runtime::traits::{IdentifyAccount, Verify}; use sp_runtime::AccountId32; -use sp_std::marker::PhantomData; use std::{collections::BTreeMap, str::FromStr}; /// Specialized `ChainSpec` for the normal parachain runtime. -pub type ChainSpec = - sc_service::GenericChainSpec; +pub type ChainSpec = sc_service::GenericChainSpec; /// The default XCM version to set in genesis config. const SAFE_XCM_VERSION: u32 = xcm::prelude::XCM_VERSION; @@ -25,11 +24,12 @@ pub fn get_from_seed(seed: &str) -> ::Pu /// The extensions for the [`ChainSpec`]. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ChainSpecGroup, ChainSpecExtension)] -#[serde(deny_unknown_fields)] pub struct Extensions { /// The relay chain of the Parachain. + #[serde(alias = "relayChain", alias = "RelayChain")] pub relay_chain: String, /// The id of the Parachain. + #[serde(alias = "paraId", alias = "ParaId")] pub para_id: u32, } @@ -49,6 +49,12 @@ pub fn get_collator_keys_from_seed(seed: &str) -> AuraId { get_from_seed::(seed) } +/// Generate AuraId from address +pub fn get_collator_keys_from_address(address: &str) -> AuraId { + let account_id = AccountId32::from_ss58check(address).expect("Invalid address"); + AuraId::from_slice(account_id.as_ref()).expect("Invalid AuraId") +} + /// Helper function to generate an account ID from seed pub fn get_account_id_from_seed(seed: &str) -> AccountId where @@ -57,11 +63,15 @@ where AccountPublic::from(get_from_seed::(seed)).into_account() } +fn get_account_id_from_address(address: &str) -> AccountId32 { + AccountId32::from_ss58check(address).expect("Invalid address") +} + /// Generate the session keys from individual elements. /// /// The input must be a tuple of individual keys (a single arg for now since we have just one key). -pub fn template_session_keys(keys: AuraId) -> parachain_magnet_runtime::SessionKeys { - parachain_magnet_runtime::SessionKeys { aura: keys } +pub fn template_session_keys(keys: AuraId) -> runtime::SessionKeys { + runtime::SessionKeys { aura: keys } } pub fn development_config() -> ChainSpec { @@ -72,7 +82,7 @@ pub fn development_config() -> ChainSpec { properties.insert("ss58Format".into(), 42.into()); ChainSpec::builder( - parachain_magnet_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), + runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! @@ -86,29 +96,25 @@ pub fn development_config() -> ChainSpec { // initial collators. vec![ ( - get_account_id_from_seed::("Alice"), - get_collator_keys_from_seed("Alice"), + get_account_id_from_address("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"), + get_collator_keys_from_address("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"), ), ( - get_account_id_from_seed::("Bob"), - get_collator_keys_from_seed("Bob"), + get_account_id_from_address("5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y"), + get_collator_keys_from_address("5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y"), ), ], vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - get_account_id_from_seed::("Eve"), - get_account_id_from_seed::("Ferdie"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), - get_account_id_from_seed::("Charlie//stash"), - get_account_id_from_seed::("Dave//stash"), - get_account_id_from_seed::("Eve//stash"), - get_account_id_from_seed::("Ferdie//stash"), + get_account_id_from_address("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"), + get_account_id_from_address("5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty"), + get_account_id_from_address("5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y"), + get_account_id_from_address("5DAAnrj7VHTznn2AWBemMuyBwZWs6FNFjdyVXUeYum3PTXFy"), + get_account_id_from_address("5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw"), + get_account_id_from_address("5CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL"), + get_account_id_from_address("5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY"), + get_account_id_from_address("5HpG9w8EBLe5XCrbczpwq5TSXvedjrBGCwqxK1iQ7qUsSWFc"), ], - get_account_id_from_seed::("Alice"), + get_account_id_from_address("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"), 2000.into(), )) .build() @@ -123,7 +129,7 @@ pub fn local_testnet_config() -> ChainSpec { #[allow(deprecated)] ChainSpec::builder( - parachain_magnet_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), + runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! @@ -137,29 +143,25 @@ pub fn local_testnet_config() -> ChainSpec { // initial collators. vec![ ( - get_account_id_from_seed::("Alice"), - get_collator_keys_from_seed("Alice"), + get_account_id_from_address("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"), + get_collator_keys_from_address("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"), ), ( - get_account_id_from_seed::("Bob"), - get_collator_keys_from_seed("Bob"), + get_account_id_from_address("5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y"), + get_collator_keys_from_address("5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y"), ), ], vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - get_account_id_from_seed::("Eve"), - get_account_id_from_seed::("Ferdie"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), - get_account_id_from_seed::("Charlie//stash"), - get_account_id_from_seed::("Dave//stash"), - get_account_id_from_seed::("Eve//stash"), - get_account_id_from_seed::("Ferdie//stash"), + get_account_id_from_address("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"), + get_account_id_from_address("5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty"), + get_account_id_from_address("5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y"), + get_account_id_from_address("5DAAnrj7VHTznn2AWBemMuyBwZWs6FNFjdyVXUeYum3PTXFy"), + get_account_id_from_address("5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw"), + get_account_id_from_address("5CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL"), + get_account_id_from_address("5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY"), + get_account_id_from_address("5HpG9w8EBLe5XCrbczpwq5TSXvedjrBGCwqxK1iQ7qUsSWFc"), ], - get_account_id_from_seed::("Alice"), + get_account_id_from_address("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"), 2000.into(), )) .with_protocol_id("magnet-local") @@ -167,17 +169,14 @@ pub fn local_testnet_config() -> ChainSpec { .build() } -fn get_account_id_from_address(address: &str) -> AccountId32 { - AccountId32::from_ss58check(address).expect("Invalid address") -} fn testnet_genesis( invulnerables: Vec<(AccountId, AuraId)>, endowed_accounts: Vec, root: AccountId, id: ParaId, ) -> serde_json::Value { - let alice = get_from_seed::("Alice"); - let bob = get_from_seed::("Bob"); + let alice = get_account_id_from_address("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"); + let bob = get_account_id_from_address("5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty"); let op_account1 = get_account_id_from_address("5GP7etLvS2VLLfUar7Q2TkQkaxHweYnDvrhh3s5hhf8eorPW"); @@ -235,8 +234,8 @@ fn testnet_genesis( }, "assets": { "assets": vec![ - (1, alice, true, 1_000_000_0000_0000_0000u128), - (2, bob, true, 2_000_000_0000_0000_0000u128), + (1, alice.clone(), true, 1_000_000_0000_0000_0000u128), + (2, bob.clone(), true, 2_000_000_0000_0000_0000u128), ], // Genesis metadata: Vec<(id, name, symbol, decimals)> "metadata": vec![ @@ -298,7 +297,7 @@ fn testnet_genesis( }, "bulkPallet":{ "rpcUrl": b"ws://127.0.0.1:8855".to_vec(), - "genesisHash": U256::from_str("0x4ea18c8f295ba903acbbed39c70ea0569cf1705fa954a537ffa3b8b7125eaf58").expect("internal U256 is valid; qed") + "genesisHash": H256::from_str("0x016f9d0bc355e718ce950727cd423d4915f34ded0a94f466242446b8865e061f").expect("genesis hash error.") }, "orderPallet": { "slotWidth": 3, diff --git a/node/src/cli.rs b/node/src/cli.rs index e40f550..de97e4e 100644 --- a/node/src/cli.rs +++ b/node/src/cli.rs @@ -2,6 +2,7 @@ use crate::service::EthConfiguration; use std::path::PathBuf; /// Sub-commands supported by the collator. +#[allow(clippy::large_enum_variant)] #[derive(Debug, clap::Subcommand)] pub enum Subcommand { /// Build a chain specification. @@ -38,11 +39,6 @@ pub enum Subcommand { /// The pallet benchmarking moved to the `pallet` sub-command. #[command(subcommand)] Benchmark(frame_benchmarking_cli::BenchmarkCmd), - - /// Try-runtime has migrated to a standalone - /// [CLI](). The subcommand exists as a stub and - /// deprecation notice. It will be removed entirely some time after Janurary 2024. - TryRuntime, } const AFTER_HELP_EXAMPLE: &str = color_print::cstr!( @@ -63,8 +59,7 @@ const AFTER_HELP_EXAMPLE: &str = color_print::cstr!( args_conflicts_with_subcommands = true, subcommand_negates_reqs = true )] -//#[clap(after_help = AFTER_HELP_EXAMPLE)] -#[command(after_help = AFTER_HELP_EXAMPLE)] +#[clap(after_help = AFTER_HELP_EXAMPLE)] pub struct Cli { #[command(subcommand)] pub subcommand: Option, diff --git a/node/src/client.rs b/node/src/client.rs index 9dcb8cc..f1426de 100644 --- a/node/src/client.rs +++ b/node/src/client.rs @@ -1,77 +1,68 @@ +// use codec::Codec; // Substrate -use sc_executor::{NativeElseWasmExecutor, NativeExecutionDispatch, NativeVersion}; -use sp_consensus_aura::sr25519::AuthorityId as AuraId; -// Local -use parachain_magnet_runtime::{opaque::Block, AccountId, Balance, Nonce}; +use sc_executor::WasmExecutor; +// use sp_runtime::traits::{Block as BlockT, MaybeDisplay}; -use crate::eth::EthCompatRuntimeApiCollection; +// use crate::eth::EthCompatRuntimeApiCollection; /// Full backend. -pub type FullBackend = sc_service::TFullBackend; +pub type FullBackend = sc_service::TFullBackend; /// Full client. -pub type FullClient = - sc_service::TFullClient>; +pub type FullClient = sc_service::TFullClient>; -//pub type Client = FullClient; +// /// A set of APIs that every runtime must implement. +// pub trait BaseRuntimeApiCollection: +// sp_api::ApiExt +// + sp_api::Metadata +// + sp_block_builder::BlockBuilder +// + sp_offchain::OffchainWorkerApi +// + sp_session::SessionKeys +// + sp_transaction_pool::runtime_api::TaggedTransactionQueue +// { +// } -/// Only enable the benchmarking host functions when we actually want to benchmark. -#[cfg(feature = "runtime-benchmarks")] -pub type HostFunctions = frame_benchmarking::benchmarking::HostFunctions; -/// Otherwise we use empty host functions for ext host functions. -#[cfg(not(feature = "runtime-benchmarks"))] -pub type HostFunctions = (); +// impl BaseRuntimeApiCollection for Api +// where +// Block: BlockT, +// Api: sp_api::ApiExt +// + sp_api::Metadata +// + sp_block_builder::BlockBuilder +// + sp_offchain::OffchainWorkerApi +// + sp_session::SessionKeys +// + sp_transaction_pool::runtime_api::TaggedTransactionQueue, +// { +// } -pub struct TemplateRuntimeExecutor; -impl NativeExecutionDispatch for TemplateRuntimeExecutor { - type ExtendHostFunctions = HostFunctions; +// /// A set of APIs that magnet runtime must implement. +// pub trait RuntimeApiCollection< +// Block: BlockT, +// AuraId: Codec, +// AccountId: Codec, +// Nonce: Codec, +// Balance: Codec + MaybeDisplay, +// >: +// BaseRuntimeApiCollection +// + EthCompatRuntimeApiCollection +// + sp_consensus_aura::AuraApi +// // + sp_consensus_grandpa::GrandpaApi +// + frame_system_rpc_runtime_api::AccountNonceApi +// + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi +// { +// } - fn dispatch(method: &str, data: &[u8]) -> Option> { - parachain_magnet_runtime::api::dispatch(method, data) - } - - fn native_version() -> NativeVersion { - parachain_magnet_runtime::native_version() - } -} - -/// A set of APIs that every runtimes must implement. -pub trait BaseRuntimeApiCollection: - sp_api::ApiExt - + sp_api::Metadata - + sp_block_builder::BlockBuilder - + sp_offchain::OffchainWorkerApi - + sp_session::SessionKeys - + sp_transaction_pool::runtime_api::TaggedTransactionQueue -{ -} - -impl BaseRuntimeApiCollection for Api where - Api: sp_api::ApiExt - + sp_api::Metadata - + sp_block_builder::BlockBuilder - + sp_offchain::OffchainWorkerApi - + sp_session::SessionKeys - + sp_transaction_pool::runtime_api::TaggedTransactionQueue -{ -} - -/// A set of APIs that template runtime must implement. -pub trait RuntimeApiCollection: - BaseRuntimeApiCollection - + EthCompatRuntimeApiCollection - + sp_consensus_aura::AuraApi - //+ sp_consensus_grandpa::GrandpaApi - + frame_system_rpc_runtime_api::AccountNonceApi - + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi -{ -} - -impl RuntimeApiCollection for Api where - Api: BaseRuntimeApiCollection - + EthCompatRuntimeApiCollection - + sp_consensus_aura::AuraApi - //+ sp_consensus_grandpa::GrandpaApi - + frame_system_rpc_runtime_api::AccountNonceApi - + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi -{ -} +// impl +// RuntimeApiCollection for Api +// where +// Block: BlockT, +// AuraId: Codec, +// AccountId: Codec, +// Nonce: Codec, +// Balance: Codec + MaybeDisplay, +// Api: BaseRuntimeApiCollection +// + EthCompatRuntimeApiCollection +// + sp_consensus_aura::AuraApi +// // + sp_consensus_grandpa::GrandpaApi +// + frame_system_rpc_runtime_api::AccountNonceApi +// + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi, +// { +// } diff --git a/node/src/command.rs b/node/src/command.rs index d6655f1..f063969 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -1,5 +1,6 @@ use std::net::SocketAddr; +use cumulus_client_service::storage_proof_size::HostFunctions as ReclaimHostFunctions; use cumulus_primitives_core::ParaId; use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE}; use log::info; @@ -9,7 +10,6 @@ use sc_cli::{ NetworkParams, Result, SharedParams, SubstrateCli, }; use sc_service::config::{BasePath, PrometheusConfig}; -use sp_runtime::traits::AccountIdConversion; use crate::{ chain_spec, @@ -20,7 +20,7 @@ use crate::{ fn load_spec(id: &str) -> std::result::Result, String> { Ok(match id { "dev" => Box::new(chain_spec::development_config()), - "template-rococo" => Box::new(chain_spec::local_testnet_config()), + "magnet-rococo" => Box::new(chain_spec::local_testnet_config()), "" | "local" => Box::new(chain_spec::local_testnet_config()), path => Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?), }) @@ -182,26 +182,25 @@ pub fn run() -> Result<()> { let runner = cli.create_runner(cmd)?; // Switch on the concrete benchmark sub-command- match cmd { - BenchmarkCmd::Pallet(cmd) => + BenchmarkCmd::Pallet(cmd) => { if cfg!(feature = "runtime-benchmarks") { - runner.sync_run(|config| cmd.run::(config)) + runner.sync_run(|config| cmd.run_with_spec::, ReclaimHostFunctions>(Some(config.chain_spec))) } else { Err("Benchmarking wasn't enabled when building the node. \ You can enable it with `--features runtime-benchmarks`." .into()) - }, + } + }, BenchmarkCmd::Block(cmd) => runner.sync_run(|config| { let partials = new_partial(&config, ð_cfg)?; cmd.run(partials.client) }), #[cfg(not(feature = "runtime-benchmarks"))] - BenchmarkCmd::Storage(_) => - return Err(sc_cli::Error::Input( - "Compile with --features=runtime-benchmarks \ + BenchmarkCmd::Storage(_) => Err(sc_cli::Error::Input( + "Compile with --features=runtime-benchmarks \ to enable storage benchmarks." - .into(), - ) - .into()), + .into(), + )), #[cfg(feature = "runtime-benchmarks")] BenchmarkCmd::Storage(cmd) => runner.sync_run(|config| { let partials = new_partial(&config, ð_cfg)?; @@ -209,15 +208,15 @@ pub fn run() -> Result<()> { let storage = partials.backend.expose_storage(); cmd.run(config, partials.client.clone(), db, storage) }), - BenchmarkCmd::Machine(cmd) => - runner.sync_run(|config| cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone())), + BenchmarkCmd::Machine(cmd) => { + runner.sync_run(|config| cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone())) + }, // NOTE: this allows the Client to leniently implement // new benchmark commands without requiring a companion MR. #[allow(unreachable_patterns)] _ => Err("Benchmarking sub-command unsupported".into()), } }, - Some(Subcommand::TryRuntime) => Err("The `try-runtime` subcommand has been migrated to a standalone CLI (https://github.com/paritytech/try-runtime-cli). It is no longer being maintained here and will be removed entirely some time after January 2024. Please remove this subcommand from your runtime and use the standalone CLI.".into()), None => { let runner = cli.create_runner(&cli.run.normalize())?; let collator_options = cli.run.collator_options(); @@ -241,17 +240,11 @@ pub fn run() -> Result<()> { let id = ParaId::from(para_id); - let parachain_account = - AccountIdConversion::::into_account_truncating( - &id, - ); - let tokio_handle = config.tokio_handle.clone(); let polkadot_config = SubstrateCli::create_configuration(&polkadot_cli, &polkadot_cli, tokio_handle) .map_err(|err| format!("Relay chain argument error: {}", err))?; - info!("Parachain Account: {parachain_account}"); info!("Is collating: {}", if config.role.is_authority() { "yes" } else { "no" }); crate::service::start_parachain_node( diff --git a/node/src/eth.rs b/node/src/eth.rs index bf99d6f..d33bfc8 100644 --- a/node/src/eth.rs +++ b/node/src/eth.rs @@ -8,27 +8,28 @@ use std::{ use futures::{future, prelude::*}; // Substrate use sc_client_api::BlockchainEvents; -use sc_executor::NativeExecutionDispatch; +use sc_executor::HostFunctions; use sc_network_sync::SyncingService; use sc_service::{error::Error as ServiceError, Configuration, TaskManager}; use sp_api::ConstructRuntimeApi; +use sp_core::H256; +use sp_runtime::traits::Block as BlockT; // Frontier pub use fc_consensus::FrontierBlockImport; -use fc_rpc::{EthTask, OverrideHandle}; +use fc_rpc::EthTask; pub use fc_rpc_core::types::{FeeHistoryCache, FeeHistoryCacheLimit, FilterPool}; -// Local -use parachain_magnet_runtime::opaque::Block; +pub use fc_storage::{StorageOverride, StorageOverrideHandler}; use crate::client::{FullBackend, FullClient}; /// Frontier DB backend type. -pub type FrontierBackend = fc_db::Backend; +pub type FrontierBackend = fc_db::Backend; pub fn db_config_dir(config: &Configuration) -> PathBuf { config.base_path.config_dir(config.chain_spec.id()) } -/// Avalailable frontier backend types. +/// Available frontier backend types. #[derive(Debug, Copy, Clone, Default, clap::ValueEnum)] pub enum BackendType { /// Either RocksDb or ParityDb as per inherited from the global backend settings. @@ -108,43 +109,46 @@ pub fn new_frontier_partial( } /// A set of APIs that ethereum-compatible runtimes must implement. -pub trait EthCompatRuntimeApiCollection: +pub trait EthCompatRuntimeApiCollection: sp_api::ApiExt + fp_rpc::ConvertTransactionRuntimeApi + fp_rpc::EthereumRuntimeRPCApi { } -impl EthCompatRuntimeApiCollection for Api where +impl EthCompatRuntimeApiCollection for Api +where + Block: BlockT, Api: sp_api::ApiExt + fp_rpc::ConvertTransactionRuntimeApi - + fp_rpc::EthereumRuntimeRPCApi + + fp_rpc::EthereumRuntimeRPCApi, { } -pub async fn spawn_frontier_tasks( +pub async fn spawn_frontier_tasks( task_manager: &TaskManager, - client: Arc>, - backend: Arc, - frontier_backend: FrontierBackend, + client: Arc>, + backend: Arc>, + frontier_backend: Arc>>, filter_pool: Option, - overrides: Arc>, + storage_override: Arc>, fee_history_cache: FeeHistoryCache, fee_history_cache_limit: FeeHistoryCacheLimit, - sync: Arc>, + sync: Arc>, pubsub_notification_sinks: Arc< fc_mapping_sync::EthereumBlockNotificationSinks< - fc_mapping_sync::EthereumBlockNotification, + fc_mapping_sync::EthereumBlockNotification, >, >, ) where - RuntimeApi: ConstructRuntimeApi>, - RuntimeApi: Send + Sync + 'static, - RuntimeApi::RuntimeApi: EthCompatRuntimeApiCollection, - Executor: NativeExecutionDispatch + 'static, + B: BlockT, + RA: ConstructRuntimeApi>, + RA: Send + Sync + 'static, + RA::RuntimeApi: EthCompatRuntimeApiCollection, + HF: HostFunctions + 'static, { // Spawn main mapping sync worker background task. - match frontier_backend { + match &*frontier_backend { fc_db::Backend::KeyValue(b) => { task_manager.spawn_essential_handle().spawn( "frontier-mapping-sync-worker", @@ -154,10 +158,10 @@ pub async fn spawn_frontier_tasks( Duration::new(6, 0), client.clone(), backend, - overrides.clone(), - Arc::new(b), + storage_override.clone(), + b.clone(), 3, - 0, + 0u32.into(), fc_mapping_sync::SyncStrategy::Normal, sync, pubsub_notification_sinks, @@ -172,10 +176,10 @@ pub async fn spawn_frontier_tasks( fc_mapping_sync::sql::SyncWorker::run( client.clone(), backend, - Arc::new(b), + b.clone(), client.import_notification_stream(), fc_mapping_sync::sql::SyncWorkerConfig { - read_notification_timeout: Duration::from_secs(10), + read_notification_timeout: Duration::from_secs(30), check_indexed_blocks_interval: Duration::from_secs(60), }, fc_mapping_sync::SyncStrategy::Parachain, @@ -201,6 +205,11 @@ pub async fn spawn_frontier_tasks( task_manager.spawn_essential_handle().spawn( "frontier-fee-history", Some("frontier"), - EthTask::fee_history_task(client, overrides, fee_history_cache, fee_history_cache_limit), + EthTask::fee_history_task( + client, + storage_override, + fee_history_cache, + fee_history_cache_limit, + ), ); } diff --git a/node/src/main.rs b/node/src/main.rs index e20e4af..6cea6c1 100644 --- a/node/src/main.rs +++ b/node/src/main.rs @@ -1,15 +1,14 @@ -//! Substrate Parachain Node Template CLI +//! Substrate Parachain Node magnet CLI #![warn(missing_docs)] mod chain_spec; -#[macro_use] -mod service; mod cli; mod client; mod command; mod eth; mod rpc; +mod service; fn main() -> sc_cli::Result<()> { command::run() diff --git a/node/src/rpc/eth.rs b/node/src/rpc/eth.rs index e429b92..c3b3538 100644 --- a/node/src/rpc/eth.rs +++ b/node/src/rpc/eth.rs @@ -7,9 +7,8 @@ use sc_client_api::{ client::BlockchainEvents, AuxStore, UsageProvider, }; -use sc_network::NetworkService; +use sc_network::service::traits::NetworkService; use sc_network_sync::SyncingService; -//use sc_rpc::DenyUnsafe::No; use sc_rpc::SubscriptionTaskExecutor; use sc_transaction_pool::{ChainApi, Pool}; use sc_transaction_pool_api::TransactionPool; @@ -21,9 +20,9 @@ use sp_core::H256; use sp_inherents::CreateInherentDataProviders; use sp_runtime::traits::Block as BlockT; // Frontier -pub use fc_rpc::{EthBlockDataCacheTask, EthConfig, OverrideHandle, StorageOverride}; +pub use fc_rpc::{EthBlockDataCacheTask, EthConfig}; pub use fc_rpc_core::types::{FeeHistoryCache, FeeHistoryCacheLimit, FilterPool}; -pub use fc_storage::overrides_handle; +use fc_storage::StorageOverride; use fp_rpc::{ConvertTransaction, ConvertTransactionRuntimeApi, EthereumRuntimeRPCApi}; /// Extra dependencies for Ethereum compatibility. @@ -41,13 +40,13 @@ pub struct EthDeps { /// Whether to enable dev signer pub enable_dev_signer: bool, /// Network service - pub network: Arc>, + pub network: Arc, /// Chain syncing service pub sync: Arc>, /// Frontier Backend. pub frontier_backend: Arc>, /// Ethereum data access overrides. - pub overrides: Arc>, + pub storage_override: Arc>, /// Cache for Ethereum block data. pub block_data_cache: Arc>, /// EthFilterApi pool. @@ -67,33 +66,6 @@ pub struct EthDeps { pub pending_create_inherent_data_providers: CIDP, } -impl Clone for EthDeps { - fn clone(&self) -> Self { - Self { - client: self.client.clone(), - pool: self.pool.clone(), - graph: self.graph.clone(), - converter: self.converter.clone(), - is_authority: self.is_authority, - enable_dev_signer: self.enable_dev_signer, - network: self.network.clone(), - sync: self.sync.clone(), - frontier_backend: self.frontier_backend.clone(), - overrides: self.overrides.clone(), - block_data_cache: self.block_data_cache.clone(), - filter_pool: self.filter_pool.clone(), - max_past_logs: self.max_past_logs, - fee_history_cache: self.fee_history_cache.clone(), - fee_history_cache_limit: self.fee_history_cache_limit, - execute_gas_limit_multiplier: self.execute_gas_limit_multiplier, - forced_parent_hashes: self.forced_parent_hashes.clone(), - pending_create_inherent_data_providers: self - .pending_create_inherent_data_providers - .clone(), - } - } -} - /// Instantiate Ethereum-compatible RPC extensions. pub fn create_eth( mut io: RpcModule<()>, @@ -106,7 +78,7 @@ pub fn create_eth( >, ) -> Result, Box> where - B: BlockT, + B: BlockT, C: CallApiAt + ProvideRuntimeApi, C::Api: AuraApi + BlockBuilderApi @@ -122,9 +94,9 @@ where EC: EthConfig, { use fc_rpc::{ - pending::AuraConsensusDataProvider, Eth, EthApiServer, EthDevSigner, EthFilter, - EthFilterApiServer, EthPubSub, EthPubSubApiServer, EthSigner, Net, NetApiServer, Web3, - Web3ApiServer, + pending::AuraConsensusDataProvider, Debug, DebugApiServer, Eth, EthApiServer, EthDevSigner, + EthFilter, EthFilterApiServer, EthPubSub, EthPubSubApiServer, EthSigner, Net, NetApiServer, + Web3, Web3ApiServer, }; #[cfg(feature = "txpool")] use fc_rpc::{TxPool, TxPoolApiServer}; @@ -139,7 +111,7 @@ where network, sync, frontier_backend, - overrides, + storage_override, block_data_cache, filter_pool, max_past_logs, @@ -163,7 +135,7 @@ where converter, sync.clone(), signers, - overrides.clone(), + storage_override.clone(), frontier_backend.clone(), is_authority, block_data_cache.clone(), @@ -182,12 +154,12 @@ where io.merge( EthFilter::new( client.clone(), - frontier_backend, + frontier_backend.clone(), graph.clone(), filter_pool, 500_usize, // max stored filters max_past_logs, - block_data_cache, + block_data_cache.clone(), ) .into_rpc(), )?; @@ -199,7 +171,7 @@ where client.clone(), sync, subscription_task_executor, - overrides, + storage_override.clone(), pubsub_notification_sinks, ) .into_rpc(), @@ -217,6 +189,10 @@ where io.merge(Web3::new(client.clone()).into_rpc())?; + io.merge( + Debug::new(client.clone(), frontier_backend, storage_override, block_data_cache).into_rpc(), + )?; + #[cfg(feature = "txpool")] io.merge(TxPool::new(client, graph).into_rpc())?; diff --git a/node/src/rpc/mod.rs b/node/src/rpc/mod.rs index b1cb868..83761f7 100644 --- a/node/src/rpc/mod.rs +++ b/node/src/rpc/mod.rs @@ -21,15 +21,13 @@ use sp_consensus_aura::sr25519::AuthorityId as AuraId; use sp_inherents::CreateInherentDataProviders; use sp_runtime::traits::Block as BlockT; // Runtime -use parachain_magnet_runtime::{opaque::Block, AccountId, Balance, Hash, Nonce}; +use parachain_magnet_runtime::{AccountId, Balance, Hash, Nonce}; mod eth; -pub use self::eth::{create_eth, overrides_handle, EthDeps}; - +pub use self::eth::{create_eth, EthDeps}; use pallet_pot_rpc::PotApiServer; - /// Full client dependencies. -pub struct FullDeps { +pub struct FullDeps { /// The client instance to use. pub client: Arc, /// Transaction pool instance. @@ -39,48 +37,50 @@ pub struct FullDeps { /// Manual seal command sink pub command_sink: Option>>, /// Ethereum-compatibility specific dependencies. - pub eth: EthDeps, + pub eth: EthDeps, } pub struct DefaultEthConfig(std::marker::PhantomData<(C, BE)>); -impl fc_rpc::EthConfig for DefaultEthConfig +impl fc_rpc::EthConfig for DefaultEthConfig where - C: StorageProvider + Sync + Send + 'static, - BE: Backend + 'static, + B: BlockT, + C: StorageProvider + Sync + Send + 'static, + BE: Backend + 'static, { type EstimateGasAdapter = (); type RuntimeStorageOverride = - fc_rpc::frontier_backend_client::SystemAccountId20StorageOverride; + fc_rpc::frontier_backend_client::SystemAccountId20StorageOverride; } /// Instantiate all Full RPC extensions. -pub fn create_full( - deps: FullDeps, +pub fn create_full( + deps: FullDeps, subscription_task_executor: SubscriptionTaskExecutor, pubsub_notification_sinks: Arc< fc_mapping_sync::EthereumBlockNotificationSinks< - fc_mapping_sync::EthereumBlockNotification, + fc_mapping_sync::EthereumBlockNotification, >, >, ) -> Result, Box> where - C: CallApiAt + ProvideRuntimeApi, - C::Api: sp_block_builder::BlockBuilder, - C::Api: sp_consensus_aura::AuraApi, - C::Api: substrate_frame_rpc_system::AccountNonceApi, - C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, - C::Api: fp_rpc::ConvertTransactionRuntimeApi, - C::Api: fp_rpc::EthereumRuntimeRPCApi, - C::Api: pallet_pot_rpc::PotRPCApi, - C::Api: pallet_move_rpc::MoveRuntimeApi, - C: HeaderBackend + HeaderMetadata + 'static, - C: BlockchainEvents + AuxStore + UsageProvider + StorageProvider, - BE: Backend + 'static, - P: TransactionPool + 'static, - A: ChainApi + 'static, - CIDP: CreateInherentDataProviders + Send + 'static, - CT: fp_rpc::ConvertTransaction<::Extrinsic> + Send + Sync + 'static, + B: BlockT, + C: CallApiAt + ProvideRuntimeApi, + C::Api: sp_block_builder::BlockBuilder, + C::Api: sp_consensus_aura::AuraApi, + C::Api: substrate_frame_rpc_system::AccountNonceApi, + C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, + C::Api: fp_rpc::ConvertTransactionRuntimeApi, + C::Api: fp_rpc::EthereumRuntimeRPCApi, + C::Api: pallet_pot_rpc::PotRPCApi, + C::Api: pallet_move_rpc::MoveRuntimeApi, + C: HeaderBackend + HeaderMetadata + 'static, + C: BlockchainEvents + AuxStore + UsageProvider + StorageProvider, + BE: Backend + 'static, + P: TransactionPool + 'static, + A: ChainApi + 'static, + CIDP: CreateInherentDataProviders + Send + 'static, + CT: fp_rpc::ConvertTransaction<::Extrinsic> + Send + Sync + 'static, { use pallet_move_rpc::{MoveApiServer, MovePallet}; use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; diff --git a/node/src/service.rs b/node/src/service.rs index 34566b2..acbc961 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -7,18 +7,23 @@ use std::{path::Path, sync::Arc, time::Duration}; use cumulus_client_cli::CollatorOptions; // Local Runtime Types use parachain_magnet_runtime::{ + apis::RuntimeApi, + configs::TransactionConverter, opaque::{Block, Hash}, - RuntimeApi, TransactionConverter, }; // Cumulus Imports use cumulus_client_collator::service::CollatorService; +#[docify::export(lookahead_collator)] +use cumulus_client_consensus_aura::collators::lookahead::{self as aura, Params as AuraParams}; use cumulus_client_consensus_common::ParachainBlockImport as TParachainBlockImport; use cumulus_client_consensus_proposer::Proposer; use cumulus_client_service::{ build_network, build_relay_chain_interface, prepare_node_config, start_relay_chain_tasks, - BuildNetworkParams, CollatorSybilResistance, DARecoveryProfile, StartRelayChainTasksParams, + BuildNetworkParams, CollatorSybilResistance, DARecoveryProfile, ParachainHostFunctions, + StartRelayChainTasksParams, }; +#[docify::export(cumulus_primitives)] use cumulus_primitives_core::{ relay_chain::{CollatorPair, ValidationCode}, ParaId, @@ -26,53 +31,32 @@ use cumulus_primitives_core::{ use cumulus_relay_chain_interface::{OverseerHandle, RelayChainInterface}; // Substrate Imports +pub use crate::eth::{db_config_dir, EthConfiguration}; +use crate::eth::{ + new_frontier_partial, spawn_frontier_tasks, BackendType, FrontierBackend, + FrontierBlockImport as TFrontierBlockImport, FrontierPartialComponents, StorageOverrideHandler, +}; use frame_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE; +use prometheus_endpoint::Registry; use sc_client_api::Backend; use sc_consensus::ImportQueue; -use sc_executor::{ - HeapAllocStrategy, NativeElseWasmExecutor, WasmExecutor, DEFAULT_HEAP_ALLOC_STRATEGY, -}; +use sc_executor::{HeapAllocStrategy, WasmExecutor, DEFAULT_HEAP_ALLOC_STRATEGY}; use sc_network::NetworkBlock; -use sc_network_sync::SyncingService; use sc_service::{Configuration, PartialComponents, TFullBackend, TFullClient, TaskManager}; use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle}; use sc_transaction_pool_api::OffchainTransactionPoolFactory; use sp_keystore::KeystorePtr; -use substrate_prometheus_endpoint::Registry; -pub use crate::eth::{db_config_dir, EthConfiguration}; -use crate::eth::{ - new_frontier_partial, - spawn_frontier_tasks, - BackendType, //EthCompatRuntimeApiCollection, - FrontierBackend, - FrontierBlockImport as TFrontierBlockImport, - FrontierPartialComponents, -}; -use cumulus_relay_chain_interface::OccupiedCoreAssumption; -use cumulus_relay_chain_interface::PersistedValidationData; +use cumulus_client_cli::RelayChainMode; use futures::lock::Mutex; use mc_coretime_bulk::spawn_bulk_task; use mc_coretime_on_demand::spawn_on_demand_order; use mp_coretime_bulk::BulkMemRecord; use mp_coretime_bulk::BulkStatus; use mp_coretime_on_demand::OrderRecord; -/// Native executor type. -pub struct ParachainNativeExecutor; -impl sc_executor::NativeExecutionDispatch for ParachainNativeExecutor { - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; - - fn dispatch(method: &str, data: &[u8]) -> Option> { - parachain_magnet_runtime::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - parachain_magnet_runtime::native_version() - } -} - -type ParachainExecutor = NativeElseWasmExecutor; +#[docify::export(wasm_executor)] +type ParachainExecutor = WasmExecutor; type ParachainClient = TFullClient; @@ -87,6 +71,7 @@ type FrontierBlockImport = TFrontierBlockImport, Par /// /// Use this macro if you don't actually need the full service, but just the builder in order to /// be able to perform chain operations. +#[docify::export(component_instantiation)] pub fn new_partial( config: &Configuration, eth_config: &EthConfiguration, @@ -101,8 +86,8 @@ pub fn new_partial( ParachainBlockImport, Option, Option, - FrontierBackend, - Arc>, + FrontierBackend, + Arc>, ), >, sc_service::Error, @@ -122,7 +107,7 @@ pub fn new_partial( .default_heap_pages .map_or(DEFAULT_HEAP_ALLOC_STRATEGY, |h| HeapAllocStrategy::Static { extra_pages: h as _ }); - let wasm = WasmExecutor::builder() + let executor = ParachainExecutor::builder() .with_execution_method(config.wasm_method) .with_onchain_heap_alloc_strategy(heap_pages) .with_offchain_heap_alloc_strategy(heap_pages) @@ -130,13 +115,12 @@ pub fn new_partial( .with_runtime_cache_size(config.runtime_cache_size) .build(); - let executor = ParachainExecutor::new_with_wasm_executor(wasm); - let (client, backend, keystore_container, task_manager) = - sc_service::new_full_parts::( + sc_service::new_full_parts_record_import::( config, telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), executor, + true, )?; let client = Arc::new(client); @@ -154,14 +138,13 @@ pub fn new_partial( task_manager.spawn_essential_handle(), client.clone(), ); - - let overrides = crate::rpc::overrides_handle(client.clone()); + let storage_override = Arc::new(StorageOverrideHandler::::new(client.clone())); let frontier_backend = match eth_config.frontier_backend_type { - BackendType::KeyValue => FrontierBackend::KeyValue(fc_db::kv::Backend::open( + BackendType::KeyValue => FrontierBackend::KeyValue(Arc::new(fc_db::kv::Backend::open( Arc::clone(&client), &config.database, &db_config_dir(config), - )?), + )?)), BackendType::Sql => { let db_path = db_config_dir(config).join("sql"); std::fs::create_dir_all(&db_path).expect("failed creating sql db directory"); @@ -178,13 +161,12 @@ pub fn new_partial( }), eth_config.frontier_sql_backend_pool_size, std::num::NonZeroU32::new(eth_config.frontier_sql_backend_num_ops_timeout), - overrides.clone(), + storage_override.clone(), )) .unwrap_or_else(|err| panic!("failed creating sql backend: {:?}", err)); - FrontierBackend::Sql(backend) + FrontierBackend::Sql(Arc::new(backend)) }, }; - let frontier_block_import = FrontierBlockImport::new(client.clone(), client.clone()); let parachain_block_import = ParachainBlockImport::new(frontier_block_import, backend.clone()); @@ -195,7 +177,7 @@ pub fn new_partial( config, telemetry.as_ref().map(|telemetry| telemetry.handle()), &task_manager, - )?; + ); Ok(PartialComponents { backend, @@ -210,14 +192,12 @@ pub fn new_partial( telemetry, telemetry_worker_handle, frontier_backend, - overrides, + storage_override, ), }) } /// Start a node with the given parachain `Configuration` and relay chain `Configuration`. -/// -/// This is the actual implementation that is abstract over the executor and the runtime api. #[sc_tracing::logging::prefix_logs_with("Parachain")] async fn start_node_impl( parachain_config: Configuration, @@ -232,9 +212,13 @@ async fn start_node_impl( parachain_config.rpc_id_provider = Some(Box::new(fc_rpc::EthereumSubIdProvider)); let params = new_partial(¶chain_config, ð_config)?; - let (block_import, mut telemetry, telemetry_worker_handle, frontier_backend, overrides) = + let (block_import, mut telemetry, telemetry_worker_handle, frontier_backend, storage_override) = params.other; - let net_config = sc_network::config::FullNetworkConfiguration::new(¶chain_config.network); + let net_config = sc_network::config::FullNetworkConfiguration::< + _, + _, + sc_network::NetworkWorker, + >::new(¶chain_config.network); let FrontierPartialComponents { filter_pool, fee_history_cache, fee_history_cache_limit } = new_frontier_partial(ð_config)?; @@ -242,7 +226,29 @@ async fn start_node_impl( let client = params.client.clone(); let backend = params.backend.clone(); let mut task_manager = params.task_manager; - let relay_rpc = polkadot_config.rpc_addr; + // If tokenSymbol is not set in the para chain's chainspec file, the default value is 18. + let parachain_decimal = if let Some(decimal) = parachain_config + .chain_spec + .properties() + .get("tokenDecimals") + .and_then(|v| v.as_u64()) + { + decimal + } else { + 18 + }; + + let relay_rpc = + if let RelayChainMode::ExternalRpc(urls) = collator_options.clone().relay_chain_mode { + urls[0].as_str().to_string() + } else { + let rpc_addr = polkadot_config.rpc_addr; + let mut url = String::from("ws://"); + url.push_str( + &rpc_addr.expect("Should set rpc address for submit order extrinic").to_string(), + ); + url + }; let (relay_chain_interface, collator_key) = build_relay_chain_interface( polkadot_config, @@ -255,12 +261,13 @@ async fn start_node_impl( .await .map_err(|e| sc_service::Error::Application(Box::new(e) as Box<_>))?; - //let force_authoring = parachain_config.force_authoring; let validator = parachain_config.role.is_authority(); let prometheus_registry = parachain_config.prometheus_registry().cloned(); let transaction_pool = params.transaction_pool.clone(); let import_queue_service = params.import_queue.service(); + // NOTE: because we use Aura here explicitly, we can use `CollatorSybilResistance::Resistant` + // when starting the network. let (network, system_rpc_tx, tx_handler_controller, start_network, sync_service) = build_network(BuildNetworkParams { parachain_config: ¶chain_config, @@ -288,7 +295,7 @@ async fn start_node_impl( transaction_pool: Some(OffchainTransactionPoolFactory::new( transaction_pool.clone(), )), - network_provider: network.clone(), + network_provider: Arc::new(network.clone()), is_validator: parachain_config.role.is_authority(), enable_http_requests: false, custom_extensions: move |_| vec![], @@ -307,7 +314,6 @@ async fn start_node_impl( fc_mapping_sync::EthereumBlockNotification, > = Default::default(); let pubsub_notification_sinks = Arc::new(pubsub_notification_sinks); - let pubsub_notification_sinks_frontier = pubsub_notification_sinks.clone(); let slot_duration = sc_consensus_aura::slot_duration(&*client)?; let target_gas_price = eth_config.target_gas_price; @@ -323,48 +329,56 @@ async fn start_node_impl( let dynamic_fee = fp_dynamic_fee::InherentDataProvider(U256::from(target_gas_price)); Ok((slot, timestamp, dynamic_fee)) }; + let frontier_backend = Arc::new(frontier_backend); + let is_authority = parachain_config.role.is_authority(); - let eth_rpc_params = crate::rpc::EthDeps { - client: client.clone(), - pool: transaction_pool.clone(), - graph: transaction_pool.pool().clone(), - converter: Some(TransactionConverter), - is_authority: parachain_config.role.is_authority(), - enable_dev_signer: eth_config.enable_dev_signer, - network: network.clone(), - sync: sync_service.clone(), - frontier_backend: match frontier_backend.clone() { - fc_db::Backend::KeyValue(b) => Arc::new(b), - fc_db::Backend::Sql(b) => Arc::new(b), - }, - overrides: overrides.clone(), - block_data_cache: Arc::new(fc_rpc::EthBlockDataCacheTask::new( + let rpc_builder = { + let client = client.clone(); + let network = network.clone(); + let sync_service = sync_service.clone(); + let transaction_pool = transaction_pool.clone(); + let filter_pool = filter_pool.clone(); + let frontier_backend = frontier_backend.clone(); + let pubsub_notification_sinks = pubsub_notification_sinks.clone(); + let storage_override = storage_override.clone(); + let fee_history_cache = fee_history_cache.clone(); + let block_data_cache = Arc::new(fc_rpc::EthBlockDataCacheTask::new( task_manager.spawn_handle(), - overrides.clone(), + storage_override.clone(), eth_config.eth_log_block_cache, eth_config.eth_statuses_cache, prometheus_registry.clone(), - )), - filter_pool: filter_pool.clone(), - max_past_logs: eth_config.max_past_logs, - fee_history_cache: fee_history_cache.clone(), - fee_history_cache_limit, - execute_gas_limit_multiplier: eth_config.execute_gas_limit_multiplier, - forced_parent_hashes: None, - pending_create_inherent_data_providers, - }; - - let rpc_builder = { - let client = client.clone(); - let transaction_pool = transaction_pool.clone(); - + )); Box::new(move |deny_unsafe, subscription_task_executor| { + let eth_rpc_params = crate::rpc::EthDeps { + client: client.clone(), + pool: transaction_pool.clone(), + graph: transaction_pool.pool().clone(), + converter: Some(TransactionConverter::::default()), + is_authority, + enable_dev_signer: eth_config.enable_dev_signer, + network: network.clone(), + sync: sync_service.clone(), + frontier_backend: match &*frontier_backend { + fc_db::Backend::KeyValue(b) => b.clone(), + fc_db::Backend::Sql(b) => b.clone(), + }, + storage_override: storage_override.clone(), + block_data_cache: block_data_cache.clone(), + filter_pool: filter_pool.clone(), + max_past_logs: eth_config.max_past_logs, + fee_history_cache: fee_history_cache.clone(), + fee_history_cache_limit, + execute_gas_limit_multiplier: eth_config.execute_gas_limit_multiplier, + forced_parent_hashes: None, + pending_create_inherent_data_providers, + }; let deps = crate::rpc::FullDeps { client: client.clone(), pool: transaction_pool.clone(), deny_unsafe, command_sink: None, - eth: eth_rpc_params.clone(), + eth: eth_rpc_params, }; crate::rpc::create_full( @@ -397,11 +411,11 @@ async fn start_node_impl( backend.clone(), frontier_backend, filter_pool, - overrides, + storage_override, fee_history_cache, fee_history_cache_limit, sync_service.clone(), - pubsub_notification_sinks_frontier, + pubsub_notification_sinks, ) .await; @@ -457,6 +471,7 @@ async fn start_node_impl( recovery_handle: Box::new(overseer_handle.clone()), sync_service: sync_service.clone(), })?; + if validator { let order_record = Arc::new(Mutex::new(OrderRecord::new())); spawn_on_demand_order( @@ -468,6 +483,7 @@ async fn start_node_impl( params.keystore_container.keystore(), order_record.clone(), relay_rpc, + parachain_decimal, )?; let bulk_mem_record = Arc::new(Mutex::new(BulkMemRecord { coretime_para_height: 0, items: Vec::new() })); @@ -480,14 +496,13 @@ async fn start_node_impl( )?; start_consensus( client.clone(), - backend.clone(), + backend, block_import, prometheus_registry.as_ref(), telemetry.as_ref().map(|t| t.handle()), &task_manager, - relay_chain_interface.clone(), + relay_chain_interface, transaction_pool, - sync_service.clone(), params.keystore_container.keystore(), relay_chain_slot_duration, para_id, @@ -511,10 +526,8 @@ fn build_import_queue( config: &Configuration, telemetry: Option, task_manager: &TaskManager, -) -> Result, sc_service::Error> { - let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; - - Ok(cumulus_client_consensus_aura::equivocation_import_queue::fully_verifying_import_queue::< +) -> sc_consensus::DefaultImportQueue { + cumulus_client_consensus_aura::equivocation_import_queue::fully_verifying_import_queue::< sp_consensus_aura::sr25519::AuthorityPair, _, _, @@ -524,17 +537,16 @@ fn build_import_queue( client, block_import, move |_, _| async move { - //TODO: add create_inherent_data_providers let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); Ok(timestamp) }, - slot_duration, &task_manager.spawn_essential_handle(), config.prometheus_registry(), telemetry, - )) + ) } +#[allow(clippy::too_many_arguments)] fn start_consensus( client: Arc, backend: Arc, @@ -544,7 +556,6 @@ fn start_consensus( task_manager: &TaskManager, relay_chain_interface: Arc, transaction_pool: Arc>, - sync_oracle: Arc>, keystore: KeystorePtr, relay_chain_slot_duration: Duration, para_id: ParaId, @@ -554,13 +565,6 @@ fn start_consensus( order_record: Arc>, bulk_mem_record: Arc>, ) -> Result<(), sc_service::Error> { - use cumulus_client_consensus_aura::collators::lookahead::{self as aura, Params as AuraParams}; - - // NOTE: because we use Aura here explicitly, we can use `CollatorSybilResistance::Resistant` - // when starting the network. - - let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; - let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( task_manager.spawn_handle(), client.clone(), @@ -577,11 +581,10 @@ fn start_consensus( announce_block, client.clone(), ); - let relay_chain_interface_clone = relay_chain_interface.clone(); + let params = AuraParams { create_inherent_data_providers: move |_, ()| { let bulk_mem_record_clone = bulk_mem_record.clone(); - let relay_chain_interface = relay_chain_interface.clone(); let order_record_clone = order_record.clone(); async move { let mut bulk_mem_record_clone_local = bulk_mem_record_clone.lock().await; @@ -594,6 +597,7 @@ fn start_consensus( duration, start_relaychain_height, end_relaychain_height, + record_index, ) = if let Some(item) = item { ( Some(&item.storage_proof), @@ -602,9 +606,10 @@ fn start_consensus( item.duration, item.start_relaychain_height, item.end_relaychain_height, + item.record_index, ) } else { - (None, Default::default(), 0u128.into(), 0, 0, 0) + (None, Default::default(), 0u128.into(), 0, 0, 0, 0) }; let bulk_inherent = mp_coretime_bulk::BulkInherentData::create_at( storage_proof, @@ -613,6 +618,7 @@ fn start_consensus( duration, start_relaychain_height, end_relaychain_height, + record_index, ) .await; if storage_proof.is_some() { @@ -650,32 +656,26 @@ fn start_consensus( Ok((bulk_inherent, order_inherent)) } }, - block_import, para_client: client.clone(), - para_backend: backend.clone(), - relay_client: relay_chain_interface_clone, + para_backend: backend, + relay_client: relay_chain_interface, code_hash_provider: move |block_hash| { client.code_at(block_hash).ok().map(|c| ValidationCode::from(c).hash()) }, - sync_oracle, keystore, collator_key, para_id, overseer_handle, - slot_duration, relay_chain_slot_duration, proposer, collator_service, - // Very limited proposal time. - authoring_duration: Duration::from_millis(1500), + authoring_duration: Duration::from_millis(2000), reinitialize: false, }; - - let fut = - aura::run::( - params, - ); + let fut = aura::run::( + params, + ); task_manager.spawn_essential_handle().spawn("aura", None, fut); Ok(()) diff --git a/pallets/assets-bridge/Cargo.toml b/pallets/assets-bridge/Cargo.toml index e934138..d6d005f 100644 --- a/pallets/assets-bridge/Cargo.toml +++ b/pallets/assets-bridge/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [dependencies] serde = { workspace = true, features = ["derive"], optional = true } -codec = { package = "parity-scale-codec", workspace = true, default-features = false } +codec = { workspace = true } scale-info = { workspace = true, default-features = false, features = ["derive"] } sp-core = { workspace = true, default-features = false } diff --git a/pallets/assets-bridge/src/lib.rs b/pallets/assets-bridge/src/lib.rs index df53215..18162e5 100644 --- a/pallets/assets-bridge/src/lib.rs +++ b/pallets/assets-bridge/src/lib.rs @@ -33,7 +33,7 @@ use frame_support::{ ensure, pallet_prelude::*, traits::{ - tokens::{Fortitude, Precision}, + tokens::{Fortitude, Precision, Preservation}, Currency, IsType, }, transactional, @@ -214,6 +214,26 @@ pub mod pallet { type ClaimBond: Get>; } + impl Pallet { + fn ensure_admin(who: &T::AccountId) -> Result<(), Error> { + if Some(who.clone()) != Self::admin_key() { + Err(Error::::RequireAdmin) + } else { + Ok(()) + } + } + + fn is_in_emergency(asset_id: T::AssetId) -> bool { + Self::emergencies() + .iter() + .any(|emergency| emergency.clone() == asset_id.clone()) + } + + fn is_in_back_foreign(asset_id: T::AssetId) -> bool { + Self::back_foreign_assets().iter().any(|id| id.clone() == asset_id.clone()) + } + } + /// The Substrate Account for Evm Addresses /// /// SubAccounts: map H160 => Option @@ -392,6 +412,7 @@ pub mod pallet { asset_id.clone(), &who, amount, + Preservation::Expendable, external_precision, external_force, )?; @@ -445,6 +466,7 @@ pub mod pallet { asset_id.clone(), &who, amount.unique_saturated_into(), + Preservation::Expendable, external_precision, external_force, )?; @@ -471,7 +493,7 @@ pub mod pallet { erc20: H160, ) -> DispatchResultWithPostInfo { let who = ensure_signed(origin)?; - ensure!(Some(who) == Self::admin_key(), Error::::RequireAdmin); + Self::ensure_admin(&who)?; // ensure asset_id and erc20 address has not been mapped ensure!(!Erc20s::::contains_key(asset_id.clone()), Error::::AssetIdHasMapped); @@ -496,7 +518,7 @@ pub mod pallet { asset_id: Option, ) -> DispatchResultWithPostInfo { let who = ensure_signed(origin)?; - ensure!(Some(who) == Self::admin_key(), Error::::RequireAdmin); + Self::ensure_admin(&who)?; Emergencies::::try_mutate(|emergencies| { if let Some(id) = asset_id.clone() { @@ -647,7 +669,7 @@ pub mod pallet { new_contract: H160, ) -> DispatchResultWithPostInfo { let who = ensure_signed(origin)?; - ensure!(Some(who) == Self::admin_key(), Error::::RequireAdmin); + Self::ensure_admin(&who)?; EvmContracts::::mutate(|contracts| { contracts.insert(new_contract); @@ -710,14 +732,4 @@ where _ => Err(Error::::ExecutedFailed.into()), } } - - fn is_in_emergency(asset_id: T::AssetId) -> bool { - Self::emergencies() - .iter() - .any(|emergency| emergency.clone() == asset_id.clone()) - } - - fn is_in_back_foreign(asset_id: T::AssetId) -> bool { - Self::back_foreign_assets().iter().any(|id| id.clone() == asset_id.clone()) - } } diff --git a/pallets/assets-bridge/src/tests.rs b/pallets/assets-bridge/src/tests.rs index cbea967..7c5b6dd 100644 --- a/pallets/assets-bridge/src/tests.rs +++ b/pallets/assets-bridge/src/tests.rs @@ -13,7 +13,7 @@ use crate::{mock::*, to_ascii_hex, EcdsaSignature}; use frame_support::{assert_noop, assert_ok}; -use sp_core::{H160, U256}; +use sp_core::{ByteArray, H160, U256}; use ethabi::{Function, Param, ParamType, Token}; use hex_literal::hex; diff --git a/pallets/assurance/Cargo.toml b/pallets/assurance/Cargo.toml index e48d85b..a13bc08 100644 --- a/pallets/assurance/Cargo.toml +++ b/pallets/assurance/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" targets = ["x86_64-unknown-linux-gnu"] [dependencies] -codec = { package = "parity-scale-codec", workspace = true, features = ["derive"], default-features = false } +codec = { workspace = true } scale-info = { workspace = true, default-features = false, features = ["derive"] } mp-system = { path = "../../primitives/system", default-features = false } log = { workspace = true } @@ -24,7 +24,7 @@ frame-support = { workspace = true, default-features = false} frame-system = { workspace = true, default-features = false} sp-core = { workspace = true, default-features = false} sp-std = { workspace = true, default-features = false} -cumulus-pallet-parachain-system = { workspace = true, default-features = false, features = ["parameterized-consensus-hook"] } +cumulus-pallet-parachain-system = { workspace = true, default-features = false } [dev-dependencies] serde = { version = "1.0.188" } diff --git a/pallets/bulk/Cargo.toml b/pallets/bulk/Cargo.toml index 3d9b768..590953c 100644 --- a/pallets/bulk/Cargo.toml +++ b/pallets/bulk/Cargo.toml @@ -12,7 +12,7 @@ edition.workspace = true targets = ["x86_64-unknown-linux-gnu"] [dependencies] -codec = { package = "parity-scale-codec", workspace = true, features = ["derive"], default-features = false } +codec = { workspace = true } scale-info = { workspace = true, default-features = false, features = ["derive"] } log = { workspace = true, default-features = false } hex = { workspace = true } @@ -57,7 +57,7 @@ pallet-xcm = { workspace = true, default-features = false} pallet-society ={ workspace = true, default-features = false} xcm-builder = { workspace = true, default-features = false } parachains-common = { workspace = true, default-features = false } -cumulus-pallet-parachain-system = { workspace = true, default-features = false, features = ["parameterized-consensus-hook",] } +cumulus-pallet-parachain-system = { workspace = true, default-features = false } [features] default = [ "std" ] diff --git a/pallets/bulk/src/benchmarking.rs b/pallets/bulk/src/benchmarking.rs index 00ba979..39fe455 100644 --- a/pallets/bulk/src/benchmarking.rs +++ b/pallets/bulk/src/benchmarking.rs @@ -20,9 +20,11 @@ use super::*; #[allow(unused)] use crate::Pallet as Bulk; +use core::str::FromStr; use frame_benchmarking::{benchmarks, impl_benchmark_test_suite}; use frame_system::RawOrigin; use pallet_broker::{CoreMask, RegionId}; +use sp_core::H256; mod test_sproof { use sp_trie::StorageProof; @@ -80,6 +82,22 @@ benchmarks! { verify { assert_eq!(RpcUrl::::get(), Some(url)); } + + set_genesis_hash { + let s in 0 .. 100; + let genesis_hash = H256::from_str("0x016f9d0bc355e718ce950727cd423d4915f34ded0a94f466242446b8865e061f").expect("genesis hash error."); + }: _(RawOrigin::Root, genesis_hash.clone()) + verify { + assert_eq!(GenesisHash::::get(), genesis_hash); + } + + set_check_genesis_hash { + let s in 0 .. 100; + let check_genesis_hash = true; + }: _(RawOrigin::Root, check_genesis_hash) + verify { + assert_eq!(CheckGenesisHash::::get(), check_genesis_hash); + } } impl_benchmark_test_suite!(Bulk, crate::mock::ExtBuilder::default().build(), crate::mock::Test,); diff --git a/pallets/bulk/src/lib.rs b/pallets/bulk/src/lib.rs index b8a0c00..46d68f1 100644 --- a/pallets/bulk/src/lib.rs +++ b/pallets/bulk/src/lib.rs @@ -28,12 +28,11 @@ use frame_support::{ traits::Currency, }; use frame_system::pallet_prelude::*; -use mp_coretime_bulk::well_known_keys::broker_regions; +use mp_coretime_bulk::{well_known_keys::broker_regions, RegionRecord, RegionRecordV0}; use mp_coretime_common::{ chain_state_snapshot::GenericStateProof, well_known_keys::SYSTEM_BLOCKHASH_GENESIS, }; pub use pallet::*; -use pallet_broker::RegionRecord; use sp_runtime::sp_std::{prelude::*, vec}; use weights::WeightInfo; @@ -115,6 +114,16 @@ pub mod pallet { #[pallet::getter(fn genesis_hash)] pub type GenesisHash = StorageValue<_, PHash, ValueQuery>; + #[pallet::type_value] + pub fn CheckGenesisHashOnEmpty() -> bool { + false + } + + /// Is check coretime parachain genesis block hash or not. + #[pallet::storage] + #[pallet::getter(fn check_genesis_hash)] + pub type CheckGenesisHash = StorageValue<_, bool, ValueQuery, CheckGenesisHashOnEmpty>; + /// Bulk purchase Information Map. #[pallet::storage] #[pallet::getter(fn bulk_records)] @@ -125,6 +134,7 @@ pub mod pallet { pub struct GenesisConfig { pub rpc_url: BoundedVec, pub genesis_hash: PHash, + pub check_genesis_hash: bool, pub _marker: PhantomData, } @@ -133,6 +143,7 @@ pub mod pallet { Self { rpc_url: BoundedVec::new(), genesis_hash: Default::default(), + check_genesis_hash: false, _marker: Default::default(), } } @@ -143,6 +154,7 @@ pub mod pallet { fn build(&self) { RpcUrl::::put(&self.rpc_url); GenesisHash::::put(&self.genesis_hash); + CheckGenesisHash::::put(&self.check_genesis_hash); } } @@ -234,8 +246,18 @@ pub mod pallet { duration, start_relaychain_height, end_relaychain_height, + record_index, } = data; + let old_record_index = RecordIndex::::get(); + if record_index != old_record_index { + let total_weight = T::DbWeight::get().reads_writes(1, 0); + return Ok(PostDispatchInfo { + actual_weight: Some(total_weight), + pays_fee: Pays::No, + }); + } + let storage_proof = p_storage_proof.ok_or(Error::::ProofNone)?; // Create coretime parachain root proof let storage_rooted_proof: GenericStateProof< @@ -245,26 +267,42 @@ pub mod pallet { let region_key = broker_regions(region_id); // Read RegionRecord from proof. - let region_record = storage_rooted_proof + let p_region_record = storage_rooted_proof .read_entry::>>(region_key.as_slice(), None) - .ok() - .ok_or(Error::::FailedReading)?; - - let genesis_hash_key = SYSTEM_BLOCKHASH_GENESIS; - let genesis_hash = storage_rooted_proof - .read_entry::(genesis_hash_key, None) - .ok() - .ok_or(Error::::FailedReading)?; - - let stored_hash = GenesisHash::::get(); - if genesis_hash != stored_hash { - Err(Error::::GenesisHashInconsistency)?; + .ok(); + let (balance, purchaser) = if let Some(region_record) = p_region_record { + let balance = region_record.paid.ok_or(Error::::PurchaserNone)?; + let purchaser = region_record.owner.ok_or(Error::::PurchaserNone)?; + (balance, purchaser) + } else { + let region_record = storage_rooted_proof + .read_entry::>>( + region_key.as_slice(), + None, + ) + .ok() + .ok_or(Error::::FailedReading)?; + let balance = region_record.paid.ok_or(Error::::PurchaserNone)?; + let purchaser = region_record.owner; + (balance, purchaser) + }; + + if Self::check_genesis_hash() { + let genesis_hash_key = SYSTEM_BLOCKHASH_GENESIS; + let genesis_hash = storage_rooted_proof + .read_entry::(genesis_hash_key, None) + .ok() + .ok_or(Error::::FailedReading)?; + + let stored_hash = GenesisHash::::get(); + if genesis_hash != stored_hash { + Err(Error::::GenesisHashInconsistency)?; + } } + let real_start_relaychain_height = Self::relaychain_block_number(); let real_end_relaychain_height = real_start_relaychain_height + duration; - let old_record_index = RecordIndex::::get(); - let balance = region_record.paid.ok_or(Error::::PurchaserNone)?; - let purchaser = region_record.owner; + // Create record of purchase coretime. BulkRecords::::insert( old_record_index, @@ -282,7 +320,7 @@ pub mod pallet { Self::deposit_event(Event::RecordCreated { purchaser, price: balance, - duration: region_record.end, + duration, start_relaychain_height, end_relaychain_height, real_start_relaychain_height, @@ -309,6 +347,34 @@ pub mod pallet { Ok(()) } + + /// Set coretime parachain genesis hash. + /// + /// Parameters: + /// - `genesis_hash`: genesis hash. + #[pallet::call_index(2)] + #[pallet::weight(::WeightInfo::set_genesis_hash())] + pub fn set_genesis_hash(origin: OriginFor, genesis_hash: PHash) -> DispatchResult { + T::UpdateOrigin::ensure_origin(origin)?; + + GenesisHash::::put(genesis_hash); + + Ok(()) + } + + /// Set check coretime parachain genesis hash. + /// + /// Parameters: + /// - `check`: check genesis hash. + #[pallet::call_index(3)] + #[pallet::weight(::WeightInfo::set_check_genesis_hash())] + pub fn set_check_genesis_hash(origin: OriginFor, check: bool) -> DispatchResult { + T::UpdateOrigin::ensure_origin(origin)?; + + CheckGenesisHash::::put(check); + + Ok(()) + } } } diff --git a/pallets/bulk/src/mock.rs b/pallets/bulk/src/mock.rs index 45db57b..e4d672b 100644 --- a/pallets/bulk/src/mock.rs +++ b/pallets/bulk/src/mock.rs @@ -202,7 +202,7 @@ impl ExtBuilder { "0x4ea18c8f295ba903acbbed39c70ea0569cf1705fa954a537ffa3b8b7125eaf58", ) .expect("internal U256 is valid; qed"), - _marker: Default::default(), + ..Default::default() } .assimilate_storage(&mut t) .unwrap(); diff --git a/pallets/bulk/src/tests.rs b/pallets/bulk/src/tests.rs index 15ae849..26cb5ba 100644 --- a/pallets/bulk/src/tests.rs +++ b/pallets/bulk/src/tests.rs @@ -43,6 +43,7 @@ fn bulk_inherent_test() { duration: 100, start_relaychain_height: 130, end_relaychain_height: 230, + record_index: 0, }; inherent_data .put_data(mp_coretime_bulk::INHERENT_IDENTIFIER, &bulk_inherent_data) diff --git a/pallets/bulk/src/weights.rs b/pallets/bulk/src/weights.rs index 7728878..ea85c8a 100644 --- a/pallets/bulk/src/weights.rs +++ b/pallets/bulk/src/weights.rs @@ -37,6 +37,8 @@ use core::marker::PhantomData; pub trait WeightInfo { fn set_rpc_url() -> Weight; fn create_record() -> Weight; + fn set_genesis_hash() -> Weight; + fn set_check_genesis_hash() -> Weight; } /// Weight functions for `pallet_bulk`. pub struct SubstrateWeight(PhantomData); @@ -70,6 +72,32 @@ impl WeightInfo for SubstrateWeight { .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } + /// Storage: `BulkPallet::GenesisHash` (r:0 w:1) + /// Proof: `BulkPallet::GenesisHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// The range of component `s` is `[0, 100]`. + fn set_genesis_hash() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_537_000 picoseconds. + Weight::from_parts(4_080_512, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 465 + .saturating_add(Weight::from_parts(2, 0)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `BulkPallet::CheckGenesisHash` (r:0 w:1) + /// Proof: `BulkPallet::CheckGenesisHash` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) + /// The range of component `s` is `[0, 100]`. + fn set_check_genesis_hash() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_306_000 picoseconds. + Weight::from_parts(3_896_852, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(T::DbWeight::get().writes(1)) + } } impl WeightInfo for () { @@ -92,4 +120,26 @@ impl WeightInfo for () { .saturating_add(Weight::from_parts(0, 0)) .saturating_add(RocksDbWeight::get().writes(1)) } + + fn set_genesis_hash() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_537_000 picoseconds. + Weight::from_parts(4_080_512, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 465 + .saturating_add(Weight::from_parts(2, 0)) + .saturating_add(RocksDbWeight::get().writes(1)) + } + + fn set_check_genesis_hash() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_306_000 picoseconds. + Weight::from_parts(3_896_852, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(RocksDbWeight::get().writes(1)) + } } \ No newline at end of file diff --git a/pallets/evm-utils/Cargo.toml b/pallets/evm-utils/Cargo.toml index f0982c0..6bfe48b 100644 --- a/pallets/evm-utils/Cargo.toml +++ b/pallets/evm-utils/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" targets = ["x86_64-unknown-linux-gnu"] [dependencies] -codec = { package = "parity-scale-codec", workspace = true, features = ["derive"], default-features = false } +codec = { workspace = true } scale-info = { workspace = true, default-features = false, features = ["derive"] } # Substrate diff --git a/pallets/evm/precompile/substrate-utils/Cargo.toml b/pallets/evm/precompile/substrate-utils/Cargo.toml index 622a0b9..d2e8c67 100644 --- a/pallets/evm/precompile/substrate-utils/Cargo.toml +++ b/pallets/evm/precompile/substrate-utils/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" targets = ["x86_64-unknown-linux-gnu"] [dependencies] -codec = { package = "parity-scale-codec", workspace = true, features = ["derive"], default-features = false } +codec = { workspace = true } scale-info = { workspace = true, default-features = false, features = ["derive"] } # Substrate diff --git a/pallets/evm/precompile/transfer-to-magnet/Cargo.toml b/pallets/evm/precompile/transfer-to-magnet/Cargo.toml index 64e06b4..fb98166 100644 --- a/pallets/evm/precompile/transfer-to-magnet/Cargo.toml +++ b/pallets/evm/precompile/transfer-to-magnet/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" targets = ["x86_64-unknown-linux-gnu"] [dependencies] -codec = { package = "parity-scale-codec", workspace = true, features = ["derive"], default-features = false } +codec = { workspace = true } scale-info = { workspace = true, default-features = false, features = ["derive"] } hex = { workspace = true, default-features = false } diff --git a/pallets/evm/precompile/transfer-to-magnet/src/lib.rs b/pallets/evm/precompile/transfer-to-magnet/src/lib.rs index 7c66d67..19cf4ef 100644 --- a/pallets/evm/precompile/transfer-to-magnet/src/lib.rs +++ b/pallets/evm/precompile/transfer-to-magnet/src/lib.rs @@ -208,6 +208,7 @@ where BASE + (input.len() as u64 / 32 * WORD) } + #[allow(dead_code)] fn ensure_linear_cost( target_gas: Option, len: u64, diff --git a/pallets/liquidation/Cargo.toml b/pallets/liquidation/Cargo.toml index daecbdb..1775936 100644 --- a/pallets/liquidation/Cargo.toml +++ b/pallets/liquidation/Cargo.toml @@ -12,9 +12,7 @@ homepage = "https://magnet.magport.io/" targets = ["x86_64-unknown-linux-gnu"] [dependencies] -codec = { package = "parity-scale-codec", workspace = true, default-features = false, features = [ - "derive", -]} +codec = { workspace = true } log = {workspace = true, default-features = false} scale-info = { workspace = true, default-features = false, features = ["derive"] } smallvec = { workspace = true } diff --git a/pallets/liquidation/src/lib.rs b/pallets/liquidation/src/lib.rs index a55fcfd..0f89cc2 100644 --- a/pallets/liquidation/src/lib.rs +++ b/pallets/liquidation/src/lib.rs @@ -173,14 +173,15 @@ pub mod pallet { <= 100 * (PERCENT_UNIT as u32), "Ratio sum must be <= 100%" ); - assert!( - self.min_liquidation_threshold > ::ExistentialDeposit::get(), - "MinLiquidationThreshold must be greater than ExistentialDeposit" - ); - assert!( - self.profit_distribution_cycle > 1u32.into(), - "ProfitDistributionCycle must be greater than 1" - ); + // TODO:cargo test parachain_magnet_runtime failed + // assert!( + // self.min_liquidation_threshold > ::ExistentialDeposit::get(), + // "MinLiquidationThreshold must be greater than ExistentialDeposit" + // ); + // assert!( + // self.profit_distribution_cycle > 1u32.into(), + // "ProfitDistributionCycle must be greater than 1" + // ); if let Some(key) = &self.admin_key { >::put(key.clone()); @@ -563,7 +564,7 @@ pub mod pallet { let assets = Assets::from(vec![asset]); let versioned_assets = VersionedAssets::from(assets); - + #[allow(deprecated)] match pallet_xcm::Pallet::::reserve_transfer_assets( origin, Box::new(VersionedLocation::from(Location::parent())), @@ -780,7 +781,7 @@ where T::AccountId: From<[u8; 32]>, { fn gas_cost( - block_number: BlockNumberFor, + _block_number: BlockNumberFor, ) -> Result, sp_runtime::DispatchError> { Ok(None) } @@ -802,7 +803,7 @@ where T::AccountId: From<[u8; 32]>, { fn gas_cost( - block_number: BlockNumberFor, + _block_number: BlockNumberFor, ) -> Result, sp_runtime::DispatchError> { Ok(None) } diff --git a/pallets/liquidation/src/mock.rs b/pallets/liquidation/src/mock.rs index a99ef2a..0cedcb8 100644 --- a/pallets/liquidation/src/mock.rs +++ b/pallets/liquidation/src/mock.rs @@ -21,7 +21,6 @@ use sp_runtime::{ use crate::OrderGasCost; use frame_system::pallet_prelude::BlockNumberFor; -use sp_consensus_aura::sr25519::AuthorityId as AuraId; use sp_std::{cell::RefCell, collections::btree_map::BTreeMap}; use xcm::latest::{Assets, Location, SendError, SendResult, SendXcm, Xcm, XcmHash}; use xcm::prelude::*; @@ -92,6 +91,11 @@ impl system::Config for Test { type RuntimeCall = RuntimeCall; type RuntimeOrigin = RuntimeOrigin; type RuntimeTask = (); + type SingleBlockMigrations = (); + type MultiBlockMigrator = (); + type PreInherents = (); + type PostInherents = (); + type PostTransactions = (); } parameter_types! { @@ -233,6 +237,10 @@ impl xcm_executor::Config for XcmConfig { type SafeCallFilter = Everything; type Aliasers = Nothing; type TransactionalProcessor = (); + type HrmpNewChannelOpenRequestHandler = (); + type HrmpChannelAcceptedHandler = (); + type HrmpChannelClosingHandler = (); + type XcmRecorder = (); } pub type LocalOriginToLocation = SignedToAccountId32; @@ -384,7 +392,6 @@ impl ExtBuilder { profit_distribution_cycle: self.profit_distribution_cycle, }; liquidation_config.assimilate_storage(&mut storage).unwrap(); - let mut ext = sp_io::TestExternalities::new(storage); ext.execute_with(|| System::set_block_number(1)); ext diff --git a/pallets/on-demand/Cargo.toml b/pallets/on-demand/Cargo.toml index 9851647..283c32a 100644 --- a/pallets/on-demand/Cargo.toml +++ b/pallets/on-demand/Cargo.toml @@ -12,7 +12,7 @@ edition.workspace = true targets = ["x86_64-unknown-linux-gnu"] [dependencies] -codec = { package = "parity-scale-codec", workspace = true, features = ["derive"], default-features = false } +codec = { workspace = true } scale-info = { workspace = true, default-features = false, features = ["derive"] } log = { workspace = true, default-features = false } hex-literal = { workspace = true } @@ -38,10 +38,11 @@ sp-trie = { workspace = true, default-features = false } pallet-balances = { workspace = true, default-features = false } sp-core = { workspace = true , default-features = false} pallet-aura = { workspace = true, default-features = false } +sp-consensus-aura = { workspace = true, default-features = false} [dev-dependencies] serde = { workspace = true } -codec = { workspace = true, features = ["derive"], default-features = false } +codec = { workspace = true } hex = { workspace = true, default-features = false } # Substrate @@ -56,7 +57,7 @@ pallet-society ={ workspace = true, default-features = false} xcm-builder = { workspace = true, default-features = false } parachains-common = { workspace = true, default-features = false } pallet-timestamp = { workspace = true, default-features = false } -sp-keyring = { workspace = true, default-features = false} +sp-keyring = { workspace = true } [features] default = [ "std" ] diff --git a/pallets/on-demand/src/benchmarking.rs b/pallets/on-demand/src/benchmarking.rs index 35a72e1..62c07f1 100644 --- a/pallets/on-demand/src/benchmarking.rs +++ b/pallets/on-demand/src/benchmarking.rs @@ -20,13 +20,14 @@ pub use super::*; #[allow(unused)] use crate::Pallet as Order; -use codec::Encode; use frame_benchmarking::{benchmarks, impl_benchmark_test_suite, whitelisted_caller}; use frame_system::RawOrigin; -use sp_core::crypto::UncheckedFrom; +use sp_consensus_aura::sr25519::AuthorityId; use sp_runtime::Perbill; benchmarks! { + where_clause { where T::AccountId : From<[u8; 32]>,} + set_slot_width { let s in 0 .. 100; let caller: T::AccountId = whitelisted_caller(); @@ -57,7 +58,7 @@ benchmarks! { create_order { let s in 0..100; let r = [0xd4,0x35,0x93,0xc7,0x15,0xfd,0xd3,0x1c,0x61,0x14,0x1a,0xbd,0x04,0xa9,0x9f,0xd6,0x82,0x2c,0x85,0x58,0x85,0x4c,0xcd,0xe3,0x9a,0x56,0x84,0xe7,0xa5,0x6d,0xa2,0x7d]; - let author_pub = T::AccountId::try_from(r).unwrap(); + let author_pub = AuthorityId::from(sp_core::sr25519::Public::from_raw(r)); let bulk_inherent_data = mp_coretime_on_demand::OrderInherentData { relay_chian_number: 40, author_pub: Some(author_pub), diff --git a/pallets/on-demand/src/lib.rs b/pallets/on-demand/src/lib.rs index 8f45429..1364df4 100644 --- a/pallets/on-demand/src/lib.rs +++ b/pallets/on-demand/src/lib.rs @@ -37,7 +37,6 @@ use primitives::Balance; use sp_runtime::sp_std::{prelude::*, vec}; pub mod weights; use cumulus_pallet_parachain_system::RelaychainStateProvider; -use sp_runtime::Perbill; use weights::WeightInfo; #[cfg(test)] @@ -110,7 +109,7 @@ pub mod pallet { /// Gas threshold that triggers order placement. #[pallet::storage] #[pallet::getter(fn gas_threshold)] - pub(super) type GasThreshold = StorageValue<_, Perbill, ValueQuery>; + pub(super) type GasThreshold = StorageValue<_, u128, ValueQuery>; /// Order Information Map. #[pallet::storage] @@ -132,7 +131,7 @@ pub mod pallet { { pub slot_width: u32, pub price_limit: BalanceOf, - pub gas_threshold: Perbill, + pub gas_threshold: u128, } #[pallet::genesis_build] @@ -307,7 +306,7 @@ pub mod pallet { #[pallet::weight(::WeightInfo::set_gas_threshold())] pub fn set_gas_threshold( origin: OriginFor, - threshold: Perbill, + threshold: u128, ) -> DispatchResultWithPostInfo { T::UpdateOrigin::ensure_origin(origin)?; @@ -325,13 +324,18 @@ where /// /// Parameters: /// - `gas_balance`: The total gas. - pub fn reach_txpool_threshold(gas_balance: BalanceOf, core_price: BalanceOf) -> bool { + pub fn reach_txpool_threshold(gas_balance: BalanceOf, core_price: BalanceOf) -> bool + where + BalanceOf: Into, + { let txpool_threshold = GasThreshold::::get(); - gas_balance > txpool_threshold * core_price + let left = gas_balance.into(); + let right = txpool_threshold * core_price.into() / 100; + left > right } fn check_slot_author(relaychian_number: u32, author: T::AccountId) -> bool { - let authorities = pallet_aura::Pallet::::authorities(); + let authorities = pallet_aura::Authorities::::get(); let slot_width = Self::slot_width(); let auth_len = authorities.len() as u32; // The larger the slot width, the longer the rotation time. diff --git a/pallets/on-demand/src/mock.rs b/pallets/on-demand/src/mock.rs index 62d8ab6..640418c 100644 --- a/pallets/on-demand/src/mock.rs +++ b/pallets/on-demand/src/mock.rs @@ -28,7 +28,7 @@ use sp_core::{crypto::AccountId32, ConstBool, ConstU32, ConstU64, H256}; use sp_keyring::Sr25519Keyring::Alice; use sp_runtime::{ traits::{BlakeTwo256, IdentifyAccount, IdentityLookup, Verify}, - BuildStorage, MultiSignature, Perbill, + BuildStorage, MultiSignature, }; type Block = frame_system::mocking::MockBlock; @@ -130,9 +130,6 @@ impl pallet_timestamp::Config for Test { /// A timestamp: milliseconds since the unix epoch. type Moment = u64; type OnTimestampSet = Aura; - #[cfg(feature = "experimental")] - type MinimumPeriod = ConstU64<0>; - #[cfg(not(feature = "experimental"))] type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; type WeightInfo = (); } @@ -141,7 +138,6 @@ impl pallet_aura::Config for Test { type DisabledValidators = (); type MaxAuthorities = ConstU32<100_000>; type AllowMultipleBlocksPerSlot = ConstBool; - #[cfg(feature = "experimental")] type SlotDuration = ConstU64; } @@ -226,13 +222,9 @@ impl ExtBuilder { pallet_balances::GenesisConfig:: { balances: self.balances } .assimilate_storage(&mut t) .unwrap(); - crate::GenesisConfig:: { - slot_width: 3, - price_limit: 200000000, - gas_threshold: Perbill::one(), - } - .assimilate_storage(&mut t) - .unwrap(); + crate::GenesisConfig:: { slot_width: 3, price_limit: 200000000, gas_threshold: 1 } + .assimilate_storage(&mut t) + .unwrap(); pallet_aura::GenesisConfig:: { authorities: vec![Alice.public().into()] } .assimilate_storage(&mut t) .unwrap(); diff --git a/pallets/pot/Cargo.toml b/pallets/pot/Cargo.toml index d624f5b..bea33a3 100644 --- a/pallets/pot/Cargo.toml +++ b/pallets/pot/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" targets = ["x86_64-unknown-linux-gnu"] [dependencies] -codec = { package = "parity-scale-codec", workspace = true, features = ["derive"], default-features = false } +codec = { workspace = true } scale-info = { workspace = true, default-features = false, features = ["derive"] } mp-system = { path = "../../primitives/system", default-features = false } diff --git a/primitives/coretime/bulk/Cargo.toml b/primitives/coretime/bulk/Cargo.toml index 2724931..98872aa 100644 --- a/primitives/coretime/bulk/Cargo.toml +++ b/primitives/coretime/bulk/Cargo.toml @@ -11,9 +11,7 @@ log = { workspace = true, default-features = false } hex-literal = { workspace = true } async-trait = { workspace = true, optional = true } scale-info = { workspace = true, default-features = false } -codec = { package = "parity-scale-codec", workspace = true, default-features = false, features = [ - "derive","full", "bit-vec" -] } +codec = { workspace = true } sp-api = { workspace = true, default-features = false} sp-runtime = { workspace = true, default-features = false } sp-inherents = { workspace = true, default-features = false } diff --git a/primitives/coretime/bulk/src/inherent_client.rs b/primitives/coretime/bulk/src/inherent_client.rs index d91d464..c606a8d 100644 --- a/primitives/coretime/bulk/src/inherent_client.rs +++ b/primitives/coretime/bulk/src/inherent_client.rs @@ -28,6 +28,7 @@ impl BulkInherentData { duration: u32, start: u32, end: u32, + record_index: u32, ) -> Option { let storage_proof = if let Some(proof) = storage_proof { Some(proof.clone()) } else { None }; @@ -38,6 +39,7 @@ impl BulkInherentData { duration, start_relaychain_height: start, end_relaychain_height: end, + record_index, }) } } diff --git a/primitives/coretime/bulk/src/lib.rs b/primitives/coretime/bulk/src/lib.rs index 96f8fbf..375cdb2 100644 --- a/primitives/coretime/bulk/src/lib.rs +++ b/primitives/coretime/bulk/src/lib.rs @@ -26,7 +26,9 @@ use sp_runtime::sp_std::vec::Vec; pub mod inherent_client; pub mod well_known_keys; use codec::{Decode, Encode}; -use pallet_broker::RegionId; +use pallet_broker::{RegionId, Timeslice}; +use sp_core::MaxEncodedLen; +use sp_runtime::RuntimeDebug; use {scale_info::TypeInfo, sp_inherents::InherentIdentifier}; /// Inherent data of bulk mode. @@ -44,6 +46,8 @@ pub struct BulkInherentData { pub start_relaychain_height: u32, /// Relaychain block number of end schedule coretime core. pub end_relaychain_height: u32, + /// Expected record index for bulk pallet. + pub record_index: u32, } /// Status of bulk purchased then assigned. @@ -73,6 +77,8 @@ pub struct BulkMemRecordItem { pub duration: u32, /// Status of bulk record. pub status: BulkStatus, + /// Expected record index for bulk pallet. + pub record_index: u32, } #[derive(Clone, Debug)] @@ -94,5 +100,27 @@ sp_api::decl_runtime_apis! { fn rpc_url() -> Vec; // Block number of relaychain. fn relaychain_block_number()->u32; + // Record index. + fn record_index()-> u32; } } + +#[derive(Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug, TypeInfo, MaxEncodedLen)] +pub struct RegionRecord { + /// The end of the Region. + pub end: Timeslice, + /// The owner of the Region. + pub owner: Option, + /// The amount paid to Polkadot for this Region, or `None` if renewal is not allowed. + pub paid: Option, +} + +#[derive(Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug, TypeInfo, MaxEncodedLen)] +pub struct RegionRecordV0 { + /// The end of the Region. + pub end: Timeslice, + /// The owner of the Region. + pub owner: AccountId, + /// The amount paid to Polkadot for this Region, or `None` if renewal is not allowed. + pub paid: Option, +} diff --git a/primitives/coretime/common/Cargo.toml b/primitives/coretime/common/Cargo.toml index 52fa023..ba3cd9a 100644 --- a/primitives/coretime/common/Cargo.toml +++ b/primitives/coretime/common/Cargo.toml @@ -11,9 +11,7 @@ log = { workspace = true, default-features = false } hex-literal = { workspace = true } async-trait = { workspace = true, optional = true } scale-info = { workspace = true, default-features = false } -codec = { package = "parity-scale-codec", workspace = true, default-features = false, features = [ - "derive","full", "bit-vec" -] } +codec = { workspace = true } sp-api = { workspace = true, default-features = false} sp-runtime = { workspace = true, default-features = false } sp-inherents = { workspace = true, default-features = false } diff --git a/primitives/coretime/common/src/well_known_keys.rs b/primitives/coretime/common/src/well_known_keys.rs index aa9c7be..3afc456 100644 --- a/primitives/coretime/common/src/well_known_keys.rs +++ b/primitives/coretime/common/src/well_known_keys.rs @@ -54,3 +54,23 @@ pub fn chain_block_hash(block_number: u32) -> Vec { .collect() }) } + +// configuration pallet version +pub const CONFIGURATION_VERSION: &[u8] = + &hex_literal::hex!["06de3d8a54d27e44a9d5ce189618f22d4e7b9012096b41c4eb3aaf947f6ea429"]; + +//Configuration ActiveConfig +pub const ACTIVE_CONFIG: &[u8] = + &hex_literal::hex!["06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385"]; + +// on demand pallet version +pub const ON_DEMAND_VERSION: &[u8] = + &hex_literal::hex!["8f32430b49607f8d60bfd3a003ddf4b54e7b9012096b41c4eb3aaf947f6ea429"]; + +//OnDemandAssignmentProvider SpotTraffic +pub const SPOT_TRAFFIC: &[u8] = + &hex_literal::hex!["8f32430b49607f8d60bfd3a003ddf4b5c9308a8e0e640735727536bd9069b11e"]; + +//OnDemandAssignmentProvider QueueStatusType +pub const QUEUE_STATUS_TYPE: &[u8] = + &hex_literal::hex!["8f32430b49607f8d60bfd3a003ddf4b58bf29330833ea7904c7209f4ce9d917a"]; diff --git a/primitives/coretime/on-demand/Cargo.toml b/primitives/coretime/on-demand/Cargo.toml index 4e65a9d..9a6ee41 100644 --- a/primitives/coretime/on-demand/Cargo.toml +++ b/primitives/coretime/on-demand/Cargo.toml @@ -11,9 +11,7 @@ log = { workspace = true, default-features = false } hex-literal = { workspace = true } async-trait = { workspace = true, optional = true } scale-info = { workspace = true, default-features = false } -codec = { package = "parity-scale-codec", workspace = true, default-features = false, features = [ - "derive","full", "bit-vec" -] } +codec = { workspace = true } sp-api = { workspace = true, default-features = false} sp-runtime = { workspace = true, default-features = false } sp-inherents = { workspace = true, default-features = false } diff --git a/primitives/coretime/on-demand/src/well_known_keys.rs b/primitives/coretime/on-demand/src/well_known_keys.rs index efd5fe4..06343af 100644 --- a/primitives/coretime/on-demand/src/well_known_keys.rs +++ b/primitives/coretime/on-demand/src/well_known_keys.rs @@ -35,14 +35,6 @@ pub const SYSTEM_EVENTS: &[u8] = pub const ON_DEMAND_QUEUE: &[u8] = &hex_literal::hex!["8f32430b49607f8d60bfd3a003ddf4b53f35b69d817556cf6b886e5b4f01fbdc"]; -//OnDemandAssignmentProvider SpotTraffic -pub const SPOT_TRAFFIC: &[u8] = - &hex_literal::hex!["8f32430b49607f8d60bfd3a003ddf4b5c9308a8e0e640735727536bd9069b11e"]; - -//Configuration ActiveConfig -pub const ACTIVE_CONFIG: &[u8] = - &hex_literal::hex!["06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385"]; - pub const CORE_DESCRIPTORS: &[u8] = &hex_literal::hex!["638595eebaa445ce03a13547bece90e704e6ac775a3245623103ffec2cb2c92f"]; diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 7c64e87..9c4cd5f 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -12,98 +12,104 @@ edition.workspace = true targets = ["x86_64-unknown-linux-gnu"] [build-dependencies] -substrate-wasm-builder = { workspace = true, optional = true } +substrate-wasm-builder = { optional = true, workspace = true, default-features = true } +docify = { workspace = true } [dependencies] -codec = { package = "parity-scale-codec", workspace = true, default-features = false, features = ["derive"] } -hex-literal = { workspace = true, optional = true } -log = { workspace = true, default-features = false } -scale-info = { workspace = true, default-features = false, features = ["derive"] } -smallvec = { workspace = true } +codec = { features = [ + "derive", +], workspace = true } +hex-literal = { optional = true, workspace = true, default-features = true } +log = { workspace = true } +scale-info = { features = [ + "derive", +], workspace = true } +smallvec = { workspace = true, default-features = true } +docify = { workspace = true } +frame-benchmarking = { optional = true, workspace = true } +frame-executive.workspace = true +frame-metadata-hash-extension.workspace = true +frame-support = { features = ["experimental"], workspace = true } +frame-system.workspace = true +frame-system-benchmarking = { optional = true, workspace = true } +frame-system-rpc-runtime-api.workspace = true +frame-try-runtime = { optional = true, workspace = true } +pallet-aura.workspace = true +pallet-authorship.workspace = true +pallet-balances.workspace = true +pallet-message-queue.workspace = true +pallet-session.workspace = true +pallet-sudo.workspace = true +pallet-timestamp.workspace = true +pallet-transaction-payment.workspace = true +pallet-transaction-payment-rpc-runtime-api.workspace = true +sp-api.workspace = true +sp-block-builder.workspace = true +sp-consensus-aura.workspace = true +sp-core.workspace = true +sp-genesis-builder.workspace = true +sp-inherents.workspace = true +sp-offchain.workspace = true +sp-runtime.workspace = true +sp-session.workspace = true +sp-transaction-pool.workspace = true +sp-version.workspace = true +pallet-xcm.workspace = true +polkadot-parachain-primitives.workspace = true +polkadot-runtime-common.workspace = true +xcm.workspace = true +xcm-builder.workspace = true +xcm-executor.workspace = true +cumulus-pallet-aura-ext.workspace = true +cumulus-pallet-parachain-system.workspace = true +cumulus-pallet-session-benchmarking.workspace = true +cumulus-pallet-xcm.workspace = true +cumulus-pallet-xcmp-queue.workspace = true +cumulus-primitives-aura.workspace = true +cumulus-primitives-core.workspace = true +cumulus-primitives-utility.workspace = true +cumulus-primitives-storage-weight-reclaim.workspace = true +pallet-collator-selection.workspace = true +parachains-common.workspace = true +parachain-info.workspace = true -# Local -mp-system = { path = "../primitives/system", default-features = false } -pallet-assets-bridge = { path = "../pallets/assets-bridge", default-features = false } -pallet-evm-utils = { path = "../pallets/evm-utils", default-features = false } -pallet-precompile-substrate-utils = { path = "../pallets/evm/precompile/substrate-utils", default-features = false } -pallet-precompile-transfer-to-magnet = { path = "../pallets/evm/precompile/transfer-to-magnet", default-features = false } -pallet-pot = { path = "../pallets/pot", default-features = false } -pallet-pot-runtime-api = { path = "../pallets/pot/runtime-api", default-features = false } -pallet-assurance = { path = "../pallets/assurance", default-features = false } -pallet-liquidation = {path = "../pallets/liquidation", default-features = false} -pallet-bulk = { path = "../pallets/bulk", default-features = false } -pallet-on-demand = { path = "../pallets/on-demand", default-features = false } -mp-coretime-bulk = { path = "../primitives/coretime/bulk", default-features = false } -mp-coretime-on-demand = { path = "../primitives/coretime/on-demand", default-features = false } +# Polkadot +polkadot-primitives = { workspace = true, default-features = false} # Substrate -frame-benchmarking = { workspace = true, default-features = false, optional = true} -frame-executive = { workspace = true, default-features = false} -frame-support = { workspace = true, default-features = false} -frame-system = { workspace = true, default-features = false} -frame-system-benchmarking = { workspace = true, default-features = false, optional = true} -frame-system-rpc-runtime-api = { workspace = true, default-features = false} -frame-try-runtime = { workspace = true, default-features = false, optional = true} -pallet-aura = { workspace = true, default-features = false} -pallet-authorship = { workspace = true, default-features = false} -pallet-balances = { workspace = true, default-features = false} -pallet-assets = { workspace = true, default-features = false} -pallet-preimage = { workspace = true, default-features = false} -pallet-session = { workspace = true, default-features = false} -pallet-sudo = { workspace = true, default-features = false} -pallet-collective = { workspace = true, default-features = false} -pallet-timestamp = { workspace = true, default-features = false} -pallet-transaction-payment = { workspace = true, default-features = false} -pallet-transaction-payment-rpc-runtime-api = { workspace = true, default-features = false} -sp-api = { workspace = true, default-features = false} -sp-block-builder = { workspace = true, default-features = false} -sp-genesis-builder = { workspace = true, default-features = false} -sp-consensus-aura = { workspace = true, default-features = false} -sp-core = { workspace = true, default-features = false} -sp-inherents = { workspace = true, default-features = false} -sp-offchain = { workspace = true, default-features = false} -sp-runtime = { workspace = true, default-features = false} -sp-session = { workspace = true, default-features = false} sp-std = { workspace = true, default-features = false} -sp-transaction-pool = { workspace = true, default-features = false} -sp-version = { workspace = true, default-features = false} -sp-trie = { workspace = true, default-features = false } -pallet-society ={ workspace = true, default-features = false} +pallet-assets = { workspace = true, default-features = false} pallet-utility = { workspace = true, default-features = false} -sp-arithmetic = { workspace = true, default-features = false} -pallet-referenda = { workspace = true, default-features = false} -pallet-whitelist = { workspace = true, default-features = false} pallet-conviction-voting = { workspace = true, default-features = false} +pallet-whitelist = { workspace = true, default-features = false} +pallet-preimage = { workspace = true, default-features = false} pallet-ranked-collective = { workspace = true, default-features = false} +sp-arithmetic = { workspace = true, default-features = false} pallet-scheduler = { workspace = true, default-features = false} +pallet-referenda = { workspace = true, default-features = false} +pallet-collective = { workspace = true, default-features = false} pallet-insecure-randomness-collective-flip = { workspace = true, default-features = false} pallet-contracts = { workspace = true, default-features = false} -pallet-message-queue = { workspace = true, default-features = false } pallet-multisig = { workspace = true, default-features = false } pallet-proxy = { workspace = true, default-features = false } -# Polkadot -pallet-xcm = { workspace = true, default-features = false} -polkadot-parachain-primitives = { workspace = true, default-features = false} -polkadot-primitives = { workspace = true, default-features = false} -polkadot-runtime-common = { workspace = true, default-features = false} -xcm = { workspace = true, default-features = false} -xcm-builder = { workspace = true, default-features = false} -xcm-executor = { workspace = true, default-features = false} +# Local +mp-system = { path = "../primitives/system", default-features = false } +pallet-evm-utils = { path = "../pallets/evm-utils", default-features = false } +pallet-precompile-substrate-utils = { path = "../pallets/evm/precompile/substrate-utils", default-features = false } +pallet-precompile-transfer-to-magnet = { path = "../pallets/evm/precompile/transfer-to-magnet", default-features = false } +pallet-assets-bridge = { path = "../pallets/assets-bridge", default-features = false } +pallet-on-demand = { path = "../pallets/on-demand", default-features = false } +mp-coretime-bulk = { path = "../primitives/coretime/bulk", default-features = false } +mp-coretime-on-demand = { path = "../primitives/coretime/on-demand", default-features = false } +pallet-pot = { path = "../pallets/pot", default-features = false } +pallet-pot-runtime-api = { path = "../pallets/pot/runtime-api", default-features = false } +pallet-assurance = { path = "../pallets/assurance", default-features = false } +pallet-liquidation = {path = "../pallets/liquidation", default-features = false} +pallet-bulk = { path = "../pallets/bulk", default-features = false } -# Cumulus -cumulus-pallet-aura-ext = { workspace = true, default-features = false } -cumulus-pallet-parachain-system = { workspace = true, default-features = false, features = ["parameterized-consensus-hook",] } -cumulus-pallet-session-benchmarking = { workspace = true, default-features = false} -cumulus-pallet-xcm = { workspace = true, default-features = false } -cumulus-pallet-xcmp-queue = { workspace = true, default-features = false } -cumulus-primitives-core = { workspace = true, default-features = false } -cumulus-primitives-utility = { workspace = true, default-features = false } -pallet-collator-selection = { workspace = true, default-features = false } -parachain-info = { workspace = true, default-features = false } -parachains-common = { workspace = true, default-features = false } -cumulus-primitives-timestamp ={ workspace = true, default-features = false } -cumulus-primitives-aura ={ workspace = true, default-features = false } +#move pallet +pallet-move = { workspace = true, default-features = false } #Frontier FRAME pallet-evm-chain-id = { workspace = true, default-features = false } @@ -122,9 +128,6 @@ fp-dynamic-fee = { workspace = true, default-features = false } fp-rpc = { workspace = true, default-features = false } fp-self-contained = { workspace = true, default-features = false, features = ["serde", "try-runtime"] } -#move pallet -pallet-move = { workspace = true, default-features = false } - [features] default = ["std", "with-rocksdb-weights"] with-rocksdb-weights = [] @@ -136,10 +139,13 @@ std = [ "cumulus-pallet-session-benchmarking/std", "cumulus-pallet-xcm/std", "cumulus-pallet-xcmp-queue/std", + "cumulus-primitives-aura/std", "cumulus-primitives-core/std", + "cumulus-primitives-storage-weight-reclaim/std", "cumulus-primitives-utility/std", "frame-benchmarking?/std", "frame-executive/std", + "frame-metadata-hash-extension/std", "frame-support/std", "frame-system-benchmarking?/std", "frame-system-rpc-runtime-api/std", @@ -158,6 +164,7 @@ std = [ "pallet-transaction-payment/std", "pallet-xcm/std", "parachain-info/std", + "parachains-common/std", "polkadot-parachain-primitives/std", "polkadot-runtime-common/std", "scale-info/std", @@ -170,13 +177,23 @@ std = [ "sp-offchain/std", "sp-runtime/std", "sp-session/std", - "sp-std/std", "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", "xcm-builder/std", "xcm-executor/std", "xcm/std", + "sp-std/std", + "pallet-assets/std", + "pallet-utility/std", + "pallet-conviction-voting/std", + "pallet-referenda/std", + "pallet-whitelist/std", + "pallet-preimage/std", + "pallet-ranked-collective/std", + "polkadot-primitives/std", + "pallet-collective/std", + # Frontier "pallet-evm-chain-id/std", "pallet-evm/std", "pallet-ethereum/std", @@ -190,43 +207,31 @@ std = [ "fp-account/std", "fp-dynamic-fee/std", "fp-rpc/std", - "polkadot-primitives/std", - "parachains-common/std", - "pallet-collective/std", "fp-self-contained/std", - "pallet-assets/std", - "pallet-assets-bridge/std", "pallet-evm-utils/std", "pallet-precompile-substrate-utils/std", "pallet-precompile-transfer-to-magnet/std", - "sp-trie/std", - "cumulus-primitives-timestamp/std", - "pallet-liquidation/std", - "pallet-utility/std", + "pallet-assets-bridge/std", + "pallet-scheduler/std", + "pallet-on-demand/std", + "mp-coretime-on-demand/std", "pallet-pot/std", "pallet-assurance/std", - "pallet-preimage/std", - "pallet-referenda/std", - "pallet-whitelist/std", - "pallet-conviction-voting/std", - "pallet-ranked-collective/std", - "pallet-scheduler/std", + "pallet-liquidation/std", + "pallet-bulk/std", "pallet-insecure-randomness-collective-flip/std", "pallet-contracts/std", - "cumulus-primitives-aura/std", - "pallet-move/std", "pallet-multisig/std", "pallet-proxy/std", - "pallet-bulk/std", - "mp-coretime-bulk/std", - "pallet-on-demand/std", - "mp-coretime-on-demand/std", + "pallet-move/std", ] runtime-benchmarks = [ "cumulus-pallet-parachain-system/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", "cumulus-pallet-xcmp-queue/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", + "cumulus-primitives-utility/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system-benchmarking/runtime-benchmarks", @@ -238,43 +243,34 @@ runtime-benchmarks = [ "pallet-sudo/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", + "parachains-common/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", - "pallet-evm-utils/runtime-benchmarks", - "pallet-precompile-substrate-utils/runtime-benchmarks", - "pallet-precompile-transfer-to-magnet/runtime-benchmarks", - "pallet-on-demand/runtime-benchmarks", - "pallet-collective/runtime-benchmarks", - "pallet-society/runtime-benchmarks", - "pallet-evm/runtime-benchmarks", - "pallet-ethereum/runtime-benchmarks", - "pallet-liquidation/runtime-benchmarks", "pallet-utility/runtime-benchmarks", - "pallet-pot/runtime-benchmarks", - "pallet-assurance/runtime-benchmarks", - "pallet-preimage/runtime-benchmarks", + "pallet-conviction-voting/runtime-benchmarks", "pallet-referenda/runtime-benchmarks", "pallet-whitelist/runtime-benchmarks", - "pallet-conviction-voting/runtime-benchmarks", + "pallet-preimage/runtime-benchmarks", "pallet-ranked-collective/runtime-benchmarks", - "pallet-scheduler/runtime-benchmarks", + "pallet-collective/runtime-benchmarks", + "pallet-on-demand/runtime-benchmarks", + "pallet-pot/runtime-benchmarks", + "pallet-assurance/runtime-benchmarks", + "pallet-liquidation/runtime-benchmarks", + "pallet-bulk/runtime-benchmarks", "pallet-contracts/runtime-benchmarks", - "pallet-move/runtime-benchmarks", "pallet-multisig/runtime-benchmarks", "pallet-proxy/runtime-benchmarks", - "pallet-bulk/runtime-benchmarks", ] try-runtime = [ - "cumulus-pallet-parachain-system/try-runtime", "cumulus-pallet-aura-ext/try-runtime", "cumulus-pallet-parachain-system/try-runtime", "cumulus-pallet-xcm/try-runtime", "cumulus-pallet-xcmp-queue/try-runtime", - "cumulus-pallet-xcm/try-runtime", "frame-executive/try-runtime", "frame-support/try-runtime", "frame-system/try-runtime", @@ -292,35 +288,30 @@ try-runtime = [ "parachain-info/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", - "pallet-evm-utils/try-runtime", - "pallet-precompile-substrate-utils/try-runtime", - "pallet-precompile-transfer-to-magnet/try-runtime", - "pallet-liquidation/try-runtime", - "pallet-assets/try-runtime", - "pallet-assets-bridge/try-runtime", - "pallet-collective/try-runtime", - "pallet-collator-selection/try-runtime", - "pallet-evm-chain-id/try-runtime", - "pallet-evm/try-runtime", - "pallet-ethereum/try-runtime", - "pallet-base-fee/try-runtime", - "pallet-dynamic-fee/try-runtime", - "pallet-hotfix-sufficients/try-runtime", - "pallet-pot/try-runtime", - "pallet-assurance/try-runtime", "pallet-utility/try-runtime", - "pallet-assurance/try-runtime", - "pallet-preimage/try-runtime", + "pallet-conviction-voting/try-runtime", "pallet-referenda/try-runtime", "pallet-whitelist/try-runtime", - "pallet-conviction-voting/try-runtime", + "pallet-preimage/try-runtime", "pallet-ranked-collective/try-runtime", - "pallet-scheduler/try-runtime", + "pallet-collective/try-runtime", + "pallet-pot/try-runtime", + "pallet-liquidation/try-runtime", "pallet-insecure-randomness-collective-flip/try-runtime", "pallet-contracts/try-runtime", - "pallet-move/try-runtime", "pallet-multisig/try-runtime", "pallet-proxy/try-runtime", ] -experimental = [ "pallet-aura/experimental" ] +# Enable the metadata hash generation. +# +# This is hidden behind a feature because it increases the compile time. +# The wasm binary needs to be compiled twice, once to fetch the metadata, +# generate the metadata hash and then a second time with the +# `RUNTIME_METADATA_HASH` environment variable set for the `CheckMetadataHash` +# extension. +metadata-hash = ["substrate-wasm-builder/metadata-hash"] + +# A convenience feature for enabling things when doing a build +# for an on-chain release. +on-chain-release-build = ["metadata-hash"] diff --git a/runtime/build.rs b/runtime/build.rs index 02d6973..4f33752 100644 --- a/runtime/build.rs +++ b/runtime/build.rs @@ -1,10 +1,14 @@ -#[cfg(feature = "std")] +#[cfg(all(feature = "std", feature = "metadata-hash"))] +#[docify::export(template_enable_metadata_hash)] fn main() { - substrate_wasm_builder::WasmBuilder::new() - .with_current_project() - .export_heap_base() - .import_memory() - .build() + substrate_wasm_builder::WasmBuilder::init_with_defaults() + .enable_metadata_hash("UNIT", 12) + .build(); +} + +#[cfg(all(feature = "std", not(feature = "metadata-hash")))] +fn main() { + substrate_wasm_builder::WasmBuilder::build_using_defaults(); } /// The wasm builder is deactivated when compiling diff --git a/runtime/src/apis.rs b/runtime/src/apis.rs new file mode 100644 index 0000000..40b0dfa --- /dev/null +++ b/runtime/src/apis.rs @@ -0,0 +1,699 @@ +// External crates imports +use alloc::vec::Vec; +use fp_rpc::TransactionStatus; +use frame_support::{ + genesis_builder_helper::{build_state, get_preset}, + traits::OnFinalize, + weights::Weight, +}; +use pallet_aura::Authorities; +use pallet_ethereum::{Call::transact, Transaction as EthereumTransaction}; +use pallet_evm::{Account as EVMAccount, AddressMapping, FeeCalculator, Runner}; +use sp_api::impl_runtime_apis; +use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_core::{crypto::KeyTypeId, OpaqueMetadata, H160, H256, U256}; +use sp_runtime::{ + traits::{Block as BlockT, Get, UniqueSaturatedInto}, + transaction_validity::{TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, DispatchError, Permill, +}; +use sp_version::RuntimeVersion; + +// Local module imports +use super::{ + configs::RuntimeBlockWeights, AccountId, Assurance, Balance, Block, BlockNumber, BulkPallet, + ConsensusHook, Contracts, Ethereum, Executive, Hash, InherentDataExt, MoveModule, Nonce, + OrderPallet, ParachainSystem, Pot, Runtime, RuntimeCall, RuntimeGenesisConfig, SessionKeys, + System, TransactionPayment, SLOT_DURATION, VERSION, +}; +use crate::UncheckedExtrinsic; +use pallet_move::api::{ModuleAbi, MoveApiEstimation}; +use scale_info::prelude::string::String; +use sp_std::prelude::*; + +type EventRecord = frame_system::EventRecord< + ::RuntimeEvent, + ::Hash, +>; + +const CONTRACTS_DEBUG_OUTPUT: pallet_contracts::DebugInfo = + pallet_contracts::DebugInfo::UnsafeDebug; +const CONTRACTS_EVENTS: pallet_contracts::CollectEvents = + pallet_contracts::CollectEvents::UnsafeCollect; + +// we move some impls outside so we can easily use them with `docify`. +impl Runtime { + #[docify::export] + fn impl_slot_duration() -> sp_consensus_aura::SlotDuration { + sp_consensus_aura::SlotDuration::from_millis(SLOT_DURATION) + } + + #[docify::export] + fn impl_can_build_upon( + included_hash: ::Hash, + slot: cumulus_primitives_aura::Slot, + ) -> bool { + ConsensusHook::can_build_upon(included_hash, slot) + } +} + +impl_runtime_apis! { + impl sp_consensus_aura::AuraApi for Runtime { + fn slot_duration() -> sp_consensus_aura::SlotDuration { + Runtime::impl_slot_duration() + } + + fn authorities() -> Vec { + Authorities::::get().into_inner() + } + } + + impl cumulus_primitives_aura::AuraUnincludedSegmentApi for Runtime { + fn can_build_upon( + included_hash: ::Hash, + slot: cumulus_primitives_aura::Slot, + ) -> bool { + Runtime::impl_can_build_upon(included_hash, slot) + } + } + + impl sp_api::Core for Runtime { + fn version() -> RuntimeVersion { + VERSION + } + + fn execute_block(block: Block) { + Executive::execute_block(block) + } + + fn initialize_block(header: &::Header) -> sp_runtime::ExtrinsicInclusionMode { + Executive::initialize_block(header) + } + } + + impl sp_api::Metadata for Runtime { + fn metadata() -> OpaqueMetadata { + OpaqueMetadata::new(Runtime::metadata().into()) + } + + fn metadata_at_version(version: u32) -> Option { + Runtime::metadata_at_version(version) + } + + fn metadata_versions() -> Vec { + Runtime::metadata_versions() + } + } + + impl sp_block_builder::BlockBuilder for Runtime { + fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { + Executive::apply_extrinsic(extrinsic) + } + + fn finalize_block() -> ::Header { + Executive::finalize_block() + } + + fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { + data.create_extrinsics() + } + + fn check_inherents( + block: Block, + data: sp_inherents::InherentData, + ) -> sp_inherents::CheckInherentsResult { + data.check_extrinsics(&block) + } + } + + impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { + fn validate_transaction( + source: TransactionSource, + tx: ::Extrinsic, + block_hash: ::Hash, + ) -> TransactionValidity { + Executive::validate_transaction(source, tx, block_hash) + } + } + + impl sp_offchain::OffchainWorkerApi for Runtime { + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) + } + } + + impl sp_session::SessionKeys for Runtime { + fn generate_session_keys(seed: Option>) -> Vec { + SessionKeys::generate(seed) + } + + fn decode_session_keys( + encoded: Vec, + ) -> Option, KeyTypeId)>> { + SessionKeys::decode_into_raw_public_keys(&encoded) + } + } + + impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { + fn account_nonce(account: AccountId) -> Nonce { + System::account_nonce(account) + } + } + + impl fp_rpc::EthereumRuntimeRPCApi for Runtime { + fn chain_id() -> u64 { + ::ChainId::get() + } + + fn account_basic(address: H160) -> EVMAccount { + let account_id = ::AddressMapping::into_account_id(address); + let nonce = frame_system::Pallet::::account_nonce(&account_id); + let balance_free = + ::Currency::free_balance(account_id.clone()); + let balance_reserved = + ::Currency::reserved_balance(account_id); + let balance = balance_free.saturating_add(balance_reserved); + let account = EVMAccount { + nonce: U256::from(UniqueSaturatedInto::::unique_saturated_into(nonce)), + balance: U256::from(UniqueSaturatedInto::::unique_saturated_into(balance)), + }; + account + } + + fn gas_price() -> U256 { + let (gas_price, _) = ::FeeCalculator::min_gas_price(); + gas_price + } + + fn account_code_at(address: H160) -> Vec { + pallet_evm::AccountCodes::::get(address) + } + + fn author() -> H160 { + >::find_author() + } + + fn storage_at(address: H160, index: U256) -> H256 { + let mut tmp = [0u8; 32]; + index.to_big_endian(&mut tmp); + pallet_evm::AccountStorages::::get(address, H256::from_slice(&tmp[..])) + } + + fn call( + from: H160, + to: H160, + data: Vec, + value: U256, + gas_limit: U256, + max_fee_per_gas: Option, + max_priority_fee_per_gas: Option, + nonce: Option, + estimate: bool, + access_list: Option)>>, + ) -> Result { + use pallet_evm::GasWeightMapping as _; + use codec::Encode; + + let config = if estimate { + let mut config = ::config().clone(); + config.estimate = true; + Some(config) + } else { + None + }; + + // Estimated encoded transaction size must be based on the heaviest transaction + // type (EIP1559Transaction) to be compatible with all transaction types. + let mut estimated_transaction_len = data.len() + + // pallet ethereum index: 1 + // transact call index: 1 + // Transaction enum variant: 1 + // chain_id 8 bytes + // nonce: 32 + // max_priority_fee_per_gas: 32 + // max_fee_per_gas: 32 + // gas_limit: 32 + // action: 21 (enum varianrt + call address) + // value: 32 + // access_list: 1 (empty vec size) + // 65 bytes signature + 258; + + if access_list.is_some() { + estimated_transaction_len += access_list.encoded_size(); + } + + + let gas_limit = if gas_limit > U256::from(u64::MAX) { + u64::MAX + } else { + gas_limit.low_u64() + }; + let without_base_extrinsic_weight = true; + + let (weight_limit, proof_size_base_cost) = + match ::GasWeightMapping::gas_to_weight( + gas_limit, + without_base_extrinsic_weight + ) { + weight_limit if weight_limit.proof_size() > 0 => { + (Some(weight_limit), Some(estimated_transaction_len as u64)) + } + _ => (None, None), + }; + + ::Runner::call( + from, + to, + data, + value, + gas_limit.unique_saturated_into(), + max_fee_per_gas, + max_priority_fee_per_gas, + nonce, + access_list.unwrap_or_default(), + false, + true, + weight_limit, + proof_size_base_cost, + config.as_ref().unwrap_or(::config()), + ).map_err(|err| err.error.into()) + } + + fn create( + from: H160, + data: Vec, + value: U256, + gas_limit: U256, + max_fee_per_gas: Option, + max_priority_fee_per_gas: Option, + nonce: Option, + estimate: bool, + access_list: Option)>>, + ) -> Result { + use pallet_evm::GasWeightMapping as _; + use codec::Encode; + + let config = if estimate { + let mut config = ::config().clone(); + config.estimate = true; + Some(config) + } else { + None + }; + + + let mut estimated_transaction_len = data.len() + + // from: 20 + // value: 32 + // gas_limit: 32 + // nonce: 32 + // 1 byte transaction action variant + // chain id 8 bytes + // 65 bytes signature + 190; + + if max_fee_per_gas.is_some() { + estimated_transaction_len += 32; + } + if max_priority_fee_per_gas.is_some() { + estimated_transaction_len += 32; + } + if access_list.is_some() { + estimated_transaction_len += access_list.encoded_size(); + } + + + let gas_limit = if gas_limit > U256::from(u64::MAX) { + u64::MAX + } else { + gas_limit.low_u64() + }; + let without_base_extrinsic_weight = true; + + let (weight_limit, proof_size_base_cost) = + match ::GasWeightMapping::gas_to_weight( + gas_limit, + without_base_extrinsic_weight + ) { + weight_limit if weight_limit.proof_size() > 0 => { + (Some(weight_limit), Some(estimated_transaction_len as u64)) + } + _ => (None, None), + }; + + ::Runner::create( + from, + data, + value, + gas_limit.unique_saturated_into(), + max_fee_per_gas, + max_priority_fee_per_gas, + nonce, + access_list.unwrap_or_default(), + false, + true, + weight_limit, + proof_size_base_cost, + config.as_ref().unwrap_or(::config()), + ).map_err(|err| err.error.into()) + } + + fn current_transaction_statuses() -> Option> { + pallet_ethereum::CurrentTransactionStatuses::::get() + } + + fn current_block() -> Option { + pallet_ethereum::CurrentBlock::::get() + } + + fn current_receipts() -> Option> { + pallet_ethereum::CurrentReceipts::::get() + } + + fn current_all() -> ( + Option, + Option>, + Option> + ) { + ( + pallet_ethereum::CurrentBlock::::get(), + pallet_ethereum::CurrentReceipts::::get(), + pallet_ethereum::CurrentTransactionStatuses::::get() + ) + } + + fn extrinsic_filter( + xts: Vec<::Extrinsic>, + ) -> Vec { + xts.into_iter().filter_map(|xt| match xt.0.function { + RuntimeCall::Ethereum(transact { transaction }) => Some(transaction), + _ => None + }).collect::>() + } + + fn elasticity() -> Option { + Some(pallet_base_fee::Elasticity::::get()) + } + + fn gas_limit_multiplier_support() {} + + fn pending_block( + xts: Vec<::Extrinsic>, + ) -> (Option, Option>) { + for ext in xts.into_iter() { + let _ = Executive::apply_extrinsic(ext); + } + + Ethereum::on_finalize(System::block_number() + 1); + + ( + pallet_ethereum::CurrentBlock::::get(), + pallet_ethereum::CurrentTransactionStatuses::::get() + ) + } + fn initialize_pending_block(header: &::Header) { + Executive::initialize_block(header); + } + } + + impl fp_rpc::ConvertTransactionRuntimeApi for Runtime { + fn convert_transaction(transaction: EthereumTransaction) -> ::Extrinsic { + UncheckedExtrinsic::new_unsigned( + pallet_ethereum::Call::::transact { transaction }.into(), + ) + } + } + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { + fn query_info( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { + TransactionPayment::query_info(uxt, len) + } + fn query_fee_details( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_fee_details(uxt, len) + } + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } + } + + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi + for Runtime + { + fn query_call_info( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::RuntimeDispatchInfo { + TransactionPayment::query_call_info(call, len) + } + fn query_call_fee_details( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_call_fee_details(call, len) + } + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } + } + + impl cumulus_primitives_core::CollectCollationInfo for Runtime { + fn collect_collation_info(header: &::Header) -> cumulus_primitives_core::CollationInfo { + ParachainSystem::collect_collation_info(header) + } + } + impl mp_coretime_on_demand::OrderRuntimeApi for Runtime { + + fn slot_width()-> u32{ + OrderPallet::slot_width() + } + fn order_max_amount() -> Balance { + OrderPallet::price_limit() + } + + fn reach_txpool_threshold(gas_balance:Balance, core_price:Balance) -> bool { + OrderPallet::reach_txpool_threshold(gas_balance, core_price) + } + } + impl mp_coretime_bulk::BulkRuntimeApi for Runtime { + + fn rpc_url()-> Vec{ + BulkPallet::rpc_url() + } + + fn relaychain_block_number()->u32 { + BulkPallet::relaychain_block_number() + } + + fn record_index()-> u32 { + BulkPallet::record_index() + } + + } + + impl mp_system::OnRelayChainApi for Runtime { + fn on_relaychain(block_number: u32) -> bool { + Assurance::on_relaychain(block_number) + } + } + + impl pallet_pot_runtime_api::PotRPCApi for Runtime { + fn balance_of(pot_name: String) -> Result { + Pot::balance_of(&pot_name).map_err(|_| sp_runtime::DispatchError::Other("NotPot")) + } + fn balance_of_base() -> Result { + Pot::balance_of_base().map_err(|_| sp_runtime::DispatchError::Other("BaseBalanceError")) + } + } + impl pallet_contracts::ContractsApi for Runtime { + fn call( + origin: AccountId, + dest: AccountId, + value: Balance, + gas_limit: Option, + storage_deposit_limit: Option, + input_data: Vec, + ) -> pallet_contracts::ContractExecResult { + let gas_limit = gas_limit.unwrap_or(RuntimeBlockWeights::get().max_block); + Contracts::bare_call( + origin, + dest, + value, + gas_limit, + storage_deposit_limit, + input_data, + CONTRACTS_DEBUG_OUTPUT, + CONTRACTS_EVENTS, + pallet_contracts::Determinism::Enforced, + ) + } + + fn instantiate( + origin: AccountId, + value: Balance, + gas_limit: Option, + storage_deposit_limit: Option, + code: pallet_contracts::Code, + data: Vec, + salt: Vec, + ) -> pallet_contracts::ContractInstantiateResult + { + let gas_limit = gas_limit.unwrap_or(RuntimeBlockWeights::get().max_block); + Contracts::bare_instantiate( + origin, + value, + gas_limit, + storage_deposit_limit, + code, + data, + salt, + CONTRACTS_DEBUG_OUTPUT, + CONTRACTS_EVENTS, + ) + } + + fn upload_code( + origin: AccountId, + code: Vec, + storage_deposit_limit: Option, + determinism: pallet_contracts::Determinism, + ) -> pallet_contracts::CodeUploadResult + { + Contracts::bare_upload_code(origin, code, storage_deposit_limit, determinism) + } + + fn get_storage( + address: AccountId, + key: Vec, + ) -> pallet_contracts::GetStorageResult { + Contracts::get_storage(address, key) + } + } + + + impl pallet_move::api::MoveApi for Runtime { + fn estimate_gas_publish_module(account: AccountId, bytecode: Vec) -> Result { + MoveModule::rpc_estimate_gas_publish_module(&account, bytecode) + } + + fn estimate_gas_publish_bundle(account: AccountId, bytecode: Vec) -> Result { + MoveModule::rpc_estimate_gas_publish_bundle(&account, bytecode) + } + + fn estimate_gas_execute_script(transaction_bc: Vec) -> Result { + MoveModule::rpc_estimate_gas_execute_script(transaction_bc) + } + + fn get_module(account: AccountId, name: String) -> Result>, Vec> { + MoveModule::rpc_get_module(account, name) + } + + fn get_module_abi(account: AccountId, name: String) -> Result, Vec> { + MoveModule::rpc_get_module_abi(account, name) + } + + fn get_resource( + account: AccountId, + tag: Vec, + ) -> Result>, Vec> { + MoveModule::rpc_get_resource(account, tag) + } + } + #[cfg(feature = "try-runtime")] + impl frame_try_runtime::TryRuntime for Runtime { + fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) { + use super::configs::RuntimeBlockWeights; + + let weight = Executive::try_runtime_upgrade(checks).unwrap(); + (weight, RuntimeBlockWeights::get().max_block) + } + + fn execute_block( + block: Block, + state_root_check: bool, + signature_check: bool, + select: frame_try_runtime::TryStateSelect, + ) -> Weight { + // NOTE: intentional unwrap: we don't want to propagate the error backwards, and want to + // have a backtrace here. + Executive::try_execute_block(block, state_root_check, signature_check, select).unwrap() + } + } + + #[cfg(feature = "runtime-benchmarks")] + impl frame_benchmarking::Benchmark for Runtime { + fn benchmark_metadata(extra: bool) -> ( + Vec, + Vec, + ) { + use frame_benchmarking::{Benchmarking, BenchmarkList}; + use frame_support::traits::StorageInfoTrait; + use frame_system_benchmarking::Pallet as SystemBench; + use cumulus_pallet_session_benchmarking::Pallet as SessionBench; + use super::*; + + let mut list = Vec::::new(); + list_benchmarks!(list, extra); + + let storage_info = AllPalletsWithSystem::storage_info(); + (list, storage_info) + } + + fn dispatch_benchmark( + config: frame_benchmarking::BenchmarkConfig + ) -> Result, sp_runtime::RuntimeString> { + use frame_benchmarking::{BenchmarkError, Benchmarking, BenchmarkBatch}; + use super::*; + + use frame_system_benchmarking::Pallet as SystemBench; + impl frame_system_benchmarking::Config for Runtime { + fn setup_set_code_requirements(code: &Vec) -> Result<(), BenchmarkError> { + ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32); + Ok(()) + } + + fn verify_set_code() { + System::assert_last_event(cumulus_pallet_parachain_system::Event::::ValidationFunctionStored.into()); + } + } + + use cumulus_pallet_session_benchmarking::Pallet as SessionBench; + impl cumulus_pallet_session_benchmarking::Config for Runtime {} + + use frame_support::traits::WhitelistedStorageKeys; + let whitelist = AllPalletsWithSystem::whitelisted_storage_keys(); + + let mut batches = Vec::::new(); + let params = (&config, &whitelist); + add_benchmarks!(params, batches); + + if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } + Ok(batches) + } + } + + impl sp_genesis_builder::GenesisBuilder for Runtime { + fn build_state(config: Vec) -> sp_genesis_builder::Result { + build_state::(config) + } + + fn get_preset(id: &Option) -> Option> { + get_preset::(id, |_| None) + } + + fn preset_names() -> Vec { + Default::default() + } + } +} diff --git a/runtime/src/benchmarks.rs b/runtime/src/benchmarks.rs new file mode 100644 index 0000000..41eeeec --- /dev/null +++ b/runtime/src/benchmarks.rs @@ -0,0 +1,11 @@ +frame_benchmarking::define_benchmarks!( + [frame_system, SystemBench::] + [pallet_balances, Balances] + [pallet_session, SessionBench::] + [pallet_timestamp, Timestamp] + [pallet_message_queue, MessageQueue] + [pallet_sudo, Sudo] + [pallet_collator_selection, CollatorSelection] + [cumulus_pallet_parachain_system, ParachainSystem] + [cumulus_pallet_xcmp_queue, XcmpQueue] +); diff --git a/runtime/src/configs/mod.rs b/runtime/src/configs/mod.rs new file mode 100644 index 0000000..427f33f --- /dev/null +++ b/runtime/src/configs/mod.rs @@ -0,0 +1,856 @@ +mod xcm_config; + +// Substrate and Polkadot dependencies +use crate::precompiles::FrontierPrecompiles; +use codec::{Decode, Encode, MaxEncodedLen}; +use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases; +use cumulus_primitives_core::{AggregateMessageOrigin, ParaId}; +use fp_evm::weight_per_gas; +use frame_support::{ + derive_impl, + dispatch::DispatchClass, + parameter_types, + traits::{ + fungible::HoldConsideration, AsEnsureOriginWithArg, ConstBool, ConstU32, ConstU64, ConstU8, + EitherOf, EitherOfDiverse, FindAuthor, Imbalance, InstanceFilter, LinearStoragePrice, + OnUnbalanced, PrivilegeCmp, TransformOrigin, VariantCountOf, + }, + weights::{ConstantMultiplier, Weight}, + PalletId, +}; +use frame_system::{ + limits::{BlockLength, BlockWeights}, + pallet_prelude::BlockNumberFor, + EnsureRoot, EnsureSigned, +}; +use pallet_ethereum::PostLogContent; +use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping}; +use pallet_xcm::{EnsureXcm, IsVoiceOfBody}; +use parachains_common::message_queue::{NarrowOriginToSibling, ParaIdToSibling}; +use polkadot_runtime_common::{ + xcm_sender::NoPriceForMessageDelivery, BlockHashCount, SlowAdjustingFeeUpdate, +}; +use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_core::{ + crypto::{AccountId32, ByteArray}, + ConstU128, H160, U256, +}; +use sp_runtime::{ + traits::{BlakeTwo256, Block as BlockT, DispatchInfoOf, Dispatchable, PostDispatchInfoOf}, + transaction_validity::{TransactionValidity, TransactionValidityError}, + ConsensusEngineId, Perbill, Permill, RuntimeDebug, SaturatedConversion, +}; +use sp_version::RuntimeVersion; +use xcm::{latest::prelude::BodyId, v2::WildMultiAsset::AllOf}; +// Local module imports +use super::{ + weights::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight}, + AccountId, Aura, Balance, Balances, Block, BlockNumber, CollatorSelection, ConsensusHook, Hash, + MessageQueue, Nonce, OriginCaller, PalletInfo, ParachainSystem, Preimage, Runtime, RuntimeCall, + RuntimeEvent, RuntimeFreezeReason, RuntimeHoldReason, RuntimeOrigin, RuntimeTask, Session, + SessionKeys, System, Timestamp, UncheckedExtrinsic, WeightToFee, XcmpQueue, + AVERAGE_ON_INITIALIZE_RATIO, EXISTENTIAL_DEPOSIT, HOURS, MAXIMUM_BLOCK_WEIGHT, MICROUNIT, + NORMAL_DISPATCH_RATIO, SLOT_DURATION, VERSION, +}; +use crate::{ + generic, governance::origins::AuctionAdmin, governance::MagnetToStakingPot, weights, BaseFee, + EVMChainId, SignedExtra, DAYS, MILLIUNIT, UNIT, +}; +pub use pallet_balances::NegativeImbalance; +pub use pallet_bulk; +use pallet_liquidation::{BulkGasCost, OrderGasCost}; +use pallet_pot::PotNameBtreemap; +use parachains_common::impls::AccountIdOf; +use scale_info::prelude::string::String; +use sp_std::collections::btree_map::BTreeMap; +use sp_std::{cmp::Ordering, marker::PhantomData, prelude::*}; +use xcm_config::{RelayLocation, XcmOriginToTransactDispatchOrigin}; + +pub const WEIGHT_MILLISECS_PER_BLOCK: u64 = 2000; + +parameter_types! { + pub const Version: RuntimeVersion = VERSION; + + // This part is copied from Substrate's `bin/node/runtime/src/lib.rs`. + // The `RuntimeBlockLength` and `RuntimeBlockWeights` exist here because the + // `DeletionWeightLimit` and `DeletionQueueDepth` depend on those to parameterize + // the lazy contract deletion. + pub RuntimeBlockLength: BlockLength = + BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() + .base_block(BlockExecutionWeight::get()) + .for_class(DispatchClass::all(), |weights| { + weights.base_extrinsic = ExtrinsicBaseWeight::get(); + }) + .for_class(DispatchClass::Normal, |weights| { + weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); + }) + .for_class(DispatchClass::Operational, |weights| { + weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); + // Operational transactions have some extra reserved space, so that they + // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`. + weights.reserved = Some( + MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT + ); + }) + .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) + .build_or_panic(); + pub const SS58Prefix: u16 = 42; +} + +/// Extrinsic type that has already been checked. +pub type CheckedExtrinsic = + fp_self_contained::CheckedExtrinsic; +/// The payload being signed in transactions. +pub type SignedPayload = generic::SignedPayload; + +impl fp_self_contained::SelfContainedCall for RuntimeCall { + type SignedInfo = H160; + + fn is_self_contained(&self) -> bool { + match self { + RuntimeCall::Ethereum(call) => call.is_self_contained(), + _ => false, + } + } + + fn check_self_contained(&self) -> Option> { + match self { + RuntimeCall::Ethereum(call) => call.check_self_contained(), + _ => None, + } + } + + fn validate_self_contained( + &self, + info: &Self::SignedInfo, + dispatch_info: &DispatchInfoOf, + len: usize, + ) -> Option { + match self { + RuntimeCall::Ethereum(call) => call.validate_self_contained(info, dispatch_info, len), + _ => None, + } + } + + fn pre_dispatch_self_contained( + &self, + info: &Self::SignedInfo, + dispatch_info: &DispatchInfoOf, + len: usize, + ) -> Option> { + match self { + RuntimeCall::Ethereum(call) => { + call.pre_dispatch_self_contained(info, dispatch_info, len) + }, + _ => None, + } + } + + fn apply_self_contained( + self, + info: Self::SignedInfo, + ) -> Option>> { + match self { + call @ RuntimeCall::Ethereum(pallet_ethereum::Call::transact { .. }) => { + Some(call.dispatch(RuntimeOrigin::from( + pallet_ethereum::RawOrigin::EthereumTransaction(info), + ))) + }, + _ => None, + } + } +} + +#[derive(Clone)] +pub struct TransactionConverter(PhantomData); + +impl Default for TransactionConverter { + fn default() -> Self { + Self(PhantomData) + } +} + +impl fp_rpc::ConvertTransaction<::Extrinsic> for TransactionConverter { + fn convert_transaction( + &self, + transaction: pallet_ethereum::Transaction, + ) -> ::Extrinsic { + let extrinsic = UncheckedExtrinsic::new_unsigned( + pallet_ethereum::Call::::transact { transaction }.into(), + ); + let encoded = extrinsic.encode(); + ::Extrinsic::decode(&mut &encoded[..]) + .expect("Encoded extrinsic is always valid") + } +} + +/// The default types are being injected by [`derive_impl`](`frame_support::derive_impl`) from +/// [`ParaChainDefaultConfig`](`struct@frame_system::config_preludes::ParaChainDefaultConfig`), +/// but overridden as needed. +#[derive_impl(frame_system::config_preludes::ParaChainDefaultConfig)] +impl frame_system::Config for Runtime { + /// The identifier used to distinguish between accounts. + type AccountId = AccountId; + /// The index type for storing how many extrinsics an account has signed. + type Nonce = Nonce; + /// The type for hashing blocks and tries. + type Hash = Hash; + /// The block type. + type Block = Block; + /// Maximum number of block number to block hash mappings to keep (oldest pruned first). + type BlockHashCount = BlockHashCount; + /// Runtime version. + type Version = Version; + /// The data to be stored in an account. + type AccountData = pallet_balances::AccountData; + /// The weight of database operations that the runtime can invoke. + type DbWeight = RocksDbWeight; + /// Block & extrinsics weights: base values and limits. + type BlockWeights = RuntimeBlockWeights; + /// The maximum length of a block (in bytes). + type BlockLength = RuntimeBlockLength; + /// This is used as an identifier of the chain. 42 is the generic substrate prefix. + type SS58Prefix = SS58Prefix; + /// The action to take on a Runtime Upgrade + type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; + type MaxConsumers = frame_support::traits::ConstU32<16>; +} + +impl pallet_timestamp::Config for Runtime { + /// A timestamp: milliseconds since the unix epoch. + type Moment = u64; + type OnTimestampSet = Aura; + type MinimumPeriod = ConstU64<0>; + // type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; + type WeightInfo = (); +} + +impl pallet_authorship::Config for Runtime { + type FindAuthor = pallet_session::FindAccountFromAuthorIndex; + type EventHandler = (CollatorSelection,); +} + +parameter_types! { + pub const ExistentialDeposit: Balance = EXISTENTIAL_DEPOSIT; +} + +impl pallet_balances::Config for Runtime { + type MaxLocks = ConstU32<50>; + /// The type for recording an account's balance. + type Balance = Balance; + /// The ubiquitous event type. + type RuntimeEvent = RuntimeEvent; + type DustRemoval = (); + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; + type WeightInfo = pallet_balances::weights::SubstrateWeight; + type MaxReserves = ConstU32<50>; + type ReserveIdentifier = [u8; 8]; + type RuntimeHoldReason = RuntimeHoldReason; + type RuntimeFreezeReason = RuntimeFreezeReason; + type FreezeIdentifier = RuntimeFreezeReason; + type MaxFreezes = VariantCountOf; +} +pub struct MagnetDealWithFees(PhantomData); +impl OnUnbalanced> for MagnetDealWithFees +where + R: pallet_balances::Config, + AccountIdOf: From + Into, + ::RuntimeEvent: From>, + R::AccountId: From, +{ + fn on_unbalanceds(mut fees_then_tips: impl Iterator>) { + if let Some(mut fees) = fees_then_tips.next() { + if let Some(tips) = fees_then_tips.next() { + tips.merge_into(&mut fees); + } + as OnUnbalanced<_>>::on_unbalanced(fees); + } + } +} +parameter_types! { + /// Relay Chain `TransactionByteFee` / 10 + pub const TransactionByteFee: Balance = 10 * MICROUNIT; +} +pub use pallet_transaction_payment::{CurrencyAdapter, Multiplier, TargetedFeeAdjustment}; +impl pallet_transaction_payment::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + // type OnChargeTransaction = pallet_transaction_payment::FungibleAdapter; + type OnChargeTransaction = + pallet_transaction_payment::CurrencyAdapter>; + type WeightToFee = WeightToFee; + type LengthToFee = ConstantMultiplier; + type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; + type OperationalFeeMultiplier = ConstU8<5>; +} + +impl pallet_sudo::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type WeightInfo = (); +} + +parameter_types! { + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; +} + +impl cumulus_pallet_parachain_system::Config for Runtime { + type WeightInfo = (); + type RuntimeEvent = RuntimeEvent; + type OnSystemEvent = (); + type SelfParaId = parachain_info::Pallet; + type OutboundXcmpMessageSource = XcmpQueue; + type DmpQueue = frame_support::traits::EnqueueWithOrigin; + type ReservedDmpWeight = ReservedDmpWeight; + type XcmpMessageHandler = XcmpQueue; + type ReservedXcmpWeight = ReservedXcmpWeight; + type CheckAssociatedRelayNumber = RelayNumberMonotonicallyIncreases; + type ConsensusHook = ConsensusHook; +} + +impl parachain_info::Config for Runtime {} + +parameter_types! { + pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; +} + +impl pallet_message_queue::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type WeightInfo = (); + #[cfg(feature = "runtime-benchmarks")] + type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor< + cumulus_primitives_core::AggregateMessageOrigin, + >; + #[cfg(not(feature = "runtime-benchmarks"))] + type MessageProcessor = xcm_builder::ProcessXcmMessage< + AggregateMessageOrigin, + xcm_executor::XcmExecutor, + RuntimeCall, + >; + type Size = u32; + // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin: + type QueueChangeHandler = NarrowOriginToSibling; + type QueuePausedQuery = NarrowOriginToSibling; + type HeapSize = sp_core::ConstU32<{ 103 * 1024 }>; + type MaxStale = sp_core::ConstU32<8>; + type ServiceWeight = MessageQueueServiceWeight; + type IdleMaxServiceWeight = (); +} + +impl cumulus_pallet_aura_ext::Config for Runtime {} + +impl cumulus_pallet_xcmp_queue::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type ChannelInfo = ParachainSystem; + type VersionWrapper = (); + // Enqueue XCMP messages from siblings for later processing. + type XcmpQueue = TransformOrigin; + type MaxInboundSuspended = sp_core::ConstU32<1_000>; + type MaxActiveOutboundChannels = ConstU32<128>; + type MaxPageSize = ConstU32<{ 1 << 16 }>; + type ControllerOrigin = EnsureRoot; + type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type WeightInfo = (); + type PriceForSiblingDelivery = NoPriceForMessageDelivery; +} + +parameter_types! { + pub const Period: u32 = 6 * HOURS; + pub const Offset: u32 = 0; +} + +impl pallet_session::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type ValidatorId = ::AccountId; + // we don't have stash and controller, thus we don't need the convert as well. + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type ShouldEndSession = pallet_session::PeriodicSessions; + type NextSessionRotation = pallet_session::PeriodicSessions; + type SessionManager = CollatorSelection; + // Essentially just Aura, but let's be pedantic. + type SessionHandler = ::KeyTypeIdProviders; + type Keys = SessionKeys; + type WeightInfo = (); +} + +#[docify::export(aura_config)] +impl pallet_aura::Config for Runtime { + type AuthorityId = AuraId; + type DisabledValidators = (); + type MaxAuthorities = ConstU32<100_000>; + type AllowMultipleBlocksPerSlot = ConstBool; + type SlotDuration = ConstU64; +} + +parameter_types! { + pub const PotId: PalletId = PalletId(*b"PotStake"); + pub const SessionLength: BlockNumber = 6 * HOURS; + // StakingAdmin pluralistic body. + pub const StakingAdminBodyId: BodyId = BodyId::Defense; +} + +/// We allow root and the StakingAdmin to execute privileged collator selection operations. +pub type CollatorSelectionUpdateOrigin = EitherOfDiverse< + EnsureRoot, + EnsureXcm>, +>; + +impl pallet_collator_selection::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type UpdateOrigin = CollatorSelectionUpdateOrigin; + type PotId = PotId; + type MaxCandidates = ConstU32<100>; + type MinEligibleCollators = ConstU32<4>; + type MaxInvulnerables = ConstU32<20>; + // should be a multiple of session or things will get inconsistent + type KickThreshold = Period; + type ValidatorId = ::AccountId; + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type ValidatorRegistration = Session; + type WeightInfo = (); +} + +impl pallet_evm_chain_id::Config for Runtime {} + +pub struct FindAuthorTruncated(PhantomData); +impl> FindAuthor for FindAuthorTruncated { + fn find_author<'a, I>(digests: I) -> Option + where + I: 'a + IntoIterator, + { + if let Some(author_index) = F::find_author(digests) { + let authority_id = + pallet_aura::Authorities::::get()[author_index as usize].clone(); + Some(H160::from_slice(&authority_id.to_raw_vec()[4..24])) + } else { + None + } + } +} + +const BLOCK_GAS_LIMIT: u64 = 75_000_000; +const MAX_POV_SIZE: u64 = 5 * 1024 * 1024; + +parameter_types! { + pub BlockGasLimit: U256 = U256::from(BLOCK_GAS_LIMIT); + pub const GasLimitPovSizeRatio: u64 = BLOCK_GAS_LIMIT.saturating_div(MAX_POV_SIZE); + pub PrecompilesValue: FrontierPrecompiles = FrontierPrecompiles::<_>::new(); + pub WeightPerGas: Weight = Weight::from_parts(weight_per_gas(BLOCK_GAS_LIMIT, NORMAL_DISPATCH_RATIO, WEIGHT_MILLISECS_PER_BLOCK), 0); + pub SuicideQuickClearLimit: u32 = 0; +} + +impl pallet_evm::Config for Runtime { + type FeeCalculator = BaseFee; + type GasWeightMapping = pallet_evm::FixedGasWeightMapping; + type WeightPerGas = WeightPerGas; + type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping; + type CallOrigin = EnsureAddressTruncated; + type WithdrawOrigin = EnsureAddressTruncated; + type AddressMapping = HashedAddressMapping; + type Currency = Balances; + type RuntimeEvent = RuntimeEvent; + type PrecompilesType = FrontierPrecompiles; + type PrecompilesValue = PrecompilesValue; + type ChainId = EVMChainId; + type BlockGasLimit = BlockGasLimit; + type Runner = pallet_evm::runner::stack::Runner; + type OnChargeTransaction = (); + type OnCreate = (); + type FindAuthor = FindAuthorTruncated; + type GasLimitPovSizeRatio = GasLimitPovSizeRatio; + type SuicideQuickClearLimit = SuicideQuickClearLimit; + type Timestamp = Timestamp; + type WeightInfo = pallet_evm::weights::SubstrateWeight; +} + +parameter_types! { + pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes; +} + +impl pallet_ethereum::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type StateRoot = pallet_ethereum::IntermediateStateRoot; + type PostLogContent = PostBlockAndTxnHashes; + type ExtraDataLength = ConstU32<30>; +} + +parameter_types! { + pub BoundDivision: U256 = U256::from(1024); +} + +impl pallet_dynamic_fee::Config for Runtime { + type MinGasPriceBoundDivisor = BoundDivision; +} + +parameter_types! { + pub DefaultBaseFeePerGas: U256 = U256::from(1_000_000_000); + pub DefaultElasticity: Permill = Permill::from_parts(125_000); +} + +pub struct BaseFeeThreshold; +impl pallet_base_fee::BaseFeeThreshold for BaseFeeThreshold { + fn lower() -> Permill { + Permill::zero() + } + fn ideal() -> Permill { + Permill::from_parts(500_000) + } + fn upper() -> Permill { + Permill::from_parts(1_000_000) + } +} + +impl pallet_base_fee::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Threshold = BaseFeeThreshold; + type DefaultBaseFeePerGas = DefaultBaseFeePerGas; + type DefaultElasticity = DefaultElasticity; +} + +impl pallet_hotfix_sufficients::Config for Runtime { + type AddressMapping = HashedAddressMapping; + type WeightInfo = pallet_hotfix_sufficients::weights::SubstrateWeight; +} +pub const fn deposit(items: u32, bytes: u32) -> Balance { + (items as Balance * 20 * UNIT + (bytes as Balance) * 100 * MICROUNIT) / 100 +} + +parameter_types! { + pub const AssetDeposit: Balance = 10 * UNIT; // 10 UNITS deposit to create fungible asset class + pub const AssetAccountDeposit: Balance = deposit(1, 16); + pub const ApprovalDeposit: Balance = EXISTENTIAL_DEPOSIT; + pub const AssetsStringLimit: u32 = 50; + /// Key = 32 bytes, Value = 36 bytes (32+1+1+1+1) + // https://github.com/paritytech/substrate/blob/069917b/frame/assets/src/lib.rs#L257L271 + pub const MetadataDepositBase: Balance = deposit(1, 68); + pub const MetadataDepositPerByte: Balance = deposit(0, 1); + pub const ExecutiveBody: BodyId = BodyId::Executive; +} + +impl pallet_assets::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Balance = Balance; + //type AssetId = AssetId; + type AssetId = u32; + type RemoveItemsLimit = ConstU32<1000>; + type AssetIdParameter = codec::Compact; + type CreateOrigin = AsEnsureOriginWithArg>; + type Currency = Balances; + type ForceOrigin = EnsureRoot; + type AssetDeposit = AssetDeposit; + type MetadataDepositBase = MetadataDepositBase; + type MetadataDepositPerByte = MetadataDepositPerByte; + type ApprovalDeposit = ApprovalDeposit; + type StringLimit = AssetsStringLimit; + type CallbackHandle = (); + type Freezer = (); + type Extra = (); + type WeightInfo = pallet_assets::weights::SubstrateWeight; + type AssetAccountDeposit = AssetAccountDeposit; +} + +parameter_types! { + // 0x1111111111111111111111111111111111111111 + pub EvmCaller: H160 = H160::from_slice(&[17u8;20][..]); + pub ClaimBond: Balance = 10 * EXISTENTIAL_DEPOSIT; +} +impl pallet_assets_bridge::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type EvmCaller = EvmCaller; + type ClaimBond = ClaimBond; +} + +impl pallet_evm_utils::Config for Runtime { + type RuntimeEvent = RuntimeEvent; +} + +impl pallet_utility::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type PalletsOrigin = OriginCaller; + type WeightInfo = pallet_utility::weights::SubstrateWeight; +} + +parameter_types! { + pub const PreimageBaseDeposit: Balance = deposit(2, 64); + pub const PreimageByteDeposit: Balance = deposit(0, 1); + pub const PreimageHoldReason: RuntimeHoldReason = RuntimeHoldReason::Preimage(pallet_preimage::HoldReason::Preimage); +} + +impl pallet_preimage::Config for Runtime { + type WeightInfo = weights::pallet_preimage::WeightInfo; + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type ManagerOrigin = EnsureRoot; + type Consideration = HoldConsideration< + AccountId, + Balances, + PreimageHoldReason, + LinearStoragePrice, + >; +} + +parameter_types! { + pub MaximumSchedulerWeight: Weight = Perbill::from_percent(80) * + RuntimeBlockWeights::get().max_block; + pub const MaxScheduledPerBlock: u32 = 50; + pub const NoPreimagePostponement: Option = Some(10); +} + +/// Used the compare the privilege of an origin inside the scheduler. +pub struct OriginPrivilegeCmp; + +impl PrivilegeCmp for OriginPrivilegeCmp { + fn cmp_privilege(left: &OriginCaller, right: &OriginCaller) -> Option { + if left == right { + return Some(Ordering::Equal); + } + + match (left, right) { + // Root is greater than anything. + (OriginCaller::system(frame_system::RawOrigin::Root), _) => Some(Ordering::Greater), + // For every other origin we don't care, as they are not used for `ScheduleOrigin`. + _ => None, + } + } +} +impl pallet_scheduler::Config for Runtime { + type RuntimeOrigin = RuntimeOrigin; + type RuntimeEvent = RuntimeEvent; + type PalletsOrigin = OriginCaller; + type RuntimeCall = RuntimeCall; + type MaximumWeight = MaximumSchedulerWeight; + // The goal of having ScheduleOrigin include AuctionAdmin is to allow the auctions track of + // OpenGov to schedule periodic auctions. + type ScheduleOrigin = EitherOf, AuctionAdmin>; + type MaxScheduledPerBlock = MaxScheduledPerBlock; + type WeightInfo = weights::pallet_scheduler::WeightInfo; + type OriginPrivilegeCmp = OriginPrivilegeCmp; + type Preimages = Preimage; +} + +parameter_types! { + pub const CouncilMotionDuration: BlockNumber = 7 * DAYS; + pub const CouncilMaxProposals: u32 = 10; + pub const CouncilMaxMembers: u32 = 25; + pub MaxCollectivesProposalWeight : Weight = Perbill::from_percent(50) * RuntimeBlockWeights::get().max_block; +} + +type CouncilCollective = pallet_collective::Instance1; +impl pallet_collective::Config for Runtime { + type RuntimeOrigin = RuntimeOrigin; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type MotionDuration = CouncilMotionDuration; + type MaxProposals = CouncilMaxProposals; + type MaxMembers = CouncilMaxMembers; + type DefaultVote = pallet_collective::PrimeDefaultVote; + type WeightInfo = pallet_collective::weights::SubstrateWeight; + type SetMembersOrigin = EnsureRoot; + type MaxProposalWeight = MaxCollectivesProposalWeight; +} + +type EnsureRootOrHalf = EitherOfDiverse< + EnsureRoot, + pallet_collective::EnsureProportionMoreThan, +>; + +impl pallet_on_demand::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type UpdateOrigin = EnsureRootOrHalf; + type WeightInfo = pallet_on_demand::weights::SubstrateWeight; + type RelayChainStateProvider = cumulus_pallet_parachain_system::RelaychainDataProvider; +} + +parameter_types! { + pub const PotNames: [&'static str;3] = ["system", "treasury", "maintenance"]; + pub Pots: BTreeMap = pallet_pot + ::HashedPotNameBtreemap + ::> + ::pots_btreemap(&(PotNames::get())); +} + +impl pallet_pot::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type PotNameMapping = pallet_pot::HashedPotNameMapping; + type Currency = Balances; + type Pots = Pots; +} + +impl pallet_assurance::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type DefaultBidThreshold = ConstU32<8>; +} + +pub struct BulkGasCostHandler(); + +impl BulkGasCost for BulkGasCostHandler +where + T: pallet_bulk::Config, +{ + fn gas_cost( + block_number: BlockNumberFor, + ) -> Result, sp_runtime::DispatchError> { + let record_index = >::record_index(); + let mut result = None; + for i in 0..record_index { + let bulk_record = >::bulk_records(i); + if let Some(record) = bulk_record { + if block_number.into() >= record.real_start_relaychain_height.into() + && block_number.into() <= record.real_end_relaychain_height.into() + { + let price: u128 = record.price.saturated_into(); + let duration = record.duration as u128; + let balance = price + .checked_div(duration) + .ok_or(sp_runtime::DispatchError::Other("duration error"))?; + result = Some((record.purchaser, balance)); + } + } + } + Ok(result) + } +} +parameter_types! { + pub const MaxUrlLength: u32 = 300; +} + +impl pallet_bulk::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type RelayChainStateProvider = cumulus_pallet_parachain_system::RelaychainDataProvider; + type UpdateOrigin = EnsureRootOrHalf; + type MaxUrlLength = MaxUrlLength; + type WeightInfo = pallet_bulk::weights::SubstrateWeight; +} +pub struct OrderGasCostHandler(); + +impl OrderGasCost for OrderGasCostHandler +where + T: pallet_on_demand::Config, + T::AccountId: From<[u8; 32]>, +{ + fn gas_cost( + block_number: BlockNumberFor, + ) -> Result, sp_runtime::DispatchError> { + let sequece_number = >::block_2_sequence(block_number); + if sequece_number.is_none() { + return Ok(None); + } + let order = >::order_map( + sequece_number.ok_or(sp_runtime::DispatchError::Other("sequece_number is none"))?, + ) + .ok_or(sp_runtime::DispatchError::Other("Not exist order"))?; + Ok(Some((order.orderer, order.price))) + } +} +parameter_types! { + pub const SystemRatio: Perbill = Perbill::from_percent(20); // 20% for system + pub const TreasuryRatio: Perbill = Perbill::from_percent(33); // 33% for treasury + //pub const OperationRatio: Perbill = Perbill::from_percent(25); // 25% for maintenance + pub const ProfitDistributionCycle: BlockNumber = 10; + pub const ExistDeposit: Balance = EXISTENTIAL_DEPOSIT; + pub const MinLiquidationThreshold: Balance = MILLIUNIT * 20; + pub const SystemAccountName: &'static str = "system"; + pub const TreasuryAccountName: &'static str = "treasury"; + pub const OperationAccountName: &'static str = "maintenance"; +} + +impl pallet_liquidation::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type XcmSender = xcm_config::XcmRouter; + type WeightToFee = WeightToFee; + type OrderGasCost = OrderGasCostHandler; + type ExistentialDeposit = ExistDeposit; + type SystemAccountName = SystemAccountName; + type TreasuryAccountName = TreasuryAccountName; + type OperationAccountName = OperationAccountName; +} + +impl pallet_insecure_randomness_collective_flip::Config for Runtime {} + +impl pallet_multisig::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type Currency = Balances; + type DepositBase = ConstU128<228_000_000_000_000>; + type DepositFactor = ConstU128<32_000_000_000_000>; + type MaxSignatories = ConstU32<20>; + type WeightInfo = pallet_multisig::weights::SubstrateWeight; +} + +#[derive( + Copy, + Clone, + Eq, + PartialEq, + Ord, + PartialOrd, + Encode, + Decode, + RuntimeDebug, + MaxEncodedLen, + scale_info::TypeInfo, +)] +pub enum ProxyType { + Any, + JustTransfer, + JustUtility, +} +impl Default for ProxyType { + fn default() -> Self { + Self::Any + } +} +impl InstanceFilter for ProxyType { + fn filter(&self, c: &RuntimeCall) -> bool { + match self { + ProxyType::Any => true, + ProxyType::JustTransfer => { + matches!( + c, + RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death { .. }) + ) + }, + ProxyType::JustUtility => matches!(c, RuntimeCall::Utility { .. }), + } + } + fn is_superset(&self, o: &Self) -> bool { + self == &ProxyType::Any || self == o + } +} + +impl pallet_proxy::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type Currency = Balances; + type ProxyType = ProxyType; + type ProxyDepositBase = ConstU128<160_000_000_000_000>; + type ProxyDepositFactor = ConstU128<33_000_000_000_000>; + type MaxProxies = ConstU32<100>; + type CallHasher = BlakeTwo256; + type MaxPending = ConstU32<1000>; + type AnnouncementDepositBase = ConstU128<16_000_000_000_000>; + type AnnouncementDepositFactor = ConstU128<64_000_000_000_000>; + type WeightInfo = pallet_proxy::weights::SubstrateWeight; +} + +parameter_types! { + pub const MultisigReqExpireTime: BlockNumber = 50400; + pub const MaxScriptSigners: u32 = 8; +} + +impl pallet_move::Config for Runtime { + type Currency = Balances; + type CurrencyBalance = Balance; + type MultisigReqExpireTime = MultisigReqExpireTime; + type MaxScriptSigners = MaxScriptSigners; + type RuntimeEvent = RuntimeEvent; + type WeightInfo = pallet_move::weights::SubstrateWeight; +} diff --git a/runtime/src/xcm_config.rs b/runtime/src/configs/xcm_config.rs similarity index 93% rename from runtime/src/xcm_config.rs rename to runtime/src/configs/xcm_config.rs index 9119f80..3a04ff8 100644 --- a/runtime/src/xcm_config.rs +++ b/runtime/src/configs/xcm_config.rs @@ -1,24 +1,21 @@ -use super::{ - AccountId, AllPalletsWithSystem, BTreeMap, Balances, ParachainInfo, ParachainSystem, - PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue, -}; use crate::{ + governance::MagnetToStakingPot, weights::pallet_xcm::WeightInfo, xcms::{matches_token_ex::IsConcreteEx, xcm_weight::UsingComponentsEx}, - MagnetToStakingPot, + AccountId, AllPalletsWithSystem, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, + Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue, }; use frame_support::{ - match_types, parameter_types, + parameter_types, traits::{ConstU32, Contains, Everything, Nothing}, weights::Weight, }; use frame_system::EnsureRoot; use pallet_xcm::XcmPassthrough; use polkadot_parachain_primitives::primitives::Sibling; +use sp_std::collections::btree_map::BTreeMap; use xcm::latest::prelude::*; -use xcm::latest::prelude::{ - Asset as MultiAsset, InteriorLocation as InteriorMultiLocation, Location as MultiLocation, -}; +use xcm::latest::prelude::{InteriorLocation as InteriorMultiLocation, Location as MultiLocation}; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, @@ -153,6 +150,10 @@ impl xcm_executor::Config for XcmConfig { type SafeCallFilter = Everything; type Aliasers = Nothing; type TransactionalProcessor = FrameTransactionalProcessor; + type HrmpNewChannelOpenRequestHandler = (); + type HrmpChannelAcceptedHandler = (); + type HrmpChannelClosingHandler = (); + type XcmRecorder = PolkadotXcm; } /// No local origins on this chain are allowed to dispatch XCM sends/executions. diff --git a/runtime/src/contracts_config.rs b/runtime/src/contracts_config.rs index 1d02118..47ab0f3 100644 --- a/runtime/src/contracts_config.rs +++ b/runtime/src/contracts_config.rs @@ -6,7 +6,7 @@ use frame_support::{ parameter_types, traits::{ConstBool, ConstU32}, }; - +use frame_system::EnsureSigned; pub enum AllowBalancesCall {} impl frame_support::traits::Contains for AllowBalancesCall { @@ -69,6 +69,9 @@ impl pallet_contracts::Config for Runtime { type MaxStorageKeyLen = ConstU32<128>; type MaxDebugBufferLen = ConstU32<{ 2 * 1024 * 1024 }>; type UnsafeUnstableInterface = ConstBool; + type UploadOrigin = EnsureSigned; + type InstantiateOrigin = EnsureSigned; + type MaxTransientStorageSize = ConstU32<{ 1 * 1024 * 1024 }>; type CodeHashLockupDepositPercent = CodeHashLockupDepositPercent; type MaxDelegateDependencies = MaxDelegateDependencies; type RuntimeHoldReason = RuntimeHoldReason; @@ -77,4 +80,5 @@ impl pallet_contracts::Config for Runtime { type Debug = (); type Migrations = (); type Xcm = (); + type ApiVersion = (); } diff --git a/runtime/src/governance/fellowship.rs b/runtime/src/governance/fellowship.rs index e53d3c1..746fb29 100644 --- a/runtime/src/governance/fellowship.rs +++ b/runtime/src/governance/fellowship.rs @@ -18,11 +18,17 @@ //Modified by Alex Wang 2023/11 -use frame_support::traits::{MapSuccess, TryMapSuccess}; -use sp_runtime::traits::{CheckedReduceBy, ConstU16, Replace}; - -use super::*; -use crate::{CENTS, DAYS}; +use crate::{ + governance::{ + origins, Fellows, FellowshipAdmin, FellowshipExperts, FellowshipMasters, MagnetToStakingPot, + }, + weights, Balance, Balances, BlockNumber, FellowshipReferenda, Perbill, Preimage, Runtime, + RuntimeCall, RuntimeEvent, RuntimeOrigin, Scheduler, CENTS, DAYS, MINUTES, +}; +use frame_support::parameter_types; +use frame_support::traits::{EitherOf, MapSuccess, TryMapSuccess}; +use sp_core::ConstU32; +use sp_runtime::traits::{CheckedReduceBy, ConstU16, Replace, ReplaceWithDefault}; parameter_types! { pub const AlarmInterval: BlockNumber = 1; @@ -317,6 +323,11 @@ pub type FellowshipCollectiveInstance = pallet_ranked_collective::Instance1; impl pallet_ranked_collective::Config for Runtime { type WeightInfo = weights::pallet_ranked_collective::WeightInfo; type RuntimeEvent = RuntimeEvent; + // Adding is by any of: + // - Root. + // - the FellowshipAdmin origin. + // - a Fellowship origin. + type AddOrigin = MapSuccess>; // Promotion is by any of: // - Root can demote arbitrarily. // - the FellowshipAdmin origin (i.e. token holder referendum); @@ -331,6 +342,13 @@ impl pallet_ranked_collective::Config for Runtime // Demotion is by any of: // - Root can demote arbitrarily. // - the FellowshipAdmin origin (i.e. token holder referendum); + // + // The maximum value of `u16` set as a success value for the root to ensure the benchmarks will + // pass. + type RemoveOrigin = Self::DemoteOrigin; + // Demotion is by any of: + // - Root can demote arbitrarily. + // - the FellowshipAdmin origin (i.e. token holder referendum); // - a vote by the rank two above the current rank. type DemoteOrigin = EitherOf< frame_system::EnsureRootWithSuccess>, @@ -348,6 +366,7 @@ impl pallet_ranked_collective::Config for Runtime type MinRankOfClass = sp_runtime::traits::Identity; type MemberSwappedHandler = (); type VoteWeight = pallet_ranked_collective::Geometric; + type MaxMemberCount = (); #[cfg(feature = "runtime-benchmarks")] type BenchmarkSetup = (); } diff --git a/runtime/src/governance/mod.rs b/runtime/src/governance/mod.rs index 8c34df1..6248851 100644 --- a/runtime/src/governance/mod.rs +++ b/runtime/src/governance/mod.rs @@ -18,24 +18,29 @@ //Modified by Alex Wang 2023/11 -use super::*; use frame_support::{ parameter_types, - traits::{ConstU16, EitherOf}, + traits::{ConstU16, Currency, EitherOf, OnUnbalanced}, }; -use frame_system::EnsureRootWithSuccess; - -mod origins; +use frame_system::{EnsureRoot, EnsureRootWithSuccess}; +use sp_core::{crypto::AccountId32, ConstU32}; +pub mod origins; pub use origins::{ pallet_custom_origins, AuctionAdmin, Fellows, FellowshipAdmin, FellowshipExperts, FellowshipInitiates, FellowshipMasters, GeneralAdmin, LeaseAdmin, ReferendumCanceller, ReferendumKiller, Spender, StakingAdmin, Treasurer, WhitelistedCaller, }; -mod tracks; +pub mod tracks; pub use tracks::TracksInfo; -mod fellowship; -pub use fellowship::{FellowshipCollectiveInstance, FellowshipReferendaInstance}; - +pub mod fellowship; +// pub use fellowship::{FellowshipCollectiveInstance, FellowshipReferendaInstance}; +use crate::{ + weights, AccountId, Balance, Balances, BlockNumber, Preimage, Referenda, Runtime, RuntimeCall, + RuntimeEvent, Scheduler, CENTS, DAYS, +}; +pub use pallet_balances::{Call as BalancesCall, NegativeImbalance}; +pub use parachains_common::impls::{AccountIdOf, DealWithFees}; +use sp_std::marker::PhantomData; parameter_types! { pub const VoteLockingPeriod: BlockNumber = 7 * DAYS; } @@ -74,6 +79,20 @@ impl pallet_whitelist::Config for Runtime { type Preimages = Preimage; } +pub struct MagnetToStakingPot(PhantomData); +impl OnUnbalanced> for MagnetToStakingPot +where + R: pallet_balances::Config, + AccountIdOf: From + Into, + ::RuntimeEvent: From>, + R::AccountId: From, +{ + fn on_nonzero_unbalanced(amount: NegativeImbalance) { + let staking_pot = mp_system::BASE_ACCOUNT; + >::resolve_creating(&staking_pot.into(), amount); + } +} + impl pallet_referenda::Config for Runtime { type WeightInfo = weights::pallet_referenda_referenda::WeightInfo; type RuntimeCall = RuntimeCall; diff --git a/runtime/src/governance/tracks.rs b/runtime/src/governance/tracks.rs index 3765569..7b0fc9d 100644 --- a/runtime/src/governance/tracks.rs +++ b/runtime/src/governance/tracks.rs @@ -15,8 +15,7 @@ // along with Polkadot. If not, see . //! Track configurations for governance. - -use super::*; +use crate::{governance::origins, Balance, BlockNumber, RuntimeOrigin, CENTS, GRAND, MINUTES}; const fn percent(x: i32) -> sp_arithmetic::FixedI64 { sp_arithmetic::FixedI64::from_rational(x as u128, 100) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index cccb52c..63d5066 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -6,119 +6,43 @@ #[cfg(feature = "std")] include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); -pub mod contracts_config; +pub mod apis; +#[cfg(feature = "runtime-benchmarks")] +mod benchmarks; +pub mod configs; +mod precompiles; mod weights; -pub mod xcm_config; -pub mod xcms; - -use codec::{Decode, Encode, MaxEncodedLen}; -use core::ops::Div; -use pallet_evm::AddressMapping; -use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases; -use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases; +extern crate alloc; +use alloc::vec::Vec; use smallvec::smallvec; -use sp_api::impl_runtime_apis; -use sp_core::{ - crypto::{AccountId32, ByteArray, KeyTypeId}, - OpaqueMetadata, H160, H256, U256, -}; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{ - AccountIdLookup, BlakeTwo256, Block as BlockT, DispatchInfoOf, Dispatchable, Get, - IdentifyAccount, PostDispatchInfoOf, Saturating, UniqueSaturatedInto, Verify, - }, - transaction_validity::{TransactionSource, TransactionValidity, TransactionValidityError}, - ApplyExtrinsicResult, ConsensusEngineId, DispatchError, MultiSignature, Percent, RuntimeDebug, + traits::{BlakeTwo256, IdentifyAccount, Verify}, + MultiSignature, }; -use scale_info::prelude::string::String; -use sp_std::collections::{btree_map::BTreeMap, btree_set::BTreeSet}; -use sp_std::{cmp::Ordering, marker::PhantomData, prelude::*}; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; -// Substrate FRAME -#[cfg(feature = "with-paritydb-weights")] -use frame_support::weights::constants::ParityDbWeight as RuntimeDbWeight; -#[cfg(feature = "with-rocksdb-weights")] -use frame_support::weights::constants::RocksDbWeight as RuntimeDbWeight; - -use frame_support::{ - construct_runtime, derive_impl, - dispatch::DispatchClass, - genesis_builder_helper::{build_config, create_default_config}, - parameter_types, - traits::{ - fungible::HoldConsideration, AsEnsureOriginWithArg, ConstBool, ConstU128, ConstU32, - ConstU64, ConstU8, Currency, EitherOf, EitherOfDiverse, Everything, FindAuthor, Imbalance, - InstanceFilter, LinearStoragePrice, OnFinalize, OnUnbalanced, PrivilegeCmp, - TransformOrigin, - }, - weights::{ - constants::WEIGHT_REF_TIME_PER_SECOND, ConstantMultiplier, Weight, WeightToFeeCoefficient, - WeightToFeeCoefficients, WeightToFeePolynomial, - }, - PalletId, -}; - -use frame_system::{ - limits::{BlockLength, BlockWeights}, - pallet_prelude::BlockNumberFor, - EnsureRoot, EnsureSigned, +use frame_support::weights::{ + constants::WEIGHT_REF_TIME_PER_SECOND, Weight, WeightToFeeCoefficient, WeightToFeeCoefficients, + WeightToFeePolynomial, }; pub use pallet_balances::{Call as BalancesCall, NegativeImbalance}; -use pallet_move::api::{ModuleAbi, MoveApiEstimation}; -use pallet_xcm::{EnsureXcm, IsVoiceOfBody}; pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; -pub use sp_runtime::{MultiAddress, Perbill, Permill}; -use xcm_config::{RelayLocation, XcmConfig, XcmOriginToTransactDispatchOrigin}; - #[cfg(any(feature = "std", test))] pub use sp_runtime::BuildStorage; +pub use sp_runtime::{MultiAddress, Perbill, Permill}; -// Cumulus imports -pub use parachains_common::impls::{AccountIdOf, DealWithFees}; -pub use parachains_common::message_queue::{NarrowOriginToSibling, ParaIdToSibling}; - -// Polkadot imports -use polkadot_runtime_common::xcm_sender::NoPriceForMessageDelivery; -use polkadot_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate}; - -use sp_runtime::SaturatedConversion; -use weights::{BlockExecutionWeight, ExtrinsicBaseWeight}; -// XCM Imports -use cumulus_primitives_core::{AggregateMessageOrigin, ParaId, PersistedValidationData}; -pub use pallet_bulk; -use pallet_liquidation::{BulkGasCost, OrderGasCost}; -pub use pallet_on_demand; -use xcm::latest::prelude::{ - Asset as MultiAsset, BodyId, InteriorLocation as InteriorMultiLocation, - Junction::PalletInstance, Location as MultiLocation, -}; -use xcm_executor::XcmExecutor; - -use fp_evm::weight_per_gas; -use fp_rpc::TransactionStatus; -use pallet_ethereum::{ - Call::transact, PostLogContent, Transaction as EthereumTransaction, TransactionAction, - TransactionData, -}; -use pallet_evm::{ - Account as EVMAccount, EnsureAddressTruncated, FeeCalculator, HashedAddressMapping, Runner, -}; -pub use pallet_move; - -mod precompiles; -use precompiles::FrontierPrecompiles; - -use pallet_pot::PotNameBtreemap; +use weights::ExtrinsicBaseWeight; // Governance and configurations. pub mod governance; -use governance::{pallet_custom_origins, AuctionAdmin}; +use governance::pallet_custom_origins; +pub mod contracts_config; +pub mod xcms; /// Alias to 512-bit hash when used in the context of a transaction signature on the chain. pub type Signature = MultiSignature; @@ -154,7 +78,11 @@ pub type SignedBlock = generic::SignedBlock; /// BlockId type as expected by this runtime. pub type BlockId = generic::BlockId; +/// Unchecked extrinsic type as expected by this runtime. +pub type UncheckedExtrinsic = + fp_self_contained::UncheckedExtrinsic; /// The SignedExtension to the basic transaction logic. +#[docify::export(template_signed_extra)] pub type SignedExtra = ( frame_system::CheckNonZeroSender, frame_system::CheckSpecVersion, @@ -164,76 +92,10 @@ pub type SignedExtra = ( frame_system::CheckNonce, frame_system::CheckWeight, pallet_transaction_payment::ChargeTransactionPayment, + cumulus_primitives_storage_weight_reclaim::StorageWeightReclaim, + frame_metadata_hash_extension::CheckMetadataHash, ); -/// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = - fp_self_contained::UncheckedExtrinsic; - -/// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = - fp_self_contained::CheckedExtrinsic; -/// The payload being signed in transactions. -pub type SignedPayload = generic::SignedPayload; - -impl fp_self_contained::SelfContainedCall for RuntimeCall { - type SignedInfo = H160; - - fn is_self_contained(&self) -> bool { - match self { - RuntimeCall::Ethereum(call) => call.is_self_contained(), - _ => false, - } - } - - fn check_self_contained(&self) -> Option> { - match self { - RuntimeCall::Ethereum(call) => call.check_self_contained(), - _ => None, - } - } - - fn validate_self_contained( - &self, - info: &Self::SignedInfo, - dispatch_info: &DispatchInfoOf, - len: usize, - ) -> Option { - match self { - RuntimeCall::Ethereum(call) => call.validate_self_contained(info, dispatch_info, len), - _ => None, - } - } - - fn pre_dispatch_self_contained( - &self, - info: &Self::SignedInfo, - dispatch_info: &DispatchInfoOf, - len: usize, - ) -> Option> { - match self { - RuntimeCall::Ethereum(call) => { - call.pre_dispatch_self_contained(info, dispatch_info, len) - }, - _ => None, - } - } - - fn apply_self_contained( - self, - info: Self::SignedInfo, - ) -> Option>> { - match self { - call @ RuntimeCall::Ethereum(pallet_ethereum::Call::transact { .. }) => { - Some(call.dispatch(RuntimeOrigin::from( - pallet_ethereum::RawOrigin::EthereumTransaction(info), - ))) - }, - _ => None, - } - } -} - /// Executive: handles dispatch to the various modules. pub type Executive = frame_executive::Executive< Runtime, @@ -298,55 +160,33 @@ impl_opaque_keys! { } } -#[derive(Clone)] -pub struct TransactionConverter; - -impl fp_rpc::ConvertTransaction for TransactionConverter { - fn convert_transaction(&self, transaction: pallet_ethereum::Transaction) -> UncheckedExtrinsic { - UncheckedExtrinsic::new_unsigned( - pallet_ethereum::Call::::transact { transaction }.into(), - ) - } -} - -impl fp_rpc::ConvertTransaction for TransactionConverter { - fn convert_transaction( - &self, - transaction: pallet_ethereum::Transaction, - ) -> opaque::UncheckedExtrinsic { - let extrinsic = UncheckedExtrinsic::new_unsigned( - pallet_ethereum::Call::::transact { transaction }.into(), - ); - let encoded = extrinsic.encode(); - opaque::UncheckedExtrinsic::decode(&mut &encoded[..]) - .expect("Encoded extrinsic is always valid") - } -} - #[sp_version::runtime_version] pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: create_runtime_str!("magnet-parachain"), - impl_name: create_runtime_str!("magnet-parachain"), + spec_name: create_runtime_str!("parachain-magnet-runtime"), + impl_name: create_runtime_str!("parachain-magnet-runtime"), authoring_version: 1, spec_version: 1, impl_version: 0, - apis: RUNTIME_API_VERSIONS, + apis: apis::RUNTIME_API_VERSIONS, transaction_version: 1, state_version: 1, }; -/// This determines the average expected block time that we are targeting. -/// Blocks will be produced at a minimum duration defined by `SLOT_DURATION`. -/// `SLOT_DURATION` is picked up by `pallet_timestamp` which is in turn picked -/// up by `pallet_aura` to implement `fn slot_duration()`. -/// -/// Change this to adjust the block time. -pub const MILLISECS_PER_BLOCK: u64 = 12000; -pub const WEIGHT_MILLISECS_PER_BLOCK: u64 = 2000; +#[docify::export] +mod block_times { + /// This determines the average expected block time that we are targeting. Blocks will be + /// produced at a minimum duration defined by `SLOT_DURATION`. `SLOT_DURATION` is picked up by + /// `pallet_timestamp` which is in turn picked up by `pallet_aura` to implement `fn + /// slot_duration()`. + /// + /// Change this to adjust the block time. + pub const MILLISECS_PER_BLOCK: u64 = 12000; -// NOTE: Currently it is not possible to change the slot duration after the chain has started. -// Attempting to do so will brick block production. -pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK; + // NOTE: Currently it is not possible to change the slot duration after the chain has started. + // Attempting to do so will brick block production. + pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK; +} +pub use block_times::*; // Time is measured by number of blocks. pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber); @@ -373,214 +213,28 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(5); /// `Operational` extrinsics. const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); +#[docify::export(max_block_weight)] /// We allow for 2 seconds of compute with a 6 second average block time. const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts( WEIGHT_REF_TIME_PER_SECOND.saturating_div(2), cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64, ); -/// Maximum number of blocks simultaneously accepted by the Runtime, not yet included -/// into the relay chain. -const UNINCLUDED_SEGMENT_CAPACITY: u32 = 1; -/// How many parachain blocks are processed by the relay chain per parent. Limits the -/// number of blocks authored per slot. -const BLOCK_PROCESSING_VELOCITY: u32 = 1; -/// Relay chain slot duration, in milliseconds. -const RELAY_CHAIN_SLOT_DURATION_MILLIS: u32 = 6000; - -const CONTRACTS_DEBUG_OUTPUT: pallet_contracts::DebugInfo = - pallet_contracts::DebugInfo::UnsafeDebug; -const CONTRACTS_EVENTS: pallet_contracts::CollectEvents = - pallet_contracts::CollectEvents::UnsafeCollect; - -/// The version information used to identify this runtime when compiled natively. -#[cfg(feature = "std")] -pub fn native_version() -> NativeVersion { - NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } -} - -parameter_types! { - pub const Version: RuntimeVersion = VERSION; - - // This part is copied from Substrate's `bin/node/runtime/src/lib.rs`. - // The `RuntimeBlockLength` and `RuntimeBlockWeights` exist here because the - // `DeletionWeightLimit` and `DeletionQueueDepth` depend on those to parameterize - // the lazy contract deletion. - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); - pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() - .base_block(BlockExecutionWeight::get()) - .for_class(DispatchClass::all(), |weights| { - weights.base_extrinsic = ExtrinsicBaseWeight::get(); - }) - .for_class(DispatchClass::Normal, |weights| { - weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); - }) - .for_class(DispatchClass::Operational, |weights| { - weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); - // Operational transactions have some extra reserved space, so that they - // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`. - weights.reserved = Some( - MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT - ); - }) - .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) - .build_or_panic(); - pub const SS58Prefix: u16 = 42; -} - -// Configure FRAME pallets to include in runtime. - -/// The default types are being injected by [`derive_impl`](`frame_support::derive_impl`) from -/// [`ParaChainDefaultConfig`](`struct@frame_system::config_preludes::ParaChainDefaultConfig`), -/// but overridden as needed. -#[derive_impl(frame_system::config_preludes::ParaChainDefaultConfig as frame_system::DefaultConfig)] -impl frame_system::Config for Runtime { - /// The identifier used to distinguish between accounts. - type AccountId = AccountId; - /// The aggregated dispatch type that is available for extrinsics. - type RuntimeCall = RuntimeCall; - /// The lookup mechanism to get account ID from whatever is passed in dispatchers. - type Lookup = AccountIdLookup; - /// The index type for storing how many extrinsics an account has signed. - type Nonce = Nonce; - /// The type for hashing blocks and tries. - type Hash = Hash; - /// The hashing algorithm used. - type Hashing = BlakeTwo256; - /// The block type. - type Block = Block; - /// The ubiquitous event type. - type RuntimeEvent = RuntimeEvent; - /// The ubiquitous origin type. - type RuntimeOrigin = RuntimeOrigin; - /// Maximum number of block number to block hash mappings to keep (oldest pruned first). - type BlockHashCount = BlockHashCount; - /// Runtime version. - type Version = Version; - /// Converts a module to an index of this module in the runtime. - type PalletInfo = PalletInfo; - /// The data to be stored in an account. - type AccountData = pallet_balances::AccountData; - /// What to do if a new account is created. - type OnNewAccount = (); - /// What to do if an account is fully reaped from the system. - type OnKilledAccount = (); - /// The weight of database operations that the runtime can invoke. - type DbWeight = RuntimeDbWeight; - /// The basic call filter to use in dispatchable. - type BaseCallFilter = Everything; - /// Weight information for the extrinsics of this pallet. - type SystemWeightInfo = (); - /// Block & extrinsics weights: base values and limits. - type BlockWeights = RuntimeBlockWeights; - /// The maximum length of a block (in bytes). - type BlockLength = RuntimeBlockLength; - /// This is used as an identifier of the chain. 42 is the generic substrate prefix. - type SS58Prefix = SS58Prefix; - /// The action to take on a Runtime Upgrade - type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; - type MaxConsumers = frame_support::traits::ConstU32<16>; -} - -impl pallet_timestamp::Config for Runtime { - /// A timestamp: milliseconds since the unix epoch. - type Moment = u64; - type OnTimestampSet = Aura; - #[cfg(feature = "experimental")] - type MinimumPeriod = ConstU64<0>; - #[cfg(not(feature = "experimental"))] - type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; - type WeightInfo = (); -} - -impl pallet_authorship::Config for Runtime { - type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type EventHandler = (CollatorSelection,); -} - -parameter_types! { - pub const ExistentialDeposit: Balance = EXISTENTIAL_DEPOSIT; -} - -impl pallet_balances::Config for Runtime { - type MaxLocks = ConstU32<50>; - /// The type for recording an account's balance. - type Balance = Balance; - /// The ubiquitous event type. - type RuntimeEvent = RuntimeEvent; - type DustRemoval = (); - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = System; - type WeightInfo = pallet_balances::weights::SubstrateWeight; - type MaxReserves = ConstU32<50>; - type ReserveIdentifier = [u8; 8]; - type RuntimeHoldReason = RuntimeHoldReason; - type RuntimeFreezeReason = RuntimeFreezeReason; - type FreezeIdentifier = (); - type MaxFreezes = ConstU32<1>; -} - -use pallet_liquidation; -pub struct MagnetToStakingPot(PhantomData); -impl OnUnbalanced> for MagnetToStakingPot -where - R: pallet_balances::Config, - AccountIdOf: From + Into, - ::RuntimeEvent: From>, - R::AccountId: From, -{ - fn on_nonzero_unbalanced(amount: NegativeImbalance) { - let staking_pot = mp_system::BASE_ACCOUNT; - >::resolve_creating(&staking_pot.into(), amount); - } -} - -pub struct MagnetDealWithFees(PhantomData); -impl OnUnbalanced> for MagnetDealWithFees -where - R: pallet_balances::Config, - AccountIdOf: From + Into, - ::RuntimeEvent: From>, - R::AccountId: From, -{ - fn on_unbalanceds(mut fees_then_tips: impl Iterator>) { - if let Some(mut fees) = fees_then_tips.next() { - if let Some(tips) = fees_then_tips.next() { - tips.merge_into(&mut fees); - } - as OnUnbalanced<_>>::on_unbalanced(fees); - } - } -} - -parameter_types! { - /// Relay Chain `TransactionByteFee` / 10 - pub const TransactionByteFee: Balance = 10 * MICROUNIT; -} - -impl pallet_transaction_payment::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type OnChargeTransaction = - pallet_transaction_payment::CurrencyAdapter>; - type WeightToFee = WeightToFee; - type LengthToFee = ConstantMultiplier; - type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; - type OperationalFeeMultiplier = ConstU8<5>; -} - -impl pallet_sudo::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type WeightInfo = (); -} - -parameter_types! { - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); - pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; -} - +#[docify::export] +mod async_backing_params { + /// Maximum number of blocks simultaneously accepted by the Runtime, not yet included + /// into the relay chain. + pub(crate) const UNINCLUDED_SEGMENT_CAPACITY: u32 = 1; + /// How many parachain blocks are processed by the relay chain per parent. Limits the + /// number of blocks authored per slot. + pub(crate) const BLOCK_PROCESSING_VELOCITY: u32 = 1; + /// Relay chain slot duration, in milliseconds. + pub(crate) const RELAY_CHAIN_SLOT_DURATION_MILLIS: u32 = 6000; +} +pub(crate) use async_backing_params::*; + +#[docify::export] +/// Aura consensus hook type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook< Runtime, RELAY_CHAIN_SLOT_DURATION_MILLIS, @@ -588,1329 +242,142 @@ type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook< UNINCLUDED_SEGMENT_CAPACITY, >; -impl cumulus_pallet_parachain_system::Config for Runtime { - type WeightInfo = (); - type RuntimeEvent = RuntimeEvent; - type OnSystemEvent = (); - type SelfParaId = parachain_info::Pallet; - type OutboundXcmpMessageSource = XcmpQueue; - type DmpQueue = frame_support::traits::EnqueueWithOrigin; - type ReservedDmpWeight = ReservedDmpWeight; - type XcmpMessageHandler = XcmpQueue; - type ReservedXcmpWeight = ReservedXcmpWeight; - type CheckAssociatedRelayNumber = RelayNumberMonotonicallyIncreases; - type ConsensusHook = ConsensusHook; -} - -impl parachain_info::Config for Runtime {} - -parameter_types! { - pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; -} - -impl pallet_message_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type WeightInfo = (); - #[cfg(feature = "runtime-benchmarks")] - type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor< - cumulus_primitives_core::AggregateMessageOrigin, - >; - #[cfg(not(feature = "runtime-benchmarks"))] - type MessageProcessor = xcm_builder::ProcessXcmMessage< - AggregateMessageOrigin, - xcm_executor::XcmExecutor, - RuntimeCall, - >; - type Size = u32; - // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin: - type QueueChangeHandler = NarrowOriginToSibling; - type QueuePausedQuery = NarrowOriginToSibling; - type HeapSize = sp_core::ConstU32<{ 64 * 1024 }>; - type MaxStale = sp_core::ConstU32<8>; - type ServiceWeight = MessageQueueServiceWeight; -} - -impl cumulus_pallet_aura_ext::Config for Runtime {} - -impl cumulus_pallet_xcmp_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - // Enqueue XCMP messages from siblings for later processing. - type XcmpQueue = TransformOrigin; - type MaxInboundSuspended = sp_core::ConstU32<1_000>; - type ChannelInfo = ParachainSystem; - type VersionWrapper = (); - type ControllerOrigin = EnsureRoot; - type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; - type WeightInfo = (); - type PriceForSiblingDelivery = NoPriceForMessageDelivery; -} - -parameter_types! { - pub const Period: u32 = 6 * HOURS; - pub const Offset: u32 = 0; -} - -impl pallet_session::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type ValidatorId = ::AccountId; - // we don't have stash and controller, thus we don't need the convert as well. - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ShouldEndSession = pallet_session::PeriodicSessions; - type NextSessionRotation = pallet_session::PeriodicSessions; - type SessionManager = CollatorSelection; - // Essentially just Aura, but let's be pedantic. - type SessionHandler = ::KeyTypeIdProviders; - type Keys = SessionKeys; - type WeightInfo = (); -} - -impl pallet_aura::Config for Runtime { - type AuthorityId = AuraId; - type DisabledValidators = (); - type MaxAuthorities = ConstU32<100_000>; - type AllowMultipleBlocksPerSlot = ConstBool; - #[cfg(feature = "experimental")] - type SlotDuration = ConstU64; -} - -parameter_types! { - pub const PotId: PalletId = PalletId(*b"PotStake"); - pub const SessionLength: BlockNumber = 6 * HOURS; - // StakingAdmin pluralistic body. - pub const StakingAdminBodyId: BodyId = BodyId::Defense; -} - -/// We allow root and the StakingAdmin to execute privileged collator selection operations. -pub type CollatorSelectionUpdateOrigin = EitherOfDiverse< - EnsureRoot, - EnsureXcm>, ->; - -impl pallet_collator_selection::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type UpdateOrigin = CollatorSelectionUpdateOrigin; - type PotId = PotId; - type MaxCandidates = ConstU32<100>; - type MinEligibleCollators = ConstU32<4>; - type MaxInvulnerables = ConstU32<20>; - // should be a multiple of session or things will get inconsistent - type KickThreshold = Period; - type ValidatorId = ::AccountId; - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ValidatorRegistration = Session; - type WeightInfo = (); -} - -pub struct OrderGasCostHandler(); - -impl OrderGasCost for OrderGasCostHandler -where - T: pallet_on_demand::Config, - T::AccountId: From<[u8; 32]>, -{ - fn gas_cost( - block_number: BlockNumberFor, - ) -> Result, sp_runtime::DispatchError> { - let sequece_number = >::block_2_sequence(block_number); - if sequece_number.is_none() { - return Ok(None); - } - let order = >::order_map( - sequece_number.ok_or(sp_runtime::DispatchError::Other("sequece_number is none"))?, - ) - .ok_or(sp_runtime::DispatchError::Other("Not exist order"))?; - Ok(Some((order.orderer, order.price))) - } -} - -type EnsureRootOrHalf = EitherOfDiverse< - EnsureRoot, - pallet_collective::EnsureProportionMoreThan, ->; - -impl pallet_on_demand::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type UpdateOrigin = EnsureRootOrHalf; - type WeightInfo = pallet_on_demand::weights::SubstrateWeight; - type RelayChainStateProvider = cumulus_pallet_parachain_system::RelaychainDataProvider; -} -pub struct BulkGasCostHandler(); - -impl BulkGasCost for BulkGasCostHandler -where - T: pallet_bulk::Config, -{ - fn gas_cost( - block_number: BlockNumberFor, - ) -> Result, sp_runtime::DispatchError> { - let record_index = >::record_index(); - let mut result = None; - for i in 0..record_index { - let bulk_record = >::bulk_records(i); - if let Some(record) = bulk_record { - if block_number.into() >= record.real_start_relaychain_height.into() - && block_number.into() <= record.real_end_relaychain_height.into() - { - let price: u128 = record.price.saturated_into(); - let duration = record.duration as u128; - let balance = price - .checked_div(duration) - .ok_or(sp_runtime::DispatchError::Other("duration error"))?; - result = Some((record.purchaser, balance)); - } - } - } - Ok(result) - } -} - -parameter_types! { - pub const MaxUrlLength: u32 = 300; -} - -impl pallet_bulk::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type RelayChainStateProvider = cumulus_pallet_parachain_system::RelaychainDataProvider; - type UpdateOrigin = EnsureRootOrHalf; - type MaxUrlLength = MaxUrlLength; - type WeightInfo = pallet_bulk::weights::SubstrateWeight; -} - -parameter_types! { - pub const CouncilMotionDuration: BlockNumber = 7 * DAYS; - pub const CouncilMaxProposals: u32 = 10; - pub const CouncilMaxMembers: u32 = 25; - pub MaxCollectivesProposalWeight : Weight = Perbill::from_percent(50) * RuntimeBlockWeights::get().max_block; -} - -type CouncilCollective = pallet_collective::Instance1; -impl pallet_collective::Config for Runtime { - type RuntimeOrigin = RuntimeOrigin; - type Proposal = RuntimeCall; - type RuntimeEvent = RuntimeEvent; - type MotionDuration = CouncilMotionDuration; - type MaxProposals = CouncilMaxProposals; - type MaxMembers = CouncilMaxMembers; - type DefaultVote = pallet_collective::PrimeDefaultVote; - type WeightInfo = pallet_collective::weights::SubstrateWeight; - type SetMembersOrigin = EnsureRoot; - type MaxProposalWeight = MaxCollectivesProposalWeight; -} - -impl pallet_evm_chain_id::Config for Runtime {} - -pub struct FindAuthorTruncated(PhantomData); -impl> FindAuthor for FindAuthorTruncated { - fn find_author<'a, I>(digests: I) -> Option - where - I: 'a + IntoIterator, - { - if let Some(author_index) = F::find_author(digests) { - let authority_id = Aura::authorities()[author_index as usize].clone(); - Some(H160::from_slice(&authority_id.to_raw_vec()[4..24])) - } else { - None - } - } -} - -const BLOCK_GAS_LIMIT: u64 = 75_000_000; -const MAX_POV_SIZE: u64 = 5 * 1024 * 1024; - -parameter_types! { - pub BlockGasLimit: U256 = U256::from(BLOCK_GAS_LIMIT); - pub const GasLimitPovSizeRatio: u64 = BLOCK_GAS_LIMIT.saturating_div(MAX_POV_SIZE); - pub PrecompilesValue: FrontierPrecompiles = FrontierPrecompiles::<_>::new(); - pub WeightPerGas: Weight = Weight::from_parts(weight_per_gas(BLOCK_GAS_LIMIT, NORMAL_DISPATCH_RATIO, WEIGHT_MILLISECS_PER_BLOCK), 0); - pub SuicideQuickClearLimit: u32 = 0; -} - -impl pallet_evm::Config for Runtime { - type FeeCalculator = BaseFee; - type GasWeightMapping = pallet_evm::FixedGasWeightMapping; - type WeightPerGas = WeightPerGas; - type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping; - type CallOrigin = EnsureAddressTruncated; - type WithdrawOrigin = EnsureAddressTruncated; - type AddressMapping = HashedAddressMapping; - type Currency = Balances; - type RuntimeEvent = RuntimeEvent; - type PrecompilesType = FrontierPrecompiles; - type PrecompilesValue = PrecompilesValue; - type ChainId = EVMChainId; - type BlockGasLimit = BlockGasLimit; - type Runner = pallet_evm::runner::stack::Runner; - type OnChargeTransaction = (); - type OnCreate = (); - type FindAuthor = FindAuthorTruncated; - type GasLimitPovSizeRatio = GasLimitPovSizeRatio; - type SuicideQuickClearLimit = SuicideQuickClearLimit; - type Timestamp = Timestamp; - type WeightInfo = pallet_evm::weights::SubstrateWeight; -} - -parameter_types! { - pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes; -} - -impl pallet_ethereum::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type StateRoot = pallet_ethereum::IntermediateStateRoot; - type PostLogContent = PostBlockAndTxnHashes; - type ExtraDataLength = ConstU32<30>; -} - -parameter_types! { - pub BoundDivision: U256 = U256::from(1024); -} - -impl pallet_dynamic_fee::Config for Runtime { - type MinGasPriceBoundDivisor = BoundDivision; -} - -parameter_types! { - pub DefaultBaseFeePerGas: U256 = U256::from(1_000_000_000); - pub DefaultElasticity: Permill = Permill::from_parts(125_000); -} - -pub struct BaseFeeThreshold; -impl pallet_base_fee::BaseFeeThreshold for BaseFeeThreshold { - fn lower() -> Permill { - Permill::zero() - } - fn ideal() -> Permill { - Permill::from_parts(500_000) - } - fn upper() -> Permill { - Permill::from_parts(1_000_000) - } -} - -impl pallet_base_fee::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Threshold = BaseFeeThreshold; - type DefaultBaseFeePerGas = DefaultBaseFeePerGas; - type DefaultElasticity = DefaultElasticity; -} - -impl pallet_hotfix_sufficients::Config for Runtime { - type AddressMapping = HashedAddressMapping; - type WeightInfo = pallet_hotfix_sufficients::weights::SubstrateWeight; -} - -pub const fn deposit(items: u32, bytes: u32) -> Balance { - (items as Balance * 20 * UNIT + (bytes as Balance) * 100 * MICROUNIT) / 100 -} - -parameter_types! { - pub const AssetDeposit: Balance = 10 * UNIT; // 10 UNITS deposit to create fungible asset class - pub const AssetAccountDeposit: Balance = deposit(1, 16); - pub const ApprovalDeposit: Balance = EXISTENTIAL_DEPOSIT; - pub const AssetsStringLimit: u32 = 50; - /// Key = 32 bytes, Value = 36 bytes (32+1+1+1+1) - // https://github.com/paritytech/substrate/blob/069917b/frame/assets/src/lib.rs#L257L271 - pub const MetadataDepositBase: Balance = deposit(1, 68); - pub const MetadataDepositPerByte: Balance = deposit(0, 1); - pub const ExecutiveBody: BodyId = BodyId::Executive; -} - -impl pallet_assets::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Balance = Balance; - //type AssetId = AssetId; - type AssetId = u32; - type RemoveItemsLimit = ConstU32<1000>; - type AssetIdParameter = codec::Compact; - type CreateOrigin = AsEnsureOriginWithArg>; - type Currency = Balances; - type ForceOrigin = EnsureRoot; - type AssetDeposit = AssetDeposit; - type MetadataDepositBase = MetadataDepositBase; - type MetadataDepositPerByte = MetadataDepositPerByte; - type ApprovalDeposit = ApprovalDeposit; - type StringLimit = AssetsStringLimit; - type CallbackHandle = (); - type Freezer = (); - type Extra = (); - type WeightInfo = pallet_assets::weights::SubstrateWeight; - type AssetAccountDeposit = AssetAccountDeposit; -} - -parameter_types! { - // 0x1111111111111111111111111111111111111111 - pub EvmCaller: H160 = H160::from_slice(&[17u8;20][..]); - pub ClaimBond: Balance = 10 * EXISTENTIAL_DEPOSIT; -} -impl pallet_assets_bridge::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type EvmCaller = EvmCaller; - type ClaimBond = ClaimBond; -} - -impl pallet_evm_utils::Config for Runtime { - type RuntimeEvent = RuntimeEvent; -} - -parameter_types! { - pub const PotNames: [&'static str;3] = ["system", "treasury", "maintenance"]; - pub Pots: BTreeMap = pallet_pot - ::HashedPotNameBtreemap - ::> - ::pots_btreemap(&(PotNames::get())); -} - -impl pallet_pot::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type PotNameMapping = pallet_pot::HashedPotNameMapping; - type Currency = Balances; - type Pots = Pots; -} - -parameter_types! { - pub const SystemPotName: &'static str = "system"; -} - -impl pallet_assurance::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type DefaultBidThreshold = ConstU32<8>; -} - -impl pallet_utility::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type PalletsOrigin = OriginCaller; - type WeightInfo = pallet_utility::weights::SubstrateWeight; -} - -parameter_types! { - pub const SystemRatio: Perbill = Perbill::from_percent(20); // 20% for system - pub const TreasuryRatio: Perbill = Perbill::from_percent(33); // 33% for treasury - //pub const OperationRatio: Perbill = Perbill::from_percent(25); // 25% for maintenance - pub const ProfitDistributionCycle: BlockNumber = 10; - pub const ExistDeposit: Balance = EXISTENTIAL_DEPOSIT; - pub const MinLiquidationThreshold: Balance = MILLIUNIT * 20; - pub const SystemAccountName: &'static str = "system"; - pub const TreasuryAccountName: &'static str = "treasury"; - pub const OperationAccountName: &'static str = "maintenance"; -} - -impl pallet_liquidation::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type XcmSender = xcm_config::XcmRouter; - type WeightToFee = WeightToFee; - type OrderGasCost = OrderGasCostHandler; - type ExistentialDeposit = ExistDeposit; - type SystemAccountName = SystemAccountName; - type TreasuryAccountName = TreasuryAccountName; - type OperationAccountName = OperationAccountName; -} - -parameter_types! { - pub const PreimageBaseDeposit: Balance = deposit(2, 64); - pub const PreimageByteDeposit: Balance = deposit(0, 1); - pub const PreimageHoldReason: RuntimeHoldReason = RuntimeHoldReason::Preimage(pallet_preimage::HoldReason::Preimage); -} - -impl pallet_preimage::Config for Runtime { - type WeightInfo = weights::pallet_preimage::WeightInfo; - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type ManagerOrigin = EnsureRoot; - type Consideration = HoldConsideration< - AccountId, - Balances, - PreimageHoldReason, - LinearStoragePrice, - >; -} - -parameter_types! { - pub MaximumSchedulerWeight: Weight = Perbill::from_percent(80) * - RuntimeBlockWeights::get().max_block; - pub const MaxScheduledPerBlock: u32 = 50; - pub const NoPreimagePostponement: Option = Some(10); -} - -/// Used the compare the privilege of an origin inside the scheduler. -pub struct OriginPrivilegeCmp; - -impl PrivilegeCmp for OriginPrivilegeCmp { - fn cmp_privilege(left: &OriginCaller, right: &OriginCaller) -> Option { - if left == right { - return Some(Ordering::Equal); - } - - match (left, right) { - // Root is greater than anything. - (OriginCaller::system(frame_system::RawOrigin::Root), _) => Some(Ordering::Greater), - // For every other origin we don't care, as they are not used for `ScheduleOrigin`. - _ => None, - } - } -} - -impl pallet_scheduler::Config for Runtime { - type RuntimeOrigin = RuntimeOrigin; - type RuntimeEvent = RuntimeEvent; - type PalletsOrigin = OriginCaller; - type RuntimeCall = RuntimeCall; - type MaximumWeight = MaximumSchedulerWeight; - // The goal of having ScheduleOrigin include AuctionAdmin is to allow the auctions track of - // OpenGov to schedule periodic auctions. - type ScheduleOrigin = EitherOf, AuctionAdmin>; - type MaxScheduledPerBlock = MaxScheduledPerBlock; - type WeightInfo = weights::pallet_scheduler::WeightInfo; - type OriginPrivilegeCmp = OriginPrivilegeCmp; - type Preimages = Preimage; -} - -/* -parameter_types! { - pub const ProposalBond: Permill = Permill::from_percent(5); - pub const ProposalBondMinimum: Balance = 2000 * CENTS; - pub const ProposalBondMaximum: Balance = 1 * GRAND; - pub const SpendPeriod: BlockNumber = 6 * DAYS; - pub const Burn: Permill = Permill::from_perthousand(2); - pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry"); - pub const PayoutSpendPeriod: BlockNumber = 30 * DAYS; - // The asset's interior location for the paying account. This is the Treasury - // pallet instance (which sits at index 15). - pub TreasuryInteriorLocation: InteriorMultiLocation = PalletInstance(15).into(); - - pub const TipCountdown: BlockNumber = 1 * DAYS; - pub const TipFindersFee: Percent = Percent::from_percent(20); - pub const TipReportDepositBase: Balance = 100 * CENTS; - pub const DataDepositPerByte: Balance = 1 * CENTS; - pub const MaxApprovals: u32 = 100; - pub const MaxAuthorities: u32 = 100_000; - pub const MaxKeys: u32 = 10_000; - pub const MaxPeerInHeartbeats: u32 = 10_000; - pub const MaxBalance: Balance = Balance::max_value(); -} - -impl pallet_treasury::Config for Runtime { - type PalletId = TreasuryPalletId; - type Currency = Balances; - type ApproveOrigin = EitherOfDiverse, Treasurer>; - type RejectOrigin = EitherOfDiverse, Treasurer>; - type RuntimeEvent = RuntimeEvent; - type OnSlash = Treasury; - type ProposalBond = ProposalBond; - type ProposalBondMinimum = ProposalBondMinimum; - type ProposalBondMaximum = ProposalBondMaximum; - type SpendPeriod = SpendPeriod; - type Burn = Burn; - //type BurnDestination = Society; - type BurnDestination = (); - type MaxApprovals = MaxApprovals; - type WeightInfo = weights::pallet_treasury::WeightInfo; - //type SpendFunds = Bounties; - type SpendFunds = (); - type SpendOrigin = TreasurySpender; - /* - type AssetKind = VersionedLocatableAsset; - type Beneficiary = VersionedMultiLocation; - type BeneficiaryLookup = IdentityLookup; - type Paymaster = PayOverXcm< - TreasuryInteriorLocation, - crate::xcm_config::XcmRouter, - crate::XcmPallet, - ConstU32<{ 6 * HOURS }>, - Self::Beneficiary, - Self::AssetKind, - LocatableAssetConverter, - VersionedMultiLocationConverter, - >; - type BalanceConverter = AssetRate; - type PayoutPeriod = PayoutSpendPeriod; - */ - #[cfg(feature = "runtime-benchmarks")] - type BenchmarkHelper = runtime_common::impls::benchmarks::TreasuryArguments; -} -*/ - -impl pallet_insecure_randomness_collective_flip::Config for Runtime {} - -parameter_types! { - pub const MultisigReqExpireTime: BlockNumber = 50400; - pub const MaxScriptSigners: u32 = 8; -} - -impl pallet_move::Config for Runtime { - type Currency = Balances; - type CurrencyBalance = Balance; - type MultisigReqExpireTime = MultisigReqExpireTime; - type MaxScriptSigners = MaxScriptSigners; - type RuntimeEvent = RuntimeEvent; - type WeightInfo = pallet_move::weights::SubstrateWeight; -} - -impl pallet_multisig::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type Currency = Balances; - type DepositBase = ConstU128<228_000_000_000_000>; - type DepositFactor = ConstU128<32_000_000_000_000>; - type MaxSignatories = ConstU32<20>; - type WeightInfo = pallet_multisig::weights::SubstrateWeight; -} - -#[derive( - Copy, - Clone, - Eq, - PartialEq, - Ord, - PartialOrd, - Encode, - Decode, - RuntimeDebug, - MaxEncodedLen, - scale_info::TypeInfo, -)] -pub enum ProxyType { - Any, - JustTransfer, - JustUtility, -} -impl Default for ProxyType { - fn default() -> Self { - Self::Any - } -} -impl InstanceFilter for ProxyType { - fn filter(&self, c: &RuntimeCall) -> bool { - match self { - ProxyType::Any => true, - ProxyType::JustTransfer => { - matches!( - c, - RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death { .. }) - ) - }, - ProxyType::JustUtility => matches!(c, RuntimeCall::Utility { .. }), - } - } - fn is_superset(&self, o: &Self) -> bool { - self == &ProxyType::Any || self == o - } -} - -impl pallet_proxy::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type Currency = Balances; - type ProxyType = ProxyType; - type ProxyDepositBase = ConstU128<160_000_000_000_000>; - type ProxyDepositFactor = ConstU128<33_000_000_000_000>; - type MaxProxies = ConstU32<100>; - type CallHasher = BlakeTwo256; - type MaxPending = ConstU32<1000>; - type AnnouncementDepositBase = ConstU128<16_000_000_000_000>; - type AnnouncementDepositFactor = ConstU128<64_000_000_000_000>; - type WeightInfo = pallet_proxy::weights::SubstrateWeight; +/// The version information used to identify this runtime when compiled natively. +#[cfg(feature = "std")] +pub fn native_version() -> NativeVersion { + NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } } // Create the runtime by composing the FRAME pallets that were previously configured. -construct_runtime!( - pub enum Runtime - { - // System support stuff. - System: frame_system = 0, - ParachainSystem: cumulus_pallet_parachain_system = 1, - Timestamp: pallet_timestamp = 2, - ParachainInfo: parachain_info = 3, - Utility: pallet_utility = 4, - - // Monetary stuff. - Balances: pallet_balances = 10, - TransactionPayment: pallet_transaction_payment = 11, - Assets: pallet_assets = 12, - AssetsBridge: pallet_assets_bridge = 13, - - // Governance - Sudo: pallet_sudo = 14, - ConvictionVoting: pallet_conviction_voting = 16, - Referenda: pallet_referenda = 17, - // pub type FellowshipCollectiveInstance = pallet_ranked_collective::Instance1; - FellowshipCollective: pallet_ranked_collective:: = 18, - // pub type FellowshipReferendaInstance = pallet_referenda::Instance2; - FellowshipReferenda: pallet_referenda:: = 19, - Origins: pallet_custom_origins::{Origin} = 52, - Whitelist: pallet_whitelist = 53, - - // System scheduler. - Scheduler: pallet_scheduler = 54, - - // Preimage registrar. - Preimage: pallet_preimage::{Pallet, Call, Storage, Event, HoldReason} = 55, - - //Old Governance - Council: pallet_collective:: = 56, - - // Collator support. The order of these 4 are important and shall not change. - Authorship: pallet_authorship = 20, - CollatorSelection: pallet_collator_selection = 21, - Session: pallet_session = 22, - Aura: pallet_aura = 23, - AuraExt: cumulus_pallet_aura_ext = 24, - - // XCM helpers. - XcmpQueue: cumulus_pallet_xcmp_queue = 30, - PolkadotXcm: pallet_xcm = 31, - CumulusXcm: cumulus_pallet_xcm = 32, - MessageQueue: pallet_message_queue = 33, - - //Frontier - EVMChainId: pallet_evm_chain_id = 40, - EVM: pallet_evm = 41, - Ethereum: pallet_ethereum = 42, - BaseFee: pallet_base_fee = 43, - DynamicFee: pallet_dynamic_fee = 44, - HotfixSufficients: pallet_hotfix_sufficients = 45, - - //Magnet - OrderPallet: pallet_on_demand = 51, - EVMUtils: pallet_evm_utils = 60, - Pot: pallet_pot = 61, - Assurance: pallet_assurance = 62, - Liquidation: pallet_liquidation = 63, - BulkPallet: pallet_bulk = 64, - //Contracts - RandomnessCollectiveFlip: pallet_insecure_randomness_collective_flip = 70, - Contracts: pallet_contracts = 71, - - //Move-vm - MoveModule: pallet_move = 80, - - //call util - Multisig: pallet_multisig = 90, - Proxy: pallet_proxy = 91, - } -); - -#[cfg(feature = "runtime-benchmarks")] -mod benches { - frame_benchmarking::define_benchmarks!( - [frame_system, SystemBench::] - [pallet_balances, Balances] - [pallet_session, SessionBench::] - [pallet_timestamp, Timestamp] - [pallet_sudo, Sudo] - [pallet_collator_selection, CollatorSelection] - [cumulus_pallet_xcmp_queue, XcmpQueue] - [pallet_bulk, BulkPallet] - [pallet_on_demand, OrderPallet] - [pallet_move, MoveModule] - [pallet_multisig, Multisig] - [pallet_proxy, Proxy] - ); -} - -type EventRecord = frame_system::EventRecord< - ::RuntimeEvent, - ::Hash, ->; - -impl_runtime_apis! { - impl sp_consensus_aura::AuraApi for Runtime { - fn slot_duration() -> sp_consensus_aura::SlotDuration { - sp_consensus_aura::SlotDuration::from_millis(SLOT_DURATION) - } - - fn authorities() -> Vec { - Aura::authorities().into_inner() - } - } - - impl sp_api::Core for Runtime { - fn version() -> RuntimeVersion { - VERSION - } - - fn execute_block(block: Block) { - Executive::execute_block(block) - } - - fn initialize_block(header: &::Header) { - Executive::initialize_block(header) - } - } - - impl sp_api::Metadata for Runtime { - fn metadata() -> OpaqueMetadata { - OpaqueMetadata::new(Runtime::metadata().into()) - } - - fn metadata_at_version(version: u32) -> Option { - Runtime::metadata_at_version(version) - } - - fn metadata_versions() -> sp_std::vec::Vec { - Runtime::metadata_versions() - } - } - - impl sp_block_builder::BlockBuilder for Runtime { - fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { - Executive::apply_extrinsic(extrinsic) - } - - fn finalize_block() -> ::Header { - Executive::finalize_block() - } - - fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { - data.create_extrinsics() - } - - fn check_inherents( - block: Block, - data: sp_inherents::InherentData, - ) -> sp_inherents::CheckInherentsResult { - data.check_extrinsics(&block) - } - } - - impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { - fn validate_transaction( - source: TransactionSource, - tx: ::Extrinsic, - block_hash: ::Hash, - ) -> TransactionValidity { - Executive::validate_transaction(source, tx, block_hash) - } - } - - impl sp_offchain::OffchainWorkerApi for Runtime { - fn offchain_worker(header: &::Header) { - Executive::offchain_worker(header) - } - } - - impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) - } - - fn decode_session_keys( - encoded: Vec, - ) -> Option, KeyTypeId)>> { - SessionKeys::decode_into_raw_public_keys(&encoded) - } - } - - impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { - fn account_nonce(account: AccountId) -> Nonce { - System::account_nonce(account) - } - } - - - impl fp_rpc::EthereumRuntimeRPCApi for Runtime { - fn chain_id() -> u64 { - ::ChainId::get() - } - - fn account_basic(address: H160) -> EVMAccount { - let account_id = ::AddressMapping::into_account_id(address); - - let nonce = frame_system::Pallet::::account_nonce(&account_id); - let balance_free = - ::Currency::free_balance(account_id.clone()); - let balance_reserved = - ::Currency::reserved_balance(account_id); - let balance = balance_free.saturating_add(balance_reserved); - let account = EVMAccount { - nonce: U256::from(UniqueSaturatedInto::::unique_saturated_into(nonce)), - balance: U256::from(UniqueSaturatedInto::::unique_saturated_into(balance)), - }; - account - } - - fn gas_price() -> U256 { - let (gas_price, _) = ::FeeCalculator::min_gas_price(); - gas_price - } - - fn account_code_at(address: H160) -> Vec { - pallet_evm::AccountCodes::::get(address) - } - - fn author() -> H160 { - >::find_author() - } - - fn storage_at(address: H160, index: U256) -> H256 { - let mut tmp = [0u8; 32]; - index.to_big_endian(&mut tmp); - pallet_evm::AccountStorages::::get(address, H256::from_slice(&tmp[..])) - } - - fn call( - from: H160, - to: H160, - data: Vec, - value: U256, - gas_limit: U256, - max_fee_per_gas: Option, - max_priority_fee_per_gas: Option, - nonce: Option, - estimate: bool, - access_list: Option)>>, - ) -> Result { - let config = if estimate { - let mut config = ::config().clone(); - config.estimate = true; - Some(config) - } else { - None - }; - - let gas_limit = gas_limit.min(u64::MAX.into()); - let transaction_data = TransactionData::new( - TransactionAction::Call(to), - data.clone(), - nonce.unwrap_or_default(), - gas_limit, - None, - max_fee_per_gas, - max_priority_fee_per_gas, - value, - Some(::ChainId::get()), - access_list.clone().unwrap_or_default(), - ); - let (weight_limit, proof_size_base_cost) = pallet_ethereum::Pallet::::transaction_weight(&transaction_data); - - ::Runner::call( - from, - to, - data, - value, - gas_limit.unique_saturated_into(), - max_fee_per_gas, - max_priority_fee_per_gas, - nonce, - access_list.unwrap_or_default(), - false, - true, - weight_limit, - proof_size_base_cost, - config.as_ref().unwrap_or(::config()), - ).map_err(|err| err.error.into()) - } - - fn create( - from: H160, - data: Vec, - value: U256, - gas_limit: U256, - max_fee_per_gas: Option, - max_priority_fee_per_gas: Option, - nonce: Option, - estimate: bool, - access_list: Option)>>, - ) -> Result { - let config = if estimate { - let mut config = ::config().clone(); - config.estimate = true; - Some(config) - } else { - None - }; - - let transaction_data = TransactionData::new( - TransactionAction::Create, - data.clone(), - nonce.unwrap_or_default(), - gas_limit, - None, - max_fee_per_gas, - max_priority_fee_per_gas, - value, - Some(::ChainId::get()), - access_list.clone().unwrap_or_default(), - ); - let (weight_limit, proof_size_base_cost) = pallet_ethereum::Pallet::::transaction_weight(&transaction_data); - - ::Runner::create( - from, - data, - value, - gas_limit.unique_saturated_into(), - max_fee_per_gas, - max_priority_fee_per_gas, - nonce, - access_list.unwrap_or_default(), - false, - true, - weight_limit, - proof_size_base_cost, - config.as_ref().unwrap_or(::config()), - ).map_err(|err| err.error.into()) - } - - fn current_transaction_statuses() -> Option> { - pallet_ethereum::CurrentTransactionStatuses::::get() - } - - fn current_block() -> Option { - pallet_ethereum::CurrentBlock::::get() - } - - fn current_receipts() -> Option> { - pallet_ethereum::CurrentReceipts::::get() - } - - fn current_all() -> ( - Option, - Option>, - Option> - ) { - ( - pallet_ethereum::CurrentBlock::::get(), - pallet_ethereum::CurrentReceipts::::get(), - pallet_ethereum::CurrentTransactionStatuses::::get() - ) - } - - fn extrinsic_filter( - xts: Vec<::Extrinsic>, - ) -> Vec { - xts.into_iter().filter_map(|xt| match xt.0.function { - RuntimeCall::Ethereum(transact { transaction }) => Some(transaction), - _ => None - }).collect::>() - } - - fn elasticity() -> Option { - Some(pallet_base_fee::Elasticity::::get()) - } - - fn gas_limit_multiplier_support() {} - - fn pending_block( - xts: Vec<::Extrinsic>, - ) -> (Option, Option>) { - for ext in xts.into_iter() { - let _ = Executive::apply_extrinsic(ext); - } - - Ethereum::on_finalize(System::block_number() + 1); - - ( - pallet_ethereum::CurrentBlock::::get(), - pallet_ethereum::CurrentTransactionStatuses::::get() - ) - } - } - - impl fp_rpc::ConvertTransactionRuntimeApi for Runtime { - fn convert_transaction(transaction: EthereumTransaction) -> ::Extrinsic { - UncheckedExtrinsic::new_unsigned( - pallet_ethereum::Call::::transact { transaction }.into(), - ) - } - } - - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { - fn query_info( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { - TransactionPayment::query_info(uxt, len) - } - fn query_fee_details( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_fee_details(uxt, len) - } - fn query_weight_to_fee(weight: Weight) -> Balance { - TransactionPayment::weight_to_fee(weight) - } - fn query_length_to_fee(length: u32) -> Balance { - TransactionPayment::length_to_fee(length) - } - } - - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi - for Runtime - { - fn query_call_info( - call: RuntimeCall, - len: u32, - ) -> pallet_transaction_payment::RuntimeDispatchInfo { - TransactionPayment::query_call_info(call, len) - } - fn query_call_fee_details( - call: RuntimeCall, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_call_fee_details(call, len) - } - fn query_weight_to_fee(weight: Weight) -> Balance { - TransactionPayment::weight_to_fee(weight) - } - fn query_length_to_fee(length: u32) -> Balance { - TransactionPayment::length_to_fee(length) - } - } - - impl cumulus_primitives_core::CollectCollationInfo for Runtime { - fn collect_collation_info(header: &::Header) -> cumulus_primitives_core::CollationInfo { - ParachainSystem::collect_collation_info(header) - } - } - impl cumulus_primitives_aura::AuraUnincludedSegmentApi for Runtime { - fn can_build_upon( - included_hash: ::Hash, - slot: cumulus_primitives_aura::Slot, - ) -> bool { - ConsensusHook::can_build_upon(included_hash, slot) - } - } - impl mp_coretime_on_demand::OrderRuntimeApi for Runtime { - - fn slot_width()-> u32{ - OrderPallet::slot_width() - } - fn order_max_amount() -> Balance { - OrderPallet::price_limit() - } - - fn reach_txpool_threshold(gas_balance:Balance, core_price:Balance) -> bool { - OrderPallet::reach_txpool_threshold(gas_balance, core_price) - } - } - impl mp_coretime_bulk::BulkRuntimeApi for Runtime { - - fn rpc_url()-> Vec{ - BulkPallet::rpc_url() - } - - fn relaychain_block_number()->u32 { - BulkPallet::relaychain_block_number() - } - } - - impl mp_system::OnRelayChainApi for Runtime { - fn on_relaychain(block_number: u32) -> bool { - Assurance::on_relaychain(block_number) - } - } - - impl pallet_pot_runtime_api::PotRPCApi for Runtime { - fn balance_of(pot_name: String) -> Result { - Pot::balance_of(&pot_name).map_err(|_| sp_runtime::DispatchError::Other("NotPot")) - } - fn balance_of_base() -> Result { - Pot::balance_of_base().map_err(|_| sp_runtime::DispatchError::Other("BaseBalanceError")) - } - } - - impl pallet_contracts::ContractsApi - for Runtime - { - fn call( - origin: AccountId, - dest: AccountId, - value: Balance, - gas_limit: Option, - storage_deposit_limit: Option, - input_data: Vec, - ) -> pallet_contracts::ContractExecResult { - let gas_limit = gas_limit.unwrap_or(RuntimeBlockWeights::get().max_block); - Contracts::bare_call( - origin, - dest, - value, - gas_limit, - storage_deposit_limit, - input_data, - CONTRACTS_DEBUG_OUTPUT, - CONTRACTS_EVENTS, - pallet_contracts::Determinism::Enforced, - ) - } - - fn instantiate( - origin: AccountId, - value: Balance, - gas_limit: Option, - storage_deposit_limit: Option, - code: pallet_contracts::Code, - data: Vec, - salt: Vec, - ) -> pallet_contracts::ContractInstantiateResult - { - let gas_limit = gas_limit.unwrap_or(RuntimeBlockWeights::get().max_block); - Contracts::bare_instantiate( - origin, - value, - gas_limit, - storage_deposit_limit, - code, - data, - salt, - CONTRACTS_DEBUG_OUTPUT, - CONTRACTS_EVENTS, - ) - } - - fn upload_code( - origin: AccountId, - code: Vec, - storage_deposit_limit: Option, - determinism: pallet_contracts::Determinism, - ) -> pallet_contracts::CodeUploadResult - { - Contracts::bare_upload_code(origin, code, storage_deposit_limit, determinism) - } - - fn get_storage( - address: AccountId, - key: Vec, - ) -> pallet_contracts::GetStorageResult { - Contracts::get_storage(address, key) - } - } - - impl pallet_move::api::MoveApi for Runtime { - fn estimate_gas_publish_module(account: AccountId, bytecode: Vec) -> Result { - MoveModule::rpc_estimate_gas_publish_module(&account, bytecode) - } - - fn estimate_gas_publish_bundle(account: AccountId, bytecode: Vec) -> Result { - MoveModule::rpc_estimate_gas_publish_bundle(&account, bytecode) - } - - fn estimate_gas_execute_script(transaction_bc: Vec) -> Result { - MoveModule::rpc_estimate_gas_execute_script(transaction_bc) - } - - fn get_module(account: AccountId, name: String) -> Result>, Vec> { - MoveModule::rpc_get_module(account, name) - } - - fn get_module_abi(account: AccountId, name: String) -> Result, Vec> { - MoveModule::rpc_get_module_abi(account, name) - } - - fn get_resource( - account: AccountId, - tag: Vec, - ) -> Result>, Vec> { - MoveModule::rpc_get_resource(account, tag) - } - } - - #[cfg(feature = "try-runtime")] - impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) { - let weight = Executive::try_runtime_upgrade(checks).unwrap(); - (weight, RuntimeBlockWeights::get().max_block) - } - - fn execute_block( - block: Block, - state_root_check: bool, - signature_check: bool, - select: frame_try_runtime::TryStateSelect, - ) -> Weight { - // NOTE: intentional unwrap: we don't want to propagate the error backwards, and want to - // have a backtrace here. - Executive::try_execute_block(block, state_root_check, signature_check, select).unwrap() - } - } - - #[cfg(feature = "runtime-benchmarks")] - impl frame_benchmarking::Benchmark for Runtime { - fn benchmark_metadata(extra: bool) -> ( - Vec, - Vec, - ) { - use frame_benchmarking::{Benchmarking, BenchmarkList}; - use frame_support::traits::StorageInfoTrait; - use frame_system_benchmarking::Pallet as SystemBench; - use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - - let mut list = Vec::::new(); - list_benchmarks!(list, extra); - - let storage_info = AllPalletsWithSystem::storage_info(); - (list, storage_info) - } - - fn dispatch_benchmark( - config: frame_benchmarking::BenchmarkConfig - ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{BenchmarkError, Benchmarking, BenchmarkBatch}; - - use frame_system_benchmarking::Pallet as SystemBench; - impl frame_system_benchmarking::Config for Runtime { - fn setup_set_code_requirements(code: &sp_std::vec::Vec) -> Result<(), BenchmarkError> { - ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32); - Ok(()) - } - - fn verify_set_code() { - System::assert_last_event(cumulus_pallet_parachain_system::Event::::ValidationFunctionStored.into()); - } - } - - use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - impl cumulus_pallet_session_benchmarking::Config for Runtime {} - - use frame_support::traits::WhitelistedStorageKeys; - let whitelist = AllPalletsWithSystem::whitelisted_storage_keys(); - - let mut batches = Vec::::new(); - let params = (&config, &whitelist); - add_benchmarks!(params, batches); - - if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } - Ok(batches) - } - } - impl sp_genesis_builder::GenesisBuilder for Runtime { - fn create_default_config() -> Vec { - create_default_config::() - } - - fn build_config(config: Vec) -> sp_genesis_builder::Result { - build_config::(config) - } - } -} - -struct CheckInherents; - -#[allow(deprecated)] -impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { - fn check_inherents( - block: &Block, - relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof, - ) -> sp_inherents::CheckInherentsResult { - let relay_chain_slot = relay_state_proof - .read_slot() - .expect("Could not read the relay chain slot from the proof"); - let inherent_data = - cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration( - relay_chain_slot, - sp_std::time::Duration::from_secs(6), - ) - .create_inherent_data() - .expect("Could not create the timestamp inherent data"); - inherent_data.check_extrinsics(block) - } -} +#[frame_support::runtime] +mod runtime { + #[runtime::runtime] + #[runtime::derive( + RuntimeCall, + RuntimeEvent, + RuntimeError, + RuntimeOrigin, + RuntimeFreezeReason, + RuntimeHoldReason, + RuntimeSlashReason, + RuntimeLockId, + RuntimeTask + )] + pub struct Runtime; + + #[runtime::pallet_index(0)] + pub type System = frame_system; + #[runtime::pallet_index(1)] + pub type ParachainSystem = cumulus_pallet_parachain_system; + #[runtime::pallet_index(2)] + pub type Timestamp = pallet_timestamp; + #[runtime::pallet_index(3)] + pub type ParachainInfo = parachain_info; + #[runtime::pallet_index(4)] + pub type Utility = pallet_utility; + + // Monetary stuff. + #[runtime::pallet_index(10)] + pub type Balances = pallet_balances; + #[runtime::pallet_index(11)] + pub type TransactionPayment = pallet_transaction_payment; + #[runtime::pallet_index(12)] + pub type Assets = pallet_assets; + #[runtime::pallet_index(13)] + pub type AssetsBridge = pallet_assets_bridge; + + // Governance + #[runtime::pallet_index(14)] + pub type Sudo = pallet_sudo; + #[runtime::pallet_index(16)] + pub type ConvictionVoting = pallet_conviction_voting; + #[runtime::pallet_index(17)] + pub type Referenda = pallet_referenda; + #[runtime::pallet_index(18)] + pub type FellowshipCollective = pallet_ranked_collective::Pallet; + #[runtime::pallet_index(19)] + pub type FellowshipReferenda = pallet_referenda::Pallet; + #[runtime::pallet_index(52)] + pub type Origins = pallet_custom_origins; + #[runtime::pallet_index(53)] + pub type Whitelist = pallet_whitelist; + #[runtime::pallet_index(54)] + pub type Scheduler = pallet_scheduler; + #[runtime::pallet_index(55)] + pub type Preimage = pallet_preimage; + + //Old Governance + #[runtime::pallet_index(56)] + pub type Council = pallet_collective::Pallet; + + // Collator support. The order of these 4 are important and shall not change. + #[runtime::pallet_index(20)] + pub type Authorship = pallet_authorship; + #[runtime::pallet_index(21)] + pub type CollatorSelection = pallet_collator_selection; + #[runtime::pallet_index(22)] + pub type Session = pallet_session; + #[runtime::pallet_index(23)] + pub type Aura = pallet_aura; + #[runtime::pallet_index(24)] + pub type AuraExt = cumulus_pallet_aura_ext; + + // XCM helpers. + #[runtime::pallet_index(30)] + pub type XcmpQueue = cumulus_pallet_xcmp_queue; + #[runtime::pallet_index(31)] + pub type PolkadotXcm = pallet_xcm; + #[runtime::pallet_index(32)] + pub type CumulusXcm = cumulus_pallet_xcm; + #[runtime::pallet_index(33)] + pub type MessageQueue = pallet_message_queue; + + //Frontier + #[runtime::pallet_index(40)] + pub type EVMChainId = pallet_evm_chain_id; + #[runtime::pallet_index(41)] + pub type EVM = pallet_evm; + #[runtime::pallet_index(42)] + pub type Ethereum = pallet_ethereum; + #[runtime::pallet_index(43)] + pub type BaseFee = pallet_base_fee; + #[runtime::pallet_index(44)] + pub type DynamicFee = pallet_dynamic_fee; + #[runtime::pallet_index(45)] + pub type HotfixSufficients = pallet_hotfix_sufficients; + #[runtime::pallet_index(60)] + pub type EVMUtils = pallet_evm_utils; + + //Magnet + #[runtime::pallet_index(51)] + pub type OrderPallet = pallet_on_demand; + #[runtime::pallet_index(61)] + pub type Pot = pallet_pot; + #[runtime::pallet_index(62)] + pub type Assurance = pallet_assurance; + #[runtime::pallet_index(63)] + pub type Liquidation = pallet_liquidation; + #[runtime::pallet_index(64)] + pub type BulkPallet = pallet_bulk; + //Contracts + #[runtime::pallet_index(70)] + pub type RandomnessCollectiveFlip = pallet_insecure_randomness_collective_flip; + #[runtime::pallet_index(71)] + pub type Contracts = pallet_contracts; + + //Move-vm + #[runtime::pallet_index(80)] + pub type MoveModule = pallet_move; + + //call util + #[runtime::pallet_index(90)] + pub type Multisig = pallet_multisig; + #[runtime::pallet_index(91)] + pub type Proxy = pallet_proxy; +} + +#[docify::export(register_validate_block)] cumulus_pallet_parachain_system::register_validate_block! { Runtime = Runtime, BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, - // CheckInherents = CheckInherents, } diff --git a/runtime/src/weights/mod.rs b/runtime/src/weights/mod.rs index 264fc8f..55346aa 100644 --- a/runtime/src/weights/mod.rs +++ b/runtime/src/weights/mod.rs @@ -17,8 +17,6 @@ //! Expose the auto generated weight files. -//Modified by Alex Wang 2023/11 - pub mod block_weights; pub mod extrinsic_weights; pub mod pallet_conviction_voting; @@ -34,5 +32,4 @@ pub mod rocksdb_weights; pub use block_weights::constants::BlockExecutionWeight; pub use extrinsic_weights::constants::ExtrinsicBaseWeight; -pub use paritydb_weights::constants::ParityDbWeight; pub use rocksdb_weights::constants::RocksDbWeight; diff --git a/runtime/src/weights/pallet_scheduler.rs b/runtime/src/weights/pallet_scheduler.rs index e4732a2..78284d2 100644 --- a/runtime/src/weights/pallet_scheduler.rs +++ b/runtime/src/weights/pallet_scheduler.rs @@ -47,30 +47,30 @@ use core::marker::PhantomData; /// Weight functions for `pallet_scheduler`. pub struct WeightInfo(PhantomData); impl pallet_scheduler::WeightInfo for WeightInfo { - /// Storage: Scheduler IncompleteSince (r:1 w:1) - /// Proof: Scheduler IncompleteSince (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) + /// Storage: `Scheduler::IncompleteSince` (r:1 w:1) + /// Proof: `Scheduler::IncompleteSince` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn service_agendas_base() -> Weight { // Proof Size summary in bytes: - // Measured: `69` + // Measured: `31` // Estimated: `1489` - // Minimum execution time: 4_741_000 picoseconds. - Weight::from_parts(4_939_000, 0) + // Minimum execution time: 2_475_000 picoseconds. + Weight::from_parts(2_644_000, 0) .saturating_add(Weight::from_parts(0, 1489)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: Scheduler Agenda (r:1 w:1) - /// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen) - /// The range of component `s` is `[0, 50]`. + /// Storage: `Scheduler::Agenda` (r:1 w:1) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(155814), added: 158289, mode: `MaxEncodedLen`) + /// The range of component `s` is `[0, 200]`. fn service_agenda_base(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `116 + s * (177 ±0)` - // Estimated: `42428` - // Minimum execution time: 4_504_000 picoseconds. - Weight::from_parts(7_569_333, 0) - .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 1_818 - .saturating_add(Weight::from_parts(771_180, 0).saturating_mul(s.into())) + // Measured: `77 + s * (177 ±0)` + // Estimated: `159279` + // Minimum execution time: 2_898_000 picoseconds. + Weight::from_parts(1_532_342, 0) + .saturating_add(Weight::from_parts(0, 159279)) + // Standard Error: 4_736 + .saturating_add(Weight::from_parts(412_374, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -78,36 +78,38 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_709_000 picoseconds. - Weight::from_parts(5_929_000, 0) + // Minimum execution time: 3_171_000 picoseconds. + Weight::from_parts(3_349_000, 0) .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: Preimage PreimageFor (r:1 w:1) - /// Proof: Preimage PreimageFor (max_values: None, max_size: Some(4194344), added: 4196819, mode: Measured) - /// Storage: Preimage StatusFor (r:1 w:1) - /// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen) + /// Storage: `Preimage::PreimageFor` (r:1 w:1) + /// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`) + /// Storage: `Preimage::StatusFor` (r:1 w:0) + /// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) + /// Storage: `Preimage::RequestStatusFor` (r:1 w:1) + /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) /// The range of component `s` is `[128, 4194304]`. fn service_task_fetched(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `251 + s * (1 ±0)` - // Estimated: `3716 + s * (1 ±0)` - // Minimum execution time: 20_710_000 picoseconds. - Weight::from_parts(20_918_000, 0) - .saturating_add(Weight::from_parts(0, 3716)) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_257, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(2)) + // Measured: `246 + s * (1 ±0)` + // Estimated: `3711 + s * (1 ±0)` + // Minimum execution time: 17_329_000 picoseconds. + Weight::from_parts(17_604_000, 0) + .saturating_add(Weight::from_parts(0, 3711)) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_256, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(s.into())) } - /// Storage: Scheduler Lookup (r:0 w:1) - /// Proof: Scheduler Lookup (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen) + /// Storage: `Scheduler::Lookup` (r:0 w:1) + /// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) fn service_task_named() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 7_262_000 picoseconds. - Weight::from_parts(7_412_000, 0) + // Minimum execution time: 4_503_000 picoseconds. + Weight::from_parts(4_677_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -115,90 +117,169 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_774_000 picoseconds. - Weight::from_parts(5_887_000, 0) + // Minimum execution time: 3_145_000 picoseconds. + Weight::from_parts(3_252_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn execute_dispatch_signed() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_777_000 picoseconds. - Weight::from_parts(2_865_000, 0) + // Minimum execution time: 1_804_000 picoseconds. + Weight::from_parts(1_891_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn execute_dispatch_unsigned() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_739_000 picoseconds. - Weight::from_parts(2_827_000, 0) + // Minimum execution time: 1_706_000 picoseconds. + Weight::from_parts(1_776_000, 0) .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: Scheduler Agenda (r:1 w:1) - /// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen) - /// The range of component `s` is `[0, 49]`. + /// Storage: `Scheduler::Agenda` (r:1 w:1) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(155814), added: 158289, mode: `MaxEncodedLen`) + /// The range of component `s` is `[0, 199]`. fn schedule(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `116 + s * (177 ±0)` - // Estimated: `42428` - // Minimum execution time: 14_788_000 picoseconds. - Weight::from_parts(17_705_748, 0) - .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 1_703 - .saturating_add(Weight::from_parts(760_991, 0).saturating_mul(s.into())) + // Measured: `77 + s * (177 ±0)` + // Estimated: `159279` + // Minimum execution time: 8_629_000 picoseconds. + Weight::from_parts(6_707_232, 0) + .saturating_add(Weight::from_parts(0, 159279)) + // Standard Error: 5_580 + .saturating_add(Weight::from_parts(471_827, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: Scheduler Agenda (r:1 w:1) - /// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen) - /// Storage: Scheduler Lookup (r:0 w:1) - /// Proof: Scheduler Lookup (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen) - /// The range of component `s` is `[1, 50]`. + /// Storage: `Scheduler::Agenda` (r:1 w:1) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(155814), added: 158289, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Lookup` (r:0 w:1) + /// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// The range of component `s` is `[1, 200]`. fn cancel(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `116 + s * (177 ±0)` - // Estimated: `42428` - // Minimum execution time: 18_716_000 picoseconds. - Weight::from_parts(18_220_022, 0) - .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 1_508 - .saturating_add(Weight::from_parts(1_357_835, 0).saturating_mul(s.into())) + // Measured: `77 + s * (177 ±0)` + // Estimated: `159279` + // Minimum execution time: 12_675_000 picoseconds. + Weight::from_parts(7_791_682, 0) + .saturating_add(Weight::from_parts(0, 159279)) + // Standard Error: 5_381 + .saturating_add(Weight::from_parts(653_023, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) } - /// Storage: Scheduler Lookup (r:1 w:1) - /// Proof: Scheduler Lookup (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen) - /// Storage: Scheduler Agenda (r:1 w:1) - /// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen) - /// The range of component `s` is `[0, 49]`. + /// Storage: `Scheduler::Lookup` (r:1 w:1) + /// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Agenda` (r:1 w:1) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(155814), added: 158289, mode: `MaxEncodedLen`) + /// The range of component `s` is `[0, 199]`. fn schedule_named(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `293 + s * (185 ±0)` - // Estimated: `42428` - // Minimum execution time: 17_719_000 picoseconds. - Weight::from_parts(21_657_806, 0) - .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 2_645 - .saturating_add(Weight::from_parts(794_184, 0).saturating_mul(s.into())) + // Measured: `468 + s * (179 ±0)` + // Estimated: `159279` + // Minimum execution time: 11_908_000 picoseconds. + Weight::from_parts(11_833_059, 0) + .saturating_add(Weight::from_parts(0, 159279)) + // Standard Error: 5_662 + .saturating_add(Weight::from_parts(482_816, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } - /// Storage: Scheduler Lookup (r:1 w:1) - /// Proof: Scheduler Lookup (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen) - /// Storage: Scheduler Agenda (r:1 w:1) - /// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen) - /// The range of component `s` is `[1, 50]`. + /// Storage: `Scheduler::Lookup` (r:1 w:1) + /// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Agenda` (r:1 w:1) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(155814), added: 158289, mode: `MaxEncodedLen`) + /// The range of component `s` is `[1, 200]`. fn cancel_named(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `319 + s * (185 ±0)` - // Estimated: `42428` - // Minimum execution time: 20_225_000 picoseconds. - Weight::from_parts(20_494_405, 0) - .saturating_add(Weight::from_parts(0, 42428)) - // Standard Error: 1_890 - .saturating_add(Weight::from_parts(1_379_025, 0).saturating_mul(s.into())) + // Measured: `509 + s * (179 ±0)` + // Estimated: `159279` + // Minimum execution time: 15_506_000 picoseconds. + Weight::from_parts(11_372_975, 0) + .saturating_add(Weight::from_parts(0, 159279)) + // Standard Error: 5_765 + .saturating_add(Weight::from_parts(656_322, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } -} + /// Storage: `Scheduler::Retries` (r:1 w:2) + /// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Agenda` (r:1 w:1) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(155814), added: 158289, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Lookup` (r:0 w:1) + /// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// The range of component `s` is `[1, 200]`. + fn schedule_retry(s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `159` + // Estimated: `159279` + // Minimum execution time: 14_069_000 picoseconds. + Weight::from_parts(14_868_345, 0) + .saturating_add(Weight::from_parts(0, 159279)) + // Standard Error: 425 + .saturating_add(Weight::from_parts(33_468, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Scheduler::Agenda` (r:1 w:0) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(155814), added: 158289, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Retries` (r:0 w:1) + /// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`) + fn set_retry() -> Weight { + // Proof Size summary in bytes: + // Measured: `77 + s * (177 ±0)` + // Estimated: `159279` + // Minimum execution time: 7_550_000 picoseconds. + Weight::from_parts(6_735_955, 0) + .saturating_add(Weight::from_parts(0, 159279)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Scheduler::Lookup` (r:1 w:0) + /// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Agenda` (r:1 w:0) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(155814), added: 158289, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Retries` (r:0 w:1) + /// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`) + fn set_retry_named() -> Weight { + // Proof Size summary in bytes: + // Measured: `513 + s * (179 ±0)` + // Estimated: `159279` + // Minimum execution time: 11_017_000 picoseconds. + Weight::from_parts(11_749_385, 0) + .saturating_add(Weight::from_parts(0, 159279)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Scheduler::Agenda` (r:1 w:0) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(155814), added: 158289, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Retries` (r:0 w:1) + /// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`) + fn cancel_retry() -> Weight { + // Proof Size summary in bytes: + // Measured: `77 + s * (177 ±0)` + // Estimated: `159279` + // Minimum execution time: 7_550_000 picoseconds. + Weight::from_parts(6_735_955, 0) + .saturating_add(Weight::from_parts(0, 159279)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Scheduler::Lookup` (r:1 w:0) + /// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Agenda` (r:1 w:0) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(155814), added: 158289, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Retries` (r:0 w:1) + /// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`) + fn cancel_retry_named() -> Weight { + // Proof Size summary in bytes: + // Measured: `513 + s * (179 ±0)` + // Estimated: `159279` + // Minimum execution time: 11_017_000 picoseconds. + Weight::from_parts(11_749_385, 0) + .saturating_add(Weight::from_parts(0, 159279)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } +} \ No newline at end of file diff --git a/runtime/src/weights/pallet_xcm.rs b/runtime/src/weights/pallet_xcm.rs index 177407e..d53e886 100644 --- a/runtime/src/weights/pallet_xcm.rs +++ b/runtime/src/weights/pallet_xcm.rs @@ -294,4 +294,16 @@ impl pallet_xcm::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + /// Storage: `PolkadotXcm::AssetTraps` (r:1 w:1) + /// Proof: `PolkadotXcm::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn claim_assets() -> Weight { + // Proof Size summary in bytes: + // Measured: `160` + // Estimated: `3625` + // Minimum execution time: 37_148_000 picoseconds. + Weight::from_parts(37_709_000, 0) + .saturating_add(Weight::from_parts(0, 3625)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } } diff --git a/runtime/src/xcms/xcm_weight.rs b/runtime/src/xcms/xcm_weight.rs index 0977a19..41154f8 100644 --- a/runtime/src/xcms/xcm_weight.rs +++ b/runtime/src/xcms/xcm_weight.rs @@ -265,7 +265,6 @@ impl< /// Weight trader which uses the configured `WeightToFee` to set the right price for weight and then /// places any weight bought into the right account. // use PrecisionMultiplier for different precision between relaychain and Magnet -use frame_support::traits::Imbalance; const PRECISION_MULTIPLIER: u128 = 1_000_000; pub struct UsingComponentsEx<