diff --git a/Cargo.lock b/Cargo.lock index 5931ec30ff..b24b43185f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,11 +23,11 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ - "gimli 0.28.1", + "gimli 0.29.0", ] [[package]] @@ -53,7 +53,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", - "cipher", + "cipher 0.4.4", "cpufeatures", ] @@ -65,10 +65,10 @@ checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ "aead", "aes", - "cipher", + "cipher 0.4.4", "ctr", "ghash", - "subtle", + "subtle 2.5.0", ] [[package]] @@ -86,7 +86,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.12", + "getrandom 0.2.15", "once_cell", "version_check", ] @@ -98,7 +98,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.12", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -115,9 +115,9 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "altair-runtime" @@ -146,9 +146,8 @@ dependencies = [ "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", - "getrandom 0.2.12", "hex", - "hex-literal 0.3.4", + "hex-literal", "liquidity-pools-gateway-routers", "log", "orml-asset-registry", @@ -184,6 +183,7 @@ dependencies = [ "pallet-liquidity-rewards", "pallet-loans", "pallet-membership", + "pallet-message-queue", "pallet-multisig", "pallet-oracle-collection", "pallet-oracle-feed", @@ -213,8 +213,7 @@ dependencies = [ "pallet-vesting", "pallet-xcm", "pallet-xcm-transactor", - "parachain-info", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-runtime-common", "runtime-common", @@ -224,15 +223,17 @@ dependencies = [ "sp-block-builder", "sp-consensus-aura", "sp-core", + "sp-genesis-builder", "sp-inherents", "sp-io", "sp-offchain", "sp-runtime", "sp-session", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-transaction-pool", "sp-version", + "staging-parachain-info", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -273,47 +274,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -321,9 +323,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.81" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "approx" @@ -336,16 +338,39 @@ dependencies = [ [[package]] name = "aquamarine" -version = "0.3.3" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1da02abba9f9063d786eab1509833ebb2fac0f966862ca59439c76b9c566760" +checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" dependencies = [ "include_dir", "itertools 0.10.5", "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.66", +] + +[[package]] +name = "ark-bls12-377" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" +dependencies = [ + "ark-ec", + "ark-ff", + "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]] @@ -360,6 +385,45 @@ 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" @@ -374,9 +438,35 @@ 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" @@ -389,6 +479,19 @@ dependencies = [ "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" @@ -433,29 +536,29 @@ dependencies = [ ] [[package]] -name = "ark-poly" -version = "0.4.2" +name = "ark-models-ext" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +checksum = "3e9eab5d4b5ff2f228b763d38442adc9b084b0a465409b059fac5c2308835ec2" dependencies = [ + "ark-ec", "ark-ff", "ark-serialize", "ark-std", "derivative", - "hashbrown 0.13.2", ] [[package]] -name = "ark-scale" -version = "0.0.10" +name = "ark-poly" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b08346a3e38e2be792ef53ee168623c9244d968ff00cd70fb9932f6fe36393" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" dependencies = [ - "ark-ec", "ark-ff", "ark-serialize", "ark-std", - "parity-scale-codec 3.6.9", + "derivative", + "hashbrown 0.13.2", ] [[package]] @@ -468,14 +571,14 @@ dependencies = [ "ark-ff", "ark-serialize", "ark-std", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", ] [[package]] name = "ark-secret-scalar" version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=3119f51#3119f51b54b69308abfb0671f6176cb125ae1bf1" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" dependencies = [ "ark-ec", "ark-ff", @@ -483,7 +586,7 @@ dependencies = [ "ark-std", "ark-transcript", "digest 0.10.7", - "rand_core 0.6.4", + "getrandom_or_panic", "zeroize", ] @@ -517,27 +620,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand 0.8.5", + "rand", + "rayon", ] [[package]] name = "ark-transcript" version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=3119f51#3119f51b54b69308abfb0671f6176cb125ae1bf1" +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", + "sha3", ] [[package]] name = "array-bytes" -version = "6.2.2" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" + +[[package]] +name = "array-bytes" +version = "6.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f840fb7195bcfc5e17ea40c26e5ce6d5b9ce5d584466e17703209657e459ae0" +checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" [[package]] name = "arrayref" @@ -554,12 +664,6 @@ dependencies = [ "nodrop", ] -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - [[package]] name = "arrayvec" version = "0.7.4" @@ -591,7 +695,7 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -624,27 +728,25 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener 5.2.0", - "event-listener-strategy 0.5.1", + "event-listener-strategy", "futures-core", "pin-project-lite 0.2.14", ] [[package]] name = "async-executor" -version = "1.9.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10b3e585719c2358d2660232671ca8ca4ddb4be4ce8a1842d6c2dc8685303316" +checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" dependencies = [ - "async-lock 3.3.0", "async-task", "concurrent-queue", - "fastrand 2.0.2", + "fastrand 2.1.0", "futures-lite 2.3.0", "slab", ] @@ -683,18 +785,18 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ - "async-lock 3.3.0", + "async-lock 3.4.0", "cfg-if", "concurrent-queue", "futures-io", "futures-lite 2.3.0", "parking", - "polling 3.6.0", - "rustix 0.38.32", + "polling 3.7.1", + "rustix 0.38.34", "slab", "tracing", "windows-sys 0.52.0", @@ -711,12 +813,12 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", + "event-listener 5.3.1", + "event-listener-strategy", "pin-project-lite 0.2.14", ] @@ -744,54 +846,43 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.32", + "rustix 0.38.34", "windows-sys 0.48.0", ] -[[package]] -name = "async-recursion" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.57", -] - [[package]] name = "async-signal" -version = "0.2.5" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +checksum = "329972aa325176e89114919f2a80fdae4f4c040f66a370b1a1159c6c0f94e7aa" dependencies = [ - "async-io 2.3.2", - "async-lock 2.8.0", + "async-io 2.3.3", + "async-lock 3.4.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.32", + "rustix 0.38.34", "signal-hook-registry", "slab", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "async-task" -version = "4.7.0" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.79" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -819,17 +910,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "auto_impl" version = "1.2.0" @@ -838,14 +918,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axelar-gateway-precompile" @@ -861,49 +941,50 @@ dependencies = [ "hex", "pallet-evm", "pallet-liquidity-pools-gateway", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "precompile-utils", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" dependencies = [ - "addr2line 0.21.0", + "addr2line 0.22.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object 0.32.2", + "object 0.35.0", "rustc-demangle", ] [[package]] name = "bandersnatch_vrfs" -version = "0.0.1" -source = "git+https://github.com/w3f/ring-vrf?rev=3119f51#3119f51b54b69308abfb0671f6176cb125ae1bf1" +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-scale 0.0.12", "ark-serialize", "ark-std", "dleq_vrf", "fflonk", - "merlin 3.0.0", + "merlin", "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", ] @@ -948,10 +1029,10 @@ dependencies = [ [[package]] name = "binary-merkle-tree" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "hash-db 0.16.0", + "hash-db", "log", ] @@ -976,13 +1057,13 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", - "prettyplease 0.2.17", + "prettyplease 0.2.20", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -992,6 +1073,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" dependencies = [ "bitcoin_hashes", + "rand", + "rand_core 0.6.4", + "serde", + "unicode-normalization", ] [[package]] @@ -1014,26 +1099,27 @@ checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "bitvec" -version = "0.20.4" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ - "funty 1.1.0", - "radium 0.6.2", + "funty", + "radium", + "serde", "tap", - "wyz 0.2.0", + "wyz", ] [[package]] -name = "bitvec" -version = "1.0.1" +name = "blake2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +checksum = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" dependencies = [ - "funty 2.0.0", - "radium 0.7.0", - "tap", - "wyz 0.5.1", + "byte-tools", + "crypto-mac 0.7.0", + "digest 0.8.1", + "opaque-debug 0.2.3", ] [[package]] @@ -1090,25 +1176,12 @@ dependencies = [ "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", "generic-array 0.14.7", ] @@ -1121,45 +1194,27 @@ 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" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - [[package]] name = "blocking" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" dependencies = [ - "async-channel 2.2.0", - "async-lock 3.3.0", + "async-channel 2.3.1", "async-task", - "fastrand 2.0.2", "futures-io", "futures-lite 2.3.0", "piper", - "tracing", ] [[package]] name = "bounded-collections" -version = "0.1.9" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca548b6163b872067dc5eb82fd130c56881435e30367d2073594a3d9744120dd" +checksum = "d32385ecb91a31bddaf908e8dcf4a15aef1bcd3913cc03ebfad02ff6d568abc1" dependencies = [ "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", ] @@ -1173,6 +1228,17 @@ dependencies = [ "thiserror", ] +[[package]] +name = "bp-xcm-bridge-hub-router" +version = "0.6.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-runtime", +] + [[package]] name = "bs58" version = "0.4.0" @@ -1188,16 +1254,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "bstr" -version = "1.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" -dependencies = [ - "memchr", - "serde", -] - [[package]] name = "build-helper" version = "0.1.1" @@ -1209,9 +1265,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.15.4" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byte-slice-cast" @@ -1227,9 +1283,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" +checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" [[package]] name = "byteorder" @@ -1254,11 +1310,21 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "c2-chacha" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" +dependencies = [ + "cipher 0.2.5", + "ppv-lite86", +] + [[package]] name = "camino" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" dependencies = [ "serde", ] @@ -1280,7 +1346,7 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.22", + "semver 1.0.23", "serde", "serde_json", "thiserror", @@ -1294,12 +1360,13 @@ checksum = "fd6c0e7b807d60291f42f33f58480c0bfafe28ed08286446f45e463728cf9c1c" [[package]] name = "cc" -version = "1.0.90" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" +checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" dependencies = [ "jobserver", "libc", + "once_cell", ] [[package]] @@ -1326,6 +1393,7 @@ dependencies = [ "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", "development-runtime", + "fc-api", "fc-consensus", "fc-db", "fc-mapping-sync", @@ -1339,7 +1407,7 @@ dependencies = [ "frame-benchmarking", "frame-benchmarking-cli", "futures", - "hex-literal 0.3.4", + "hex-literal", "jsonrpsee", "log", "pallet-anchors", @@ -1347,7 +1415,8 @@ dependencies = [ "pallet-evm", "pallet-pool-system", "pallet-transaction-payment-rpc", - "parity-scale-codec 3.6.9", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", "polkadot-cli", "polkadot-primitives", "polkadot-service", @@ -1371,6 +1440,7 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "serde", + "serde_json", "sp-api", "sp-block-builder", "sp-blockchain", @@ -1390,7 +1460,6 @@ dependencies = [ "substrate-frame-rpc-system", "substrate-prometheus-endpoint", "url", - "vergen", ] [[package]] @@ -1420,9 +1489,8 @@ dependencies = [ "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", - "getrandom 0.2.12", "hex", - "hex-literal 0.3.4", + "hex-literal", "liquidity-pools-gateway-routers", "log", "orml-asset-registry", @@ -1458,6 +1526,7 @@ dependencies = [ "pallet-liquidity-rewards", "pallet-loans", "pallet-membership", + "pallet-message-queue", "pallet-multisig", "pallet-oracle-collection", "pallet-oracle-feed", @@ -1487,8 +1556,7 @@ dependencies = [ "pallet-vesting", "pallet-xcm", "pallet-xcm-transactor", - "parachain-info", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-runtime-common", "runtime-common", @@ -1498,15 +1566,17 @@ dependencies = [ "sp-block-builder", "sp-consensus-aura", "sp-core", + "sp-genesis-builder", "sp-inherents", "sp-io", "sp-offchain", "sp-runtime", "sp-session", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-transaction-pool", "sp-version", + "staging-parachain-info", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -1526,9 +1596,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.7" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" dependencies = [ "smallvec", ] @@ -1550,12 +1620,12 @@ dependencies = [ "frame-system", "mock-builder", "orml-traits", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", ] @@ -1567,7 +1637,7 @@ dependencies = [ "frame-support", "frame-system", "pallet-collective", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-arithmetic", @@ -1575,7 +1645,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "staging-xcm-executor", ] @@ -1590,11 +1660,11 @@ dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", ] @@ -1609,11 +1679,11 @@ dependencies = [ "impl-trait-for-tuples", "mock-builder", "orml-traits", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-arithmetic", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "strum 0.24.1", ] @@ -1627,15 +1697,15 @@ dependencies = [ "cfg-utils", "frame-support", "hex", - "hex-literal 0.3.4", + "hex-literal", "orml-traits", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-arithmetic", "sp-core", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", ] @@ -1648,12 +1718,12 @@ dependencies = [ "hex", "pallet-aura", "pallet-timestamp", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-arithmetic", "sp-consensus-aura", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -1662,6 +1732,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "chacha" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddf3c081b5fba1e5615640aae998e0fbd10c24cbd897ee39ed754a77601a4862" +dependencies = [ + "byteorder", + "keystream", +] + [[package]] name = "chacha20" version = "0.9.1" @@ -1669,7 +1749,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", - "cipher", + "cipher 0.4.4", "cpufeatures", ] @@ -1681,7 +1761,7 @@ checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", "chacha20", - "cipher", + "cipher 0.4.4", "poly1305", "zeroize", ] @@ -1689,34 +1769,34 @@ dependencies = [ [[package]] name = "chainbridge" version = "0.0.2" -source = "git+https://github.com/centrifuge/chainbridge-substrate.git?branch=polkadot-v1.1.0#da6e4f8255e292d32660902e545f16e1824ac5e2" +source = "git+https://github.com/centrifuge/chainbridge-substrate.git?branch=polkadot-v1.7.2#a04cc8feb89e18a64f910808e983546444c3477c" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "pallet-balances", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", - "substrate-wasm-builder", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "substrate-wasm-builder-runner", ] [[package]] name = "chrono" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -1727,11 +1807,20 @@ checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" dependencies = [ "core2", "multibase", - "multihash", + "multihash 0.17.0", "serde", "unsigned-varint", ] +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array 0.14.7", +] + [[package]] name = "cipher" version = "0.4.4" @@ -1754,9 +1843,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", @@ -1765,9 +1854,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.4" +version = "4.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +checksum = "a9689a29b593160de5bc4aacab7b5d54fb52231de70122626c178e6a368994c7" dependencies = [ "clap_builder", "clap_derive", @@ -1775,33 +1864,34 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.2" +version = "4.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +checksum = "2e5387378c84f6faa26890ebf9f0a92989f8873d4d380467bcd0d8d8620424df" dependencies = [ "anstream", "anstyle", "clap_lex", "strsim", + "terminal_size", ] [[package]] name = "clap_derive" -version = "4.5.4" +version = "4.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "clap_lex" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" [[package]] name = "coarsetime" @@ -1826,25 +1916,25 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "comfy-table" -version = "7.1.0" +version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686" +checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" dependencies = [ - "strum 0.25.0", - "strum_macros 0.25.3", + "strum 0.26.2", + "strum_macros 0.26.4", "unicode-width", ] [[package]] name = "common" version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof?rev=0e948f3#0e948f3c28cbacecdd3020403c4841c0eb339213" +source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" dependencies = [ "ark-ec", "ark-ff", @@ -1852,7 +1942,9 @@ dependencies = [ "ark-serialize", "ark-std", "fflonk", - "merlin 3.0.0", + "getrandom_or_panic", + "merlin", + "rand_chacha 0.3.1", ] [[package]] @@ -1863,9 +1955,9 @@ checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -1904,7 +1996,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.12", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -1921,6 +2013,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +[[package]] +name = "constcat" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" + [[package]] name = "convert_case" version = "0.4.0" @@ -2086,9 +2184,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -2123,9 +2221,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -2141,7 +2239,7 @@ checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", "rand_core 0.6.4", - "subtle", + "subtle 2.5.0", "zeroize", ] @@ -2156,6 +2254,16 @@ dependencies = [ "typenum", ] +[[package]] +name = "crypto-mac" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" +dependencies = [ + "generic-array 0.12.4", + "subtle 1.0.0", +] + [[package]] name = "crypto-mac" version = "0.8.0" @@ -2163,17 +2271,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ "generic-array 0.14.7", - "subtle", + "subtle 2.5.0", ] [[package]] name = "crypto-mac" -version = "0.11.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e" dependencies = [ "generic-array 0.14.7", - "subtle", + "subtle 2.5.0", ] [[package]] @@ -2182,20 +2290,21 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher", + "cipher 0.4.4", ] [[package]] name = "cumulus-client-cli" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "clap", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-chain-spec", "sc-cli", "sc-client-api", "sc-service", + "sp-blockchain", "sp-core", "sp-runtime", "url", @@ -2203,15 +2312,15 @@ dependencies = [ [[package]] name = "cumulus-client-collator" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", "cumulus-primitives-core", "futures", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", @@ -2226,19 +2335,19 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "cumulus-client-collator", "cumulus-client-consensus-common", "cumulus-client-consensus-proposer", + "cumulus-client-parachain-inherent", "cumulus-primitives-aura", "cumulus-primitives-core", - "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", "futures", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", @@ -2268,8 +2377,8 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2278,7 +2387,7 @@ dependencies = [ "dyn-clone", "futures", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-primitives", "sc-client-api", "sc-consensus", @@ -2297,8 +2406,8 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "anyhow", "async-trait", @@ -2312,15 +2421,15 @@ dependencies = [ [[package]] name = "cumulus-client-network" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "cumulus-relay-chain-interface", "futures", "futures-timer", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", @@ -2334,21 +2443,45 @@ dependencies = [ ] [[package]] -name = "cumulus-client-pov-recovery" +name = "cumulus-client-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "async-trait", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "cumulus-relay-chain-interface", + "cumulus-test-relay-sproof-builder", + "parity-scale-codec", + "sc-client-api", + "scale-info", + "sp-api", + "sp-crypto-hashing", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-trie", + "tracing", +] + +[[package]] +name = "cumulus-client-pov-recovery" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "cumulus-primitives-core", "cumulus-relay-chain-interface", "futures", "futures-timer", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-client-api", "sc-consensus", "sp-consensus", @@ -2359,8 +2492,8 @@ dependencies = [ [[package]] name = "cumulus-client-service" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2368,6 +2501,7 @@ dependencies = [ "cumulus-client-network", "cumulus-client-pov-recovery", "cumulus-primitives-core", + "cumulus-primitives-proof-size-hostfunction", "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", "cumulus-relay-chain-minimal-node", @@ -2394,63 +2528,68 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", "frame-system", "pallet-aura", "pallet-timestamp", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-application-crypto", "sp-consensus-aura", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "cumulus-pallet-dmp-queue" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "cumulus-primitives-core", + "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", ] [[package]] name = "cumulus-pallet-parachain-system" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", + "cumulus-primitives-proof-size-hostfunction", "environmental", + "frame-benchmarking", "frame-support", "frame-system", "impl-trait-for-tuples", "log", - "parity-scale-codec 3.6.9", + "pallet-message-queue", + "parity-scale-codec", "polkadot-parachain-primitives", + "polkadot-runtime-parachains", "scale-info", "sp-core", - "sp-externalities", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-inherents", "sp-io", "sp-runtime", "sp-state-machine", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-trie", "sp-version", "staging-xcm", @@ -2459,146 +2598,155 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.6.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "cumulus-pallet-session-benchmarking" -version = "3.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "9.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "pallet-session", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "cumulus-pallet-xcm" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", ] [[package]] name = "cumulus-pallet-xcmp-queue" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "bounded-collections", + "bp-xcm-bridge-hub-router", "cumulus-primitives-core", "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "pallet-message-queue", + "parity-scale-codec", "polkadot-runtime-common", - "rand_chacha 0.3.1", + "polkadot-runtime-parachains", "scale-info", + "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "staging-xcm-executor", ] [[package]] name = "cumulus-primitives-aura" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-core-primitives", "polkadot-primitives", "sp-api", "sp-consensus-aura", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "cumulus-primitives-core" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-core-primitives", "polkadot-parachain-primitives", "polkadot-primitives", "scale-info", "sp-api", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-trie", "staging-xcm", ] [[package]] name = "cumulus-primitives-parachain-inherent" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "cumulus-primitives-core", - "cumulus-relay-chain-interface", - "cumulus-test-relay-sproof-builder", - "parity-scale-codec 3.6.9", - "sc-client-api", + "parity-scale-codec", "scale-info", - "sp-api", "sp-core", "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-storage", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-trie", +] + +[[package]] +name = "cumulus-primitives-proof-size-hostfunction" +version = "0.2.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-trie", - "tracing", ] [[package]] name = "cumulus-primitives-timestamp" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "cumulus-primitives-core", "futures", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-inherents", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-timestamp", ] [[package]] name = "cumulus-primitives-utility" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "cumulus-primitives-core", "frame-support", "log", - "parity-scale-codec 3.6.9", + "pallet-asset-conversion", + "pallet-xcm-benchmarks", + "parity-scale-codec", "polkadot-runtime-common", + "polkadot-runtime-parachains", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2606,8 +2754,8 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2630,14 +2778,14 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "cumulus-primitives-core", "futures", "jsonrpsee-core", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-overseer", "sc-client-api", "sp-api", @@ -2648,43 +2796,49 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "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", "sc-authority-discovery", + "sc-client-api", "sc-network", "sc-network-common", "sc-service", "sc-tracing", "sc-utils", - "schnellru", "sp-api", + "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-runtime", + "substrate-prometheus-endpoint", + "tokio", "tracing", ] [[package]] name = "cumulus-relay-chain-rpc-interface" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2693,10 +2847,10 @@ dependencies = [ "futures", "futures-timer", "jsonrpsee", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "pin-project", "polkadot-overseer", - "rand 0.8.5", + "rand", "sc-client-api", "sc-rpc-api", "sc-service", @@ -2711,7 +2865,8 @@ dependencies = [ "sp-core", "sp-runtime", "sp-state-machine", - "sp-storage", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-version", "thiserror", "tokio", "tokio-util", @@ -2721,31 +2876,18 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "cumulus-primitives-core", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-primitives", "sp-runtime", "sp-state-machine", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-trie", ] -[[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", - "zeroize", -] - [[package]] name = "curve25519-dalek" version = "3.2.0" @@ -2755,7 +2897,7 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "subtle", + "subtle 2.5.0", "zeroize", ] @@ -2772,7 +2914,7 @@ dependencies = [ "fiat-crypto", "platforms", "rustc_version", - "subtle", + "subtle 2.5.0", "zeroize", ] @@ -2784,7 +2926,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -2802,9 +2944,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.120" +version = "1.0.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dc7287237dd438b926a81a1a5605dad33d286870e5eee2db17bf2bcd9e92a" +checksum = "8194f089b6da4751d6c1da1ef37c17255df51f9346cdb160f8b096562ae4a85c" dependencies = [ "cc", "cxxbridge-flags", @@ -2814,9 +2956,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.120" +version = "1.0.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f47c6c8ad7c1a10d3ef0fe3ff6733f4db0d78f08ef0b13121543163ef327058b" +checksum = "1e8df9a089caae66634d754672d5f909395f30f38af6ff19366980d8a8b57501" dependencies = [ "cc", "codespan-reporting", @@ -2824,37 +2966,37 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "cxxbridge-flags" -version = "1.0.120" +version = "1.0.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "701a1ac7a697e249cdd8dc026d7a7dafbfd0dbcd8bd24ec55889f2bc13dd6287" +checksum = "25290be4751803672a70b98c68b51c1e7d0a640ab5a4377f240f9d2e70054cd1" [[package]] name = "cxxbridge-macro" -version = "1.0.120" +version = "1.0.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b404f596046b0bb2d903a9c786b875a126261b52b7c3a64bbb66382c41c771df" +checksum = "b8cb317cb13604b4752416783bb25070381c36e844743e4146b7f8e55de7d140" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "data-encoding-macro" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c01c06f5f429efdf2bae21eb67c28b3df3cf85b7dd2d8ef09c0838dac5d33e" +checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -2862,9 +3004,9 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0047d07f2c89b17dd631c80450d69841a6b5d7fb17278cbc43d7e4cfcf2576f3" +checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" dependencies = [ "data-encoding", "syn 1.0.109", @@ -2933,7 +3075,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -2976,9 +3118,8 @@ dependencies = [ "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", - "getrandom 0.2.12", "hex", - "hex-literal 0.3.4", + "hex-literal", "liquidity-pools-gateway-routers", "log", "orml-asset-registry", @@ -3014,6 +3155,7 @@ dependencies = [ "pallet-liquidity-rewards", "pallet-loans", "pallet-membership", + "pallet-message-queue", "pallet-multisig", "pallet-oracle-collection", "pallet-oracle-feed", @@ -3043,8 +3185,7 @@ dependencies = [ "pallet-vesting", "pallet-xcm", "pallet-xcm-transactor", - "parachain-info", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-runtime-common", "runtime-common", @@ -3054,15 +3195,17 @@ dependencies = [ "sp-block-builder", "sp-consensus-aura", "sp-core", + "sp-genesis-builder", "sp-inherents", "sp-io", "sp-offchain", "sp-runtime", "sp-session", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-transaction-pool", "sp-version", + "staging-parachain-info", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -3104,14 +3247,14 @@ dependencies = [ "block-buffer 0.10.4", "const-oid", "crypto-common", - "subtle", + "subtle 2.5.0", ] [[package]] name = "directories" -version = "4.0.1" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" +checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" dependencies = [ "dirs-sys", ] @@ -3128,13 +3271,14 @@ dependencies = [ [[package]] name = "dirs-sys" -version = "0.3.7" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ "libc", + "option-ext", "redox_users", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -3156,23 +3300,22 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "dleq_vrf" version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=3119f51#3119f51b54b69308abfb0671f6176cb125ae1bf1" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" dependencies = [ "ark-ec", "ark-ff", - "ark-scale 0.0.10", + "ark-scale", "ark-secret-scalar", "ark-serialize", "ark-std", "ark-transcript", "arrayvec 0.7.4", - "rand_core 0.6.4", "zeroize", ] @@ -3197,9 +3340,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.57", + "syn 2.0.66", "termcolor", - "toml 0.8.2", + "toml 0.8.14", "walkdir", ] @@ -3211,9 +3354,9 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "downcast-rs" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dtoa" @@ -3283,7 +3426,7 @@ dependencies = [ "rand_core 0.6.4", "serde", "sha2 0.10.8", - "subtle", + "subtle 2.5.0", "zeroize", ] @@ -3309,7 +3452,7 @@ checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ "curve25519-dalek 4.1.2", "ed25519", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "rand_core 0.6.4", "sha2 0.10.8", @@ -3318,9 +3461,9 @@ dependencies = [ [[package]] name = "either" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "elliptic-curve" @@ -3337,7 +3480,7 @@ dependencies = [ "pkcs8", "rand_core 0.6.4", "sec1", - "subtle", + "subtle 2.5.0", "zeroize", ] @@ -3376,7 +3519,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -3387,20 +3530,7 @@ checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", -] - -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", + "syn 2.0.66", ] [[package]] @@ -3430,9 +3560,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -3440,28 +3570,18 @@ dependencies = [ [[package]] name = "ethabi" -version = "16.0.0" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c98847055d934070b90e806e12d3936b787d0a115068981c1d8dfd5dfef5a5" +checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" dependencies = [ - "ethereum-types 0.12.1", + "ethereum-types", "hex", - "sha3 0.9.1", + "serde", + "sha3", "thiserror", "uint", ] -[[package]] -name = "ethbloom" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb684ac8fa8f6c5759f788862bb22ec6fe3cb392f6bfd08e3c64b603661e3f8" -dependencies = [ - "crunchy", - "fixed-hash 0.7.0", - "tiny-keccak", -] - [[package]] name = "ethbloom" version = "0.13.0" @@ -3469,8 +3589,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" dependencies = [ "crunchy", - "fixed-hash 0.8.0", - "impl-codec 0.6.0", + "fixed-hash", + "impl-codec", "impl-rlp", "impl-serde", "scale-info", @@ -3479,32 +3599,20 @@ dependencies = [ [[package]] name = "ethereum" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a89fb87a9e103f71b903b80b670200b54cc67a07578f070681f1fffb7396fb7" +checksum = "2e04d24d20b8ff2235cffbf242d5092de3aa45f77c5270ddbfadd2778ca13fea" dependencies = [ "bytes", - "ethereum-types 0.14.1", - "hash-db 0.15.2", + "ethereum-types", + "hash-db", "hash256-std-hasher", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "rlp", "scale-info", "serde", - "sha3 0.10.8", - "triehash", -] - -[[package]] -name = "ethereum-types" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05136f7057fe789f06e6d41d07b34e6f70d8c86e5693b60f97aaa6553553bdaf" -dependencies = [ - "ethbloom 0.11.1", - "fixed-hash 0.7.0", - "primitive-types 0.10.1", - "uint", + "sha3", + "trie-root", ] [[package]] @@ -3513,12 +3621,12 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" dependencies = [ - "ethbloom 0.13.0", - "fixed-hash 0.8.0", - "impl-codec 0.6.0", + "ethbloom", + "fixed-hash", + "impl-codec", "impl-rlp", "impl-serde", - "primitive-types 0.12.2", + "primitive-types", "scale-info", "uint", ] @@ -3542,20 +3650,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite 0.2.14", -] - -[[package]] -name = "event-listener" -version = "5.2.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", @@ -3564,28 +3661,18 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener 4.0.3", - "pin-project-lite 0.2.14", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 5.2.0", + "event-listener 5.3.1", "pin-project-lite 0.2.14", ] [[package]] name = "evm" -version = "0.39.1" -source = "git+https://github.com/moonbeam-foundation/evm?rev=a33ac87ad7462b7e7029d12c385492b2a8311d1c#a33ac87ad7462b7e7029d12c385492b2a8311d1c" +version = "0.41.1" +source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#fd602351387b3a3745110e93a66eab9be59fb801" dependencies = [ "auto_impl", "environmental", @@ -3594,46 +3681,46 @@ dependencies = [ "evm-gasometer", "evm-runtime", "log", - "parity-scale-codec 3.6.9", - "primitive-types 0.12.2", + "parity-scale-codec", + "primitive-types", "rlp", "scale-info", "serde", - "sha3 0.10.8", + "sha3", ] [[package]] name = "evm-core" -version = "0.39.0" -source = "git+https://github.com/moonbeam-foundation/evm?rev=a33ac87ad7462b7e7029d12c385492b2a8311d1c#a33ac87ad7462b7e7029d12c385492b2a8311d1c" +version = "0.41.0" +source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#fd602351387b3a3745110e93a66eab9be59fb801" dependencies = [ - "parity-scale-codec 3.6.9", - "primitive-types 0.12.2", + "parity-scale-codec", + "primitive-types", "scale-info", "serde", ] [[package]] name = "evm-gasometer" -version = "0.39.0" -source = "git+https://github.com/moonbeam-foundation/evm?rev=a33ac87ad7462b7e7029d12c385492b2a8311d1c#a33ac87ad7462b7e7029d12c385492b2a8311d1c" +version = "0.41.0" +source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#fd602351387b3a3745110e93a66eab9be59fb801" dependencies = [ "environmental", "evm-core", "evm-runtime", - "primitive-types 0.12.2", + "primitive-types", ] [[package]] name = "evm-runtime" -version = "0.39.0" -source = "git+https://github.com/moonbeam-foundation/evm?rev=a33ac87ad7462b7e7029d12c385492b2a8311d1c#a33ac87ad7462b7e7029d12c385492b2a8311d1c" +version = "0.41.0" +source = "git+https://github.com/moonbeam-foundation/evm?branch=moonbeam-polkadot-v1.7.2#fd602351387b3a3745110e93a66eab9be59fb801" dependencies = [ "auto_impl", "environmental", "evm-core", - "primitive-types 0.12.2", - "sha3 0.10.8", + "primitive-types", + "sha3", ] [[package]] @@ -3657,37 +3744,19 @@ dependencies = [ "quote", ] -[[package]] -name = "expander" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3774182a5df13c3d1690311ad32fbe913feef26baba609fa2dd5f72042bd2ab6" -dependencies = [ - "blake2", - "fs-err", - "proc-macro2", - "quote", -] - [[package]] name = "expander" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f86a749cf851891866c10515ef6c299b5c69661465e9c3bbe7e07a2b77fb0f7" dependencies = [ - "blake2", + "blake2 0.10.6", "fs-err", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - [[package]] name = "fallible-iterator" version = "0.2.0" @@ -3711,9 +3780,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fatality" @@ -3740,10 +3809,22 @@ dependencies = [ "thiserror", ] +[[package]] +name = "fc-api" +version = "1.0.0-dev" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" +dependencies = [ + "async-trait", + "fp-storage", + "parity-scale-codec", + "sp-core", + "sp-runtime", +] + [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "async-trait", "fp-consensus", @@ -3759,15 +3840,16 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "async-trait", + "fc-api", "fp-storage", "kvdb-rocksdb", "log", "parity-db", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sc-client-db", "smallvec", "sp-blockchain", @@ -3779,7 +3861,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "fc-db", "fc-storage", @@ -3788,7 +3870,7 @@ dependencies = [ "futures", "futures-timer", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-utils", "sp-api", @@ -3800,16 +3882,15 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "ethereum", - "ethereum-types 0.14.1", + "ethereum-types", "evm", - "fc-db", + "fc-api", "fc-mapping-sync", "fc-rpc-core", "fc-storage", - "fp-ethereum", "fp-evm", "fp-rpc", "fp-storage", @@ -3819,9 +3900,9 @@ dependencies = [ "libsecp256k1", "log", "pallet-evm", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "prometheus", - "rand 0.8.5", + "rand", "rlp", "sc-client-api", "sc-consensus-aura", @@ -3841,11 +3922,12 @@ dependencies = [ "sp-consensus", "sp-consensus-aura", "sp-core", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-inherents", "sp-io", "sp-runtime", "sp-state-machine", - "sp-storage", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-timestamp", "substrate-prometheus-endpoint", "thiserror", @@ -3855,41 +3937,44 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "ethereum", - "ethereum-types 0.14.1", + "ethereum-types", "jsonrpsee", + "rlp", "rustc-hex", "serde", "serde_json", + "sp-core-hashing", ] [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "ethereum", - "ethereum-types 0.14.1", + "ethereum-types", "fp-rpc", "fp-storage", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-client-api", "sp-api", "sp-blockchain", "sp-io", "sp-runtime", - "sp-storage", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "fdlimit" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b" +checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", + "thiserror", ] [[package]] @@ -3899,7 +3984,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ "rand_core 0.6.4", - "subtle", + "subtle 2.5.0", ] [[package]] @@ -3912,14 +3997,14 @@ dependencies = [ "ark-poly", "ark-serialize", "ark-std", - "merlin 3.0.0", + "merlin", ] [[package]] name = "fiat-crypto" -version = "0.2.7" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "file-per-thread-logger" @@ -3927,7 +4012,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" dependencies = [ - "env_logger 0.10.2", + "env_logger", "log", ] @@ -3954,23 +4039,11 @@ dependencies = [ "futures-timer", "log", "num-traits", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "scale-info", ] -[[package]] -name = "fixed-hash" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" -dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", -] - [[package]] name = "fixed-hash" version = "0.8.0" @@ -3978,7 +4051,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand", "rustc-hex", "static_assertions", ] @@ -3991,9 +4064,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", "libz-sys", @@ -4017,10 +4090,10 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" -version = "3.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", ] [[package]] @@ -4035,38 +4108,38 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "hex", "impl-serde", "libsecp256k1", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-runtime-interface", - "sp-std", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "ethereum", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-core", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "fp-dynamic-fee" version = "1.0.0" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "async-trait", "sp-core", @@ -4076,56 +4149,56 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "ethereum", - "ethereum-types 0.14.1", + "ethereum-types", "fp-evm", "frame-support", - "num_enum 0.6.1", - "parity-scale-codec 3.6.9", - "sp-std", + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "evm", "frame-support", - "parity-scale-codec 3.6.9", + "num_enum 0.7.2", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "ethereum", - "ethereum-types 0.14.1", + "ethereum-types", "fp-evm", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-api", "sp-core", "sp-runtime", "sp-state-machine", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "frame-support", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-runtime", @@ -4134,9 +4207,9 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "serde", ] @@ -4148,15 +4221,15 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "frame-support-procedural", "frame-system", "linregress", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "paste", "scale-info", "serde", @@ -4165,19 +4238,19 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-runtime-interface", - "sp-std", - "sp-storage", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "static_assertions", ] [[package]] name = "frame-benchmarking-cli" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "32.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "Inflector", - "array-bytes", + "array-bytes 6.2.3", "chrono", "clap", "comfy-table", @@ -4190,8 +4263,8 @@ dependencies = [ "lazy_static", "linked-hash-map", "log", - "parity-scale-codec 3.6.9", - "rand 0.8.5", + "parity-scale-codec", + "rand", "rand_pcg", "sc-block-builder", "sc-cli", @@ -4206,63 +4279,63 @@ dependencies = [ "sp-blockchain", "sp-core", "sp-database", - "sp-externalities", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-inherents", "sp-io", "sp-keystore", "sp-runtime", "sp-state-machine", - "sp-storage", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-trie", - "sp-wasm-interface", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "thiserror", "thousands", ] [[package]] name = "frame-election-provider-solution-type" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "frame-election-provider-support" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-arithmetic", "sp-core", "sp-npos-elections", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "frame-executive" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "frame-system", "frame-try-runtime", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", - "sp-tracing", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -4272,24 +4345,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87cf1549fba25a6fcac22785b61698317d958e96cac72a59102ea45b9ae64692" dependencies = [ "cfg-if", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", ] +[[package]] +name = "frame-metadata-hash-extension" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "array-bytes 6.2.3", + "docify", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-runtime", +] + [[package]] name = "frame-remote-externalities" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "async-recursion", "futures", "indicatif", "jsonrpsee", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "serde", "sp-core", + "sp-crypto-hashing", "sp-io", "sp-runtime", "sp-state-machine", @@ -4301,10 +4389,11 @@ dependencies = [ [[package]] name = "frame-support" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "aquamarine", + "array-bytes 6.2.3", "bitflags 1.3.2", "docify", "environmental", @@ -4314,7 +4403,7 @@ dependencies = [ "k256", "log", "macro_magic", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "paste", "scale-info", "serde", @@ -4323,8 +4412,8 @@ dependencies = [ "sp-api", "sp-arithmetic", "sp-core", - "sp-core-hashing-proc-macro", - "sp-debug-derive", + "sp-crypto-hashing-proc-macro", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-genesis-builder", "sp-inherents", "sp-io", @@ -4332,8 +4421,8 @@ dependencies = [ "sp-runtime", "sp-staking", "sp-state-machine", - "sp-std", - "sp-tracing", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-weights", "static_assertions", "tt-call", @@ -4341,8 +4430,8 @@ dependencies = [ [[package]] name = "frame-support-procedural" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "Inflector", "cfg-expr", @@ -4354,84 +4443,86 @@ dependencies = [ "proc-macro-warning", "proc-macro2", "quote", - "syn 2.0.57", + "sp-crypto-hashing", + "syn 2.0.66", ] [[package]] name = "frame-support-procedural-tools" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "frame-support-procedural-tools-derive" -version = "3.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "frame-system" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "cfg-if", + "docify", "frame-support", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-version", "sp-weights", ] [[package]] name = "frame-system-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "frame-system-rpc-runtime-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-api", ] [[package]] name = "frame-try-runtime" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-api", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -4455,18 +4546,18 @@ dependencies = [ [[package]] name = "fs4" -version = "0.6.6" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47" +checksum = "29f9df8a11882c4e3335eb2d18a0137c505d9ca927470b0cac9c6f0ae07d28f7" dependencies = [ - "rustix 0.38.32", + "rustix 0.38.34", "windows-sys 0.48.0", ] [[package]] name = "fudge" version = "0.0.10" -source = "git+https://github.com/centrifuge/fudge?branch=polkadot-v1.1.0#043a7f77ab336acdf4208a7550b486947fb4c627" +source = "git+https://github.com/centrifuge/fudge?branch=polkadot-v1.7.2#356314d65f43519a6182fea1bf0befc196051b67" dependencies = [ "fudge-companion", "fudge-core", @@ -4479,7 +4570,7 @@ dependencies = [ [[package]] name = "fudge-companion" version = "0.0.7" -source = "git+https://github.com/centrifuge/fudge?branch=polkadot-v1.1.0#043a7f77ab336acdf4208a7550b486947fb4c627" +source = "git+https://github.com/centrifuge/fudge?branch=polkadot-v1.7.2#356314d65f43519a6182fea1bf0befc196051b67" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", @@ -4490,10 +4581,11 @@ dependencies = [ [[package]] name = "fudge-core" version = "0.0.10" -source = "git+https://github.com/centrifuge/fudge?branch=polkadot-v1.1.0#043a7f77ab336acdf4208a7550b486947fb4c627" +source = "git+https://github.com/centrifuge/fudge?branch=polkadot-v1.7.2#356314d65f43519a6182fea1bf0befc196051b67" dependencies = [ "async-trait", - "bitvec 1.0.1", + "bitvec", + "cumulus-client-parachain-inherent", "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", @@ -4505,16 +4597,17 @@ dependencies = [ "lazy_static", "node-primitives", "pallet-babe", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "polkadot-cli", "polkadot-core-primitives", "polkadot-node-primitives", + "polkadot-overseer", "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-parachains", "polkadot-service", - "prioritized-metered-channel", + "prioritized-metered-channel 0.2.0", "sc-basic-authorship", "sc-block-builder", "sc-client-api", @@ -4536,14 +4629,14 @@ dependencies = [ "sp-consensus-grandpa", "sp-core", "sp-database", - "sp-externalities", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-inherents", "sp-io", "sp-keystore", "sp-runtime", "sp-state-machine", - "sp-std", - "sp-storage", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-timestamp", "sp-transaction-pool", "thiserror", @@ -4551,12 +4644,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "funty" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" - [[package]] name = "funty" version = "2.0.0" @@ -4633,7 +4720,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand 2.0.2", + "fastrand 2.1.0", "futures-core", "futures-io", "parking", @@ -4648,7 +4735,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -4750,15 +4837,13 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", - "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", ] [[package]] @@ -4767,6 +4852,7 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ + "rand", "rand_core 0.6.4", ] @@ -4793,9 +4879,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "glob" @@ -4803,19 +4889,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" -[[package]] -name = "globset" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" -dependencies = [ - "aho-corasick", - "bstr", - "log", - "regex-automata 0.4.6", - "regex-syntax 0.8.3", -] - [[package]] name = "group" version = "0.13.0" @@ -4824,14 +4897,14 @@ checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", "rand_core 0.6.4", - "subtle", + "subtle 2.5.0", ] [[package]] name = "h2" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fbd2820c5e49886948654ab546d0688ff24530286bdcf8fca3cefb16d4618eb" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", @@ -4860,12 +4933,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "hash-db" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" - [[package]] name = "hash-db" version = "0.16.0" @@ -4901,15 +4968,24 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash 0.8.11", "allocator-api2", "serde", ] +[[package]] +name = "hashlink" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +dependencies = [ + "hashbrown 0.14.5", +] + [[package]] name = "heck" version = "0.4.1" @@ -4922,15 +4998,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.3.9" @@ -4943,12 +5010,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hex-literal" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" - [[package]] name = "hex-literal" version = "0.4.1" @@ -4980,7 +5041,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" dependencies = [ - "crypto-mac 0.11.1", + "crypto-mac 0.11.0", "digest 0.9.0", ] @@ -5072,9 +5133,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" dependencies = [ "bytes", "futures-channel", @@ -5087,7 +5148,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite 0.2.14", - "socket2 0.5.6", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -5104,11 +5165,10 @@ dependencies = [ "http", "hyper", "log", - "rustls 0.21.10", + "rustls 0.21.12", "rustls-native-certs", "tokio", "tokio-rustls", - "webpki-roots 0.25.4", ] [[package]] @@ -5171,7 +5231,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" dependencies = [ - "async-io 2.3.2", + "async-io 2.3.3", "core-foundation", "fnv", "futures", @@ -5184,22 +5244,13 @@ dependencies = [ "windows", ] -[[package]] -name = "impl-codec" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" -dependencies = [ - "parity-scale-codec 2.3.1", -] - [[package]] name = "impl-codec" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", ] [[package]] @@ -5268,7 +5319,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -5301,9 +5352,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] @@ -5329,7 +5380,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi", "libc", "windows-sys 0.48.0", ] @@ -5346,7 +5397,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.6", + "socket2 0.5.7", "widestring", "windows-sys 0.48.0", "winreg", @@ -5364,7 +5415,7 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi", "libc", "windows-sys 0.52.0", ] @@ -5378,6 +5429,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itertools" version = "0.10.5" @@ -5396,6 +5453,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.11" @@ -5404,9 +5470,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" dependencies = [ "libc", ] @@ -5422,9 +5488,9 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.16.3" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "367a292944c07385839818bb71c8d76611138e2dedb0677d035b8da21d29c78b" +checksum = "affdc52f7596ccb2d7645231fc6163bb314630c989b64998f3699a28b4d5d4dc" dependencies = [ "jsonrpsee-core", "jsonrpsee-http-client", @@ -5432,19 +5498,19 @@ dependencies = [ "jsonrpsee-server", "jsonrpsee-types", "jsonrpsee-ws-client", + "tokio", "tracing", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.16.3" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8b3815d9f5d5de348e5f162b316dc9cdf4548305ebb15b4eb9328e66cf27d7a" +checksum = "b5b005c793122d03217da09af68ba9383363caa950b90d3436106df8cabce935" dependencies = [ "futures-util", "http", "jsonrpsee-core", - "jsonrpsee-types", "pin-project", "rustls-native-certs", "soketto", @@ -5453,28 +5519,25 @@ dependencies = [ "tokio-rustls", "tokio-util", "tracing", - "webpki-roots 0.25.4", + "url", ] [[package]] name = "jsonrpsee-core" -version = "0.16.3" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5dde66c53d6dcdc8caea1874a45632ec0fcf5b437789f1e45766a1512ce803" +checksum = "da2327ba8df2fdbd5e897e2b5ed25ce7f299d345b9736b6828814c3dbd1fd47b" dependencies = [ "anyhow", - "arrayvec 0.7.4", "async-lock 2.8.0", "async-trait", "beef", - "futures-channel", "futures-timer", "futures-util", - "globset", "hyper", "jsonrpsee-types", - "parking_lot 0.12.1", - "rand 0.8.5", + "parking_lot 0.12.3", + "rand", "rustc-hash", "serde", "serde_json", @@ -5486,28 +5549,29 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.16.3" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e5f9fabdd5d79344728521bb65e3106b49ec405a78b66fbff073b72b389fa43" +checksum = "5f80c17f62c7653ce767e3d7288b793dfec920f97067ceb189ebdd3570f2bc20" dependencies = [ "async-trait", "hyper", "hyper-rustls", "jsonrpsee-core", "jsonrpsee-types", - "rustc-hash", "serde", "serde_json", "thiserror", "tokio", + "tower", "tracing", + "url", ] [[package]] name = "jsonrpsee-proc-macros" -version = "0.16.3" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44e8ab85614a08792b9bff6c8feee23be78c98d0182d4c622c05256ab553892a" +checksum = "29110019693a4fa2dbda04876499d098fa16d70eba06b1e6e2b3f1b251419515" dependencies = [ "heck 0.4.1", "proc-macro-crate 1.3.1", @@ -5518,19 +5582,20 @@ dependencies = [ [[package]] name = "jsonrpsee-server" -version = "0.16.3" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4d945a6008c9b03db3354fb3c83ee02d2faa9f2e755ec1dfb69c3551b8f4ba" +checksum = "82c39a00449c9ef3f50b84fc00fc4acba20ef8f559f07902244abf4c15c5ab9c" dependencies = [ - "futures-channel", "futures-util", "http", "hyper", "jsonrpsee-core", "jsonrpsee-types", + "route-recognizer", "serde", "serde_json", "soketto", + "thiserror", "tokio", "tokio-stream", "tokio-util", @@ -5540,9 +5605,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.16.3" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245ba8e5aa633dd1c1e4fae72bce06e71f42d34c14a2767c6b4d173b57bee5e5" +checksum = "5be0be325642e850ed0bdff426674d2e66b2b7117c9be23a7caef68a2902b7d9" dependencies = [ "anyhow", "beef", @@ -5554,14 +5619,15 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.16.3" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e1b3975ed5d73f456478681a417128597acd6a2487855fdb7b4a3d4d195bf5e" +checksum = "bca9cb3933ccae417eb6b08c3448eb1cb46e39834e5b503e395e5e5bd08546c0" dependencies = [ "http", "jsonrpsee-client-transport", "jsonrpsee-core", "jsonrpsee-types", + "url", ] [[package]] @@ -5587,18 +5653,10 @@ dependencies = [ ] [[package]] -name = "kusama-runtime-constants" +name = "keystream" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" -dependencies = [ - "frame-support", - "polkadot-primitives", - "polkadot-runtime-common", - "smallvec", - "sp-core", - "sp-runtime", - "sp-weights", -] +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c33070833c9ee02266356de0c43f723152bd38bd96ddf52c82b3af10c9138b28" [[package]] name = "kvdb" @@ -5616,7 +5674,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" dependencies = [ "kvdb", - "parking_lot 0.12.1", + "parking_lot 0.12.3", ] [[package]] @@ -5627,7 +5685,7 @@ checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" dependencies = [ "kvdb", "num_cpus", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "regex", "rocksdb", "smallvec", @@ -5635,9 +5693,9 @@ dependencies = [ [[package]] name = "landlock" -version = "0.2.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520baa32708c4e957d2fc3a186bc5bd8d26637c33137f399ddfc202adb240068" +checksum = "9baa9eeb6e315942429397e617a190f4fdc696ef1ee0342939d641029cbb4ea7" dependencies = [ "enumflags2", "libc", @@ -5661,9 +5719,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libloading" @@ -5672,7 +5730,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if", - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -5690,7 +5748,7 @@ dependencies = [ "bytes", "futures", "futures-timer", - "getrandom 0.2.12", + "getrandom 0.2.15", "instant", "libp2p-allow-block-list", "libp2p-connection-limits", @@ -5752,13 +5810,13 @@ dependencies = [ "libp2p-identity", "log", "multiaddr", - "multihash", + "multihash 0.17.0", "multistream-select", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", "quick-protobuf", - "rand 0.8.5", + "rand", "rw-stream-sink", "smallvec", "thiserror", @@ -5775,7 +5833,7 @@ dependencies = [ "futures", "libp2p-core", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "smallvec", "trust-dns-resolver", ] @@ -5812,9 +5870,9 @@ dependencies = [ "ed25519-dalek", "log", "multiaddr", - "multihash", + "multihash 0.17.0", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "thiserror", "zeroize", @@ -5839,7 +5897,7 @@ dependencies = [ "libp2p-swarm", "log", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "smallvec", "thiserror", @@ -5861,7 +5919,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "smallvec", "socket2 0.4.10", "tokio", @@ -5897,7 +5955,7 @@ dependencies = [ "log", "once_cell", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "snow", "static_assertions", @@ -5919,7 +5977,7 @@ dependencies = [ "libp2p-core", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "void", ] @@ -5937,9 +5995,9 @@ dependencies = [ "libp2p-identity", "libp2p-tls", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "quinn-proto", - "rand 0.8.5", + "rand", "rustls 0.20.9", "thiserror", "tokio", @@ -5957,7 +6015,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "rand", "smallvec", ] @@ -5976,7 +6034,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm-derive", "log", - "rand 0.8.5", + "rand", "smallvec", "tokio", "void", @@ -6053,12 +6111,12 @@ dependencies = [ "futures-rustls", "libp2p-core", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "quicksink", "rw-stream-sink", "soketto", "url", - "webpki-roots 0.22.6", + "webpki-roots", ] [[package]] @@ -6112,7 +6170,7 @@ dependencies = [ "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand 0.8.5", + "rand", "serde", "sha2 0.9.9", "typenum", @@ -6126,7 +6184,7 @@ checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" dependencies = [ "crunchy", "digest 0.9.0", - "subtle", + "subtle 2.5.0", ] [[package]] @@ -6149,9 +6207,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.16" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" +checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" dependencies = [ "cc", "pkg-config", @@ -6205,9 +6263,21 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "lioness" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "4ae926706ba42c425c9457121178330d75e273df2e82e28b758faf3de3a9acb9" +dependencies = [ + "arrayref", + "blake2 0.8.1", + "chacha", + "keystream", +] [[package]] name = "liquidity-pools-gateway-routers" @@ -6233,12 +6303,12 @@ dependencies = [ "pallet-liquidity-pools-gateway", "pallet-timestamp", "pallet-xcm-transactor", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -6247,9 +6317,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -6316,50 +6386,50 @@ dependencies = [ [[package]] name = "macro_magic" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aee866bfee30d2d7e83835a4574aad5b45adba4cc807f2a3bbba974e5d4383c9" +checksum = "e03844fc635e92f3a0067e25fa4bf3e3dbf3f2927bf3aa01bb7bc8f1c428949d" dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "macro_magic_core" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e766a20fd9c72bab3e1e64ed63f36bd08410e75803813df210d1ce297d7ad00" +checksum = "468155613a44cfd825f1fb0ffa532b018253920d404e6fca1e8d43155198a46d" dependencies = [ "const-random", "derive-syn-parse 0.1.5", "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "macro_magic_core_macros" -version = "0.4.3" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d710e1214dffbab3b5dacb21475dde7d6ed84c69ff722b3a47a782668d44fbac" +checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "macro_magic_macros" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fb85ec1620619edf2984a7693497d4ec88a9665d8b87e942856884c92dbf2a" +checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -6411,7 +6481,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.32", + "rustix 0.38.34", ] [[package]] @@ -6423,6 +6493,15 @@ dependencies = [ "libc", ] +[[package]] +name = "memmap2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +dependencies = [ + "libc", +] + [[package]] name = "memoffset" version = "0.8.0" @@ -6438,19 +6517,7 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" dependencies = [ - "hash-db 0.16.0", -] - -[[package]] -name = "merlin" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" -dependencies = [ - "byteorder", - "keccak", - "rand_core 0.5.1", - "zeroize", + "hash-db", ] [[package]] @@ -6472,7 +6539,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69672161530e8aeca1d1400fbf3f1a1747ff60ea604265a4e906c2442df20532" dependencies = [ "futures", - "rand 0.8.5", + "rand", "thrift", ] @@ -6484,9 +6551,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" dependencies = [ "adler", ] @@ -6502,14 +6569,39 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "mixnet" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daa3eb39495d8e2e2947a1d862852c90cc6a4a8845f8b41c8829cb9fcc047f4a" +dependencies = [ + "arrayref", + "arrayvec 0.7.4", + "bitflags 1.3.2", + "blake2 0.10.6", + "c2-chacha", + "curve25519-dalek 4.1.2", + "either", + "hashlink", + "lioness", + "log", + "parking_lot 0.12.3", + "rand", + "rand_chacha 0.3.1", + "rand_distr", + "subtle 2.5.0", + "thiserror", + "zeroize", +] + [[package]] name = "mmr-gadget" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-client-api", "sc-offchain", "sp-api", @@ -6523,12 +6615,11 @@ dependencies = [ [[package]] name = "mmr-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "anyhow", "jsonrpsee", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "serde", "sp-api", "sp-blockchain", @@ -6540,10 +6631,7 @@ dependencies = [ [[package]] name = "mock-builder" version = "0.2.0" -source = "git+https://github.com/foss3/runtime-pallet-library?branch=polkadot-v1.1.0#042820a379e12687572bebfb1d05406a649804b1" -dependencies = [ - "frame-support", -] +source = "git+https://github.com/foss3/runtime-pallet-library?branch=polkadot-v1.7.2#e27ed4ebffc8800683773aac686938fbbe0a67ef" [[package]] name = "mockall" @@ -6583,7 +6671,7 @@ dependencies = [ "data-encoding", "log", "multibase", - "multihash", + "multihash 0.17.0", "percent-encoding", "serde", "static_assertions", @@ -6613,12 +6701,55 @@ dependencies = [ "blake3", "core2", "digest 0.10.7", - "multihash-derive", + "multihash-derive 0.8.0", + "sha2 0.10.8", + "sha3", + "unsigned-varint", +] + +[[package]] +name = "multihash" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfd8a792c1694c6da4f68db0a9d707c72bd260994da179e6030a5dcee00bb815" +dependencies = [ + "core2", + "digest 0.10.7", + "multihash-derive 0.8.0", "sha2 0.10.8", - "sha3 0.10.8", "unsigned-varint", ] +[[package]] +name = "multihash" +version = "0.19.1" +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", + "strobe-rs", +] + [[package]] name = "multihash-derive" version = "0.8.0" @@ -6630,7 +6761,32 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", +] + +[[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" +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.66", + "synstructure 0.13.1", ] [[package]] @@ -6682,11 +6838,11 @@ dependencies = [ [[package]] name = "names" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d66043b25d4a6cccb23619d10c19c25304b355a7dccd4a8e11423dd2382146" +checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" dependencies = [ - "rand 0.8.5", + "rand", ] [[package]] @@ -6750,9 +6906,9 @@ dependencies = [ [[package]] name = "netlink-sys" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411" +checksum = "416060d346fbaf1f23f9512963e3e878f1a78e707cb699ba9215761754244307" dependencies = [ "bytes", "futures", @@ -6772,6 +6928,17 @@ dependencies = [ "libc", ] +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.5.0", + "cfg-if", + "libc", +] + [[package]] name = "no-std-net" version = "0.6.0" @@ -6781,7 +6948,7 @@ checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" [[package]] name = "node-primitives" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "sp-core", "sp-runtime", @@ -6817,9 +6984,9 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" [[package]] name = "num" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ "num-bigint", "num-complex", @@ -6831,20 +6998,19 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] @@ -6876,9 +7042,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -6887,11 +7053,10 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", "num-traits", @@ -6899,11 +7064,12 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -6912,7 +7078,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi", "libc", ] @@ -6927,11 +7093,11 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.6.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" dependencies = [ - "num_enum_derive 0.6.1", + "num_enum_derive 0.7.2", ] [[package]] @@ -6947,14 +7113,14 @@ dependencies = [ [[package]] name = "num_enum_derive" -version = "0.6.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -6977,9 +7143,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" dependencies = [ "memchr", ] @@ -7017,11 +7183,17 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + [[package]] name = "orchestra" -version = "0.0.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "227585216d05ba65c7ab0a0450a3cf2cbd81a98862a54c4df8e14d5ac6adb015" +checksum = "92829eef0328a3d1cd22a02c0e51deb92a5362df3e7d21a4e9bdc38934694e66" dependencies = [ "async-trait", "dyn-clonable", @@ -7029,21 +7201,22 @@ dependencies = [ "futures-timer", "orchestra-proc-macro", "pin-project", - "prioritized-metered-channel", + "prioritized-metered-channel 0.6.1", "thiserror", "tracing", ] [[package]] name = "orchestra-proc-macro" -version = "0.0.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2871aadd82a2c216ee68a69837a526dfe788ecbe74c4c5038a6acdbff6653066" +checksum = "1344346d5af32c95bbddea91b18a88cc83eac394192d20ef2fc4c40a74332355" dependencies = [ - "expander 0.0.6", - "itertools 0.10.5", + "expander 2.0.0", + "indexmap 2.2.6", + "itertools 0.11.0", "petgraph", - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -7060,20 +7233,21 @@ dependencies = [ [[package]] name = "orml-asset-registry" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v1.1.0#b3694e631df7f1ca16b1973122937753fcdee9d4" +version = "0.7.0" +source = "git+https://github.com/moonbeam-foundation/open-runtime-module-library?branch=moonbeam-polkadot-v1.7.2#f90f4de88986571e24ea3c027b9c09a4b732ee1f" dependencies = [ "frame-support", "frame-system", "log", "orml-traits", "pallet-xcm", - "parity-scale-codec 3.6.9", + "parity-scale-codec", + "polkadot-runtime-common", "scale-info", "serde", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -7081,102 +7255,101 @@ dependencies = [ [[package]] name = "orml-tokens" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v1.1.0#b3694e631df7f1ca16b1973122937753fcdee9d4" +version = "0.7.0" +source = "git+https://github.com/moonbeam-foundation/open-runtime-module-library?branch=moonbeam-polkadot-v1.7.2#f90f4de88986571e24ea3c027b9c09a4b732ee1f" dependencies = [ "frame-support", "frame-system", "log", "orml-traits", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-arithmetic", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "orml-traits" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v1.1.0#b3694e631df7f1ca16b1973122937753fcdee9d4" +version = "0.7.0" +source = "git+https://github.com/moonbeam-foundation/open-runtime-module-library?branch=moonbeam-polkadot-v1.7.2#f90f4de88986571e24ea3c027b9c09a4b732ee1f" dependencies = [ "frame-support", "impl-trait-for-tuples", "num-traits", "orml-utilities", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "paste", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", ] [[package]] name = "orml-utilities" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v1.1.0#b3694e631df7f1ca16b1973122937753fcdee9d4" +version = "0.7.0" +source = "git+https://github.com/moonbeam-foundation/open-runtime-module-library?branch=moonbeam-polkadot-v1.7.2#f90f4de88986571e24ea3c027b9c09a4b732ee1f" dependencies = [ "frame-support", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "orml-xcm" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v1.1.0#b3694e631df7f1ca16b1973122937753fcdee9d4" +version = "0.7.0" +source = "git+https://github.com/moonbeam-foundation/open-runtime-module-library?branch=moonbeam-polkadot-v1.7.2#f90f4de88986571e24ea3c027b9c09a4b732ee1f" dependencies = [ "frame-support", "frame-system", "pallet-xcm", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", ] [[package]] name = "orml-xcm-support" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v1.1.0#b3694e631df7f1ca16b1973122937753fcdee9d4" +version = "0.7.0" +source = "git+https://github.com/moonbeam-foundation/open-runtime-module-library?branch=moonbeam-polkadot-v1.7.2#f90f4de88986571e24ea3c027b9c09a4b732ee1f" dependencies = [ "frame-support", "orml-traits", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "staging-xcm-executor", ] [[package]] name = "orml-xtokens" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v1.1.0#b3694e631df7f1ca16b1973122937753fcdee9d4" +version = "0.7.0" +source = "git+https://github.com/moonbeam-foundation/open-runtime-module-library?branch=moonbeam-polkadot-v1.7.2#f90f4de88986571e24ea3c027b9c09a4b732ee1f" dependencies = [ - "cumulus-primitives-core", "frame-support", "frame-system", "log", "orml-traits", "orml-xcm-support", "pallet-xcm", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "staging-xcm-executor", ] @@ -7195,7 +7368,7 @@ dependencies = [ "pallet-authorship", "pallet-balances", "pallet-timestamp", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-arithmetic", @@ -7203,60 +7376,93 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] -name = "pallet-aura" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +name = "pallet-asset-conversion" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", +] + +[[package]] +name = "pallet-asset-rate" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-runtime", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", +] + +[[package]] +name = "pallet-aura" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "frame-system", "log", "pallet-timestamp", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-application-crypto", "sp-consensus-aura", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-authority-discovery" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "frame-system", "pallet-session", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-application-crypto", "sp-authority-discovery", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-babe" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", @@ -7265,7 +7471,7 @@ dependencies = [ "pallet-authorship", "pallet-session", "pallet-timestamp", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-application-crypto", "sp-consensus-babe", @@ -7274,13 +7480,13 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-bags-list" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "aquamarine", "docify", @@ -7290,39 +7496,40 @@ dependencies = [ "frame-system", "log", "pallet-balances", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", - "sp-tracing", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-balances" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "docify", "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "fp-evm", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-runtime", @@ -7330,30 +7537,30 @@ dependencies = [ [[package]] name = "pallet-beefy" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "frame-system", "log", "pallet-authorship", "pallet-session", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-consensus-beefy", "sp-runtime", "sp-session", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-beefy-mmr" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "binary-merkle-tree", "frame-support", "frame-system", @@ -7361,7 +7568,7 @@ dependencies = [ "pallet-beefy", "pallet-mmr", "pallet-session", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-api", @@ -7370,7 +7577,7 @@ dependencies = [ "sp-io", "sp-runtime", "sp-state-machine", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -7393,31 +7600,31 @@ dependencies = [ "pallet-restricted-tokens", "pallet-rewards", "pallet-session", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-bounties" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", "pallet-treasury", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -7434,18 +7641,35 @@ dependencies = [ "pallet-balances", "pallet-fees", "pallet-timestamp", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", +] + +[[package]] +name = "pallet-broker" +version = "0.6.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "bitvec", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-arithmetic", + "sp-core", + "sp-runtime", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-child-bounties" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", @@ -7453,12 +7677,12 @@ dependencies = [ "log", "pallet-bounties", "pallet-treasury", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -7469,89 +7693,90 @@ dependencies = [ "frame-support", "frame-system", "pallet-balances", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-collator-selection" -version = "3.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "9.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", "pallet-authorship", + "pallet-balances", "pallet-session", - "parity-scale-codec 3.6.9", - "rand 0.8.5", + "parity-scale-codec", + "rand", "scale-info", "sp-runtime", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-collective" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-conviction-voting" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "assert_matches", "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-democracy" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-election-provider-multi-phase" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7559,59 +7784,59 @@ dependencies = [ "frame-system", "log", "pallet-election-provider-support-benchmarking", - "parity-scale-codec 3.6.9", - "rand 0.8.5", + "parity-scale-codec", + "rand", "scale-info", "sp-arithmetic", "sp-core", "sp-io", "sp-npos-elections", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "strum 0.24.1", ] [[package]] name = "pallet-election-provider-support-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-election-provider-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-npos-elections", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-elections-phragmen" -version = "5.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-npos-elections", "sp-runtime", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "environmental", "ethereum", - "ethereum-types 0.14.1", + "ethereum-types", "evm", "fp-consensus", "fp-ethereum", @@ -7621,11 +7846,11 @@ dependencies = [ "frame-support", "frame-system", "pallet-evm", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -7644,18 +7869,18 @@ dependencies = [ "pallet-evm", "pallet-evm-precompile-simple", "pallet-timestamp", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "environmental", "evm", @@ -7664,35 +7889,35 @@ dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "hash-db", "hex", - "hex-literal 0.4.1", + "hex-literal", "impl-trait-for-tuples", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "rlp", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", - "sp-runtime", ] [[package]] name = "pallet-evm-precompile-balances-erc20" version = "0.1.0" -source = "git+https://github.com/moonbeam-foundation/moonbeam?tag=v0.34.1#29e8d79f1a7cdb195bd17b1788e9e613055c3575" +source = "git+https://github.com/moonbeam-foundation/moonbeam?tag=v0.37.3#8081fdffb4d3d294dc5bbbb0ae8f02c348619499" dependencies = [ "fp-evm", "frame-support", @@ -7702,19 +7927,20 @@ dependencies = [ "pallet-balances", "pallet-evm", "pallet-timestamp", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "paste", "precompile-utils", "slices", "sp-core", "sp-io", - "sp-std", + "sp-runtime", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-evm-precompile-blake2" version = "2.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "fp-evm", ] @@ -7722,7 +7948,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "fp-evm", "sp-core", @@ -7732,19 +7958,19 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "fp-evm", "frame-support", "pallet-evm", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-runtime", ] [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "fp-evm", "num", @@ -7753,7 +7979,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "fp-evm", "tiny-keccak", @@ -7762,7 +7988,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/lemunozm/frontier?branch=moonbeam-polkadot-v1.1.0#5b253cc24f95d63d2a9d78f1c4e687727babfc19" +source = "git+https://github.com/moonbeam-foundation/frontier?branch=moonbeam-polkadot-v1.7.2#7f424fb9fc1ca9158a59be54cb183beaff9f799a" dependencies = [ "fp-evm", "ripemd", @@ -7771,8 +7997,8 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "docify", "frame-benchmarking", @@ -7780,12 +8006,12 @@ dependencies = [ "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -7799,12 +8025,12 @@ dependencies = [ "pallet-authorship", "pallet-balances", "pallet-treasury", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -7818,18 +8044,18 @@ dependencies = [ "frame-support", "frame-system", "pallet-swaps", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-grandpa" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", @@ -7837,7 +8063,7 @@ dependencies = [ "log", "pallet-authorship", "pallet-session", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-application-crypto", "sp-consensus-grandpa", @@ -7846,60 +8072,61 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-identity" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "enumflags2", "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "log", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-im-online" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", "pallet-authorship", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-application-crypto", "sp-core", "sp-io", "sp-runtime", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-indices" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-keyring", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -7914,13 +8141,13 @@ dependencies = [ "frame-support", "frame-system", "pallet-timestamp", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -7938,14 +8165,14 @@ dependencies = [ "orml-traits", "pallet-balances", "pallet-restricted-tokens", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -7956,12 +8183,12 @@ dependencies = [ "frame-support", "frame-system", "pallet-balances", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -7984,12 +8211,12 @@ dependencies = [ "pallet-ethereum", "pallet-timestamp", "pallet-uniques", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "xcm-primitives", ] @@ -8007,15 +8234,15 @@ dependencies = [ "frame-support", "frame-system", "hex", - "hex-literal 0.3.4", + "hex-literal", "pallet-balances", - "parity-scale-codec 3.6.9", - "rand 0.8.5", + "parity-scale-codec", + "rand", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -8028,12 +8255,12 @@ dependencies = [ "frame-support", "frame-system", "num-traits", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -8054,125 +8281,126 @@ dependencies = [ "pallet-interest-accrual", "pallet-timestamp", "pallet-uniques", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "strum 0.24.1", ] [[package]] name = "pallet-membership" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-message-queue" -version = "7.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "31.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "environmental", "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-weights", ] [[package]] name = "pallet-mmr" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-mmr-primitives", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-multisig" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-nis" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-arithmetic", "sp-core", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-nomination-pools" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "25.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "frame-system", "log", "pallet-balances", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", "sp-staking", - "sp-std", - "sp-tracing", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-nomination-pools-benchmarking" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8181,46 +8409,46 @@ dependencies = [ "pallet-bags-list", "pallet-nomination-pools", "pallet-staking", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-runtime", - "sp-runtime-interface", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-nomination-pools-runtime-api" -version = "1.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "pallet-nomination-pools", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-api", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-offences" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "frame-system", "log", "pallet-balances", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-runtime", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-offences-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8234,11 +8462,11 @@ dependencies = [ "pallet-offences", "pallet-session", "pallet-staking", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-runtime", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -8250,11 +8478,11 @@ dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -8266,11 +8494,11 @@ dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -8288,15 +8516,14 @@ dependencies = [ "orml-tokens", "orml-traits", "pallet-balances", - "pallet-restricted-tokens", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -8309,11 +8536,11 @@ dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -8332,14 +8559,14 @@ dependencies = [ "orml-traits", "pallet-balances", "pallet-timestamp", - "parity-scale-codec 3.6.9", - "rand 0.8.5", + "parity-scale-codec", + "rand", "scale-info", "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "strum 0.24.1", ] @@ -8364,14 +8591,13 @@ dependencies = [ "pallet-pool-fees", "pallet-pool-system", "pallet-timestamp", - "parachain-info", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", ] @@ -8396,9 +8622,8 @@ dependencies = [ "pallet-pool-fees", "pallet-restricted-tokens", "pallet-timestamp", - "parachain-info", - "parity-scale-codec 3.6.9", - "rand 0.8.5", + "parity-scale-codec", + "rand", "rev_slice", "scale-info", "serde", @@ -8406,107 +8631,107 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std", - "staging-xcm", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "strum 0.24.1", ] [[package]] name = "pallet-preimage" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-proxy" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-ranked-collective" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "impl-trait-for-tuples", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-recovery" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-referenda" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "assert_matches", "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-remarks" version = "0.0.1" -source = "git+https://github.com/foss3/runtime-pallet-library?branch=polkadot-v1.1.0#042820a379e12687572bebfb1d05406a649804b1" +source = "git+https://github.com/foss3/runtime-pallet-library?branch=polkadot-v1.7.2#e27ed4ebffc8800683773aac686938fbbe0a67ef" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -8523,12 +8748,12 @@ dependencies = [ "orml-traits", "pallet-balances", "pallet-permissions", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -8540,9 +8765,9 @@ dependencies = [ "frame-system", "orml-traits", "orml-xtokens", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", ] @@ -8559,44 +8784,59 @@ dependencies = [ "num-traits", "orml-tokens", "orml-traits", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", +] + +[[package]] +name = "pallet-root-testing" +version = "4.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-scheduler" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "docify", "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-weights", ] [[package]] name = "pallet-session" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "log", "pallet-timestamp", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", @@ -8604,49 +8844,49 @@ dependencies = [ "sp-session", "sp-staking", "sp-state-machine", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-trie", ] [[package]] name = "pallet-session-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "pallet-session", "pallet-staking", - "parity-scale-codec 3.6.9", - "rand 0.8.5", + "parity-scale-codec", + "rand", "sp-runtime", "sp-session", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-society" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "rand_chacha 0.2.2", "scale-info", "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-staking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8655,7 +8895,7 @@ dependencies = [ "log", "pallet-authorship", "pallet-session", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "rand_chacha 0.2.2", "scale-info", "serde", @@ -8663,24 +8903,24 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-staking-reward-curve" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "pallet-staking-reward-fn" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "log", "sp-arithmetic", @@ -8688,43 +8928,45 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-api", + "sp-staking", ] [[package]] name = "pallet-state-trie-migration" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-sudo" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "docify", "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -8735,49 +8977,50 @@ dependencies = [ "cfg-traits", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "docify", "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-inherents", "sp-io", "sp-runtime", - "sp-std", - "sp-storage", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-timestamp", ] [[package]] name = "pallet-tips" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", "pallet-treasury", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -8795,40 +9038,40 @@ dependencies = [ "orml-tokens", "orml-traits", "pallet-restricted-tokens", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-transaction-payment" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-transaction-payment-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "30.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-api", "sp-blockchain", "sp-core", @@ -8839,11 +9082,11 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "pallet-transaction-payment", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-api", "sp-runtime", "sp-weights", @@ -8859,128 +9102,132 @@ dependencies = [ "frame-support", "frame-system", "pallet-balances", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-treasury" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "docify", "frame-benchmarking", "frame-support", "frame-system", "impl-trait-for-tuples", "pallet-balances", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", + "sp-core", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-uniques" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-utility" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-vesting" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-whitelist" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-api", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "pallet-xcm" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "bounded-collections", "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "pallet-balances", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", + "staging-xcm-builder", "staging-xcm-executor", ] [[package]] name = "pallet-xcm-benchmarks" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -8989,7 +9236,7 @@ dependencies = [ [[package]] name = "pallet-xcm-transactor" version = "0.2.0" -source = "git+https://github.com/moonbeam-foundation/moonbeam?tag=v0.34.1#29e8d79f1a7cdb195bd17b1788e9e613055c3575" +source = "git+https://github.com/moonbeam-foundation/moonbeam?tag=v0.37.3#8081fdffb4d3d294dc5bbbb0ae8f02c348619499" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -8997,48 +9244,34 @@ dependencies = [ "frame-system", "log", "orml-traits", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", "xcm-primitives", ] -[[package]] -name = "parachain-info" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", - "parity-scale-codec 3.6.9", - "scale-info", - "sp-runtime", - "sp-std", -] - [[package]] name = "parity-db" version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "592a28a24b09c9dc20ac8afaa6839abc417c720afe42c12e1e4a9d6aa2508d2e" dependencies = [ - "blake2", + "blake2 0.10.6", "crc32fast", "fs2", "hex", "libc", "log", "lz4", - "memmap2", - "parking_lot 0.12.1", - "rand 0.8.5", + "memmap2 0.5.10", + "parking_lot 0.12.3", + "rand", "siphasher", "snap", "winapi", @@ -9046,52 +9279,26 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" -dependencies = [ - "arrayvec 0.7.4", - "bitvec 0.20.4", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive 2.3.1", - "serde", -] - -[[package]] -name = "parity-scale-codec" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ "arrayvec 0.7.4", - "bitvec 1.0.1", + "bitvec", "byte-slice-cast", "bytes", "impl-trait-for-tuples", - "parity-scale-codec-derive 3.6.9", + "parity-scale-codec-derive", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate 2.0.2", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -9128,12 +9335,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] @@ -9152,15 +9359,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall 0.5.1", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -9171,9 +9378,9 @@ checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pbkdf2" @@ -9181,16 +9388,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" dependencies = [ - "crypto-mac 0.11.1", -] - -[[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest 0.10.7", + "crypto-mac 0.11.0", ] [[package]] @@ -9225,9 +9423,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "311fb059dee1a7b802f036316d790138c613a4e8b180c822e3925a662e9f0c95" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ "memchr", "thiserror", @@ -9236,9 +9434,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73541b156d32197eecda1a4014d7f868fd2bcb3c550d5386087cfba442bf69c" +checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" dependencies = [ "pest", "pest_generator", @@ -9246,22 +9444,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c35eeed0a3fab112f75165fdc026b3913f4183133f19b49be773ac9ea966e8bd" +checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "pest_meta" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2adbf29bb9776f28caece835398781ab24435585fe0d4dc1374a61db5accedca" +checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" dependencies = [ "once_cell", "pest", @@ -9270,9 +9468,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", "indexmap 2.2.6", @@ -9295,7 +9493,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -9318,12 +9516,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" dependencies = [ "atomic-waker", - "fastrand 2.0.2", + "fastrand 2.1.0", "futures-io", ] @@ -9351,11 +9549,13 @@ checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" [[package]] name = "polkadot-approval-distribution" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "bitvec", "futures", "futures-timer", + "itertools 0.10.5", "polkadot-node-jaeger", "polkadot-node-metrics", "polkadot-node-network-protocol", @@ -9363,14 +9563,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 = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "always-assert", "futures", @@ -9379,26 +9579,26 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "tracing-gum", ] [[package]] name = "polkadot-availability-distribution" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "derive_more", "fatality", "futures", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "schnellru", "sp-core", "sp-keystore", @@ -9408,36 +9608,39 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "async-trait", "fatality", "futures", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-network", "schnellru", "thiserror", + "tokio", "tracing-gum", ] [[package]] name = "polkadot-cli" -version = "1.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "cfg-if", "clap", "frame-benchmarking-cli", "futures", "log", "polkadot-node-metrics", - "polkadot-performance-test", + "polkadot-node-primitives", "polkadot-service", "sc-cli", "sc-executor", @@ -9456,10 +9659,10 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "bitvec 1.0.1", + "bitvec", "fatality", "futures", "futures-timer", @@ -9478,27 +9681,27 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "polkadot-dispute-distribution" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "derive_more", "fatality", "futures", "futures-timer", - "indexmap 1.9.3", - "parity-scale-codec 3.6.9", + "indexmap 2.2.6", + "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -9515,10 +9718,10 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-node-primitives", "polkadot-primitives", "reed-solomon-novelpoly", @@ -9529,8 +9732,8 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "futures-timer", @@ -9538,28 +9741,29 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "sc-network", "sc-network-common", "sp-application-crypto", "sp-core", + "sp-crypto-hashing", "sp-keystore", "tracing-gum", ] [[package]] name = "polkadot-network-bridge" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "always-assert", "async-trait", "bytes", "fatality", "futures", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-subsystem", @@ -9573,11 +9777,11 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -9591,25 +9795,29 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "bitvec 1.0.1", + "bitvec", "derive_more", "futures", "futures-timer", + "itertools 0.10.5", "kvdb", - "merlin 2.0.1", - "parity-scale-codec 3.6.9", + "merlin", + "parity-scale-codec", "polkadot-node-jaeger", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", + "rand", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "sc-keystore", "schnellru", - "schnorrkel 0.9.1", + "schnorrkel 0.11.4", "sp-application-crypto", "sp-consensus", "sp-consensus-slots", @@ -9620,14 +9828,14 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "bitvec 1.0.1", + "bitvec", "futures", "futures-timer", "kvdb", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-jaeger", "polkadot-node-primitives", @@ -9642,10 +9850,10 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "bitvec 1.0.1", + "bitvec", "fatality", "futures", "polkadot-erasure-coding", @@ -9654,6 +9862,7 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-primitives", "polkadot-statement-table", + "schnellru", "sp-keystore", "thiserror", "tracing-gum", @@ -9661,8 +9870,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "polkadot-node-subsystem", @@ -9676,13 +9885,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "futures", "futures-timer", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-node-core-pvf", "polkadot-node-metrics", "polkadot-node-primitives", @@ -9697,28 +9906,27 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "polkadot-node-metrics", "polkadot-node-subsystem", - "polkadot-primitives", + "polkadot-node-subsystem-types", "sc-client-api", "sc-consensus-babe", - "sp-blockchain", "tracing-gum", ] [[package]] name = "polkadot-node-core-chain-selection" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "futures-timer", "kvdb", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", @@ -9729,13 +9937,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "fatality", "futures", "kvdb", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", @@ -9748,8 +9956,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "futures", @@ -9765,13 +9973,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "6.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "bitvec 1.0.1", + "bitvec", "fatality", "futures", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", @@ -9782,10 +9990,10 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "bitvec 1.0.1", + "bitvec", "fatality", "futures", "futures-timer", @@ -9799,36 +10007,41 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "always-assert", + "array-bytes 6.2.3", + "blake3", + "cfg-if", "futures", "futures-timer", + "is_executable", "libc", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "pin-project", "polkadot-core-primitives", "polkadot-node-core-pvf-common", "polkadot-node-metrics", "polkadot-node-primitives", + "polkadot-node-subsystem", "polkadot-parachain-primitives", "polkadot-primitives", - "rand 0.8.5", + "rand", "slotmap", "sp-core", "sp-maybe-compressed-blob", - "sp-wasm-interface", - "substrate-build-script-utils", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "tempfile", + "thiserror", "tokio", "tracing-gum", ] [[package]] name = "polkadot-node-core-pvf-checker" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "polkadot-node-primitives", @@ -9843,54 +10056,35 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "cfg-if", "cpu-time", "futures", "landlock", "libc", - "parity-scale-codec 3.6.9", + "nix 0.27.1", + "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-primitives", "sc-executor", "sc-executor-common", "sc-executor-wasmtime", + "seccompiler", "sp-core", - "sp-externalities", - "sp-io", - "sp-tracing", - "tokio", - "tracing-gum", -] - -[[package]] -name = "polkadot-node-core-pvf-prepare-worker" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" -dependencies = [ - "futures", - "libc", - "parity-scale-codec 3.6.9", - "polkadot-node-core-pvf-common", - "polkadot-parachain-primitives", - "polkadot-primitives", - "rayon", - "sc-executor", - "sc-executor-common", - "sc-executor-wasmtime", + "sp-crypto-hashing", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-io", - "sp-maybe-compressed-blob", - "sp-tracing", - "tikv-jemalloc-ctl", - "tokio", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "thiserror", "tracing-gum", ] [[package]] name = "polkadot-node-core-runtime-api" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "polkadot-node-metrics", @@ -9904,14 +10098,14 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "lazy_static", "log", "mick-jaeger", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "polkadot-node-primitives", "polkadot-primitives", "sc-network", @@ -9922,16 +10116,16 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "bs58 0.5.1", "futures", "futures-timer", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-primitives", - "prioritized-metered-channel", + "prioritized-metered-channel 0.6.1", "sc-cli", "sc-service", "sc-tracing", @@ -9941,21 +10135,21 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-channel 1.9.0", "async-trait", - "bitvec 1.0.1", + "bitvec", "derive_more", "fatality", "futures", "hex", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-node-jaeger", "polkadot-node-primitives", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-authority-discovery", "sc-network", "strum 0.24.1", @@ -9965,15 +10159,16 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "bitvec", "bounded-vec", "futures", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-primitives", - "schnorrkel 0.9.1", + "schnorrkel 0.11.4", "serde", "sp-application-crypto", "sp-consensus-babe", @@ -9987,8 +10182,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -9997,10 +10192,11 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", + "bitvec", "derive_more", "futures", "orchestra", @@ -10009,20 +10205,23 @@ dependencies = [ "polkadot-node-primitives", "polkadot-primitives", "polkadot-statement-table", + "sc-client-api", "sc-network", "sc-transaction-pool-api", "smallvec", "sp-api", "sp-authority-discovery", + "sp-blockchain", "sp-consensus-babe", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "polkadot-node-subsystem-util" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "derive_more", @@ -10032,18 +10231,20 @@ dependencies = [ "itertools 0.10.5", "kvdb", "parity-db", - "parity-scale-codec 3.6.9", - "parking_lot 0.11.2", + "parity-scale-codec", + "parking_lot 0.12.3", "pin-project", "polkadot-node-jaeger", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", + "polkadot-node-subsystem-types", "polkadot-overseer", "polkadot-primitives", - "prioritized-metered-channel", - "rand 0.8.5", + "prioritized-metered-channel 0.6.1", + "rand", + "sc-client-api", "schnellru", "sp-application-crypto", "sp-core", @@ -10054,21 +10255,20 @@ dependencies = [ [[package]] name = "polkadot-overseer" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "futures", "futures-timer", "orchestra", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem-types", "polkadot-primitives", "sc-client-api", - "schnellru", "sp-api", "sp-core", "tikv-jemalloc-ctl", @@ -10077,47 +10277,30 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "6.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "bounded-collections", "derive_more", - "frame-support", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-core-primitives", "scale-info", "serde", "sp-core", "sp-runtime", - "sp-std", -] - -[[package]] -name = "polkadot-performance-test" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" -dependencies = [ - "env_logger 0.9.3", - "log", - "polkadot-erasure-coding", - "polkadot-node-core-pvf-prepare-worker", - "polkadot-node-primitives", - "polkadot-primitives", - "quote", - "sc-executor-common", - "sp-maybe-compressed-blob", - "staging-kusama-runtime", - "thiserror", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-weights", ] [[package]] name = "polkadot-primitives" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "bitvec 1.0.1", - "hex-literal 0.4.1", - "parity-scale-codec 3.6.9", + "bitvec", + "hex-literal", + "log", + "parity-scale-codec", "polkadot-core-primitives", "polkadot-parachain-primitives", "scale-info", @@ -10133,13 +10316,13 @@ dependencies = [ "sp-keystore", "sp-runtime", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "polkadot-rpc" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -10155,6 +10338,7 @@ dependencies = [ "sc-consensus-grandpa", "sc-consensus-grandpa-rpc", "sc-rpc", + "sc-rpc-spec-v2", "sc-sync-state-rpc", "sc-transaction-pool-api", "sp-api", @@ -10168,109 +10352,12 @@ dependencies = [ "substrate-state-trie-migration-rpc", ] -[[package]] -name = "polkadot-runtime" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" -dependencies = [ - "bitvec 1.0.1", - "frame-benchmarking", - "frame-election-provider-support", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "hex-literal 0.4.1", - "log", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-babe", - "pallet-bags-list", - "pallet-balances", - "pallet-bounties", - "pallet-child-bounties", - "pallet-collective", - "pallet-conviction-voting", - "pallet-democracy", - "pallet-election-provider-multi-phase", - "pallet-election-provider-support-benchmarking", - "pallet-elections-phragmen", - "pallet-fast-unstake", - "pallet-grandpa", - "pallet-identity", - "pallet-im-online", - "pallet-indices", - "pallet-membership", - "pallet-message-queue", - "pallet-multisig", - "pallet-nomination-pools", - "pallet-nomination-pools-benchmarking", - "pallet-nomination-pools-runtime-api", - "pallet-offences", - "pallet-offences-benchmarking", - "pallet-preimage", - "pallet-proxy", - "pallet-referenda", - "pallet-scheduler", - "pallet-session", - "pallet-session-benchmarking", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-staking-runtime-api", - "pallet-timestamp", - "pallet-tips", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", - "pallet-utility", - "pallet-vesting", - "pallet-whitelist", - "pallet-xcm", - "pallet-xcm-benchmarks", - "parity-scale-codec 3.6.9", - "polkadot-primitives", - "polkadot-runtime-common", - "polkadot-runtime-constants", - "polkadot-runtime-parachains", - "rustc-hex", - "scale-info", - "serde", - "serde_derive", - "smallvec", - "sp-api", - "sp-arithmetic", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-babe", - "sp-consensus-beefy", - "sp-core", - "sp-inherents", - "sp-io", - "sp-mmr-primitives", - "sp-npos-elections", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-storage", - "sp-transaction-pool", - "sp-version", - "staging-xcm", - "staging-xcm-builder", - "staging-xcm-executor", - "static_assertions", - "substrate-wasm-builder", -] - [[package]] name = "polkadot-runtime-common" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "bitvec 1.0.1", + "bitvec", "frame-benchmarking", "frame-election-provider-support", "frame-support", @@ -10278,11 +10365,14 @@ dependencies = [ "impl-trait-for-tuples", "libsecp256k1", "log", + "pallet-asset-rate", "pallet-authorship", "pallet-babe", "pallet-balances", + "pallet-broker", "pallet-election-provider-multi-phase", "pallet-fast-unstake", + "pallet-identity", "pallet-session", "pallet-staking", "pallet-staking-reward-fn", @@ -10290,7 +10380,8 @@ dependencies = [ "pallet-transaction-payment", "pallet-treasury", "pallet-vesting", - "parity-scale-codec 3.6.9", + "pallet-xcm-benchmarks", + "parity-scale-codec", "polkadot-primitives", "polkadot-runtime-parachains", "rustc-hex", @@ -10306,45 +10397,33 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", "static_assertions", ] -[[package]] -name = "polkadot-runtime-constants" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" -dependencies = [ - "frame-support", - "polkadot-primitives", - "polkadot-runtime-common", - "smallvec", - "sp-core", - "sp-runtime", - "sp-weights", -] - [[package]] name = "polkadot-runtime-metrics" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "bs58 0.5.1", "frame-benchmarking", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-primitives", - "sp-std", - "sp-tracing", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "polkadot-runtime-parachains" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "bitflags 1.3.2", - "bitvec 1.0.1", + "bitvec", "derive_more", "frame-benchmarking", "frame-support", @@ -10355,22 +10434,25 @@ dependencies = [ "pallet-authorship", "pallet-babe", "pallet-balances", + "pallet-broker", "pallet-message-queue", "pallet-session", "pallet-staking", "pallet-timestamp", "pallet-vesting", - "parity-scale-codec 3.6.9", + "parity-scale-codec", + "polkadot-core-primitives", "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-metrics", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "rustc-hex", "scale-info", "serde", "sp-api", "sp-application-crypto", + "sp-arithmetic", "sp-core", "sp-inherents", "sp-io", @@ -10378,7 +10460,7 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "staging-xcm-executor", "static_assertions", @@ -10386,8 +10468,8 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "frame-benchmarking", @@ -10396,7 +10478,7 @@ dependencies = [ "frame-system", "frame-system-rpc-runtime-api", "futures", - "hex-literal 0.4.1", + "hex-literal", "is_executable", "kvdb", "kvdb-rocksdb", @@ -10408,7 +10490,8 @@ dependencies = [ "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "parity-db", - "parity-scale-codec 3.6.9", + "parity-scale-codec", + "parking_lot 0.12.3", "polkadot-approval-distribution", "polkadot-availability-bitfield-distribution", "polkadot-availability-distribution", @@ -10442,8 +10525,6 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-rpc", - "polkadot-runtime", - "polkadot-runtime-common", "polkadot-runtime-parachains", "polkadot-statement-distribution", "rococo-runtime", @@ -10491,12 +10572,11 @@ dependencies = [ "sp-runtime", "sp-session", "sp-state-machine", - "sp-storage", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-timestamp", "sp-transaction-pool", "sp-version", "sp-weights", - "staging-kusama-runtime", "substrate-prometheus-endpoint", "thiserror", "tracing-gum", @@ -10505,20 +10585,19 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "arrayvec 0.7.4", - "bitvec 1.0.1", + "bitvec", "fatality", "futures", "futures-timer", - "indexmap 1.9.3", - "parity-scale-codec 3.6.9", + "indexmap 2.2.6", + "parity-scale-codec", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", "polkadot-primitives", "sp-keystore", @@ -10529,12 +10608,13 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-primitives", "sp-core", + "tracing-gum", ] [[package]] @@ -10555,15 +10635,15 @@ dependencies = [ [[package]] name = "polling" -version = "3.6.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6" +checksum = "5e6a007746f34ed64099e88783b0ae369eaa3da6392868ba262e2af9b8fbaea1" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.3.9", + "hermit-abi", "pin-project-lite 0.2.14", - "rustix 0.38.32", + "rustix 0.38.34", "tracing", "windows-sys 0.52.0", ] @@ -10611,8 +10691,8 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "precompile-utils" -version = "0.1.0" -source = "git+https://github.com/moonbeam-foundation/moonbeam?tag=v0.34.1#29e8d79f1a7cdb195bd17b1788e9e613055c3575" +version = "0.1.1" +source = "git+https://github.com/moonbeam-foundation/moonbeam?tag=v0.37.3#8081fdffb4d3d294dc5bbbb0ae8f02c348619499" dependencies = [ "affix", "environmental", @@ -10625,28 +10705,28 @@ dependencies = [ "log", "num_enum 0.5.11", "pallet-evm", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "paste", "precompile-utils-macro", - "sha3 0.10.8", + "sha3", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-weights", ] [[package]] name = "precompile-utils-macro" -version = "0.1.0" -source = "git+https://github.com/moonbeam-foundation/moonbeam?tag=v0.34.1#29e8d79f1a7cdb195bd17b1788e9e613055c3575" +version = "0.1.1" +source = "git+https://github.com/moonbeam-foundation/moonbeam?tag=v0.37.3#8081fdffb4d3d294dc5bbbb0ae8f02c348619499" dependencies = [ "case", "num_enum 0.5.11", "prettyplease 0.1.25", "proc-macro2", "quote", - "sha3 0.10.8", + "sha3", "syn 1.0.109", ] @@ -10692,23 +10772,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.57", -] - -[[package]] -name = "primitive-types" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" -dependencies = [ - "fixed-hash 0.7.0", - "impl-codec 0.5.1", - "uint", + "syn 2.0.66", ] [[package]] @@ -10717,8 +10786,8 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ - "fixed-hash 0.8.0", - "impl-codec 0.6.0", + "fixed-hash", + "impl-codec", "impl-rlp", "impl-serde", "scale-info", @@ -10741,6 +10810,22 @@ dependencies = [ "tracing", ] +[[package]] +name = "prioritized-metered-channel" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a172e6cc603231f2cf004232eabcecccc0da53ba576ab286ef7baa0cfc7927ad" +dependencies = [ + "coarsetime", + "crossbeam-queue", + "derive_more", + "futures", + "futures-timer", + "nanorand", + "thiserror", + "tracing", +] + [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -10753,12 +10838,20 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "2.0.2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" dependencies = [ - "toml_datetime", - "toml_edit 0.20.2", + "toml_edit 0.20.7", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", ] [[package]] @@ -10787,35 +10880,35 @@ dependencies = [ [[package]] name = "proc-macro-warning" -version = "0.4.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" +checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "proc-macro2" -version = "1.0.79" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" dependencies = [ "cfg-if", "fnv", "lazy_static", "memchr", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "thiserror", ] @@ -10827,7 +10920,7 @@ checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" dependencies = [ "dtoa", "itoa", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "prometheus-client-derive-encode", ] @@ -10839,7 +10932,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -10849,7 +10942,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.11.9", +] + +[[package]] +name = "prost" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +dependencies = [ + "bytes", + "prost-derive 0.12.6", ] [[package]] @@ -10866,7 +10969,7 @@ dependencies = [ "multimap", "petgraph", "prettyplease 0.1.25", - "prost", + "prost 0.11.9", "prost-types", "regex", "syn 1.0.109", @@ -10887,13 +10990,26 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "prost-derive" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "prost-types" version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" dependencies = [ - "prost", + "prost 0.11.9", ] [[package]] @@ -10951,7 +11067,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863" dependencies = [ "bytes", - "rand 0.8.5", + "rand", "ring 0.16.20", "rustc-hash", "rustls 0.20.9", @@ -10964,38 +11080,19 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] -[[package]] -name = "radium" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" - [[package]] name = "radium" 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" @@ -11042,16 +11139,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.12", + "getrandom 0.2.15", ] [[package]] -name = "rand_hc" -version = "0.2.0" +name = "rand_distr" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ - "rand_core 0.5.1", + "num-traits", + "rand", ] [[package]] @@ -11119,48 +11217,56 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +dependencies = [ + "bitflags 2.5.0", +] + [[package]] name = "redox_users" version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ - "getrandom 0.2.12", + "getrandom 0.2.15", "libredox", "thiserror", ] [[package]] name = "reed-solomon-novelpoly" -version = "1.0.2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58130877ca403ab42c864fbac74bb319a0746c07a634a92a5cfc7f54af272582" +checksum = "87413ebb313323d431e85d0afc5a68222aaed972843537cbfe5f061cf1b4bcab" dependencies = [ "derive_more", "fs-err", - "itertools 0.11.0", "static_init", "thiserror", ] [[package]] name = "ref-cast" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4846d4c50d1721b1a3bef8af76924eef20d5e723647333798c1b519b3a9473f" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -11242,22 +11348,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ "hmac 0.12.1", - "subtle", + "subtle 2.5.0", ] [[package]] name = "ring" version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof?rev=0e948f3#0e948f3c28cbacecdd3020403c4841c0eb339213" +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", + "merlin", ] [[package]] @@ -11283,7 +11390,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.12", + "getrandom 0.2.15", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -11333,19 +11440,21 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "binary-merkle-tree", "frame-benchmarking", "frame-executive", + "frame-metadata-hash-extension", "frame-support", "frame-system", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", - "hex-literal 0.4.1", + "hex-literal", "log", + "pallet-asset-rate", "pallet-authority-discovery", "pallet-authorship", "pallet-babe", @@ -11355,6 +11464,7 @@ dependencies = [ "pallet-bounties", "pallet-child-bounties", "pallet-collective", + "pallet-conviction-voting", "pallet-democracy", "pallet-elections-phragmen", "pallet-grandpa", @@ -11369,7 +11479,10 @@ dependencies = [ "pallet-offences", "pallet-preimage", "pallet-proxy", + "pallet-ranked-collective", "pallet-recovery", + "pallet-referenda", + "pallet-root-testing", "pallet-scheduler", "pallet-session", "pallet-society", @@ -11383,9 +11496,10 @@ dependencies = [ "pallet-treasury", "pallet-utility", "pallet-vesting", + "pallet-whitelist", "pallet-xcm", "pallet-xcm-benchmarks", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-common", @@ -11396,11 +11510,13 @@ dependencies = [ "serde_derive", "smallvec", "sp-api", + "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", "sp-core", + "sp-genesis-builder", "sp-inherents", "sp-io", "sp-mmr-primitives", @@ -11408,8 +11524,8 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std", - "sp-storage", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-transaction-pool", "sp-version", "staging-xcm", @@ -11421,8 +11537,8 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "polkadot-primitives", @@ -11431,8 +11547,16 @@ dependencies = [ "sp-core", "sp-runtime", "sp-weights", + "staging-xcm", + "staging-xcm-builder", ] +[[package]] +name = "route-recognizer" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" + [[package]] name = "rpassword" version = "7.3.1" @@ -11454,7 +11578,7 @@ dependencies = [ "log", "netlink-packet-route", "netlink-proto", - "nix", + "nix 0.24.3", "thiserror", "tokio", ] @@ -11481,14 +11605,15 @@ dependencies = [ "cfg-utils", "chainbridge", "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-xcm", "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", "frame-benchmarking", "frame-support", "frame-system", - "hex-literal 0.3.4", + "hex", + "hex-literal", "log", "num_enum 0.5.11", "orml-asset-registry", @@ -11530,6 +11655,7 @@ dependencies = [ "pallet-liquidity-rewards", "pallet-loans", "pallet-membership", + "pallet-message-queue", "pallet-multisig", "pallet-oracle-collection", "pallet-oracle-feed", @@ -11556,8 +11682,7 @@ dependencies = [ "pallet-vesting", "pallet-xcm", "pallet-xcm-transactor", - "parachain-info", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-parachain-primitives", "precompile-utils", "scale-info", @@ -11568,7 +11693,8 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "staging-parachain-info", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -11588,7 +11714,6 @@ dependencies = [ "cfg-utils", "chainbridge", "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-xcm", "cumulus-pallet-xcmp-queue", @@ -11603,9 +11728,8 @@ dependencies = [ "frame-system", "fudge", "fudge-core", - "getrandom 0.2.12", "hex", - "hex-literal 0.3.4", + "hex-literal", "lazy_static", "liquidity-pools-gateway-routers", "orml-asset-registry", @@ -11669,13 +11793,11 @@ dependencies = [ "pallet-vesting", "pallet-xcm", "pallet-xcm-transactor", - "parachain-info", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-core-primitives", "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", - "polkadot-runtime", "polkadot-runtime-common", "polkadot-runtime-parachains", "rococo-runtime", @@ -11696,11 +11818,11 @@ dependencies = [ "sp-inherents", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-timestamp", - "sp-tracing", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-transaction-pool", - "staging-kusama-runtime", + "staging-parachain-info", "staging-xcm", "staging-xcm-executor", "thiserror", @@ -11712,17 +11834,17 @@ dependencies = [ name = "runtime-integration-tests-proc-macro" version = "0.1.0" dependencies = [ - "prettyplease 0.2.17", + "prettyplease 0.2.20", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -11742,7 +11864,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.22", + "semver 1.0.23", ] [[package]] @@ -11784,14 +11906,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.32" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", "errno", "libc", - "linux-raw-sys 0.4.13", + "linux-raw-sys 0.4.14", "windows-sys 0.52.0", ] @@ -11809,9 +11931,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.10" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring 0.17.8", @@ -11852,9 +11974,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ruzstd" @@ -11880,9 +12002,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "safe_arch" @@ -11904,19 +12026,19 @@ dependencies = [ [[package]] name = "sc-allocator" -version = "4.1.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "log", "sp-core", - "sp-wasm-interface", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "thiserror", ] [[package]] name = "sc-authority-discovery" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "futures", @@ -11924,11 +12046,12 @@ dependencies = [ "ip_network", "libp2p", "log", - "multihash", - "parity-scale-codec 3.6.9", - "prost", + "multihash 0.18.1", + "multihash-codetable", + "parity-scale-codec", + "prost 0.12.6", "prost-build", - "rand 0.8.5", + "rand", "sc-client-api", "sc-network", "sp-api", @@ -11943,15 +12066,14 @@ dependencies = [ [[package]] name = "sc-basic-authorship" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "futures-timer", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-block-builder", - "sc-client-api", "sc-proposer-metrics", "sc-telemetry", "sc-transaction-pool-api", @@ -11966,25 +12088,29 @@ dependencies = [ [[package]] name = "sc-block-builder" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", - "sc-client-api", + "parity-scale-codec", "sp-api", "sp-block-builder", "sp-blockchain", "sp-core", "sp-inherents", "sp-runtime", + "sp-trie", ] [[package]] name = "sc-chain-spec" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "memmap2", + "array-bytes 6.2.3", + "docify", + "log", + "memmap2 0.9.4", + "parity-scale-codec", "sc-chain-spec-derive", "sc-client-api", "sc-executor", @@ -11994,41 +12120,47 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core", + "sp-crypto-hashing", + "sp-genesis-builder", + "sp-io", "sp-runtime", "sp-state-machine", ] [[package]] name = "sc-chain-spec-derive" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "sc-cli" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.36.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", + "bip39", "chrono", "clap", "fdlimit", "futures", + "itertools 0.10.5", "libp2p-identity", "log", "names", - "parity-scale-codec 3.6.9", - "rand 0.8.5", + "parity-scale-codec", + "rand", "regex", "rpassword", "sc-client-api", "sc-client-db", "sc-keystore", + "sc-mixnet", "sc-network", "sc-service", "sc-telemetry", @@ -12044,20 +12176,19 @@ dependencies = [ "sp-runtime", "sp-version", "thiserror", - "tiny-bip39", "tokio", ] [[package]] name = "sc-client-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "fnv", "futures", "log", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sc-executor", "sc-transaction-pool-api", "sc-utils", @@ -12066,28 +12197,29 @@ dependencies = [ "sp-consensus", "sp-core", "sp-database", - "sp-externalities", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-runtime", "sp-state-machine", "sp-statement-store", - "sp-storage", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-trie", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "hash-db 0.16.0", + "hash-db", "kvdb", "kvdb-memorydb", "kvdb-rocksdb", "linked-hash-map", "log", "parity-db", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sc-client-api", "sc-state-db", "schnellru", @@ -12102,8 +12234,8 @@ dependencies = [ [[package]] name = "sc-consensus" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "futures", @@ -12111,7 +12243,7 @@ dependencies = [ "libp2p-identity", "log", "mockall", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-utils", "serde", @@ -12127,13 +12259,13 @@ dependencies = [ [[package]] name = "sc-consensus-aura" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "futures", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-block-builder", "sc-client-api", "sc-consensus", @@ -12156,8 +12288,8 @@ dependencies = [ [[package]] name = "sc-consensus-babe" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "fork-tree", @@ -12166,15 +12298,14 @@ dependencies = [ "num-bigint", "num-rational", "num-traits", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sc-client-api", "sc-consensus", "sc-consensus-epochs", "sc-consensus-slots", "sc-telemetry", "sc-transaction-pool-api", - "scale-info", "sp-api", "sp-application-crypto", "sp-block-builder", @@ -12183,6 +12314,7 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-slots", "sp-core", + "sp-crypto-hashing", "sp-inherents", "sp-keystore", "sp-runtime", @@ -12192,8 +12324,8 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "jsonrpsee", @@ -12214,17 +12346,17 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "async-channel 1.9.0", "async-trait", "fnv", "futures", "log", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sc-client-api", "sc-consensus", "sc-network", @@ -12238,24 +12370,26 @@ dependencies = [ "sp-consensus", "sp-consensus-beefy", "sp-core", + "sp-crypto-hashing", "sp-keystore", "sp-mmr-primitives", "sp-runtime", "substrate-prometheus-endpoint", "thiserror", + "tokio", "wasm-timer", ] [[package]] name = "sc-consensus-beefy-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "jsonrpsee", "log", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sc-consensus-beefy", "sc-rpc", "serde", @@ -12267,11 +12401,11 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "fork-tree", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-client-api", "sc-consensus", "sp-blockchain", @@ -12280,11 +12414,11 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.19.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "ahash 0.8.11", - "array-bytes", + "array-bytes 6.2.3", "async-trait", "dyn-clone", "finality-grandpa", @@ -12292,9 +12426,9 @@ dependencies = [ "futures", "futures-timer", "log", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", - "rand 0.8.5", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -12302,6 +12436,7 @@ dependencies = [ "sc-network", "sc-network-common", "sc-network-gossip", + "sc-network-sync", "sc-telemetry", "sc-transaction-pool-api", "sc-utils", @@ -12313,6 +12448,7 @@ dependencies = [ "sp-consensus", "sp-consensus-grandpa", "sp-core", + "sp-crypto-hashing", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", @@ -12321,14 +12457,14 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.19.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "finality-grandpa", "futures", "jsonrpsee", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-client-api", "sc-consensus-grandpa", "sc-rpc", @@ -12341,14 +12477,14 @@ dependencies = [ [[package]] name = "sc-consensus-slots" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "futures", "futures-timer", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-client-api", "sc-consensus", "sc-telemetry", @@ -12364,59 +12500,60 @@ dependencies = [ [[package]] name = "sc-executor" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sc-executor-common", "sc-executor-wasmtime", "schnellru", "sp-api", "sp-core", - "sp-externalities", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-io", "sp-panic-handler", - "sp-runtime-interface", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-trie", "sp-version", - "sp-wasm-interface", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "tracing", ] [[package]] name = "sc-executor-common" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", - "sp-wasm-interface", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "thiserror", "wasm-instrument", ] [[package]] name = "sc-executor-wasmtime" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "anyhow", "cfg-if", "libc", "log", + "parking_lot 0.12.3", "rustix 0.36.17", "sc-allocator", "sc-executor-common", - "sp-runtime-interface", - "sp-wasm-interface", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "wasmtime", ] [[package]] name = "sc-informant" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "ansi_term", "futures", @@ -12425,17 +12562,18 @@ dependencies = [ "sc-client-api", "sc-network", "sc-network-common", + "sc-network-sync", "sp-blockchain", "sp-runtime", ] [[package]] name = "sc-keystore" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "25.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", - "parking_lot 0.12.1", + "array-bytes 6.2.3", + "parking_lot 0.12.3", "serde_json", "sp-application-crypto", "sp-core", @@ -12443,12 +12581,41 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sc-mixnet" +version = "0.4.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "array-bytes 4.2.0", + "arrayvec 0.7.4", + "blake2 0.10.6", + "bytes", + "futures", + "futures-timer", + "libp2p-identity", + "log", + "mixnet", + "multiaddr", + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-client-api", + "sc-network", + "sc-transaction-pool-api", + "sp-api", + "sp-consensus", + "sp-core", + "sp-keystore", + "sp-mixnet", + "sp-runtime", + "thiserror", +] + [[package]] name = "sc-network" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "async-channel 1.9.0", "async-trait", "asynchronous-codec", @@ -12462,11 +12629,11 @@ dependencies = [ "linked_hash_set", "log", "mockall", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "partial_sort", "pin-project", - "rand 0.8.5", + "rand", "sc-client-api", "sc-network-common", "sc-utils", @@ -12479,6 +12646,8 @@ dependencies = [ "sp-runtime", "substrate-prometheus-endpoint", "thiserror", + "tokio", + "tokio-stream", "unsigned-varint", "wasm-timer", "zeroize", @@ -12486,15 +12655,15 @@ dependencies = [ [[package]] name = "sc-network-bitswap" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-channel 1.9.0", "cid", "futures", "libp2p-identity", "log", - "prost", + "prost 0.12.6", "prost-build", "sc-client-api", "sc-network", @@ -12506,14 +12675,14 @@ dependencies = [ [[package]] name = "sc-network-common" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "bitflags 1.3.2", "futures", "libp2p-identity", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "prost-build", "sc-consensus", "sp-consensus", @@ -12523,8 +12692,8 @@ dependencies = [ [[package]] name = "sc-network-gossip" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "ahash 0.8.11", "futures", @@ -12533,6 +12702,7 @@ dependencies = [ "log", "sc-network", "sc-network-common", + "sc-network-sync", "schnellru", "sp-runtime", "substrate-prometheus-endpoint", @@ -12541,16 +12711,16 @@ dependencies = [ [[package]] name = "sc-network-light" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "async-channel 1.9.0", "futures", "libp2p-identity", "log", - "parity-scale-codec 3.6.9", - "prost", + "parity-scale-codec", + "prost 0.12.6", "prost-build", "sc-client-api", "sc-network", @@ -12562,10 +12732,10 @@ dependencies = [ [[package]] name = "sc-network-sync" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "async-channel 1.9.0", "async-trait", "fork-tree", @@ -12574,8 +12744,8 @@ dependencies = [ "libp2p", "log", "mockall", - "parity-scale-codec 3.6.9", - "prost", + "parity-scale-codec", + "prost 0.12.6", "prost-build", "sc-client-api", "sc-consensus", @@ -12592,20 +12762,23 @@ dependencies = [ "sp-runtime", "substrate-prometheus-endpoint", "thiserror", + "tokio", + "tokio-stream", ] [[package]] name = "sc-network-transactions" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "futures", "libp2p", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-network", "sc-network-common", + "sc-network-sync", "sc-utils", "sp-consensus", "sp-runtime", @@ -12614,10 +12787,10 @@ dependencies = [ [[package]] name = "sc-offchain" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "bytes", "fnv", "futures", @@ -12628,9 +12801,9 @@ dependencies = [ "log", "num_cpus", "once_cell", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", - "rand 0.8.5", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand", "sc-client-api", "sc-network", "sc-network-common", @@ -12638,7 +12811,7 @@ dependencies = [ "sc-utils", "sp-api", "sp-core", - "sp-externalities", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-keystore", "sp-offchain", "sp-runtime", @@ -12648,8 +12821,8 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -12657,17 +12830,18 @@ dependencies = [ [[package]] name = "sc-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "jsonrpsee", "log", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sc-block-builder", "sc-chain-spec", "sc-client-api", + "sc-mixnet", "sc-rpc-api", "sc-tracing", "sc-transaction-pool-api", @@ -12688,12 +12862,13 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "jsonrpsee", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-chain-spec", + "sc-mixnet", "sc-transaction-pool-api", "scale-info", "serde", @@ -12707,8 +12882,8 @@ dependencies = [ [[package]] name = "sc-rpc-server" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "http", "jsonrpsee", @@ -12722,25 +12897,27 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "futures", "futures-util", "hex", "jsonrpsee", "log", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sc-chain-spec", "sc-client-api", + "sc-rpc", "sc-transaction-pool-api", "sc-utils", "serde", "sp-api", "sp-blockchain", "sp-core", + "sp-rpc", "sp-runtime", "sp-version", "thiserror", @@ -12750,8 +12927,8 @@ dependencies = [ [[package]] name = "sc-service" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "directories", @@ -12760,11 +12937,10 @@ dependencies = [ "futures-timer", "jsonrpsee", "log", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", - "sc-block-builder", + "rand", "sc-chain-spec", "sc-client-api", "sc-client-db", @@ -12793,12 +12969,12 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-core", - "sp-externalities", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-keystore", "sp-runtime", "sp-session", "sp-state-machine", - "sp-storage", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-transaction-pool", "sp-transaction-storage-proof", "sp-trie", @@ -12814,24 +12990,23 @@ dependencies = [ [[package]] name = "sc-state-db" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.30.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "log", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sp-core", ] [[package]] name = "sc-storage-monitor" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "clap", "fs4", "log", - "sc-client-db", "sp-core", "thiserror", "tokio", @@ -12839,11 +13014,11 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "jsonrpsee", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-chain-spec", "sc-client-api", "sc-consensus-babe", @@ -12858,35 +13033,37 @@ dependencies = [ [[package]] name = "sc-sysinfo" -version = "6.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "derive_more", "futures", "libc", "log", - "rand 0.8.5", + "rand", "rand_pcg", "regex", "sc-telemetry", "serde", "serde_json", "sp-core", + "sp-crypto-hashing", "sp-io", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sc-telemetry" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "chrono", "futures", "libp2p", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", + "rand", "sc-utils", "serde", "serde_json", @@ -12896,16 +13073,17 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "ansi_term", - "atty", "chrono", + "is-terminal", "lazy_static", "libc", "log", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "regex", "rustc-hash", "sc-client-api", @@ -12916,7 +13094,7 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", - "sp-tracing", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "thiserror", "tracing", "tracing-log", @@ -12925,27 +13103,27 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "sc-transaction-pool" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "futures", "futures-timer", "linked-hash-map", "log", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sc-client-api", "sc-transaction-pool-api", "sc-utils", @@ -12953,8 +13131,9 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-core", + "sp-crypto-hashing", "sp-runtime", - "sp-tracing", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-transaction-pool", "substrate-prometheus-endpoint", "thiserror", @@ -12962,13 +13141,13 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "futures", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "serde", "sp-blockchain", "sp-core", @@ -12978,40 +13157,40 @@ dependencies = [ [[package]] name = "sc-utils" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-channel 1.9.0", "futures", "futures-timer", "lazy_static", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "prometheus", "sp-arithmetic", ] [[package]] name = "scale-info" -version = "2.11.1" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "788745a868b0e751750388f4e6546eb921ef714a4317fa6954f7cde114eb2eb7" +checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" dependencies = [ - "bitvec 1.0.1", + "bitvec", "cfg-if", "derive_more", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info-derive", "serde", ] [[package]] name = "scale-info-derive" -version = "2.11.1" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dc2f4e8bc344b9fc3d5f74f72c2e55bfc38d28dc2ebc69c194a3df424e4d9ac" +checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -13028,33 +13207,15 @@ dependencies = [ [[package]] name = "schnellru" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" dependencies = [ "ahash 0.8.11", "cfg-if", "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", - "zeroize", -] - [[package]] name = "schnorrkel" version = "0.10.2" @@ -13064,7 +13225,7 @@ dependencies = [ "arrayref", "arrayvec 0.7.4", "curve25519-dalek-ng", - "merlin 3.0.0", + "merlin", "rand_core 0.6.4", "sha2 0.9.9", "subtle-ng", @@ -13077,14 +13238,16 @@ version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" dependencies = [ + "aead", "arrayref", "arrayvec 0.7.4", "curve25519-dalek 4.1.2", "getrandom_or_panic", - "merlin 3.0.0", + "merlin", "rand_core 0.6.4", + "serde_bytes", "sha2 0.10.8", - "subtle", + "subtle 2.5.0", "zeroize", ] @@ -13120,24 +13283,33 @@ dependencies = [ "der", "generic-array 0.14.7", "pkcs8", - "subtle", + "subtle 2.5.0", "zeroize", ] +[[package]] +name = "seccompiler" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345a3e4dddf721a478089d4697b83c6c0a8f5bf16086f6c13397e4534eb6e2e5" +dependencies = [ + "libc", +] + [[package]] name = "secp256k1" -version = "0.24.3" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" +checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.6.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" +checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" dependencies = [ "cc", ] @@ -13153,11 +13325,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -13166,9 +13338,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -13185,9 +13357,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] @@ -13200,29 +13372,38 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.197" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] +[[package]] +name = "serde_bytes" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +dependencies = [ + "serde", +] + [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "serde_json" -version = "1.0.115" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -13231,9 +13412,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ "serde", ] @@ -13252,15 +13433,14 @@ dependencies = [ ] [[package]] -name = "sha2" -version = "0.8.2" +name = "sha1" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", + "cfg-if", + "cpufeatures", + "digest 0.10.7", ] [[package]] @@ -13287,18 +13467,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug 0.3.1", -] - [[package]] name = "sha3" version = "0.10.8" @@ -13326,9 +13494,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -13356,6 +13524,11 @@ dependencies = [ "wide", ] +[[package]] +name = "simple-mermaid" +version = "0.1.0" +source = "git+https://github.com/kianenigma/simple-mermaid.git?rev=e48b187bcfd5cc75111acd9d241f1bd36604344b#e48b187bcfd5cc75111acd9d241f1bd36604344b" + [[package]] name = "siphasher" version = "0.3.11" @@ -13391,14 +13564,14 @@ dependencies = [ [[package]] name = "slot-range-helper" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "enumn", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "paste", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -13455,12 +13628,12 @@ dependencies = [ "fnv", "futures-lite 1.13.0", "futures-util", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "hmac 0.12.1", "itertools 0.11.0", "libsecp256k1", - "merlin 3.0.0", + "merlin", "no-std-net", "nom", "num-bigint", @@ -13469,14 +13642,14 @@ dependencies = [ "pbkdf2 0.12.2", "pin-project", "poly1305", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "ruzstd", "schnorrkel 0.10.2", "serde", "serde_json", "sha2 0.10.8", - "sha3 0.10.8", + "sha3", "siphasher", "slab", "smallvec", @@ -13504,15 +13677,15 @@ dependencies = [ "futures-channel", "futures-lite 1.13.0", "futures-util", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "itertools 0.11.0", "log", "lru 0.11.1", "no-std-net", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "serde", "serde_json", @@ -13536,14 +13709,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" dependencies = [ "aes-gcm", - "blake2", + "blake2 0.10.6", "chacha20poly1305", "curve25519-dalek 4.1.2", "rand_core 0.6.4", "ring 0.17.8", "rustc_version", "sha2 0.10.8", - "subtle", + "subtle 2.5.0", ] [[package]] @@ -13558,9 +13731,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys 0.52.0", @@ -13579,26 +13752,26 @@ dependencies = [ "http", "httparse", "log", - "rand 0.8.5", + "rand", "sha-1", ] [[package]] name = "sp-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "hash-db 0.16.0", + "hash-db", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-api-proc-macro", "sp-core", - "sp-externalities", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-metadata-ir", "sp-runtime", "sp-state-machine", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-trie", "sp-version", "thiserror", @@ -13606,78 +13779,96 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "Inflector", - "blake2", + "blake2 0.10.6", "expander 2.0.0", - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "sp-application-crypto" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "30.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sp-arithmetic" -version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "integer-sqrt", "num-traits", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "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 = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-api", "sp-application-crypto", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sp-block-builder" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "sp-api", "sp-inherents", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sp-blockchain" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "futures", "log", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "schnellru", "sp-api", "sp-consensus", @@ -13689,8 +13880,8 @@ dependencies = [ [[package]] name = "sp-consensus" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "futures", @@ -13704,28 +13895,28 @@ dependencies = [ [[package]] name = "sp-consensus-aura" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-api", "sp-application-crypto", "sp-consensus-slots", "sp-inherents", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-timestamp", ] [[package]] name = "sp-consensus-babe" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-api", @@ -13734,37 +13925,38 @@ dependencies = [ "sp-core", "sp-inherents", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-timestamp", ] [[package]] name = "sp-consensus-beefy" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "lazy_static", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-api", "sp-application-crypto", "sp-core", + "sp-crypto-hashing", "sp-io", "sp-mmr-primitives", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "strum 0.24.1", ] [[package]] name = "sp-consensus-grandpa" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "finality-grandpa", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-api", @@ -13772,165 +13964,215 @@ dependencies = [ "sp-core", "sp-keystore", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sp-consensus-slots" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-timestamp", ] [[package]] name = "sp-core" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "array-bytes", - "arrayvec 0.7.4", + "array-bytes 6.2.3", "bandersnatch_vrfs", + "bip39", "bitflags 1.3.2", - "blake2", + "blake2 0.10.6", "bounded-collections", "bs58 0.5.1", "dyn-clonable", "ed25519-zebra 3.1.0", "futures", - "hash-db 0.16.0", + "hash-db", "hash256-std-hasher", "impl-serde", - "lazy_static", + "itertools 0.10.5", "libsecp256k1", "log", - "merlin 2.0.1", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "merlin", + "parity-scale-codec", + "parking_lot 0.12.3", "paste", - "primitive-types 0.12.2", - "rand 0.8.5", - "regex", + "primitive-types", + "rand", "scale-info", - "schnorrkel 0.9.1", + "schnorrkel 0.11.4", "secp256k1", "secrecy", "serde", - "sp-core-hashing", - "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", - "sp-std", - "sp-storage", + "sp-crypto-hashing", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", "tracing", + "w3f-bls", "zeroize", ] [[package]] name = "sp-core-hashing" -version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "sp-crypto-hashing", +] + +[[package]] +name = "sp-crypto-ec-utils" +version = "0.10.0" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +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?branch=release-polkadot-v1.7.2)", + "sp-std 14.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", +] + +[[package]] +name = "sp-crypto-hashing" +version = "0.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "blake2b_simd", "byteorder", "digest 0.10.7", "sha2 0.10.8", - "sha3 0.10.8", + "sha3", "twox-hash", ] [[package]] -name = "sp-core-hashing-proc-macro" -version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +name = "sp-crypto-hashing-proc-macro" +version = "0.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "quote", - "sp-core-hashing", - "syn 2.0.57", + "sp-crypto-hashing", + "syn 2.0.66", ] [[package]] name = "sp-database" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "kvdb", - "parking_lot 0.12.1", + "parking_lot 0.12.3", +] + +[[package]] +name = "sp-debug-derive" +version = "14.0.0" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", ] [[package]] name = "sp-debug-derive" -version = "8.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "sp-externalities" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.25.0" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "environmental", - "parity-scale-codec 3.6.9", - "sp-std", - "sp-storage", + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", +] + +[[package]] +name = "sp-externalities" +version = "0.25.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sp-genesis-builder" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "serde_json", "sp-api", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sp-inherents" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "impl-trait-for-tuples", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "thiserror", ] [[package]] name = "sp-io" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "30.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "bytes", "ed25519-dalek", "libsecp256k1", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "rustversion", "secp256k1", "sp-core", - "sp-externalities", + "sp-crypto-hashing", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-keystore", - "sp-runtime-interface", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-state-machine", - "sp-std", - "sp-tracing", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-trie", "tracing", "tracing-core", @@ -13938,10 +14180,9 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "31.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "lazy_static", "sp-core", "sp-runtime", "strum 0.24.1", @@ -13949,20 +14190,20 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.27.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", "sp-core", - "sp-externalities", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "thiserror", ] [[package]] name = "sp-maybe-compressed-blob" -version = "4.1.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "thiserror", "zstd 0.12.4", @@ -13970,51 +14211,63 @@ dependencies = [ [[package]] name = "sp-metadata-ir" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.6.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-metadata", - "parity-scale-codec 3.6.9", + "parity-scale-codec", + "scale-info", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", +] + +[[package]] +name = "sp-mixnet" +version = "0.4.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "parity-scale-codec", "scale-info", - "sp-std", + "sp-api", + "sp-application-crypto", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sp-mmr-primitives" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "ckb-merkle-mountain-range", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-api", "sp-core", - "sp-debug-derive", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "thiserror", ] [[package]] name = "sp-npos-elections" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-arithmetic", "sp-core", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sp-offchain" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "sp-api", "sp-core", @@ -14023,8 +14276,8 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "8.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "backtrace", "lazy_static", @@ -14033,8 +14286,8 @@ dependencies = [ [[package]] name = "sp-rpc" -version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "rustc-hash", "serde", @@ -14043,100 +14296,134 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "31.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "docify", "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "paste", - "rand 0.8.5", + "rand", "scale-info", "serde", + "simple-mermaid", "sp-application-crypto", "sp-arithmetic", "sp-core", "sp-io", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-weights", ] [[package]] name = "sp-runtime-interface" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "24.0.0" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.25.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-std 14.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "24.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "bytes", "impl-trait-for-tuples", - "parity-scale-codec 3.6.9", - "primitive-types 0.12.2", - "sp-externalities", - "sp-runtime-interface-proc-macro", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "17.0.0" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "Inflector", - "proc-macro-crate 1.3.1", + "expander 2.0.0", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "Inflector", + "expander 2.0.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "sp-session" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-api", "sp-core", "sp-keystore", "sp-runtime", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sp-staking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "impl-trait-for-tuples", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sp-state-machine" -version = "0.28.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "hash-db 0.16.0", + "hash-db", "log", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", - "rand 0.8.5", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand", "smallvec", "sp-core", - "sp-externalities", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-panic-handler", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-trie", "thiserror", "tracing", @@ -14145,66 +14432,97 @@ dependencies = [ [[package]] name = "sp-statement-store" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "aes-gcm", "curve25519-dalek 4.1.2", "ed25519-dalek", "hkdf", - "parity-scale-codec 3.6.9", - "rand 0.8.5", + "parity-scale-codec", + "rand", "scale-info", "sha2 0.10.8", "sp-api", "sp-application-crypto", "sp-core", - "sp-externalities", + "sp-crypto-hashing", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-runtime", - "sp-runtime-interface", - "sp-std", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "thiserror", "x25519-dalek 2.0.1", ] [[package]] name = "sp-std" -version = "8.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "14.0.0" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" + +[[package]] +name = "sp-std" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" [[package]] name = "sp-storage" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "19.0.0" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +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.2)", + "sp-std 14.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", +] + +[[package]] +name = "sp-storage" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "impl-serde", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive", - "sp-std", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "sp-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sp-inherents", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "thiserror", ] [[package]] name = "sp-tracing" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "16.0.0" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sp-tracing" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", - "sp-std", + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "tracing", "tracing-core", "tracing-subscriber", @@ -14212,8 +14530,8 @@ dependencies = [ [[package]] name = "sp-transaction-pool" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "sp-api", "sp-runtime", @@ -14221,36 +14539,37 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "sp-core", "sp-inherents", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-trie", ] [[package]] name = "sp-trie" -version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "ahash 0.8.11", - "hash-db 0.16.0", - "hashbrown 0.13.2", + "hash-db", "lazy_static", "memory-db", "nohash-hasher", - "parity-scale-codec 3.6.9", - "parking_lot 0.12.1", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand", "scale-info", "schnellru", "sp-core", - "sp-std", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "thiserror", "tracing", "trie-db", @@ -14259,58 +14578,71 @@ dependencies = [ [[package]] name = "sp-version" -version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "impl-serde", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "parity-wasm", "scale-info", "serde", - "sp-core-hashing-proc-macro", + "sp-crypto-hashing-proc-macro", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-version-proc-macro", "thiserror", ] [[package]] name = "sp-version-proc-macro" -version = "8.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "sp-wasm-interface" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "20.0.0" +source = "git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "anyhow", "impl-trait-for-tuples", "log", - "parity-scale-codec 3.6.9", - "sp-std", + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/paritytech//polkadot-sdk?branch=release-polkadot-v1.7.2)", "wasmtime", ] [[package]] -name = "sp-weights" +name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +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.2)", + "wasmtime", +] + +[[package]] +name = "sp-weights" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "parity-scale-codec 3.6.9", + "bounded-collections", + "parity-scale-codec", "scale-info", "serde", "smallvec", "sp-arithmetic", - "sp-core", - "sp-debug-derive", - "sp-std", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] @@ -14327,163 +14659,72 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "spinners" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ef947f358b9c238923f764c72a4a9d42f2d637c46e059dbd319d6e7cfb4f82" -dependencies = [ - "lazy_static", - "maplit", - "strum 0.24.1", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "ss58-registry" -version = "1.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4743ce898933fbff7bbf414f497c459a782d496269644b3d650a398ae6a487ba" -dependencies = [ - "Inflector", - "num-format", - "proc-macro2", - "quote", - "serde", - "serde_json", - "unicode-xid", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "staging-kusama-runtime" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" -dependencies = [ - "binary-merkle-tree", - "bitvec 1.0.1", - "frame-benchmarking", - "frame-election-provider-support", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "hex-literal 0.4.1", - "kusama-runtime-constants", - "log", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-babe", - "pallet-bags-list", - "pallet-balances", - "pallet-beefy", - "pallet-beefy-mmr", - "pallet-bounties", - "pallet-child-bounties", - "pallet-collective", - "pallet-conviction-voting", - "pallet-democracy", - "pallet-election-provider-multi-phase", - "pallet-election-provider-support-benchmarking", - "pallet-elections-phragmen", - "pallet-fast-unstake", - "pallet-grandpa", - "pallet-identity", - "pallet-im-online", - "pallet-indices", - "pallet-membership", - "pallet-message-queue", - "pallet-mmr", - "pallet-multisig", - "pallet-nis", - "pallet-nomination-pools", - "pallet-nomination-pools-benchmarking", - "pallet-nomination-pools-runtime-api", - "pallet-offences", - "pallet-offences-benchmarking", - "pallet-preimage", - "pallet-proxy", - "pallet-ranked-collective", - "pallet-recovery", - "pallet-referenda", - "pallet-scheduler", - "pallet-session", - "pallet-session-benchmarking", - "pallet-society", - "pallet-staking", - "pallet-staking-runtime-api", - "pallet-state-trie-migration", - "pallet-timestamp", - "pallet-tips", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", - "pallet-utility", - "pallet-vesting", - "pallet-whitelist", - "pallet-xcm", - "pallet-xcm-benchmarks", - "parity-scale-codec 3.6.9", - "polkadot-primitives", - "polkadot-runtime-common", - "polkadot-runtime-parachains", - "rustc-hex", - "scale-info", +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0ef947f358b9c238923f764c72a4a9d42f2d637c46e059dbd319d6e7cfb4f82" +dependencies = [ + "lazy_static", + "maplit", + "strum 0.24.1", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "ss58-registry" +version = "1.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4743ce898933fbff7bbf414f497c459a782d496269644b3d650a398ae6a487ba" +dependencies = [ + "Inflector", + "num-format", + "proc-macro2", + "quote", "serde", - "serde_derive", - "smallvec", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-babe", - "sp-consensus-beefy", - "sp-core", - "sp-inherents", - "sp-io", - "sp-mmr-primitives", - "sp-npos-elections", - "sp-offchain", + "serde_json", + "unicode-xid", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "staging-parachain-info" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-storage", - "sp-transaction-pool", - "sp-version", - "staging-xcm", - "staging-xcm-builder", - "staging-xcm-executor", - "static_assertions", - "substrate-wasm-builder", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", ] [[package]] name = "staging-xcm" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ + "array-bytes 6.2.3", "bounded-collections", "derivative", "environmental", "impl-trait-for-tuples", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "scale-info", "serde", "sp-weights", @@ -14492,21 +14733,21 @@ dependencies = [ [[package]] name = "staging-xcm-builder" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "log", "pallet-transaction-payment", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-parachain-primitives", "scale-info", "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-weights", "staging-xcm", "staging-xcm-executor", @@ -14514,20 +14755,21 @@ dependencies = [ [[package]] name = "staging-xcm-executor" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "environmental", "frame-benchmarking", "frame-support", "impl-trait-for-tuples", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", + "scale-info", "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-weights", "staging-xcm", ] @@ -14566,11 +14808,24 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "strobe-rs" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabb238a1cccccfa4c4fb703670c0d157e1256c1ba695abf1b93bd2bb14bab2d" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "keccak", + "subtle 2.5.0", + "zeroize", +] + [[package]] name = "strsim" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" @@ -14583,9 +14838,9 @@ dependencies = [ [[package]] name = "strum" -version = "0.25.0" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" [[package]] name = "strum_macros" @@ -14602,15 +14857,15 @@ dependencies = [ [[package]] name = "strum_macros" -version = "0.25.3" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -14635,25 +14890,25 @@ dependencies = [ "byteorder", "crunchy", "lazy_static", - "rand 0.8.5", + "rand", "rustc-hex", ] [[package]] name = "substrate-build-script-utils" -version = "3.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" [[package]] name = "substrate-frame-rpc-system" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-system-rpc-runtime-api", "futures", "jsonrpsee", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-rpc-api", "sc-transaction-pool-api", "sp-api", @@ -14665,8 +14920,8 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "hyper", "log", @@ -14677,8 +14932,8 @@ dependencies = [ [[package]] name = "substrate-rpc-client" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "jsonrpsee", @@ -14690,11 +14945,11 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "jsonrpsee", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-client-api", "sc-rpc-api", "serde", @@ -14707,27 +14962,39 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" -version = "5.0.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ - "ansi_term", "build-helper", "cargo_metadata", + "console", "filetime", "parity-wasm", "sp-maybe-compressed-blob", "strum 0.24.1", "tempfile", - "toml 0.7.8", + "toml 0.8.14", "walkdir", "wasm-opt", ] +[[package]] +name = "substrate-wasm-builder-runner" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "316626afcac0219c95116e6a2518e622484c2814182bd225fbf4da4f67e27e8f" + +[[package]] +name = "subtle" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" + [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "subtle-ng" @@ -14748,9 +15015,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.57" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11a6ae1e52eb25aab8f3fb9fca13be982a373b8f1157ca14b897a825ba4a2d35" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", @@ -14769,6 +15036,17 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -14809,8 +15087,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", - "fastrand 2.0.2", - "rustix 0.38.32", + "fastrand 2.1.0", + "rustix 0.38.34", "windows-sys 0.52.0", ] @@ -14823,6 +15101,16 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "terminal_size" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +dependencies = [ + "rustix 0.38.34", + "windows-sys 0.48.0", +] + [[package]] name = "termtree" version = "0.4.1" @@ -14831,9 +15119,9 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] @@ -14855,18 +15143,18 @@ checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -14930,9 +15218,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.34" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", @@ -14951,33 +15239,14 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ "num-conv", "time-core", ] -[[package]] -name = "tiny-bip39" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" -dependencies = [ - "anyhow", - "hmac 0.12.1", - "once_cell", - "pbkdf2 0.11.0", - "rand 0.8.5", - "rustc-hash", - "sha2 0.10.8", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tiny-keccak" version = "2.0.2" @@ -15004,32 +15273,32 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", "libc", "mio", "num_cpus", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project-lite 0.2.14", "signal-hook-registry", - "socket2 0.5.6", + "socket2 0.5.7", "tokio-macros", "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -15039,7 +15308,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" dependencies = [ "pin-project", - "rand 0.8.5", + "rand", "tokio", ] @@ -15049,7 +15318,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.10", + "rustls 0.21.12", "tokio", ] @@ -15067,9 +15336,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", @@ -15077,7 +15346,6 @@ dependencies = [ "futures-sink", "pin-project-lite 0.2.14", "tokio", - "tracing", ] [[package]] @@ -15091,61 +15359,69 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.8" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.19.15", + "toml_edit 0.22.14", ] [[package]] -name = "toml" -version = "0.8.2" +name = "toml_datetime" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", - "serde_spanned", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.2.6", "toml_datetime", - "toml_edit 0.20.2", + "winnow 0.5.40", ] [[package]] -name = "toml_datetime" -version = "0.6.3" +name = "toml_edit" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" dependencies = [ - "serde", + "indexmap 2.2.6", + "toml_datetime", + "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.19.15" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap 2.2.6", - "serde", - "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.20.2" +version = "0.22.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.13", ] [[package]] @@ -15154,6 +15430,10 @@ version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite 0.2.14", "tower-layer", "tower-service", "tracing", @@ -15209,7 +15489,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -15234,11 +15514,10 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "coarsetime", - "polkadot-node-jaeger", "polkadot-primitives", "tracing", "tracing-gum-proc-macro", @@ -15246,14 +15525,14 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "5.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "expander 2.0.0", - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -15302,11 +15581,11 @@ dependencies = [ [[package]] name = "trie-db" -version = "0.27.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767abe6ffed88a1889671a102c2861ae742726f52e0a5a425b92c9fbfa7e9c85" +checksum = "ff28e0f815c2fea41ebddf148e008b077d2faddb026c9555b29696114d602642" dependencies = [ - "hash-db 0.16.0", + "hash-db", "hashbrown 0.13.2", "log", "rustc-hex", @@ -15319,17 +15598,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" dependencies = [ - "hash-db 0.16.0", -] - -[[package]] -name = "triehash" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1631b201eb031b563d2e85ca18ec8092508e262a3196ce9bd10a67ec87b9f5c" -dependencies = [ - "hash-db 0.15.2", - "rlp", + "hash-db", ] [[package]] @@ -15348,7 +15617,7 @@ dependencies = [ "idna 0.2.3", "ipnet", "lazy_static", - "rand 0.8.5", + "rand", "smallvec", "socket2 0.4.10", "thiserror", @@ -15369,7 +15638,7 @@ dependencies = [ "ipconfig", "lazy_static", "lru-cache", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "resolv-conf", "smallvec", "thiserror", @@ -15386,8 +15655,8 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "try-runtime-cli" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "0.38.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "async-trait", "clap", @@ -15395,7 +15664,7 @@ dependencies = [ "frame-try-runtime", "hex", "log", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "sc-cli", "sc-executor", "serde", @@ -15404,8 +15673,8 @@ dependencies = [ "sp-consensus-aura", "sp-consensus-babe", "sp-core", - "sp-debug-derive", - "sp-externalities", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-inherents", "sp-io", "sp-keystore", @@ -15434,7 +15703,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand 0.8.5", + "rand", "static_assertions", ] @@ -15476,18 +15745,18 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" @@ -15502,7 +15771,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", - "subtle", + "subtle 2.5.0", ] [[package]] @@ -15558,17 +15827,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "vergen" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7141e445af09c8919f1d5f8a20dae0b20c3b57a45dee0d5823c6ed5d237f15a" -dependencies = [ - "bitflags 1.3.2", - "chrono", - "rustc_version", -] - [[package]] name = "version_check" version = "0.9.4" @@ -15581,11 +15839,35 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +[[package]] +name = "w3f-bls" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c5da5fa2c6afa2c9158eaa7cd9aee249765eb32b5fb0c63ad8b9e79336a47ec" +dependencies = [ + "ark-bls12-377", + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-serialize-derive", + "arrayref", + "constcat", + "digest 0.10.7", + "rand", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "sha2 0.10.8", + "sha3", + "thiserror", + "zeroize", +] + [[package]] name = "waker-fn" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" [[package]] name = "walkdir" @@ -15648,7 +15930,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", "wasm-bindgen-shared", ] @@ -15682,7 +15964,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -15695,18 +15977,18 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-instrument" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" +checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc" dependencies = [ "parity-wasm", ] [[package]] name = "wasm-opt" -version = "0.114.2" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "effbef3bd1dde18acb401f73e740a6f3d4a1bc651e9773bddc512fe4d8d68f67" +checksum = "2fd87a4c135535ffed86123b6fb0f0a5a0bc89e50416c942c5f0662c645f679c" dependencies = [ "anyhow", "libc", @@ -15720,9 +16002,9 @@ dependencies = [ [[package]] name = "wasm-opt-cxx-sys" -version = "0.114.2" +version = "0.116.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c09e24eb283919ace2ed5733bda4842a59ce4c8de110ef5c6d98859513d17047" +checksum = "8c57b28207aa724318fcec6575fe74803c23f6f266fce10cbc9f3f116762f12e" dependencies = [ "anyhow", "cxx", @@ -15732,9 +16014,9 @@ dependencies = [ [[package]] name = "wasm-opt-sys" -version = "0.114.2" +version = "0.116.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f2f817bed2e8d65eb779fa37317e74de15585751f903c9118342d1970703a4" +checksum = "8a1cce564dc768dacbdb718fc29df2dba80bd21cb47d8f77ae7e3d95ceb98cbe" dependencies = [ "anyhow", "cc", @@ -15800,9 +16082,9 @@ dependencies = [ [[package]] name = "wasmparser-nostd" -version = "0.100.1" +version = "0.100.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9157cab83003221bfd385833ab587a039f5d6fa7304854042ba358a3b09e0724" +checksum = "d5a015fe95f3504a94bb1462c717aae75253e39b9dd6c3fb1062c934535c64aa" dependencies = [ "indexmap-nostd", ] @@ -15982,7 +16264,7 @@ dependencies = [ "memfd", "memoffset", "paste", - "rand 0.8.5", + "rand", "rustix 0.36.17", "wasmtime-asm-macros", "wasmtime-environ", @@ -16031,29 +16313,25 @@ dependencies = [ "webpki", ] -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - [[package]] name = "westend-runtime" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "binary-merkle-tree", - "bitvec 1.0.1", + "bitvec", "frame-benchmarking", "frame-election-provider-support", "frame-executive", + "frame-metadata-hash-extension", "frame-support", "frame-system", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", - "hex-literal 0.4.1", + "hex-literal", "log", + "pallet-asset-rate", "pallet-authority-discovery", "pallet-authorship", "pallet-babe", @@ -16062,6 +16340,7 @@ dependencies = [ "pallet-beefy", "pallet-beefy-mmr", "pallet-collective", + "pallet-conviction-voting", "pallet-democracy", "pallet-election-provider-multi-phase", "pallet-election-provider-support-benchmarking", @@ -16083,6 +16362,8 @@ dependencies = [ "pallet-preimage", "pallet-proxy", "pallet-recovery", + "pallet-referenda", + "pallet-root-testing", "pallet-scheduler", "pallet-session", "pallet-session-benchmarking", @@ -16098,9 +16379,10 @@ dependencies = [ "pallet-treasury", "pallet-utility", "pallet-vesting", + "pallet-whitelist", "pallet-xcm", "pallet-xcm-benchmarks", - "parity-scale-codec 3.6.9", + "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-common", @@ -16112,11 +16394,13 @@ dependencies = [ "smallvec", "sp-api", "sp-application-crypto", + "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", "sp-core", + "sp-genesis-builder", "sp-inherents", "sp-io", "sp-mmr-primitives", @@ -16125,8 +16409,8 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std", - "sp-storage", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "sp-transaction-pool", "sp-version", "staging-xcm", @@ -16138,8 +16422,8 @@ dependencies = [ [[package]] name = "westend-runtime-constants" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "frame-support", "polkadot-primitives", @@ -16148,6 +16432,8 @@ dependencies = [ "sp-core", "sp-runtime", "sp-weights", + "staging-xcm", + "staging-xcm-builder", ] [[package]] @@ -16159,14 +16445,14 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.32", + "rustix 0.38.34", ] [[package]] name = "wide" -version = "0.7.15" +version = "0.7.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89beec544f246e679fc25490e3f8e08003bc4bf612068f325120dad4cea02c1c" +checksum = "1134eff459f1063780b94cc78b704e2212cac12abd554e4268f5b8f9dfcc1883" dependencies = [ "bytemuck", "safe_arch", @@ -16174,9 +16460,9 @@ dependencies = [ [[package]] name = "widestring" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" [[package]] name = "winapi" @@ -16196,11 +16482,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -16234,7 +16520,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -16261,7 +16547,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -16296,17 +16582,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "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", ] [[package]] @@ -16323,9 +16610,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -16341,9 +16628,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -16359,9 +16646,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.4" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -16377,9 +16670,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -16395,9 +16688,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -16413,9 +16706,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" @@ -16431,9 +16724,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" @@ -16444,6 +16737,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winnow" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.50.0" @@ -16454,12 +16756,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "wyz" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" - [[package]] name = "wyz" version = "0.5.1" @@ -16513,11 +16809,11 @@ dependencies = [ [[package]] name = "xcm-primitives" version = "0.1.1" -source = "git+https://github.com/moonbeam-foundation/moonbeam?tag=v0.34.1#29e8d79f1a7cdb195bd17b1788e9e613055c3575" +source = "git+https://github.com/moonbeam-foundation/moonbeam?tag=v0.37.3#8081fdffb4d3d294dc5bbbb0ae8f02c348619499" dependencies = [ "cumulus-primitives-core", "ethereum", - "ethereum-types 0.14.1", + "ethereum-types", "frame-benchmarking", "frame-support", "frame-system", @@ -16526,13 +16822,14 @@ dependencies = [ "log", "orml-traits", "pallet-staking", - "parity-scale-codec 3.6.9", + "parity-scale-codec", + "polkadot-runtime-common", "scale-info", "serde", - "sha3 0.10.8", + "sha3", "sp-io", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -16540,13 +16837,13 @@ dependencies = [ [[package]] name = "xcm-procedural" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.1.0#c8d2251cafadc108ba2f1f8a3208dc547ff38901" +version = "7.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.7.2#c00ca35b403a95e344d03e229b3f85baa3b96c89" dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] @@ -16558,8 +16855,8 @@ dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.1", - "rand 0.8.5", + "parking_lot 0.12.3", + "rand", "static_assertions", ] @@ -16574,29 +16871,29 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -16609,7 +16906,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.57", + "syn 2.0.66", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 19c481087d..03a3b0506a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -54,178 +54,165 @@ repository = "https://github.com/centrifuge/centrifuge-chain" documentation = "https://reference.centrifuge.io/centrifuge_chain/index.html" [workspace.dependencies] -hex-literal = { version = "0.3.4" } +hex-literal = { version = "0.4.1" } hex = { version = "0.4.3", default-features = false } -smallvec = "1.6.1" -serde = { version = "1.0.119", default-features = false, features = ["derive"] } -parity-scale-codec = { version = "3.0", default-features = false, features = ["derive"] } -scale-info = { version = "2.3.0", default-features = false, features = ["derive"] } -log = { version = "0.4", default-features = false } -getrandom = { version = "0.2", features = ["js"] } +smallvec = "1.11.0" +serde = { version = "1.0.195", default-features = false, features = ["derive"] } +serde_json = { version = "1.0.111" } +parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] } +scale-info = { version = "2.10.0", default-features = false, features = ["derive"] } +log = { version = "0.4.20", default-features = false } static_assertions = "1.1.0" lazy_static = "1.4.0" thiserror = "1.0.30" -tokio = { version = "1.15", features = ["macros"] } -tracing-subscriber = "0.2" -ethabi = { version = "16.0", default-features = false } -ethereum = { version = "0.14.0", default-features = false } -async-trait = "0.1" -clap = { version = "4.0.9", features = ["derive"] } -futures = "0.3.25" -jsonrpsee = { version = "0.16.2", features = ["server", "macros"] } -url = "2.2.2" +tokio = { version = "1.32.0", features = ["macros"] } +tracing-subscriber = "0.2.25" +ethabi = { version = "18.0", default-features = false } +ethereum = { version = "0.15.0", default-features = false } +async-trait = "0.1.74" +clap = { version = "4.4.18", features = ["derive"] } +futures = "0.3.28" +jsonrpsee = { version = "0.20.3", features = ["server", "macros"] } +url = "2.4.0" tempfile = "3.1.0" -strum = { version = "0.24", default-features = false, features = ["derive"] } -bitflags = { version = "1.3" } +strum = { version = "0.24.1", default-features = false, features = ["derive"] } +bitflags = { version = "1.3.2" } rand = { version = "0.8.5", default-features = false } rev_slice = { version = "0.1.5", default-features = false } -impl-trait-for-tuples = "0.2.1" -num-traits = { version = "0.2", default-features = false } +impl-trait-for-tuples = "0.2.2" +num-traits = { version = "0.2.17", default-features = false } num_enum = { version = "0.5.3", default-features = false } chrono = { version = "0.4", default-features = false } # Cumulus -cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-pallet-session-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-primitives-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-client-network = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } +cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-pallet-session-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-primitives-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-client-network = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } -pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -parachain-info = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } +pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +staging-parachain-info = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } # Polkadot -pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -staging-xcm = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -staging-xcm-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -staging-xcm-executor = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -rococo-runtime = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -staging-kusama-runtime = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -polkadot-runtime = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -polkadot-core-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -polkadot-node-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -polkadot-service = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } +pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +staging-xcm = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +staging-xcm-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +staging-xcm-executor = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +rococo-runtime = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +polkadot-core-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +polkadot-node-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +polkadot-service = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } # Substrate -sc-service = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-network = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-consensus-beefy = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-core = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-io = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-session = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-std = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-version = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-staking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } +sc-service = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-network = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-consensus-beefy = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-core = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-io = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-session = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-std = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-version = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-staking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } frame-support = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, features = [ "tuples-96", -], branch = "release-polkadot-v1.1.0" } # Check when tuples-96 can be removed -frame-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-babe = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-im-online = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-democracy = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-elections-phragmen = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-identity = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, features = ["historical"], branch = "release-polkadot-v1.1.0" } -pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-uniques = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-vesting = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } +], branch = "release-polkadot-v1.7.2" } # Check when tuples-96 can be removed +frame-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-babe = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-im-online = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-democracy = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-elections-phragmen = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-identity = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, features = ["historical"], branch = "release-polkadot-v1.7.2" } +pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-uniques = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-vesting = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } -frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } -try-runtime-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.1.0" } +frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } +try-runtime-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, branch = "release-polkadot-v1.7.2" } -# Orml -orml-asset-registry = { git = "https://github.com/open-web3-stack/open-runtime-module-library", default-features = false, branch = "polkadot-v1.1.0" } -orml-tokens = { git = "https://github.com/open-web3-stack/open-runtime-module-library", default-features = false, branch = "polkadot-v1.1.0" } -orml-traits = { git = "https://github.com/open-web3-stack/open-runtime-module-library", default-features = false, branch = "polkadot-v1.1.0" } -orml-xcm = { git = "https://github.com/open-web3-stack/open-runtime-module-library", default-features = false, branch = "polkadot-v1.1.0" } -orml-xcm-support = { git = "https://github.com/open-web3-stack/open-runtime-module-library", default-features = false, branch = "polkadot-v1.1.0" } -orml-xtokens = { git = "https://github.com/open-web3-stack/open-runtime-module-library", default-features = false, branch = "polkadot-v1.1.0" } - -# Centrifuge organization -fudge = { git = "https://github.com/centrifuge/fudge", branch = "polkadot-v1.1.0" } -fudge-core = { git = "https://github.com/centrifuge/fudge", branch = "polkadot-v1.1.0" } -chainbridge = { git = "https://github.com/centrifuge/chainbridge-substrate.git", default-features = false, branch = "polkadot-v1.1.0" } - -# Foss3 -mock-builder = { git = "https://github.com/foss3/runtime-pallet-library", branch = "polkadot-v1.1.0" } -pallet-remarks = { git = "https://github.com/foss3/runtime-pallet-library", branch = "polkadot-v1.1.0", default-features = false } +# Build dependencies +substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } # Centrifuge pallets axelar-gateway-precompile = { path = "pallets/liquidity-pools-gateway/axelar-gateway-precompile", default-features = false } @@ -273,45 +260,60 @@ altair-runtime = { path = "runtime/altair", default-features = false } centrifuge-runtime = { path = "runtime/centrifuge", default-features = false } runtime-integration-tests-proc-macro = { path = "runtime/integration-tests/procedural" } -# Build dependencies -substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -vergen = "3.0.4" +# Orml +orml-asset-registry = { git = "https://github.com/moonbeam-foundation/open-runtime-module-library", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +orml-tokens = { git = "https://github.com/moonbeam-foundation/open-runtime-module-library", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +orml-traits = { git = "https://github.com/moonbeam-foundation/open-runtime-module-library", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +orml-xcm = { git = "https://github.com/moonbeam-foundation/open-runtime-module-library", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +orml-xcm-support = { git = "https://github.com/moonbeam-foundation/open-runtime-module-library", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +orml-xtokens = { git = "https://github.com/moonbeam-foundation/open-runtime-module-library", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } + +# Centrifuge organization +fudge = { git = "https://github.com/centrifuge/fudge", branch = "polkadot-v1.7.2" } +fudge-core = { git = "https://github.com/centrifuge/fudge", branch = "polkadot-v1.7.2" } +chainbridge = { git = "https://github.com/centrifuge/chainbridge-substrate.git", default-features = false, branch = "polkadot-v1.7.2" } + +# Foss3 +mock-builder = { git = "https://github.com/foss3/runtime-pallet-library", branch = "polkadot-v1.7.2" } +pallet-remarks = { git = "https://github.com/foss3/runtime-pallet-library", branch = "polkadot-v1.7.2", default-features = false } # Moonbeam fork of polkadot-evm/frontier -fp-rpc = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -fp-self-contained = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0", features = ["serde"] } -pallet-base-fee = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -pallet-ethereum = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0", features = [ +fp-rpc = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +fp-self-contained = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2", features = [ + "serde", +] } +pallet-base-fee = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +pallet-ethereum = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2", features = [ "forbid-evm-reentrancy", ] } -pallet-evm = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0", features = [ +pallet-evm = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2", features = [ "forbid-evm-reentrancy", ] } -pallet-evm-chain-id = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-blake2 = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-bn128 = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-dispatch = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-modexp = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-sha3fips = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-simple = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -fc-consensus = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -fc-db = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0", features = ["rocksdb"] } -fc-mapping-sync = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -fc-rpc = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -fc-rpc-core = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -fp-consensus = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -fp-evm = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -fp-storage = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } -fp-dynamic-fee = { git = "https://github.com/lemunozm/frontier", default-features = false, branch = "moonbeam-polkadot-v1.1.0" } +pallet-evm-chain-id = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +pallet-evm-precompile-blake2 = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +pallet-evm-precompile-bn128 = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +pallet-evm-precompile-dispatch = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +pallet-evm-precompile-modexp = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +pallet-evm-precompile-sha3fips = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +pallet-evm-precompile-simple = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +fc-api = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +fc-consensus = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +fc-db = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2", features = ["rocksdb"] } +fc-mapping-sync = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +fc-rpc = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +fc-rpc-core = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +fp-consensus = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +fp-evm = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +fp-storage = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } +fp-dynamic-fee = { git = "https://github.com/moonbeam-foundation/frontier", default-features = false, branch = "moonbeam-polkadot-v1.7.2" } -# Moonbeam (tag v0.34.1 => version using a moonbeam fork related to polkadot v1.1.0) +# Moonbeam (tag v0.34.1 => version using a moonbeam fork related to polkadot v1.3.0) # WARN: Moonbeam dependencies use forks of polkadot, orml and frontier repos. # We need to patch their dependencies to avoid duplicate same crates. -xcm-primitives = { git = "https://github.com/moonbeam-foundation/moonbeam", default-features = false, tag = "v0.34.1" } -pallet-xcm-transactor = { git = "https://github.com/moonbeam-foundation/moonbeam", default-features = false, tag = "v0.34.1" } -pallet-evm-precompile-balances-erc20 = { git = "https://github.com/moonbeam-foundation/moonbeam", default-features = false, tag = "v0.34.1" } -precompile-utils = { git = "https://github.com/moonbeam-foundation/moonbeam", default-features = false, tag = "v0.34.1" } +xcm-primitives = { git = "https://github.com/moonbeam-foundation/moonbeam", default-features = false, tag = "v0.37.3" } +pallet-xcm-transactor = { git = "https://github.com/moonbeam-foundation/moonbeam", default-features = false, tag = "v0.37.3" } +pallet-evm-precompile-balances-erc20 = { git = "https://github.com/moonbeam-foundation/moonbeam", default-features = false, tag = "v0.37.3" } +precompile-utils = { git = "https://github.com/moonbeam-foundation/moonbeam", default-features = false, tag = "v0.37.3" } # Cargo patch for moonbeam crates # @@ -323,85 +325,63 @@ precompile-utils = { git = "https://github.com/moonbeam-foundation/moonbeam", de # # How to know if we should add new patches? # - Do `cargo tree` -# - Search for `moonbeam-foundation/polkadot-sdk` or `moonbeam-foundation-open-runtime-module-library` +# - Search for `moonbeam-foundation/polkadot-sdk` or `moonbeam-foundation/open-runtime-module-library` # - For any occurence found, add here a patch. [patch."https://github.com/moonbeam-foundation/polkadot-sdk"] -frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -pallet-staking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-core-hashing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-debug-derive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-storage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-runtime-interface-proc-macro = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-wasm-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-api-proc-macro = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-state-machine = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-panic-handler = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-core-hashing-proc-macro = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-version-proc-macro = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -staging-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -staging-xcm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -staging-xcm-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-database = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-network-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } -substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.1.0" } - -[patch."https://github.com/moonbeam-foundation/open-runtime-module-library"] -orml-traits = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v1.1.0" } +frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +pallet-staking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-core-hashing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-debug-derive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-storage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-runtime-interface-proc-macro = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-wasm-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-api-proc-macro = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-state-machine = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-panic-handler = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-version-proc-macro = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +staging-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +staging-xcm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +staging-xcm-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-database = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-network-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } +polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.7.2" } -# TODO: This patches can be removed when we get rid off `lemunozm` fork. -# We need to do this to avoid lemunozm/frontier dependencies to point to the original fork moonbeam-foundation/frontier which will fetch `evm-private` that we do not have git access. -[patch."https://github.com/moonbeam-foundation/frontier"] -fp-rpc = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -fp-self-contained = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -pallet-base-fee = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -pallet-ethereum = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-chain-id = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-blake2 = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-bn128 = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-dispatch = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-modexp = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-sha3fips = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -pallet-evm-precompile-simple = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -fc-consensus = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -fc-db = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -fc-mapping-sync = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -fc-rpc = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -fc-rpc-core = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -fp-consensus = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -fp-evm = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } -fp-storage = { git = "https://github.com/lemunozm/frontier", branch = "moonbeam-polkadot-v1.1.0" } +# Check issue: https://github.com/paritytech/arkworks-substrate/issues/9 +[patch."https://github.com/paritytech/polkadot-sdk"] +sp-crypto-ec-utils = { git = "https://github.com/paritytech//polkadot-sdk", branch = "release-polkadot-v1.7.2" } diff --git a/ci/run-check.sh b/ci/run-check.sh index 167786a49f..0bc6dea814 100755 --- a/ci/run-check.sh +++ b/ci/run-check.sh @@ -22,7 +22,9 @@ case $TARGET in ;; lint-fmt) - cargo fmt -- --check + # We need the `+nightly` as long as the used toolchain is the stable version + # in order to allow using the formatter unstable options + cargo +nightly fmt -- --check ;; lint-taplo) diff --git a/docker/docker-compose-local-relay.yml b/docker/docker-compose-local-relay.yml index cf1afd7c18..69196bf790 100644 --- a/docker/docker-compose-local-relay.yml +++ b/docker/docker-compose-local-relay.yml @@ -4,7 +4,7 @@ version: '3.4' services: node_alice: container_name: alice - image: "parity/polkadot:v1.0.0" + image: "parity/polkadot:v1.7.2" platform: "linux/x86_64" ports: - "30333:30333" @@ -30,7 +30,7 @@ services: node_bob: container_name: bob - image: "parity/polkadot:v1.0.0" + image: "parity/polkadot:v1.7.2" platform: "linux/x86_64" ports: - "30344:30333" diff --git a/libs/mocks/Cargo.toml b/libs/mocks/Cargo.toml index e4ce69f4d5..5d0160bc2c 100644 --- a/libs/mocks/Cargo.toml +++ b/libs/mocks/Cargo.toml @@ -47,7 +47,6 @@ std = [ "sp-runtime/std", "orml-traits/std", "staging-xcm/std", - "mock-builder/std", ] runtime-benchmarks = [ "frame-support/runtime-benchmarks", diff --git a/libs/mocks/src/asset_registry.rs b/libs/mocks/src/asset_registry.rs index 195cba6a63..2f6f103df8 100644 --- a/libs/mocks/src/asset_registry.rs +++ b/libs/mocks/src/asset_registry.rs @@ -4,7 +4,7 @@ pub mod pallet { use mock_builder::{execute_call, register_call}; use orml_traits::asset_registry::{AssetMetadata, Inspect, Mutate}; use sp_std::fmt::Debug; - use staging_xcm::{v3::prelude::MultiLocation, VersionedMultiLocation}; + use staging_xcm::{v4::Location, VersionedLocation}; #[pallet::config] pub trait Config: frame_system::Config { @@ -21,7 +21,7 @@ pub mod pallet { type CallIds = StorageMap<_, _, String, mock_builder::CallId>; impl Pallet { - pub fn mock_asset_id(f: impl Fn(&MultiLocation) -> Option + 'static) { + pub fn mock_asset_id(f: impl Fn(&Location) -> Option + 'static) { register_call!(f); } @@ -36,7 +36,7 @@ pub mod pallet { pub fn mock_metadata_by_location( f: impl Fn( - &MultiLocation, + &Location, ) -> Option> + 'static, ) { @@ -44,7 +44,7 @@ pub mod pallet { } pub fn mock_location( - f: impl Fn(&T::AssetId) -> Result, DispatchError> + 'static, + f: impl Fn(&T::AssetId) -> Result, DispatchError> + 'static, ) { register_call!(f); } @@ -66,7 +66,7 @@ pub mod pallet { Option>, Option>, Option, - Option>, + Option>, Option, ) -> DispatchResult + 'static, @@ -81,7 +81,7 @@ pub mod pallet { type CustomMetadata = T::CustomMetadata; type StringLimit = T::StringLimit; - fn asset_id(a: &MultiLocation) -> Option { + fn asset_id(a: &Location) -> Option { execute_call!(a) } @@ -92,12 +92,12 @@ pub mod pallet { } fn metadata_by_location( - a: &MultiLocation, + a: &Location, ) -> Option> { execute_call!(a) } - fn location(a: &Self::AssetId) -> Result, DispatchError> { + fn location(a: &Self::AssetId) -> Result, DispatchError> { execute_call!(a) } } @@ -116,7 +116,7 @@ pub mod pallet { c: Option>, d: Option>, e: Option, - g: Option>, + g: Option>, h: Option, ) -> DispatchResult { execute_call!((a, b, c, d, e, g, h)) diff --git a/libs/mocks/src/lib.rs b/libs/mocks/src/lib.rs index af80943db1..eec8873049 100644 --- a/libs/mocks/src/lib.rs +++ b/libs/mocks/src/lib.rs @@ -57,11 +57,9 @@ macro_rules! make_runtime_for_mock { ($runtime_name:ident, $mock_name:ident, $pallet:ident, $externalities:ident) => { use $crate::reexport::{ frame_support, - frame_support::traits::{ConstU16, ConstU32, ConstU64, Everything}, + frame_support::derive_impl, frame_system, - sp_core::H256, sp_io, - sp_runtime::traits::{BlakeTwo256, IdentityLookup}, }; frame_support::construct_runtime!( @@ -71,31 +69,10 @@ macro_rules! make_runtime_for_mock { } ); - impl frame_system::Config for Runtime { - type AccountData = (); - type AccountId = u64; - type BaseCallFilter = Everything; - type Block = frame_system::mocking::MockBlock; - type BlockHashCount = ConstU64<250>; - type BlockLength = (); - type BlockWeights = (); - type DbWeight = (); - type Hash = H256; - type Hashing = BlakeTwo256; - type Lookup = IdentityLookup; - type MaxConsumers = ConstU32<16>; - type Nonce = u64; - type OnKilledAccount = (); - type OnNewAccount = (); - type OnSetCode = (); - type PalletInfo = PalletInfo; - type RuntimeCall = RuntimeCall; - type RuntimeEvent = RuntimeEvent; - type RuntimeOrigin = RuntimeOrigin; - type SS58Prefix = ConstU16<42>; - type SystemWeightInfo = (); - type Version = (); - } + #[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)] + impl frame_system::Config for Runtime { + type Block = frame_system::mocking::MockBlock; + } pub fn $externalities() -> sp_io::TestExternalities { sp_io::TestExternalities::default() diff --git a/libs/test-utils/src/mocks/orml_asset_registry.rs b/libs/test-utils/src/mocks/orml_asset_registry.rs index 84a150239d..1197214415 100644 --- a/libs/test-utils/src/mocks/orml_asset_registry.rs +++ b/libs/test-utils/src/mocks/orml_asset_registry.rs @@ -12,8 +12,8 @@ pub mod reexport { pub use staging_xcm::{ - v3::prelude::MultiLocation as __private_MultiLocation, - VersionedMultiLocation as __private_VersionedMultiLocation, + v4::prelude::Location as __private_Location, + VersionedLocation as __private_VersionedLocation, }; } @@ -36,7 +36,7 @@ macro_rules! impl_mock_registry { }; use sp_runtime::{BoundedVec, BuildStorage}; use $crate::mocks::orml_asset_registry::reexport::{ - __private_MultiLocation, __private_VersionedMultiLocation, + __private_Location, __private_VersionedLocation, }; use super::*; @@ -49,7 +49,7 @@ macro_rules! impl_mock_registry { type CustomMetadata = $custom_metadata; type StringLimit = $string_limit; - fn asset_id(location: &__private_MultiLocation) -> Option { + fn asset_id(location: &__private_Location) -> Option { __private::STATE.with(|s| s.borrow().get_asset_from_location(location)) } @@ -62,7 +62,7 @@ macro_rules! impl_mock_registry { } fn metadata_by_location( - location: &__private_MultiLocation, + location: &__private_Location, ) -> Option< __private_AssetMetadata, > { @@ -71,7 +71,7 @@ macro_rules! impl_mock_registry { fn location( asset_id: &Self::AssetId, - ) -> Result, __private_DispatchError> { + ) -> Result, __private_DispatchError> { let maybe_location = __private::STATE.with(|s| s.borrow().get_location(asset_id)); @@ -103,7 +103,7 @@ macro_rules! impl_mock_registry { name: Option>, symbol: Option>, existential_deposit: Option, - location: Option>, + location: Option>, additional: Option, ) -> __private_DispatchResult { __private::STATE.with(|s| { @@ -192,7 +192,7 @@ macro_rules! impl_mock_registry { use super::*; pub struct RegistryState { - pub location_to_asset: Vec<(__private_MultiLocation, $asset_id)>, + pub location_to_asset: Vec<(__private_Location, $asset_id)>, pub metadata: Vec<( $asset_id, __private_AssetMetadata<$balance, $custom_metadata, $string_limit>, @@ -230,10 +230,7 @@ macro_rules! impl_mock_registry { Ok(()) } - pub fn get_location( - &self, - asset_id: &$asset_id, - ) -> Option<__private_MultiLocation> { + pub fn get_location(&self, asset_id: &$asset_id) -> Option<__private_Location> { for (curr_id, meta) in &self.metadata { if curr_id == asset_id { return meta @@ -249,7 +246,7 @@ macro_rules! impl_mock_registry { pub fn get_asset_from_location( &self, - location: &__private_MultiLocation, + location: &__private_Location, ) -> Option<$asset_id> { for (curr_location, asset_id) in &self.location_to_asset { if curr_location == location { @@ -262,7 +259,7 @@ macro_rules! impl_mock_registry { pub fn get_meta_from_location( &self, - location: &__private_MultiLocation, + location: &__private_Location, ) -> Option<__private_AssetMetadata<$balance, $custom_metadata, $string_limit>> { let asset_id = self.get_asset_from_location(location)?; @@ -276,7 +273,7 @@ macro_rules! impl_mock_registry { name: Option>, symbol: Option>, existential_deposit: Option<$balance>, - location: Option>, + location: Option>, additional: Option<$custom_metadata>, ) -> __private_DispatchResult { for (curr_id, curr_meta) in &mut self.metadata { diff --git a/libs/types/src/locations.rs b/libs/types/src/locations.rs index cf8009965e..5427e1d5c8 100644 --- a/libs/types/src/locations.rs +++ b/libs/types/src/locations.rs @@ -14,76 +14,25 @@ use cfg_primitives::AccountId; use frame_support::RuntimeDebugNoBound; use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; -use sp_core::{crypto::AccountId32, H256}; -use sp_runtime::traits::{BlakeTwo256, Hash}; -use staging_xcm::VersionedMultiLocation; +use sp_core::crypto::AccountId32; +use sp_std::boxed::Box; +use staging_xcm::VersionedLocation; use crate::domain_address::DomainAddress; + /// Location types for destinations that can receive restricted transfers #[derive(Clone, RuntimeDebugNoBound, Encode, Decode, Eq, PartialEq, MaxEncodedLen, TypeInfo)] -pub enum Location { +pub enum RestrictedTransferLocation { /// Local chain account sending destination. Local(AccountId), - /// XCM MultiLocation sending destinations. - /// Using hash value here as Multilocation is large -- v1 is 512 bytes, but - /// next largest is only 40 bytes other values aren't hashed as we have - /// blake2 hashing on storage map keys, and we don't want the extra overhead - XCM(H256), + /// XCM Location sending destinations. + Xcm(Box), /// DomainAddress sending location from a liquidity pools' instance Address(DomainAddress), } -impl From for Location { +impl From for RestrictedTransferLocation { fn from(value: AccountId32) -> Self { Self::Local(value) } } - -impl From for Location { - fn from(vml: VersionedMultiLocation) -> Self { - // using hash here as multilocation is significantly larger than any other enum - // type here -- 592 bytes, vs 40 bytes for domain address (next largest) - Self::XCM(BlakeTwo256::hash(&vml.encode())) - } -} - -impl From for Location { - fn from(da: DomainAddress) -> Self { - Self::Address(da) - } -} - -#[cfg(test)] -mod test { - - use hex::FromHex; - use staging_xcm::v3::MultiLocation; - - use super::*; - - #[test] - fn from_xcm_versioned_address_works() { - let xa = VersionedMultiLocation::V3(MultiLocation::default()); - let l = Location::from(xa.clone()); - assert_eq!( - l, - Location::XCM(sp_core::H256( - <[u8; 32]>::from_hex( - "a943e30c855a123a9506e69e678dc65ae9f5b70149cb6b26eb2ed58a59b4bf77" - ) - .unwrap() - )) - ); - } - - #[test] - fn from_domain_address_works() { - let da = DomainAddress::EVM( - 1284, - <[u8; 20]>::from_hex("1231231231231231231231231231231231231231").unwrap(), - ); - let l = Location::from(da.clone()); - - assert_eq!(l, Location::Address(da)) - } -} diff --git a/libs/types/src/portfolio.rs b/libs/types/src/portfolio.rs index a8a831598b..f7a8f877c7 100644 --- a/libs/types/src/portfolio.rs +++ b/libs/types/src/portfolio.rs @@ -25,7 +25,7 @@ use sp_std::{cmp::Ordering, marker::PhantomData, vec::Vec}; /// The total NAV is based on the reserve, the assets under management (AUM) and /// pool fees: /// -/// ```ignore +/// ```text /// NAV = PoolReserve + AUM - PoolFees /// ``` /// diff --git a/node/Cargo.toml b/node/Cargo.toml index 4a7166951d..774011eaa1 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -31,10 +31,12 @@ jsonrpsee = { workspace = true, default-features = true } log = { workspace = true, default-features = true } parity-scale-codec = { default-features = true, workspace = true } serde = { workspace = true, default-features = true } +serde_json = { workspace = true, default-features = true } url = { workspace = true, default-features = true } # client dependencies pallet-transaction-payment-rpc = { workspace = true, default-features = true } +pallet-transaction-payment-rpc-runtime-api = { workspace = true, default-features = true } sc-basic-authorship = { workspace = true, default-features = true } sc-chain-spec = { workspace = true, default-features = true } sc-cli = { workspace = true, default-features = true, features = ["rocksdb"] } @@ -106,6 +108,7 @@ pallet-pool-system = { workspace = true, default-features = true } runtime-common = { workspace = true, default-features = true } # frontier +fc-api = { workspace = true, default-features = true } fc-consensus = { workspace = true, default-features = true } fc-db = { workspace = true, default-features = true, features = ["rocksdb"] } fc-mapping-sync = { workspace = true, default-features = true } @@ -121,7 +124,6 @@ pallet-evm = { workspace = true, default-features = true } [build-dependencies] substrate-build-script-utils = { workspace = true, default-features = true } -vergen = { workspace = true, default-features = true } [features] default = [] diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index edcf584c96..dd7945d0ea 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -40,16 +40,14 @@ use runtime_common::{account_conversion::AccountConverter, evm::precompile::H160 use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup}; use sc_service::{ChainType, Properties}; use serde::{Deserialize, Serialize}; -use sp_core::{crypto::UncheckedInto, sr25519, Encode, Pair, Public, H160}; +use sp_core::{sr25519, Encode, Pair, Public, H160}; use sp_runtime::{ traits::{IdentifyAccount, Verify}, FixedPointNumber, }; use staging_xcm::{ - latest::{MultiLocation, NetworkId}, - prelude::{ - AccountKey20, GeneralIndex, GeneralKey, GlobalConsensus, PalletInstance, Parachain, X2, X3, - }, + latest::{Location, NetworkId}, + prelude::{AccountKey20, GeneralIndex, GeneralKey, GlobalConsensus, PalletInstance, Parachain}, }; /// Specialized `ChainSpec` instances for our runtimes. @@ -146,30 +144,26 @@ pub fn centrifuge_local(para_id: ParaId) -> CentrifugeChainSpec { properties.insert("tokenSymbol".into(), "DCFG".into()); properties.insert("tokenDecimals".into(), currency_decimals::NATIVE.into()); - CentrifugeChainSpec::from_genesis( - "Centrifuge Local", - "centrifuge_local", - ChainType::Local, - move || { - centrifuge_genesis( - vec![( - get_account_id_from_seed::("Alice"), - get_from_seed::("Alice"), - )], - endowed_accounts(), - endowed_evm_accounts(), - Some(100000000 * CFG), - para_id, - council_members_bootstrap(), - ) - }, - vec![], - None, - None, - None, - Some(properties), + CentrifugeChainSpec::builder( + centrifuge_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), development_extensions(para_id.into()), ) + .with_name("Centrifuge Local") + .with_id("centrifuge_local") + .with_chain_type(ChainType::Local) + .with_genesis_config_patch(centrifuge_genesis( + vec![( + get_account_id_from_seed::("Alice"), + get_from_seed::("Alice"), + )], + endowed_accounts(), + endowed_evm_accounts(), + Some(100000000 * CFG), + para_id, + council_members_bootstrap(), + )) + .with_properties(properties) + .build() } pub fn catalyst_config() -> CentrifugeChainSpec { @@ -184,70 +178,35 @@ pub fn altair_config() -> AltairChainSpec { .unwrap() } -pub fn altair_local(para_id: ParaId) -> AltairChainSpec { - let mut properties = Properties::new(); - properties.insert("tokenSymbol".into(), "DAIR".into()); - properties.insert("tokenDecimals".into(), currency_decimals::NATIVE.into()); - - AltairChainSpec::from_genesis( - "Altair Local", - "altair_local", - ChainType::Local, - move || { - altair_genesis( - vec![( - get_account_id_from_seed::("Alice"), - get_from_seed::("Alice"), - )], - endowed_accounts(), - endowed_evm_accounts(), - Some(100000000 * AIR), - para_id, - council_members_bootstrap(), - ) - }, - vec![], - None, - None, - None, - Some(properties), - development_extensions(para_id.into()), - ) +pub fn demo_config() -> DevelopmentChainSpec { + DevelopmentChainSpec::from_json_bytes(&include_bytes!("../res/demo-spec-raw.json")[..]).unwrap() } -pub fn demo(para_id: ParaId) -> DevelopmentChainSpec { +pub fn altair_local(para_id: ParaId) -> AltairChainSpec { let mut properties = Properties::new(); - properties.insert("tokenSymbol".into(), "DEMO".into()); + properties.insert("tokenSymbol".into(), "DAIR".into()); properties.insert("tokenDecimals".into(), currency_decimals::NATIVE.into()); - DevelopmentChainSpec::from_genesis( - "Demo Live", - "demo_live", - ChainType::Live, - move || { - development_genesis( - // kANEUrMbi9xC16AfL5vSGwfvBVRoRdfWoQ8abPiXi5etFxpdP - hex!["e0c426785313bb7e712d66dce43ccb81a7eaef373784511fb508fff4b5df3305"].into(), - vec![( - // kAHJNhAragKRrAb9X8JxSNYoqPqv36TspSwdSuyMfxGKUmfdH - hex!["068f3bd4ed27bb83da8fdebbb4deba6b3b3b83ff47c8abad11e5c48c74c20b11"].into(), - // kAKXFWse8rghi8mbAFB4RaVyZu6XZXq5i9wv7uYakZ3vQcxMR - hex!["68d9baaa081802f8ec50d475b654810b158cdcb23e11c43815a6549f78f1b34f"] - .unchecked_into(), - )], - demo_endowed_accounts(), - vec![], - Some(100000000 * CFG), - para_id, - ) - }, - vec![], - None, - None, - None, - Some(properties), + AltairChainSpec::builder( + altair_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), development_extensions(para_id.into()), ) + .with_name("Altair Local") + .with_id("altair_local") + .with_chain_type(ChainType::Local) + .with_genesis_config_patch(altair_genesis( + vec![( + get_account_id_from_seed::("Alice"), + get_from_seed::("Alice"), + )], + endowed_accounts(), + endowed_evm_accounts(), + Some(100000000 * AIR), + para_id, + council_members_bootstrap(), + )) + .with_properties(properties) + .build() } pub fn development(para_id: ParaId) -> DevelopmentChainSpec { @@ -255,51 +214,26 @@ pub fn development(para_id: ParaId) -> DevelopmentChainSpec { properties.insert("tokenSymbol".into(), "DEVEL".into()); properties.insert("tokenDecimals".into(), currency_decimals::NATIVE.into()); - DevelopmentChainSpec::from_genesis( - "Dev Live", - "devel_live", - ChainType::Live, - move || { - development_genesis( - get_account_id_from_seed::("Alice"), - vec![( - get_account_id_from_seed::("Alice"), - get_from_seed::("Alice"), - )], - endowed_accounts(), - endowed_evm_accounts(), - Some(10000000 * CFG), - para_id, - ) - }, - vec![], - None, - None, - None, - Some(properties), + DevelopmentChainSpec::builder( + development_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), development_extensions(para_id.into()), ) -} - -fn demo_endowed_accounts() -> Vec { - vec![ - //kANEUrMbi9xC16AfL5vSGwfvBVRoRdfWoQ8abPiXi5etFxpdP - hex!["e0c426785313bb7e712d66dce43ccb81a7eaef373784511fb508fff4b5df3305"].into(), - // kAHJNhAragKRrAb9X8JxSNYoqPqv36TspSwdSuyMfxGKUmfdH - hex!["068f3bd4ed27bb83da8fdebbb4deba6b3b3b83ff47c8abad11e5c48c74c20b11"].into(), - // kAJ27MdBneY2U6QXvY3CmUE9btDmTvxSYfBd5qjw9U6oNZe2C - hex!["2663e968d484dc12c488a5b74107c0c3b6bcf21a6672923b153e4b5a9170a878"].into(), - // kAKq5N4wTcKU7qCCSzUqNcQQSMfPuN5k8tBafgoH9tpUgfVg2 - hex!["7671f8ee2c446ebd2b655ab5380b8004598d9663809cbb372f3de627a0e5eb32"].into(), - // kAJkDfWBaUSoavcbWc7m5skLsd5APLgqfr8YfgKEcBctccxTv - hex!["4681744964868d0f210b1161759958390a861b1733c65a6d04ac6b0ffe2f1e42"].into(), - // kAKZvAs9YpXMbZLNqrbu4rnqWDPVDEVVsDc6ngKtemEbqmQSk - hex!["6ae25829700ff7251861ac4a97235070b3e6e0883ce54ee53aa48400aa28d905"].into(), - // kAMBhYMypx5LGfEwBKDg42mBmymXEvU8TRHwoDMyGhY74oMf8 - hex!["b268e5eee003859659258de82991ce0dc47db15c5b3d32bd050f8b02d350530e"].into(), - // kANtu5pYcZ2TcutMAaeuxYgySzT1YH7y72h77rReLki24c33J - hex!["fe110c5ece58c80fc7fb740b95776f9b640ae1c9f0842895a55d2e582e4e1076"].into(), - ] + .with_name("Dev Live") + .with_id("devel_live") + .with_chain_type(ChainType::Live) + .with_genesis_config_patch(development_genesis( + get_account_id_from_seed::("Alice"), + vec![( + get_account_id_from_seed::("Alice"), + get_from_seed::("Alice"), + )], + endowed_accounts(), + endowed_evm_accounts(), + Some(10000000 * CFG), + para_id, + )) + .with_properties(properties) + .build() } fn endowed_accounts() -> Vec { @@ -328,7 +262,7 @@ fn endowed_evm_accounts() -> Vec<([u8; 20], Option)> { } fn council_members_bootstrap() -> Vec { - endowed_accounts().into_iter().take(4).collect() + endowed_accounts().into_iter().take(4).collect::>() } fn centrifuge_genesis( @@ -338,7 +272,7 @@ fn centrifuge_genesis( total_issuance: Option, id: ParaId, council_members: Vec, -) -> centrifuge_runtime::RuntimeGenesisConfig { +) -> serde_json::Value { let chain_id: u32 = id.into(); endowed_accounts.extend(endowed_evm_accounts.into_iter().map(|(addr, id)| { @@ -356,57 +290,35 @@ fn centrifuge_genesis( .iter() .cloned() .map(|k| (k, balance_per_endowed)) - .collect() + .collect::>() } None => vec![], }; - centrifuge_runtime::RuntimeGenesisConfig { - system: centrifuge_runtime::SystemConfig { - code: centrifuge_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!") - .to_vec(), - ..Default::default() - }, - balances: centrifuge_runtime::BalancesConfig { balances }, - orml_asset_registry: Default::default(), - orml_tokens: centrifuge_runtime::OrmlTokensConfig { balances: vec![] }, - elections: centrifuge_runtime::ElectionsConfig { members: vec![] }, - council: centrifuge_runtime::CouncilConfig { - members: council_members, - phantom: Default::default(), + serde_json::json!({ + "balances": { "balances": balances }, + "council": { + "members": council_members, }, - fees: centrifuge_runtime::FeesConfig { - initial_fees: vec![( - // Anchoring state rent fee per day - // pre-image: 0xdb4faa73ca6d2016e53c7156087c176b79b169c409b8a0063a07964f3187f9e9 - // hash : 0x11da6d1f761ddf9bdb4c9d6e5303ebd41f61858d0a5647a1a7bfe089bf921be9 + "fees": { + "initialFees": vec![( FeeKey::AnchorsCommit, - // Daily state rent, defined such that it will amount to 0.00259.. RAD - // (2_590_000_000_000_040) over 3 years, which is the expected average anchor - // duration. The other fee components for anchors amount to about 0.00041.. RAD - // (410_000_000_000_000), such that the total anchor price for 3 years will be - // 0.003.. RAD - 2_365_296_803_653, + 2_365_296_803_653u128, )], }, - vesting: Default::default(), - parachain_info: centrifuge_runtime::ParachainInfoConfig { - parachain_id: id, - ..Default::default() + "parachainInfo": { + "parachainId": id, }, - collator_selection: centrifuge_runtime::CollatorSelectionConfig { - invulnerables: initial_authorities + "collatorSelection": { + "invulnerables": initial_authorities .iter() .cloned() .map(|(acc, _)| acc) - .collect(), - candidacy_bond: 1 * CFG, - ..Default::default() + .collect::>(), + "candidacyBond": 1 * CFG, }, - collator_allowlist: Default::default(), - session: centrifuge_runtime::SessionConfig { - keys: initial_authorities + "session": { + "keys": initial_authorities .iter() .cloned() .map(|(acc, aura)| { @@ -416,59 +328,41 @@ fn centrifuge_genesis( get_centrifuge_session_keys(aura), // session keys ) }) - .collect(), + .collect::>(), }, - aura_ext: Default::default(), - aura: Default::default(), - democracy: Default::default(), - parachain_system: Default::default(), - bridge: centrifuge_runtime::BridgeConfig { - // Whitelist chains Ethereum - 0 - chains: vec![0], - // Register resourceIDs - resources: vec![ - // xCFG ResourceID to PalletBridge.transfer method (for incoming txs) + "bridge": { + "chains": vec![0], + "resources": vec![ ( hex!["00000000000000000000000000000009e974040e705c10fb4de576d6cc261900"], hex!["50616c6c65744272696467652e7472616e73666572"].to_vec(), ), ], - // Dev Alice - 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY - // Sample Endowed1 - 5GVimUaccBq1XbjZ99Zmm8aytG6HaPCjkZGKSHC1vgrsQsLQ - relayers: vec![ - hex!["d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d"].into(), - hex!["c405224448dcd4259816b09cfedbd8df0e6796b16286ea18efa2d6343da5992e"].into(), + "relayers": vec![ + Into::::into(hex!["d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d"]), + Into::::into(hex!["c405224448dcd4259816b09cfedbd8df0e6796b16286ea18efa2d6343da5992e"]), ], - threshold: 1, + "threshold": 1, }, - treasury: Default::default(), - block_rewards: centrifuge_runtime::BlockRewardsConfig { - collators: initial_authorities + "blockRewards": { + "collators": initial_authorities .iter() .cloned() .map(|(acc, _)| acc) - .collect(), - collator_reward: 8_325 * MILLI_CFG, - treasury_inflation_rate: Rate::saturating_from_rational(3, 100), - last_update: Default::default(), + .collect::>(), + "collatorReward": 8_325 * MILLI_CFG, + "treasuryInflationRate": Rate::saturating_from_rational(3, 100), }, - block_rewards_base: Default::default(), - base_fee: Default::default(), - evm_chain_id: centrifuge_runtime::EVMChainIdConfig { - chain_id: chain_id.into(), - ..Default::default() + "evmChainId": { + "chainId": Into::::into(chain_id), }, - ethereum: Default::default(), - evm: centrifuge_runtime::EVMConfig { - accounts: precompile_account_genesis::(), - ..Default::default() + "evm": { + "accounts": precompile_account_genesis::(), }, - liquidity_rewards_base: Default::default(), - polkadot_xcm: centrifuge_runtime::PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - ..Default::default() + "polkadotXcm": { + "safeXcmVersion": Some(SAFE_XCM_VERSION), }, - } + }) } fn altair_genesis( @@ -478,7 +372,7 @@ fn altair_genesis( total_issuance: Option, id: ParaId, council_members: Vec, -) -> altair_runtime::RuntimeGenesisConfig { +) -> serde_json::Value { let chain_id: u32 = id.into(); endowed_accounts.extend(endowed_evm_accounts.into_iter().map(|(addr, id)| { @@ -496,29 +390,18 @@ fn altair_genesis( .iter() .cloned() .map(|k| (k, balance_per_endowed)) - .collect() + .collect::>() } None => vec![], }; - altair_runtime::RuntimeGenesisConfig { - system: altair_runtime::SystemConfig { - code: altair_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!") - .to_vec(), - ..Default::default() - }, - balances: altair_runtime::BalancesConfig { balances }, - orml_asset_registry: Default::default(), - orml_tokens: altair_runtime::OrmlTokensConfig { balances: vec![] }, - elections: altair_runtime::ElectionsConfig { members: vec![] }, - council: altair_runtime::CouncilConfig { - members: council_members, - phantom: Default::default(), + serde_json::json!({ + "balances": { "balances": balances }, + "council": { + "members": council_members, }, - - fees: altair_runtime::FeesConfig { - initial_fees: vec![( + "fees": { + "initialFees": vec![( // Anchoring state rent fee per day // pre-image: 0xdb4faa73ca6d2016e53c7156087c176b79b169c409b8a0063a07964f3187f9e9 // hash : 0x11da6d1f761ddf9bdb4c9d6e5303ebd41f61858d0a5647a1a7bfe089bf921be9 @@ -528,37 +411,31 @@ fn altair_genesis( // duration. The other fee components for anchors amount to about 0.00041.. RAD // (410_000_000_000_000), such that the total anchor price for 3 years will be // 0.003.. RAD - 2_365_296_803_653, + 2_365_296_803_653u128, )], }, - vesting: Default::default(), - parachain_info: altair_runtime::ParachainInfoConfig { - parachain_id: id, - ..Default::default() + "parachainInfo": { + "parachainId": id, }, - collator_selection: altair_runtime::CollatorSelectionConfig { - invulnerables: initial_authorities + "collatorSelection": { + "invulnerables": initial_authorities .iter() .cloned() .map(|(acc, _)| acc) - .collect(), - candidacy_bond: 1 * AIR, - ..Default::default() + .collect::>(), + "candidacyBond": 1 * AIR, }, - block_rewards: altair_runtime::BlockRewardsConfig { - collators: initial_authorities + "blockRewards": { + "collators": initial_authorities .iter() .cloned() .map(|(acc, _)| acc) - .collect(), - collator_reward: 98_630 * MILLI_AIR, - treasury_inflation_rate: Rate::saturating_from_rational(3, 100), - last_update: Default::default(), + .collect::>(), + "collatorReward": 98_630 * MILLI_AIR, + "treasuryInflationRate": Rate::saturating_from_rational(3, 100), }, - block_rewards_base: Default::default(), - collator_allowlist: Default::default(), - session: altair_runtime::SessionConfig { - keys: initial_authorities + "session": { + "keys": initial_authorities .iter() .cloned() .map(|(acc, aura)| { @@ -568,29 +445,18 @@ fn altair_genesis( get_altair_session_keys(aura), // session keys ) }) - .collect(), + .collect::>(), }, - aura_ext: Default::default(), - aura: Default::default(), - democracy: Default::default(), - parachain_system: Default::default(), - treasury: Default::default(), - base_fee: Default::default(), - evm_chain_id: altair_runtime::EVMChainIdConfig { - chain_id: chain_id.into(), - ..Default::default() + "evmChainId": { + "chainId": Into::::into(chain_id), }, - ethereum: Default::default(), - evm: altair_runtime::EVMConfig { - accounts: precompile_account_genesis::(), - ..Default::default() + "evm": { + "accounts": precompile_account_genesis::(), }, - liquidity_rewards_base: Default::default(), - polkadot_xcm: altair_runtime::PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - ..Default::default() + "polkadotXcm": { + "safeXcmVersion": Some(SAFE_XCM_VERSION), }, - } + }) } /// The CurrencyId for the USDT asset on the development runtime @@ -604,7 +470,7 @@ fn development_genesis( endowed_evm_accounts: Vec<([u8; 20], Option)>, total_issuance: Option, id: ParaId, -) -> development_runtime::RuntimeGenesisConfig { +) -> serde_json::Value { let chain_id: u32 = id.into(); endowed_accounts.extend(endowed_evm_accounts.into_iter().map(|(addr, id)| { @@ -625,7 +491,7 @@ fn development_genesis( .iter() .cloned() .map(|x| (x, balance_per_endowed)) - .collect(), + .collect::>(), // orml_tokens balances // bootstrap each endowed accounts with 1 million of each the foreign assets. endowed_accounts @@ -635,88 +501,72 @@ fn development_genesis( // NOTE: We can only mint these foreign assets on development vec![ // USDT is a 6-decimal asset, so 1 million + 6 zeros - (x.clone(), DEV_USDT_CURRENCY_ID, 1_000_000_000_000), + (x.clone(), DEV_USDT_CURRENCY_ID, 1_000_000_000_000u128), // AUSD is a 12-decimal asset, so 1 million + 12 zeros - (x, DEV_AUSD_CURRENCY_ID, 1_000_000_000_000_000_000), + (x, DEV_AUSD_CURRENCY_ID, 1_000_000_000_000_000_000u128), ] }) - .collect(), + .collect::>(), ) } None => (vec![], vec![]), }; let chain_id: u32 = id.into(); - development_runtime::RuntimeGenesisConfig { - system: development_runtime::SystemConfig { - code: development_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!") - .to_vec(), - ..Default::default() - }, - balances: development_runtime::BalancesConfig { balances }, - orml_asset_registry: development_runtime::OrmlAssetRegistryConfig { - assets: asset_registry_assets(), - last_asset_id: Default::default(), - }, - orml_tokens: development_runtime::OrmlTokensConfig { - balances: token_balances, + serde_json::json!({ + "balances": { "balances": balances }, + "ormlAssetRegistry": { + "assets": asset_registry_assets(), }, - elections: development_runtime::ElectionsConfig { members: vec![] }, - council: development_runtime::CouncilConfig { - members: Default::default(), - phantom: Default::default(), + "ormlTokens": { + "balances": token_balances, }, - fees: development_runtime::FeesConfig { - initial_fees: vec![( + "fees": { + "initialFees": vec![( // Anchoring state rent fee per day - // pre-image: 0xdb4faa73ca6d2016e53c7156087c176b79b169c409b8a0063a07964f3187f9e9 - // hash : 0x11da6d1f761ddf9bdb4c9d6e5303ebd41f61858d0a5647a1a7bfe089bf921be9 + // pre-"image": 0xdb4faa73ca6d2016e53c7156087c176b79b169c409b8a0063a07964f3187f9e9 + // "hash ": 0x11da6d1f761ddf9bdb4c9d6e5303ebd41f61858d0a5647a1a7bfe089bf921be9 FeeKey::AnchorsCommit, // Daily state rent, defined such that it will amount to 0.00259.. RAD // (2_590_000_000_000_040) over 3 years, which is the expected average anchor // duration. The other fee components for anchors amount to about 0.00041.. RAD // (410_000_000_000_000), such that the total anchor price for 3 years will be // 0.003.. RAD - 2_365_296_803_653, + 2_365_296_803_653u128, )], }, - vesting: Default::default(), - sudo: development_runtime::SudoConfig { - key: Some(root_key), + "sudo": { + "key": Some(root_key), }, - parachain_info: development_runtime::ParachainInfoConfig { - parachain_id: id, - ..Default::default() + "parachainInfo": { + "parachainId": id, }, - collator_selection: development_runtime::CollatorSelectionConfig { - invulnerables: initial_authorities + "collatorSelection": { + "invulnerables": initial_authorities .iter() .cloned() .map(|(acc, _)| acc) - .collect(), - candidacy_bond: 1 * CFG, - ..Default::default() + .collect::>(), + "candidacyBond": 1 * CFG, }, - collator_allowlist: Default::default(), - session: development_runtime::SessionConfig { - keys: initial_authorities + "session": { + "keys": initial_authorities .iter() .cloned() .map(|(acc, aura)| { ( acc.clone(), // account id - acc, // validator id + acc, // validator id get_development_session_keys(aura), // session keys ) }) - .collect(), + .collect::>(), }, - bridge: development_runtime::BridgeConfig { + "bridge": { // Whitelist chains Ethereum - 0 - chains: vec![0], + "chains": vec![0], // Register resourceIDs - resources: vec![ + "resources": vec![ // xCFG ResourceID to PalletBridge.transfer method (for incoming txs) ( hex!["00000000000000000000000000000009e974040e705c10fb4de576d6cc261900"], @@ -725,44 +575,31 @@ fn development_genesis( ], // Dev Alice - 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY // Sample Endowed1 - 5GVimUaccBq1XbjZ99Zmm8aytG6HaPCjkZGKSHC1vgrsQsLQ - relayers: vec![ - hex!["d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d"].into(), - hex!["c405224448dcd4259816b09cfedbd8df0e6796b16286ea18efa2d6343da5992e"].into(), + "relayers": vec![ + Into::::into(hex!["d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d"]), + Into::::into(hex!["c405224448dcd4259816b09cfedbd8df0e6796b16286ea18efa2d6343da5992e"]), ], - threshold: 1, + "threshold": 1, }, - aura_ext: Default::default(), - aura: Default::default(), - democracy: Default::default(), - parachain_system: Default::default(), - treasury: Default::default(), - block_rewards: development_runtime::BlockRewardsConfig { - collators: initial_authorities + "blockRewards": { + "collators": initial_authorities .iter() .cloned() .map(|(acc, _)| acc) - .collect(), - collator_reward: 8_325 * MILLI_CFG, - treasury_inflation_rate: Rate::saturating_from_rational(3, 100), - last_update: Default::default(), + .collect::>(), + "collatorReward": 8_325 * MILLI_CFG, + "treasuryInflationRate": Rate::saturating_from_rational(3, 100), }, - base_fee: Default::default(), - evm_chain_id: development_runtime::EVMChainIdConfig { - chain_id: chain_id.into(), - ..Default::default() + "evmChainId": { + "chainId": Into::::into(chain_id), }, - ethereum: Default::default(), - evm: development_runtime::EVMConfig { - accounts: precompile_account_genesis::(), - ..Default::default() + "evm": { + "accounts": precompile_account_genesis::(), }, - block_rewards_base: Default::default(), - liquidity_rewards_base: Default::default(), - polkadot_xcm: development_runtime::PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - ..Default::default() + "polkadotXcm": { + "safeXcmVersion": Some(SAFE_XCM_VERSION), }, - } + }) } fn asset_registry_assets() -> Vec<(CurrencyId, Vec)> { @@ -777,14 +614,14 @@ fn asset_registry_assets() -> Vec<(CurrencyId, Vec)> { .expect("fit in the BoundedVec"), symbol: b"USDT".to_vec().try_into().expect("fit in the BoundedVec"), existential_deposit: 0u128, - location: Some(staging_xcm::VersionedMultiLocation::V3(MultiLocation { - parents: 1, - interior: X3( + location: Some(staging_xcm::VersionedLocation::V4(Location::new( + 1, + [ Parachain(parachains::rococo::rocksmine::ID), PalletInstance(parachains::rococo::rocksmine::usdt::PALLET_INSTANCE), GeneralIndex(parachains::rococo::rocksmine::usdt::GENERAL_INDEX), - ), - })), + ], + ))), additional: CustomMetadata { mintable: false, permissioned: false, @@ -805,16 +642,16 @@ fn asset_registry_assets() -> Vec<(CurrencyId, Vec)> { .expect("fit in the BoundedVec"), symbol: b"AUSD".to_vec().try_into().expect("fit in the BoundedVec"), existential_deposit: 0u128, - location: Some(staging_xcm::VersionedMultiLocation::V3(MultiLocation { - parents: 1, - interior: X2( + location: Some(staging_xcm::VersionedLocation::V4(Location::new( + 1, + [ Parachain(parachains::rococo::acala::ID), GeneralKey { length: parachains::rococo::acala::AUSD_KEY.to_vec().len() as u8, data: vec_to_fixed_array(parachains::rococo::acala::AUSD_KEY.to_vec()), }, - ), - })), + ], + ))), additional: CustomMetadata { mintable: false, permissioned: false, @@ -862,9 +699,9 @@ fn asset_registry_assets() -> Vec<(CurrencyId, Vec)> { .try_into() .expect("fit in the BoundedVec"), existential_deposit: usdc::EXISTENTIAL_DEPOSIT, - location: Some(staging_xcm::VersionedMultiLocation::V3(MultiLocation { - parents: 0, - interior: staging_xcm::v3::Junctions::X3( + location: Some(staging_xcm::VersionedLocation::V4(Location::new( + 0, + [ PalletInstance(development_runtime::LiquidityPoolsPalletIndex::get()), GlobalConsensus(NetworkId::Ethereum { chain_id: usdc::CHAIN_ID_ETH_GOERLI_TESTNET, @@ -873,8 +710,8 @@ fn asset_registry_assets() -> Vec<(CurrencyId, Vec)> { network: None, key: usdc::CONTRACT_ETH_GOERLI, }, - ), - })), + ], + ))), additional: CustomMetadata { transferability: CrossChainTransferability::LiquidityPools, mintable: false, diff --git a/node/src/cli.rs b/node/src/cli.rs index 2e8249072e..14cc189bbd 100644 --- a/node/src/cli.rs +++ b/node/src/cli.rs @@ -23,8 +23,8 @@ use crate::{chain_spec, service::evm::EthConfiguration}; #[derive(Debug, Parser)] #[allow(clippy::large_enum_variant)] pub enum Subcommand { - /// Export the genesis state of the parachain. - ExportGenesisState(cumulus_client_cli::ExportGenesisStateCommand), + /// Export the genesis head of the parachain. + ExportGenesisHead(cumulus_client_cli::ExportGenesisHeadCommand), /// Export the genesis wasm of the parachain. ExportGenesisWasm(cumulus_client_cli::ExportGenesisWasmCommand), diff --git a/node/src/command.rs b/node/src/command.rs index 2e114a9f5d..15803399c7 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -67,10 +67,9 @@ fn load_spec(id: &str) -> std::result::Result, St "altair" => Ok(Box::new(chain_spec::altair_config())), "altair-local" => Ok(Box::new(chain_spec::altair_local(LOCAL_PARA_ID))), "catalyst" => Ok(Box::new(chain_spec::catalyst_config())), - "demo" => Ok(Box::new(chain_spec::demo(LOCAL_PARA_ID))), + "demo" => Ok(Box::new(chain_spec::demo_config())), "development" => Ok(Box::new(chain_spec::development(LOCAL_PARA_ID))), "" => Err(String::from("No Chain-id provided")), - path => { let chain_spec = chain_spec::CentrifugeChainSpec::from_json_file(path.into())?; Ok(match chain_spec.identify() { @@ -169,7 +168,7 @@ macro_rules! construct_async_run { let $components = evm::new_partial::( &$config, first_evm_block, - crate::service::build_altair_import_queue, + crate::service::build_import_queue:: )?; let task_manager = $components.task_manager; { $( $code )* }.map(|v| (v, task_manager)) @@ -178,7 +177,7 @@ macro_rules! construct_async_run { let $components = evm::new_partial::( &$config, first_evm_block, - crate::service::build_centrifuge_import_queue, + crate::service::build_import_queue::, )?; let task_manager = $components.task_manager; { $( $code )* }.map(|v| (v, task_manager)) @@ -187,11 +186,11 @@ macro_rules! construct_async_run { let $components = evm::new_partial::( &$config, first_evm_block, - crate::service::build_development_import_queue, + crate::service::build_import_queue::, )?; let task_manager = $components.task_manager; { $( $code )* }.map(|v| (v, task_manager)) - }) + }), } }} } @@ -253,9 +252,9 @@ pub fn run() -> Result<()> { }); Ok(cmd.run(components.client, components.backend, Some(aux_revert))) }), - Some(Subcommand::ExportGenesisState(cmd)) => { + Some(Subcommand::ExportGenesisHead(cmd)) => { construct_async_run!(|components, cli, cmd, config| { - Ok(async move { cmd.run(&*config.chain_spec, &*components.client) }) + Ok(async move { cmd.run(components.client) }) }) } Some(Subcommand::ExportGenesisWasm(cmd)) => { @@ -352,7 +351,10 @@ pub fn run() -> Result<()> { ); match config.chain_spec.identify() { - ChainIdentity::Altair => crate::service::start_altair_node( + ChainIdentity::Altair => crate::service::start_node::< + altair_runtime::RuntimeApi, + AltairRuntimeExecutor, + >( config, polkadot_config, cli.eth, @@ -364,7 +366,10 @@ pub fn run() -> Result<()> { .await .map(|r| r.0) .map_err(Into::into), - ChainIdentity::Centrifuge => crate::service::start_centrifuge_node( + ChainIdentity::Centrifuge => crate::service::start_node::< + centrifuge_runtime::RuntimeApi, + CentrifugeRuntimeExecutor, + >( config, polkadot_config, cli.eth, @@ -376,7 +381,10 @@ pub fn run() -> Result<()> { .await .map(|r| r.0) .map_err(Into::into), - ChainIdentity::Development => crate::service::start_development_node( + ChainIdentity::Development => crate::service::start_node::< + development_runtime::RuntimeApi, + DevelopmentRuntimeExecutor, + >( config, polkadot_config, cli.eth, diff --git a/node/src/rpc/anchors.rs b/node/src/rpc/anchors.rs index 9f8d449936..7f37688479 100644 --- a/node/src/rpc/anchors.rs +++ b/node/src/rpc/anchors.rs @@ -1,5 +1,6 @@ use std::sync::Arc; +use async_trait::async_trait; use cfg_primitives::BlockNumber; use jsonrpsee::{core::RpcResult, proc_macros::rpc}; use pallet_anchors::AnchorData; @@ -14,7 +15,7 @@ use crate::rpc::invalid_params_error; pub trait AnchorApi { /// Returns an anchor given an anchor id from the runtime storage #[method(name = "anchor_getAnchorById")] - fn get_anchor_by_id( + async fn get_anchor_by_id( &self, id: IdHash, at: Option, @@ -37,13 +38,14 @@ impl Anchors { } } +#[async_trait] impl AnchorApiServer for Anchors where Block: BlockT, C: Send + Sync + 'static + ProvideRuntimeApi + HeaderBackend, C::Api: AnchorRuntimeApi, { - fn get_anchor_by_id( + async fn get_anchor_by_id( &self, id: cfg_primitives::Hash, at: Option, diff --git a/node/src/rpc/evm.rs b/node/src/rpc/evm.rs index e95886d3c1..cc34d4e2e8 100644 --- a/node/src/rpc/evm.rs +++ b/node/src/rpc/evm.rs @@ -12,7 +12,7 @@ use std::{collections::BTreeMap, sync::Arc}; -use fc_rpc::pending::AuraConsensusDataProvider; +use fc_rpc::pending; pub use fc_rpc::{ EthBlockDataCacheTask, OverrideHandle, RuntimeApiStorageOverride, SchemaV1Override, SchemaV2Override, SchemaV3Override, StorageOverride, @@ -39,8 +39,26 @@ use sp_core::H256; use sp_inherents::CreateInherentDataProviders; use sp_runtime::traits::{BlakeTwo256, Block as BlockT}; +pub struct CentrifugeEthConfig(std::marker::PhantomData<(B, C, BE)>); +impl fc_rpc::EthConfig for CentrifugeEthConfig +where + B: BlockT, + C: sc_client_api::StorageProvider + Sync + Send + 'static, + BE: Backend + 'static, +{ + // This type is intended to override (i.e. adapt) evm calls to precompiles for + // proper gas estimation. + // + // NOTE: Not used by our precompiles right now. Therefore, no need to provide + // impl. + type EstimateGasAdapter = (); + // Assumes the use of HashedMapping for address mapping + type RuntimeStorageOverride = + fc_rpc::frontier_backend_client::SystemAccountId32StorageOverride; +} + /// Extra dependencies for Ethereum compatibility. -pub struct Deps { +pub struct EvmDeps { /// The client instance to use. pub client: Arc, /// Transaction pool instance. @@ -58,7 +76,7 @@ pub struct Deps { /// Chain syncing service pub sync: Arc>, /// Frontier Backend. - pub frontier_backend: Arc + Send + Sync>, + pub frontier_backend: Arc>, /// Ethereum data access overrides. pub overrides: Arc>, /// Cache for Ethereum block data. @@ -78,6 +96,8 @@ pub struct Deps { pub forced_parent_hashes: Option>, /// Something that can create the inherent data providers for pending state pub pending_create_inherent_data_providers: CIDP, + /// Something that can create the consensus data providers for pending state + pub pending_consensus_data_provider: Option>>, } pub fn overrides_handle, C, BE>(client: Arc) -> Arc> @@ -113,7 +133,7 @@ where pub fn create( mut io: RpcModule<()>, - deps: Deps, + deps: EvmDeps, subscription_task_executor: SubscriptionTaskExecutor, pubsub_notification_sinks: Arc< fc_mapping_sync::EthereumBlockNotificationSinks< @@ -149,25 +169,26 @@ where EthPubSubApiServer, EthSigner, Net, NetApiServer, Web3, Web3ApiServer, }; - let Deps { + let EvmDeps { client, pool, graph, converter: _converter, + sync, is_authority, enable_dev_signer, network, - sync, - frontier_backend, overrides, + frontier_backend, block_data_cache, - filter_pool, - max_past_logs, fee_history_cache, fee_history_cache_limit, execute_gas_limit_multiplier, + filter_pool, + max_past_logs, forced_parent_hashes, pending_create_inherent_data_providers, + pending_consensus_data_provider, } = deps; let mut signers = Vec::new(); @@ -187,7 +208,7 @@ where let convert_transaction: Option = None; io.merge( - Eth::new( + Eth::<_, _, _, _, _, _, _, ()>::new( Arc::clone(&client), Arc::clone(&pool), graph.clone(), @@ -203,8 +224,9 @@ where execute_gas_limit_multiplier, forced_parent_hashes, pending_create_inherent_data_providers, - Some(Box::new(AuraConsensusDataProvider::new(client.clone()))), + pending_consensus_data_provider, ) + .replace_config::>() .into_rpc(), )?; diff --git a/node/src/rpc/mod.rs b/node/src/rpc/mod.rs index 9c05615cce..ddd8f3495c 100644 --- a/node/src/rpc/mod.rs +++ b/node/src/rpc/mod.rs @@ -12,14 +12,12 @@ //! Centrifuge RPC endpoints (common endpoints across all environments) -use std::{fmt::Debug, sync::Arc}; +use std::sync::Arc; -use cfg_primitives::{AccountId, Balance, Nonce}; -use jsonrpsee::{ - core::Error as JsonRpseeError, - types::error::{CallError, ErrorCode, ErrorObject}, -}; +use cfg_primitives::{AccountId, Balance, Block, BlockNumber, Hash, Nonce}; +use jsonrpsee::types::error::{ErrorCode, ErrorObject}; use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; +use runtime_common::apis::AnchorApi; use sc_rpc_api::DenyUnsafe; use sc_service::TransactionPool; use sp_api::ProvideRuntimeApi; @@ -27,60 +25,42 @@ use sp_block_builder::BlockBuilder; use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; use substrate_frame_rpc_system::{System, SystemApiServer}; +use crate::rpc::anchors::{AnchorApiServer, Anchors}; + pub mod anchors; pub mod evm; -pub mod pools; -pub mod rewards; /// A type representing all RPC extensions. pub type RpcExtension = jsonrpsee::RpcModule<()>; /// Instantiate all Full RPC extensions. -pub fn create_full( +pub fn create_full( client: Arc, pool: Arc

, deny_unsafe: DenyUnsafe, ) -> Result> where - Block: sp_api::BlockT, - C: ProvideRuntimeApi, - C: HeaderBackend + HeaderMetadata, - C: Send + Sync + 'static, - C::Api: substrate_frame_rpc_system::AccountNonceApi, + C: ProvideRuntimeApi + + HeaderBackend + + HeaderMetadata + + Send + + Sync + + 'static, C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, + C::Api: substrate_frame_rpc_system::AccountNonceApi, C::Api: BlockBuilder, + C::Api: AnchorApi, P: TransactionPool + Sync + Send + 'static, { let mut module = RpcExtension::new(()); module.merge(System::new(client.clone(), pool, deny_unsafe).into_rpc())?; - module.merge(TransactionPayment::new(client).into_rpc())?; + module.merge(TransactionPayment::new(client.clone()).into_rpc())?; + module.merge(Anchors::new(client.clone()).into_rpc())?; Ok(module) } -/// Our custom error type for RPC server errors -#[repr(i32)] -pub enum CustomServerError { - /// The call failed on the Runtime level - RuntimeError = 1, -} - -pub fn runtime_error( - message: &'static str, - inner_error: InnerError, -) -> JsonRpseeError { - JsonRpseeError::Call(CallError::Custom(ErrorObject::owned( - ErrorCode::ServerError(CustomServerError::RuntimeError as i32).code(), - message, - Some(format!("{inner_error:?}")), - ))) -} - -pub fn invalid_params_error(msg: &'static str) -> JsonRpseeError { - JsonRpseeError::Call(CallError::Custom(ErrorObject::owned( - ErrorCode::InvalidParams.code(), - msg, - Option::<()>::None, - ))) +pub fn invalid_params_error(msg: &'static str) -> ErrorObject { + ErrorObject::owned(ErrorCode::InvalidParams.code(), msg, Option::<()>::None) } diff --git a/node/src/rpc/pools.rs b/node/src/rpc/pools.rs deleted file mode 100644 index f411486357..0000000000 --- a/node/src/rpc/pools.rs +++ /dev/null @@ -1,202 +0,0 @@ -use std::{fmt::Debug, sync::Arc}; - -use jsonrpsee::{core::RpcResult, proc_macros::rpc}; -use pallet_pool_system::{ - tranches::{TrancheIndex, TrancheLoc, TrancheSolution}, - EpochSolution, -}; -use parity_scale_codec::Codec; -use runtime_common::apis::PoolsApi as PoolsRuntimeApi; -use sp_api::ProvideRuntimeApi; -use sp_blockchain::HeaderBackend; -use sp_runtime::traits::{Block as BlockT, Get}; - -use crate::rpc::{invalid_params_error, runtime_error}; - -#[rpc(client, server)] -pub trait PoolsApi -where - MaxTranches: Get, -{ - #[method(name = "pools_currency")] - fn currency(&self, poold_id: PoolId, at: Option) -> RpcResult; - - #[method(name = "pools_inspectEpochSolution")] - fn inspect_epoch_solution( - &self, - pool_id: PoolId, - solution: Vec, - at: Option, - ) -> RpcResult>; - - #[method(name = "pools_trancheTokenPrice")] - fn tranche_token_price( - &self, - pool_id: PoolId, - tranche: TrancheId, - at: Option, - ) -> RpcResult; - - #[method(name = "pools_trancheTokenPrices")] - fn tranche_token_prices( - &self, - pool_id: PoolId, - at: Option, - ) -> RpcResult>; - - #[method(name = "pools_trancheIds")] - fn tranche_ids(&self, pool_id: PoolId, at: Option) -> RpcResult>; - - #[method(name = "pools_trancheId")] - fn tranche_id( - &self, - pool_id: PoolId, - tranche_index: TrancheIndex, - at: Option, - ) -> RpcResult; - - #[method(name = "pools_trancheCurrency")] - fn tranche_currency( - &self, - pool_id: PoolId, - tranche_id: TrancheId, - at: Option, - ) -> RpcResult; -} - -pub struct Pools { - client: Arc, - _marker: std::marker::PhantomData

, -} - -impl Pools { - pub fn new(client: Arc) -> Self { - Pools { - client, - _marker: Default::default(), - } - } -} - -impl - PoolsApiServer - for Pools -where - Block: BlockT, - C: Send + Sync + 'static + ProvideRuntimeApi + HeaderBackend, - C::Api: PoolsRuntimeApi, - Balance: Codec + Copy, - PoolId: Codec + Copy + Debug, - TrancheId: Codec + Clone + Debug, - Currency: Codec, - BalanceRatio: Codec, - MaxTranches: Codec + Get, -{ - fn currency(&self, pool_id: PoolId, at: Option) -> RpcResult { - let api = self.client.runtime_api(); - let at = match at { - Some(hash) => hash, - None => self.client.info().best_hash, - }; - - api.currency(at, pool_id) - .map_err(|e| runtime_error("Unable to query pool currency", e))? - .ok_or_else(|| invalid_params_error("Pool not found")) - } - - fn inspect_epoch_solution( - &self, - pool_id: PoolId, - solution: Vec, - at: Option, - ) -> RpcResult> { - let api = self.client.runtime_api(); - let at = match at { - Some(hash) => hash, - None => self.client.info().best_hash, - }; - - api.inspect_epoch_solution(at, pool_id, solution) - .map_err(|e| runtime_error("Unable to query inspection for epoch solution", e))? - .ok_or_else(|| invalid_params_error("Pool not found or invalid solution")) - } - - fn tranche_token_price( - &self, - pool_id: PoolId, - tranche_id: TrancheId, - at: Option, - ) -> RpcResult { - let api = self.client.runtime_api(); - let at = match at { - Some(hash) => hash, - None => self.client.info().best_hash, - }; - - api.tranche_token_price(at, pool_id, TrancheLoc::Id(tranche_id)) - .map_err(|e| runtime_error("Unable to query tranche token price", e))? - .ok_or_else(|| invalid_params_error("Pool or tranche not found")) - } - - fn tranche_token_prices( - &self, - pool_id: PoolId, - at: Option, - ) -> RpcResult> { - let api = self.client.runtime_api(); - let at = match at { - Some(hash) => hash, - None => self.client.info().best_hash, - }; - - api.tranche_token_prices(at, pool_id) - .map_err(|e| runtime_error("Unable to query tranche token prices.", e))? - .ok_or_else(|| invalid_params_error("Pool not found.")) - } - - fn tranche_ids(&self, pool_id: PoolId, at: Option) -> RpcResult> { - let api = self.client.runtime_api(); - let at = match at { - Some(hash) => hash, - None => self.client.info().best_hash, - }; - - api.tranche_ids(at, pool_id) - .map_err(|e| runtime_error("Unable to query tranche ids.", e))? - .ok_or_else(|| invalid_params_error("Pool not found")) - } - - fn tranche_id( - &self, - pool_id: PoolId, - tranche_index: TrancheIndex, - at: Option, - ) -> RpcResult { - let api = self.client.runtime_api(); - let at = match at { - Some(hash) => hash, - None => self.client.info().best_hash, - }; - - api.tranche_id(at, pool_id, tranche_index) - .map_err(|e| runtime_error("Unable to query tranche ids.", e))? - .ok_or_else(|| invalid_params_error("Pool or tranche not found.")) - } - - fn tranche_currency( - &self, - pool_id: PoolId, - tranche_id: TrancheId, - at: Option, - ) -> RpcResult { - let api = self.client.runtime_api(); - let at = match at { - Some(hash) => hash, - None => self.client.info().best_hash, - }; - - api.tranche_currency(at, pool_id, TrancheLoc::Id(tranche_id)) - .map_err(|e| runtime_error("Unable to query tranche currency.", e))? - .ok_or_else(|| invalid_params_error("Pool or tranche not found.")) - } -} diff --git a/node/src/rpc/rewards.rs b/node/src/rpc/rewards.rs deleted file mode 100644 index 038b601640..0000000000 --- a/node/src/rpc/rewards.rs +++ /dev/null @@ -1,91 +0,0 @@ -use std::{fmt::Debug, sync::Arc}; - -use jsonrpsee::{core::RpcResult, proc_macros::rpc}; -use parity_scale_codec::Codec; -use runtime_common::apis::{RewardDomain, RewardsApi as RewardsRuntimeApi}; -use sp_api::ProvideRuntimeApi; -use sp_blockchain::HeaderBackend; -use sp_runtime::traits::Block as BlockT; - -use crate::rpc::{invalid_params_error, runtime_error}; - -#[rpc(client, server)] -pub trait RewardsApi { - #[method(name = "rewards_listCurrencies")] - fn list_currencies( - &self, - domain: RewardDomain, - account_id: AccountId, - at: Option, - ) -> RpcResult>; - - #[method(name = "rewards_computeReward")] - fn compute_reward( - &self, - domain: RewardDomain, - currency_id: CurrencyId, - account_id: AccountId, - at: Option, - ) -> RpcResult; -} - -pub struct Rewards { - client: Arc, - _marker: std::marker::PhantomData

, -} - -impl Rewards { - pub fn new(client: Arc) -> Self { - Rewards { - client, - _marker: Default::default(), - } - } -} - -impl - RewardsApiServer for Rewards -where - Block: BlockT, - C: Send + Sync + 'static + ProvideRuntimeApi + HeaderBackend, - C::Api: RewardsRuntimeApi, - AccountId: Codec, - Balance: Codec + Copy, - CurrencyId: Codec + Copy + Debug, -{ - fn list_currencies( - &self, - domain: RewardDomain, - account_id: AccountId, - at: Option, - ) -> RpcResult> { - let api = self.client.runtime_api(); - - let hash = match at { - Some(hash) => hash, - None => self.client.info().best_hash, - }; - - api.list_currencies(hash, domain, account_id) - .map_err(|e| runtime_error("Unable to list currencies", e)) - } - - fn compute_reward( - &self, - domain: RewardDomain, - currency_id: CurrencyId, - account_id: AccountId, - at: Option, - ) -> RpcResult { - let api = self.client.runtime_api(); - - let at = match at { - Some(hash) => hash, - None => self.client.info().best_hash, - }; - - api.compute_reward(at, domain, currency_id, account_id) - .map_err(|e| runtime_error("Unable to compute reward", e))? - .ok_or_else(|| invalid_params_error("Reward not found")) - } -} diff --git a/node/src/service.rs b/node/src/service.rs index 21e89f2c88..428b4f9a5e 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -14,28 +14,28 @@ // You should have received a copy of the GNU General Public License // along with Cumulus. If not, see . -// TODO: Please fix deprecated issues before/during polkadot-v1.3.0 upgrade -#![allow(deprecated)] +use std::{sync::Arc, time::Duration}; -use std::sync::Arc; - -use cfg_primitives::{Block, BlockNumber}; +use cfg_primitives::{AccountId, AuraId, Balance, Block, BlockNumber, Hash, Nonce}; use cumulus_client_cli::CollatorOptions; -use cumulus_client_consensus_aura::{AuraConsensus, BuildAuraConsensusParams, SlotProportion}; +use cumulus_client_collator::service::CollatorService; use cumulus_client_consensus_common::ParachainBlockImport as TParachainBlockImport; +use cumulus_client_consensus_proposer::Proposer; use cumulus_primitives_core::ParaId; +use cumulus_relay_chain_interface::{OverseerHandle, RelayChainInterface}; use fc_db::Backend as FrontierBackend; +use fc_rpc::pending::{AuraConsensusDataProvider, ConsensusDataProvider}; +use polkadot_primitives::CollatorPair; use sc_executor::NativeElseWasmExecutor; +use sc_network_sync::SyncingService; use sc_service::{Configuration, TFullBackend, TFullClient, TaskManager}; use sc_telemetry::TelemetryHandle; +use sp_api::ConstructRuntimeApi; use sp_core::U256; +use sp_keystore::KeystorePtr; +use substrate_prometheus_endpoint::Registry; -use crate::rpc::{ - self, - anchors::{AnchorApiServer, Anchors}, - pools::{Pools, PoolsApiServer}, - rewards::{Rewards, RewardsApiServer}, -}; +use crate::rpc::{self}; pub(crate) mod evm; use evm::EthConfiguration; @@ -48,6 +48,40 @@ type FullBackend = TFullBackend; type ParachainBlockImport = TParachainBlockImport>, FullBackend>; +pub trait RuntimeApiCollection: + sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::ApiExt + + sp_block_builder::BlockBuilder + + substrate_frame_rpc_system::AccountNonceApi + + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + + sp_api::Metadata + + sp_offchain::OffchainWorkerApi + + sp_session::SessionKeys + + fp_rpc::ConvertTransactionRuntimeApi + + fp_rpc::EthereumRuntimeRPCApi + + sp_consensus_aura::AuraApi + + runtime_common::apis::AnchorApi + + cumulus_primitives_core::CollectCollationInfo +{ +} + +impl RuntimeApiCollection for Api where + Api: sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::ApiExt + + sp_block_builder::BlockBuilder + + substrate_frame_rpc_system::AccountNonceApi + + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + + sp_api::Metadata + + sp_offchain::OffchainWorkerApi + + sp_session::SessionKeys + + fp_rpc::ConvertTransactionRuntimeApi + + fp_rpc::EthereumRuntimeRPCApi + + sp_consensus_aura::AuraApi + + runtime_common::apis::AnchorApi + + cumulus_primitives_core::CollectCollationInfo +{ +} + // Native Altair executor instance. pub struct AltairRuntimeExecutor; @@ -111,55 +145,8 @@ impl sc_executor::NativeExecutionDispatch for DevelopmentRuntimeExecutor { } } -/// Build the import queue for the "altair" runtime. -#[allow(clippy::type_complexity)] -pub fn build_altair_import_queue( - client: Arc>, - block_import: ParachainBlockImport, - config: &Configuration, - telemetry: Option, - task_manager: &TaskManager, - frontier_backend: FrontierBackend, - first_evm_block: BlockNumber, -) -> Result, sc_service::Error> { - let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; - let block_import = evm::BlockImport::new( - block_import, - first_evm_block, - client.clone(), - Arc::new(frontier_backend), - ); - - cumulus_client_consensus_aura::import_queue::< - sp_consensus_aura::sr25519::AuthorityPair, - _, - _, - _, - _, - _, - >(cumulus_client_consensus_aura::ImportQueueParams { - block_import, - client, - create_inherent_data_providers: move |_, _| async move { - let time = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = - sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *time, - slot_duration, - ); - - Ok((slot, time)) - }, - registry: config.prometheus_registry(), - spawner: &task_manager.spawn_essential_handle(), - telemetry, - }) - .map_err(Into::into) -} - -/// Start an altair parachain node. -pub async fn start_altair_node( +/// Start a generic parachain node. +pub async fn start_node( parachain_config: Configuration, polkadot_config: Configuration, eth_config: EthConfiguration, @@ -167,13 +154,16 @@ pub async fn start_altair_node( id: ParaId, hwbench: Option, first_evm_block: BlockNumber, -) -> sc_service::error::Result<( - TaskManager, - Arc>, -)> { +) -> sc_service::error::Result<(TaskManager, Arc>)> +where + RuntimeApi: + ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: RuntimeApiCollection, + Executor: sc_executor::NativeExecutionDispatch + 'static, +{ let is_authority = parachain_config.role.is_authority(); - evm::start_node_impl::( + evm::start_node_impl::( parachain_config, polkadot_config, eth_config, @@ -181,6 +171,7 @@ pub async fn start_altair_node( id, hwbench, first_evm_block, + // follows Moonbeam's create_full move |client, pool, deny_unsafe, @@ -207,15 +198,10 @@ pub async fn start_altair_node( let dynamic_fee = fp_dynamic_fee::InherentDataProvider(U256::from(target_gas_price)); Ok((slot, timestamp, dynamic_fee)) }; + let pending_consensus_data_provider = Some(Box::new(AuraConsensusDataProvider::new(client.clone())) as Box>); - let mut module = rpc::create_full(client.clone(), pool.clone(), deny_unsafe)?; - module - .merge(Anchors::new(client.clone()).into_rpc()) - .map_err(|e| sc_service::Error::Application(e.into()))?; - module - .merge(Pools::new(client.clone()).into_rpc()) - .map_err(|e| sc_service::Error::Application(e.into()))?; - let eth_deps = rpc::evm::Deps { + let module = rpc::create_full(client.clone(), pool.clone(), deny_unsafe)?; + let eth_deps = rpc::evm::EvmDeps { client, pool: pool.clone(), graph: pool.pool().clone(), @@ -238,6 +224,7 @@ pub async fn start_altair_node( execute_gas_limit_multiplier: eth_config.execute_gas_limit_multiplier, forced_parent_hashes: None, pending_create_inherent_data_providers, + pending_consensus_data_provider }; let module = rpc::evm::create( module, @@ -247,104 +234,30 @@ pub async fn start_altair_node( )?; Ok(module) }, - build_altair_import_queue, - |client, - block_import, - prometheus_registry, - telemetry, - task_manager, - relay_chain_interface, - transaction_pool, - sync_oracle, - keystore, - force_authoring| { - 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(), - transaction_pool, - prometheus_registry, - telemetry.clone(), - ); - - /* // TODO in v1.3.0 - let proposer = Proposer::new(proposer_factory); - - let collator_service = CollatorService::new( - client.clone(), - Arc::new(task_manager.spawn_handle()), - announce_block, - client.clone() - ); - */ - - Ok(AuraConsensus::build::< - sp_consensus_aura::sr25519::AuthorityPair, - _, - _, - _, - _, - _, - _, - >(BuildAuraConsensusParams { - proposer_factory, - create_inherent_data_providers: move |_, (relay_parent, validation_data)| { - let relay_chain_interface = relay_chain_interface.clone(); - async move { - let parachain_inherent = - cumulus_primitives_parachain_inherent::ParachainInherentData::create_at( - relay_parent, - &relay_chain_interface, - &validation_data, - id, - ).await; - - let time = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = - sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *time, - slot_duration, - ); - - let parachain_inherent = parachain_inherent.ok_or_else(|| { - Box::::from( - "Failed to create parachain inherent", - ) - })?; - Ok((slot, time, parachain_inherent)) - } - }, - block_import, - para_client: client, - backoff_authoring_blocks: Option::<()>::None, - sync_oracle, - keystore, - force_authoring, - slot_duration, - telemetry, - // We got around 500ms for proposing - block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), - // And a maximum of 750ms if slots are skipped - max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), - })) - }, + build_import_queue::, ) .await } -/// Build the import queue for the "centrifuge" runtime. +/// Builds a generic import queue. The runtime is specified via the generics. +/// +/// NOTE: Almost entirely taken from Polkadot SDK. #[allow(clippy::type_complexity)] -pub fn build_centrifuge_import_queue( - client: Arc>, - block_import: ParachainBlockImport, +pub fn build_import_queue( + client: Arc>, + block_import: ParachainBlockImport, config: &Configuration, telemetry: Option, task_manager: &TaskManager, frontier_backend: FrontierBackend, first_evm_block: BlockNumber, -) -> Result, sc_service::Error> { +) -> Result, sc_service::Error> +where + RuntimeApi: + ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: RuntimeApiCollection, + Executor: sc_executor::NativeExecutionDispatch + 'static, +{ let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; let block_import = evm::BlockImport::new( block_import, @@ -353,410 +266,107 @@ pub fn build_centrifuge_import_queue( Arc::new(frontier_backend), ); - cumulus_client_consensus_aura::import_queue::< - sp_consensus_aura::sr25519::AuthorityPair, - _, - _, - _, - _, - _, - >(cumulus_client_consensus_aura::ImportQueueParams { - block_import, - client, - create_inherent_data_providers: move |_, _| async move { - let time = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = - sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *time, - slot_duration, - ); - - Ok((slot, time)) - }, - registry: config.prometheus_registry(), - spawner: &task_manager.spawn_essential_handle(), - telemetry, - }) - .map_err(Into::into) -} - -/// Start a centrifuge parachain node. -pub async fn start_centrifuge_node( - parachain_config: Configuration, - polkadot_config: Configuration, - eth_config: EthConfiguration, - collator_options: CollatorOptions, - id: ParaId, - hwbench: Option, - first_evm_block: BlockNumber, -) -> sc_service::error::Result<( - TaskManager, - Arc>, -)> { - let is_authority = parachain_config.role.is_authority(); - - evm::start_node_impl::( - parachain_config, - polkadot_config, - eth_config, - collator_options, - id, - hwbench, - first_evm_block, - move |client, - pool, - deny_unsafe, - subscription_task_executor, - network, - sync_service, - frontier_backend, - filter_pool, - fee_history_cache, - overrides, - block_data_cache| { - - let slot_duration = sc_consensus_aura::slot_duration(&*client)?; - let target_gas_price = eth_config.target_gas_price; - let pending_create_inherent_data_providers = move |_, ()| async move { - let current = sp_timestamp::InherentDataProvider::from_system_time(); - let next_slot = current.timestamp().as_millis() + slot_duration.as_millis(); - let timestamp = sp_timestamp::InherentDataProvider::new(next_slot.into()); - let slot = - sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *timestamp, - slot_duration, - ); - let dynamic_fee = fp_dynamic_fee::InherentDataProvider(U256::from(target_gas_price)); - Ok((slot, timestamp, dynamic_fee)) - }; - - let mut module = rpc::create_full(client.clone(), pool.clone(), deny_unsafe)?; - module - .merge(Anchors::new(client.clone()).into_rpc()) - .map_err(|e| sc_service::Error::Application(e.into()))?; - module - .merge(Pools::new(client.clone()).into_rpc()) - .map_err(|e| sc_service::Error::Application(e.into()))?; - let eth_deps = rpc::evm::Deps { - client, - pool: pool.clone(), - graph: pool.pool().clone(), - converter: Some(development_runtime::TransactionConverter), - is_authority, - enable_dev_signer: eth_config.enable_dev_signer, - network, - sync: sync_service.clone(), - frontier_backend: match frontier_backend.clone() { - fc_db::Backend::KeyValue(b) => Arc::new(b), - #[cfg(feature = "sql")] - fc_db::Backend::Sql(b) => Arc::new(b), - }, - overrides, - block_data_cache, - filter_pool: Some(filter_pool), - max_past_logs: eth_config.max_past_logs, - fee_history_cache, - fee_history_cache_limit: eth_config.fee_history_limit, - execute_gas_limit_multiplier: eth_config.execute_gas_limit_multiplier, - forced_parent_hashes: None, - pending_create_inherent_data_providers, - }; - let module = rpc::evm::create( - module, - eth_deps, - subscription_task_executor, - Arc::new(Default::default()), - )?; - Ok(module) - }, - build_centrifuge_import_queue, - |client, - block_import, - prometheus_registry, - telemetry, - task_manager, - relay_chain_interface, - transaction_pool, - sync_oracle, - keystore, - force_authoring| { - 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(), - transaction_pool, - prometheus_registry, - telemetry.clone(), - ); - - Ok(AuraConsensus::build::< - sp_consensus_aura::sr25519::AuthorityPair, - _, - _, - _, - _, - _, - _, - >(BuildAuraConsensusParams { - proposer_factory, - create_inherent_data_providers: move |_, (relay_parent, validation_data)| { - let relay_chain_interface = relay_chain_interface.clone(); - async move { - let parachain_inherent = - cumulus_primitives_parachain_inherent::ParachainInherentData::create_at( - relay_parent, - &relay_chain_interface, - &validation_data, - id, - ).await; - - let time = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = - sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *time, - slot_duration, - ); - - let parachain_inherent = parachain_inherent.ok_or_else(|| { - Box::::from( - "Failed to create parachain inherent", - ) - })?; - Ok((slot, time, parachain_inherent)) - } - }, - block_import, - para_client: client, - backoff_authoring_blocks: Option::<()>::None, - sync_oracle, - keystore, - force_authoring, - slot_duration, - // We got around 500ms for proposing - block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), - // And a maximum of 750ms if slots are skipped - max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), - telemetry, - })) - }, + Ok( + cumulus_client_consensus_aura::equivocation_import_queue::fully_verifying_import_queue::< + sp_consensus_aura::sr25519::AuthorityPair, + _, + _, + _, + _, + >( + client, + block_import, + move |_, _| async move { + let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); + Ok(timestamp) + }, + slot_duration, + &task_manager.spawn_essential_handle(), + config.prometheus_registry(), + telemetry, + ), ) - .await } -/// Build the import queue for the "development" runtime. -#[allow(clippy::type_complexity)] -pub fn build_development_import_queue( - client: Arc>, - block_import: ParachainBlockImport, - config: &Configuration, +/// Starts the aura consensus. +/// +/// NOTE: Taken from Polkadot SDK because Moonbeam uses their custom Nimbus +/// consensus +#[allow(clippy::too_many_arguments)] +fn start_consensus( + client: Arc>, + block_import: ParachainBlockImport, + prometheus_registry: Option<&Registry>, telemetry: Option, task_manager: &TaskManager, - frontier_backend: FrontierBackend, - first_evm_block: BlockNumber, -) -> Result, sc_service::Error> { + relay_chain_interface: Arc, + transaction_pool: Arc>>, + sync_oracle: Arc>, + keystore: KeystorePtr, + relay_chain_slot_duration: Duration, + para_id: ParaId, + collator_key: CollatorPair, + overseer_handle: OverseerHandle, + announce_block: Arc>) + Send + Sync>, +) -> Result<(), sc_service::Error> +where + RuntimeApi: + ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: RuntimeApiCollection, + Executor: sc_executor::NativeExecutionDispatch + 'static, +{ + use cumulus_client_consensus_aura::collators::basic::{ + self as basic_aura, Params as BasicAuraParams, + }; + + // 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 block_import = evm::BlockImport::new( - block_import, - first_evm_block, + + let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( + task_manager.spawn_handle(), client.clone(), - Arc::new(frontier_backend), + transaction_pool, + prometheus_registry, + telemetry.clone(), ); - cumulus_client_consensus_aura::import_queue::< - sp_consensus_aura::sr25519::AuthorityPair, - _, - _, - _, - _, - _, - >(cumulus_client_consensus_aura::ImportQueueParams { - block_import, - client, - create_inherent_data_providers: move |_, _| async move { - let time = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = - sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *time, - slot_duration, - ); - - Ok((slot, time)) - }, - registry: config.prometheus_registry(), - spawner: &task_manager.spawn_essential_handle(), - telemetry, - }) - .map_err(Into::into) -} - -/// Start a development parachain node. -pub async fn start_development_node( - parachain_config: Configuration, - polkadot_config: Configuration, - eth_config: EthConfiguration, - collator_options: CollatorOptions, - id: ParaId, - hwbench: Option, - first_evm_block: BlockNumber, -) -> sc_service::error::Result<( - TaskManager, - Arc>, -)> { - let is_authority = parachain_config.role.is_authority(); - - evm::start_node_impl::( - parachain_config, - polkadot_config, - eth_config, - collator_options, - id, - hwbench, - first_evm_block, - move |client, - pool, - deny_unsafe, - subscription_task_executor, - network, - sync_service, - frontier_backend, - filter_pool, - fee_history_cache, - overrides, - block_data_cache| { + let proposer = Proposer::new(proposer_factory); - let slot_duration = sc_consensus_aura::slot_duration(&*client)?; - let target_gas_price = eth_config.target_gas_price; - let pending_create_inherent_data_providers = move |_, ()| async move { - let current = sp_timestamp::InherentDataProvider::from_system_time(); - let next_slot = current.timestamp().as_millis() + slot_duration.as_millis(); - let timestamp = sp_timestamp::InherentDataProvider::new(next_slot.into()); - let slot = - sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *timestamp, - slot_duration, - ); - let dynamic_fee = fp_dynamic_fee::InherentDataProvider(U256::from(target_gas_price)); - Ok((slot, timestamp, dynamic_fee)) - }; + let collator_service = CollatorService::new( + client.clone(), + Arc::new(task_manager.spawn_handle()), + announce_block, + client.clone(), + ); - let mut module = rpc::create_full(client.clone(), pool.clone(), deny_unsafe)?; - module - .merge(Anchors::new(client.clone()).into_rpc()) - .map_err(|e| sc_service::Error::Application(e.into()))?; - module - .merge(Pools::new(client.clone()).into_rpc()) - .map_err(|e| sc_service::Error::Application(e.into()))?; - module - .merge(Rewards::new(client.clone()).into_rpc()) - .map_err(|e| sc_service::Error::Application(e.into()))?; - let eth_deps = rpc::evm::Deps { - client, - pool: pool.clone(), - graph: pool.pool().clone(), - converter: Some(development_runtime::TransactionConverter), - is_authority, - enable_dev_signer: eth_config.enable_dev_signer, - network, - sync: sync_service.clone(), - frontier_backend: match frontier_backend.clone() { - fc_db::Backend::KeyValue(b) => Arc::new(b), - #[cfg(feature = "sql")] - fc_db::Backend::Sql(b) => Arc::new(b), - }, - overrides, - block_data_cache, - filter_pool: Some(filter_pool), - max_past_logs: eth_config.max_past_logs, - fee_history_cache, - fee_history_cache_limit: eth_config.fee_history_limit, - execute_gas_limit_multiplier: eth_config.execute_gas_limit_multiplier, - forced_parent_hashes: None, - pending_create_inherent_data_providers, - }; - let module = rpc::evm::create( - module, - eth_deps, - subscription_task_executor, - Arc::new(Default::default()), - )?; - Ok(module) - }, - build_development_import_queue, - |client, - block_import, - prometheus_registry, - telemetry, - task_manager, - relay_chain_interface, - transaction_pool, - sync_oracle, - keystore, - force_authoring| { - 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(), - transaction_pool, - prometheus_registry, - telemetry.clone(), - ); - - Ok(AuraConsensus::build::< - sp_consensus_aura::sr25519::AuthorityPair, - _, - _, - _, - _, - _, - _, - >(BuildAuraConsensusParams { - proposer_factory, - create_inherent_data_providers: move |_, (relay_parent, validation_data)| { - let relay_chain_interface = relay_chain_interface.clone(); - async move { - let parachain_inherent = - cumulus_primitives_parachain_inherent::ParachainInherentData::create_at( - relay_parent, - &relay_chain_interface, - &validation_data, - id, - ).await; - - let time = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = - sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *time, - slot_duration, - ); - - let parachain_inherent = parachain_inherent.ok_or_else(|| { - Box::::from( - "Failed to create parachain inherent", - ) - })?; - Ok((slot, time, parachain_inherent)) - } - }, - block_import, - para_client: client, - backoff_authoring_blocks: Option::<()>::None, - sync_oracle, - keystore, - force_authoring, - slot_duration, - // We got around 500ms for proposing - block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), - // And a maximum of 750ms if slots are skipped - max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), - telemetry, - })) - }, - ) - .await + let params = BasicAuraParams { + create_inherent_data_providers: move |_, ()| async move { Ok(()) }, + block_import, + para_client: client, + relay_client: relay_chain_interface, + 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(500), + collation_request_receiver: None, + }; + + let fut = + basic_aura::run::( + params, + ); + task_manager + .spawn_essential_handle() + .spawn("aura", None, fut); + + Ok(()) } diff --git a/node/src/service/evm.rs b/node/src/service/evm.rs index 319e9a01a2..6323ed2c3a 100644 --- a/node/src/service/evm.rs +++ b/node/src/service/evm.rs @@ -20,11 +20,10 @@ use std::{ use cfg_primitives::{Block, BlockNumber, Hash}; use cumulus_client_cli::CollatorOptions; -use cumulus_client_consensus_common::{ParachainBlockImportMarker, ParachainConsensus}; +use cumulus_client_consensus_common::ParachainBlockImportMarker; use cumulus_client_service::{ - build_network, build_relay_chain_interface, prepare_node_config, start_collator, - start_full_node, BuildNetworkParams, CollatorSybilResistance, StartCollatorParams, - StartFullNodeParams, + build_network, build_relay_chain_interface, prepare_node_config, start_relay_chain_tasks, + BuildNetworkParams, CollatorSybilResistance, DARecoveryProfile, StartRelayChainTasksParams, }; use cumulus_primitives_core::ParaId; use cumulus_relay_chain_interface::RelayChainInterface; @@ -34,7 +33,7 @@ use fc_mapping_sync::{kv::MappingSyncWorker, SyncStrategy}; use fc_rpc::{EthBlockDataCacheTask, EthTask, OverrideHandle}; use fc_rpc_core::types::{FeeHistoryCache, FeeHistoryCacheLimit, FilterPool}; use fp_consensus::ensure_log; -use fp_rpc::{ConvertTransactionRuntimeApi, EthereumRuntimeRPCApi}; +use fp_rpc::EthereumRuntimeRPCApi; use frame_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE; use futures::{future, StreamExt}; use sc_client_api::{backend::AuxStore, BlockOf, BlockchainEvents}; @@ -45,17 +44,17 @@ use sc_network::{NetworkBlock, NetworkService}; use sc_network_sync::SyncingService; use sc_rpc::SubscriptionTaskExecutor; use sc_rpc_api::DenyUnsafe; -use sc_service::{Configuration, PartialComponents, TFullBackend, TaskManager}; +use sc_service::{Configuration, PartialComponents, TaskManager}; use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle}; use sp_api::{ConstructRuntimeApi, ProvideRuntimeApi}; use sp_block_builder::BlockBuilder as BlockBuilderApi; use sp_blockchain::HeaderBackend; use sp_consensus::Error as ConsensusError; -use sp_keystore::KeystorePtr; use sp_runtime::traits::{BlakeTwo256, Block as BlockT, Header as HeaderT}; -use substrate_prometheus_endpoint::Registry; -use super::{rpc, FullBackend, FullClient, ParachainBlockImport}; +use super::{ + rpc, start_consensus, FullBackend, FullClient, ParachainBlockImport, RuntimeApiCollection, +}; /// The ethereum-compatibility configuration used to run a node. #[derive(Clone, Copy, Debug, clap::Parser)] @@ -165,6 +164,25 @@ fn db_config_dir(config: &Configuration) -> PathBuf { config.base_path.config_dir(config.chain_spec.id()) } +/// Assembly of PartialComponents (enough to run chain ops subcommands) +/// +/// NOTE: Based on Polkadot SDK +pub type Service = PartialComponents< + FullClient, + FullBackend, + (), + sc_consensus::DefaultImportQueue, + sc_transaction_pool::FullPool>, + ( + ParachainBlockImport, + Option, + Option, + FrontierBackend, + FilterPool, + FeeHistoryCache, + ), +>; + /// Starts a `ServiceBuilder` for a full service. /// /// Use this macro if you don't actually need the full service, but just the @@ -174,35 +192,13 @@ pub fn new_partial( config: &Configuration, first_evm_block: BlockNumber, build_import_queue: BIQ, -) -> Result< - PartialComponents< - FullClient, - FullBackend, - (), - sc_consensus::DefaultImportQueue, - sc_transaction_pool::FullPool>, - ( - ParachainBlockImport, - Option, - Option, - FrontierBackend, - FilterPool, - FeeHistoryCache, - ), - >, - sc_service::Error, -> +) -> Result, sc_service::Error> where Executor: sc_executor::NativeExecutionDispatch + 'static, RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue - + sp_api::Metadata - + sp_session::SessionKeys - + sp_api::ApiExt - + sp_offchain::OffchainWorkerApi - + sp_block_builder::BlockBuilder, - sc_client_api::StateBackendFor: sp_api::StateBackend, + RuntimeApi::RuntimeApi: RuntimeApiCollection, + sc_client_api::StateBackendFor: sc_client_api::StateBackend, BIQ: FnOnce( Arc>, ParachainBlockImport, @@ -317,31 +313,22 @@ where /// runtime api. #[allow(clippy::too_many_arguments)] #[sc_tracing::logging::prefix_logs_with("🌀Parachain")] -pub(crate) async fn start_node_impl( +pub(crate) async fn start_node_impl( parachain_config: Configuration, polkadot_config: Configuration, eth_config: EthConfiguration, collator_options: CollatorOptions, - id: ParaId, + para_id: ParaId, hwbench: Option, first_evm_block: BlockNumber, rpc_ext_builder: RB, build_import_queue: BIQ, - build_consensus: BIC, ) -> sc_service::error::Result<(TaskManager, Arc>)> where RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue - + sp_api::Metadata - + sp_session::SessionKeys - + sp_api::ApiExt - + sp_offchain::OffchainWorkerApi - + sp_block_builder::BlockBuilder - + cumulus_primitives_core::CollectCollationInfo - + EthereumRuntimeRPCApi - + ConvertTransactionRuntimeApi, - sc_client_api::StateBackendFor: sp_api::StateBackend, + RuntimeApi::RuntimeApi: RuntimeApiCollection, + sc_client_api::StateBackendFor: sc_client_api::StateBackend, Executor: sc_executor::NativeExecutionDispatch + 'static, RB: Fn( Arc>, @@ -366,18 +353,6 @@ where FrontierBackend, BlockNumber, ) -> Result, sc_service::Error>, - BIC: FnOnce( - Arc>, - ParachainBlockImport, - Option<&Registry>, - Option, - &TaskManager, - Arc, - Arc>>, - Arc>, - KeystorePtr, - bool, - ) -> Result>, sc_service::Error>, { let parachain_config = prepare_node_config(parachain_config); @@ -410,7 +385,6 @@ where .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(); @@ -423,7 +397,7 @@ where net_config, client: client.clone(), transaction_pool: transaction_pool.clone(), - para_id: id, + para_id, spawn_handle: task_manager.spawn_handle(), relay_chain_interface: relay_chain_interface.clone(), import_queue: params.import_queue, @@ -482,7 +456,6 @@ where telemetry: telemetry.as_mut(), })?; - // do we need this at all? spawn_frontier_tasks::( &task_manager, client.clone(), @@ -502,10 +475,14 @@ where // Putting a link in there and swapping out the requirements for your own are // probably a good idea. The requirements for a para-chain are dictated by its // relay-chain. - if !SUBSTRATE_REFERENCE_HARDWARE.check_hardware(&hwbench) && validator { - log::warn!( - "⚠️ The hardware does not meet the minimal requirements for role 'Authority'." + match SUBSTRATE_REFERENCE_HARDWARE.check_hardware(&hwbench) { + Err(err) if validator => { + log::warn!( + "⚠️ The hardware does not meet the minimal requirements {} for role 'Authority'.", + err ); + } + _ => {} } if let Some(ref mut telemetry) = telemetry { @@ -527,10 +504,27 @@ where .overseer_handle() .map_err(|e| sc_service::Error::Application(Box::new(e)))?; - let recovery_handle = Box::new(overseer_handle); + // Follows Polkadot SDK + start_relay_chain_tasks(StartRelayChainTasksParams { + client: client.clone(), + announce_block: announce_block.clone(), + para_id, + relay_chain_interface: relay_chain_interface.clone(), + task_manager: &mut task_manager, + da_recovery_profile: if validator { + DARecoveryProfile::Collator + } else { + DARecoveryProfile::FullNode + }, + import_queue: import_queue_service, + relay_chain_slot_duration, + recovery_handle: Box::new(overseer_handle.clone()), + sync_service: sync_service.clone(), + })?; + // Follows Polkadot SDK if validator { - let parachain_consensus = build_consensus( + start_consensus::( client.clone(), block_import, prometheus_registry.as_ref(), @@ -540,48 +534,13 @@ where transaction_pool, sync_service.clone(), params.keystore_container.keystore(), - force_authoring, - )?; - - let spawner = task_manager.spawn_handle(); - - let params = StartCollatorParams { - para_id: id, - block_status: client.clone(), - announce_block, - client: client.clone(), - task_manager: &mut task_manager, - relay_chain_interface, - spawner, - parachain_consensus, - import_queue: import_queue_service, - collator_key: collator_key.ok_or_else(|| { - sc_service::error::Error::Other("Collator Key is None".to_string()) - })?, relay_chain_slot_duration, - recovery_handle, - sync_service, - }; - - #[allow(deprecated)] // TODO fix before v1.3.0 - start_collator(params).await?; - } else { - let params = StartFullNodeParams { - client: client.clone(), + para_id, + collator_key.expect("Command line arguments do not allow this. qed"), + overseer_handle, announce_block, - task_manager: &mut task_manager, - para_id: id, - relay_chain_interface, - relay_chain_slot_duration, - import_queue: import_queue_service, - recovery_handle, - sync_service, - }; - - #[allow(deprecated)] // TODO fix before v1.3.0 - start_full_node(params)?; + )?; } - start_network.start_network(); Ok((task_manager, client)) @@ -592,7 +551,7 @@ where fn spawn_frontier_tasks( task_manager: &TaskManager, client: Arc>, - backend: Arc>, + backend: Arc, frontier_backend: FrontierBackend, filter_pool: FilterPool, overrides: Arc>, @@ -607,21 +566,14 @@ fn spawn_frontier_tasks( ) where RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue - + sp_api::Metadata - + sp_session::SessionKeys - + sp_api::ApiExt - + sp_offchain::OffchainWorkerApi - + sp_block_builder::BlockBuilder - + cumulus_primitives_core::CollectCollationInfo - + fp_rpc::EthereumRuntimeRPCApi, + RuntimeApi::RuntimeApi: RuntimeApiCollection, Executor: sc_executor::NativeExecutionDispatch + 'static, { match frontier_backend { FrontierBackend::KeyValue(fb) => { task_manager.spawn_essential_handle().spawn( "frontier-mapping-sync-worker", - None, + Some("frontier"), MappingSyncWorker::new( client.import_notification_stream(), Duration::new(6, 0), @@ -665,14 +617,14 @@ fn spawn_frontier_tasks( const FILTER_RETAIN_THRESHOLD: u64 = 100; task_manager.spawn_essential_handle().spawn( "frontier-filter-pool", - None, + Some("frontier"), EthTask::filter_pool_task(client.clone(), filter_pool, FILTER_RETAIN_THRESHOLD), ); // Spawn Frontier FeeHistory cache maintenance task. task_manager.spawn_essential_handle().spawn( "frontier-fee-history", - None, + Some("frontier"), EthTask::fee_history_task( client, overrides, diff --git a/pallets/anchors/src/mock.rs b/pallets/anchors/src/mock.rs index 6d8e1daab1..2bd50063f3 100644 --- a/pallets/anchors/src/mock.rs +++ b/pallets/anchors/src/mock.rs @@ -46,23 +46,11 @@ frame_support::construct_runtime!( impl frame_system::Config for Runtime { type AccountData = pallet_balances::AccountData; type Block = frame_system::mocking::MockBlock; - type RuntimeEvent = (); } +#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)] impl pallet_balances::Config for Runtime { type AccountStore = System; - type Balance = Balance; - type DustRemoval = (); - type ExistentialDeposit = ConstU64<1>; - type FreezeIdentifier = (); - type MaxFreezes = (); - type MaxHolds = ConstU32<1>; - type MaxLocks = (); - type MaxReserves = (); - type ReserveIdentifier = (); - type RuntimeEvent = (); - type RuntimeHoldReason = (); - type WeightInfo = (); } impl pallet_timestamp::Config for Runtime { diff --git a/pallets/block-rewards/src/benchmarking.rs b/pallets/block-rewards/src/benchmarking.rs index a4c0c337fc..08cd1c1467 100644 --- a/pallets/block-rewards/src/benchmarking.rs +++ b/pallets/block-rewards/src/benchmarking.rs @@ -7,7 +7,6 @@ use frame_support::{ }; use frame_system::RawOrigin; use sp_runtime::traits::Zero; -use sp_std::vec; // required for #[benchmarks] use super::*; use crate::{pallet::Config, Pallet as BlockRewards}; diff --git a/pallets/block-rewards/src/migrations.rs b/pallets/block-rewards/src/migrations.rs index c6de5570a9..f8d8e67d05 100644 --- a/pallets/block-rewards/src/migrations.rs +++ b/pallets/block-rewards/src/migrations.rs @@ -20,7 +20,7 @@ use parity_scale_codec::{Decode, Encode}; use sp_runtime::FixedPointNumber; #[cfg(feature = "try-runtime")] use sp_runtime::TryRuntimeError; -use sp_std::{marker::PhantomData, vec::Vec}; +use sp_std::marker::PhantomData; use crate::{pallet, Config, Pallet, SessionData}; @@ -31,7 +31,7 @@ fn inflation_rate(percent: u32) -> T::Rate { pub mod init { use cfg_traits::rewards::{AccountRewards, CurrencyGroupChange, GroupRewards}; use num_traits::Zero; - use sp_runtime::{BoundedVec, SaturatedConversion}; + use sp_runtime::SaturatedConversion; use super::*; @@ -40,19 +40,6 @@ pub mod init { PhantomData<(T, CollatorReward, AnnualTreasuryInflationPercent)>, ); - fn get_collators() -> Vec { - let candidates = BoundedVec::< - T::AccountId, - ::MaxCandidates, - >::truncate_from( - pallet_collator_selection::Pallet::::candidates() - .into_iter() - .map(|c| c.who) - .collect(), - ); - pallet_collator_selection::Pallet::::assemble_collators(candidates) - } - impl OnRuntimeUpgrade for InitBlockRewards where @@ -62,8 +49,8 @@ pub mod init { AnnualTreasuryInflationPercent: Get, { #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result, TryRuntimeError> { - let collators = get_collators::(); + fn pre_upgrade() -> Result, TryRuntimeError> { + let collators = pallet_collator_selection::Pallet::::assemble_collators(); assert!(!collators.is_empty()); assert!(!CollatorReward::get().is_zero()); @@ -85,7 +72,7 @@ pub mod init { pallet::ActiveSessionData::::get() != Default::default(); log::info!("{LOG_PREFIX} Getting list of collators"); - let collators = get_collators::(); + let collators = pallet_collator_selection::Pallet::::assemble_collators(); let collators_are_staked = collators.clone().into_iter().all(|c| { log::info!("{LOG_PREFIX} Checking stake of collator {c:?}"); @@ -152,14 +139,15 @@ pub mod init { } #[cfg(feature = "try-runtime")] - fn post_upgrade(pre_state: Vec) -> Result<(), TryRuntimeError> { + fn post_upgrade(pre_state: sp_std::vec::Vec) -> Result<(), TryRuntimeError> { assert_eq!( Pallet::::on_chain_storage_version(), Pallet::::current_storage_version(), "On-chain storage version should be updated" ); - let collators: Vec = Decode::decode(&mut pre_state.as_slice()) - .expect("pre_upgrade provides a valid state; qed"); + let collators: sp_std::vec::Vec = + Decode::decode(&mut pre_state.as_slice()) + .expect("pre_upgrade provides a valid state; qed"); assert_ne!(Pallet::::active_session_data(), Default::default()); diff --git a/pallets/block-rewards/src/mock.rs b/pallets/block-rewards/src/mock.rs index 5d46c5fef9..5c7ecaa018 100644 --- a/pallets/block-rewards/src/mock.rs +++ b/pallets/block-rewards/src/mock.rs @@ -93,7 +93,7 @@ impl pallet_balances::Config for Test { type Balance = Balance; type DustRemoval = (); type ExistentialDeposit = ConstU128; - type RuntimeHoldReason = (); + type RuntimeHoldReason = RuntimeHoldReason; } orml_traits::parameter_type_with_key! { @@ -141,6 +141,7 @@ impl pallet_restricted_tokens::Config for Test { type PreFungiblesUnbalanced = cfg_traits::Always; type PreReservableCurrency = cfg_traits::Always; type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = (); } diff --git a/pallets/bridge/src/mock.rs b/pallets/bridge/src/mock.rs index 36c25b6388..4518b3a899 100644 --- a/pallets/bridge/src/mock.rs +++ b/pallets/bridge/src/mock.rs @@ -51,7 +51,6 @@ pub(crate) const TEST_RELAYER_VOTE_THRESHOLD: u32 = 2; // Build mock runtime frame_support::construct_runtime!( - pub enum Runtime { System: frame_system, @@ -84,21 +83,11 @@ parameter_types! { pub const ExistentialDeposit: u128 = 1; } -// Implement FRAME balances pallet configuration trait for the mock runtime +#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)] impl pallet_balances::Config for Runtime { type AccountStore = System; type Balance = Balance; - type DustRemoval = (); type ExistentialDeposit = ExistentialDeposit; - type FreezeIdentifier = (); - type MaxFreezes = (); - type MaxHolds = frame_support::traits::ConstU32<1>; - type MaxLocks = (); - type MaxReserves = (); - type ReserveIdentifier = (); - type RuntimeEvent = RuntimeEvent; - type RuntimeHoldReason = (); - type WeightInfo = (); } // Required as a tight dependency from pallet_fees, but not used for it in the diff --git a/pallets/ethereum-transaction/src/lib.rs b/pallets/ethereum-transaction/src/lib.rs index 892dcaa335..e97df5184e 100644 --- a/pallets/ethereum-transaction/src/lib.rs +++ b/pallets/ethereum-transaction/src/lib.rs @@ -23,7 +23,9 @@ use cfg_primitives::TRANSACTION_RECOVERY_ID; use cfg_traits::ethereum::EthereumTransactor; -use ethereum::{LegacyTransaction, TransactionAction, TransactionSignature, TransactionV2}; +use ethereum::{ + LegacyTransaction, ReceiptV3, TransactionAction, TransactionSignature, TransactionV2, +}; use frame_support::{ dispatch::{DispatchErrorWithPostInfo, PostDispatchInfo}, pallet_prelude::*, @@ -39,7 +41,6 @@ mod tests; #[frame_support::pallet] pub mod pallet { - use ethereum::ReceiptV3; use frame_system::pallet_prelude::OriginFor; use super::*; diff --git a/pallets/ethereum-transaction/src/mock.rs b/pallets/ethereum-transaction/src/mock.rs index 9c02dfb4eb..9d710bc537 100644 --- a/pallets/ethereum-transaction/src/mock.rs +++ b/pallets/ethereum-transaction/src/mock.rs @@ -8,7 +8,7 @@ use pallet_evm::{ FixedGasWeightMapping, IsPrecompileResult, PrecompileHandle, PrecompileSet, SubstrateBlockHashMapping, }; -use sp_core::{crypto::AccountId32, ByteArray, ConstU128, ConstU64, H160, U256}; +use sp_core::{crypto::AccountId32, ByteArray, ConstU128, ConstU32, ConstU64, H160, U256}; use sp_runtime::{traits::IdentityLookup, ConsensusEngineId}; use crate::pallet as pallet_ethereum_transaction; @@ -143,6 +143,7 @@ impl pallet_evm::Config for Runtime { type PrecompilesValue = MockPrecompiles; type Runner = Runner; type RuntimeEvent = RuntimeEvent; + type SuicideQuickClearLimit = ConstU32<0>; type Timestamp = Timestamp; type WeightInfo = (); type WeightPerGas = WeightPerGas; diff --git a/pallets/fees/Cargo.toml b/pallets/fees/Cargo.toml index f9f13b6801..4f6890518b 100644 --- a/pallets/fees/Cargo.toml +++ b/pallets/fees/Cargo.toml @@ -54,6 +54,7 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "pallet-treasury/runtime-benchmarks", ] try-runtime = [ "cfg-traits/try-runtime", diff --git a/pallets/fees/src/mock.rs b/pallets/fees/src/mock.rs index 64dae18a96..b23145300a 100644 --- a/pallets/fees/src/mock.rs +++ b/pallets/fees/src/mock.rs @@ -1,10 +1,16 @@ use frame_support::{ derive_impl, parameter_types, - traits::{EitherOfDiverse, FindAuthor, SortedMembers}, + traits::{ + tokens::{PayFromAccount, UnityAssetBalanceConversion}, + EitherOfDiverse, FindAuthor, SortedMembers, + }, ConsensusEngineId, PalletId, }; use frame_system::{EnsureRoot, EnsureSignedBy}; -use sp_runtime::{traits::ConstU64, BuildStorage}; +use sp_runtime::{ + traits::{ConstU64, IdentityLookup}, + BuildStorage, +}; use crate::{self as pallet_fees, *}; @@ -30,9 +36,6 @@ impl frame_system::Config for Runtime { #[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)] impl pallet_balances::Config for Runtime { type AccountStore = System; - type DustRemoval = (); - type ExistentialDeposit = ConstU64<1>; - type RuntimeHoldReason = (); } pub struct AuthorGiven; @@ -53,16 +56,25 @@ impl pallet_authorship::Config for Runtime { parameter_types! { pub const TreasuryPalletId: PalletId = PalletId(*b"treasury"); + pub TreasuryAccount: u64 = Treasury::account_id(); } impl pallet_treasury::Config for Runtime { type ApproveOrigin = EnsureSignedBy; + type AssetKind = (); + type BalanceConverter = UnityAssetBalanceConversion; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); + type Beneficiary = Self::AccountId; + type BeneficiaryLookup = IdentityLookup; type Burn = (); type BurnDestination = (); type Currency = Balances; type MaxApprovals = (); type OnSlash = Treasury; type PalletId = TreasuryPalletId; + type Paymaster = PayFromAccount; + type PayoutPeriod = ConstU64<10>; type ProposalBond = (); type ProposalBondMaximum = (); type ProposalBondMinimum = (); diff --git a/pallets/investments/src/benchmarking.rs b/pallets/investments/src/benchmarking.rs index 52ad8ac5b3..039e72a571 100644 --- a/pallets/investments/src/benchmarking.rs +++ b/pallets/investments/src/benchmarking.rs @@ -20,7 +20,6 @@ use frame_benchmarking::{account, impl_benchmark_test_suite, v2::*, whitelisted_ use frame_support::traits::fungibles::Mutate; use frame_system::RawOrigin; use sp_runtime::{traits::One, Perquintill}; -use sp_std::vec; // required for #[benchmarks] use crate::{Call, Config, CurrencyOf, Pallet}; diff --git a/pallets/liquidity-pools-gateway/routers/src/lib.rs b/pallets/liquidity-pools-gateway/routers/src/lib.rs index 25d1fa3837..7010571e18 100644 --- a/pallets/liquidity-pools-gateway/routers/src/lib.rs +++ b/pallets/liquidity-pools-gateway/routers/src/lib.rs @@ -53,7 +53,7 @@ use scale_info::TypeInfo; use sp_core::{bounded::BoundedVec, ConstU32, H160, H256, U256}; use sp_runtime::traits::{BlakeTwo256, Hash}; use sp_std::{boxed::Box, marker::PhantomData, vec::Vec}; -use staging_xcm::{latest::OriginKind, VersionedMultiLocation}; +use staging_xcm::{latest::OriginKind, prelude::Limited, VersionedLocation}; #[cfg(test)] mod mock; @@ -244,7 +244,7 @@ where // The destination to which the message should be sent. self.xcm_domain.location.clone(), // The sender will pay for this transaction. - sender, + Some(sender), // The currency in which we want to pay fees. CurrencyPayment { currency: Currency::AsCurrencyId(self.xcm_domain.fee_currency.clone()), @@ -255,7 +255,7 @@ where OriginKind::SovereignAccount, TransactWeights { transact_required_weight_at_most: self.xcm_domain.transact_required_weight_at_most, - overall_weight: Some(self.xcm_domain.overall_weight), + overall_weight: Some(Limited(self.xcm_domain.overall_weight)), }, // Opt-in on RefundSurplus true, @@ -303,7 +303,7 @@ where #[derive(Debug, Encode, Decode, Clone, PartialEq, Eq, TypeInfo, MaxEncodedLen)] pub struct XcmDomain { /// The XCM multilocation of the domain. - pub location: Box, + pub location: Box, /// The ethereum_xcm::Call::transact call index on a given domain. /// It should contain the pallet index + the `transact` call index, to which diff --git a/pallets/liquidity-pools-gateway/routers/src/mock.rs b/pallets/liquidity-pools-gateway/routers/src/mock.rs index c7f633ccc4..7671f21263 100644 --- a/pallets/liquidity-pools-gateway/routers/src/mock.rs +++ b/pallets/liquidity-pools-gateway/routers/src/mock.rs @@ -4,9 +4,7 @@ use cfg_mocks::{pallet_mock_liquidity_pools, pallet_mock_routers, MessageMock, R use cfg_primitives::{OutboundMessageNonce, BLOCK_STORAGE_LIMIT, MAX_POV_SIZE}; use cfg_traits::TryConvert; use cfg_types::domain_address::DomainAddress; -use cumulus_primitives_core::{ - Instruction, MultiAsset, MultiLocation, PalletInstance, Parachain, SendError, Xcm, XcmHash, -}; +use cumulus_primitives_core::{Instruction, PalletInstance, Parachain, SendError, Xcm, XcmHash}; use frame_support::{ derive_impl, parameter_types, traits::{FindAuthor, PalletInfo as PalletInfoTrait}, @@ -21,19 +19,16 @@ use pallet_evm::{ }; use pallet_liquidity_pools_gateway::EnsureLocal; use parity_scale_codec::{Decode, Encode}; -use sp_core::{crypto::AccountId32, ByteArray, H160, H256, U256}; +use sp_core::{crypto::AccountId32, ByteArray, ConstU32, H160, H256, U256}; use sp_runtime::{traits::IdentityLookup, ConsensusEngineId, DispatchError}; use sp_std::{cell::RefCell, marker::PhantomData}; -use staging_xcm::{ - latest::{ - Error as XcmError, InteriorMultiLocation, NetworkId, Result as XcmResult, SendResult, - XcmContext, - }, - v3::{Junction, Junctions, MultiAssets, SendXcm}, +use staging_xcm::latest::{ + opaque, Asset, Assets, Error as XcmError, InteriorLocation, Junction, Location, NetworkId, + Result as XcmResult, SendResult, SendXcm, XcmContext, }; use staging_xcm_executor::{ traits::{TransactAsset, WeightBounds}, - Assets, + AssetsInHolding, }; use xcm_primitives::{ HrmpAvailableCalls, HrmpEncodeCall, UtilityAvailableCalls, UtilityEncodeCall, XcmTransact, @@ -223,6 +218,7 @@ impl pallet_evm::Config for Runtime { type PrecompilesValue = MockPrecompiles; type Runner = Runner; type RuntimeEvent = RuntimeEvent; + type SuicideQuickClearLimit = ConstU32<0>; type Timestamp = Timestamp; type WeightInfo = (); type WeightPerGas = WeightPerGas; @@ -258,9 +254,9 @@ impl Default for Transactors { } impl XcmTransact for Transactors { - fn destination(self) -> MultiLocation { + fn destination(self) -> Location { match self { - Transactors::Relay => MultiLocation::parent(), + Transactors::Relay => Location::parent(), } } } @@ -280,36 +276,36 @@ impl UtilityEncodeCall for Transactors { } } -pub struct AccountIdToMultiLocation; -impl sp_runtime::traits::Convert for AccountIdToMultiLocation { - fn convert(_account: AccountId32) -> MultiLocation { +pub struct AccountIdToLocation; +impl sp_runtime::traits::Convert for AccountIdToLocation { + fn convert(_account: AccountId32) -> Location { let as_h160: H160 = H160::repeat_byte(0xAA); - MultiLocation::new( + Location::new( 0, - Junctions::X1(Junction::AccountKey20 { + Junction::AccountKey20 { network: None, key: as_h160.as_fixed_bytes().clone(), - }), + }, ) } } pub struct DummyAssetTransactor; impl TransactAsset for DummyAssetTransactor { - fn deposit_asset(_what: &MultiAsset, _who: &MultiLocation, _context: &XcmContext) -> XcmResult { + fn deposit_asset(_what: &Asset, _who: &Location, _context: Option<&XcmContext>) -> XcmResult { Ok(()) } fn withdraw_asset( - _what: &MultiAsset, - _who: &MultiLocation, + _what: &Asset, + _who: &Location, _context: Option<&XcmContext>, - ) -> Result { - Ok(Assets::default()) + ) -> Result { + Ok(AssetsInHolding::default()) } } -pub struct CurrencyIdToMultiLocation; +pub struct CurrencyIdToLocation; pub type AssetId = u128; @@ -319,19 +315,19 @@ pub enum CurrencyId { OtherReserve(AssetId), } -impl sp_runtime::traits::Convert> for CurrencyIdToMultiLocation { - fn convert(currency: CurrencyId) -> Option { +impl sp_runtime::traits::Convert> for CurrencyIdToLocation { + fn convert(currency: CurrencyId) -> Option { match currency { CurrencyId::SelfReserve => { - let multi: MultiLocation = SelfReserve::get(); + let multi: Location = SelfReserve::get(); Some(multi) } // To distinguish between relay and others, specially for reserve asset CurrencyId::OtherReserve(asset) => { if asset == 0 { - Some(MultiLocation::parent()) + Some(Location::parent()) } else { - Some(MultiLocation::new(1, Junctions::X1(Parachain(2)))) + Some(Location::new(1, Parachain(2))) } } } @@ -359,9 +355,9 @@ impl HrmpEncodeCall for MockHrmpEncoder { // Simulates sending a XCM message thread_local! { - pub static SENT_XCM: RefCell> = RefCell::new(Vec::new()); + pub static SENT_XCM: RefCell> = RefCell::new(Vec::new()); } -pub fn sent_xcm() -> Vec<(MultiLocation, staging_xcm::v3::opaque::Xcm)> { +pub fn sent_xcm() -> Vec<(Location, opaque::Xcm)> { SENT_XCM.with(|q| (*q.borrow()).clone()) } pub struct TestSendXcm; @@ -369,14 +365,14 @@ impl SendXcm for TestSendXcm { type Ticket = (); fn validate( - destination: &mut Option, - message: &mut Option, + destination: &mut Option, + message: &mut Option, ) -> SendResult { SENT_XCM.with(|q| { q.borrow_mut() .push((destination.clone().unwrap(), message.clone().unwrap())) }); - Ok(((), MultiAssets::new())) + Ok(((), Assets::new())) } fn deliver(_: Self::Ticket) -> Result { @@ -429,34 +425,36 @@ parameter_types! { pub ParachainId: cumulus_primitives_core::ParaId = 100.into(); - pub SelfLocation: MultiLocation = - MultiLocation::new(1, Junctions::X1(Parachain(ParachainId::get().into()))); + pub SelfLocation: Location = + Location::new(1, Parachain(ParachainId::get().into())); - pub SelfReserve: MultiLocation = MultiLocation::new( + pub SelfReserve: Location = Location::new( 1, - Junctions::X2( + [ Parachain(ParachainId::get().into()), PalletInstance( ::PalletInfo::index::().unwrap() as u8 ) - )); + ] + ); pub const BaseXcmWeight: staging_xcm::latest::Weight = staging_xcm::latest::Weight::from_parts(1000, 0); - pub MaxFee: MultiAsset = (MultiLocation::parent(), 1_000_000_000_000u128).into(); + pub MaxFee: Asset = (Location::parent(), 1_000_000_000_000u128).into(); - pub UniversalLocation: InteriorMultiLocation = RelayNetwork::get().into(); + pub UniversalLocation: InteriorLocation = RelayNetwork::get().into(); } impl pallet_xcm_transactor::Config for Runtime { - type AccountIdToMultiLocation = AccountIdToMultiLocation; + type AccountIdToLocation = AccountIdToLocation; type AssetTransactor = DummyAssetTransactor; type Balance = Balance; type BaseXcmWeight = BaseXcmWeight; type CurrencyId = CurrencyId; - type CurrencyIdToMultiLocation = CurrencyIdToMultiLocation; + type CurrencyIdToLocation = CurrencyIdToLocation; type DerivativeAddressRegistrationOrigin = EnsureRoot; type HrmpManipulatorOrigin = EnsureRoot; + type HrmpOpenOrigin = EnsureRoot; type MaxHrmpFee = MaxHrmpRelayFee; type ReserveProvider = orml_traits::location::RelativeReserveProvider; type RuntimeEvent = RuntimeEvent; diff --git a/pallets/liquidity-pools-gateway/routers/src/routers/axelar_evm.rs b/pallets/liquidity-pools-gateway/routers/src/routers/axelar_evm.rs index 99d6b6c2cc..865557b848 100644 --- a/pallets/liquidity-pools-gateway/routers/src/routers/axelar_evm.rs +++ b/pallets/liquidity-pools-gateway/routers/src/routers/axelar_evm.rs @@ -115,7 +115,7 @@ pub(crate) fn get_axelar_encoded_msg( }, ], outputs: vec![], - constant: false, + constant: Some(false), state_mutability: Default::default(), }], )]), diff --git a/pallets/liquidity-pools-gateway/routers/src/routers/ethereum_xcm.rs b/pallets/liquidity-pools-gateway/routers/src/routers/ethereum_xcm.rs index 83f49cf796..a92569b277 100644 --- a/pallets/liquidity-pools-gateway/routers/src/routers/ethereum_xcm.rs +++ b/pallets/liquidity-pools-gateway/routers/src/routers/ethereum_xcm.rs @@ -84,7 +84,7 @@ pub(crate) fn get_xcm_router_contract() -> Contract { internal_type: None, }], outputs: vec![], - constant: false, + constant: Some(false), state_mutability: Default::default(), }], ); diff --git a/pallets/liquidity-pools-gateway/routers/src/tests.rs b/pallets/liquidity-pools-gateway/routers/src/tests.rs index 508d85c6a0..dc69b1c606 100644 --- a/pallets/liquidity-pools-gateway/routers/src/tests.rs +++ b/pallets/liquidity-pools-gateway/routers/src/tests.rs @@ -1,7 +1,6 @@ use cfg_mocks::MessageMock; use cfg_primitives::CFG; use cfg_traits::liquidity_pools::{Codec, Router}; -use cumulus_primitives_core::MultiLocation; use frame_support::{assert_noop, assert_ok, traits::fungible::Mutate}; use lazy_static::lazy_static; use pallet_evm::AddressMapping; @@ -10,10 +9,8 @@ use sp_runtime::{ traits::{BlakeTwo256, Convert, Hash}, DispatchError, }; -use staging_xcm::{ - lts::WeightLimit, - v2::OriginKind, - v3::{Instruction::*, MultiAsset}, +use staging_xcm::latest::{ + Asset, AssetId, Fungibility, Instruction::*, Location, OriginKind, WeightLimit, }; use super::mock::*; @@ -187,7 +184,7 @@ mod xcm_router { pub struct XCMRouterTestData { pub currency_id: CurrencyId, - pub dest: MultiLocation, + pub dest: Location, pub xcm_domain: XcmDomain<::CurrencyId>, pub sender: AccountId32, pub msg: Vec, @@ -195,7 +192,7 @@ mod xcm_router { pub fn get_test_data() -> XCMRouterTestData { let currency_id = CurrencyId::OtherReserve(1); - let dest = CurrencyIdToMultiLocation::convert(currency_id.clone()).unwrap(); + let dest = CurrencyIdToLocation::convert(currency_id.clone()).unwrap(); let xcm_domain = XcmDomain { location: Box::new(dest.clone().into_versioned()), @@ -260,21 +257,17 @@ mod xcm_router { let (_, xcm) = sent_messages.first().unwrap(); assert!(xcm.0.contains(&WithdrawAsset( - (MultiAsset { - id: staging_xcm::v3::AssetId::Concrete(MultiLocation::here()), - fun: staging_xcm::v3::Fungibility::Fungible( - test_data.xcm_domain.fee_amount - ), + (Asset { + id: AssetId(Location::here()), + fun: Fungibility::Fungible(test_data.xcm_domain.fee_amount), }) .into() ))); assert!(xcm.0.contains(&BuyExecution { - fees: MultiAsset { - id: staging_xcm::v3::AssetId::Concrete(MultiLocation::here()), - fun: staging_xcm::v3::Fungibility::Fungible( - test_data.xcm_domain.fee_amount - ), + fees: Asset { + id: AssetId(Location::here()), + fun: Fungibility::Fungible(test_data.xcm_domain.fee_amount), }, weight_limit: WeightLimit::Limited(test_data.xcm_domain.overall_weight), })); @@ -505,7 +498,7 @@ mod axelar_xcm { pub struct AxelarXCMTestData { pub currency_id: CurrencyId, - pub dest: MultiLocation, + pub dest: Location, pub xcm_domain: XcmDomain<::CurrencyId>, pub axelar_target_chain: BoundedVec>, pub axelar_target_contract: H160, @@ -515,7 +508,7 @@ mod axelar_xcm { pub fn get_test_data() -> AxelarXCMTestData { let currency_id = CurrencyId::OtherReserve(1); - let dest = CurrencyIdToMultiLocation::convert(currency_id.clone()).unwrap(); + let dest = CurrencyIdToLocation::convert(currency_id.clone()).unwrap(); let xcm_domain = XcmDomain { location: Box::new(dest.clone().into_versioned()), @@ -601,21 +594,17 @@ mod axelar_xcm { let (_, xcm) = sent_messages.first().unwrap(); assert!(xcm.0.contains(&WithdrawAsset( - (MultiAsset { - id: staging_xcm::v3::AssetId::Concrete(MultiLocation::here()), - fun: staging_xcm::v3::Fungibility::Fungible( - test_data.xcm_domain.fee_amount - ), + (Asset { + id: AssetId(Location::here()), + fun: Fungibility::Fungible(test_data.xcm_domain.fee_amount), }) .into() ))); assert!(xcm.0.contains(&BuyExecution { - fees: MultiAsset { - id: staging_xcm::v3::AssetId::Concrete(MultiLocation::here()), - fun: staging_xcm::v3::Fungibility::Fungible( - test_data.xcm_domain.fee_amount - ), + fees: Asset { + id: AssetId(Location::here()), + fun: Fungibility::Fungible(test_data.xcm_domain.fee_amount), }, weight_limit: WeightLimit::Limited(test_data.xcm_domain.overall_weight), })); @@ -652,7 +641,7 @@ mod ethereum_xcm { pub struct EthereumXCMTestData { pub currency_id: CurrencyId, - pub dest: MultiLocation, + pub dest: Location, pub xcm_domain: XcmDomain<::CurrencyId>, pub axelar_target_chain: BoundedVec>, pub axelar_target_contract: H160, @@ -662,7 +651,7 @@ mod ethereum_xcm { pub fn get_test_data() -> EthereumXCMTestData { let currency_id = CurrencyId::OtherReserve(1); - let dest = CurrencyIdToMultiLocation::convert(currency_id.clone()).unwrap(); + let dest = CurrencyIdToLocation::convert(currency_id.clone()).unwrap(); let xcm_domain = XcmDomain { location: Box::new(dest.clone().into_versioned()), @@ -741,21 +730,17 @@ mod ethereum_xcm { let (_, xcm) = sent_messages.first().unwrap(); assert!(xcm.0.contains(&WithdrawAsset( - (MultiAsset { - id: staging_xcm::v3::AssetId::Concrete(MultiLocation::here()), - fun: staging_xcm::v3::Fungibility::Fungible( - test_data.xcm_domain.fee_amount - ), + (Asset { + id: AssetId(Location::here()), + fun: Fungibility::Fungible(test_data.xcm_domain.fee_amount), }) .into() ))); assert!(xcm.0.contains(&BuyExecution { - fees: MultiAsset { - id: staging_xcm::v3::AssetId::Concrete(MultiLocation::here()), - fun: staging_xcm::v3::Fungibility::Fungible( - test_data.xcm_domain.fee_amount - ), + fees: Asset { + id: AssetId(Location::here()), + fun: Fungibility::Fungible(test_data.xcm_domain.fee_amount), }, weight_limit: WeightLimit::Limited(test_data.xcm_domain.overall_weight), })); diff --git a/pallets/liquidity-pools/src/contract.rs b/pallets/liquidity-pools/src/contract.rs index 08206057db..852b6e1fc8 100644 --- a/pallets/liquidity-pools/src/contract.rs +++ b/pallets/liquidity-pools/src/contract.rs @@ -47,7 +47,7 @@ pub fn xcm_router_contract() -> Contract { internal_type: None, }], outputs: vec![], - constant: false, + constant: Some(false), state_mutability: Default::default(), }], ); diff --git a/pallets/liquidity-pools/src/lib.rs b/pallets/liquidity-pools/src/lib.rs index bb39c1e95a..6235475f82 100644 --- a/pallets/liquidity-pools/src/lib.rs +++ b/pallets/liquidity-pools/src/lib.rs @@ -64,9 +64,8 @@ use sp_runtime::{ }; use sp_std::{convert::TryInto, vec}; use staging_xcm::{ - latest::NetworkId, - prelude::{AccountKey20, GlobalConsensus, PalletInstance, X3}, - VersionedMultiLocation, + v4::{Junction::*, NetworkId}, + VersionedLocation, }; // NOTE: Should be replaced with generated weights in the future. For now, let's @@ -129,7 +128,6 @@ pub mod pallet { use frame_system::pallet_prelude::*; use parity_scale_codec::HasCompact; use sp_runtime::{traits::Zero, DispatchError}; - use staging_xcm::latest::MultiLocation; use super::*; use crate::defensive_weights::WeightInfo; @@ -892,21 +890,26 @@ pub mod pallet { Error::::AssetNotLiquidityPoolsTransferable ); - match meta.location { - Some(VersionedMultiLocation::V3(MultiLocation { - parents: 0, - interior: - X3( - PalletInstance(pallet_instance), - GlobalConsensus(NetworkId::Ethereum { chain_id }), - AccountKey20 { - network: None, - key: address, - }, - ), - })) if Some(pallet_instance.into()) - == ::PalletInfo::index::>() => - { + // We need to still support v3 until orml_asset_registry migrates to the last + // version. + let location = match meta.location { + Some(VersionedLocation::V3(location)) => location.try_into().map_err(|_| { + DispatchError::Other("v3 is isometric to v4 and should not fail") + })?, + Some(VersionedLocation::V4(location)) => location, + _ => Err(Error::::AssetNotLiquidityPoolsWrappedToken)?, + }; + + let pallet_index = ::PalletInfo::index::>(); + + match location.unpack() { + ( + 0, + &[PalletInstance(pallet_instance), GlobalConsensus(NetworkId::Ethereum { chain_id }), AccountKey20 { + network: None, + key: address, + }], + ) if Some(pallet_instance.into()) == pallet_index => { Ok(LiquidityPoolsWrappedToken::EVM { chain_id, address }) } _ => Err(Error::::AssetNotLiquidityPoolsWrappedToken.into()), diff --git a/pallets/liquidity-pools/src/routers.rs b/pallets/liquidity-pools/src/routers.rs index 29ebef06ef..15d16e4dec 100644 --- a/pallets/liquidity-pools/src/routers.rs +++ b/pallets/liquidity-pools/src/routers.rs @@ -3,7 +3,7 @@ use scale_info::TypeInfo; use sp_core::H160; use sp_runtime::{traits::ConstU32, BoundedVec}; use sp_std::boxed::Box; -use staging_xcm::VersionedMultiLocation; +use staging_xcm::VersionedLocation; #[allow(clippy::derive_partial_eq_without_eq)] // XcmDomain does not impl Eq #[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen)] @@ -19,7 +19,7 @@ pub enum Router { #[cfg_attr(feature = "std", derive(Debug))] pub struct XcmDomain { /// the xcm multilocation of the domain - pub location: Box, + pub location: Box, /// The ethereum_xcm::Call::transact call index on a given domain. /// It should contain the pallet index + the `transact` call index, to which /// we will append the eth_tx param. You can obtain this value by building diff --git a/pallets/oracle-collection/src/benchmarking.rs b/pallets/oracle-collection/src/benchmarking.rs index d450416c11..9092fd0e44 100644 --- a/pallets/oracle-collection/src/benchmarking.rs +++ b/pallets/oracle-collection/src/benchmarking.rs @@ -3,7 +3,6 @@ use cfg_traits::{ }; use frame_benchmarking::{v2::*, whitelisted_caller}; use frame_system::RawOrigin; -use sp_std::vec; // required for #[benchmarks] use crate::{ pallet::{Call, Collection, Config, Pallet}, diff --git a/pallets/oracle-feed/src/benchmarking.rs b/pallets/oracle-feed/src/benchmarking.rs index 26b8563eb8..a4532f8b06 100644 --- a/pallets/oracle-feed/src/benchmarking.rs +++ b/pallets/oracle-feed/src/benchmarking.rs @@ -3,7 +3,6 @@ use frame_benchmarking::{v2::*, whitelisted_caller}; use frame_support::traits::OriginTrait; use frame_system::RawOrigin; use parity_scale_codec::Decode; -use sp_std::vec; // required for #[benchmarks] use crate::pallet::{Call, Config, Pallet}; diff --git a/pallets/order-book/Cargo.toml b/pallets/order-book/Cargo.toml index 4b29841b7b..4f9a5e6e16 100644 --- a/pallets/order-book/Cargo.toml +++ b/pallets/order-book/Cargo.toml @@ -37,7 +37,6 @@ cfg-mocks = { workspace = true, default-features = true } cfg-test-utils = { workspace = true, default-features = true } orml-tokens = { workspace = true, default-features = true } pallet-balances = { workspace = true, default-features = true } -pallet-restricted-tokens = { workspace = true, default-features = true } sp-io = { workspace = true, default-features = true } [features] diff --git a/pallets/order-book/src/benchmarking.rs b/pallets/order-book/src/benchmarking.rs index f3cebd0ea8..0d18da483d 100644 --- a/pallets/order-book/src/benchmarking.rs +++ b/pallets/order-book/src/benchmarking.rs @@ -22,7 +22,6 @@ use sp_runtime::{ traits::{checked_pow, Zero}, FixedPointNumber, }; -use sp_std::vec; // required for #[benchmarks] use super::*; diff --git a/pallets/order-book/src/mock.rs b/pallets/order-book/src/mock.rs index b9e56855ec..7c57c67962 100644 --- a/pallets/order-book/src/mock.rs +++ b/pallets/order-book/src/mock.rs @@ -54,11 +54,10 @@ frame_support::construct_runtime!( pub enum Runtime { Balances: pallet_balances, System: frame_system, - OrmlTokens: orml_tokens, + Tokens: orml_tokens, OrderBook: order_book, MockRatioProvider: cfg_mocks::value_provider::pallet, MockFulfilledOrderHook: cfg_mocks::status_notification::pallet, - Tokens: pallet_restricted_tokens, } ); @@ -91,10 +90,8 @@ impl cfg_mocks::status_notification::pallet::Config for Runtime { impl pallet_balances::Config for Runtime { type AccountStore = System; type Balance = Balance; - type DustRemoval = (); type ExistentialDeposit = ConstU128<1>; - type MaxHolds = ConstU32<1>; - type RuntimeHoldReason = (); + type RuntimeHoldReason = RuntimeHoldReason; } parameter_type_with_key! { @@ -117,34 +114,6 @@ impl orml_tokens::Config for Runtime { type WeightInfo = (); } -parameter_types! { - pub const NativeToken: CurrencyId = CurrencyId::Native; -} - -impl pallet_restricted_tokens::Config for Runtime { - type Balance = Balance; - type CurrencyId = CurrencyId; - type Fungibles = OrmlTokens; - type NativeFungible = Balances; - type NativeToken = NativeToken; - type PreCurrency = cfg_traits::Always; - type PreExtrTransfer = cfg_traits::Always; - type PreFungibleInspect = pallet_restricted_tokens::FungibleInspectPassthrough; - type PreFungibleInspectHold = cfg_traits::Always; - type PreFungibleMutate = cfg_traits::Always; - type PreFungibleMutateHold = cfg_traits::Always; - type PreFungibleTransfer = cfg_traits::Always; - type PreFungiblesInspect = pallet_restricted_tokens::FungiblesInspectPassthrough; - type PreFungiblesInspectHold = cfg_traits::Always; - type PreFungiblesMutate = cfg_traits::Always; - type PreFungiblesMutateHold = cfg_traits::Always; - type PreFungiblesTransfer = cfg_traits::Always; - type PreFungiblesUnbalanced = cfg_traits::Always; - type PreReservableCurrency = cfg_traits::Always; - type RuntimeEvent = RuntimeEvent; - type WeightInfo = (); -} - parameter_types! { pub MinFulfillmentAmountNative: Balance = native(2); } diff --git a/pallets/pool-fees/src/benchmarking.rs b/pallets/pool-fees/src/benchmarking.rs index 66ac8fb9e3..4aef893183 100644 --- a/pallets/pool-fees/src/benchmarking.rs +++ b/pallets/pool-fees/src/benchmarking.rs @@ -19,7 +19,6 @@ use cfg_traits::{ use cfg_types::pools::PoolFeeEditor; use frame_benchmarking::v2::*; use frame_support::{assert_ok, dispatch::RawOrigin}; -use sp_std::vec; // required for #[benchmarks] use super::*; use crate::{types::Change, Pallet as PoolFees}; diff --git a/pallets/pool-fees/src/lib.rs b/pallets/pool-fees/src/lib.rs index f7a167ef85..4cf182a03f 100644 --- a/pallets/pool-fees/src/lib.rs +++ b/pallets/pool-fees/src/lib.rs @@ -733,7 +733,7 @@ pub mod pallet { /// the valuation is maximized at this point in time because each unit /// of reserve reduces the NAV by reducing pending to disbursment /// amounts. - /// ```ignore + /// ```text /// NAV(PoolFees) = sum(pending_fee_amount) = sum(epoch_amount - disbursement) /// ``` pub fn update_portfolio_valuation_for_pool( diff --git a/pallets/pool-registry/Cargo.toml b/pallets/pool-registry/Cargo.toml index 718adf7416..a10359b755 100644 --- a/pallets/pool-registry/Cargo.toml +++ b/pallets/pool-registry/Cargo.toml @@ -45,7 +45,6 @@ pallet-permissions = { workspace = true, default-features = true } pallet-pool-fees = { workspace = true, default-features = true } pallet-pool-system = { workspace = true, default-features = true } pallet-timestamp = { workspace = true, default-features = true } -parachain-info = { workspace = true, default-features = true } serde = { workspace = true, default-features = true } sp-core = { workspace = true, default-features = true } sp-io = { workspace = true, default-features = true } diff --git a/pallets/pool-registry/src/lib.rs b/pallets/pool-registry/src/lib.rs index 8f9dc5fd28..78b46b3b00 100644 --- a/pallets/pool-registry/src/lib.rs +++ b/pallets/pool-registry/src/lib.rs @@ -39,7 +39,7 @@ use sp_runtime::{ FixedPointNumber, FixedPointOperand, }; use sp_std::vec::Vec; -use staging_xcm::VersionedMultiLocation; +use staging_xcm::VersionedLocation; pub use weights::WeightInfo; #[cfg(feature = "runtime-benchmarks")] @@ -431,7 +431,7 @@ pub mod pallet { } } - impl cfg_traits::PoolMetadata for Pallet { + impl cfg_traits::PoolMetadata for Pallet { type AssetMetadata = AssetMetadataOf; type CustomMetadata = CustomMetadata; type PoolId = T::PoolId; @@ -471,7 +471,7 @@ pub mod pallet { name: Option>, symbol: Option>, existential_deposit: Option, - location: Option>, + location: Option>, additional: Option, ) -> DispatchResult { let currency_id = T::TrancheCurrency::generate(pool_id, tranche).into(); diff --git a/pallets/pool-registry/src/mock.rs b/pallets/pool-registry/src/mock.rs index dd8915028a..ddbdf93ee4 100644 --- a/pallets/pool-registry/src/mock.rs +++ b/pallets/pool-registry/src/mock.rs @@ -30,7 +30,7 @@ use cfg_types::{ }; use frame_support::{ derive_impl, - dispatch::{DispatchResult, RawOrigin}, + dispatch::DispatchResult, pallet_prelude::DispatchError, parameter_types, traits::{Contains, EnsureOriginWithArg, Hooks, PalletInfoAccess, SortedMembers}, @@ -125,6 +125,7 @@ impl EnsureOriginWithArg for All { #[cfg(feature = "runtime-benchmarks")] fn try_successful_origin(_: &PoolId) -> Result { + use frame_support::dispatch::RawOrigin; Ok(RawOrigin::Root.into()) } } diff --git a/pallets/pool-registry/src/tests.rs b/pallets/pool-registry/src/tests.rs index 52d2836166..851a39308e 100644 --- a/pallets/pool-registry/src/tests.rs +++ b/pallets/pool-registry/src/tests.rs @@ -18,7 +18,7 @@ use pallet_pool_system::{ pool_types::PoolChanges, tranches::{TrancheInput, TrancheType}, }; -use staging_xcm::VersionedMultiLocation; +use staging_xcm::VersionedLocation; use crate::{mock::*, pallet, pallet::Error, Event, PoolMetadataOf}; @@ -145,10 +145,12 @@ fn trait_pool_metadata_set_pool_metadata() { .as_bytes() .to_vec(); - assert_ok!(>::set_pool_metadata(pool_id, metadata.clone())); + assert_ok!( + >::set_pool_metadata( + pool_id, + metadata.clone() + ) + ); assert!(find_metadata_event(pool_id, BoundedVec::truncate_from(metadata)).is_some()) }) @@ -223,19 +225,21 @@ fn trait_pool_metadata_get_pool_metadata() { .to_vec(); assert_noop!( - >::get_pool_metadata( + >::get_pool_metadata( pool_id ), Error::::NoSuchPoolMetadata ); - assert_ok!(>::set_pool_metadata(pool_id, metadata_bytes.clone())); + assert_ok!( + >::set_pool_metadata( + pool_id, + metadata_bytes.clone() + ) + ); assert_eq!( - >::get_pool_metadata( + >::get_pool_metadata( pool_id ), Ok(PoolMetadataOf:: { @@ -266,7 +270,7 @@ fn trait_pool_metadata_create_tranche_token_metadata() { assert_ok!(>::create_tranche_token_metadata( pool_id, tranche_id, metadata )); @@ -290,7 +294,7 @@ fn trait_pool_metadata_get_tranche_token_metadata() { }; assert_noop!( - >::get_tranche_token_metadata( + >::get_tranche_token_metadata( pool_id, tranche_id ), Error::::MetadataForCurrencyNotFound @@ -298,7 +302,7 @@ fn trait_pool_metadata_get_tranche_token_metadata() { assert_ok!(>::create_tranche_token_metadata( pool_id, tranche_id, metadata.clone() )); @@ -306,7 +310,7 @@ fn trait_pool_metadata_get_tranche_token_metadata() { assert_eq!( >::get_tranche_token_metadata(pool_id, tranche_id), Ok(metadata) ); @@ -339,12 +343,12 @@ fn trait_pool_metadata_update_tranche_token_metadata() { assert_ok!(>::create_tranche_token_metadata(pool_id, tranche_id, old)); assert_ok!(>::update_tranche_token_metadata( pool_id, tranche_id, @@ -359,7 +363,7 @@ fn trait_pool_metadata_update_tranche_token_metadata() { assert_eq!( >::get_tranche_token_metadata(pool_id, tranche_id), Ok(new) ); diff --git a/pallets/pool-system/Cargo.toml b/pallets/pool-system/Cargo.toml index c4889953d4..05535520f6 100644 --- a/pallets/pool-system/Cargo.toml +++ b/pallets/pool-system/Cargo.toml @@ -48,11 +48,9 @@ pallet-balances = { workspace = true, default-features = true } pallet-investments = { workspace = true, default-features = true } pallet-pool-fees = { workspace = true, default-features = true } pallet-restricted-tokens = { workspace = true, default-features = true } -parachain-info = { workspace = true, default-features = true } rand = { workspace = true, default-features = true } sp-core = { workspace = true, default-features = true } sp-io = { workspace = true, default-features = true } -staging-xcm = { workspace = true, default-features = true } [features] default = ["std"] diff --git a/pallets/pool-system/src/mock.rs b/pallets/pool-system/src/mock.rs index 53748c57e1..da4ec270df 100644 --- a/pallets/pool-system/src/mock.rs +++ b/pallets/pool-system/src/mock.rs @@ -152,7 +152,7 @@ impl pallet_balances::Config for Runtime { type Balance = Balance; type DustRemoval = (); type ExistentialDeposit = ConstU128<1>; - type RuntimeHoldReason = (); + type RuntimeHoldReason = RuntimeHoldReason; } parameter_types! { @@ -223,8 +223,6 @@ parameter_types! { pub const MockParachainId: u32 = 100; } -impl parachain_info::Config for Runtime {} - parameter_types! { pub const NativeToken: CurrencyId = CurrencyId::Native; } @@ -250,6 +248,7 @@ impl pallet_restricted_tokens::Config for Runtime { type PreFungiblesUnbalanced = cfg_traits::Always; type PreReservableCurrency = cfg_traits::Always; type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = (); } @@ -394,6 +393,7 @@ impl EnsureOriginWithArg for All { #[cfg(feature = "runtime-benchmarks")] fn try_successful_origin(_: &PoolId) -> Result { + use frame_support::dispatch::RawOrigin; Ok(RawOrigin::Root.into()) } } diff --git a/pallets/pool-system/src/tests/mod.rs b/pallets/pool-system/src/tests/mod.rs index 7054e0a7ae..d3554142d7 100644 --- a/pallets/pool-system/src/tests/mod.rs +++ b/pallets/pool-system/src/tests/mod.rs @@ -1428,8 +1428,7 @@ fn valid_tranche_structure_is_enforced() { ], AUSD_CURRENCY_ID, 10_000 * CURRENCY, - - vec![], + vec![], ), Error::::InvalidTrancheStructure ); @@ -1492,8 +1491,7 @@ fn valid_tranche_structure_is_enforced() { ], AUSD_CURRENCY_ID, 10_000 * CURRENCY, - - vec![], + vec![], ), Error::::InvalidTrancheStructure ); @@ -1548,8 +1546,7 @@ fn valid_tranche_structure_is_enforced() { ], AUSD_CURRENCY_ID, 10_000 * CURRENCY, - - vec![], + vec![], ), Error::::InvalidTrancheStructure ); @@ -1601,8 +1598,7 @@ fn valid_tranche_structure_is_enforced() { ], AUSD_CURRENCY_ID, 10_000 * CURRENCY, - - vec![], + vec![], ), Error::::InvalidTrancheStructure ); diff --git a/pallets/restricted-tokens/src/benchmarking.rs b/pallets/restricted-tokens/src/benchmarking.rs index 05d9b9a17a..bf985bf58b 100644 --- a/pallets/restricted-tokens/src/benchmarking.rs +++ b/pallets/restricted-tokens/src/benchmarking.rs @@ -36,8 +36,10 @@ fn make_free_balance( balance: ::Balance, ) where T: Config - + pallet_balances::Config::Balance> - + orml_tokens::Config< + + pallet_balances::Config< + Balance = ::Balance, + RuntimeHoldReason = ::RuntimeHoldReason, + > + orml_tokens::Config< Balance = ::Balance, CurrencyId = ::CurrencyId, >, @@ -69,8 +71,10 @@ fn reserve_balance( balance: ::Balance, ) where T: Config - + pallet_balances::Config::Balance, RuntimeHoldReason = ()> - + orml_tokens::Config< + + pallet_balances::Config< + Balance = ::Balance, + RuntimeHoldReason = ::RuntimeHoldReason, + > + orml_tokens::Config< Balance = ::Balance, CurrencyId = ::CurrencyId, >, @@ -81,7 +85,7 @@ fn reserve_balance( "Providers should not be zero" ); as fungible::MutateHold>::hold( - &Default::default(), + &HoldReason::NativeIndex.into(), account, balance, ) @@ -89,7 +93,7 @@ fn reserve_balance( } else { as fungibles::MutateHold>::hold( currency_id, - &Default::default(), + &(), account, balance, ) @@ -149,8 +153,10 @@ fn set_up_account( ) -> T::AccountId where T: Config - + pallet_balances::Config::Balance, RuntimeHoldReason = ()> - + orml_tokens::Config< + + pallet_balances::Config< + Balance = ::Balance, + RuntimeHoldReason = ::RuntimeHoldReason, + > + orml_tokens::Config< Balance = ::Balance, CurrencyId = ::CurrencyId, > + pallet_permissions::Config, Role = Role>, @@ -190,7 +196,10 @@ benchmarks! { where_clause { where T: Config - + pallet_balances::Config::Balance, RuntimeHoldReason = ()> + + pallet_balances::Config< + Balance = ::Balance, + RuntimeHoldReason = ::RuntimeHoldReason, + > + orml_tokens::Config::Balance, CurrencyId = ::CurrencyId> + pallet_permissions::Config, Role = Role>, ::Balance: From + Zero, diff --git a/pallets/restricted-tokens/src/impl_fungible.rs b/pallets/restricted-tokens/src/impl_fungible.rs index 1785138358..875b83c068 100644 --- a/pallets/restricted-tokens/src/impl_fungible.rs +++ b/pallets/restricted-tokens/src/impl_fungible.rs @@ -126,7 +126,7 @@ pub enum FungibleInspectHoldEffects { } impl InspectHold for Pallet { - type Reason = (); + type Reason = T::RuntimeHoldReason; fn total_balance_on_hold(who: &T::AccountId) -> Self::Balance { >::total_balance_on_hold(who) diff --git a/pallets/restricted-tokens/src/impl_fungibles.rs b/pallets/restricted-tokens/src/impl_fungibles.rs index 9f59f5cdde..d841587740 100644 --- a/pallets/restricted-tokens/src/impl_fungibles.rs +++ b/pallets/restricted-tokens/src/impl_fungibles.rs @@ -199,22 +199,28 @@ impl InspectHold for Pallet { fn balance_on_hold( asset: Self::AssetId, - reason: &Self::Reason, + _reason: &Self::Reason, who: &T::AccountId, ) -> Self::Balance { if asset == T::NativeToken::get() { - >::balance_on_hold(reason, who) + >::balance_on_hold( + &HoldReason::NativeIndex.into(), + who, + ) } else { - >::balance_on_hold(asset, reason, who) + >::balance_on_hold(asset, &(), who) } } - fn hold_available(asset: Self::AssetId, reason: &Self::Reason, who: &T::AccountId) -> bool { + fn hold_available(asset: Self::AssetId, _reason: &Self::Reason, who: &T::AccountId) -> bool { if asset == T::NativeToken::get() { - >::hold_available(reason, who) + >::hold_available( + &HoldReason::NativeIndex.into(), + who, + ) } else { let hold_available = - >::hold_available(asset, reason, who); + >::hold_available(asset, &(), who); T::PreFungiblesInspectHold::check(FungiblesInspectHoldEffects::HoldAvailable( asset, @@ -226,15 +232,19 @@ impl InspectHold for Pallet { fn can_hold( asset: Self::AssetId, - reason: &Self::Reason, + _reason: &Self::Reason, who: &T::AccountId, amount: Self::Balance, ) -> bool { if asset == T::NativeToken::get() { - >::can_hold(reason, who, amount) + >::can_hold( + &HoldReason::NativeIndex.into(), + who, + amount, + ) } else { let can_hold = - >::can_hold(asset, reason, who, amount); + >::can_hold(asset, &(), who, amount); T::PreFungiblesInspectHold::check(FungiblesInspectHoldEffects::CanHold( asset, @@ -380,13 +390,15 @@ pub enum FungiblesMutateHoldEffects { impl fungibles::hold::Unbalanced for Pallet { fn set_balance_on_hold( asset: Self::AssetId, - reason: &Self::Reason, + _reason: &Self::Reason, who: &T::AccountId, amount: Self::Balance, ) -> sp_runtime::DispatchResult { if asset == T::NativeToken::get() { >::set_balance_on_hold( - reason, who, amount, + &HoldReason::NativeIndex.into(), + who, + amount, ) } else { ensure!( @@ -399,7 +411,10 @@ impl fungibles::hold::Unbalanced for Pallet { ); >::set_balance_on_hold( - asset, reason, who, amount, + asset, + &(), + who, + amount, ) } } @@ -408,12 +423,16 @@ impl fungibles::hold::Unbalanced for Pallet { impl MutateHold for Pallet { fn hold( asset: Self::AssetId, - reason: &Self::Reason, + _reason: &Self::Reason, who: &T::AccountId, amount: Self::Balance, ) -> DispatchResult { if asset == T::NativeToken::get() { - >::hold(reason, who, amount) + >::hold( + &HoldReason::NativeIndex.into(), + who, + amount, + ) } else { ensure!( T::PreFungiblesMutateHold::check(FungiblesMutateHoldEffects::Hold( @@ -424,19 +443,24 @@ impl MutateHold for Pallet { Error::::PreConditionsNotMet ); - >::hold(asset, reason, who, amount) + >::hold(asset, &(), who, amount) } } fn release( asset: Self::AssetId, - reason: &Self::Reason, + _reason: &Self::Reason, who: &T::AccountId, amount: Self::Balance, precision: Precision, ) -> Result { if asset == T::NativeToken::get() { - >::release(reason, who, amount, precision) + >::release( + &HoldReason::NativeIndex.into(), + who, + amount, + precision, + ) } else { ensure!( T::PreFungiblesMutateHold::check(FungiblesMutateHoldEffects::Release( @@ -448,15 +472,13 @@ impl MutateHold for Pallet { Error::::PreConditionsNotMet ); - >::release( - asset, reason, who, amount, precision, - ) + >::release(asset, &(), who, amount, precision) } } fn transfer_on_hold( asset: Self::AssetId, - reason: &Self::Reason, + _reason: &Self::Reason, source: &T::AccountId, dest: &T::AccountId, amount: Self::Balance, @@ -466,7 +488,13 @@ impl MutateHold for Pallet { ) -> Result { if asset == T::NativeToken::get() { >::transfer_on_hold( - reason, source, dest, amount, precision, mode, force, + &HoldReason::NativeIndex.into(), + source, + dest, + amount, + precision, + mode, + force, ) } else { ensure!( @@ -482,7 +510,14 @@ impl MutateHold for Pallet { ); >::transfer_on_hold( - asset, reason, source, dest, amount, precision, mode, force, + asset, + &(), + source, + dest, + amount, + precision, + mode, + force, ) } } diff --git a/pallets/restricted-tokens/src/lib.rs b/pallets/restricted-tokens/src/lib.rs index 6c64becd23..c224d22018 100644 --- a/pallets/restricted-tokens/src/lib.rs +++ b/pallets/restricted-tokens/src/lib.rs @@ -67,8 +67,8 @@ pub mod pallet { use frame_support::{ pallet_prelude::TypeInfo, sp_runtime::{ - traits::{AtLeast32BitUnsigned, CheckedAdd, StaticLookup}, - ArithmeticError, FixedPointOperand, + traits::{AtLeast32BitUnsigned, EnsureAdd, StaticLookup}, + FixedPointOperand, }, traits::tokens::{Fortitude, Precision, Preservation}, }; @@ -87,6 +87,12 @@ pub mod pallet { }, }; + /// A reason for this pallet placing a hold on funds. + #[pallet::composite_enum] + pub enum HoldReason { + NativeIndex, + } + /// Configure the pallet by specifying the parameters and types on which it /// depends. #[pallet::config] @@ -95,6 +101,9 @@ pub mod pallet { /// definition of an event. type RuntimeEvent: From> + IsType<::RuntimeEvent>; + /// The identifier to be used for holding. + type RuntimeHoldReason: From + Parameter; + /// The balance type type Balance: Parameter + Member @@ -202,7 +211,7 @@ pub mod pallet { + LockableCurrency + ReservableCurrency + fungible::Inspect - + fungible::InspectHold + + fungible::InspectHold + fungible::Mutate + fungible::MutateHold; @@ -497,16 +506,16 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { ensure_root(origin)?; let who = T::Lookup::lookup(who)?; - let new_total = new_free - .checked_add(&new_reserved) - .ok_or(ArithmeticError::Overflow)?; + let new_total = new_free.ensure_add(new_reserved)?; let token = if T::NativeToken::get() == currency_id { - let old_reserved = - >::balance_on_hold(&(), &who); + let old_reserved = >::balance_on_hold( + &HoldReason::NativeIndex.into(), + &who, + ); >::release( - &(), + &HoldReason::NativeIndex.into(), &who, old_reserved, Precision::Exact, @@ -519,7 +528,11 @@ pub mod pallet { Fortitude::Force, )?; >::mint_into(&who, new_total)?; - >::hold(&(), &who, new_reserved)?; + >::hold( + &HoldReason::NativeIndex.into(), + &who, + new_reserved, + )?; TokenType::Native } else { diff --git a/pallets/restricted-tokens/src/mock.rs b/pallets/restricted-tokens/src/mock.rs index 8d84a4057d..8809a2af13 100644 --- a/pallets/restricted-tokens/src/mock.rs +++ b/pallets/restricted-tokens/src/mock.rs @@ -14,6 +14,8 @@ use cfg_traits::PreConditions; use frame_support::{derive_impl, parameter_types}; use orml_traits::parameter_type_with_key; use pallet_restricted_tokens::TransferDetails; +use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; +use scale_info::TypeInfo; #[cfg(feature = "std")] use serde::{Deserialize, Serialize}; use sp_runtime::{traits::ConstU32, BuildStorage}; @@ -349,17 +351,7 @@ mod filter { } #[derive( - parity_scale_codec::Encode, - parity_scale_codec::Decode, - Clone, - Copy, - Debug, - PartialOrd, - Ord, - PartialEq, - Eq, - scale_info::TypeInfo, - parity_scale_codec::MaxEncodedLen, + Encode, Decode, Clone, Copy, Debug, PartialOrd, Ord, PartialEq, Eq, TypeInfo, MaxEncodedLen, )] #[cfg_attr(feature = "std", derive(Serialize, Deserialize))] pub enum CurrencyId { @@ -392,10 +384,8 @@ parameter_types! { #[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)] impl pallet_balances::Config for Runtime { type AccountStore = System; - type DustRemoval = (); type ExistentialDeposit = ExistentialDeposit; - type MaxHolds = ConstU32<1>; - type RuntimeHoldReason = (); + type RuntimeHoldReason = RuntimeHoldReason; } parameter_type_with_key! { @@ -444,6 +434,7 @@ impl pallet_restricted_tokens::Config for Runtime { type PreFungiblesUnbalanced = filter::fungibles::UnbalancedFilter; type PreReservableCurrency = cfg_traits::Always; type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = (); } diff --git a/pallets/restricted-tokens/src/tests.rs b/pallets/restricted-tokens/src/tests.rs index fcad7514b4..8c6d5a50e8 100644 --- a/pallets/restricted-tokens/src/tests.rs +++ b/pallets/restricted-tokens/src/tests.rs @@ -25,7 +25,7 @@ use orml_traits::GetByKey; use crate::{ mock::{DISTR_PER_ACCOUNT, *}, - Error, + Error, HoldReason, }; #[test] @@ -252,10 +252,9 @@ fn set_balance_native_works() { 1, CurrencyId::Cfg, 200, - 100 + 100, )); assert_eq!(System::account(1).data.free, 200); - assert_eq!(System::account(1).data.reserved, 100); }) } @@ -269,7 +268,7 @@ fn set_balance_foreign_works() { 1, CurrencyId::AUSD, 200, - 100 + 100, )); assert!(orml_tokens::Pallet::::accounts(1, CurrencyId::AUSD).free == 200); assert!(orml_tokens::Pallet::::accounts(1, CurrencyId::AUSD).reserved == 100); @@ -279,7 +278,7 @@ fn set_balance_foreign_works() { 1, CurrencyId::AUSD, 400, - 200 + 200, )); assert!(orml_tokens::Pallet::::accounts(1, CurrencyId::AUSD).free == 400); assert!(orml_tokens::Pallet::::accounts(1, CurrencyId::AUSD).reserved == 200); @@ -396,7 +395,7 @@ fn fungible_balance_on_hold() { assert_eq!( as fungible::InspectHold< AccountId, - >>::balance_on_hold(&(), &1), + >>::balance_on_hold(&HoldReason::NativeIndex.into(), &1), 0 ); }) @@ -410,7 +409,7 @@ fn fungible_can_hold() { assert!( as fungible::InspectHold< AccountId, - >>::can_hold(&(), &1, DISTR_PER_ACCOUNT) + >>::can_hold(&HoldReason::NativeIndex.into(), &1, DISTR_PER_ACCOUNT) ); }) } @@ -441,7 +440,7 @@ fn fungible_hold() { assert!( as fungible::MutateHold< AccountId, - >>::hold(&(), &1, DISTR_PER_ACCOUNT) + >>::hold(&HoldReason::NativeIndex.into(), &1, DISTR_PER_ACCOUNT) .is_ok() ); }) @@ -455,13 +454,13 @@ fn fungible_release() { assert!( as fungible::MutateHold< AccountId, - >>::hold(&(), &1, DISTR_PER_ACCOUNT) + >>::hold(&HoldReason::NativeIndex.into(), &1, DISTR_PER_ACCOUNT) .is_ok() ); assert!( as fungible::MutateHold< AccountId, - >>::release(&(), &1, DISTR_PER_ACCOUNT, Precision::Exact) + >>::release(&HoldReason::NativeIndex.into(), &1, DISTR_PER_ACCOUNT, Precision::Exact) .is_ok() ); }) @@ -472,13 +471,13 @@ fn fungible_transfer_on_hold() { TestExternalitiesBuilder::default() .build(Some(|| {})) .execute_with(|| { - assert!( as fungible::MutateHold>::hold(&(), &1, DISTR_PER_ACCOUNT).is_ok()); - assert!( as fungible::MutateHold>::transfer_on_hold(&(), &1, &9, DISTR_PER_ACCOUNT, Precision::Exact, Restriction::OnHold, Fortitude::Polite).is_ok()); + assert!( as fungible::MutateHold>::hold(&HoldReason::NativeIndex.into(), &1, DISTR_PER_ACCOUNT).is_ok()); + assert!( as fungible::MutateHold>::transfer_on_hold(&HoldReason::NativeIndex.into(), &1, &9, DISTR_PER_ACCOUNT, Precision::Exact, Restriction::OnHold, Fortitude::Polite).is_ok()); assert_eq!( as fungible::Inspect>::reducible_balance(&1, Preservation::Preserve, Fortitude::Polite), 0); assert_eq!( as fungible::Inspect>::reducible_balance(&9, Preservation::Preserve, Fortitude::Polite), DISTR_PER_ACCOUNT - 2 * ExistentialDeposit::get()); - assert!( as fungible::MutateHold>::hold(&(), &2, DISTR_PER_ACCOUNT).is_ok()); - assert!( as fungible::MutateHold>::transfer_on_hold(&(), &2, &9, DISTR_PER_ACCOUNT, Precision::Exact, Restriction::Free,Fortitude::Polite).is_ok()); + assert!( as fungible::MutateHold>::hold(&HoldReason::NativeIndex.into(), &2, DISTR_PER_ACCOUNT).is_ok()); + assert!( as fungible::MutateHold>::transfer_on_hold(&HoldReason::NativeIndex.into(), &2, &9, DISTR_PER_ACCOUNT, Precision::Exact, Restriction::Free,Fortitude::Polite).is_ok()); assert_eq!( as fungible::Inspect>::reducible_balance(&2, Preservation::Preserve, Fortitude::Polite), 0); assert_eq!( as fungible::Inspect>::reducible_balance(&9, Preservation::Preserve, Fortitude::Polite), 2 * DISTR_PER_ACCOUNT - 2 * ExistentialDeposit::get()); }) @@ -1315,11 +1314,18 @@ mod fungible_hold { fn hold_available() { TestExternalitiesBuilder::default() .build(Some(|| { - assert_ok!(Tokens::hold(&(), &HOLD_USER, RESERVED)); + assert_ok!(Tokens::hold( + &HoldReason::NativeIndex.into(), + &HOLD_USER, + RESERVED + )); })) .execute_with(|| { - assert!(Tokens::hold_available(&(), &1)); - assert!(Tokens::hold_available(&(), &HOLD_USER)); + assert!(Tokens::hold_available(&HoldReason::NativeIndex.into(), &1)); + assert!(Tokens::hold_available( + &HoldReason::NativeIndex.into(), + &HOLD_USER + )); }) } @@ -1327,14 +1333,30 @@ mod fungible_hold { fn balance_on_hold() { TestExternalitiesBuilder::default() .build(Some(|| { - assert_ok!(Tokens::hold(&(), &HOLD_USER, RESERVED)); + assert_ok!(Tokens::hold( + &HoldReason::NativeIndex.into(), + &HOLD_USER, + RESERVED + )); })) .execute_with(|| { - assert_eq!(Tokens::balance_on_hold(&(), &1), 0); - assert_eq!(Tokens::balance_on_hold(&(), &1), 0); + assert_eq!( + Tokens::balance_on_hold(&HoldReason::NativeIndex.into(), &1), + 0 + ); + assert_eq!( + Tokens::balance_on_hold(&HoldReason::NativeIndex.into(), &1), + 0 + ); - assert_eq!(Tokens::balance_on_hold(&(), &HOLD_USER), RESERVED); - assert_eq!(Tokens::balance_on_hold(&(), &HOLD_USER), RESERVED); + assert_eq!( + Tokens::balance_on_hold(&HoldReason::NativeIndex.into(), &HOLD_USER), + RESERVED + ); + assert_eq!( + Tokens::balance_on_hold(&HoldReason::NativeIndex.into(), &HOLD_USER), + RESERVED + ); }) } @@ -1342,7 +1364,11 @@ mod fungible_hold { fn total_balance_on_hold() { TestExternalitiesBuilder::default() .build(Some(|| { - assert_ok!(Tokens::hold(&(), &HOLD_USER, RESERVED)); + assert_ok!(Tokens::hold( + &HoldReason::NativeIndex.into(), + &HOLD_USER, + RESERVED + )); })) .execute_with(|| { assert_eq!(Tokens::total_balance_on_hold(&1), 0); @@ -1357,7 +1383,11 @@ mod fungible_hold { fn reducible_total_balance_on_hold() { TestExternalitiesBuilder::default() .build(Some(|| { - assert_ok!(Tokens::hold(&(), &HOLD_USER, RESERVED)); + assert_ok!(Tokens::hold( + &HoldReason::NativeIndex.into(), + &HOLD_USER, + RESERVED + )); })) .execute_with(|| { assert_eq!( @@ -1384,7 +1414,11 @@ mod fungible_hold { fn reducible_balance() { TestExternalitiesBuilder::default() .build(Some(|| { - assert_ok!(Tokens::hold(&(), &HOLD_USER, RESERVED)); + assert_ok!(Tokens::hold( + &HoldReason::NativeIndex.into(), + &HOLD_USER, + RESERVED + )); })) .execute_with(|| { // Total funds can be withdrawn for Expendable and Protect diff --git a/pallets/restricted-xtokens/src/lib.rs b/pallets/restricted-xtokens/src/lib.rs index 525926e20f..15f4c1e6ad 100644 --- a/pallets/restricted-xtokens/src/lib.rs +++ b/pallets/restricted-xtokens/src/lib.rs @@ -23,15 +23,15 @@ //! ### Dispatchable functions //! //! - `transfer`: Transfer local assets with given `CurrencyId` and `Amount`. -//! - `transfer_multiasset`: Transfer `MultiAsset` assets. +//! - `transfer_multiasset`: Transfer `Asset` assets. //! - `transfer_with_fee`: Transfer native currencies specifying the fee and //! amount as separate. -//! - `transfer_multiasset_with_fee`: Transfer `MultiAsset` specifying the fee -//! and amount as separate. +//! - `transfer_multiasset_with_fee`: Transfer `Asset` specifying the fee and +//! amount as separate. //! - `transfer_multicurrencies`: Transfer several currencies specifying the //! item to be used as fee. -//! - `transfer_multiassets`: Transfer several `MultiAsset` specifying the item -//! to be used as fee. +//! - `transfer_multiassets`: Transfer several `Asset` specifying the item to be +//! used as fee. #![cfg_attr(not(feature = "std"), no_std)] #![allow(clippy::from_over_into)] @@ -46,46 +46,44 @@ use frame_system::{ensure_signed, pallet_prelude::*}; use orml_traits::XtokensWeightInfo; pub use pallet::*; use sp_std::{boxed::Box, vec::Vec}; -use staging_xcm::{ - v3::prelude::*, VersionedMultiAsset, VersionedMultiAssets, VersionedMultiLocation, -}; +use staging_xcm::{v4::prelude::*, VersionedAsset, VersionedAssets, VersionedLocation}; pub enum TransferEffects { Transfer { sender: AccountId, - destination: MultiLocation, + destination: VersionedLocation, currency_id: CurrencyId, amount: Balance, }, TransferMultiAsset { sender: AccountId, - destination: MultiLocation, - asset: MultiAsset, + destination: VersionedLocation, + asset: Asset, }, TransferWithFee { sender: AccountId, - destination: MultiLocation, + destination: VersionedLocation, currency_id: CurrencyId, amount: Balance, fee: Balance, }, TransferMultiAssetWithFee { sender: AccountId, - destination: MultiLocation, - asset: MultiAsset, - fee_asset: MultiAsset, + destination: VersionedLocation, + asset: Asset, + fee_asset: Asset, }, TransferMultiCurrencies { sender: AccountId, - destination: MultiLocation, + destination: VersionedLocation, currencies: Vec<(CurrencyId, Balance)>, fee: (CurrencyId, Balance), }, TransferMultiAssets { sender: AccountId, - destination: MultiLocation, - assets: MultiAssets, - fee_asset: MultiAsset, + destination: VersionedLocation, + assets: Assets, + fee_asset: Asset, }, } @@ -129,17 +127,14 @@ pub mod pallet { origin: OriginFor, currency_id: T::CurrencyId, amount: T::Balance, - dest: Box, + dest: Box, dest_weight_limit: WeightLimit, ) -> DispatchResult { - let destination: MultiLocation = (*dest.clone()) - .try_into() - .map_err(|()| Error::::BadVersion)?; let sender = ensure_signed(origin.clone())?; T::PreTransfer::check(TransferEffects::Transfer { sender, - destination, + destination: (*dest.clone()), currency_id: currency_id.clone(), amount, })?; @@ -153,7 +148,7 @@ pub mod pallet { ) } - /// Transfer `MultiAsset`. + /// Transfer `Asset`. /// /// `dest_weight_limit` is the weight for XCM execution on the dest /// chain, and it would be charged from the transferred assets. If set @@ -169,21 +164,18 @@ pub mod pallet { #[pallet::weight(orml_xtokens::XtokensWeight::< T >::weight_of_transfer_multiasset(asset, dest) + T::DbWeight::get().reads(4))] pub fn transfer_multiasset( origin: OriginFor, - asset: Box, - dest: Box, + asset: Box, + dest: Box, dest_weight_limit: WeightLimit, ) -> DispatchResult { let sender = ensure_signed(origin.clone())?; - let multi_asset: MultiAsset = (*asset.clone()) - .try_into() - .map_err(|()| Error::::BadVersion)?; - let destination: MultiLocation = (*dest.clone()) + let multi_asset: Asset = (*asset.clone()) .try_into() .map_err(|()| Error::::BadVersion)?; T::PreTransfer::check(TransferEffects::TransferMultiAsset { sender, - destination, + destination: (*dest.clone()), asset: multi_asset, })?; @@ -218,17 +210,14 @@ pub mod pallet { currency_id: T::CurrencyId, amount: T::Balance, fee: T::Balance, - dest: Box, + dest: Box, dest_weight_limit: WeightLimit, ) -> DispatchResult { let sender = ensure_signed(origin.clone())?; - let destination: MultiLocation = (*dest.clone()) - .try_into() - .map_err(|()| Error::::BadVersion)?; T::PreTransfer::check(TransferEffects::TransferWithFee { sender, - destination, + destination: (*dest.clone()), currency_id: currency_id.clone(), amount, fee, @@ -244,7 +233,7 @@ pub mod pallet { ) } - /// Transfer `MultiAsset` specifying the fee and amount as separate. + /// Transfer `Asset` specifying the fee and amount as separate. /// /// `dest_weight_limit` is the weight for XCM execution on the dest /// chain, and it would be charged from the transferred assets. If set @@ -254,7 +243,7 @@ pub mod pallet { /// `fee` is the multiasset to be spent to pay for execution in /// destination chain. Both fee and amount will be subtracted form the /// callers balance For now we only accept fee and asset having the same - /// `MultiLocation` id. + /// `Location` id. /// /// If `fee` is not high enough to cover for the execution costs in the /// destination chain, then the assets will be trapped in the @@ -269,25 +258,22 @@ pub mod pallet { #[pallet::weight(orml_xtokens::XtokensWeight::< T >::weight_of_transfer_multiasset(asset, dest) + T::DbWeight::get().reads(4))] pub fn transfer_multiasset_with_fee( origin: OriginFor, - asset: Box, - fee: Box, - dest: Box, + asset: Box, + fee: Box, + dest: Box, dest_weight_limit: WeightLimit, ) -> DispatchResult { let sender = ensure_signed(origin.clone())?; - let multi_asset: MultiAsset = (*asset.clone()) + let multi_asset: Asset = (*asset.clone()) .try_into() .map_err(|()| Error::::BadVersion)?; - let fee_asset: MultiAsset = (*fee.clone()) - .try_into() - .map_err(|()| Error::::BadVersion)?; - let destination: MultiLocation = (*dest.clone()) + let fee_asset: Asset = (*fee.clone()) .try_into() .map_err(|()| Error::::BadVersion)?; T::PreTransfer::check(TransferEffects::TransferMultiAssetWithFee { sender, - destination, + destination: (*dest.clone()), asset: multi_asset, fee_asset, })?; @@ -322,20 +308,17 @@ pub mod pallet { origin: OriginFor, currencies: Vec<(T::CurrencyId, T::Balance)>, fee_item: u32, - dest: Box, + dest: Box, dest_weight_limit: WeightLimit, ) -> DispatchResult { let sender = ensure_signed(origin.clone())?; - let destination: MultiLocation = (*dest.clone()) - .try_into() - .map_err(|()| Error::::BadVersion)?; let fee = currencies .get(fee_item as usize) .ok_or(orml_xtokens::Error::::AssetIndexNonExistent)?; T::PreTransfer::check(TransferEffects::TransferMultiCurrencies { sender, - destination, + destination: (*dest.clone()), currencies: currencies.clone(), fee: fee.clone(), })?; @@ -349,14 +332,14 @@ pub mod pallet { ) } - /// Transfer several `MultiAsset` specifying the item to be used as fee + /// Transfer several `Asset` specifying the item to be used as fee /// /// `dest_weight_limit` is the weight for XCM execution on the dest /// chain, and it would be charged from the transferred assets. If set /// below requirements, the execution may fail and assets wouldn't be /// received. /// - /// `fee_item` is index of the MultiAssets that we want to use for + /// `fee_item` is index of the Assets that we want to use for /// payment /// /// It's a no-op if any error on local XCM execution or message sending. @@ -368,25 +351,22 @@ pub mod pallet { #[pallet::weight(orml_xtokens::XtokensWeight::< T >::weight_of_transfer_multiassets(assets, fee_item, dest) + T::DbWeight::get().reads(4))] pub fn transfer_multiassets( origin: OriginFor, - assets: Box, + assets: Box, fee_item: u32, - dest: Box, + dest: Box, dest_weight_limit: WeightLimit, ) -> DispatchResult { let sender = ensure_signed(origin.clone())?; - let multi_assets: MultiAssets = (*assets.clone()) - .try_into() - .map_err(|()| Error::::BadVersion)?; - let destination: MultiLocation = (*dest.clone()) + let multi_assets: Assets = (*assets.clone()) .try_into() .map_err(|()| Error::::BadVersion)?; - let fee_asset: &MultiAsset = multi_assets + let fee_asset: &Asset = multi_assets .get(fee_item as usize) .ok_or(orml_xtokens::Error::::AssetIndexNonExistent)?; T::PreTransfer::check(TransferEffects::TransferMultiAssets { sender, - destination, + destination: (*dest.clone()), assets: multi_assets.clone(), fee_asset: fee_asset.clone(), })?; diff --git a/pallets/rewards/src/issuance.rs b/pallets/rewards/src/issuance.rs index 8ea5860297..3e8b873abf 100644 --- a/pallets/rewards/src/issuance.rs +++ b/pallets/rewards/src/issuance.rs @@ -15,7 +15,7 @@ use cfg_traits::rewards::RewardIssuance; use frame_support::traits::{fungibles::Mutate, tokens::Preservation}; use parity_scale_codec::{Decode, Encode}; use sp_runtime::{traits::Get, DispatchResult}; -use sp_std::marker::PhantomData; +use sp_std::{cmp::Eq, marker::PhantomData}; /// Enables rewarding out of thin air, e.g. via minting. pub struct MintReward( @@ -25,7 +25,7 @@ pub struct MintReward( impl RewardIssuance for MintReward where - AccountId: Encode + Decode, + AccountId: Encode + Decode + Eq, Currency: Mutate, { type AccountId = AccountId; @@ -49,7 +49,7 @@ pub struct TransferReward RewardIssuance for TransferReward where - AccountId: Encode + Decode, + AccountId: Encode + Decode + Eq, Currency: Mutate, SourceAddress: Get, { diff --git a/pallets/token-mux/src/benchmarking.rs b/pallets/token-mux/src/benchmarking.rs index 4364d16143..bee4f672f4 100644 --- a/pallets/token-mux/src/benchmarking.rs +++ b/pallets/token-mux/src/benchmarking.rs @@ -21,7 +21,6 @@ use frame_support::traits::fungibles::{Inspect, Mutate}; use frame_system::RawOrigin; use orml_traits::asset_registry::{Inspect as OrmlInspect, Mutate as OrmlMutate}; use sp_arithmetic::traits::{One, Zero}; -use sp_std::vec; // required for #[benchmarks] use super::*; diff --git a/pallets/transfer-allowlist/src/benchmarking.rs b/pallets/transfer-allowlist/src/benchmarking.rs index 724b692198..6a2e4c6b82 100644 --- a/pallets/transfer-allowlist/src/benchmarking.rs +++ b/pallets/transfer-allowlist/src/benchmarking.rs @@ -13,13 +13,13 @@ #![cfg(feature = "runtime-benchmarks")] use cfg_types::tokens::{CurrencyId, FilterCurrency}; -use frame_benchmarking::*; +use frame_benchmarking::{account, v2::*}; use frame_support::{ pallet_prelude::Get, traits::{fungible::Unbalanced, tokens::Precision, Currency, ReservableCurrency}, }; use frame_system::{pallet_prelude::BlockNumberFor, RawOrigin}; -use parity_scale_codec::EncodeLike; +use sp_core::crypto::AccountId32; use sp_runtime::{ traits::{CheckedAdd, One}, Saturating, @@ -29,105 +29,283 @@ use super::*; const BENCHMARK_CURRENCY_ID: FilterCurrency = FilterCurrency::Specific(CurrencyId::ForeignAsset(1)); -benchmarks! { - where_clause { - where - ::AccountId: Into<::Location>, - ::Location: From<::AccountId> + EncodeLike<::Location>, - ::ReserveCurrency: Currency<::AccountId> + ReservableCurrency<::AccountId>, - T: pallet::Config, - BlockNumberFor: One, - <::ReserveCurrency as frame_support::traits::fungible::Inspect<::AccountId,>>::Balance: From - } +#[benchmarks( +where + T: Config, + ::AccountId: Into, + T::Location: From<::AccountId>, + T::ReserveCurrency: Currency<::AccountId> + ReservableCurrency<::AccountId>, + BlockNumberFor: One, + <::ReserveCurrency as frame_support::traits::fungible::Inspect<::AccountId,>>::Balance: From +)] +mod benchmarks { + use super::*; - add_transfer_allowance_no_existing_metadata { + #[benchmark] + fn add_transfer_allowance_no_existing_metadata() -> Result<(), BenchmarkError> { let (sender, receiver) = set_up_users::(); - }:add_transfer_allowance(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID, receiver.clone().into()) + #[extrinsic_call] + add_transfer_allowance( + RawOrigin::Signed(sender), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver), + ); - add_transfer_allowance_existing_metadata { - let (sender, receiver) = set_up_users::(); - Pallet::::add_allowance_delay(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, 200u32.into())?; - }:add_transfer_allowance(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID, receiver.clone().into()) + Ok(()) + } - add_allowance_delay_no_existing_metadata { + #[benchmark] + fn add_transfer_allowance_existing_metadata() -> Result<(), BenchmarkError> { let (sender, receiver) = set_up_users::(); - }:add_allowance_delay(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID, 200u32.into()) + Pallet::::add_allowance_delay( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + 200u32.into(), + )?; - add_allowance_delay_existing_metadata { - let (sender, receiver) = set_up_users::(); - Pallet::::add_transfer_allowance(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, receiver.clone().into())?; - }:add_allowance_delay(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID, 200u32.into()) + #[extrinsic_call] + add_transfer_allowance( + RawOrigin::Signed(sender), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver), + ); + Ok(()) + } + #[benchmark] + fn add_allowance_delay_no_existing_metadata() -> Result<(), BenchmarkError> { + let (sender, _) = set_up_users::(); - toggle_allowance_delay_once_future_modifiable { - let (sender, receiver) = set_up_users::(); - Pallet::::add_allowance_delay(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, 1u32.into())?; - }:toggle_allowance_delay_once_future_modifiable(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID) + #[extrinsic_call] + add_allowance_delay( + RawOrigin::Signed(sender), + BENCHMARK_CURRENCY_ID, + 200u32.into(), + ); - update_allowance_delay { + Ok(()) + } + #[benchmark] + fn add_allowance_delay_existing_metadata() -> Result<(), BenchmarkError> { let (sender, receiver) = set_up_users::(); - Pallet::::add_allowance_delay(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, 1u32.into())?; - Pallet::::toggle_allowance_delay_once_future_modifiable(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID)?; + Pallet::::add_transfer_allowance( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver), + )?; + + #[extrinsic_call] + add_allowance_delay( + RawOrigin::Signed(sender), + BENCHMARK_CURRENCY_ID, + 200u32.into(), + ); + + Ok(()) + } + + #[benchmark] + fn toggle_allowance_delay_once_future_modifiable() -> Result<(), BenchmarkError> { + let (sender, _) = set_up_users::(); + Pallet::::add_allowance_delay( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + 1u32.into(), + )?; + + #[extrinsic_call] + toggle_allowance_delay_once_future_modifiable( + RawOrigin::Signed(sender), + BENCHMARK_CURRENCY_ID, + ); + + Ok(()) + } + + #[benchmark] + fn update_allowance_delay() -> Result<(), BenchmarkError> { + let (sender, _) = set_up_users::(); + Pallet::::add_allowance_delay( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + 1u32.into(), + )?; + Pallet::::toggle_allowance_delay_once_future_modifiable( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + )?; let b = frame_system::Pallet::::block_number() - .checked_add(&1u32.into()) - .expect("Mock block advancement failed."); + .checked_add(&1u32.into()) + .expect("Mock block advancement failed."); frame_system::Pallet::::set_block_number(b); - }:update_allowance_delay(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID, 200u32.into()) - purge_allowance_delay_no_remaining_metadata { - let (sender, receiver) = set_up_users::(); - Pallet::::add_allowance_delay(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, 1u32.into())?; - Pallet::::toggle_allowance_delay_once_future_modifiable(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID)?; + #[extrinsic_call] + update_allowance_delay( + RawOrigin::Signed(sender), + BENCHMARK_CURRENCY_ID, + 200u32.into(), + ); + + Ok(()) + } + + #[benchmark] + fn purge_allowance_delay_no_remaining_metadata() -> Result<(), BenchmarkError> { + let (sender, _) = set_up_users::(); + Pallet::::add_allowance_delay( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + 1u32.into(), + )?; + Pallet::::toggle_allowance_delay_once_future_modifiable( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + )?; let b = frame_system::Pallet::::block_number() - .checked_add(&2u32.into()) - .expect("Mock block advancement failed."); + .checked_add(&2u32.into()) + .expect("Mock block advancement failed."); frame_system::Pallet::::set_block_number(b); - }:purge_allowance_delay(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID) - purge_allowance_delay_remaining_metadata { + #[extrinsic_call] + purge_allowance_delay(RawOrigin::Signed(sender), BENCHMARK_CURRENCY_ID); + + Ok(()) + } + + #[benchmark] + fn purge_allowance_delay_remaining_metadata() -> Result<(), BenchmarkError> { let (sender, receiver) = set_up_users::(); - Pallet::::add_allowance_delay(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, 1u32.into())?; - Pallet::::add_transfer_allowance(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, receiver.clone().into())?; - Pallet::::toggle_allowance_delay_once_future_modifiable(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID)?; + Pallet::::add_allowance_delay( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + 1u32.into(), + )?; + Pallet::::add_transfer_allowance( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver), + )?; + Pallet::::toggle_allowance_delay_once_future_modifiable( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + )?; let b = frame_system::Pallet::::block_number() - .checked_add(&2u32.into()) - .expect("Mock block advancement failed."); + .checked_add(&2u32.into()) + .expect("Mock block advancement failed."); frame_system::Pallet::::set_block_number(b); - }:purge_allowance_delay(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID) + #[extrinsic_call] + purge_allowance_delay(RawOrigin::Signed(sender), BENCHMARK_CURRENCY_ID); - remove_transfer_allowance_delay_present { + Ok(()) + } + + #[benchmark] + fn remove_transfer_allowance_delay_present() -> Result<(), BenchmarkError> { let (sender, receiver) = set_up_users::(); let delay = BlockNumberFor::::one(); - Pallet::::add_allowance_delay(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, delay.clone())?; - Pallet::::add_transfer_allowance(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, receiver.clone().into())?; + Pallet::::add_allowance_delay( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + delay.clone(), + )?; + Pallet::::add_transfer_allowance( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver.clone()), + )?; let b = frame_system::Pallet::::block_number() .checked_add(&1u32.into()) .expect("Mock block advancement failed."); frame_system::Pallet::::set_block_number(b); - }:remove_transfer_allowance(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID, receiver.clone().into()) - remove_transfer_allowance_no_delay { + #[extrinsic_call] + remove_transfer_allowance( + RawOrigin::Signed(sender), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver), + ); + + Ok(()) + } + + #[benchmark] + fn remove_transfer_allowance_no_delay() -> Result<(), BenchmarkError> { let (sender, receiver) = set_up_users::(); - Pallet::::add_transfer_allowance(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, receiver.clone().into())?; - }:remove_transfer_allowance(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID, receiver.clone().into()) + Pallet::::add_transfer_allowance( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver.clone()), + )?; + + #[extrinsic_call] + remove_transfer_allowance( + RawOrigin::Signed(sender), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver), + ); - purge_transfer_allowance_no_remaining_metadata { + Ok(()) + } + + #[benchmark] + fn purge_transfer_allowance_no_remaining_metadata() -> Result<(), BenchmarkError> { let (sender, receiver) = set_up_users::(); - Pallet::::add_transfer_allowance(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, receiver.clone().into())?; - Pallet::::remove_transfer_allowance(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, receiver.clone().into())?; - }:purge_transfer_allowance(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID, receiver.clone().into()) + Pallet::::add_transfer_allowance( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver.clone()), + )?; + Pallet::::remove_transfer_allowance( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver.clone()), + )?; + + #[extrinsic_call] + purge_transfer_allowance( + RawOrigin::Signed(sender), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver.clone()), + ); + + Ok(()) + } - purge_transfer_allowance_remaining_metadata { + #[benchmark] + fn purge_transfer_allowance_remaining_metadata() -> Result<(), BenchmarkError> { let (sender, receiver) = set_up_users::(); let receiver_1 = set_up_second_receiver::(); - Pallet::::add_transfer_allowance(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, receiver.clone().into())?; - Pallet::::add_transfer_allowance(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, receiver_1.clone().into())?; - Pallet::::remove_transfer_allowance(RawOrigin::Signed(sender.clone()).into(), BENCHMARK_CURRENCY_ID, receiver.clone().into())?; - }:purge_transfer_allowance(RawOrigin::Signed(sender.clone()), BENCHMARK_CURRENCY_ID, receiver.clone().into()) + Pallet::::add_transfer_allowance( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver.clone()), + )?; + Pallet::::add_transfer_allowance( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver_1.clone()), + )?; + Pallet::::remove_transfer_allowance( + RawOrigin::Signed(sender.clone()).into(), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver.clone()), + )?; + + #[extrinsic_call] + purge_transfer_allowance( + RawOrigin::Signed(sender), + BENCHMARK_CURRENCY_ID, + T::Location::from(receiver), + ); + + Ok(()) + } + + impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Runtime); } fn set_up_users() -> (T::AccountId, T::AccountId) @@ -152,5 +330,3 @@ where fn set_up_second_receiver() -> T::AccountId { account::("Receiver_1", 3, 0) } - -impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Runtime); diff --git a/pallets/transfer-allowlist/src/lib.rs b/pallets/transfer-allowlist/src/lib.rs index 32127d411c..aafe0d95cf 100644 --- a/pallets/transfer-allowlist/src/lib.rs +++ b/pallets/transfer-allowlist/src/lib.rs @@ -81,9 +81,14 @@ pub mod pallet { #[pallet::pallet] #[pallet::storage_version(STORAGE_VERSION)] - pub struct Pallet(_); + /// A reason for this pallet placing a hold on funds. + #[pallet::composite_enum] + pub enum HoldReason { + TransferAllowance, + } + #[pallet::config] pub trait Config: frame_system::Config { type RuntimeEvent: From> + IsType<::RuntimeEvent>; @@ -92,24 +97,19 @@ pub mod pallet { /// Currency for holding/unholding with allowlist adding/removal, /// given that the allowlist will be in storage - type ReserveCurrency: fungible::hold::Mutate; + type ReserveCurrency: fungible::hold::Mutate< + Self::AccountId, + Reason = Self::RuntimeHoldReason, + >; /// The identifier to be used for holding. - type HoldId: Get>; + type RuntimeHoldReason: From; /// Deposit amount type Deposit: Get>; /// Type containing the locations a transfer can be sent to. - type Location: Member - + Debug - + Eq - + PartialEq - + TypeInfo - + Encode - + EncodeLike - + Decode - + MaxEncodedLen; + type Location: Member + TypeInfo + Encode + EncodeLike + Decode + MaxEncodedLen; /// Type for pallet weights type WeightInfo: WeightInfo; @@ -348,7 +348,11 @@ pub mod pallet { &receiver, )) { Self::increment_or_create_allowance_count(&account_id, ¤cy_id)?; - T::ReserveCurrency::hold(&T::HoldId::get(), &account_id, T::Deposit::get())?; + T::ReserveCurrency::hold( + &HoldReason::TransferAllowance.into(), + &account_id, + T::Deposit::get(), + )?; }; >::insert( (&account_id, ¤cy_id, &receiver), @@ -428,7 +432,7 @@ pub mod pallet { { Some(AllowanceDetails { blocked_at, .. }) if blocked_at < current_block => { T::ReserveCurrency::release( - &T::HoldId::get(), + &HoldReason::TransferAllowance.into(), &account_id, T::Deposit::get(), Precision::BestEffort, diff --git a/pallets/transfer-allowlist/src/mock.rs b/pallets/transfer-allowlist/src/mock.rs index fb372559e7..de6868e9cf 100644 --- a/pallets/transfer-allowlist/src/mock.rs +++ b/pallets/transfer-allowlist/src/mock.rs @@ -11,22 +11,23 @@ // GNU General Public License for more details. use cfg_types::tokens::FilterCurrency; -use frame_support::{ - derive_impl, parameter_types, - traits::{ConstU32, ConstU64}, - Deserialize, Serialize, -}; +use frame_support::{derive_impl, traits::ConstU64, Deserialize, Serialize}; use frame_system::pallet_prelude::BlockNumberFor; use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; -use sp_runtime::{traits::CheckedAdd, BuildStorage}; +use sp_core::crypto::AccountId32; +use sp_runtime::{ + traits::{CheckedAdd, IdentityLookup}, + BuildStorage, +}; use crate as transfer_allowlist; pub(crate) const STARTING_BLOCK: u64 = 50; -pub(crate) const SENDER: u64 = 0x1; -pub(crate) const ACCOUNT_RECEIVER: u64 = 0x2; -pub(crate) const FEE_DEFICIENT_SENDER: u64 = 0x3; +pub(crate) const SENDER: AccountId32 = AccountId32::new([1u8; 32]); +pub(crate) const ACCOUNT_RECEIVER: AccountId32 = AccountId32::new([2u8; 32]); +pub(crate) const FEE_DEFICIENT_SENDER: AccountId32 = AccountId32::new([3u8; 32]); +pub(crate) const OTHER_RECEIVER: AccountId32 = AccountId32::new([100u8; 32]); type Balance = u64; @@ -41,7 +42,24 @@ frame_support::construct_runtime!( #[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)] impl frame_system::Config for Runtime { type AccountData = pallet_balances::AccountData; + type AccountId = AccountId32; type Block = frame_system::mocking::MockBlock; + type Lookup = IdentityLookup; +} + +#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)] +impl pallet_balances::Config for Runtime { + type AccountStore = System; +} + +impl transfer_allowlist::Config for Runtime { + type CurrencyId = FilterCurrency; + type Deposit = ConstU64<10>; + type Location = Location; + type ReserveCurrency = Balances; + type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; + type WeightInfo = (); } #[derive( @@ -59,36 +77,17 @@ impl frame_system::Config for Runtime { Serialize, )] pub enum Location { - TestLocal(u64), + TestLocal(AccountId32), } -impl From for Location { - fn from(a: u64) -> Self { +impl From for Location { + fn from(a: AccountId32) -> Self { Self::TestLocal(a) } } -#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)] -impl pallet_balances::Config for Runtime { - type AccountStore = System; - type DustRemoval = (); - type ExistentialDeposit = ConstU64<1>; - type MaxHolds = ConstU32<1>; - type RuntimeHoldReason = (); -} - -parameter_types! { - pub const HoldId: () = (); -} - -impl transfer_allowlist::Config for Runtime { - type CurrencyId = FilterCurrency; - type Deposit = ConstU64<10>; - type HoldId = HoldId; - type Location = Location; - type ReserveCurrency = Balances; - type RuntimeEvent = RuntimeEvent; - type WeightInfo = (); +pub(crate) fn local_location(receiver: AccountId32) -> Location { + receiver.into() } pub fn new_test_ext() -> sp_io::TestExternalities { diff --git a/pallets/transfer-allowlist/src/tests.rs b/pallets/transfer-allowlist/src/tests.rs index dfd603a641..c6e4eb0eb1 100644 --- a/pallets/transfer-allowlist/src/tests.rs +++ b/pallets/transfer-allowlist/src/tests.rs @@ -12,13 +12,13 @@ fn add_transfer_allowance_works() { assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_eq!( TransferAllowList::get_account_currency_transfer_allowance(( SENDER, TEST_CURRENCY_ID, - ::Location::from(ACCOUNT_RECEIVER) + local_location(ACCOUNT_RECEIVER) )) .unwrap(), AllowanceDetails { @@ -48,7 +48,7 @@ fn add_transfer_allowance_updates_with_delay_set() { assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_ok!(TransferAllowList::add_allowance_delay( RuntimeOrigin::signed(SENDER), @@ -58,7 +58,7 @@ fn add_transfer_allowance_updates_with_delay_set() { assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) ),); // only one allowance has been created, should still only have 1 reserve @@ -67,7 +67,7 @@ fn add_transfer_allowance_updates_with_delay_set() { TransferAllowList::get_account_currency_transfer_allowance(( SENDER, TEST_CURRENCY_ID, - ::Location::from(ACCOUNT_RECEIVER) + local_location(ACCOUNT_RECEIVER) )) .unwrap(), AllowanceDetails { @@ -98,13 +98,13 @@ fn add_transfer_allowance_multiple_dests_increments_correctly() { assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_eq!(Balances::reserved_balance(&SENDER), 10); assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - 100u64.into(), + local_location(OTHER_RECEIVER), )); // verify reserve incremented for second allowance assert_eq!(Balances::reserved_balance(&SENDER), 20); @@ -128,11 +128,15 @@ fn transfer_allowance_allows_correctly_with_allowance_set() { assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_eq!( - TransferAllowList::allowance(SENDER.into(), ACCOUNT_RECEIVER.into(), TEST_CURRENCY_ID), - Ok(Some(ACCOUNT_RECEIVER.into())) + TransferAllowList::allowance( + SENDER.into(), + local_location(ACCOUNT_RECEIVER), + TEST_CURRENCY_ID + ), + Ok(Some(local_location(ACCOUNT_RECEIVER))) ) }) } @@ -143,10 +147,14 @@ fn transfer_allowance_blocks_when_account_not_allowed() { assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_err!( - TransferAllowList::allowance(SENDER.into(), 55u64.into(), TEST_CURRENCY_ID), + TransferAllowList::allowance( + SENDER.into(), + local_location(OTHER_RECEIVER), + TEST_CURRENCY_ID + ), Error::::NoAllowanceForDestination, ) }) @@ -164,10 +172,14 @@ fn transfer_allowance_blocks_correctly_when_before_start_block() { assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_err!( - TransferAllowList::allowance(SENDER.into(), ACCOUNT_RECEIVER.into(), TEST_CURRENCY_ID), + TransferAllowList::allowance( + SENDER.into(), + local_location(ACCOUNT_RECEIVER), + TEST_CURRENCY_ID + ), Error::::NoAllowanceForDestination, ) }) @@ -179,11 +191,15 @@ fn transfer_allowance_blocks_correctly_when_after_blocked_at_block() { assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_eq!( - TransferAllowList::allowance(SENDER.into(), ACCOUNT_RECEIVER.into(), TEST_CURRENCY_ID), - Ok(Some(ACCOUNT_RECEIVER.into())) + TransferAllowList::allowance( + SENDER.into(), + local_location(ACCOUNT_RECEIVER), + TEST_CURRENCY_ID + ), + Ok(Some(local_location(ACCOUNT_RECEIVER))) ) }) } @@ -194,19 +210,19 @@ fn remove_transfer_allowance_works() { assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_ok!(TransferAllowList::remove_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); // ensure blocked at set to restrict transfers assert_eq!( TransferAllowList::get_account_currency_transfer_allowance(( SENDER, TEST_CURRENCY_ID, - ::Location::from(ACCOUNT_RECEIVER) + local_location(ACCOUNT_RECEIVER) )) .unwrap(), AllowanceDetails { @@ -241,7 +257,7 @@ fn remove_transfer_allowance_with_delay_works() { assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_ok!(TransferAllowList::add_allowance_delay( RuntimeOrigin::signed(SENDER), @@ -251,13 +267,13 @@ fn remove_transfer_allowance_with_delay_works() { assert_ok!(TransferAllowList::remove_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_eq!( TransferAllowList::get_account_currency_transfer_allowance(( SENDER, TEST_CURRENCY_ID, - ::Location::from(ACCOUNT_RECEIVER) + local_location(ACCOUNT_RECEIVER) )) .unwrap(), AllowanceDetails { @@ -298,12 +314,12 @@ fn purge_transfer_allowance_works() { assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_ok!(TransferAllowList::remove_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_eq!(Balances::reserved_balance(&SENDER), 10); advance_n_blocks::(6u64); @@ -312,14 +328,14 @@ fn purge_transfer_allowance_works() { assert_ok!(TransferAllowList::purge_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); // verify removed assert_eq!( TransferAllowList::get_account_currency_transfer_allowance(( SENDER, TEST_CURRENCY_ID, - ::Location::from(ACCOUNT_RECEIVER) + local_location(ACCOUNT_RECEIVER) )), None ); @@ -349,7 +365,7 @@ fn purge_transfer_allowance_non_existant_transfer_allowance() { TransferAllowList::purge_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) ), Error::::NoMatchingAllowance ); @@ -369,20 +385,20 @@ fn purge_transfer_allowance_when_multiple_present_for_sender_currency_properly_d assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); assert_eq!(Balances::reserved_balance(&SENDER), 10); assert_ok!(TransferAllowList::add_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - 100u64.into(), + local_location(OTHER_RECEIVER), )); assert_eq!(Balances::reserved_balance(&SENDER), 20); assert_ok!(TransferAllowList::remove_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); advance_n_blocks::(6u64); @@ -391,7 +407,7 @@ fn purge_transfer_allowance_when_multiple_present_for_sender_currency_properly_d assert_ok!(TransferAllowList::purge_transfer_allowance( RuntimeOrigin::signed(SENDER), TEST_CURRENCY_ID, - ACCOUNT_RECEIVER.into(), + local_location(ACCOUNT_RECEIVER) )); // verify correct reserve decrement @@ -402,7 +418,7 @@ fn purge_transfer_allowance_when_multiple_present_for_sender_currency_properly_d TransferAllowList::get_account_currency_transfer_allowance(( SENDER, TEST_CURRENCY_ID, - ::Location::from(ACCOUNT_RECEIVER) + local_location(ACCOUNT_RECEIVER) )), None ); @@ -412,7 +428,7 @@ fn purge_transfer_allowance_when_multiple_present_for_sender_currency_properly_d TransferAllowList::get_account_currency_transfer_allowance(( SENDER, TEST_CURRENCY_ID, - ::Location::from(100u64) + local_location(OTHER_RECEIVER) )) .unwrap(), AllowanceDetails { diff --git a/runtime/altair/Cargo.toml b/runtime/altair/Cargo.toml index 047c0e2bb7..91a5c59e12 100644 --- a/runtime/altair/Cargo.toml +++ b/runtime/altair/Cargo.toml @@ -10,7 +10,6 @@ repository.workspace = true documentation.workspace = true [dependencies] -getrandom = { workspace = true } hex = { workspace = true } hex-literal = { workspace = true, optional = true } log = { workspace = true } @@ -23,6 +22,7 @@ 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-io = { workspace = true } sp-offchain = { workspace = true } @@ -107,6 +107,7 @@ pallet-liquidity-pools-gateway = { workspace = true } pallet-liquidity-rewards = { workspace = true } pallet-loans = { workspace = true } pallet-membership = { workspace = true } +pallet-message-queue = { workspace = true } pallet-multisig = { workspace = true } pallet-oracle-collection = { workspace = true } pallet-oracle-feed = { workspace = true } @@ -135,7 +136,7 @@ pallet-utility = { workspace = true } pallet-vesting = { workspace = true } pallet-xcm = { workspace = true } pallet-xcm-transactor = { workspace = true } -parachain-info = { workspace = true } +staging-parachain-info = { workspace = true } [build-dependencies] substrate-wasm-builder = { workspace = true } @@ -145,18 +146,17 @@ default = ["std"] std = [ "parity-scale-codec/std", - "getrandom/std", "hex/std", "scale-info/std", "serde/std", "log/std", - # Substrate related "sp-api/std", "sp-runtime/std", "sp-block-builder/std", "sp-consensus-aura/std", "sp-core/std", + "sp-genesis-builder/std", "sp-inherents/std", "sp-io/std", "sp-offchain/std", @@ -187,14 +187,12 @@ std = [ "pallet-transaction-payment-rpc-runtime-api/std", "polkadot-runtime-common/std", "polkadot-parachain-primitives/std", - # Locals "cfg-primitives/std", "cfg-traits/std", "cfg-types/std", "runtime-common/std", "liquidity-pools-gateway-routers/std", - # Pallet list "axelar-gateway-precompile/std", "chainbridge/std", @@ -262,7 +260,8 @@ std = [ "pallet-vesting/std", "pallet-xcm/std", "pallet-xcm-transactor/std", - "parachain-info/std", + "pallet-message-queue/std", + "staging-parachain-info/std", ] runtime-benchmarks = [ @@ -271,7 +270,6 @@ runtime-benchmarks = [ "frame-system-benchmarking/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", - # Substrate related "sp-runtime/runtime-benchmarks", "sp-staking/runtime-benchmarks", @@ -282,14 +280,12 @@ runtime-benchmarks = [ "xcm-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", - # Locals "cfg-primitives/runtime-benchmarks", "cfg-traits/runtime-benchmarks", "cfg-types/runtime-benchmarks", "runtime-common/runtime-benchmarks", "liquidity-pools-gateway-routers/runtime-benchmarks", - # Pallet list "axelar-gateway-precompile/runtime-benchmarks", "chainbridge/runtime-benchmarks", @@ -347,12 +343,12 @@ runtime-benchmarks = [ "pallet-vesting/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", "pallet-xcm-transactor/runtime-benchmarks", + "pallet-message-queue/runtime-benchmarks", ] try-runtime = [ # Enabling optional "frame-try-runtime/try-runtime", - # Substrate related "sp-runtime/try-runtime", "frame-support/try-runtime", @@ -360,14 +356,12 @@ try-runtime = [ "frame-executive/try-runtime", "fp-self-contained/try-runtime", "polkadot-runtime-common/try-runtime", - # Locals "cfg-primitives/try-runtime", "cfg-traits/try-runtime", "cfg-types/try-runtime", "runtime-common/try-runtime", "liquidity-pools-gateway-routers/try-runtime", - # Pallet list "axelar-gateway-precompile/try-runtime", "chainbridge/try-runtime", @@ -435,7 +429,8 @@ try-runtime = [ "pallet-vesting/try-runtime", "pallet-xcm/try-runtime", "pallet-xcm-transactor/try-runtime", - "parachain-info/try-runtime", + "pallet-message-queue/try-runtime", + "staging-parachain-info/try-runtime", ] # A feature that should be enabled when the runtime should be build for on-chain diff --git a/runtime/altair/src/lib.rs b/runtime/altair/src/lib.rs index 60459973f5..64106e2e71 100644 --- a/runtime/altair/src/lib.rs +++ b/runtime/altair/src/lib.rs @@ -37,23 +37,31 @@ use cfg_types::{ fee_keys::{Fee, FeeKey}, fixed_point::{Quantity, Rate, Ratio}, investments::InvestmentPortfolio, + locations::RestrictedTransferLocation, oracles::OracleKey, permissions::{PermissionRoles, PermissionScope, PermissionedCurrencyRole, PoolRole, Role}, + pools::PoolNav, time::TimeProvider, - tokens::{AssetStringLimit, CurrencyId, CustomMetadata, StakingCurrency, TrancheCurrency}, + tokens::{ + AssetStringLimit, CurrencyId, CustomMetadata, FilterCurrency, LocalAssetId, + StakingCurrency, TrancheCurrency, + }, }; use constants::currency::*; -use cumulus_primitives_core::{MultiAsset, MultiLocation}; +use cumulus_primitives_core::{AggregateMessageOrigin, ParaId}; use fp_rpc::TransactionStatus; use frame_support::{ construct_runtime, dispatch::DispatchClass, + genesis_builder_helper::{build_config, create_default_config}, pallet_prelude::RuntimeDebug, parameter_types, traits::{ + fungible::HoldConsideration, + tokens::{PayFromAccount, UnityAssetBalanceConversion}, AsEnsureOriginWithArg, ConstBool, ConstU32, ConstU64, Contains, EitherOfDiverse, - EqualPrivilegeOnly, Get, InstanceFilter, LockIdentifier, OnFinalize, PalletInfoAccess, - UnixTime, WithdrawReasons, + EqualPrivilegeOnly, Get, InstanceFilter, LinearStoragePrice, LockIdentifier, OnFinalize, + PalletInfoAccess, TransformOrigin, UnixTime, WithdrawReasons, }, weights::{ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight}, @@ -77,6 +85,7 @@ use pallet_investments::OrderType; use pallet_liquidity_pools::hooks::{ CollectedForeignInvestmentHook, CollectedForeignRedemptionHook, DecreasedForeignInvestOrderHook, }; +pub use pallet_loans::entities::{input::PriceCollectionInput, loans::ActiveLoanInfo}; use pallet_loans::types::cashflow::CashflowPayment; use pallet_pool_system::{ pool_types::{PoolDetails, ScheduledUpdateDetails}, @@ -87,7 +96,9 @@ use pallet_restricted_tokens::{FungibleInspectPassthrough, FungiblesInspectPasst use pallet_transaction_payment::CurrencyAdapter; use pallet_transaction_payment_rpc_runtime_api::{FeeDetails, RuntimeDispatchInfo}; use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; -use polkadot_runtime_common::{prod_or_fast, BlockHashCount, SlowAdjustingFeeUpdate}; +use polkadot_runtime_common::{ + prod_or_fast, xcm_sender::NoPriceForMessageDelivery, BlockHashCount, SlowAdjustingFeeUpdate, +}; use runtime_common::{ account_conversion::{AccountConverter, RuntimeAccountConverter}, asset_registry, @@ -98,15 +109,16 @@ use runtime_common::{ fees::{DealWithFees, FeeToTreasury, WeightToFee}, gateway, instances, liquidity_pools::LiquidityPoolsMessage, + message_queue::{NarrowOriginToSibling, ParaIdToSibling}, oracle::{ Feeder, OracleConverterBridge, OracleRatioProvider, OracleRatioProviderLocalAssetExtension, }, permissions::PoolAdminCheck, remarks::Remark, rewards::SingleCurrencyMovement, - transfer_filter::PreLpTransfer, - xcm::AccountIdToMultiLocation, - xcm_transactor, AllowanceDeposit, CurrencyED, HoldId, + transfer_filter::{PreLpTransfer, PreNativeTransfer}, + xcm::AccountIdToLocation, + xcm_transactor, AllowanceDeposit, CurrencyED, }; use scale_info::TypeInfo; use sp_api::impl_runtime_apis; @@ -116,7 +128,7 @@ use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, traits::{ AccountIdConversion, BlakeTwo256, Block as BlockT, ConvertInto, DispatchInfoOf, - Dispatchable, PostDispatchInfoOf, UniqueSaturatedInto, Zero, + Dispatchable, IdentityLookup, PostDispatchInfoOf, UniqueSaturatedInto, Verify, Zero, }, transaction_validity::{TransactionSource, TransactionValidity, TransactionValidityError}, ApplyExtrinsicResult, DispatchError, DispatchResult, FixedI128, Perbill, Permill, Perquintill, @@ -124,7 +136,7 @@ use sp_runtime::{ use sp_staking::currency_to_vote::U128CurrencyToVote; use sp_std::{marker::PhantomData, prelude::*, vec::Vec}; use sp_version::RuntimeVersion; -use staging_xcm_executor::XcmExecutor; +use staging_xcm::v4::{Asset, Location}; use static_assertions::const_assert; use crate::xcm::*; @@ -234,6 +246,7 @@ impl frame_system::Config for Runtime { type RuntimeEvent = RuntimeEvent; /// The ubiquitous origin type. type RuntimeOrigin = RuntimeOrigin; + type RuntimeTask = RuntimeTask; type SS58Prefix = SS58Prefix; type SystemWeightInfo = weights::frame_system::WeightInfo; /// Get the chain's current version. @@ -249,6 +262,7 @@ impl Contains for BaseCallFilter { // Block these calls when called by a signed extrinsic. // Root will still be able to execute these. pallet_xcm::Call::execute { .. } + | pallet_xcm::Call::transfer_assets { .. } | pallet_xcm::Call::teleport_assets { .. } | pallet_xcm::Call::reserve_transfer_assets { .. } | pallet_xcm::Call::limited_reserve_transfer_assets { .. } @@ -280,25 +294,74 @@ impl Contains for BaseCallFilter { 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 CheckAssociatedRelayNumber = cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases; - type DmpMessageHandler = DmpQueue; + // Using weights for recomended hardware + type DmpQueue = frame_support::traits::EnqueueWithOrigin; type OnSystemEvent = (); type OutboundXcmpMessageSource = XcmpQueue; type ReservedDmpWeight = ReservedDmpWeight; type ReservedXcmpWeight = ReservedXcmpWeight; type RuntimeEvent = RuntimeEvent; - type SelfParaId = parachain_info::Pallet; + type SelfParaId = staging_parachain_info::Pallet; + type WeightInfo = cumulus_pallet_parachain_system::weights::SubstrateWeight; type XcmpMessageHandler = XcmpQueue; } -impl parachain_info::Config for Runtime {} +impl staging_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 HeapSize = sp_core::ConstU32<{ 64 * 1024 }>; + type MaxStale = sp_core::ConstU32<8>; + // Using weights for recomended hardware + #[cfg(feature = "runtime-benchmarks")] + type MessageProcessor = + pallet_message_queue::mock_helpers::NoopMessageProcessor; + #[cfg(not(feature = "runtime-benchmarks"))] + type MessageProcessor = staging_xcm_builder::ProcessXcmMessage< + AggregateMessageOrigin, + staging_xcm_executor::XcmExecutor, + RuntimeCall, + >; + type QueueChangeHandler = NarrowOriginToSibling; + type QueuePausedQuery = NarrowOriginToSibling; + type RuntimeEvent = RuntimeEvent; + type ServiceWeight = MessageQueueServiceWeight; + type Size = u32; + type WeightInfo = pallet_message_queue::weights::SubstrateWeight; +} + +/// XCMP Queue is responsible to handle XCM messages coming directly from +/// sibling parachains. +impl cumulus_pallet_xcmp_queue::Config for Runtime { + type ChannelInfo = ParachainSystem; + type ControllerOrigin = EnsureRoot; + type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type MaxInboundSuspended = sp_core::ConstU32<1_000>; + type PriceForSiblingDelivery = NoPriceForMessageDelivery; + type RuntimeEvent = RuntimeEvent; + type VersionWrapper = PolkadotXcm; + type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo; + type XcmpQueue = TransformOrigin; +} + +impl cumulus_pallet_dmp_queue::Config for Runtime { + type DmpSink = frame_support::traits::EnqueueWithOrigin; + type RuntimeEvent = RuntimeEvent; + type WeightInfo = cumulus_pallet_dmp_queue::weights::SubstrateWeight; +} parameter_types! { pub const MinimumPeriod: Millis = SLOT_DURATION / 2; } + impl pallet_timestamp::Config for Runtime { type MinimumPeriod = MinimumPeriod; /// A timestamp: milliseconds since the unix epoch. @@ -345,13 +408,13 @@ impl pallet_balances::Config for Runtime { type ExistentialDeposit = ExistentialDeposit; type FreezeIdentifier = (); type MaxFreezes = ConstU32<10>; - type MaxHolds = ConstU32<10>; type MaxLocks = MaxLocks; type MaxReserves = MaxReserves; type ReserveIdentifier = [u8; 8]; /// The overarching event type. type RuntimeEvent = RuntimeEvent; - type RuntimeHoldReason = (); + type RuntimeFreezeReason = RuntimeFreezeReason; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = weights::pallet_balances::WeightInfo; } @@ -672,11 +735,16 @@ parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; pub PreimageBaseDeposit: Balance = deposit(2, 64); pub PreimageByteDeposit: Balance = deposit(0, 1); + pub const PreimageHoldReason: RuntimeHoldReason = RuntimeHoldReason::Preimage(pallet_preimage::HoldReason::Preimage); } impl pallet_preimage::Config for Runtime { - type BaseDeposit = PreimageBaseDeposit; - type ByteDeposit = PreimageByteDeposit; + type Consideration = HoldConsideration< + AccountId, + Balances, + PreimageHoldReason, + LinearStoragePrice, + >; type Currency = Balances; type ManagerOrigin = EnsureRoot; type RuntimeEvent = RuntimeEvent; @@ -821,24 +889,30 @@ parameter_types! { pub const MaxSubAccounts: u32 = 100; pub const MaxAdditionalFields: u32 = 100; pub const BasicDeposit: Balance = 100 * AIR; - pub const FieldDeposit: Balance = 25 * AIR; + pub const ByteDeposit: Balance = deposit(0, 1); pub const SubAccountDeposit: Balance = 20 * AIR; pub const MaxRegistrars: u32 = 20; } impl pallet_identity::Config for Runtime { type BasicDeposit = BasicDeposit; + type ByteDeposit = ByteDeposit; type Currency = Balances; - type FieldDeposit = FieldDeposit; type ForceOrigin = EnsureRootOr>; - type MaxAdditionalFields = MaxAdditionalFields; + type IdentityInformation = pallet_identity::legacy::IdentityInfo; type MaxRegistrars = MaxRegistrars; type MaxSubAccounts = MaxSubAccounts; + type MaxSuffixLength = ConstU32<7>; + type MaxUsernameLength = ConstU32<32>; + type OffchainSignature = Signature; + type PendingUsernameExpiration = ConstU32<{ 7 * DAYS }>; type RegistrarOrigin = EnsureRootOr>; type RuntimeEvent = RuntimeEvent; + type SigningPublicKey = ::Signer; type Slashed = Treasury; type SubAccountDeposit = SubAccountDeposit; + type UsernameAuthorityOrigin = EnsureRoot; type WeightInfo = weights::pallet_identity::WeightInfo; } @@ -849,6 +923,7 @@ parameter_types! { } impl pallet_vesting::Config for Runtime { + type BlockNumberProvider = System; type BlockNumberToBalance = ConvertInto; type Currency = Balances; type MinVestedTransfer = MinVestedTransfer; @@ -872,6 +947,7 @@ parameter_types! { // periods between treasury spends pub const SpendPeriod: BlockNumber = 6 * DAYS; + pub const PayoutPeriod: BlockNumber = 30 * DAYS; // percentage of treasury we burn per Spend period if there is a surplus // If the treasury is able to spend on all the approved proposals and didn't miss any @@ -887,26 +963,30 @@ parameter_types! { } impl pallet_treasury::Config for Runtime { - // either democracy or 66% of council votes type ApproveOrigin = EnsureRootOr; + type AssetKind = (); + type BalanceConverter = UnityAssetBalanceConversion; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); + type Beneficiary = Self::AccountId; + type BeneficiaryLookup = IdentityLookup; type Burn = Burn; - // we burn and dont handle the unbalance type BurnDestination = (); type Currency = Tokens; type MaxApprovals = MaxApprovals; - // slashed amount goes to treasury account type OnSlash = Treasury; type PalletId = TreasuryPalletId; + type Paymaster = PayFromAccount; + type PayoutPeriod = PayoutPeriod; type ProposalBond = ProposalBond; type ProposalBondMaximum = ProposalBondMaximum; type ProposalBondMinimum = ProposalBondMinimum; - // either democracy or more than 50% council votes type RejectOrigin = EnsureRootOr>; type RuntimeEvent = RuntimeEvent; type SpendFunds = (); type SpendOrigin = frame_support::traits::NeverEnsureOrigin; type SpendPeriod = SpendPeriod; - type WeightInfo = weights::pallet_treasury::WeightInfo; + type WeightInfo = pallet_treasury::weights::SubstrateWeight; } parameter_types! { @@ -1101,6 +1181,7 @@ impl pallet_restricted_tokens::Config for Runtime { type PreFungiblesUnbalanced = cfg_traits::Always; type PreReservableCurrency = cfg_traits::Always; type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = weights::pallet_restricted_tokens::WeightInfo; } @@ -1134,7 +1215,7 @@ impl orml_tokens::Config for Runtime { type WeightInfo = (); } -impl orml_asset_registry::Config for Runtime { +impl orml_asset_registry::module::Config for Runtime { type AssetId = CurrencyId; type AssetProcessor = asset_registry::CustomAssetProcessor; type AuthorityOrigin = @@ -1146,30 +1227,6 @@ impl orml_asset_registry::Config for Runtime { type WeightInfo = (); } -// XCM - -/// XCMP Queue is responsible to handle XCM messages coming directly from -/// sibling parachains. -impl cumulus_pallet_xcmp_queue::Config for Runtime { - type ChannelInfo = ParachainSystem; - type ControllerOrigin = EnsureRoot; - type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; - type ExecuteOverweightOrigin = EnsureRoot; - type PriceForSiblingDelivery = (); - type RuntimeEvent = RuntimeEvent; - type VersionWrapper = PolkadotXcm; - type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; - type XcmExecutor = XcmExecutor; -} - -/// The config for the Downward Message Passing Queue, i.e., how messages coming -/// from the relay-chain are handled. -impl cumulus_pallet_dmp_queue::Config for Runtime { - type ExecuteOverweightOrigin = EnsureRoot; - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; -} - // Block Rewards parameter_types! { @@ -1347,7 +1404,7 @@ impl pallet_loans::Config for Runtime { parameter_types! { // 1 KSM should be enough to cover for fees opening/accepting HRMP channels - pub MaxHrmpRelayFee: MultiAsset = (MultiLocation::parent(), 1_000_000_000_000u128).into(); + pub MaxHrmpRelayFee: Asset = (Location::parent(), 1_000_000_000_000u128).into(); } /// Xcm Weigher shared between multiple Xcm-related configs. @@ -1355,14 +1412,15 @@ pub type XcmWeigher = staging_xcm_builder::FixedWeightBounds; impl pallet_xcm_transactor::Config for Runtime { - type AccountIdToMultiLocation = AccountIdToMultiLocation; + type AccountIdToLocation = AccountIdToLocation; type AssetTransactor = FungiblesTransactor; type Balance = Balance; type BaseXcmWeight = BaseXcmWeight; type CurrencyId = CurrencyId; - type CurrencyIdToMultiLocation = CurrencyIdConvert; + type CurrencyIdToLocation = CurrencyIdConvert; type DerivativeAddressRegistrationOrigin = EnsureRoot; type HrmpManipulatorOrigin = EnsureRootOr; + type HrmpOpenOrigin = EnsureRoot; type MaxHrmpFee = staging_xcm_builder::Case; type ReserveProvider = xcm_primitives::AbsoluteAndRelativeReserve; type RuntimeEvent = RuntimeEvent; @@ -1801,10 +1859,10 @@ impl pallet_remarks::Config for Runtime { impl pallet_transfer_allowlist::Config for Runtime { type CurrencyId = FilterCurrency; type Deposit = AllowanceDeposit; - type HoldId = HoldId; - type Location = Location; + type Location = RestrictedTransferLocation; type ReserveCurrency = Balances; type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = weights::pallet_transfer_allowlist::WeightInfo; } @@ -1835,6 +1893,7 @@ impl pallet_evm::Config for Runtime { type PrecompilesValue = PrecompilesValue; type Runner = pallet_evm::runner::stack::Runner; type RuntimeEvent = RuntimeEvent; + type SuicideQuickClearLimit = ConstU32<0>; type Timestamp = Timestamp; type WeightInfo = (); type WeightPerGas = WeightPerGas; @@ -1920,7 +1979,7 @@ construct_runtime!( System: frame_system::{Pallet, Call, Config, Storage, Event} = 0, ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event} = 1, Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 3, - ParachainInfo: parachain_info::{Pallet, Storage, Config} = 4, + ParachainInfo: staging_parachain_info::{Pallet, Storage, Config} = 4, // money stuff Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 20, @@ -1945,7 +2004,7 @@ construct_runtime!( Identity: pallet_identity::{Pallet, Call, Storage, Event} = 67, Vesting: pallet_vesting::{Pallet, Call, Storage, Event, Config} = 68, Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event} = 69, - Preimage: pallet_preimage::{Pallet, Call, Storage, Event} = 70, + Preimage: pallet_preimage::{Pallet, Call, Storage, Event, HoldReason} = 70, Uniques: pallet_uniques::{Pallet, Call, Storage, Event} = 72, // our pallets (part 1) @@ -1956,7 +2015,7 @@ construct_runtime!( // Removed: CrowdloanReward = 94 CollatorAllowlist: pallet_collator_allowlist::{Pallet, Call, Storage, Config, Event} = 95, Permissions: pallet_permissions::{Pallet, Call, Storage, Event} = 96, - Tokens: pallet_restricted_tokens::{Pallet, Call, Event} = 97, + Tokens: pallet_restricted_tokens::{Pallet, Call, Event, HoldReason} = 97, // Removed: NftSales = 98 PoolSystem: pallet_pool_system::{Pallet, Call, Storage, Event} = 99, Loans: pallet_loans::{Pallet, Call, Storage, Event} = 100, @@ -1973,7 +2032,7 @@ construct_runtime!( GapRewardMechanism: pallet_rewards::mechanism::gap = 112, OrderBook: pallet_order_book::{Pallet, Call, Storage, Event} = 113, ForeignInvestments: pallet_foreign_investments::{Pallet, Storage, Event} = 114, - TransferAllowList: pallet_transfer_allowlist::{Pallet, Call, Storage, Event} = 115, + TransferAllowList: pallet_transfer_allowlist::{Pallet, Call, Storage, Event, HoldReason} = 115, OraclePriceFeed: pallet_oracle_feed::{Pallet, Call, Storage, Event} = 116, OraclePriceCollection: pallet_oracle_collection::{Pallet, Call, Storage, Event} = 117, PoolFees: pallet_pool_fees::{Pallet, Call, Storage, Event} = 118, @@ -1987,10 +2046,11 @@ construct_runtime!( XTokens: pallet_restricted_xtokens::{Pallet, Call} = 124, XcmTransactor: pallet_xcm_transactor::{Pallet, Call, Storage, Event} = 125, OrmlXTokens: orml_xtokens::{Pallet, Event} = 126, + MessageQueue: pallet_message_queue::{Pallet, Call, Storage, Event} = 127, // 3rd party pallets OrmlTokens: orml_tokens::{Pallet, Storage, Event, Config} = 150, - OrmlAssetRegistry: orml_asset_registry::{Pallet, Storage, Call, Event, Config} = 151, + OrmlAssetRegistry: orml_asset_registry::module::{Pallet, Storage, Call, Event, Config} = 151, OrmlXcm: orml_xcm::{Pallet, Storage, Call, Event} = 152, // EVM pallets @@ -2103,14 +2163,6 @@ impl fp_rpc::ConvertTransaction for TransactionConv } } -use cfg_types::{ - locations::Location, - pools::PoolNav, - tokens::{FilterCurrency, LocalAssetId}, -}; -pub use pallet_loans::entities::{input::PriceCollectionInput, loans::ActiveLoanInfo}; -use runtime_common::transfer_filter::PreNativeTransfer; - impl_runtime_apis! { impl sp_api::Core for Runtime { fn version() -> RuntimeVersion { @@ -2332,13 +2384,13 @@ impl_runtime_apis! { // Investment Runtime APIs impl runtime_common::apis::InvestmentsApi> for Runtime { fn investment_portfolio(account_id: AccountId) -> Vec<(TrancheCurrency, InvestmentPortfolio)> { - runtime_common::investment_portfolios::get_account_portfolio::(account_id) + runtime_common::investment_portfolios::get_account_portfolio::(account_id).unwrap_or_default() } } // AccountConversionApi impl runtime_common::apis::AccountConversionApi for Runtime { - fn conversion_of(location: MultiLocation) -> Option { + fn conversion_of(location: Location) -> Option { AccountConverter::location_to_account::(location) } } @@ -2565,7 +2617,7 @@ impl_runtime_apis! { fn gas_limit_multiplier_support() {} fn pending_block( - xts: Vec<::Extrinsic> + xts: Vec<::Extrinsic> ) -> ( Option, Option> ) { @@ -2616,6 +2668,7 @@ impl_runtime_apis! { use frame_support::traits::StorageInfoTrait; use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; let mut list = Vec::::new(); list_benchmarks!(list, extra); @@ -2644,6 +2697,9 @@ impl_runtime_apis! { use cumulus_pallet_session_benchmarking::Pallet as SessionBench; impl cumulus_pallet_session_benchmarking::Config for Runtime {} + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; + impl pallet_xcm::benchmarking::Config for Runtime {} + use frame_support::traits::WhitelistedStorageKeys; let whitelist = AllPalletsWithSystem::whitelisted_storage_keys(); @@ -2655,6 +2711,16 @@ impl_runtime_apis! { 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) + } + } } #[cfg(feature = "runtime-benchmarks")] @@ -2672,7 +2738,6 @@ mod benches { [pallet_democracy, Democracy] [pallet_identity, Identity] [pallet_vesting, Vesting] - [pallet_treasury, Treasury] [pallet_preimage, Preimage] [pallet_uniques, Uniques] [pallet_fees, Fees] @@ -2690,7 +2755,7 @@ mod benches { [pallet_keystore, Keystore] [pallet_order_book, OrderBook] [pallet_investments, Investments] - [pallet_xcm, PolkadotXcm] + [pallet_xcm, PalletXcmExtrinsicsBenchmark::] [cumulus_pallet_xcmp_queue, XcmpQueue] [pallet_liquidity_rewards, LiquidityRewards] [pallet_transfer_allowlist, TransferAllowList] diff --git a/runtime/altair/src/migrations.rs b/runtime/altair/src/migrations.rs index 949dd37e10..13fff00f13 100644 --- a/runtime/altair/src/migrations.rs +++ b/runtime/altair/src/migrations.rs @@ -12,6 +12,9 @@ use crate::{ForeignInvestments, OraclePriceCollection, OraclePriceFeed, OrderBook}; +// Number of identities on Altair Chain on 30.05.2024 was 34 +const IDENTITY_MIGRATION_KEY_LIMIT: u64 = 1000; + /// The migration set for Altair @ Kusama. /// It includes all the migrations that have to be applied on that chain. pub type UpgradeAltair1035 = ( @@ -20,4 +23,16 @@ pub type UpgradeAltair1035 = ( runtime_common::migrations::increase_storage_version::Migration, runtime_common::migrations::increase_storage_version::Migration, pallet_collator_selection::migration::v1::MigrateToV1, + pallet_collator_selection::migration::v2::MigrationToV2, + runtime_common::migrations::loans::AddWithLinearPricing, + // As of May 2024, the `pallet_balances::Hold` storage was empty. But better be safe. + runtime_common::migrations::hold_reason::MigrateTransferAllowListHolds< + crate::Runtime, + crate::RuntimeHoldReason, + >, + // Migrations below this comment originate from Polkadot SDK + pallet_xcm::migration::MigrateToLatestXcmVersion, + cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4, + pallet_identity::migration::versioned::V0ToV1, + pallet_uniques::migration::MigrateV0ToV1, ); diff --git a/runtime/altair/src/weights/cumulus_pallet_xcmp_queue.rs b/runtime/altair/src/weights/cumulus_pallet_xcmp_queue.rs index c319469bca..644b444fb3 100644 --- a/runtime/altair/src/weights/cumulus_pallet_xcmp_queue.rs +++ b/runtime/altair/src/weights/cumulus_pallet_xcmp_queue.rs @@ -44,16 +44,28 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: XcmpQueue QueueConfig (r:1 w:1) - /// Proof Skipped: XcmpQueue QueueConfig (max_values: Some(1), max_size: None, mode: Measured) - fn set_config_with_weight() -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `1594` - // Minimum execution time: 8_756_000 picoseconds. - Weight::from_parts(9_017_000, 0) - .saturating_add(Weight::from_parts(0, 1594)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + + fn enqueue_xcmp_message() -> Weight { + Weight::zero() + } + + fn suspend_channel() -> Weight { + Weight::zero() + } + + fn resume_channel() -> Weight { + Weight::zero() + } + + fn take_first_concatenated_xcm() -> Weight { + Weight::zero() + } + + fn on_idle_good_msg() -> Weight { + Weight::from_parts(1, 1) + } + + fn on_idle_large_msg() -> Weight { + Weight::from_parts(1, 1) } } diff --git a/runtime/altair/src/weights/frame_system.rs b/runtime/altair/src/weights/frame_system.rs index e20598c77c..05427a8a9c 100644 --- a/runtime/altair/src/weights/frame_system.rs +++ b/runtime/altair/src/weights/frame_system.rs @@ -110,4 +110,12 @@ impl frame_system::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) .saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into())) } + + fn authorize_upgrade() -> Weight { + Weight::zero() + } + + fn apply_authorized_upgrade() -> Weight { + Weight::zero() + } } diff --git a/runtime/altair/src/weights/pallet_balances.rs b/runtime/altair/src/weights/pallet_balances.rs index 6b115823e7..e039260aad 100644 --- a/runtime/altair/src/weights/pallet_balances.rs +++ b/runtime/altair/src/weights/pallet_balances.rs @@ -132,4 +132,8 @@ impl pallet_balances::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(u.into()))) .saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into())) } + + fn force_adjust_total_issuance() -> Weight { + Weight::zero() + } } diff --git a/runtime/altair/src/weights/pallet_collator_selection.rs b/runtime/altair/src/weights/pallet_collator_selection.rs index bc518dffbf..b0638a6c71 100644 --- a/runtime/altair/src/weights/pallet_collator_selection.rs +++ b/runtime/altair/src/weights/pallet_collator_selection.rs @@ -65,7 +65,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn } /// Storage: CollatorSelection CandidacyBond (r:0 w:1) /// Proof: CollatorSelection CandidacyBond (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) - fn set_candidacy_bond() -> Weight { + fn set_candidacy_bond(_: u32, _: u32) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` @@ -173,4 +173,14 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Pending to generate Weight::default() } + + fn update_bond(_: u32) -> Weight { + // Pending to generate + Weight::default() + } + + fn take_candidate_slot(_: u32) -> Weight { + // Pending to generate + Weight::default() + } } diff --git a/runtime/altair/src/weights/pallet_identity.rs b/runtime/altair/src/weights/pallet_identity.rs index 118596c4c5..9c57f67b3b 100644 --- a/runtime/altair/src/weights/pallet_identity.rs +++ b/runtime/altair/src/weights/pallet_identity.rs @@ -51,19 +51,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 20]`. /// The range of component `x` is `[0, 100]`. - fn set_identity(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `441 + r * (5 ±0)` - // Estimated: `11003` - // Minimum execution time: 48_391_000 picoseconds. - Weight::from_parts(47_441_350, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 4_632 - .saturating_add(Weight::from_parts(114_047, 0).saturating_mul(r.into())) - // Standard Error: 903 - .saturating_add(Weight::from_parts(796_229, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + fn set_identity(_: u32) -> Weight { + Weight::default() } /// Storage: Identity IdentityOf (r:1 w:0) /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) @@ -116,22 +105,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// The range of component `r` is `[1, 20]`. /// The range of component `s` is `[0, 100]`. /// The range of component `x` is `[0, 100]`. - fn clear_identity(r: u32, s: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `468 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 88_256_000 picoseconds. - Weight::from_parts(47_087_223, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 12_735 - .saturating_add(Weight::from_parts(206_434, 0).saturating_mul(r.into())) - // Standard Error: 2_487 - .saturating_add(Weight::from_parts(2_032_500, 0).saturating_mul(s.into())) - // Standard Error: 2_487 - .saturating_add(Weight::from_parts(405_404, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) + fn clear_identity(_: u32, _: u32) -> Weight { + Weight::default() } /// Storage: Identity Registrars (r:1 w:0) /// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen) @@ -139,37 +114,15 @@ impl pallet_identity::WeightInfo for WeightInfo { /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 20]`. /// The range of component `x` is `[0, 100]`. - fn request_judgement(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `366 + r * (57 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 48_361_000 picoseconds. - Weight::from_parts(47_387_035, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 5_801 - .saturating_add(Weight::from_parts(89_565, 0).saturating_mul(r.into())) - // Standard Error: 1_132 - .saturating_add(Weight::from_parts(828_691, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) + fn request_judgement(_: u32) -> Weight { + Weight::default() } /// Storage: Identity IdentityOf (r:1 w:1) /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 20]`. /// The range of component `x` is `[0, 100]`. - fn cancel_request(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `397 + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 44_634_000 picoseconds. - Weight::from_parts(44_200_462, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 7_846 - .saturating_add(Weight::from_parts(66_743, 0).saturating_mul(r.into())) - // Standard Error: 1_531 - .saturating_add(Weight::from_parts(823_322, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + fn cancel_request(_: u32) -> Weight { + Weight::default() } /// Storage: Identity Registrars (r:1 w:1) /// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen) @@ -222,19 +175,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 19]`. /// The range of component `x` is `[0, 100]`. - fn provide_judgement(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `444 + r * (57 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 33_443_000 picoseconds. - Weight::from_parts(30_762_960, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 9_179 - .saturating_add(Weight::from_parts(151_014, 0).saturating_mul(r.into())) - // Standard Error: 1_698 - .saturating_add(Weight::from_parts(1_309_125, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) + fn provide_judgement(_: u32) -> Weight { + Weight::default() } /// Storage: Identity SubsOf (r:1 w:1) /// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen) @@ -247,22 +189,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// The range of component `r` is `[1, 20]`. /// The range of component `s` is `[0, 100]`. /// The range of component `x` is `[0, 100]`. - fn kill_identity(r: u32, s: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `797 + r * (15 ±0) + s * (32 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 117_871_000 picoseconds. - Weight::from_parts(76_587_113, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 10_045 - .saturating_add(Weight::from_parts(179_445, 0).saturating_mul(r.into())) - // Standard Error: 1_961 - .saturating_add(Weight::from_parts(2_029_598, 0).saturating_mul(s.into())) - // Standard Error: 1_961 - .saturating_add(Weight::from_parts(433_828, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) + fn kill_identity(_: u32, _: u32) -> Weight { + Weight::default() } /// Storage: Identity IdentityOf (r:1 w:0) /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) @@ -338,4 +266,32 @@ impl pallet_identity::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } + + fn add_username_authority() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn remove_username_authority() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn set_username_for() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn accept_username() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn remove_expired_approval() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn set_primary_username() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn remove_dangling_username() -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/altair/src/weights/pallet_preimage.rs b/runtime/altair/src/weights/pallet_preimage.rs index 6b723f7f3b..b7dcdcc9f9 100644 --- a/runtime/altair/src/weights/pallet_preimage.rs +++ b/runtime/altair/src/weights/pallet_preimage.rs @@ -197,4 +197,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + + fn ensure_updated(_: u32) -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/altair/src/weights/pallet_treasury.rs b/runtime/altair/src/weights/pallet_treasury.rs index 8c78a9491c..4e3fe41b9f 100644 --- a/runtime/altair/src/weights/pallet_treasury.rs +++ b/runtime/altair/src/weights/pallet_treasury.rs @@ -120,4 +120,20 @@ impl pallet_treasury::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 2583).saturating_mul(p.into())) } + + fn spend_local() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn payout() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn check_status() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn void_spend() -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/altair/src/weights/pallet_vesting.rs b/runtime/altair/src/weights/pallet_vesting.rs index 6944a97607..17e791c7eb 100644 --- a/runtime/altair/src/weights/pallet_vesting.rs +++ b/runtime/altair/src/weights/pallet_vesting.rs @@ -220,4 +220,8 @@ impl pallet_vesting::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } + + fn force_remove_vesting_schedule(_: u32, _: u32) -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/altair/src/weights/pallet_xcm.rs b/runtime/altair/src/weights/pallet_xcm.rs index 36acba6504..b2a78e5853 100644 --- a/runtime/altair/src/weights/pallet_xcm.rs +++ b/runtime/altair/src/weights/pallet_xcm.rs @@ -273,4 +273,16 @@ impl pallet_xcm::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) } + + fn transfer_assets() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn new_query() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn take_response() -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/altair/src/xcm.rs b/runtime/altair/src/xcm.rs index 05c7361d06..ab0c2e231b 100644 --- a/runtime/altair/src/xcm.rs +++ b/runtime/altair/src/xcm.rs @@ -27,7 +27,7 @@ use pallet_xcm::XcmPassthrough; use runtime_common::{ transfer_filter::PreXcmTransfer, xcm::{ - general_key, AccountIdToMultiLocation, Barrier, FixedConversionRateProvider, + general_key, AccountIdToLocation, Barrier, FixedConversionRateProvider, LocalOriginToLocation, ToTreasury, }, xcm_fees::native_per_second, @@ -35,12 +35,12 @@ use runtime_common::{ use sp_core::ConstU32; use staging_xcm::{ prelude::*, - v3::{MultiLocation, Weight as XcmWeight}, + v4::{Location, Weight as XcmWeight}, }; use staging_xcm_builder::{ - ConvertedConcreteId, EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, FungiblesAdapter, - NoChecking, RelayChainAsNative, SiblingParachainAsNative, SignedAccountId32AsNative, - SovereignSignedViaLocation, + ConvertedConcreteId, EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, + FrameTransactionalProcessor, FungiblesAdapter, NoChecking, RelayChainAsNative, + SiblingParachainAsNative, SignedAccountId32AsNative, SovereignSignedViaLocation, }; use staging_xcm_executor::{traits::JustTry, XcmExecutor}; @@ -49,37 +49,6 @@ use super::{ RuntimeCall, RuntimeEvent, RuntimeOrigin, Tokens, XcmpQueue, }; -/// A call filter for the XCM Transact instruction. This is a temporary -/// measure until we properly account for proof size weights. -/// -/// Calls that are allowed through this filter must: -/// 1. Have a fixed weight; -/// 2. Cannot lead to another call being made; -/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call -/// parameters. -/// -/// NOTE: Defensive configuration for now, inspired by filter of -/// SystemParachains and Polkadot, can be extended if desired. -pub struct SafeCallFilter; -impl frame_support::traits::Contains for SafeCallFilter { - fn contains(call: &RuntimeCall) -> bool { - matches!( - call, - RuntimeCall::Timestamp(..) - | RuntimeCall::Balances(..) - | RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. }) - | RuntimeCall::PolkadotXcm( - pallet_xcm::Call::limited_reserve_transfer_assets { .. } - ) | RuntimeCall::XcmpQueue(..) - | RuntimeCall::DmpQueue(..) - | RuntimeCall::Proxy(..) - | RuntimeCall::LiquidityPoolsGateway( - pallet_liquidity_pools_gateway::Call::process_msg { .. } - ) | RuntimeCall::OrderBook(..) - ) - } -} - /// The main XCM config /// This is where we configure the core of our XCM integrations: how tokens are /// transferred, how fees are calculated, what barriers we impose on incoming @@ -104,9 +73,10 @@ impl staging_xcm_executor::Config for XcmConfig { type PalletInstancesInfo = crate::AllPalletsWithSystem; type ResponseHandler = PolkadotXcm; type RuntimeCall = RuntimeCall; - type SafeCallFilter = SafeCallFilter; + type SafeCallFilter = Everything; type SubscriptionService = PolkadotXcm; type Trader = Trader; + type TransactionalProcessor = FrameTransactionalProcessor; type UniversalAliases = Nothing; type UniversalLocation = UniversalLocation; type Weigher = FixedWeightBounds; @@ -128,9 +98,9 @@ pub type Trader = ( parameter_types! { // Canonical location: https://github.com/paritytech/polkadot/pull/4470 pub CanonicalAirPerSecond: (AssetId, u128, u128) = ( - MultiLocation::new( + Location::new( 0, - X1(general_key(parachains::kusama::altair::AIR_KEY)) + general_key(parachains::kusama::altair::AIR_KEY) ).into(), native_per_second(), 0, @@ -144,7 +114,7 @@ pub type FungiblesTransactor = FungiblesAdapter< // This means that this adapter should handle any token that `CurrencyIdConvert` can convert // to `CurrencyId`, the `CurrencyId` type of `Tokens`, the fungibles implementation it uses. ConvertedConcreteId, - // Convert an XCM MultiLocation into a local account id + // Convert an XCM Location into a local account id LocationToAccountId, // Our chain's account ID type (we can't get away without mentioning it explicitly) AccountId, @@ -160,11 +130,6 @@ parameter_types! { pub const MaxInstructions: u32 = 100; } -#[cfg(feature = "runtime-benchmarks")] -parameter_types! { - pub ReachableDest: Option = Some(Parent.into()); -} - /// Pallet Xcm offers a lot of out-of-the-box functionality and features to /// configure and handle XCM messages. impl pallet_xcm::Config for Runtime { @@ -175,8 +140,6 @@ impl pallet_xcm::Config for Runtime { type ExecuteXcmOrigin = EnsureXcmOrigin>; type MaxLockers = ConstU32<8>; type MaxRemoteLockConsumers = ConstU32<0>; - #[cfg(feature = "runtime-benchmarks")] - type ReachableDest = ReachableDest; type RemoteLockConsumerIdentifier = (); type RuntimeCall = RuntimeCall; type RuntimeEvent = RuntimeEvent; @@ -199,7 +162,7 @@ impl pallet_xcm::Config for Runtime { parameter_types! { pub const RelayNetwork: NetworkId = NetworkId::Kusama; pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub Ancestry: Location = Parachain(ParachainInfo::parachain_id().into()).into(); pub CheckingAccount: AccountId = PolkadotXcm::check_account(); } @@ -243,29 +206,29 @@ parameter_types! { } parameter_types! { - /// The `MultiLocation` identifying this very parachain - pub SelfLocation: MultiLocation = MultiLocation::new(1, X1(Parachain(ParachainInfo::get().into()))); - pub UniversalLocation: InteriorMultiLocation = X2( + /// The `Location` identifying this very parachain + pub SelfLocation: Location = Location::new(1, Parachain(ParachainInfo::get().into())); + pub UniversalLocation: InteriorLocation = [ GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into()) - ); + ].into(); } parameter_type_with_key! { - pub ParachainMinFee: |_location: MultiLocation| -> Option { + pub ParachainMinFee: |_location: Location| -> Option { None }; } impl orml_xtokens::Config for Runtime { - type AccountIdToMultiLocation = AccountIdToMultiLocation; + type AccountIdToLocation = AccountIdToLocation; type Balance = Balance; type BaseXcmWeight = BaseXcmWeight; type CurrencyId = CurrencyId; type CurrencyIdConvert = CurrencyIdConvert; + type LocationsFilter = Everything; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; - type MultiLocationsFilter = Everything; type ReserveProvider = AbsoluteReserveProvider; type RuntimeEvent = RuntimeEvent; type SelfLocation = SelfLocation; diff --git a/runtime/centrifuge/Cargo.toml b/runtime/centrifuge/Cargo.toml index bc5bceac63..8d0e1c27f4 100644 --- a/runtime/centrifuge/Cargo.toml +++ b/runtime/centrifuge/Cargo.toml @@ -10,7 +10,6 @@ repository.workspace = true documentation.workspace = true [dependencies] -getrandom = { workspace = true } hex = { workspace = true } hex-literal = { workspace = true } log = { workspace = true } @@ -23,6 +22,7 @@ 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-io = { workspace = true } sp-offchain = { workspace = true } @@ -107,6 +107,7 @@ pallet-liquidity-pools-gateway = { workspace = true } pallet-liquidity-rewards = { workspace = true } pallet-loans = { workspace = true } pallet-membership = { workspace = true } +pallet-message-queue = { workspace = true } pallet-multisig = { workspace = true } pallet-oracle-collection = { workspace = true } pallet-oracle-feed = { workspace = true } @@ -135,7 +136,7 @@ pallet-utility = { workspace = true } pallet-vesting = { workspace = true } pallet-xcm = { workspace = true } pallet-xcm-transactor = { workspace = true } -parachain-info = { workspace = true } +staging-parachain-info = { workspace = true } [build-dependencies] substrate-wasm-builder = { workspace = true } @@ -145,18 +146,17 @@ default = ["std"] std = [ "parity-scale-codec/std", - "getrandom/std", "hex/std", "scale-info/std", "serde/std", "log/std", - # Substrate related "sp-api/std", "sp-runtime/std", "sp-block-builder/std", "sp-consensus-aura/std", "sp-core/std", + "sp-genesis-builder/std", "sp-inherents/std", "sp-io/std", "sp-offchain/std", @@ -187,14 +187,12 @@ std = [ "pallet-transaction-payment-rpc-runtime-api/std", "polkadot-runtime-common/std", "polkadot-parachain-primitives/std", - # Locals "cfg-primitives/std", "cfg-traits/std", "cfg-types/std", "runtime-common/std", "liquidity-pools-gateway-routers/std", - # Pallet list "axelar-gateway-precompile/std", "chainbridge/std", @@ -262,7 +260,8 @@ std = [ "pallet-vesting/std", "pallet-xcm/std", "pallet-xcm-transactor/std", - "parachain-info/std", + "pallet-message-queue/std", + "staging-parachain-info/std", ] runtime-benchmarks = [ @@ -270,7 +269,6 @@ runtime-benchmarks = [ "frame-system-benchmarking/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", - # Substrate related "sp-runtime/runtime-benchmarks", "sp-staking/runtime-benchmarks", @@ -281,14 +279,12 @@ runtime-benchmarks = [ "xcm-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", - # Locals "cfg-primitives/runtime-benchmarks", "cfg-traits/runtime-benchmarks", "cfg-types/runtime-benchmarks", "runtime-common/runtime-benchmarks", "liquidity-pools-gateway-routers/runtime-benchmarks", - # Pallet list "axelar-gateway-precompile/runtime-benchmarks", "chainbridge/runtime-benchmarks", @@ -346,12 +342,12 @@ runtime-benchmarks = [ "pallet-vesting/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", "pallet-xcm-transactor/runtime-benchmarks", + "pallet-message-queue/runtime-benchmarks", ] try-runtime = [ # Enabling optional "frame-try-runtime/try-runtime", - # Substrate related "sp-runtime/try-runtime", "frame-support/try-runtime", @@ -359,14 +355,12 @@ try-runtime = [ "frame-executive/try-runtime", "fp-self-contained/try-runtime", "polkadot-runtime-common/try-runtime", - # Locals "cfg-primitives/try-runtime", "cfg-traits/try-runtime", "cfg-types/try-runtime", "runtime-common/try-runtime", "liquidity-pools-gateway-routers/try-runtime", - # Pallet list "axelar-gateway-precompile/try-runtime", "chainbridge/try-runtime", @@ -434,7 +428,8 @@ try-runtime = [ "pallet-vesting/try-runtime", "pallet-xcm/try-runtime", "pallet-xcm-transactor/try-runtime", - "parachain-info/try-runtime", + "pallet-message-queue/try-runtime", + "staging-parachain-info/try-runtime", ] # A feature that should be enabled when the runtime should be build for on-chain diff --git a/runtime/centrifuge/src/lib.rs b/runtime/centrifuge/src/lib.rs index 9bcc090d2d..cfa35b617c 100644 --- a/runtime/centrifuge/src/lib.rs +++ b/runtime/centrifuge/src/lib.rs @@ -37,24 +37,32 @@ use cfg_types::{ fee_keys::{Fee, FeeKey}, fixed_point::{Quantity, Rate, Ratio}, investments::InvestmentPortfolio, + locations::RestrictedTransferLocation, oracles::OracleKey, permissions::{ PermissionRoles, PermissionScope, PermissionedCurrencyRole, PoolRole, Role, UNION, }, + pools::PoolNav, time::TimeProvider, - tokens::{AssetStringLimit, CurrencyId, CustomMetadata, StakingCurrency, TrancheCurrency}, + tokens::{ + AssetStringLimit, CurrencyId, CustomMetadata, FilterCurrency, LocalAssetId, + StakingCurrency, TrancheCurrency, + }, }; -use cumulus_primitives_core::{MultiAsset, MultiLocation}; +use cumulus_primitives_core::{AggregateMessageOrigin, ParaId}; use fp_rpc::TransactionStatus; use frame_support::{ construct_runtime, dispatch::DispatchClass, + genesis_builder_helper::{build_config, create_default_config}, pallet_prelude::{DispatchError, DispatchResult, RuntimeDebug}, parameter_types, traits::{ + fungible::HoldConsideration, + tokens::{PayFromAccount, UnityAssetBalanceConversion}, AsEnsureOriginWithArg, ConstBool, ConstU32, ConstU64, Contains, EitherOfDiverse, - EqualPrivilegeOnly, Get, InstanceFilter, LockIdentifier, OnFinalize, PalletInfoAccess, - UnixTime, WithdrawReasons, + EqualPrivilegeOnly, Get, InstanceFilter, LinearStoragePrice, LockIdentifier, OnFinalize, + PalletInfoAccess, TransformOrigin, UnixTime, WithdrawReasons, }, weights::{ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight}, @@ -78,6 +86,7 @@ use pallet_investments::OrderType; use pallet_liquidity_pools::hooks::{ CollectedForeignInvestmentHook, CollectedForeignRedemptionHook, DecreasedForeignInvestOrderHook, }; +pub use pallet_loans::entities::{input::PriceCollectionInput, loans::ActiveLoanInfo}; use pallet_loans::types::cashflow::CashflowPayment; use pallet_pool_system::{ pool_types::{PoolDetails, ScheduledUpdateDetails}, @@ -90,7 +99,9 @@ use pallet_restricted_tokens::{ use pallet_transaction_payment::CurrencyAdapter; use pallet_transaction_payment_rpc_runtime_api::{FeeDetails, RuntimeDispatchInfo}; use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; -use polkadot_runtime_common::{prod_or_fast, BlockHashCount, SlowAdjustingFeeUpdate}; +use polkadot_runtime_common::{ + prod_or_fast, xcm_sender::NoPriceForMessageDelivery, BlockHashCount, SlowAdjustingFeeUpdate, +}; use runtime_common::{ account_conversion::{AccountConverter, RuntimeAccountConverter}, asset_registry, @@ -101,15 +112,16 @@ use runtime_common::{ fees::{DealWithFees, FeeToTreasury, WeightToFee}, gateway, instances, liquidity_pools::LiquidityPoolsMessage, + message_queue::{NarrowOriginToSibling, ParaIdToSibling}, oracle::{ Feeder, OracleConverterBridge, OracleRatioProvider, OracleRatioProviderLocalAssetExtension, }, origin::EnsureAccountOrRootOr, permissions::PoolAdminCheck, rewards::SingleCurrencyMovement, - transfer_filter::PreLpTransfer, - xcm::AccountIdToMultiLocation, - xcm_transactor, AllowanceDeposit, CurrencyED, HoldId, + transfer_filter::{PreLpTransfer, PreNativeTransfer}, + xcm::AccountIdToLocation, + xcm_transactor, AllowanceDeposit, CurrencyED, }; use scale_info::TypeInfo; use sp_api::impl_runtime_apis; @@ -119,7 +131,7 @@ use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, traits::{ AccountIdConversion, BlakeTwo256, Block as BlockT, ConvertInto, DispatchInfoOf, - Dispatchable, PostDispatchInfoOf, UniqueSaturatedInto, Zero, + Dispatchable, IdentityLookup, PostDispatchInfoOf, UniqueSaturatedInto, Verify, Zero, }, transaction_validity::{TransactionSource, TransactionValidity, TransactionValidityError}, ApplyExtrinsicResult, FixedI128, Perbill, Permill, Perquintill, @@ -127,7 +139,7 @@ use sp_runtime::{ use sp_staking::currency_to_vote::U128CurrencyToVote; use sp_std::{marker::PhantomData, prelude::*, vec::Vec}; use sp_version::RuntimeVersion; -use staging_xcm_executor::XcmExecutor; +use staging_xcm::v4::{Asset, Location}; use static_assertions::const_assert; use crate::xcm::*; @@ -235,6 +247,7 @@ impl frame_system::Config for Runtime { type RuntimeEvent = RuntimeEvent; /// The ubiquitous origin type. type RuntimeOrigin = RuntimeOrigin; + type RuntimeTask = RuntimeTask; type SS58Prefix = SS58Prefix; type SystemWeightInfo = weights::frame_system::WeightInfo; /// Get the chain's current version. @@ -250,6 +263,7 @@ impl Contains for BaseCallFilter { // Block these calls when called by a signed extrinsic. // Root will still be able to execute these. pallet_xcm::Call::execute { .. } + | pallet_xcm::Call::transfer_assets { .. } | pallet_xcm::Call::teleport_assets { .. } | pallet_xcm::Call::reserve_transfer_assets { .. } | pallet_xcm::Call::limited_reserve_transfer_assets { .. } @@ -281,21 +295,49 @@ impl Contains for BaseCallFilter { 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 CheckAssociatedRelayNumber = cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases; - type DmpMessageHandler = DmpQueue; + // Using weights for recomended hardware + type DmpQueue = frame_support::traits::EnqueueWithOrigin; type OnSystemEvent = (); type OutboundXcmpMessageSource = XcmpQueue; type ReservedDmpWeight = ReservedDmpWeight; type ReservedXcmpWeight = ReservedXcmpWeight; type RuntimeEvent = RuntimeEvent; - type SelfParaId = parachain_info::Pallet; + type SelfParaId = staging_parachain_info::Pallet; + type WeightInfo = cumulus_pallet_parachain_system::weights::SubstrateWeight; type XcmpMessageHandler = XcmpQueue; } -// XCM +impl staging_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 HeapSize = sp_core::ConstU32<{ 64 * 1024 }>; + type MaxStale = sp_core::ConstU32<8>; + // Using weights for recomended hardware + #[cfg(feature = "runtime-benchmarks")] + type MessageProcessor = + pallet_message_queue::mock_helpers::NoopMessageProcessor; + #[cfg(not(feature = "runtime-benchmarks"))] + type MessageProcessor = staging_xcm_builder::ProcessXcmMessage< + AggregateMessageOrigin, + staging_xcm_executor::XcmExecutor, + RuntimeCall, + >; + type QueueChangeHandler = NarrowOriginToSibling; + type QueuePausedQuery = NarrowOriginToSibling; + type RuntimeEvent = RuntimeEvent; + type ServiceWeight = MessageQueueServiceWeight; + type Size = u32; + type WeightInfo = pallet_message_queue::weights::SubstrateWeight; +} /// XCMP Queue is responsible to handle XCM messages coming directly from /// sibling parachains. @@ -303,20 +345,18 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ChannelInfo = ParachainSystem; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; - type ExecuteOverweightOrigin = EnsureRoot; - type PriceForSiblingDelivery = (); + type MaxInboundSuspended = sp_core::ConstU32<1_000>; + type PriceForSiblingDelivery = NoPriceForMessageDelivery; type RuntimeEvent = RuntimeEvent; type VersionWrapper = PolkadotXcm; - type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo; - type XcmExecutor = XcmExecutor; + type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo; + type XcmpQueue = TransformOrigin; } -/// The config for the Downward Message Passing Queue, i.e., how messages coming -/// from the relay-chain are handled. impl cumulus_pallet_dmp_queue::Config for Runtime { - type ExecuteOverweightOrigin = EnsureRoot; + type DmpSink = frame_support::traits::EnqueueWithOrigin; type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; + type WeightInfo = cumulus_pallet_dmp_queue::weights::SubstrateWeight; } parameter_types! { @@ -347,6 +387,7 @@ impl pallet_restricted_tokens::Config for Runtime { type PreFungiblesUnbalanced = cfg_traits::Always; type PreReservableCurrency = cfg_traits::Always; type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = weights::pallet_restricted_tokens::WeightInfo; } @@ -413,7 +454,7 @@ impl orml_tokens::Config for Runtime { type WeightInfo = (); } -impl orml_asset_registry::Config for Runtime { +impl orml_asset_registry::module::Config for Runtime { type AssetId = CurrencyId; type AssetProcessor = asset_registry::CustomAssetProcessor; type AuthorityOrigin = @@ -427,7 +468,6 @@ impl orml_asset_registry::Config for Runtime { // case, pallet-pools and democracy type WeightInfo = (); } -impl parachain_info::Config for Runtime {} parameter_types! { pub const MinimumPeriod: Millis = SLOT_DURATION / 2; @@ -478,13 +518,13 @@ impl pallet_balances::Config for Runtime { type ExistentialDeposit = ExistentialDeposit; type FreezeIdentifier = (); type MaxFreezes = ConstU32<10>; - type MaxHolds = ConstU32<10>; type MaxLocks = MaxLocks; type MaxReserves = MaxReserves; type ReserveIdentifier = [u8; 8]; /// The overarching event type. type RuntimeEvent = RuntimeEvent; - type RuntimeHoldReason = (); + type RuntimeFreezeReason = RuntimeFreezeReason; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = weights::pallet_balances::WeightInfo; } @@ -808,11 +848,16 @@ parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; pub PreimageBaseDeposit: Balance = deposit(2, 64); pub PreimageByteDeposit: Balance = deposit(0, 1); + pub const PreimageHoldReason: RuntimeHoldReason = RuntimeHoldReason::Preimage(pallet_preimage::HoldReason::Preimage); } impl pallet_preimage::Config for Runtime { - type BaseDeposit = PreimageBaseDeposit; - type ByteDeposit = PreimageByteDeposit; + type Consideration = HoldConsideration< + AccountId, + Balances, + PreimageHoldReason, + LinearStoragePrice, + >; type Currency = Balances; type ManagerOrigin = EnsureRoot; type RuntimeEvent = RuntimeEvent; @@ -960,24 +1005,30 @@ parameter_types! { pub const MaxSubAccounts: u32 = 100; pub const MaxAdditionalFields: u32 = 100; pub const BasicDeposit: Balance = 100 * CFG; - pub const FieldDeposit: Balance = 25 * CFG; + pub const ByteDeposit: Balance = deposit(0, 1); pub const SubAccountDeposit: Balance = 20 * CFG; pub const MaxRegistrars: u32 = 20; } impl pallet_identity::Config for Runtime { type BasicDeposit = BasicDeposit; + type ByteDeposit = ByteDeposit; type Currency = Balances; - type FieldDeposit = FieldDeposit; type ForceOrigin = EnsureRootOr>; - type MaxAdditionalFields = MaxAdditionalFields; + type IdentityInformation = pallet_identity::legacy::IdentityInfo; type MaxRegistrars = MaxRegistrars; type MaxSubAccounts = MaxSubAccounts; + type MaxSuffixLength = ConstU32<7>; + type MaxUsernameLength = ConstU32<32>; + type OffchainSignature = Signature; + type PendingUsernameExpiration = ConstU32<{ 7 * DAYS }>; type RegistrarOrigin = EnsureRootOr>; type RuntimeEvent = RuntimeEvent; + type SigningPublicKey = ::Signer; type Slashed = Treasury; type SubAccountDeposit = SubAccountDeposit; + type UsernameAuthorityOrigin = EnsureRoot; type WeightInfo = weights::pallet_identity::WeightInfo; } @@ -988,6 +1039,7 @@ parameter_types! { } impl pallet_vesting::Config for Runtime { + type BlockNumberProvider = System; type BlockNumberToBalance = ConvertInto; type Currency = Balances; type MinVestedTransfer = MinVestedTransfer; @@ -1011,6 +1063,7 @@ parameter_types! { // periods between treasury spends pub const SpendPeriod: BlockNumber = 14 * DAYS; + pub const PayoutPeriod: BlockNumber = 30 * DAYS; // percentage of treasury we burn per Spend period if there is a surplus // If the treasury is able to spend on all the approved proposals and didn't miss any @@ -1026,26 +1079,30 @@ parameter_types! { } impl pallet_treasury::Config for Runtime { - // either democracy or 50% of council votes type ApproveOrigin = EnsureRootOr; + type AssetKind = (); + type BalanceConverter = UnityAssetBalanceConversion; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); + type Beneficiary = Self::AccountId; + type BeneficiaryLookup = IdentityLookup; type Burn = Burn; - // we burn and dont handle the unbalance type BurnDestination = (); type Currency = Tokens; type MaxApprovals = MaxApprovals; - // slashed amount goes to treasury account type OnSlash = Treasury; type PalletId = TreasuryPalletId; + type Paymaster = PayFromAccount; + type PayoutPeriod = PayoutPeriod; type ProposalBond = ProposalBond; type ProposalBondMaximum = ProposalBondMaximum; type ProposalBondMinimum = ProposalBondMinimum; - // either democracy or more than 50% council votes type RejectOrigin = EnsureRootOr; type RuntimeEvent = RuntimeEvent; type SpendFunds = (); type SpendOrigin = frame_support::traits::NeverEnsureOrigin; type SpendPeriod = SpendPeriod; - type WeightInfo = weights::pallet_treasury::WeightInfo; + type WeightInfo = pallet_treasury::weights::SubstrateWeight; } // our pallets @@ -1160,18 +1217,19 @@ pub type XcmWeigher = parameter_types! { // 1 DOT, which has 10 decimals, should be enough to cover for fees opening/accepting hrmp channels. - pub MaxHrmpRelayFee: MultiAsset = (MultiLocation::parent(), 10_000_000_000u128).into(); + pub MaxHrmpRelayFee: Asset = (Location::parent(), 10_000_000_000u128).into(); } impl pallet_xcm_transactor::Config for Runtime { - type AccountIdToMultiLocation = AccountIdToMultiLocation; + type AccountIdToLocation = AccountIdToLocation; type AssetTransactor = FungiblesTransactor; type Balance = Balance; type BaseXcmWeight = BaseXcmWeight; type CurrencyId = CurrencyId; - type CurrencyIdToMultiLocation = CurrencyIdConvert; + type CurrencyIdToLocation = CurrencyIdConvert; type DerivativeAddressRegistrationOrigin = EnsureRootOr; type HrmpManipulatorOrigin = EnsureRootOr; + type HrmpOpenOrigin = EnsureRoot; type MaxHrmpFee = staging_xcm_builder::Case; type ReserveProvider = xcm_primitives::AbsoluteAndRelativeReserve; type RuntimeEvent = RuntimeEvent; @@ -1902,10 +1960,10 @@ impl pallet_token_mux::Config for Runtime { impl pallet_transfer_allowlist::Config for Runtime { type CurrencyId = FilterCurrency; type Deposit = AllowanceDeposit; - type HoldId = HoldId; - type Location = Location; + type Location = RestrictedTransferLocation; type ReserveCurrency = Balances; type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = weights::pallet_transfer_allowlist::WeightInfo; } @@ -1949,6 +2007,7 @@ impl pallet_evm::Config for Runtime { type PrecompilesValue = PrecompilesValue; type Runner = pallet_evm::runner::stack::Runner; type RuntimeEvent = RuntimeEvent; + type SuicideQuickClearLimit = ConstU32<0>; type Timestamp = Timestamp; type WeightInfo = (); type WeightPerGas = WeightPerGas; @@ -2033,7 +2092,7 @@ construct_runtime!( System: frame_system::{Pallet, Call, Config, Storage, Event} = 0, ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event} = 1, Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 3, - ParachainInfo: parachain_info::{Pallet, Storage, Config} = 4, + ParachainInfo: staging_parachain_info::{Pallet, Storage, Config} = 4, // money stuff Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 20, @@ -2057,7 +2116,7 @@ construct_runtime!( Democracy: pallet_democracy::{Pallet, Call, Storage, Config, Event} = 66, Identity: pallet_identity::{Pallet, Call, Storage, Event} = 67, Vesting: pallet_vesting::{Pallet, Call, Storage, Event, Config} = 68, - Preimage: pallet_preimage::{Pallet, Call, Storage, Event} = 69, + Preimage: pallet_preimage::{Pallet, Call, Storage, Event, HoldReason} = 69, Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event} = 70, // our pallets @@ -2069,7 +2128,7 @@ construct_runtime!( // Removed: Migration = 95 // Removed: CrowdloanClaim = 96 // Removed: CrowdloanReward = 97 - Tokens: pallet_restricted_tokens::{Pallet, Call, Event} = 98, + Tokens: pallet_restricted_tokens::{Pallet, Call, Event, HoldReason} = 98, CollatorAllowlist: pallet_collator_allowlist::{Pallet, Call, Storage, Config, Event} = 99, BlockRewardsBase: pallet_rewards::::{Pallet, Storage, Event, Config} = 100, BlockRewards: pallet_block_rewards::{Pallet, Call, Storage, Event, Config} = 101, @@ -2080,7 +2139,7 @@ construct_runtime!( LiquidityPoolsGateway: pallet_liquidity_pools_gateway::{Pallet, Call, Storage, Event, Origin } = 107, OrderBook: pallet_order_book::{Pallet, Call, Storage, Event} = 108, ForeignInvestments: pallet_foreign_investments::{Pallet, Storage, Event} = 109, - TransferAllowList: pallet_transfer_allowlist::{Pallet, Call, Storage, Event} = 110, + TransferAllowList: pallet_transfer_allowlist::{Pallet, Call, Storage, Event, HoldReason} = 110, OraclePriceFeed: pallet_oracle_feed::{Pallet, Call, Storage, Event} = 111, OraclePriceCollection: pallet_oracle_collection::{Pallet, Call, Storage, Event} = 112, Remarks: pallet_remarks::{Pallet, Call, Event} = 113, @@ -2094,11 +2153,12 @@ construct_runtime!( XTokens: pallet_restricted_xtokens::{Pallet, Call} = 124, XcmTransactor: pallet_xcm_transactor::{Pallet, Call, Storage, Event} = 125, OrmlXTokens: orml_xtokens::{Pallet, Event} = 126, + MessageQueue: pallet_message_queue::{Pallet, Call, Storage, Event} = 127, // 3rd party pallets ChainBridge: chainbridge::{Pallet, Call, Storage, Event} = 150, OrmlTokens: orml_tokens::{Pallet, Storage, Event, Config} = 151, - OrmlAssetRegistry: orml_asset_registry::{Pallet, Storage, Call, Event, Config} = 152, + OrmlAssetRegistry: orml_asset_registry::module::{Pallet, Storage, Call, Event, Config} = 152, OrmlXcm: orml_xcm::{Pallet, Storage, Call, Event} = 153, // EVM pallets @@ -2150,14 +2210,6 @@ impl fp_rpc::ConvertTransaction for TransactionConv } } -use cfg_types::{ - locations::Location, - pools::PoolNav, - tokens::{FilterCurrency, LocalAssetId}, -}; -pub use pallet_loans::entities::{input::PriceCollectionInput, loans::ActiveLoanInfo}; -use runtime_common::transfer_filter::PreNativeTransfer; - impl_runtime_apis! { impl sp_api::Core for Runtime { fn version() -> RuntimeVersion { @@ -2380,13 +2432,13 @@ impl_runtime_apis! { // Investment Runtime APIs impl runtime_common::apis::InvestmentsApi> for Runtime { fn investment_portfolio(account_id: AccountId) -> Vec<(TrancheCurrency, InvestmentPortfolio)> { - runtime_common::investment_portfolios::get_account_portfolio::(account_id) + runtime_common::investment_portfolios::get_account_portfolio::(account_id).unwrap_or_default() } } // AccountConversionApi impl runtime_common::apis::AccountConversionApi for Runtime { - fn conversion_of(location: MultiLocation) -> Option { + fn conversion_of(location: Location) -> Option { AccountConverter::location_to_account::(location) } } @@ -2615,7 +2667,7 @@ impl_runtime_apis! { fn gas_limit_multiplier_support() {} fn pending_block( - xts: Vec<::Extrinsic> + xts: Vec<::Extrinsic> ) -> ( Option, Option> ) { @@ -2667,6 +2719,7 @@ impl_runtime_apis! { use frame_support::traits::StorageInfoTrait; use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; let mut list = Vec::::new(); list_benchmarks!(list, extra); @@ -2695,6 +2748,9 @@ impl_runtime_apis! { use cumulus_pallet_session_benchmarking::Pallet as SessionBench; impl cumulus_pallet_session_benchmarking::Config for Runtime {} + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; + impl pallet_xcm::benchmarking::Config for Runtime {} + use frame_support::traits::WhitelistedStorageKeys; let whitelist = AllPalletsWithSystem::whitelisted_storage_keys(); @@ -2706,6 +2762,16 @@ impl_runtime_apis! { 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) + } + } } #[cfg(feature = "runtime-benchmarks")] @@ -2723,7 +2789,6 @@ mod benches { [pallet_elections_phragmen, Elections] [pallet_identity, Identity] [pallet_vesting, Vesting] - [pallet_treasury, Treasury] [pallet_preimage, Preimage] [pallet_fees, Fees] [pallet_anchors, Anchor] @@ -2743,7 +2808,7 @@ mod benches { [cumulus_pallet_xcmp_queue, XcmpQueue] [pallet_order_book, OrderBook] [pallet_investments, Investments] - [pallet_xcm, PolkadotXcm] + [pallet_xcm, PalletXcmExtrinsicsBenchmark::] [pallet_liquidity_rewards, LiquidityRewards] [pallet_transfer_allowlist, TransferAllowList] [pallet_oracle_feed, OraclePriceFeed] diff --git a/runtime/centrifuge/src/migrations.rs b/runtime/centrifuge/src/migrations.rs index 7bba719806..1b3af54bcd 100644 --- a/runtime/centrifuge/src/migrations.rs +++ b/runtime/centrifuge/src/migrations.rs @@ -10,13 +10,45 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. +use cfg_primitives::AccountId; +use frame_support::parameter_types; +use sp_std::{vec, vec::Vec}; + use crate::{OraclePriceCollection, OraclePriceFeed}; +// Number of identities on Centrifuge Chain on 29.05.2024 was 34 +const IDENTITY_MIGRATION_KEY_LIMIT: u64 = 1000; + +parameter_types! { + // Address used by Anemoy to withdraw in AssetHub + // 4dTeMxuPJCK7zQGhFcgCivSJqBs9Wo2SuMSQeYCCuVJ9xrE2 --> 5Fc9NzKzJZwZvgjQBmSKtvZmJ5oP6B49DFC5dXZhTETjrSzo + pub AccountMap: Vec<(AccountId, AccountId)> = vec![ + ( + AccountId::new(hex_literal::hex!("5dbb2cec05b6bda775f7945827b887b0e7b5245eae8b4ef266c60820c9377185")), + AccountId::new(hex_literal::hex!("10c03288a534d77418e3c19e745dfbc952423e179e1e3baa89e287092fc7802f")) + ) + ]; +} + /// The migration set for Centrifuge @ Polkadot. /// It includes all the migrations that have to be applied on that chain. pub type UpgradeCentrifuge1029 = ( runtime_common::migrations::increase_storage_version::Migration, runtime_common::migrations::increase_storage_version::Migration, pallet_collator_selection::migration::v1::MigrateToV1, + pallet_collator_selection::migration::v2::MigrationToV2, runtime_common::migrations::loans::AddWithLinearPricing, + runtime_common::migrations::hold_reason::MigrateTransferAllowListHolds< + crate::Runtime, + crate::RuntimeHoldReason, + >, + // Migrations below this comment originate from Polkadot SDK + pallet_xcm::migration::MigrateToLatestXcmVersion, + cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4, + pallet_identity::migration::versioned::V0ToV1, + pallet_uniques::migration::MigrateV0ToV1, + runtime_common::migrations::restricted_location::MigrateRestrictedTransferLocation< + crate::Runtime, + AccountMap, + >, ); diff --git a/runtime/centrifuge/src/weights/cumulus_pallet_xcmp_queue.rs b/runtime/centrifuge/src/weights/cumulus_pallet_xcmp_queue.rs index d501357109..fc48e1b1f4 100644 --- a/runtime/centrifuge/src/weights/cumulus_pallet_xcmp_queue.rs +++ b/runtime/centrifuge/src/weights/cumulus_pallet_xcmp_queue.rs @@ -44,16 +44,28 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: XcmpQueue QueueConfig (r:1 w:1) - /// Proof Skipped: XcmpQueue QueueConfig (max_values: Some(1), max_size: None, mode: Measured) - fn set_config_with_weight() -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `1594` - // Minimum execution time: 8_486_000 picoseconds. - Weight::from_parts(8_866_000, 0) - .saturating_add(Weight::from_parts(0, 1594)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + + fn enqueue_xcmp_message() -> Weight { + Weight::zero() + } + + fn suspend_channel() -> Weight { + Weight::zero() + } + + fn resume_channel() -> Weight { + Weight::zero() + } + + fn take_first_concatenated_xcm() -> Weight { + Weight::zero() + } + + fn on_idle_good_msg() -> Weight { + Weight::from_parts(1, 1) + } + + fn on_idle_large_msg() -> Weight { + Weight::from_parts(1, 1) } } diff --git a/runtime/centrifuge/src/weights/frame_system.rs b/runtime/centrifuge/src/weights/frame_system.rs index e20598c77c..05427a8a9c 100644 --- a/runtime/centrifuge/src/weights/frame_system.rs +++ b/runtime/centrifuge/src/weights/frame_system.rs @@ -110,4 +110,12 @@ impl frame_system::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) .saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into())) } + + fn authorize_upgrade() -> Weight { + Weight::zero() + } + + fn apply_authorized_upgrade() -> Weight { + Weight::zero() + } } diff --git a/runtime/centrifuge/src/weights/pallet_balances.rs b/runtime/centrifuge/src/weights/pallet_balances.rs index 9ac874a3f5..ca65ff4d9b 100644 --- a/runtime/centrifuge/src/weights/pallet_balances.rs +++ b/runtime/centrifuge/src/weights/pallet_balances.rs @@ -132,4 +132,8 @@ impl pallet_balances::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(u.into()))) .saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into())) } + + fn force_adjust_total_issuance() -> Weight { + Weight::zero() + } } diff --git a/runtime/centrifuge/src/weights/pallet_collator_selection.rs b/runtime/centrifuge/src/weights/pallet_collator_selection.rs index 1cb4a90819..f807c0fea8 100644 --- a/runtime/centrifuge/src/weights/pallet_collator_selection.rs +++ b/runtime/centrifuge/src/weights/pallet_collator_selection.rs @@ -66,7 +66,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn } /// Storage: CollatorSelection CandidacyBond (r:0 w:1) /// Proof: CollatorSelection CandidacyBond (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) - fn set_candidacy_bond() -> Weight { + fn set_candidacy_bond(_: u32, _: u32) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` @@ -178,4 +178,14 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Pending to generate Weight::default() } + + fn update_bond(_: u32) -> Weight { + // Pending to generate + Weight::default() + } + + fn take_candidate_slot(_: u32) -> Weight { + // Pending to generate + Weight::default() + } } diff --git a/runtime/centrifuge/src/weights/pallet_identity.rs b/runtime/centrifuge/src/weights/pallet_identity.rs index 8f6e8c815a..6e896c8d09 100644 --- a/runtime/centrifuge/src/weights/pallet_identity.rs +++ b/runtime/centrifuge/src/weights/pallet_identity.rs @@ -51,19 +51,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 20]`. /// The range of component `x` is `[0, 100]`. - fn set_identity(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `441 + r * (5 ±0)` - // Estimated: `11003` - // Minimum execution time: 47_899_000 picoseconds. - Weight::from_parts(46_624_446, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 3_568 - .saturating_add(Weight::from_parts(101_394, 0).saturating_mul(r.into())) - // Standard Error: 696 - .saturating_add(Weight::from_parts(774_354, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + fn set_identity(_: u32) -> Weight { + Weight::default() } /// Storage: Identity IdentityOf (r:1 w:0) /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) @@ -116,22 +105,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// The range of component `r` is `[1, 20]`. /// The range of component `s` is `[0, 100]`. /// The range of component `x` is `[0, 100]`. - fn clear_identity(r: u32, s: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `468 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 87_102_000 picoseconds. - Weight::from_parts(44_595_745, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 11_560 - .saturating_add(Weight::from_parts(167_752, 0).saturating_mul(r.into())) - // Standard Error: 2_257 - .saturating_add(Weight::from_parts(1_973_567, 0).saturating_mul(s.into())) - // Standard Error: 2_257 - .saturating_add(Weight::from_parts(434_354, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) + fn clear_identity(_: u32, _: u32) -> Weight { + Weight::default() } /// Storage: Identity Registrars (r:1 w:0) /// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen) @@ -139,37 +114,15 @@ impl pallet_identity::WeightInfo for WeightInfo { /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 20]`. /// The range of component `x` is `[0, 100]`. - fn request_judgement(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `366 + r * (57 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 47_698_000 picoseconds. - Weight::from_parts(46_194_059, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 6_067 - .saturating_add(Weight::from_parts(122_661, 0).saturating_mul(r.into())) - // Standard Error: 1_183 - .saturating_add(Weight::from_parts(816_347, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) + fn request_judgement(_: u32) -> Weight { + Weight::default() } /// Storage: Identity IdentityOf (r:1 w:1) /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 20]`. /// The range of component `x` is `[0, 100]`. - fn cancel_request(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `397 + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 43_581_000 picoseconds. - Weight::from_parts(43_206_735, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 6_274 - .saturating_add(Weight::from_parts(75_118, 0).saturating_mul(r.into())) - // Standard Error: 1_224 - .saturating_add(Weight::from_parts(805_273, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + fn cancel_request(_: u32) -> Weight { + Weight::default() } /// Storage: Identity Registrars (r:1 w:1) /// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen) @@ -222,19 +175,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 19]`. /// The range of component `x` is `[0, 100]`. - fn provide_judgement(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `444 + r * (57 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 32_801_000 picoseconds. - Weight::from_parts(31_628_849, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 7_378 - .saturating_add(Weight::from_parts(78_258, 0).saturating_mul(r.into())) - // Standard Error: 1_365 - .saturating_add(Weight::from_parts(1_258_986, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) + fn provide_judgement(_: u32) -> Weight { + Weight::default() } /// Storage: Identity SubsOf (r:1 w:1) /// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen) @@ -247,22 +189,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// The range of component `r` is `[1, 20]`. /// The range of component `s` is `[0, 100]`. /// The range of component `x` is `[0, 100]`. - fn kill_identity(r: u32, s: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `797 + r * (15 ±0) + s * (32 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 116_286_000 picoseconds. - Weight::from_parts(75_504_595, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 15_724 - .saturating_add(Weight::from_parts(220_350, 0).saturating_mul(r.into())) - // Standard Error: 3_070 - .saturating_add(Weight::from_parts(1_959_302, 0).saturating_mul(s.into())) - // Standard Error: 3_070 - .saturating_add(Weight::from_parts(420_698, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) + fn kill_identity(_: u32, _: u32) -> Weight { + Weight::default() } /// Storage: Identity IdentityOf (r:1 w:0) /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) @@ -338,4 +266,32 @@ impl pallet_identity::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } + + fn add_username_authority() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn remove_username_authority() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn set_username_for() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn accept_username() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn remove_expired_approval() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn set_primary_username() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn remove_dangling_username() -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/centrifuge/src/weights/pallet_preimage.rs b/runtime/centrifuge/src/weights/pallet_preimage.rs index 797ad7c8a4..06fbdb6efc 100644 --- a/runtime/centrifuge/src/weights/pallet_preimage.rs +++ b/runtime/centrifuge/src/weights/pallet_preimage.rs @@ -197,4 +197,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + + fn ensure_updated(_: u32) -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/centrifuge/src/weights/pallet_treasury.rs b/runtime/centrifuge/src/weights/pallet_treasury.rs index 91cebd2470..a0236f6710 100644 --- a/runtime/centrifuge/src/weights/pallet_treasury.rs +++ b/runtime/centrifuge/src/weights/pallet_treasury.rs @@ -120,4 +120,20 @@ impl pallet_treasury::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 2583).saturating_mul(p.into())) } + + fn spend_local() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn payout() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn check_status() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn void_spend() -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/centrifuge/src/weights/pallet_vesting.rs b/runtime/centrifuge/src/weights/pallet_vesting.rs index f0b06d0697..7a0accf2c2 100644 --- a/runtime/centrifuge/src/weights/pallet_vesting.rs +++ b/runtime/centrifuge/src/weights/pallet_vesting.rs @@ -220,4 +220,8 @@ impl pallet_vesting::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } + + fn force_remove_vesting_schedule(_: u32, _: u32) -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/centrifuge/src/weights/pallet_xcm.rs b/runtime/centrifuge/src/weights/pallet_xcm.rs index 77e10e1b31..5f245e8acf 100644 --- a/runtime/centrifuge/src/weights/pallet_xcm.rs +++ b/runtime/centrifuge/src/weights/pallet_xcm.rs @@ -273,4 +273,16 @@ impl pallet_xcm::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) } + + fn transfer_assets() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn new_query() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn take_response() -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/centrifuge/src/xcm.rs b/runtime/centrifuge/src/xcm.rs index 8935f1c5e1..cd1da395a4 100644 --- a/runtime/centrifuge/src/xcm.rs +++ b/runtime/centrifuge/src/xcm.rs @@ -28,7 +28,7 @@ use pallet_xcm::XcmPassthrough; use runtime_common::{ transfer_filter::PreXcmTransfer, xcm::{ - general_key, AccountIdToMultiLocation, Barrier, FixedConversionRateProvider, + general_key, AccountIdToLocation, Barrier, FixedConversionRateProvider, LocalOriginToLocation, LpInstanceRelayer, ToTreasury, }, xcm_fees::native_per_second, @@ -36,12 +36,12 @@ use runtime_common::{ use sp_core::ConstU32; use staging_xcm::{ prelude::*, - v3::{MultiLocation, Weight as XcmWeight}, + v4::{Location, Weight as XcmWeight}, }; use staging_xcm_builder::{ - ConvertedConcreteId, EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, FungiblesAdapter, - NoChecking, RelayChainAsNative, SiblingParachainAsNative, SignedAccountId32AsNative, - SovereignSignedViaLocation, + ConvertedConcreteId, EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, + FrameTransactionalProcessor, FungiblesAdapter, NoChecking, RelayChainAsNative, + SiblingParachainAsNative, SignedAccountId32AsNative, SovereignSignedViaLocation, }; use staging_xcm_executor::{traits::JustTry, XcmExecutor}; @@ -50,37 +50,6 @@ use super::{ RuntimeCall, RuntimeEvent, RuntimeOrigin, Tokens, XcmpQueue, }; -/// A call filter for the XCM Transact instruction. This is a temporary -/// measure until we properly account for proof size weights. -/// -/// Calls that are allowed through this filter must: -/// 1. Have a fixed weight; -/// 2. Cannot lead to another call being made; -/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call -/// parameters. -/// -/// NOTE: Defensive configuration for now, inspired by filter of -/// SystemParachains and Polkadot, can be extended if desired. -pub struct SafeCallFilter; -impl frame_support::traits::Contains for SafeCallFilter { - fn contains(call: &RuntimeCall) -> bool { - matches!( - call, - RuntimeCall::Timestamp(..) - | RuntimeCall::Balances(..) - | RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. }) - | RuntimeCall::PolkadotXcm( - pallet_xcm::Call::limited_reserve_transfer_assets { .. } - ) | RuntimeCall::XcmpQueue(..) - | RuntimeCall::DmpQueue(..) - | RuntimeCall::Proxy(..) - | RuntimeCall::LiquidityPoolsGateway( - pallet_liquidity_pools_gateway::Call::process_msg { .. } - ) | RuntimeCall::OrderBook(..) - ) - } -} - /// The main XCM config /// This is where we configure the core of our XCM integrations: how tokens are /// transferred, how fees are calculated, what barriers we impose on incoming @@ -105,9 +74,10 @@ impl staging_xcm_executor::Config for XcmConfig { type PalletInstancesInfo = crate::AllPalletsWithSystem; type ResponseHandler = PolkadotXcm; type RuntimeCall = RuntimeCall; - type SafeCallFilter = SafeCallFilter; + type SafeCallFilter = Everything; type SubscriptionService = PolkadotXcm; type Trader = Trader; + type TransactionalProcessor = FrameTransactionalProcessor; type UniversalAliases = Nothing; type UniversalLocation = UniversalLocation; type Weigher = FixedWeightBounds; @@ -129,9 +99,9 @@ pub type Trader = ( parameter_types! { // Canonical location: https://github.com/paritytech/polkadot/pull/4470 pub CanonicalCfgPerSecond: (AssetId, u128, u128) = ( - MultiLocation::new( + Location::new( 0, - X1(general_key(parachains::polkadot::centrifuge::CFG_KEY)), + general_key(parachains::polkadot::centrifuge::CFG_KEY), ).into(), native_per_second(), 0, @@ -145,7 +115,7 @@ pub type FungiblesTransactor = FungiblesAdapter< // This means that this adapter should handle any token that `CurrencyIdConvert` can convert // to `CurrencyId`, the `CurrencyId` type of `Tokens`, the fungibles implementation it uses. ConvertedConcreteId, - // Convert an XCM MultiLocation into a local account id + // Convert an XCM Location into a local account id LocationToAccountId, // Our chain's account ID type (we can't get away without mentioning it explicitly) AccountId, @@ -161,11 +131,6 @@ parameter_types! { pub const MaxInstructions: u32 = 100; } -#[cfg(feature = "runtime-benchmarks")] -parameter_types! { - pub ReachableDest: Option = Some(Parent.into()); -} - /// Pallet Xcm offers a lot of out-of-the-box functionality and features to /// configure and handle XCM messages. impl pallet_xcm::Config for Runtime { @@ -176,8 +141,6 @@ impl pallet_xcm::Config for Runtime { type ExecuteXcmOrigin = EnsureXcmOrigin>; type MaxLockers = ConstU32<8>; type MaxRemoteLockConsumers = ConstU32<0>; - #[cfg(feature = "runtime-benchmarks")] - type ReachableDest = ReachableDest; type RemoteLockConsumerIdentifier = (); type RuntimeCall = RuntimeCall; type RuntimeEvent = RuntimeEvent; @@ -200,7 +163,7 @@ impl pallet_xcm::Config for Runtime { parameter_types! { pub const RelayNetwork: NetworkId = NetworkId::Polkadot; pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub Ancestry: Location = Parachain(ParachainInfo::parachain_id().into()).into(); pub CheckingAccount: AccountId = PolkadotXcm::check_account(); } @@ -264,29 +227,29 @@ parameter_types! { } parameter_types! { - /// The `MultiLocation` identifying this very parachain - pub SelfLocation: MultiLocation = MultiLocation::new(1, X1(Parachain(ParachainInfo::get().into()))); - pub UniversalLocation: InteriorMultiLocation = X2( + /// The `Location` identifying this very parachain + pub SelfLocation: Location = Location::new(1, Parachain(ParachainInfo::get().into())); + pub UniversalLocation: InteriorLocation = [ GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into()) - ); + ].into(); } parameter_type_with_key! { - pub ParachainMinFee: |_location: MultiLocation| -> Option { + pub ParachainMinFee: |_location: Location| -> Option { None }; } impl orml_xtokens::Config for Runtime { - type AccountIdToMultiLocation = AccountIdToMultiLocation; + type AccountIdToLocation = AccountIdToLocation; type Balance = Balance; type BaseXcmWeight = BaseXcmWeight; type CurrencyId = CurrencyId; type CurrencyIdConvert = CurrencyIdConvert; + type LocationsFilter = Everything; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; - type MultiLocationsFilter = Everything; type ReserveProvider = AbsoluteReserveProvider; type RuntimeEvent = RuntimeEvent; type SelfLocation = SelfLocation; diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml index 88050be173..bdac1c6db0 100644 --- a/runtime/common/Cargo.toml +++ b/runtime/common/Cargo.toml @@ -9,6 +9,7 @@ repository.workspace = true documentation.workspace = true [dependencies] +hex = { workspace = true } hex-literal = { workspace = true } log = { workspace = true } num_enum = { workspace = true } @@ -27,6 +28,7 @@ sp-io = { workspace = true } sp-runtime = { workspace = true } sp-std = { workspace = true } +cumulus-primitives-core = { workspace = true } polkadot-parachain-primitives = { workspace = true } staging-xcm = { workspace = true } staging-xcm-builder = { workspace = true } @@ -55,7 +57,6 @@ cfg-utils = { workspace = true } axelar-gateway-precompile = { workspace = true } chainbridge = { workspace = true } cumulus-pallet-aura-ext = { workspace = true } -cumulus-pallet-dmp-queue = { workspace = true } cumulus-pallet-parachain-system = { workspace = true } cumulus-pallet-xcm = { workspace = true } cumulus-pallet-xcmp-queue = { workspace = true } @@ -90,6 +91,7 @@ pallet-liquidity-pools-gateway = { workspace = true } pallet-liquidity-rewards = { workspace = true } pallet-loans = { workspace = true } pallet-membership = { workspace = true } +pallet-message-queue = { workspace = true } pallet-multisig = { workspace = true } pallet-oracle-collection = { workspace = true } pallet-oracle-feed = { workspace = true } @@ -116,7 +118,7 @@ pallet-utility = { workspace = true } pallet-vesting = { workspace = true } pallet-xcm = { workspace = true } pallet-xcm-transactor = { workspace = true } -parachain-info = { workspace = true } +staging-parachain-info = { workspace = true } # Optionals for benchmarking frame-benchmarking = { workspace = true, optional = true } @@ -150,16 +152,8 @@ std = [ "pallet-evm-precompile-sha3fips/std", "pallet-evm-precompile-simple/std", "precompile-utils/std", - "pallet-evm/std", - "pallet-investments/std", - "pallet-liquidity-pools-gateway/std", - "pallet-liquidity-pools/std", - "pallet-loans/std", - "pallet-pool-system/std", - "pallet-restricted-tokens/std", - "pallet-treasury/std", - "parachain-info/std", "polkadot-parachain-primitives/std", + "cumulus-primitives-core/std", "scale-info/std", "serde/std", "sp-api/std", @@ -185,7 +179,6 @@ std = [ "axelar-gateway-precompile/std", "chainbridge/std", "cumulus-pallet-aura-ext/std", - "cumulus-pallet-dmp-queue/std", "cumulus-pallet-parachain-system/std", "cumulus-pallet-xcm/std", "cumulus-pallet-xcmp-queue/std", @@ -246,7 +239,8 @@ std = [ "pallet-vesting/std", "pallet-xcm/std", "pallet-xcm-transactor/std", - "parachain-info/std", + "pallet-message-queue/std", + "staging-parachain-info/std", ] runtime-benchmarks = [ # Substrate related @@ -258,6 +252,7 @@ runtime-benchmarks = [ "xcm-primitives/runtime-benchmarks", "staging-xcm-builder/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", # Locals "cfg-primitives/runtime-benchmarks", @@ -321,6 +316,7 @@ runtime-benchmarks = [ "pallet-vesting/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", "pallet-xcm-transactor/runtime-benchmarks", + "pallet-message-queue/runtime-benchmarks", ] try-runtime = [ "sp-runtime/try-runtime", @@ -336,7 +332,6 @@ try-runtime = [ "axelar-gateway-precompile/try-runtime", "chainbridge/try-runtime", "cumulus-pallet-aura-ext/try-runtime", - "cumulus-pallet-dmp-queue/try-runtime", "cumulus-pallet-parachain-system/try-runtime", "cumulus-pallet-xcm/try-runtime", "cumulus-pallet-xcmp-queue/try-runtime", @@ -397,7 +392,8 @@ try-runtime = [ "pallet-vesting/try-runtime", "pallet-xcm/try-runtime", "pallet-xcm-transactor/try-runtime", - "parachain-info/try-runtime", + "pallet-message-queue/try-runtime", + "staging-parachain-info/try-runtime", ] on-chain-release-build = [ "sp-api/disable-logging", diff --git a/runtime/common/src/account_conversion.rs b/runtime/common/src/account_conversion.rs index cdc209d040..9e896c9db5 100644 --- a/runtime/common/src/account_conversion.rs +++ b/runtime/common/src/account_conversion.rs @@ -15,7 +15,7 @@ use cfg_types::domain_address::{Domain, DomainAddress}; use pallet_evm::AddressMapping; use sp_core::{crypto::AccountId32, Get, H160}; use sp_runtime::traits::Convert; -use staging_xcm::v3; +use staging_xcm::v4::{Junction::AccountKey20, Location, NetworkId::Ethereum}; use staging_xcm_executor::traits::ConvertLocation; /// Common converter code for translating accounts across different @@ -40,22 +40,21 @@ impl AccountConverter { } pub fn location_to_account>( - location: v3::MultiLocation, + location: Location, ) -> Option { // Try xcm logic first match XcmConverter::convert_location(&location) { Some(acc) => Some(acc), None => { // match EVM logic - match location { - v3::MultiLocation { - parents: 0, - interior: - v3::Junctions::X1(v3::Junction::AccountKey20 { - network: Some(v3::NetworkId::Ethereum { chain_id }), - key, - }), - } => Some(Self::convert_evm_address(chain_id, key)), + match location.unpack() { + ( + 0, + [AccountKey20 { + network: Some(Ethereum { chain_id }), + key, + }], + ) => Some(Self::convert_evm_address(*chain_id, *key)), _ => None, } } diff --git a/runtime/common/src/apis/account_conversion.rs b/runtime/common/src/apis/account_conversion.rs index 4f9557f24b..0ffd74c618 100644 --- a/runtime/common/src/apis/account_conversion.rs +++ b/runtime/common/src/apis/account_conversion.rs @@ -11,7 +11,7 @@ // GNU General Public License for more details. use parity_scale_codec::Codec; use sp_api::decl_runtime_apis; -use staging_xcm::v3::MultiLocation; +use staging_xcm::v4::Location; decl_runtime_apis! { /// Runtime Api for the pallet-anchors, to be implemented @@ -20,6 +20,6 @@ decl_runtime_apis! { where AccountId: Codec { - fn conversion_of(location: MultiLocation) -> Option; + fn conversion_of(location: Location) -> Option; } } diff --git a/runtime/common/src/fees.rs b/runtime/common/src/fees.rs index 6a951a1087..89af83d124 100644 --- a/runtime/common/src/fees.rs +++ b/runtime/common/src/fees.rs @@ -143,7 +143,10 @@ mod test { use cfg_types::ids::TREASURY_PALLET_ID; use frame_support::{ derive_impl, parameter_types, - traits::{Currency, FindAuthor}, + traits::{ + tokens::{PayFromAccount, UnityAssetBalanceConversion}, + Currency, FindAuthor, + }, PalletId, }; use sp_core::ConstU64; @@ -185,17 +188,26 @@ mod test { parameter_types! { pub const TreasuryPalletId: PalletId = TREASURY_PALLET_ID; + pub TreasuryAccount: AccountId = Treasury::account_id(); pub const MaxApprovals: u32 = 100; } impl pallet_treasury::Config for Runtime { type ApproveOrigin = frame_system::EnsureRoot; + type AssetKind = (); + type BalanceConverter = UnityAssetBalanceConversion; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); + type Beneficiary = Self::AccountId; + type BeneficiaryLookup = IdentityLookup; type Burn = (); type BurnDestination = (); type Currency = pallet_balances::Pallet; type MaxApprovals = MaxApprovals; type OnSlash = (); type PalletId = TreasuryPalletId; + type Paymaster = PayFromAccount; + type PayoutPeriod = ConstU64<10>; type ProposalBond = (); type ProposalBondMaximum = (); type ProposalBondMinimum = (); diff --git a/runtime/common/src/gateway.rs b/runtime/common/src/gateway.rs index b46a87f27d..4129eec96c 100644 --- a/runtime/common/src/gateway.rs +++ b/runtime/common/src/gateway.rs @@ -17,9 +17,10 @@ use sp_runtime::traits::AccountIdConversion; use crate::account_conversion::AccountConverter; -pub fn get_gateway_account() -> AccountId { +pub fn get_gateway_account( +) -> AccountId { let sender_account: AccountId = - Sibling::from(parachain_info::Pallet::::get()).into_account_truncating(); + Sibling::from(staging_parachain_info::Pallet::::get()).into_account_truncating(); let truncated_sender_account = H160::from_slice(&>::as_ref(&sender_account)[0..20]); diff --git a/runtime/common/src/lib.rs b/runtime/common/src/lib.rs index ebc4227130..1802d8d951 100644 --- a/runtime/common/src/lib.rs +++ b/runtime/common/src/lib.rs @@ -53,10 +53,6 @@ parameter_types! { /// The native currency identifier of our currency id enum /// to be used for Get types. pub const NativeCurrency: CurrencyId = CurrencyId::Native; - - /// The hold identifier in our system to be used for - /// Get<()> types - pub const HoldId: HoldIdentifier = (); } pub struct AllowanceDeposit(sp_std::marker::PhantomData); @@ -68,9 +64,6 @@ impl> Get } } -/// To be used with the transfer-allowlist pallet across runtimes -pub type HoldIdentifier = (); - #[macro_export] macro_rules! production_or_benchmark { ($production:expr, $benchmark:expr) => {{ @@ -86,13 +79,13 @@ pub struct CurrencyED(PhantomData); impl GetByKey for CurrencyED where T: pallet_balances::Config - + orml_asset_registry::Config, + + orml_asset_registry::module::Config, { fn get(currency_id: &CurrencyId) -> Balance { match currency_id { CurrencyId::Native => T::ExistentialDeposit::get(), CurrencyId::Staking(StakingCurrency::BlockRewards) => T::ExistentialDeposit::get(), - currency_id => orml_asset_registry::Pallet::::metadata(currency_id) + currency_id => orml_asset_registry::module::Pallet::::metadata(currency_id) .map(|metadata| metadata.existential_deposit) .unwrap_or_default(), } @@ -283,16 +276,21 @@ pub mod asset_registry { /// Module for investment portfolio common to all runtimes pub mod investment_portfolios { - use cfg_primitives::{Balance, PoolId, TrancheId}; + use cfg_primitives::{AccountId, Balance, PoolId}; use cfg_traits::{ - investments::{InvestmentCollector, TrancheCurrency}, - PoolInspect, Seconds, + investments::{InvestmentCollector, TrancheCurrency as _}, + PoolInspect, + }; + use cfg_types::{ + investments::InvestmentPortfolio, + tokens::{CurrencyId, TrancheCurrency}, }; - use cfg_types::{investments::InvestmentPortfolio, tokens::CurrencyId}; use frame_support::traits::{ fungibles, tokens::{Fortitude, Preservation}, }; + use fungibles::{Inspect, InspectHold}; + use sp_runtime::DispatchError; use sp_std::{collections::btree_map::BTreeMap, vec::Vec}; /// Get the PoolId, CurrencyId, InvestmentId, and Balance for all @@ -301,76 +299,56 @@ pub mod investment_portfolios { /// NOTE: Moving inner scope to any pallet would introduce tight(er) /// coupling due to requirement of iterating over storage maps which in turn /// require the pallet's Config trait. - pub fn get_account_portfolio( - investor: ::AccountId, - ) -> Vec<( - ::InvestmentId, - InvestmentPortfolio, - )> + #[allow(clippy::type_complexity)] + pub fn get_account_portfolio( + investor: AccountId, + ) -> Result)>, DispatchError> where - T: frame_system::Config - + pallet_investments::Config - + orml_tokens::Config - + pallet_restricted_tokens::Config, - ::InvestmentId: TrancheCurrency - + Into<::CurrencyId> - + Ord - + Into<::CurrencyId>, - CurrencyId: From<::CurrencyId> - + From<::CurrencyId>, - ::CurrencyId: - From<::CurrencyId>, - Balance: From<::Amount> - + From<::Balance>, - PoolInspector: PoolInspect< - ::AccountId, - ::CurrencyId, - PoolId = PoolId, - TrancheId = TrancheId, - Moment = Seconds, - >, + T: frame_system::Config + + pallet_investments::Config + + orml_tokens::Config + + pallet_restricted_tokens::Config + + pallet_pool_system::Config, { - let mut portfolio = BTreeMap::< - ::InvestmentId, - InvestmentPortfolio, - >::new(); + let mut portfolio = + BTreeMap::>::new(); // Denote current tranche token balances before dry running collecting - orml_tokens::Accounts::::iter_key_prefix(&investor).for_each(|currency| { - if let CurrencyId::Tranche(pool_id, tranche_id) = CurrencyId::from(currency) { - let pool_currency = PoolInspector::currency_for(pool_id) - .expect("Pool must exist; qed") - .into(); - let free_balance = as fungibles::Inspect< - T::AccountId, - >>::reducible_balance( - currency.into(), + for currency in orml_tokens::Accounts::::iter_key_prefix(&investor) { + if let CurrencyId::Tranche(pool_id, tranche_id) = currency { + let pool_currency = pallet_pool_system::Pallet::::currency_for(pool_id) + .ok_or(DispatchError::Other("Pool must exist; qed"))?; + + let free_balance = pallet_restricted_tokens::Pallet::::reducible_balance( + currency, &investor, Preservation::Preserve, Fortitude::Polite, ); - let reserved_balance = as fungibles::InspectHold< - T::AccountId, - >>::balance_on_hold(currency.into(), &(), &investor); + let reserved_balance = pallet_restricted_tokens::Pallet::::balance_on_hold( + currency, + &(), + &investor, + ); portfolio .entry(TrancheCurrency::generate(pool_id, tranche_id)) .and_modify(|p| { - p.free_tranche_tokens = free_balance.into(); - p.reserved_tranche_tokens = reserved_balance.into(); + p.free_tranche_tokens = free_balance; + p.reserved_tranche_tokens = reserved_balance; }) .or_insert( InvestmentPortfolio::::new(pool_currency) - .with_free_tranche_tokens(free_balance.into()) - .with_reserved_tranche_tokens(reserved_balance.into()), + .with_free_tranche_tokens(free_balance) + .with_reserved_tranche_tokens(reserved_balance), ); } - }); + } // Set pending invest currency and claimable tranche tokens - pallet_investments::InvestOrders::::iter_key_prefix(&investor).for_each(|invest_id| { - let pool_currency = - PoolInspector::currency_for(invest_id.of_pool()).expect("Pool must exist; qed"); + for invest_id in pallet_investments::InvestOrders::::iter_key_prefix(&investor) { + let pool_currency = pallet_pool_system::Pallet::::currency_for(invest_id.of_pool()) + .ok_or(DispatchError::Other("Pool must exist; qed"))?; // Collect such that we can determine claimable tranche tokens // NOTE: Does not modify storage since RtAPI is readonly @@ -379,44 +357,40 @@ pub mod investment_portfolios { let amount = pallet_investments::InvestOrders::::get(&investor, invest_id) .map(|order| order.amount()) .unwrap_or_default(); - let free_tranche_tokens_new: Balance = as fungibles::Inspect< - T::AccountId, - >>::reducible_balance( + let free_tranche_tokens_new = pallet_restricted_tokens::Pallet::::reducible_balance( invest_id.into(), &investor, Preservation::Preserve, Fortitude::Polite, - ).into(); + ); portfolio .entry(invest_id) .and_modify(|p| { - p.pending_invest_currency = amount.into(); + p.pending_invest_currency = amount; if p.free_tranche_tokens < free_tranche_tokens_new { p.claimable_tranche_tokens = free_tranche_tokens_new.saturating_sub(p.free_tranche_tokens); } }) .or_insert( - InvestmentPortfolio::::new(pool_currency.into()) - .with_pending_invest_currency(amount.into()) + InvestmentPortfolio::::new(pool_currency) + .with_pending_invest_currency(amount) .with_claimable_tranche_tokens(free_tranche_tokens_new), ); - }); + } // Set pending tranche tokens and claimable invest currency - pallet_investments::RedeemOrders::::iter_key_prefix(&investor).for_each(|invest_id| { - let pool_currency = - PoolInspector::currency_for(invest_id.of_pool()).expect("Pool must exist; qed"); - let balance_before: Balance = - as fungibles::Inspect< - T::AccountId, - >>::reducible_balance( - pool_currency, - &investor, - Preservation::Preserve, - Fortitude::Polite, - ).into(); + for invest_id in pallet_investments::RedeemOrders::::iter_key_prefix(&investor) { + let pool_currency = pallet_pool_system::Pallet::::currency_for(invest_id.of_pool()) + .ok_or(DispatchError::Other("Pool must exist; qed"))?; + + let balance_before = pallet_restricted_tokens::Pallet::::reducible_balance( + pool_currency, + &investor, + Preservation::Preserve, + Fortitude::Polite, + ); // Collect such that we can determine claimable invest currency // NOTE: Does not modify storage since RtAPI is readonly @@ -425,32 +399,29 @@ pub mod investment_portfolios { let amount = pallet_investments::RedeemOrders::::get(&investor, invest_id) .map(|order| order.amount()) .unwrap_or_default(); - let balance_after: Balance = - as fungibles::Inspect< - T::AccountId, - >>::reducible_balance( - pool_currency, - &investor, - Preservation::Preserve, - Fortitude::Polite, - ).into(); + let balance_after = pallet_restricted_tokens::Pallet::::reducible_balance( + pool_currency, + &investor, + Preservation::Preserve, + Fortitude::Polite, + ); portfolio .entry(invest_id) .and_modify(|p| { - p.pending_redeem_tranche_tokens = amount.into(); + p.pending_redeem_tranche_tokens = amount; if balance_before < balance_after { p.claimable_currency = balance_after.saturating_sub(balance_before); } }) .or_insert( - InvestmentPortfolio::::new(pool_currency.into()) - .with_pending_redeem_tranche_tokens(amount.into()) + InvestmentPortfolio::::new(pool_currency) + .with_pending_redeem_tranche_tokens(amount) .with_claimable_currency(balance_after), ); - }); + } - portfolio.into_iter().collect() + Ok(portfolio.into_iter().collect()) } } @@ -472,7 +443,7 @@ pub mod xcm_transactor { } impl XcmTransact for NullTransactor { - fn destination(self) -> staging_xcm::latest::MultiLocation { + fn destination(self) -> staging_xcm::latest::Location { Default::default() } } @@ -793,3 +764,40 @@ pub mod rewards { pub const SingleCurrencyMovement: u32 = 1; } } + +/// Helpers to deal with configuring the message queue in the runtime. +pub mod message_queue { + use cumulus_primitives_core::{AggregateMessageOrigin, ParaId}; + use frame_support::traits::{QueueFootprint, QueuePausedQuery}; + use pallet_message_queue::OnQueueChanged; + use sp_std::marker::PhantomData; + + pub struct NarrowOriginToSibling(PhantomData); + impl> QueuePausedQuery + for NarrowOriginToSibling + { + fn is_paused(origin: &AggregateMessageOrigin) -> bool { + match origin { + AggregateMessageOrigin::Sibling(id) => Inner::is_paused(id), + _ => false, + } + } + } + + impl> OnQueueChanged + for NarrowOriginToSibling + { + fn on_queue_changed(origin: AggregateMessageOrigin, fp: QueueFootprint) { + if let AggregateMessageOrigin::Sibling(id) = origin { + Inner::on_queue_changed(id, fp) + } + } + } + + pub struct ParaIdToSibling; + impl sp_runtime::traits::Convert for ParaIdToSibling { + fn convert(para_id: ParaId) -> AggregateMessageOrigin { + AggregateMessageOrigin::Sibling(para_id) + } + } +} diff --git a/runtime/common/src/migrations/hold_reason.rs b/runtime/common/src/migrations/hold_reason.rs new file mode 100644 index 0000000000..da29b24d5a --- /dev/null +++ b/runtime/common/src/migrations/hold_reason.rs @@ -0,0 +1,151 @@ +// Copyright 2023 Centrifuge Foundation (centrifuge.io). +// +// This file is part of the Centrifuge chain project. +// Centrifuge 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 (see http://www.gnu.org/licenses). +// Centrifuge 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. + +use cfg_primitives::{AccountId, Balance}; +use frame_support::{ + pallet_prelude::ValueQuery, + storage_alias, + traits::{ConstU32, Get, Len, OnRuntimeUpgrade, VariantCountOf}, + Blake2_128Concat, BoundedVec, Parameter, +}; +use pallet_balances::IdAmount; +use pallet_order_book::weights::Weight; +use pallet_transfer_allowlist::HoldReason; +#[cfg(feature = "try-runtime")] +use parity_scale_codec::{Decode, Encode}; +use parity_scale_codec::{FullCodec, FullEncode}; +#[cfg(feature = "try-runtime")] +use sp_runtime::Saturating; +#[cfg(feature = "try-runtime")] +use sp_runtime::TryRuntimeError; +use sp_runtime::{traits::Member, SaturatedConversion}; +use sp_std::{vec, vec::Vec}; + +const LOG_PREFIX: &str = "MigrateTransferAllowList HoldReason:"; + +pub struct MigrateTransferAllowListHolds( + sp_std::marker::PhantomData<(T, RuntimeHoldReason)>, +); + +type OldHolds = BoundedVec, ConstU32<10>>; +type NewHolds = + BoundedVec, VariantCountOf>; + +#[storage_alias] +pub type Holds = + StorageMap, Blake2_128Concat, AccountId, OldHolds, ValueQuery>; + +impl OnRuntimeUpgrade for MigrateTransferAllowListHolds +where + T: pallet_balances::Config + + pallet_transfer_allowlist::Config + + frame_system::Config, + ::RuntimeHoldReason: From, + RuntimeHoldReason: frame_support::traits::VariantCount + + FullCodec + + FullEncode + + Parameter + + Member + + sp_std::fmt::Debug, +{ + fn on_runtime_upgrade() -> Weight { + let transfer_allowlist_accounts: Vec = + pallet_transfer_allowlist::AccountCurrencyTransferAllowance::::iter_keys() + .map(|(a, _, _)| a) + .collect(); + let mut weight = + T::DbWeight::get().reads(transfer_allowlist_accounts.len().saturated_into()); + + pallet_balances::Holds::::translate::(|who, holds| { + if Self::account_can_be_migrated(&who, &transfer_allowlist_accounts) { + log::info!("{LOG_PREFIX} Migrating hold for account {who:?}"); + let id_amount = IdAmount:: { + id: HoldReason::TransferAllowance.into(), + // Non-emptiness ensured above + amount: holds[0].amount, + }; + weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); + + Some(NewHolds::truncate_from(vec![id_amount])) + } else { + None + } + }); + + log::info!( + "{LOG_PREFIX} migrated {:?} accounts", + transfer_allowlist_accounts.len() + ); + + weight + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade() -> Result, TryRuntimeError> { + let transfer_allowlist_accounts: Vec = + pallet_transfer_allowlist::AccountCurrencyTransferAllowance::::iter_keys() + .map(|(a, _, _)| a) + .collect(); + + let mut n = 0u64; + for (acc, _) in Holds::::iter() { + assert!(Self::account_can_be_migrated( + &acc, + &transfer_allowlist_accounts + )); + n.saturating_accrue(1); + } + + log::info!("{LOG_PREFIX} pre checks done"); + Ok(n.encode()) + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade(pre_state: Vec) -> Result<(), TryRuntimeError> { + let count_pre: u64 = Decode::decode(&mut pre_state.as_slice()) + .expect("pre_upgrade provides a valid state; qed"); + + let holds_post = pallet_balances::Holds::::iter(); + let count_post: u64 = holds_post.count().saturated_into(); + assert_eq!(count_pre, count_post); + + for (_, hold) in pallet_balances::Holds::::iter() { + assert_eq!(hold.len(), 1); + assert_eq!(hold[0].id, HoldReason::TransferAllowance.into()); + } + + log::info!("{LOG_PREFIX} post checks done"); + Ok(()) + } +} + +impl MigrateTransferAllowListHolds +where + T: pallet_balances::Config + + pallet_transfer_allowlist::Config + + frame_system::Config, +{ + fn account_can_be_migrated(who: &AccountId, whitelist: &[AccountId]) -> bool { + if !whitelist.iter().any(|a| a == who) { + log::warn!("{LOG_PREFIX} Account {who:?} is skipped due to missing AccountCurrencyTransferAllowance storage entry"); + return false; + } + + match Holds::::get(who) { + holds if holds.len() == 1 => true, + _ => { + log::warn!("{LOG_PREFIX} Account {who:?} does not meet Hold storage assumptions"); + false + } + } + } +} diff --git a/runtime/common/src/migrations/mod.rs b/runtime/common/src/migrations/mod.rs index b4bbaa8069..c74db367ff 100644 --- a/runtime/common/src/migrations/mod.rs +++ b/runtime/common/src/migrations/mod.rs @@ -12,10 +12,12 @@ //! Centrifuge Runtime-Common Migrations +pub mod hold_reason; pub mod increase_storage_version; pub mod loans; pub mod nuke; pub mod precompile_account_codes; +pub mod restricted_location; pub mod utils { use frame_support::storage::unhashed; diff --git a/runtime/common/src/migrations/restricted_location.rs b/runtime/common/src/migrations/restricted_location.rs new file mode 100644 index 0000000000..21aded9f1b --- /dev/null +++ b/runtime/common/src/migrations/restricted_location.rs @@ -0,0 +1,210 @@ +use cfg_primitives::AccountId; +use cfg_types::{locations::RestrictedTransferLocation, tokens::FilterCurrency}; +use frame_support::{ + traits::{Get, OnRuntimeUpgrade}, + weights::Weight, +}; +use pallet_transfer_allowlist::AccountCurrencyTransferAllowance; +use parity_scale_codec::Encode; +use sp_arithmetic::traits::SaturatedConversion; +use sp_core::H256; +use sp_runtime::traits::{BlakeTwo256, Hash}; +use sp_std::{boxed::Box, vec::Vec}; +use staging_xcm::{v4, VersionedLocation}; + +mod old { + use cfg_primitives::AccountId; + use cfg_types::{domain_address::DomainAddress, tokens::FilterCurrency}; + use frame_support::{pallet_prelude::*, storage_alias}; + use frame_system::pallet_prelude::*; + use pallet_transfer_allowlist::AllowanceDetails; + use sp_core::H256; + use staging_xcm::v3; + + #[derive( + Clone, + RuntimeDebugNoBound, + Encode, + parity_scale_codec::Decode, + Eq, + PartialEq, + MaxEncodedLen, + TypeInfo, + )] + pub enum RestrictedTransferLocation { + Local(AccountId), + Xcm(H256), + Address(DomainAddress), + } + + #[storage_alias] + pub type AccountCurrencyTransferAllowance = StorageNMap< + pallet_transfer_allowlist::Pallet, + ( + NMapKey, + NMapKey, + NMapKey, + ), + AllowanceDetails>, + OptionQuery, + >; + + pub fn location_v3_created_by_apps(account_id: AccountId) -> v3::Location { + // Ref: https://github.com/centrifuge/apps/blob/b59bdd34561a4ccd90e0d803c14a3729fc2f3a6d/centrifuge-app/src/utils/usePermissions.tsx#L386 + // for account_id == "4dTeMxuPJCK7zQGhFcgCivSJqBs9Wo2SuMSQeYCCuVJ9xrE2" + v3::Location::new( + 1, + v3::Junctions::X2( + v3::Junction::Parachain(1000), // AssetHub + v3::Junction::AccountId32 { + network: None, + id: account_id.into(), + }, + ), + ) + } +} + +const LOG_PREFIX: &str = "MigrateRestrictedTransferLocation:"; + +pub struct MigrateRestrictedTransferLocation( + sp_std::marker::PhantomData<(T, AccountMap)>, +); +impl OnRuntimeUpgrade for MigrateRestrictedTransferLocation +where + T: pallet_transfer_allowlist::Config< + AccountId = AccountId, + CurrencyId = FilterCurrency, + Location = RestrictedTransferLocation, + >, + AccountMap: Get>, +{ + fn on_runtime_upgrade() -> Weight { + log::info!("{LOG_PREFIX} Check keys to migrate..."); + + let mut weight = T::DbWeight::get().reads( + old::AccountCurrencyTransferAllowance::::iter_keys() + .count() + .saturated_into(), + ); + + let key_translations = Self::get_key_translations(); + + for (acc, currency, old_location, maybe_new_location) in key_translations { + let old_key = (&acc, ¤cy, &old_location); + log::info!("{LOG_PREFIX} Removing old key {old_key:?}"); + let value = old::AccountCurrencyTransferAllowance::::get(old_key); + old::AccountCurrencyTransferAllowance::::remove(old_key); + + if let Some(new_location) = maybe_new_location { + let new_key = (&acc, ¤cy, &new_location); + log::info!("{LOG_PREFIX} Adding new key {new_key:?}"); + AccountCurrencyTransferAllowance::::set(new_key, value); + } + + weight.saturating_accrue(T::DbWeight::get().writes(2)); + } + + weight + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade() -> Result, sp_runtime::TryRuntimeError> { + let key_translations = Self::get_key_translations(); + assert!( + key_translations + .iter() + .all(|(_, _, _, new_location)| new_location.is_some()), + "At least one XCM location could not be translated" + ); + + let count: u64 = old::AccountCurrencyTransferAllowance::::iter_keys() + .count() + .saturated_into(); + + log::info!("{LOG_PREFIX} Pre checks done!"); + Ok(count.encode()) + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade(pre_state: Vec) -> Result<(), sp_runtime::TryRuntimeError> { + let count_pre: u64 = parity_scale_codec::Decode::decode(&mut pre_state.as_slice()) + .expect("pre_upgrade provides a valid state; qed"); + let count_post: u64 = AccountCurrencyTransferAllowance::::iter_keys() + .count() + .saturated_into(); + assert_eq!(count_pre, count_post, "Number of keys in AccountCurrencyTransferAllowance changed during migration: pre {count_pre} vs post {count_post}"); + + log::info!("{LOG_PREFIX} Post checks done!"); + Ok(()) + } +} + +impl MigrateRestrictedTransferLocation +where + T: pallet_transfer_allowlist::Config< + AccountId = AccountId, + CurrencyId = FilterCurrency, + Location = RestrictedTransferLocation, + >, + AccountMap: Get>, +{ + fn migrate_location_key( + account_id: AccountId, + hash: H256, + ) -> Option { + let old_location = old::location_v3_created_by_apps(account_id); + if BlakeTwo256::hash(&old_location.encode()) == hash { + match v4::Location::try_from(old_location) { + Ok(location) => { + log::info!("{LOG_PREFIX} Hash: '{hash}' migrated!"); + let new_restricted_location = + RestrictedTransferLocation::Xcm(Box::new(VersionedLocation::V4(location))); + + Some(new_restricted_location) + } + Err(_) => { + log::error!("{LOG_PREFIX} Non isometric location v3 -> v4"); + None + } + } + } else { + log::error!("{LOG_PREFIX} Hash can not be recovered"); + None + } + } + + fn get_key_translations() -> Vec<( + AccountId, + FilterCurrency, + old::RestrictedTransferLocation, + Option, + )> { + let accounts = AccountMap::get(); + + old::AccountCurrencyTransferAllowance::::iter_keys() + .filter_map(|(account_id, currency_id, old_restricted_location)| { + match (accounts.iter().find(|(key, _)| key == &account_id), old_restricted_location.clone()) { + (Some((_, transfer_address)), old::RestrictedTransferLocation::Xcm(hash)) => Some(( + account_id.clone(), + currency_id, + old_restricted_location, + Self::migrate_location_key(transfer_address.clone(), hash), + )), + (None, old::RestrictedTransferLocation::Xcm(_)) => { + log::warn!("{LOG_PREFIX} Account {account_id:?} missing in AccountMap despite old XCM location storage"); + Some(( + account_id.clone(), + currency_id, + old_restricted_location, + // Leads to storage entry removal + // TODO: Discuss whether we are fine with removing such storage entries or whether we want to keep the old undecodable ones or maybe just use same account id per default instead of removing? + None, + )) + } + _ => None, + } + }) + .collect::>() + } +} diff --git a/runtime/common/src/transfer_filter.rs b/runtime/common/src/transfer_filter.rs index c8a634e867..35da08e366 100644 --- a/runtime/common/src/transfer_filter.rs +++ b/runtime/common/src/transfer_filter.rs @@ -14,7 +14,7 @@ use cfg_primitives::{AccountId, Balance}; use cfg_traits::{PreConditions, TransferAllowance}; use cfg_types::{ domain_address::DomainAddress, - locations::Location, + locations::RestrictedTransferLocation, tokens::{CurrencyId, FilterCurrency}, }; use frame_support::{traits::IsSubType, RuntimeDebugNoBound}; @@ -22,43 +22,49 @@ use pallet_restricted_tokens::TransferDetails; use pallet_restricted_xtokens::TransferEffects; use parity_scale_codec::{Decode, Encode}; use scale_info::TypeInfo; -use sp_core::Hasher; use sp_runtime::{ - traits::{BlakeTwo256, Convert, DispatchInfoOf, SignedExtension, StaticLookup}, + traits::{Convert, DispatchInfoOf, SignedExtension, StaticLookup}, transaction_validity::{InvalidTransaction, TransactionValidityError}, DispatchError, DispatchResult, TokenError, }; -use sp_std::vec::Vec; -use staging_xcm::v3::{MultiAsset, MultiLocation}; +use sp_std::{boxed::Box, vec::Vec}; +use staging_xcm::{ + v4::{Asset, Location}, + VersionedLocation, +}; pub struct PreXcmTransfer(sp_std::marker::PhantomData<(T, C)>); impl< - T: TransferAllowance, - C: Convert>, + T: TransferAllowance< + AccountId, + CurrencyId = FilterCurrency, + Location = RestrictedTransferLocation, + >, + C: Convert>, > PreConditions> for PreXcmTransfer { type Result = DispatchResult; fn check(t: TransferEffects) -> Self::Result { - let currency_based_check = |sender: AccountId, destination: MultiLocation, currency| { + let currency_based_check = |sender: AccountId, destination: VersionedLocation, currency| { amalgamate_allowance( T::allowance( sender.clone(), - Location::XCM(BlakeTwo256::hash(&destination.encode())), + RestrictedTransferLocation::Xcm(Box::new(destination.clone())), FilterCurrency::Specific(currency), ), T::allowance( sender, - Location::XCM(BlakeTwo256::hash(&destination.encode())), + RestrictedTransferLocation::Xcm(Box::new(destination)), FilterCurrency::All, ), ) }; - let asset_based_check = |sender, destination, asset| { + let asset_based_check = |sender, destination, asset: Asset| { let currency = - C::convert(asset).ok_or(DispatchError::Token(TokenError::UnknownAsset))?; + C::convert(asset.id.0).ok_or(DispatchError::Token(TokenError::UnknownAsset))?; currency_based_check(sender, destination, currency) }; @@ -87,7 +93,7 @@ impl< asset, fee_asset, } => { - asset_based_check(sender.clone(), destination, asset)?; + asset_based_check(sender.clone(), destination.clone(), asset)?; // NOTE: We do check the fee asset and assume that the destination // is the same as for the actual assets. This is a pure subjective @@ -102,7 +108,7 @@ impl< fee, } => { for (currency, ..) in currencies { - currency_based_check(sender.clone(), destination, currency)?; + currency_based_check(sender.clone(), destination.clone(), currency)?; } // NOTE: We do check the fee asset and assume that the destination @@ -121,7 +127,7 @@ impl< // but rather a burn of tokens. Furthermore, we do not know the // destination where those fees will go. for asset in assets.into_inner() { - asset_based_check(sender.clone(), destination, asset)?; + asset_based_check(sender.clone(), destination.clone().clone(), asset)?; } // NOTE: We do check the fee asset and assume that the destination @@ -136,8 +142,13 @@ impl< pub struct PreNativeTransfer(sp_std::marker::PhantomData); -impl> - PreConditions> for PreNativeTransfer +impl< + T: TransferAllowance< + AccountId, + CurrencyId = FilterCurrency, + Location = RestrictedTransferLocation, + >, + > PreConditions> for PreNativeTransfer { type Result = bool; @@ -145,12 +156,12 @@ impl(sp_std::marker::PhantomData); -impl> - PreConditions<(AccountId, DomainAddress, CurrencyId)> for PreLpTransfer +impl< + T: TransferAllowance< + AccountId, + CurrencyId = FilterCurrency, + Location = RestrictedTransferLocation, + >, + > PreConditions<(AccountId, DomainAddress, CurrencyId)> for PreLpTransfer { type Result = DispatchResult; @@ -170,10 +186,14 @@ impl Result, TransactionValidityError> { Self::recursive_search(caller.clone(), call, |who, balance_call, checks| { match balance_call { - pallet_balances::Call::transfer { dest, .. } - | pallet_balances::Call::transfer_all { dest, .. } + pallet_balances::Call::transfer_all { dest, .. } | pallet_balances::Call::transfer_allow_death { dest, .. } | pallet_balances::Call::transfer_keep_alive { dest, .. } => { let recv: T::AccountId = ::Lookup::lookup( @@ -298,8 +317,10 @@ where + pallet_utility::Config::RuntimeCall> + pallet_proxy::Config::RuntimeCall> + pallet_remarks::Config::RuntimeCall> - + pallet_transfer_allowlist::Config - + Sync + + pallet_transfer_allowlist::Config< + CurrencyId = FilterCurrency, + Location = RestrictedTransferLocation, + > + Sync + Send, ::RuntimeCall: IsSubType> + IsSubType> @@ -330,12 +351,12 @@ where amalgamate_allowance( pallet_transfer_allowlist::pallet::Pallet::::allowance( who.clone(), - Location::Local(recv.clone()), + RestrictedTransferLocation::Local(recv.clone()), FilterCurrency::All, ), pallet_transfer_allowlist::pallet::Pallet::::allowance( who.clone(), - Location::Local(recv.clone()), + RestrictedTransferLocation::Local(recv.clone()), FilterCurrency::Specific(CurrencyId::Native), ), ) @@ -345,8 +366,8 @@ where } fn amalgamate_allowance( - first: Result, DispatchError>, - second: Result, DispatchError>, + first: Result, DispatchError>, + second: Result, DispatchError>, ) -> DispatchResult { match (first, second) { // There is an allowance set for `Specific(id)`, but NOT for the given recv diff --git a/runtime/common/src/xcm.rs b/runtime/common/src/xcm.rs index dd838647b6..e4e0a8dce8 100644 --- a/runtime/common/src/xcm.rs +++ b/runtime/common/src/xcm.rs @@ -19,14 +19,15 @@ use cfg_types::{ }; use frame_support::traits::{fungibles::Mutate, Everything, Get}; use frame_system::pallet_prelude::BlockNumberFor; +use orml_traits::asset_registry::Inspect; use polkadot_parachain_primitives::primitives::Sibling; use sp_runtime::traits::{AccountIdConversion, Convert, MaybeEquivalence, Zero}; use sp_std::marker::PhantomData; -use staging_xcm::v3::{ - prelude::*, +use staging_xcm::v4::{ + Asset, AssetId, + Fungibility::Fungible, Junction::{AccountId32, AccountKey20, GeneralKey, Parachain}, - Junctions::{X1, X2}, - MultiAsset, MultiLocation, NetworkId, OriginKind, + Location, NetworkId, OriginKind, }; use staging_xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, @@ -50,7 +51,7 @@ impl< >, > orml_traits::FixedConversionRateProvider for FixedConversionRateProvider { - fn get_fee_per_second(location: &MultiLocation) -> Option { + fn get_fee_per_second(location: &Location) -> Option { let metadata = OrmlAssetRegistry::metadata_by_location(location)?; match metadata.additional.transferability { CrossChainTransferability::Xcm(xcm_metadata) => xcm_metadata @@ -70,14 +71,14 @@ pub fn general_key(data: &[u8]) -> staging_xcm::latest::Junction { } } -/// How we convert an `[AccountId]` into an XCM MultiLocation -pub struct AccountIdToMultiLocation; -impl> Convert for AccountIdToMultiLocation { - fn convert(account: AccountId) -> MultiLocation { - X1(AccountId32 { +/// How we convert an `[AccountId]` into an XCM Location +pub struct AccountIdToLocation; +impl> Convert for AccountIdToLocation { + fn convert(account: AccountId) -> Location { + AccountId32 { network: None, id: account.into(), - }) + } .into() } } @@ -93,35 +94,26 @@ where From, { fn convert_origin( - origin: impl Into, + origin: impl Into, kind: OriginKind, - ) -> Result<::RuntimeOrigin, MultiLocation> { - let location: MultiLocation = origin.into(); - match kind { - OriginKind::SovereignAccount => match location { - MultiLocation { - parents: 1, - interior: X2(Parachain(para), AccountKey20 { key, .. }), - } => { - let evm_id = ParaAsEvmChain::try_convert(para).map_err(|_| location)?; - let domain_address = DomainAddress::EVM(evm_id, key); - - if pallet_liquidity_pools_gateway::Pallet::::relayer( - Domain::EVM(evm_id), - &domain_address, - ) - .is_some() - { - Ok(pallet_liquidity_pools_gateway::GatewayOrigin::AxelarRelay( - domain_address, - ) - .into()) - } else { - Err(location) - } - } - _ => Err(location), - }, + ) -> Result<::RuntimeOrigin, Location> { + let location = origin.into(); + match (kind, location.clone().unpack()) { + (OriginKind::SovereignAccount, (1, [Parachain(para), AccountKey20 { key, .. }])) => { + let evm_id = ParaAsEvmChain::try_convert(*para).map_err(|_| location.clone())?; + let domain_address = DomainAddress::EVM(evm_id, *key); + + pallet_liquidity_pools_gateway::Pallet::::relayer( + Domain::EVM(evm_id), + &domain_address, + ) + .ok_or(location.clone())?; + + Ok( + pallet_liquidity_pools_gateway::GatewayOrigin::AxelarRelay(domain_address) + .into(), + ) + } _ => Err(location), } } @@ -149,97 +141,80 @@ where /// CurrencyIdConvert /// This type implements conversions from our `CurrencyId` type into -/// `MultiLocation` and vice-versa. A currency locally is identified with a +/// `Location` and vice-versa. A currency locally is identified with a /// `CurrencyId` variant but in the network it is identified in the form of a -/// `MultiLocation`. +/// `Location`. pub struct CurrencyIdConvert(PhantomData); -impl MaybeEquivalence for CurrencyIdConvert +impl MaybeEquivalence for CurrencyIdConvert where - T: orml_asset_registry::Config - + parachain_info::Config, + T: orml_asset_registry::module::Config + + staging_parachain_info::Config, { - fn convert(location: &MultiLocation) -> Option { - let para_id = parachain_info::Pallet::::parachain_id(); + fn convert(location: &Location) -> Option { + let para_id = staging_parachain_info::Pallet::::parachain_id(); let unanchored_location = match location { - MultiLocation { + Location { parents: 0, interior, - } => MultiLocation { + } => Location { parents: 1, interior: interior + .clone() .pushed_front_with(Parachain(u32::from(para_id))) .ok()?, }, - x => *x, + x => x.clone(), }; - orml_asset_registry::Pallet::::location_to_asset_id(unanchored_location) + orml_asset_registry::module::Pallet::::asset_id(&unanchored_location) } - fn convert_back(id: &CurrencyId) -> Option { - orml_asset_registry::Pallet::::metadata(id) + fn convert_back(id: &CurrencyId) -> Option { + orml_asset_registry::module::Pallet::::metadata(id) .filter(|m| m.additional.transferability.includes_xcm()) .and_then(|m| m.location) .and_then(|l| l.try_into().ok()) } } -/// Convert our `CurrencyId` type into its `MultiLocation` representation. -/// We use the `AssetRegistry` to lookup the associated `MultiLocation` for +/// Convert our `CurrencyId` type into its `Location` representation. +/// We use the `AssetRegistry` to lookup the associated `Location` for /// any given `CurrencyId`, while blocking tokens that are not Xcm-transferable. -impl Convert> for CurrencyIdConvert +impl Convert> for CurrencyIdConvert where - T: orml_asset_registry::Config - + parachain_info::Config, + T: orml_asset_registry::module::Config + + staging_parachain_info::Config, { - fn convert(id: CurrencyId) -> Option { + fn convert(id: CurrencyId) -> Option { >::convert_back(&id) } } -/// Convert an incoming `MultiLocation` into a `CurrencyId` through a +/// Convert an incoming `Location` into a `CurrencyId` through a /// reverse-lookup using the AssetRegistry. In the registry, we register CFG -/// using its absolute, non-anchored MultiLocation so we need to unanchor the +/// using its absolute, non-anchored Location so we need to unanchor the /// input location for Centrifuge-native assets for that to work. -impl Convert> for CurrencyIdConvert +impl Convert> for CurrencyIdConvert where - T: orml_asset_registry::Config - + parachain_info::Config, + T: orml_asset_registry::module::Config + + staging_parachain_info::Config, { - fn convert(location: MultiLocation) -> Option { + fn convert(location: Location) -> Option { >::convert(&location) } } -impl Convert> for CurrencyIdConvert -where - T: orml_asset_registry::Config - + parachain_info::Config, -{ - fn convert(asset: MultiAsset) -> Option { - if let MultiAsset { - id: Concrete(location), - .. - } = asset - { - >::convert(&location) - } else { - None - } - } -} - pub struct ToTreasury(PhantomData); impl TakeRevenue for ToTreasury where - T: orml_asset_registry::Config - + parachain_info::Config + T: orml_asset_registry::module::Config + + staging_parachain_info::Config + pallet_restricted_tokens::Config, { - fn take_revenue(revenue: MultiAsset) { - if let MultiAsset { - id: Concrete(location), + fn take_revenue(revenue: Asset) { + if let Asset { + id: AssetId(location), fun: Fungible(amount), } = revenue { @@ -268,7 +243,7 @@ pub type Barrier = ( AllowSubscriptionsFrom, ); -/// Type for specifying how a `MultiLocation` can be converted into an +/// Type for specifying how a `Location` can be converted into an /// `AccountId`. This is used when determining ownership of accounts for asset /// transacting and when attempting to use XCM `Transact` in order to determine /// the dispatch Origin. @@ -374,15 +349,15 @@ mod test { Ok(RELAYER_EVM_ID) }); - let location: MultiLocation = MultiLocation::new( + let location = Location::new( 1, - X2( + [ Parachain(RELAYER_PARA_ID), AccountKey20 { network: None, key: RELAYER_ADDRESS, }, - ), + ], ); let origin = LpInstanceRelayer::::convert_origin( @@ -413,11 +388,11 @@ mod test { Ok(RELAYER_EVM_ID) }); - let location: MultiLocation = MultiLocation::new(1, X1(Parachain(RELAYER_PARA_ID))); + let location = Location::new(1, Parachain(RELAYER_PARA_ID)); assert_eq!( LpInstanceRelayer::::convert_origin( - location, + location.clone(), OriginKind::SovereignAccount, ) .unwrap_err(), @@ -434,20 +409,20 @@ mod test { Ok(RELAYER_EVM_ID) }); - let location: MultiLocation = MultiLocation::new( + let location = Location::new( 1, - X2( + [ Parachain(RELAYER_PARA_ID), AccountKey20 { network: None, key: RELAYER_ADDRESS, }, - ), + ], ); assert_eq!( LpInstanceRelayer::::convert_origin( - location, + location.clone(), OriginKind::SovereignAccount, ) .unwrap_err(), @@ -471,20 +446,20 @@ mod test { Err(()) }); - let location: MultiLocation = MultiLocation::new( + let location = Location::new( 1, - X2( + [ Parachain(RELAYER_PARA_ID), AccountKey20 { network: None, key: RELAYER_ADDRESS, }, - ), + ], ); assert_eq!( LpInstanceRelayer::::convert_origin( - location, + location.clone(), OriginKind::SovereignAccount, ) .unwrap_err(), @@ -508,20 +483,20 @@ mod test { Err(()) }); - let location: MultiLocation = MultiLocation::new( + let location = Location::new( 1, - X2( + [ Parachain(1), AccountKey20 { network: None, key: RELAYER_ADDRESS, }, - ), + ], ); assert_eq!( LpInstanceRelayer::::convert_origin( - location, + location.clone(), OriginKind::SovereignAccount, ) .unwrap_err(), @@ -545,20 +520,20 @@ mod test { Ok(RELAYER_EVM_ID) }); - let location: MultiLocation = MultiLocation::new( + let location = Location::new( 1, - X2( + [ Parachain(RELAYER_PARA_ID), AccountKey20 { network: None, key: [0u8; 20], }, - ), + ], ); assert_eq!( LpInstanceRelayer::::convert_origin( - location, + location.clone(), OriginKind::SovereignAccount, ) .unwrap_err(), diff --git a/runtime/development/Cargo.toml b/runtime/development/Cargo.toml index 17cc6bd48d..e6cdd54606 100644 --- a/runtime/development/Cargo.toml +++ b/runtime/development/Cargo.toml @@ -10,9 +10,8 @@ repository.workspace = true documentation.workspace = true [dependencies] -getrandom = { workspace = true } hex = { workspace = true } -hex-literal = { workspace = true, optional = true } +hex-literal = { workspace = true } log = { workspace = true } parity-scale-codec = { workspace = true } scale-info = { workspace = true } @@ -23,6 +22,7 @@ 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-io = { workspace = true } sp-offchain = { workspace = true } @@ -107,6 +107,7 @@ pallet-liquidity-pools-gateway = { workspace = true } pallet-liquidity-rewards = { workspace = true } pallet-loans = { workspace = true } pallet-membership = { workspace = true } +pallet-message-queue = { workspace = true } pallet-multisig = { workspace = true } pallet-oracle-collection = { workspace = true } pallet-oracle-feed = { workspace = true } @@ -135,7 +136,7 @@ pallet-utility = { workspace = true } pallet-vesting = { workspace = true } pallet-xcm = { workspace = true } pallet-xcm-transactor = { workspace = true } -parachain-info = { workspace = true } +staging-parachain-info = { workspace = true } [build-dependencies] substrate-wasm-builder = { workspace = true } @@ -145,7 +146,6 @@ default = ["std"] std = [ "parity-scale-codec/std", - "getrandom/std", "hex/std", "log/std", "scale-info/std", @@ -156,6 +156,7 @@ std = [ "sp-block-builder/std", "sp-consensus-aura/std", "sp-core/std", + "sp-genesis-builder/std", "sp-inherents/std", "sp-io/std", "sp-offchain/std", @@ -259,12 +260,12 @@ std = [ "pallet-vesting/std", "pallet-xcm/std", "pallet-xcm-transactor/std", - "parachain-info/std", + "pallet-message-queue/std", + "staging-parachain-info/std", ] runtime-benchmarks = [ # Enabling optional - "hex-literal", "frame-system-benchmarking/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", @@ -341,6 +342,7 @@ runtime-benchmarks = [ "pallet-vesting/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", "pallet-xcm-transactor/runtime-benchmarks", + "pallet-message-queue/runtime-benchmarks", ] try-runtime = [ @@ -426,7 +428,8 @@ try-runtime = [ "pallet-vesting/try-runtime", "pallet-xcm/try-runtime", "pallet-xcm-transactor/try-runtime", - "parachain-info/try-runtime", + "pallet-message-queue/try-runtime", + "staging-parachain-info/try-runtime", ] # A feature that should be enabled when the runtime should be build for on-chain diff --git a/runtime/development/src/lib.rs b/runtime/development/src/lib.rs index 5427d12d86..5f73e98780 100644 --- a/runtime/development/src/lib.rs +++ b/runtime/development/src/lib.rs @@ -37,29 +37,33 @@ use cfg_types::{ fee_keys::{Fee, FeeKey}, fixed_point::{Quantity, Rate, Ratio}, investments::InvestmentPortfolio, - locations::Location, + locations::RestrictedTransferLocation, oracles::OracleKey, permissions::{ PermissionRoles, PermissionScope, PermissionedCurrencyRole, PoolRole, Role, UNION, }, + pools::PoolNav, time::TimeProvider, tokens::{ - AssetStringLimit, CurrencyId, CustomMetadata, + AssetStringLimit, CurrencyId, CustomMetadata, FilterCurrency, LocalAssetId, StakingCurrency::BlockRewards as BlockRewardsCurrency, TrancheCurrency, }, }; use chainbridge::constants::DEFAULT_RELAYER_VOTE_THRESHOLD; -use cumulus_primitives_core::{MultiAsset, MultiLocation}; +use cumulus_primitives_core::{AggregateMessageOrigin, ParaId}; use fp_rpc::TransactionStatus; use frame_support::{ construct_runtime, dispatch::DispatchClass, + genesis_builder_helper::{build_config, create_default_config}, pallet_prelude::{DispatchError, DispatchResult, RuntimeDebug}, parameter_types, traits::{ + fungible::HoldConsideration, + tokens::{PayFromAccount, UnityAssetBalanceConversion}, AsEnsureOriginWithArg, ConstBool, ConstU32, ConstU64, Contains, EitherOfDiverse, - EqualPrivilegeOnly, Get, InstanceFilter, LockIdentifier, OnFinalize, PalletInfoAccess, - UnixTime, WithdrawReasons, + EqualPrivilegeOnly, Get, InstanceFilter, LinearStoragePrice, LockIdentifier, OnFinalize, + PalletInfoAccess, TransformOrigin, UnixTime, WithdrawReasons, }, weights::{ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight}, @@ -82,6 +86,7 @@ use pallet_investments::OrderType; use pallet_liquidity_pools::hooks::{ CollectedForeignInvestmentHook, CollectedForeignRedemptionHook, DecreasedForeignInvestOrderHook, }; +pub use pallet_loans::entities::{input::PriceCollectionInput, loans::ActiveLoanInfo}; use pallet_loans::types::cashflow::CashflowPayment; use pallet_pool_system::{ pool_types::{PoolDetails, ScheduledUpdateDetails}, @@ -94,7 +99,9 @@ use pallet_restricted_tokens::{ use pallet_transaction_payment::CurrencyAdapter; use pallet_transaction_payment_rpc_runtime_api::{FeeDetails, RuntimeDispatchInfo}; use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; -use polkadot_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate}; +use polkadot_runtime_common::{ + xcm_sender::NoPriceForMessageDelivery, BlockHashCount, SlowAdjustingFeeUpdate, +}; use runtime_common::{ account_conversion::{AccountConverter, RuntimeAccountConverter}, asset_registry, @@ -106,14 +113,16 @@ use runtime_common::{ fees::{DealWithFees, FeeToTreasury, WeightToFee}, gateway, instances, liquidity_pools::LiquidityPoolsMessage, + message_queue::{NarrowOriginToSibling, ParaIdToSibling}, oracle::{ Feeder, OracleConverterBridge, OracleRatioProvider, OracleRatioProviderLocalAssetExtension, }, permissions::PoolAdminCheck, + remarks::Remark, rewards::SingleCurrencyMovement, - transfer_filter::PreLpTransfer, - xcm::AccountIdToMultiLocation, - xcm_transactor, AllowanceDeposit, CurrencyED, HoldId, + transfer_filter::{PreLpTransfer, PreNativeTransfer}, + xcm::AccountIdToLocation, + xcm_transactor, AllowanceDeposit, CurrencyED, }; use scale_info::TypeInfo; use sp_api::impl_runtime_apis; @@ -123,7 +132,7 @@ use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, traits::{ AccountIdConversion, BlakeTwo256, Block as BlockT, ConvertInto, DispatchInfoOf, - Dispatchable, PostDispatchInfoOf, UniqueSaturatedInto, Zero, + Dispatchable, IdentityLookup, PostDispatchInfoOf, UniqueSaturatedInto, Verify, Zero, }, transaction_validity::{TransactionSource, TransactionValidity, TransactionValidityError}, ApplyExtrinsicResult, FixedI128, Perbill, Permill, Perquintill, @@ -131,7 +140,7 @@ use sp_runtime::{ use sp_staking::currency_to_vote::U128CurrencyToVote; use sp_std::{marker::PhantomData, prelude::*, vec::Vec}; use sp_version::RuntimeVersion; -use staging_xcm_executor::XcmExecutor; +use staging_xcm::v4::{Asset, Location}; use static_assertions::const_assert; use crate::xcm::*; @@ -240,6 +249,7 @@ impl frame_system::Config for Runtime { type RuntimeEvent = RuntimeEvent; /// The ubiquitous origin type. type RuntimeOrigin = RuntimeOrigin; + type RuntimeTask = RuntimeTask; type SS58Prefix = SS58Prefix; type SystemWeightInfo = weights::frame_system::WeightInfo; /// Get the chain's current version. @@ -255,8 +265,9 @@ impl Contains for BaseCallFilter { // Block these calls when called by a signed extrinsic. // Root will still be able to execute these. pallet_xcm::Call::execute { .. } - | pallet_xcm::Call::teleport_assets { .. } - | pallet_xcm::Call::reserve_transfer_assets { .. } + | pallet_xcm::Call::transfer_assets { .. } + | pallet_xcm::Call::teleport_assets { .. } // deprecated + | pallet_xcm::Call::reserve_transfer_assets { .. } // deprecated | pallet_xcm::Call::limited_reserve_transfer_assets { .. } | pallet_xcm::Call::limited_teleport_assets { .. } => false, pallet_xcm::Call::__Ignore { .. } => { @@ -284,27 +295,76 @@ impl Contains for BaseCallFilter { 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 { // Using AnyRelayNumber only for the development & demo environments, // to be able to recover quickly from a relay chains issue type CheckAssociatedRelayNumber = cumulus_pallet_parachain_system::AnyRelayNumber; - type DmpMessageHandler = DmpQueue; + type DmpQueue = frame_support::traits::EnqueueWithOrigin; + // Using weights for recomended hardware type OnSystemEvent = (); type OutboundXcmpMessageSource = XcmpQueue; type ReservedDmpWeight = ReservedDmpWeight; type ReservedXcmpWeight = ReservedXcmpWeight; type RuntimeEvent = RuntimeEvent; - type SelfParaId = parachain_info::Pallet; + type SelfParaId = staging_parachain_info::Pallet; + type WeightInfo = cumulus_pallet_parachain_system::weights::SubstrateWeight; type XcmpMessageHandler = XcmpQueue; } -impl parachain_info::Config for Runtime {} +impl staging_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 HeapSize = sp_core::ConstU32<{ 64 * 1024 }>; + type MaxStale = sp_core::ConstU32<8>; + // Using weights for recomended hardware + #[cfg(feature = "runtime-benchmarks")] + type MessageProcessor = + pallet_message_queue::mock_helpers::NoopMessageProcessor; + #[cfg(not(feature = "runtime-benchmarks"))] + type MessageProcessor = staging_xcm_builder::ProcessXcmMessage< + AggregateMessageOrigin, + staging_xcm_executor::XcmExecutor, + RuntimeCall, + >; + type QueueChangeHandler = NarrowOriginToSibling; + type QueuePausedQuery = NarrowOriginToSibling; + type RuntimeEvent = RuntimeEvent; + type ServiceWeight = MessageQueueServiceWeight; + type Size = u32; + type WeightInfo = pallet_message_queue::weights::SubstrateWeight; +} + +/// XCMP Queue is responsible to handle XCM messages coming directly from +/// sibling parachains. +impl cumulus_pallet_xcmp_queue::Config for Runtime { + type ChannelInfo = ParachainSystem; + type ControllerOrigin = EnsureRoot; + type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type MaxInboundSuspended = sp_core::ConstU32<1_000>; + type PriceForSiblingDelivery = NoPriceForMessageDelivery; + type RuntimeEvent = RuntimeEvent; + type VersionWrapper = PolkadotXcm; + type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo; + type XcmpQueue = TransformOrigin; +} + +impl cumulus_pallet_dmp_queue::Config for Runtime { + type DmpSink = frame_support::traits::EnqueueWithOrigin; + type RuntimeEvent = RuntimeEvent; + type WeightInfo = cumulus_pallet_dmp_queue::weights::SubstrateWeight; +} parameter_types! { pub const MinimumPeriod: Millis = SLOT_DURATION / 2; } + impl pallet_timestamp::Config for Runtime { type MinimumPeriod = MinimumPeriod; /// A timestamp: milliseconds since the unix epoch. @@ -351,13 +411,13 @@ impl pallet_balances::Config for Runtime { type ExistentialDeposit = ExistentialDeposit; type FreezeIdentifier = (); type MaxFreezes = ConstU32<10>; - type MaxHolds = ConstU32<10>; type MaxLocks = MaxLocks; type MaxReserves = MaxReserves; type ReserveIdentifier = [u8; 8]; /// The overarching event type. type RuntimeEvent = RuntimeEvent; - type RuntimeHoldReason = (); + type RuntimeFreezeReason = RuntimeFreezeReason; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = weights::pallet_balances::WeightInfo; } @@ -540,7 +600,6 @@ impl InstanceFilter for ProxyType { | RuntimeCall::Elections(..) | RuntimeCall::Utility(..) ), - // TODO: Should be no change when adding BlockRewards, right? ProxyType::_Staking => false, ProxyType::NonProxy => { matches!(c, RuntimeCall::Proxy(pallet_proxy::Call::proxy { .. })) @@ -680,11 +739,16 @@ parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; pub PreimageBaseDeposit: Balance = deposit(2, 64); pub PreimageByteDeposit: Balance = deposit(0, 1); + pub const PreimageHoldReason: RuntimeHoldReason = RuntimeHoldReason::Preimage(pallet_preimage::HoldReason::Preimage); } impl pallet_preimage::Config for Runtime { - type BaseDeposit = PreimageBaseDeposit; - type ByteDeposit = PreimageByteDeposit; + type Consideration = HoldConsideration< + AccountId, + Balances, + PreimageHoldReason, + LinearStoragePrice, + >; type Currency = Balances; type ManagerOrigin = EnsureRoot; type RuntimeEvent = RuntimeEvent; @@ -838,23 +902,29 @@ parameter_types! { pub const MaxSubAccounts: u32 = 100; pub const MaxAdditionalFields: u32 = 100; pub const BasicDeposit: Balance = 100 * CFG; - pub const FieldDeposit: Balance = 25 * CFG; + pub const ByteDeposit: Balance = deposit(0, 1); pub const SubAccountDeposit: Balance = 20 * CFG; pub const MaxRegistrars: u32 = 20; } impl pallet_identity::Config for Runtime { type BasicDeposit = BasicDeposit; + type ByteDeposit = ByteDeposit; type Currency = Tokens; - type FieldDeposit = FieldDeposit; type ForceOrigin = EnsureRootOr; - type MaxAdditionalFields = MaxAdditionalFields; + type IdentityInformation = pallet_identity::legacy::IdentityInfo; type MaxRegistrars = MaxRegistrars; type MaxSubAccounts = MaxSubAccounts; + type MaxSuffixLength = ConstU32<7>; + type MaxUsernameLength = ConstU32<32>; + type OffchainSignature = Signature; + type PendingUsernameExpiration = ConstU32<{ 7 * DAYS }>; type RegistrarOrigin = EnsureRootOr; type RuntimeEvent = RuntimeEvent; + type SigningPublicKey = ::Signer; type Slashed = (); type SubAccountDeposit = SubAccountDeposit; + type UsernameAuthorityOrigin = EnsureRoot; type WeightInfo = weights::pallet_identity::WeightInfo; } @@ -865,6 +935,7 @@ parameter_types! { } impl pallet_vesting::Config for Runtime { + type BlockNumberProvider = System; type BlockNumberToBalance = ConvertInto; type Currency = Tokens; type MinVestedTransfer = MinVestedTransfer; @@ -925,6 +996,7 @@ parameter_types! { // periods between treasury spends pub const SpendPeriod: BlockNumber = 30 * DAYS; + pub const PayoutPeriod: BlockNumber = 30 * DAYS; // percentage of treasury we burn per Spend period if there is a surplus // If the treasury is able to spend on all the approved proposals and didn't miss any @@ -940,28 +1012,32 @@ parameter_types! { } impl pallet_treasury::Config for Runtime { - // either democracy or 75% of council votes type ApproveOrigin = EnsureRootOr< pallet_collective::EnsureProportionAtLeast, >; + type AssetKind = (); + type BalanceConverter = UnityAssetBalanceConversion; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); + type Beneficiary = Self::AccountId; + type BeneficiaryLookup = IdentityLookup; type Burn = Burn; - // we burn and dont handle the unbalance type BurnDestination = (); type Currency = Tokens; type MaxApprovals = MaxApprovals; - // slashed amount goes to treasury account type OnSlash = Treasury; type PalletId = TreasuryPalletId; + type Paymaster = PayFromAccount; + type PayoutPeriod = PayoutPeriod; type ProposalBond = ProposalBond; type ProposalBondMaximum = ProposalBondMaximum; type ProposalBondMinimum = ProposalBondMinimum; - // either democracy or more than 50% council votes type RejectOrigin = EnsureRootOr; type RuntimeEvent = RuntimeEvent; type SpendFunds = (); type SpendOrigin = frame_support::traits::NeverEnsureOrigin; type SpendPeriod = SpendPeriod; - type WeightInfo = weights::pallet_treasury::WeightInfo; + type WeightInfo = pallet_treasury::weights::SubstrateWeight; } // our pallets @@ -1233,18 +1309,19 @@ impl pallet_collator_selection::Config for Runtime { parameter_types! { // 1 ROC should be enough to cover for fees opening/accepting hrmp channels - pub MaxHrmpRelayFee: MultiAsset = (MultiLocation::parent(), 1_000_000_000_000u128).into(); + pub MaxHrmpRelayFee: Asset = (Location::parent(), 1_000_000_000_000u128).into(); } impl pallet_xcm_transactor::Config for Runtime { - type AccountIdToMultiLocation = AccountIdToMultiLocation; + type AccountIdToLocation = AccountIdToLocation; type AssetTransactor = FungiblesTransactor; type Balance = Balance; type BaseXcmWeight = BaseXcmWeight; type CurrencyId = CurrencyId; - type CurrencyIdToMultiLocation = CurrencyIdConvert; + type CurrencyIdToLocation = CurrencyIdConvert; type DerivativeAddressRegistrationOrigin = EnsureRoot; type HrmpManipulatorOrigin = EnsureRootOr; + type HrmpOpenOrigin = EnsureRoot; type MaxHrmpFee = staging_xcm_builder::Case; type ReserveProvider = xcm_primitives::AbsoluteAndRelativeReserve; type RuntimeEvent = RuntimeEvent; @@ -1461,6 +1538,7 @@ impl pallet_restricted_tokens::Config for Runtime { type PreFungiblesUnbalanced = cfg_traits::Always; type PreReservableCurrency = cfg_traits::Always; type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = weights::pallet_restricted_tokens::WeightInfo; } @@ -1494,7 +1572,7 @@ impl orml_tokens::Config for Runtime { type WeightInfo = (); } -impl orml_asset_registry::Config for Runtime { +impl orml_asset_registry::module::Config for Runtime { type AssetId = CurrencyId; type AssetProcessor = asset_registry::CustomAssetProcessor; type AuthorityOrigin = @@ -1724,10 +1802,10 @@ impl pallet_block_rewards::Config for Runtime { impl pallet_transfer_allowlist::Config for Runtime { type CurrencyId = FilterCurrency; type Deposit = AllowanceDeposit; - type HoldId = HoldId; - type Location = Location; + type Location = RestrictedTransferLocation; type ReserveCurrency = Balances; type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = weights::pallet_transfer_allowlist::WeightInfo; } @@ -1867,14 +1945,6 @@ impl pallet_remarks::Config for Runtime { type WeightInfo = weights::pallet_remarks::WeightInfo; } -/// The config for the Downward Message Passing Queue, i.e., how messages coming -/// from the relay-chain are handled. -impl cumulus_pallet_dmp_queue::Config for Runtime { - type ExecuteOverweightOrigin = EnsureRoot; - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; -} - parameter_types! { /// The amount of weight an XCM operation takes. This is a safe overestimate. pub UnitWeightCost: Weight = Weight::from_parts(200_000_000u64, 0); @@ -1886,20 +1956,6 @@ parameter_types! { pub type XcmWeigher = staging_xcm_builder::FixedWeightBounds; -/// XCMP Queue is responsible to handle XCM messages coming directly from -/// sibling parachains. -impl cumulus_pallet_xcmp_queue::Config for Runtime { - type ChannelInfo = ParachainSystem; - type ControllerOrigin = EnsureRoot; - type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; - type ExecuteOverweightOrigin = EnsureRoot; - type PriceForSiblingDelivery = (); - type RuntimeEvent = RuntimeEvent; - type VersionWrapper = PolkadotXcm; - type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo; - type XcmExecutor = XcmExecutor; -} - pub type DevelopmentPrecompiles = Precompiles; parameter_types! { @@ -1927,6 +1983,7 @@ impl pallet_evm::Config for Runtime { type PrecompilesValue = PrecompilesValue; type Runner = pallet_evm::runner::stack::Runner; type RuntimeEvent = RuntimeEvent; + type SuicideQuickClearLimit = ConstU32<0>; type Timestamp = Timestamp; type WeightInfo = (); type WeightPerGas = WeightPerGas; @@ -2011,7 +2068,7 @@ construct_runtime!( System: frame_system::{Pallet, Call, Config, Storage, Event} = 0, ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event} = 1, Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 3, - ParachainInfo: parachain_info::{Pallet, Storage, Config} = 4, + ParachainInfo: staging_parachain_info::{Pallet, Storage, Config} = 4, // money stuff Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 20, @@ -2037,7 +2094,7 @@ construct_runtime!( Vesting: pallet_vesting::{Pallet, Call, Storage, Event, Config} = 68, Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event} = 69, Uniques: pallet_uniques::{Pallet, Call, Storage, Event} = 70, - Preimage: pallet_preimage::{Pallet, Call, Storage, Event} = 72, + Preimage: pallet_preimage::{Pallet, Call, Storage, Event, HoldReason} = 72, // our pallets part 1 Fees: pallet_fees::{Pallet, Call, Storage, Config, Event} = 90, @@ -2049,7 +2106,7 @@ construct_runtime!( Loans: pallet_loans::{Pallet, Call, Storage, Event} = 96, Permissions: pallet_permissions::{Pallet, Call, Storage, Event} = 97, CollatorAllowlist: pallet_collator_allowlist::{Pallet, Call, Storage, Config, Event} = 98, - Tokens: pallet_restricted_tokens::{Pallet, Call, Event} = 99, + Tokens: pallet_restricted_tokens::{Pallet, Call, Event, HoldReason} = 99, // Removed: NftSales = 100 Bridge: pallet_bridge::{Pallet, Call, Storage, Config, Event} = 101, InterestAccrual: pallet_interest_accrual::{Pallet, Storage, Event} = 102, @@ -2062,7 +2119,7 @@ construct_runtime!( PoolRegistry: pallet_pool_registry::{Pallet, Call, Storage, Event} = 109, BlockRewardsBase: pallet_rewards::::{Pallet, Storage, Event, Config} = 110, BlockRewards: pallet_block_rewards::{Pallet, Call, Storage, Event, Config} = 111, - TransferAllowList: pallet_transfer_allowlist::{Pallet, Call, Storage, Event} = 112, + TransferAllowList: pallet_transfer_allowlist::{Pallet, Call, Storage, Event, HoldReason} = 112, GapRewardMechanism: pallet_rewards::mechanism::gap = 114, LiquidityPoolsGateway: pallet_liquidity_pools_gateway::{Pallet, Call, Storage, Event, Origin } = 115, OrderBook: pallet_order_book::{Pallet, Call, Storage, Event} = 116, @@ -2078,11 +2135,12 @@ construct_runtime!( XTokens: pallet_restricted_xtokens::{Pallet, Call} = 124, XcmTransactor: pallet_xcm_transactor::{Pallet, Call, Storage, Event} = 125, OrmlXTokens: orml_xtokens::{Pallet, Event} = 126, + MessageQueue: pallet_message_queue::{Pallet, Call, Storage, Event} = 127, // 3rd party pallets OrmlTokens: orml_tokens::{Pallet, Storage, Event, Config} = 150, ChainBridge: chainbridge::{Pallet, Call, Storage, Event} = 151, - OrmlAssetRegistry: orml_asset_registry::{Pallet, Storage, Call, Event, Config} = 152, + OrmlAssetRegistry: orml_asset_registry::module::{Pallet, Storage, Call, Event, Config} = 152, OrmlXcm: orml_xcm::{Pallet, Storage, Call, Event} = 153, // EVM pallets @@ -2187,13 +2245,6 @@ impl fp_rpc::ConvertTransaction for TransactionConv } } -use cfg_types::{ - pools::PoolNav, - tokens::{FilterCurrency, LocalAssetId}, -}; -pub use pallet_loans::entities::{input::PriceCollectionInput, loans::ActiveLoanInfo}; -use runtime_common::{remarks::Remark, transfer_filter::PreNativeTransfer}; - impl_runtime_apis! { impl sp_api::Core for Runtime { fn version() -> RuntimeVersion { @@ -2419,13 +2470,13 @@ impl_runtime_apis! { // Investment Runtime APIs impl runtime_common::apis::InvestmentsApi> for Runtime { fn investment_portfolio(account_id: AccountId) -> Vec<(TrancheCurrency, InvestmentPortfolio)> { - runtime_common::investment_portfolios::get_account_portfolio::(account_id) + runtime_common::investment_portfolios::get_account_portfolio::(account_id).unwrap_or_default() } } // AccountConversionApi impl runtime_common::apis::AccountConversionApi for Runtime { - fn conversion_of(location: MultiLocation) -> Option { + fn conversion_of(location: Location) -> Option { AccountConverter::location_to_account::(location) } } @@ -2655,7 +2706,7 @@ impl_runtime_apis! { fn gas_limit_multiplier_support() {} fn pending_block( - xts: Vec<::Extrinsic> + xts: Vec<::Extrinsic> ) -> ( Option, Option> ) { @@ -2706,6 +2757,7 @@ impl_runtime_apis! { use frame_support::traits::StorageInfoTrait; use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; let mut list = Vec::::new(); list_benchmarks!(list, extra); @@ -2734,6 +2786,9 @@ impl_runtime_apis! { use cumulus_pallet_session_benchmarking::Pallet as SessionBench; impl cumulus_pallet_session_benchmarking::Config for Runtime {} + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; + impl pallet_xcm::benchmarking::Config for Runtime {} + use frame_support::traits::WhitelistedStorageKeys; let whitelist = AllPalletsWithSystem::whitelisted_storage_keys(); @@ -2745,6 +2800,16 @@ impl_runtime_apis! { 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) + } + } } #[cfg(feature = "runtime-benchmarks")] @@ -2762,7 +2827,6 @@ mod benches { [pallet_elections_phragmen, Elections] [pallet_identity, Identity] [pallet_vesting, Vesting] - [pallet_treasury, Treasury] [pallet_preimage, Preimage] [pallet_fees, Fees] [pallet_anchors, Anchor] @@ -2783,7 +2847,7 @@ mod benches { [pallet_transfer_allowlist, TransferAllowList] [pallet_order_book, OrderBook] [pallet_investments, Investments] - [pallet_xcm, PolkadotXcm] + [pallet_xcm, PalletXcmExtrinsicsBenchmark::] [pallet_oracle_feed, OraclePriceFeed] [pallet_oracle_collection, OraclePriceCollection] [pallet_remarks, Remarks] diff --git a/runtime/development/src/migrations.rs b/runtime/development/src/migrations.rs index 0f3d1912b6..fdc2cb322a 100644 --- a/runtime/development/src/migrations.rs +++ b/runtime/development/src/migrations.rs @@ -10,16 +10,25 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. +use cfg_primitives::AccountId; use sp_core::parameter_types; +use sp_std::{vec, vec::Vec}; + parameter_types! { pub const CollatorReward: cfg_primitives::Balance = cfg_primitives::constants::CFG; pub const AnnualTreasuryInflationPercent: u32 = 3; + pub AccountMap: Vec<(AccountId, AccountId)> = vec![]; + } +// Number of identities on Dev and Demo Chain on 30.05.2024 was both 0 +const IDENTITY_MIGRATION_KEY_LIMIT: u64 = 1000; + /// The migration set for Development & Demo. /// It includes all the migrations that have to be applied on that chain. pub type UpgradeDevelopment1047 = ( pallet_collator_selection::migration::v1::MigrateToV1, + pallet_collator_selection::migration::v2::MigrationToV2, cleanup_foreign_investments::Migration, // v0 -> v1 pallet_multisig::migrations::v1::MigrateToV1, @@ -30,11 +39,10 @@ pub type UpgradeDevelopment1047 = ( // v0 -> v1 runtime_common::migrations::nuke::ResetPallet, // v0 -> v1 - pallet_xcm::migration::v1::VersionUncheckedMigrateToV1, + runtime_common::migrations::nuke::ResetPallet, runtime_common::migrations::increase_storage_version::Migration, runtime_common::migrations::increase_storage_version::Migration, runtime_common::migrations::increase_storage_version::Migration, - runtime_common::migrations::increase_storage_version::Migration, runtime_common::migrations::increase_storage_version::Migration, runtime_common::migrations::increase_storage_version::Migration< crate::OraclePriceCollection, @@ -42,14 +50,29 @@ pub type UpgradeDevelopment1047 = ( 1, >, runtime_common::migrations::increase_storage_version::Migration, - // Reset Block rewards + // Reset Block rewards on Demo which is at v0 runtime_common::migrations::nuke::ResetPallet, + // Reset Block rewards on Dev which is at v2 + runtime_common::migrations::nuke::ResetPallet, pallet_block_rewards::migrations::init::InitBlockRewards< crate::Runtime, CollatorReward, AnnualTreasuryInflationPercent, >, + runtime_common::migrations::restricted_location::MigrateRestrictedTransferLocation< + crate::Runtime, + AccountMap, + >, runtime_common::migrations::loans::AddWithLinearPricing, + runtime_common::migrations::hold_reason::MigrateTransferAllowListHolds< + crate::Runtime, + crate::RuntimeHoldReason, + >, + // Migrations below this comment originate from Polkadot SDK + pallet_xcm::migration::MigrateToLatestXcmVersion, + cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4, + pallet_identity::migration::versioned::V0ToV1, + pallet_uniques::migration::MigrateV0ToV1, ); mod cleanup_foreign_investments { diff --git a/runtime/development/src/weights/cumulus_pallet_xcmp_queue.rs b/runtime/development/src/weights/cumulus_pallet_xcmp_queue.rs index 8ebf568dc8..1be99aa0d7 100644 --- a/runtime/development/src/weights/cumulus_pallet_xcmp_queue.rs +++ b/runtime/development/src/weights/cumulus_pallet_xcmp_queue.rs @@ -44,16 +44,28 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: XcmpQueue QueueConfig (r:1 w:1) - /// Proof Skipped: XcmpQueue QueueConfig (max_values: Some(1), max_size: None, mode: Measured) - fn set_config_with_weight() -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `1594` - // Minimum execution time: 7_785_000 picoseconds. - Weight::from_parts(8_025_000, 0) - .saturating_add(Weight::from_parts(0, 1594)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + + fn enqueue_xcmp_message() -> Weight { + Weight::zero() + } + + fn suspend_channel() -> Weight { + Weight::zero() + } + + fn resume_channel() -> Weight { + Weight::zero() + } + + fn take_first_concatenated_xcm() -> Weight { + Weight::zero() + } + + fn on_idle_good_msg() -> Weight { + Weight::from_parts(1, 1) + } + + fn on_idle_large_msg() -> Weight { + Weight::from_parts(1, 1) } } diff --git a/runtime/development/src/weights/frame_system.rs b/runtime/development/src/weights/frame_system.rs index 389139626a..d06ea6295d 100644 --- a/runtime/development/src/weights/frame_system.rs +++ b/runtime/development/src/weights/frame_system.rs @@ -110,4 +110,13 @@ impl frame_system::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) .saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into())) } + + fn authorize_upgrade() -> Weight { + Weight::zero() + } + + fn apply_authorized_upgrade() -> Weight { + Weight::zero() + } + } diff --git a/runtime/development/src/weights/pallet_balances.rs b/runtime/development/src/weights/pallet_balances.rs index 58771df8f1..1253f43884 100644 --- a/runtime/development/src/weights/pallet_balances.rs +++ b/runtime/development/src/weights/pallet_balances.rs @@ -132,4 +132,8 @@ impl pallet_balances::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(u.into()))) .saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into())) } + + fn force_adjust_total_issuance() -> Weight { + Weight::zero() + } } diff --git a/runtime/development/src/weights/pallet_collator_selection.rs b/runtime/development/src/weights/pallet_collator_selection.rs index 37f479517f..3f00b39ce3 100644 --- a/runtime/development/src/weights/pallet_collator_selection.rs +++ b/runtime/development/src/weights/pallet_collator_selection.rs @@ -64,7 +64,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn } /// Storage: CollatorSelection CandidacyBond (r:0 w:1) /// Proof: CollatorSelection CandidacyBond (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) - fn set_candidacy_bond() -> Weight { + fn set_candidacy_bond(_: u32, _: u32) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` @@ -174,4 +174,14 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Pending to generate Weight::default() } + + fn update_bond(_: u32) -> Weight { + // Pending to generate + Weight::default() + } + + fn take_candidate_slot(_: u32) -> Weight { + // Pending to generate + Weight::default() + } } diff --git a/runtime/development/src/weights/pallet_identity.rs b/runtime/development/src/weights/pallet_identity.rs index a3f990dffb..b005595346 100644 --- a/runtime/development/src/weights/pallet_identity.rs +++ b/runtime/development/src/weights/pallet_identity.rs @@ -51,19 +51,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 20]`. /// The range of component `x` is `[0, 100]`. - fn set_identity(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `441 + r * (5 ±0)` - // Estimated: `11003` - // Minimum execution time: 46_377_000 picoseconds. - Weight::from_parts(45_672_988, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 7_829 - .saturating_add(Weight::from_parts(110_777, 0).saturating_mul(r.into())) - // Standard Error: 1_527 - .saturating_add(Weight::from_parts(773_988, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + fn set_identity(_: u32) -> Weight { + Weight::default() } /// Storage: Identity IdentityOf (r:1 w:0) /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) @@ -116,22 +105,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// The range of component `r` is `[1, 20]`. /// The range of component `s` is `[0, 100]`. /// The range of component `x` is `[0, 100]`. - fn clear_identity(r: u32, s: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `468 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 85_852_000 picoseconds. - Weight::from_parts(43_121_455, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 8_529 - .saturating_add(Weight::from_parts(134_938, 0).saturating_mul(r.into())) - // Standard Error: 1_665 - .saturating_add(Weight::from_parts(1_901_046, 0).saturating_mul(s.into())) - // Standard Error: 1_665 - .saturating_add(Weight::from_parts(445_516, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) + fn clear_identity(_: u32, _: u32) -> Weight { + Weight::default() } /// Storage: Identity Registrars (r:1 w:0) /// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen) @@ -139,37 +114,15 @@ impl pallet_identity::WeightInfo for WeightInfo { /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 20]`. /// The range of component `x` is `[0, 100]`. - fn request_judgement(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `366 + r * (57 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 46_477_000 picoseconds. - Weight::from_parts(44_703_745, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 6_245 - .saturating_add(Weight::from_parts(149_256, 0).saturating_mul(r.into())) - // Standard Error: 1_218 - .saturating_add(Weight::from_parts(812_768, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) + fn request_judgement(_: u32) -> Weight { + Weight::default() } /// Storage: Identity IdentityOf (r:1 w:1) /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 20]`. /// The range of component `x` is `[0, 100]`. - fn cancel_request(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `397 + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 42_289_000 picoseconds. - Weight::from_parts(41_699_662, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 5_903 - .saturating_add(Weight::from_parts(99_576, 0).saturating_mul(r.into())) - // Standard Error: 1_151 - .saturating_add(Weight::from_parts(795_580, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + fn cancel_request(_: u32) -> Weight { + Weight::default() } /// Storage: Identity Registrars (r:1 w:1) /// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen) @@ -222,19 +175,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) /// The range of component `r` is `[1, 19]`. /// The range of component `x` is `[0, 100]`. - fn provide_judgement(r: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `444 + r * (57 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 32_532_000 picoseconds. - Weight::from_parts(30_238_292, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 6_879 - .saturating_add(Weight::from_parts(156_196, 0).saturating_mul(r.into())) - // Standard Error: 1_272 - .saturating_add(Weight::from_parts(1_276_350, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) + fn provide_judgement(_: u32) -> Weight { + Weight::default() } /// Storage: Identity SubsOf (r:1 w:1) /// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen) @@ -247,22 +189,8 @@ impl pallet_identity::WeightInfo for WeightInfo { /// The range of component `r` is `[1, 20]`. /// The range of component `s` is `[0, 100]`. /// The range of component `x` is `[0, 100]`. - fn kill_identity(r: u32, s: u32, x: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `708 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)` - // Estimated: `11003` - // Minimum execution time: 93_435_000 picoseconds. - Weight::from_parts(49_922_054, 0) - .saturating_add(Weight::from_parts(0, 11003)) - // Standard Error: 8_472 - .saturating_add(Weight::from_parts(160_912, 0).saturating_mul(r.into())) - // Standard Error: 1_654 - .saturating_add(Weight::from_parts(1_941_271, 0).saturating_mul(s.into())) - // Standard Error: 1_654 - .saturating_add(Weight::from_parts(439_581, 0).saturating_mul(x.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) + fn kill_identity(_: u32, _: u32) -> Weight { + Weight::default() } /// Storage: Identity IdentityOf (r:1 w:0) /// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen) @@ -338,4 +266,32 @@ impl pallet_identity::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } + + fn add_username_authority() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn remove_username_authority() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn set_username_for() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn accept_username() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn remove_expired_approval() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn set_primary_username() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn remove_dangling_username() -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/development/src/weights/pallet_preimage.rs b/runtime/development/src/weights/pallet_preimage.rs index 46e2b7175d..b83edd57e2 100644 --- a/runtime/development/src/weights/pallet_preimage.rs +++ b/runtime/development/src/weights/pallet_preimage.rs @@ -197,4 +197,8 @@ impl pallet_preimage::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + + fn ensure_updated(_: u32) -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/development/src/weights/pallet_treasury.rs b/runtime/development/src/weights/pallet_treasury.rs index 568a17761e..54f4091f70 100644 --- a/runtime/development/src/weights/pallet_treasury.rs +++ b/runtime/development/src/weights/pallet_treasury.rs @@ -120,4 +120,20 @@ impl pallet_treasury::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 2583).saturating_mul(p.into())) } + + fn spend_local() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn payout() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn check_status() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn void_spend() -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/development/src/weights/pallet_vesting.rs b/runtime/development/src/weights/pallet_vesting.rs index 0589faeddd..fabf138ed7 100644 --- a/runtime/development/src/weights/pallet_vesting.rs +++ b/runtime/development/src/weights/pallet_vesting.rs @@ -220,4 +220,8 @@ impl pallet_vesting::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } + + fn force_remove_vesting_schedule(_: u32, _: u32) -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/development/src/weights/pallet_xcm.rs b/runtime/development/src/weights/pallet_xcm.rs index abed172801..79671573aa 100644 --- a/runtime/development/src/weights/pallet_xcm.rs +++ b/runtime/development/src/weights/pallet_xcm.rs @@ -273,4 +273,16 @@ impl pallet_xcm::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) } + + fn transfer_assets() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn new_query() -> cumulus_primitives_core::Weight { + Weight::default() + } + + fn take_response() -> cumulus_primitives_core::Weight { + Weight::default() + } } diff --git a/runtime/development/src/xcm.rs b/runtime/development/src/xcm.rs index 0d386af94c..b9efe50bed 100644 --- a/runtime/development/src/xcm.rs +++ b/runtime/development/src/xcm.rs @@ -27,7 +27,7 @@ use pallet_xcm::XcmPassthrough; use runtime_common::{ transfer_filter::PreXcmTransfer, xcm::{ - general_key, AccountIdToMultiLocation, Barrier, FixedConversionRateProvider, + general_key, AccountIdToLocation, Barrier, FixedConversionRateProvider, LocalOriginToLocation, LpInstanceRelayer, ToTreasury, }, xcm_fees::native_per_second, @@ -35,12 +35,12 @@ use runtime_common::{ use sp_core::ConstU32; use staging_xcm::{ prelude::*, - v3::{MultiLocation, Weight as XcmWeight}, + v4::{Location, Weight as XcmWeight}, }; use staging_xcm_builder::{ - ConvertedConcreteId, EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, FungiblesAdapter, - NoChecking, RelayChainAsNative, SiblingParachainAsNative, SignedAccountId32AsNative, - SovereignSignedViaLocation, + ConvertedConcreteId, EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, + FrameTransactionalProcessor, FungiblesAdapter, NoChecking, RelayChainAsNative, + SiblingParachainAsNative, SignedAccountId32AsNative, SovereignSignedViaLocation, }; use staging_xcm_executor::{traits::JustTry, XcmExecutor}; @@ -49,37 +49,6 @@ use super::{ RuntimeCall, RuntimeEvent, RuntimeOrigin, Tokens, XcmpQueue, }; -/// A call filter for the XCM Transact instruction. This is a temporary -/// measure until we properly account for proof size weights. -/// -/// Calls that are allowed through this filter must: -/// 1. Have a fixed weight; -/// 2. Cannot lead to another call being made; -/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call -/// parameters. -/// -/// NOTE: Defensive configuration for now, inspired by filter of -/// SystemParachains and Polkadot, can be extended if desired. -pub struct SafeCallFilter; -impl frame_support::traits::Contains for SafeCallFilter { - fn contains(call: &RuntimeCall) -> bool { - matches!( - call, - RuntimeCall::Timestamp(..) - | RuntimeCall::Balances(..) - | RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. }) - | RuntimeCall::PolkadotXcm( - pallet_xcm::Call::limited_reserve_transfer_assets { .. } - ) | RuntimeCall::XcmpQueue(..) - | RuntimeCall::DmpQueue(..) - | RuntimeCall::Proxy(..) - | RuntimeCall::LiquidityPoolsGateway( - pallet_liquidity_pools_gateway::Call::process_msg { .. } - ) | RuntimeCall::OrderBook(..) - ) - } -} - /// The main XCM config /// This is where we configure the core of our XCM integrations: how tokens are /// transferred, how fees are calculated, what barriers we impose on incoming @@ -104,9 +73,10 @@ impl staging_xcm_executor::Config for XcmConfig { type PalletInstancesInfo = crate::AllPalletsWithSystem; type ResponseHandler = PolkadotXcm; type RuntimeCall = RuntimeCall; - type SafeCallFilter = SafeCallFilter; + type SafeCallFilter = Everything; type SubscriptionService = PolkadotXcm; type Trader = Trader; + type TransactionalProcessor = FrameTransactionalProcessor; type UniversalAliases = Nothing; type UniversalLocation = UniversalLocation; type Weigher = FixedWeightBounds; @@ -128,9 +98,9 @@ pub type Trader = ( parameter_types! { // Canonical location: https://github.com/paritytech/polkadot/pull/4470 pub CanonicalNativePerSecond: (AssetId, u128, u128) = ( - MultiLocation::new( + Location::new( 0, - X1(general_key(parachains::kusama::altair::AIR_KEY)), + general_key(parachains::kusama::altair::AIR_KEY), ).into(), native_per_second(), 0, @@ -145,7 +115,7 @@ pub type FungiblesTransactor = FungiblesAdapter< // This means that this adapter should handle any token that `CurrencyIdConvert` can convert // to `CurrencyId`, the `CurrencyId` type of `Tokens`, the fungibles implementation it uses. ConvertedConcreteId, - // Convert an XCM MultiLocation into a local account id + // Convert an XCM Location into a local account id LocationToAccountId, // Our chain's account ID type (we can't get away without mentioning it explicitly) AccountId, @@ -161,11 +131,6 @@ parameter_types! { pub const MaxInstructions: u32 = 100; } -#[cfg(feature = "runtime-benchmarks")] -parameter_types! { - pub ReachableDest: Option = Some(Parent.into()); -} - /// Pallet Xcm offers a lot of out-of-the-box functionality and features to /// configure and handle XCM messages. impl pallet_xcm::Config for Runtime { @@ -176,8 +141,6 @@ impl pallet_xcm::Config for Runtime { type ExecuteXcmOrigin = EnsureXcmOrigin>; type MaxLockers = ConstU32<8>; type MaxRemoteLockConsumers = ConstU32<0>; - #[cfg(feature = "runtime-benchmarks")] - type ReachableDest = ReachableDest; type RemoteLockConsumerIdentifier = (); type RuntimeCall = RuntimeCall; type RuntimeEvent = RuntimeEvent; @@ -200,7 +163,7 @@ impl pallet_xcm::Config for Runtime { parameter_types! { pub const RelayNetwork: NetworkId = NetworkId::Rococo; pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub Ancestry: Location = Parachain(ParachainInfo::parachain_id().into()).into(); pub CheckingAccount: AccountId = PolkadotXcm::check_account(); } @@ -264,29 +227,29 @@ parameter_types! { } parameter_types! { - /// The `MultiLocation` identifying this very parachain - pub SelfLocation: MultiLocation = MultiLocation::new(1, X1(Parachain(ParachainInfo::get().into()))); - pub UniversalLocation: InteriorMultiLocation = X2( + /// The `Location` identifying this very parachain + pub SelfLocation: Location = Location::new(1, Parachain(ParachainInfo::get().into())); + pub UniversalLocation: InteriorLocation = [ GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into()) - ); + ].into(); } parameter_type_with_key! { - pub ParachainMinFee: |_location: MultiLocation| -> Option { + pub ParachainMinFee: |_location: Location| -> Option { None }; } impl orml_xtokens::Config for Runtime { - type AccountIdToMultiLocation = AccountIdToMultiLocation; + type AccountIdToLocation = AccountIdToLocation; type Balance = Balance; type BaseXcmWeight = BaseXcmWeight; type CurrencyId = CurrencyId; type CurrencyIdConvert = CurrencyIdConvert; + type LocationsFilter = Everything; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; - type MultiLocationsFilter = Everything; type ReserveProvider = AbsoluteReserveProvider; type RuntimeEvent = RuntimeEvent; type SelfLocation = SelfLocation; diff --git a/runtime/integration-tests/Cargo.toml b/runtime/integration-tests/Cargo.toml index 7fdcb77e38..a10cd5ca18 100644 --- a/runtime/integration-tests/Cargo.toml +++ b/runtime/integration-tests/Cargo.toml @@ -13,7 +13,6 @@ ethabi = { workspace = true, features = ["std"] } ethereum = { workspace = true, features = ["std"] } fudge = { workspace = true } fudge-core = { workspace = true } -getrandom = { workspace = true } hex = { workspace = true } hex-literal = { workspace = true } lazy_static = { workspace = true } @@ -54,11 +53,9 @@ polkadot-core-primitives = { workspace = true, features = ["std"] } polkadot-node-primitives = { workspace = true } polkadot-parachain-primitives = { workspace = true, features = ["std"] } polkadot-primitives = { workspace = true, features = ["std"] } -polkadot-runtime = { workspace = true, features = ["std"] } polkadot-runtime-common = { workspace = true, features = ["std"] } polkadot-runtime-parachains = { workspace = true, features = ["std"] } rococo-runtime = { workspace = true, features = ["std"] } -staging-kusama-runtime = { workspace = true, features = ["std"] } pallet-babe = { workspace = true, features = ["std"] } pallet-grandpa = { workspace = true, features = ["std"] } @@ -87,7 +84,6 @@ runtime-integration-tests-proc-macro = { workspace = true } axelar-gateway-precompile = { workspace = true, features = ["std"] } chainbridge = { workspace = true, features = ["std"] } cumulus-pallet-aura-ext = { workspace = true, features = ["std"] } -cumulus-pallet-dmp-queue = { workspace = true, features = ["std"] } cumulus-pallet-parachain-system = { workspace = true, features = ["std"] } cumulus-pallet-xcm = { workspace = true, features = ["std"] } cumulus-pallet-xcmp-queue = { workspace = true, features = ["std"] } @@ -148,7 +144,7 @@ pallet-utility = { workspace = true, features = ["std"] } pallet-vesting = { workspace = true, features = ["std"] } pallet-xcm = { workspace = true, features = ["std"] } pallet-xcm-transactor = { workspace = true, features = ["std"] } -parachain-info = { workspace = true, features = ["std"] } +staging-parachain-info = { workspace = true, features = ["std"] } [features] # There is no need for integration test to add new features. diff --git a/runtime/integration-tests/src/generic/cases/account_derivation.rs b/runtime/integration-tests/src/generic/cases/account_derivation.rs index d25222df4a..a6bf2cbf4b 100644 --- a/runtime/integration-tests/src/generic/cases/account_derivation.rs +++ b/runtime/integration-tests/src/generic/cases/account_derivation.rs @@ -14,12 +14,10 @@ use cfg_primitives::AccountId; use runtime_common::apis::runtime_decl_for_account_conversion_api::AccountConversionApi; -use sp_api::{BlockT, HeaderT}; -use sp_runtime::traits::{Get, Zero}; -use staging_xcm::v3::{ +use sp_runtime::traits::{Block, Get, Header, Zero}; +use staging_xcm::v4::{ Junction::{AccountId32, AccountKey20, Parachain}, - Junctions::{X1, X2}, - MultiLocation, NetworkId, + Location, NetworkId, }; use crate::generic::{config::Runtime, env::Env, envs::runtime_env::RuntimeEnv}; @@ -55,12 +53,12 @@ fn local_evm_account() { let env = RuntimeEnv::::default(); let derived = env.parachain_state(|| { - T::Api::conversion_of(MultiLocation::new( + T::Api::conversion_of(Location::new( 0, - X1(AccountKey20 { + AccountKey20 { key: KEY_20, network: network_id(pallet_evm_chain_id::Pallet::::get()), - }), + }, )) .unwrap() }); @@ -76,12 +74,12 @@ fn lp_evm_account() { let env = RuntimeEnv::::default(); let derived = env.parachain_state(|| { - T::Api::conversion_of(MultiLocation::new( + T::Api::conversion_of(Location::new( 0, - X1(AccountKey20 { + AccountKey20 { key: KEY_20, network: network_id(RANDOM_EVM_ID), - }), + }, )) .unwrap() }); @@ -94,12 +92,12 @@ fn relay_chain_account() { let env = RuntimeEnv::::default(); let derived = env.parachain_state(|| { - T::Api::conversion_of(MultiLocation::new( + T::Api::conversion_of(Location::new( 1, - X1(AccountKey20 { + AccountKey20 { key: KEY_20, network: None, - }), + }, )) .unwrap() }); @@ -113,12 +111,12 @@ fn relay_chain_account() { ); let derived = env.parachain_state(|| { - T::Api::conversion_of(MultiLocation::new( + T::Api::conversion_of(Location::new( 1, - X1(AccountId32 { + AccountId32 { id: KEY_32, network: None, - }), + }, )) .unwrap() }); @@ -137,15 +135,15 @@ fn sibling_chain_account() { let env = RuntimeEnv::::default(); let derived = env.parachain_state(|| { - T::Api::conversion_of(MultiLocation::new( + T::Api::conversion_of(Location::new( 1, - X2( + [ Parachain(RANDOM_PARA_ID), AccountKey20 { key: KEY_20, network: None, }, - ), + ], )) .unwrap() }); @@ -159,15 +157,15 @@ fn sibling_chain_account() { ); let derived = env.parachain_state(|| { - T::Api::conversion_of(MultiLocation::new( + T::Api::conversion_of(Location::new( 1, - X2( + [ Parachain(RANDOM_PARA_ID), AccountId32 { id: KEY_32, network: None, }, - ), + ], )) .unwrap() }); @@ -186,17 +184,17 @@ fn remote_account_on_relay() { let env = RuntimeEnv::::default(); let derived = env.parachain_state(|| { - T::Api::conversion_of(MultiLocation::new( + T::Api::conversion_of(Location::new( 0, - X2( - Parachain(parachain_info::Pallet::::get().into()), + [ + Parachain(staging_parachain_info::Pallet::::get().into()), AccountId32 { id: KEY_32, network: Some(NetworkId::ByGenesis( frame_system::BlockHash::::get::(Zero::zero()).0, )), }, - ), + ], )) .unwrap() }); @@ -215,20 +213,20 @@ fn remote_account_on_sibling() { let env = RuntimeEnv::::default(); let derived = env.parachain_state(|| { - T::Api::conversion_of(MultiLocation::new( + T::Api::conversion_of(Location::new( 1, - X2( - Parachain(parachain_info::Pallet::::get().into()), + [ + Parachain(staging_parachain_info::Pallet::::get().into()), AccountId32 { id: KEY_32, network: Some(NetworkId::ByGenesis( frame_system::BlockHash::::get( - <::Header as HeaderT>::Number::zero(), + <::Header as Header>::Number::zero(), ) .0, )), }, - ), + ], )) .unwrap() }); diff --git a/runtime/integration-tests/src/generic/cases/block_rewards.rs b/runtime/integration-tests/src/generic/cases/block_rewards.rs index 48fb58ca6b..020a724423 100644 --- a/runtime/integration-tests/src/generic/cases/block_rewards.rs +++ b/runtime/integration-tests/src/generic/cases/block_rewards.rs @@ -206,7 +206,7 @@ fn is_staked(collator: &AccountId) -> bool { } fn is_candidate(collator: &AccountId) -> bool { - pallet_collator_selection::Pallet::::candidates() + pallet_collator_selection::Pallet::::candidate_list() .into_iter() .find(|c| c.who == *collator) .is_some() diff --git a/runtime/integration-tests/src/generic/cases/example.rs b/runtime/integration-tests/src/generic/cases/example.rs index c06a8cec6e..2268081251 100644 --- a/runtime/integration-tests/src/generic/cases/example.rs +++ b/runtime/integration-tests/src/generic/cases/example.rs @@ -39,7 +39,7 @@ fn transfer_balance() { let fee = env .submit_now( Keyring::Alice, - pallet_balances::Call::transfer { + pallet_balances::Call::transfer_allow_death { dest: Keyring::Bob.into(), value: TRANSFER, }, @@ -89,7 +89,7 @@ fn fudge_transfer_balance() { env.submit_later( Keyring::Alice, - pallet_balances::Call::transfer { + pallet_balances::Call::transfer_allow_death { dest: Keyring::Bob.into(), value: TRANSFER, }, diff --git a/runtime/integration-tests/src/generic/cases/liquidity_pools.rs b/runtime/integration-tests/src/generic/cases/liquidity_pools.rs index e403b70ed9..5e36ed13c4 100644 --- a/runtime/integration-tests/src/generic/cases/liquidity_pools.rs +++ b/runtime/integration-tests/src/generic/cases/liquidity_pools.rs @@ -10,7 +10,7 @@ use cfg_types::{ domain_address::{Domain, DomainAddress}, fixed_point::{Quantity, Ratio}, investments::{InvestCollection, InvestmentAccount, RedeemCollection}, - locations::Location, + locations::RestrictedTransferLocation, orders::FulfillmentWithPrice, permissions::{PermissionScope, PoolRole, Role}, pools::TrancheMetadata, @@ -52,34 +52,39 @@ use sp_core::{Get, H160, U256}; use sp_runtime::{ traits::{ AccountIdConversion, BadOrigin, ConstU32, Convert as C1, Convert as C2, EnsureAdd, Hash, - One, Zero, + One, StaticLookup, Zero, }, BoundedVec, BuildStorage, DispatchError, FixedPointNumber, Perquintill, SaturatedConversion, WeakBoundedVec, }; use staging_xcm::{ - latest::NetworkId, prelude::XCM_VERSION, - v3::{ - AssetId, Fungibility, Junction, Junction::*, Junctions, Junctions::*, MultiAsset, - MultiAssets, MultiLocation, WeightLimit, + v4::{ + Asset, AssetId, Assets, Fungibility, Junction, Junction::*, Junctions, Junctions::*, + Location, NetworkId, WeightLimit, }, - VersionedMultiAsset, VersionedMultiAssets, VersionedMultiLocation, + VersionedAsset, VersionedAssets, VersionedLocation, }; use crate::{ generic::{ config::Runtime, env::{Blocks, Env}, - envs::fudge_env::{handle::FudgeHandle, FudgeEnv, FudgeSupport}, + envs::fudge_env::{handle::FudgeHandle, FudgeEnv, FudgeRelayRuntime, FudgeSupport}, utils::{ democracy::execute_via_democracy, evm::mint_balance_into_derived_account, genesis, - genesis::Genesis, + genesis::Genesis, xcm::setup_xcm, }, }, utils::accounts::Keyring, }; +mod orml_asset_registry { + // orml_asset_registry has remove the reexport of all pallet stuff, + // we reexport it again here + pub use orml_asset_registry::module::*; +} + /// The AUSD asset id pub const AUSD_CURRENCY_ID: CurrencyId = CurrencyId::ForeignAsset(3); /// The USDT asset id @@ -102,72 +107,12 @@ pub mod utils { } } - pub fn setup_xcm(env: &mut FudgeEnv) { - env.parachain_state_mut(|| { - // Set the XCM version used when sending XCM messages to sibling. - assert_ok!(pallet_xcm::Pallet::::force_xcm_version( - ::RuntimeOrigin::root(), - Box::new(MultiLocation::new( - 1, - Junctions::X1(Junction::Parachain(T::FudgeHandle::SIBLING_ID)), - )), - XCM_VERSION, - )); - }); - - env.sibling_state_mut(|| { - // Set the XCM version used when sending XCM messages to parachain. - assert_ok!(pallet_xcm::Pallet::::force_xcm_version( - ::RuntimeOrigin::root(), - Box::new(MultiLocation::new( - 1, - Junctions::X1(Junction::Parachain(T::FudgeHandle::PARA_ID)), - )), - XCM_VERSION, - )); - }); - - env.relay_state_mut(|| { - assert_ok!(polkadot_runtime_parachains::hrmp::Pallet::< - FudgeRelayRuntime, - >::force_open_hrmp_channel( - as frame_system::Config>::RuntimeOrigin::root(), - Id::from(T::FudgeHandle::PARA_ID), - Id::from(T::FudgeHandle::SIBLING_ID), - 10, - 1024, - )); - - assert_ok!(polkadot_runtime_parachains::hrmp::Pallet::< - FudgeRelayRuntime, - >::force_open_hrmp_channel( - as frame_system::Config>::RuntimeOrigin::root(), - Id::from(T::FudgeHandle::SIBLING_ID), - Id::from(T::FudgeHandle::PARA_ID), - 10, - 1024, - )); - - assert_ok!(polkadot_runtime_parachains::hrmp::Pallet::< - FudgeRelayRuntime, - >::force_process_hrmp_open( - as frame_system::Config>::RuntimeOrigin::root(), - 0, - )); - }); - - env.pass(Blocks::ByNumber(1)); - } - pub fn setup_usdc_xcm(env: &mut FudgeEnv) { env.parachain_state_mut(|| { // Set the XCM version used when sending XCM messages to USDC parachain. assert_ok!(pallet_xcm::Pallet::::force_xcm_version( ::RuntimeOrigin::root(), - Box::new(MultiLocation::new( - 1, - Junctions::X1(Junction::Parachain(1000)), - )), + Box::new(Location::new(1, Junction::Parachain(1000))), XCM_VERSION, )); }); @@ -187,7 +132,7 @@ pub mod utils { FudgeRelayRuntime, >::force_process_hrmp_open( as frame_system::Config>::RuntimeOrigin::root(), - 0, + 2, )); }); @@ -200,12 +145,12 @@ pub mod utils { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), general_key(parachains::kusama::karura::AUSD_KEY), - ), + ], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -269,8 +214,6 @@ pub mod utils { } } -type FudgeRelayRuntime = <::FudgeHandle as FudgeHandle>::RelayRuntime; - use utils::*; mod development { @@ -366,9 +309,9 @@ mod development { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: GLMR_ED, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2(Parachain(T::FudgeHandle::SIBLING_ID), general_key(&[0, 1])), + [Parachain(T::FudgeHandle::SIBLING_ID), general_key(&[0, 1])], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -385,7 +328,7 @@ mod development { pub fn set_test_domain_router( evm_chain_id: u64, - xcm_domain_location: VersionedMultiLocation, + xcm_domain_location: VersionedLocation, currency_id: CurrencyId, ) { let ethereum_xcm_router = EthereumXCMRouter:: { @@ -430,16 +373,16 @@ mod development { .expect("Tranche at index 0 exists") } - /// Returns a `VersionedMultiLocation` that can be converted into + /// Returns a `VersionedLocation` that can be converted into /// `LiquidityPoolsWrappedToken` which is required for cross chain asset /// registration and transfer. pub fn liquidity_pools_transferable_multilocation( chain_id: u64, address: [u8; 20], - ) -> VersionedMultiLocation { - VersionedMultiLocation::V3(MultiLocation { - parents: 0, - interior: X3( + ) -> VersionedLocation { + VersionedLocation::V4(Location::new( + 0, + [ PalletInstance( ::PalletInfo::index::< pallet_liquidity_pools::Pallet, @@ -452,8 +395,8 @@ mod development { network: None, key: address, }, - ), - }) + ], + )) } /// Enables `LiquidityPoolsTransferable` in the custom asset metadata @@ -506,11 +449,7 @@ mod development { set_test_domain_router::( MOONBEAM_EVM_CHAIN_ID, - MultiLocation::new( - 1, - Junctions::X1(Junction::Parachain(T::FudgeHandle::SIBLING_ID)), - ) - .into(), + Location::new(1, Junction::Parachain(T::FudgeHandle::SIBLING_ID)).into(), GLMR_CURRENCY_ID, ); }); @@ -788,9 +727,9 @@ mod development { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: USDT_ED, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X3(Parachain(1000), PalletInstance(50), GeneralIndex(1984)), + [Parachain(1000), PalletInstance(50), GeneralIndex(1984)], ))), additional: CustomMetadata { transferability: CrossChainTransferability::LiquidityPools, @@ -1226,7 +1165,7 @@ mod development { ); // Should fail to add currency_id which is missing a registered - // MultiLocation + // Location let currency_id = CurrencyId::ForeignAsset(100); assert_ok!(orml_asset_registry::Pallet::::register_asset( @@ -1256,7 +1195,7 @@ mod development { pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsWrappedToken ); - // Add convertable MultiLocation to metadata but remove transferability + // Add convertable Location to metadata but remove transferability assert_ok!(orml_asset_registry::Pallet::::update_asset( ::RuntimeOrigin::root(), currency_id, @@ -1453,7 +1392,7 @@ mod development { pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsTransferable ); - // Should fail if currency does not have any MultiLocation in metadata + // Should fail if currency does not have any Location in metadata assert_ok!(orml_asset_registry::Pallet::::update_asset( ::RuntimeOrigin::root(), currency_id, @@ -1490,7 +1429,7 @@ mod development { None, // Changed: Add some location which cannot be converted to // LiquidityPoolsWrappedToken - Some(Some(VersionedMultiLocation::V3(Default::default()))), + Some(Some(VersionedLocation::V4(Default::default()))), // No change for transferability required as it is already allowed for // LiquidityPools None, @@ -1648,7 +1587,7 @@ mod development { pallet_liquidity_pools::Error::::AssetNotLiquidityPoolsTransferable ); - // Should fail if currency does not have any MultiLocation in metadata + // Should fail if currency does not have any Location in metadata assert_ok!(orml_asset_registry::Pallet::::update_asset( ::RuntimeOrigin::root(), currency_id, @@ -1685,7 +1624,7 @@ mod development { None, // Changed: Add some location which cannot be converted to // LiquidityPoolsWrappedToken - Some(Some(VersionedMultiLocation::V3(Default::default()))), + Some(Some(VersionedLocation::V4(Default::default()))), // No change for transferability required as it is already allowed for // LiquidityPools None, @@ -4559,12 +4498,12 @@ mod development { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), general_key(parachains::polkadot::centrifuge::CFG_KEY), - ), + ], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -4610,15 +4549,15 @@ mod development { CurrencyId::Native, transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), }, - ), + ], ) .into() ), @@ -4640,7 +4579,7 @@ mod development { ); }); - env.pass(Blocks::ByNumber(1)); + env.pass(Blocks::ByNumber(2)); env.sibling_state(|| { let current_balance = @@ -4706,15 +4645,15 @@ mod development { cfg_in_sibling, sibling_to_para_transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), Junction::AccountId32 { network: None, id: Keyring::Charlie.into(), } - ) + ] ) .into() ), @@ -4728,7 +4667,7 @@ mod development { ); }); - env.pass(Blocks::ByNumber(2)); + env.pass(Blocks::ByNumber(3)); env.parachain_state(|| { // Verify that Charlie's balance equals the amount transferred - fee @@ -4932,11 +4871,7 @@ mod development { env.parachain_state_mut(|| { let domain_router = router_creation_fn( - MultiLocation { - parents: 1, - interior: X1(Parachain(T::FudgeHandle::SIBLING_ID)), - } - .into(), + Location::new(1, Parachain(T::FudgeHandle::SIBLING_ID)).into(), GLMR_CURRENCY_ID, ); @@ -4979,14 +4914,12 @@ mod development { } type RouterCreationFn = - Box DomainRouter>; + Box DomainRouter>; pub fn get_axelar_xcm_router_fn() -> RouterCreationFn { Box::new( - |location: VersionedMultiLocation, - currency_id: CurrencyId| - -> DomainRouter { + |location: VersionedLocation, currency_id: CurrencyId| -> DomainRouter { let router = AxelarXCMRouter:: { router: XCMRouter { xcm_domain: XcmDomain { @@ -5022,9 +4955,7 @@ mod development { pub fn get_ethereum_xcm_router_fn() -> RouterCreationFn { Box::new( - |location: VersionedMultiLocation, - currency_id: CurrencyId| - -> DomainRouter { + |location: VersionedLocation, currency_id: CurrencyId| -> DomainRouter { let router = EthereumXCMRouter:: { router: XCMRouter { xcm_domain: XcmDomain { @@ -5272,12 +5203,12 @@ mod altair { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2( + [ Parachain(parachains::kusama::altair::ID), general_key(parachains::kusama::altair::AIR_KEY), - ), + ], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -5298,7 +5229,7 @@ mod altair { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new(1, Here))), + location: Some(VersionedLocation::V4(Location::new(1, Here))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), ..CustomMetadata::default() @@ -5362,12 +5293,12 @@ mod altair { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), general_key(parachains::kusama::altair::AIR_KEY), - ), + ], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -5393,12 +5324,12 @@ mod altair { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), general_key(parachains::kusama::altair::AIR_KEY), - ), + ], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -5420,15 +5351,15 @@ mod altair { CurrencyId::Native, transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), } - ) + ] ) .into() ), @@ -5450,7 +5381,7 @@ mod altair { ); }); - env.pass(Blocks::ByNumber(1)); + env.pass(Blocks::ByNumber(2)); env.sibling_state_mut(|| { let current_balance = @@ -5510,15 +5441,15 @@ mod altair { air_in_sibling, transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), Junction::AccountId32 { network: None, id: Keyring::Alice.into(), } - ) + ] ) .into() ), @@ -5532,7 +5463,7 @@ mod altair { ); }); - env.pass(Blocks::ByNumber(2)); + env.pass(Blocks::ByNumber(3)); env.parachain_state_mut(|| { // Verify that Keyring::Alice now has initial balance + amount transferred - fee @@ -5592,15 +5523,15 @@ mod altair { AUSD_CURRENCY_ID, transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), } - ) + ] ) .into() ), @@ -5626,7 +5557,7 @@ mod altair { ); }); - env.pass(Blocks::ByNumber(2)); + env.pass(Blocks::ByNumber(3)); env.parachain_state_mut(|| { // Verify that Keyring::Bob now has initial balance + amount transferred - fee @@ -5660,7 +5591,9 @@ mod altair { assert_ok!( pallet_balances::Pallet::>::force_set_balance( as frame_system::Config>::RuntimeOrigin::root(), - Keyring::Alice.to_account_id().into(), + as frame_system::Config>::Lookup::unlookup( + Keyring::Alice.id() + ), transfer_amount * 2, ) ); @@ -5668,9 +5601,9 @@ mod altair { assert_ok!( pallet_xcm::Pallet::>::force_xcm_version( as frame_system::Config>::RuntimeOrigin::root(), - Box::new(MultiLocation::new( + Box::new(Location::new( 0, - Junctions::X1(Junction::Parachain(T::FudgeHandle::PARA_ID)), + Junction::Parachain(T::FudgeHandle::PARA_ID), )), XCM_VERSION, ) @@ -5693,7 +5626,7 @@ mod altair { ); }); - env.pass(Blocks::ByNumber(1)); + env.pass(Blocks::ByNumber(2)); env.parachain_state(|| { assert_eq!( @@ -5714,7 +5647,7 @@ mod altair { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new(1, Here))), + location: Some(VersionedLocation::V4(Location::new(1, Here))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), ..CustomMetadata::default() @@ -5729,7 +5662,7 @@ mod altair { env.parachain_state_mut(|| { assert_ok!(pallet_xcm::Pallet::::force_xcm_version( ::RuntimeOrigin::root(), - Box::new(MultiLocation::new(1, Junctions::Here)), + Box::new(Location::new(1, Junctions::Here)), XCM_VERSION, )); @@ -5738,12 +5671,12 @@ mod altair { currency_id, ksm(1), Box::new( - MultiLocation::new( + Location::new( 1, - X1(Junction::AccountId32 { + Junction::AccountId32 { id: Keyring::Bob.into(), network: None, - }) + } ) .into() ), @@ -5751,14 +5684,14 @@ mod altair { )); }); - env.pass(Blocks::ByNumber(1)); + env.pass(Blocks::ByNumber(2)); env.relay_state_mut(|| { assert_eq!( pallet_balances::Pallet::>::free_balance( &Keyring::Bob.into() ), - 999918220455 + 999989698923 ); }); } @@ -5774,16 +5707,16 @@ mod altair { setup_xcm(&mut env); let sibling_asset_id = CurrencyId::ForeignAsset(1); - let asset_location = MultiLocation::new( + let asset_location = Location::new( 1, - X2(Parachain(T::FudgeHandle::SIBLING_ID), general_key(&[0, 1])), + [Parachain(T::FudgeHandle::SIBLING_ID), general_key(&[0, 1])], ); let meta: AssetMetadata = AssetMetadata { decimals: 18, name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(asset_location)), + location: Some(VersionedLocation::V4(asset_location)), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(XcmMetadata { // We specify a custom fee_per_second and verify below that this value is @@ -5827,15 +5760,15 @@ mod altair { CurrencyId::Native, transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), } - ) + ] ) .into() ), @@ -5849,7 +5782,7 @@ mod altair { ); }); - env.pass(Blocks::ByNumber(2)); + env.pass(Blocks::ByNumber(3)); env.parachain_state_mut(|| { let bob_balance = @@ -5884,19 +5817,19 @@ mod altair { setup_xcm(&mut env); let usdc_asset_id = CurrencyId::ForeignAsset(39); - let asset_location = MultiLocation::new( + let asset_location = Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), general_key("0x02f3a00dd12f644daec907013b16eb6d14bf1c4cb4".as_bytes()), - ), + ], ); let meta: AssetMetadata = AssetMetadata { decimals: 6, name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1, - location: Some(VersionedMultiLocation::V3(asset_location)), + location: Some(VersionedLocation::V4(asset_location)), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), ..CustomMetadata::default() @@ -5941,15 +5874,15 @@ mod altair { usdc_asset_id, transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), } - ) + ] ) .into() ), @@ -5963,7 +5896,7 @@ mod altair { ); }); - env.pass(Blocks::ByNumber(2)); + env.pass(Blocks::ByNumber(3)); env.parachain_state_mut(|| { let bob_balance = @@ -5988,9 +5921,9 @@ mod altair { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 0, - X1(general_key(parachains::kusama::altair::AIR_KEY)), + general_key(parachains::kusama::altair::AIR_KEY), ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -6016,12 +5949,12 @@ mod altair { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), general_key(parachains::kusama::karura::AUSD_KEY), - ), + ], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -6048,9 +5981,9 @@ mod altair { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2(Parachain(2000), general_key(&[42])), + [Parachain(2000), general_key(&[42])], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -6084,8 +6017,8 @@ mod altair { env.parachain_state_mut(|| { // The way AIR is represented relative within the Altair runtime - let air_location_inner: MultiLocation = - MultiLocation::new(0, X1(general_key(parachains::kusama::altair::AIR_KEY))); + let air_location_inner: Location = + Location::new(0, general_key(parachains::kusama::altair::AIR_KEY)); // register air register_air::(); @@ -6096,12 +6029,12 @@ mod altair { ); // The canonical way AIR is represented out in the wild - let air_location_canonical: MultiLocation = MultiLocation::new( + let air_location_canonical: Location = Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), general_key(parachains::kusama::altair::AIR_KEY), - ), + ], ); assert_eq!( @@ -6120,17 +6053,17 @@ mod altair { let tranche_currency = CurrencyId::Tranche(401, [0; 16]); let tranche_id = WeakBoundedVec::>::force_from(tranche_currency.encode(), None); - let tranche_multilocation = MultiLocation { - parents: 1, - interior: X3( + let tranche_multilocation = Location::new( + 1, + [ Parachain(T::FudgeHandle::PARA_ID), PalletInstance(PoolPalletIndex::get()), GeneralKey { length: tranche_id.len() as u8, data: vec_to_fixed_array(tranche_id.to_vec()), }, - ), - }; + ], + ); env.parachain_state_mut(|| { assert_eq!( @@ -6154,12 +6087,12 @@ mod altair { env.parachain_state_mut(|| { assert_eq!(parachains::kusama::karura::AUSD_KEY, &[0, 129]); - let ausd_location: MultiLocation = MultiLocation::new( + let ausd_location: Location = Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), general_key(parachains::kusama::karura::AUSD_KEY), - ), + ], ); register_ausd::(); @@ -6180,13 +6113,13 @@ mod altair { fn convert_ksm() { let mut env = FudgeEnv::::default(); - let ksm_location: MultiLocation = MultiLocation::parent().into(); + let ksm_location: Location = Location::parent().into(); env.parachain_state_mut(|| { register_ksm::(); assert_eq!( - >::convert(ksm_location), + >::convert(ksm_location.clone()), Some(KSM_ASSET_ID), ); @@ -6201,10 +6134,8 @@ mod altair { fn convert_unkown_multilocation() { let mut env = FudgeEnv::::default(); - let unknown_location: MultiLocation = MultiLocation::new( - 1, - X2(Parachain(T::FudgeHandle::PARA_ID), general_key(&[42])), - ); + let unknown_location: Location = + Location::new(1, [Parachain(T::FudgeHandle::PARA_ID), general_key(&[42])]); env.parachain_state_mut(|| { assert!(>::convert(unknown_location).is_none()); @@ -6234,8 +6165,6 @@ mod centrifuge { use super::*; mod utils { - use staging_xcm::v3::NetworkId; - use super::*; /// The test asset id attributed to DOT @@ -6256,7 +6185,7 @@ mod centrifuge { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 100_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::parent())), + location: Some(VersionedLocation::V4(Location::parent())), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), ..CustomMetadata::default() @@ -6275,16 +6204,16 @@ mod centrifuge { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 0, - X3( + [ PalletInstance(103), GlobalConsensus(NetworkId::Ethereum { chain_id: 1 }), AccountKey20 { network: None, key: hex_literal::hex!("a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"), }, - ), + ], ))), additional: CustomMetadata { transferability: CrossChainTransferability::LiquidityPools, @@ -6305,13 +6234,13 @@ mod centrifuge { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X3( + [ Junction::Parachain(1000), Junction::PalletInstance(50), Junction::GeneralIndex(1337), - ), + ], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -6333,12 +6262,12 @@ mod centrifuge { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2( + [ Parachain(para_id), general_key(parachains::polkadot::centrifuge::CFG_KEY), - ), + ], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -6362,20 +6291,18 @@ mod centrifuge { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V2( - staging_xcm::v2::MultiLocation::new( - 1, - staging_xcm::v2::Junctions::X2( - staging_xcm::v2::Junction::Parachain(T::FudgeHandle::PARA_ID), - staging_xcm::v2::Junction::GeneralKey( - WeakBoundedVec::>::force_from( - parachains::polkadot::centrifuge::CFG_KEY.into(), - None, - ), + location: Some(VersionedLocation::V2(staging_xcm::v2::MultiLocation::new( + 1, + staging_xcm::v2::Junctions::X2( + staging_xcm::v2::Junction::Parachain(T::FudgeHandle::PARA_ID), + staging_xcm::v2::Junction::GeneralKey( + WeakBoundedVec::>::force_from( + parachains::polkadot::centrifuge::CFG_KEY.into(), + None, ), ), ), - )), + ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), ..CustomMetadata::default() @@ -6456,7 +6383,9 @@ mod centrifuge { assert_ok!( pallet_balances::Pallet::>::force_set_balance( as frame_system::Config>::RuntimeOrigin::root(), - Keyring::Alice.to_account_id().into(), + as frame_system::Config>::Lookup::unlookup( + Keyring::Alice.id() + ), alice_initial_dot, ) ); @@ -6464,9 +6393,9 @@ mod centrifuge { assert_ok!( pallet_xcm::Pallet::>::force_xcm_version( as frame_system::Config>::RuntimeOrigin::root(), - Box::new(MultiLocation::new( + Box::new(Location::new( 0, - Junctions::X1(Junction::Parachain(T::FudgeHandle::PARA_ID)), + Junction::Parachain(T::FudgeHandle::PARA_ID), )), XCM_VERSION, ) @@ -6492,11 +6421,11 @@ mod centrifuge { pallet_balances::Pallet::>::free_balance( &Keyring::Alice.into() ), - alice_initial_dot - transfer_amount + 69867666991 // Comes from alice_initial_dot - transfer_amount with noise ); }); - env.pass(Blocks::ByNumber(1)); + env.pass(Blocks::ByNumber(2)); env.parachain_state(|| { assert_eq!( @@ -6522,9 +6451,9 @@ mod centrifuge { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 0, - X1(general_key(parachains::polkadot::centrifuge::CFG_KEY)), + general_key(parachains::polkadot::centrifuge::CFG_KEY), ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -6550,12 +6479,12 @@ mod centrifuge { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2( + [ Parachain(parachains::polkadot::acala::ID), general_key(parachains::polkadot::acala::AUSD_KEY), - ), + ], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -6582,9 +6511,9 @@ mod centrifuge { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2(Parachain(2000), general_key(&[42])), + [Parachain(2000), general_key(&[42])], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -6618,10 +6547,8 @@ mod centrifuge { env.parachain_state_mut(|| { // The way CFG is represented relative within the Centrifuge runtime - let cfg_location_inner: MultiLocation = MultiLocation::new( - 0, - X1(general_key(parachains::polkadot::centrifuge::CFG_KEY)), - ); + let cfg_location_inner: Location = + Location::new(0, general_key(parachains::polkadot::centrifuge::CFG_KEY)); register_cfg::(T::FudgeHandle::PARA_ID); @@ -6631,12 +6558,12 @@ mod centrifuge { ); // The canonical way CFG is represented out in the wild - let cfg_location_canonical: MultiLocation = MultiLocation::new( + let cfg_location_canonical: Location = Location::new( 1, - X2( + [ Parachain(parachains::polkadot::centrifuge::ID), general_key(parachains::polkadot::centrifuge::CFG_KEY), - ), + ], ); assert_eq!( @@ -6647,7 +6574,7 @@ mod centrifuge { } /// Verify that even with CFG registered in the AssetRegistry with a XCM - /// v2 MultiLocation, that `CurrencyIdConvert` can look it up given an + /// v2 Location, that `CurrencyIdConvert` can look it up given an /// identical location in XCM v3. #[test_runtimes([centrifuge])] fn convert_cfg_xcm_v2() { @@ -6660,10 +6587,8 @@ mod centrifuge { register_cfg_v2::(); // The way CFG is represented relative within the Centrifuge runtime in xcm v3 - let cfg_location_inner: MultiLocation = MultiLocation::new( - 0, - X1(general_key(parachains::polkadot::centrifuge::CFG_KEY)), - ); + let cfg_location_inner: Location = + Location::new(0, general_key(parachains::polkadot::centrifuge::CFG_KEY)); assert_eq!( >::convert(cfg_location_inner), @@ -6671,12 +6596,12 @@ mod centrifuge { ); // The canonical way CFG is represented out in the wild - let cfg_location_canonical: MultiLocation = MultiLocation::new( + let cfg_location_canonical: Location = Location::new( 1, - X2( + [ Parachain(parachains::polkadot::centrifuge::ID), general_key(parachains::polkadot::centrifuge::CFG_KEY), - ), + ], ); assert_eq!( @@ -6706,13 +6631,13 @@ mod centrifuge { fn convert_dot() { let mut env = FudgeEnv::::default(); - let dot_location: MultiLocation = MultiLocation::parent(); + let dot_location: Location = Location::parent(); env.parachain_state_mut(|| { register_dot::(); assert_eq!( - >::convert(dot_location), + >::convert(dot_location.clone()), Some(DOT_ASSET_ID), ); @@ -6727,12 +6652,12 @@ mod centrifuge { fn convert_unknown_multilocation() { let mut env = FudgeEnv::::default(); - let unknown_location: MultiLocation = MultiLocation::new( + let unknown_location: Location = Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), general_key([42].as_ref()), - ), + ], ); env.parachain_state_mut(|| { @@ -6764,21 +6689,25 @@ mod centrifuge { const TRANSFER_AMOUNT: u128 = 10; - fn xcm_location() -> MultiLocation { - MultiLocation::new( + fn xcm_location() -> VersionedLocation { + VersionedLocation::V4(Location::new( 1, - X1(AccountId32 { + AccountId32 { id: Keyring::Alice.into(), network: None, - }), - ) + }, + )) } - fn allowed_xcm_location() -> Location { - Location::XCM(BlakeTwo256::hash(&xcm_location().encode())) + fn allowed_xcm_location() -> RestrictedTransferLocation { + RestrictedTransferLocation::Xcm(Box::new(xcm_location())) } - fn add_allowance(account: Keyring, asset: CurrencyId, location: Location) { + fn add_allowance( + account: Keyring, + asset: CurrencyId, + location: RestrictedTransferLocation, + ) { assert_ok!( pallet_transfer_allowlist::Pallet::::add_transfer_allowance( RawOrigin::Signed(account.into()).into(), @@ -6812,7 +6741,7 @@ mod centrifuge { pallet_transfer_allowlist::Pallet::::add_transfer_allowance( RawOrigin::Signed(Keyring::Alice.into()).into(), FilterCurrency::All, - Location::Local(Keyring::Bob.to_account_id()) + RestrictedTransferLocation::Local(Keyring::Bob.to_account_id()) ) ); @@ -6825,13 +6754,13 @@ mod centrifuge { ) }); - let call = pallet_balances::Call::::transfer { + let call = pallet_balances::Call::::transfer_allow_death { dest: Keyring::Charlie.into(), value: cfg(TRANSFER_AMOUNT), }; env.submit_now(Keyring::Alice, call).unwrap(); - let call = pallet_balances::Call::::transfer { + let call = pallet_balances::Call::::transfer_allow_death { dest: Keyring::Bob.into(), value: cfg(TRANSFER_AMOUNT), }; @@ -6876,7 +6805,7 @@ mod centrifuge { pallet_transfer_allowlist::Pallet::::add_transfer_allowance( RawOrigin::Signed(Keyring::Alice.into()).into(), FilterCurrency::All, - Location::Local(Keyring::Bob.to_account_id()) + RestrictedTransferLocation::Local(Keyring::Bob.to_account_id()) ) ); }); @@ -7019,7 +6948,7 @@ mod centrifuge { add_allowance::( Keyring::Alice, LP_ETH_USDC, - Location::Local(Keyring::Bob.to_account_id()), + RestrictedTransferLocation::Local(Keyring::Bob.to_account_id()), ); assert_noop!( @@ -7109,8 +7038,7 @@ mod centrifuge { router: XCMRouter { xcm_domain: XcmDomain { location: Box::new( - MultiLocation::new(1, X1(Parachain(T::FudgeHandle::SIBLING_ID))) - .into(), + Location::new(1, Parachain(T::FudgeHandle::SIBLING_ID)).into(), ), ethereum_xcm_transact_call_index: BoundedVec::truncate_from(vec![ 38, 0, @@ -7146,7 +7074,7 @@ mod centrifuge { add_allowance::( Keyring::Alice, LP_ETH_USDC, - Location::Address(domain_address.clone()), + RestrictedTransferLocation::Address(domain_address.clone()), ); assert_noop!( @@ -7203,7 +7131,7 @@ mod centrifuge { add_allowance::( Keyring::Alice, USDC, - Location::Local(Keyring::Bob.to_account_id()), + RestrictedTransferLocation::Local(Keyring::Bob.to_account_id()), ); assert_noop!( @@ -7269,6 +7197,15 @@ mod centrifuge { Default::default(), ); + // Configuring XCM in this test fails because the Hrmp + // configuration is not applied. We force the application here, + // but we should configure correctly this because something is off. + env.relay_state_mut(|| { + polkadot_runtime_parachains::configuration::Pallet::>::force_set_active_config( + crate::generic::envs::fudge_env::handle::hrmp_host_config() + ); + }); + setup_xcm(&mut env); setup_usdc_xcm(&mut env); @@ -7292,19 +7229,18 @@ mod centrifuge { pallet_transfer_allowlist::Pallet::::add_transfer_allowance( RawOrigin::Signed(Keyring::Alice.into()).into(), FilterCurrency::Specific(USDC), - Location::XCM(BlakeTwo256::hash( - &MultiLocation::new( + RestrictedTransferLocation::Xcm(Box::new(VersionedLocation::V4( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), Junction::AccountId32 { id: Keyring::Alice.into(), network: None, } - ) + ] ) - .encode() - )) + ))) ) ); @@ -7314,15 +7250,15 @@ mod centrifuge { USDC, usdc(1_000), Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), Junction::AccountId32 { id: Keyring::Bob.into(), network: None, } - ) + ] ) .into() ), @@ -7336,15 +7272,15 @@ mod centrifuge { USDC, usdc(1_000), Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), Junction::AccountId32 { id: Keyring::Alice.into(), network: None, } - ) + ] ) .into() ), @@ -7400,7 +7336,7 @@ mod centrifuge { add_allowance::( Keyring::Alice, DOT_ASSET_ID, - Location::Local(Keyring::Bob.to_account_id()), + RestrictedTransferLocation::Local(Keyring::Bob.to_account_id()), ); assert_noop!( @@ -7470,7 +7406,7 @@ mod centrifuge { assert_ok!(pallet_xcm::Pallet::::force_xcm_version( ::RuntimeOrigin::root(), - Box::new(MultiLocation::new(1, Junctions::Here)), + Box::new(Location::new(1, Junctions::Here)), XCM_VERSION, )); @@ -7488,12 +7424,12 @@ mod centrifuge { DOT_ASSET_ID, dot(1), Box::new( - MultiLocation::new( + Location::new( 1, - X1(Junction::AccountId32 { + Junction::AccountId32 { id: Keyring::Bob.into(), network: None, - }) + } ) .into() ), @@ -7507,12 +7443,12 @@ mod centrifuge { DOT_ASSET_ID, dot(1), Box::new( - MultiLocation::new( + Location::new( 1, - X1(Junction::AccountId32 { + Junction::AccountId32 { id: Keyring::Alice.into(), network: None, - }) + } ) .into() ), @@ -7525,14 +7461,14 @@ mod centrifuge { ); }); - env.pass(Blocks::ByNumber(1)); + env.pass(Blocks::ByNumber(2)); env.relay_state_mut(|| { assert_eq!( pallet_balances::Pallet::>::free_balance( &Keyring::Alice.into() ), - 79978937205 + 79857365914 ); }); } @@ -7552,12 +7488,12 @@ mod centrifuge { name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(MultiLocation::new( + location: Some(VersionedLocation::V4(Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), general_key(parachains::polkadot::centrifuge::CFG_KEY), - ), + ], ))), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), @@ -7603,15 +7539,15 @@ mod centrifuge { CurrencyId::Native, transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), } - ) + ] ) .into() ), @@ -7633,7 +7569,7 @@ mod centrifuge { ); }); - env.pass(Blocks::ByNumber(1)); + env.pass(Blocks::ByNumber(2)); env.sibling_state_mut(|| { let current_balance = @@ -7694,15 +7630,15 @@ mod centrifuge { cfg_in_sibling, transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), Junction::AccountId32 { network: None, id: Keyring::Alice.into(), } - ) + ] ) .into() ), @@ -7716,7 +7652,7 @@ mod centrifuge { ); }); - env.pass(Blocks::ByNumber(2)); + env.pass(Blocks::ByNumber(3)); env.parachain_state_mut(|| { // Verify that Keyring::Alice now has initial balance + amount transferred - fee @@ -7776,15 +7712,15 @@ mod centrifuge { AUSD_CURRENCY_ID, transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), } - ) + ] ) .into() ), @@ -7810,7 +7746,7 @@ mod centrifuge { ); }); - env.pass(Blocks::ByNumber(2)); + env.pass(Blocks::ByNumber(3)); env.parachain_state_mut(|| { // Verify that Keyring::Bob now has initial balance + amount transferred - fee @@ -7833,7 +7769,7 @@ mod centrifuge { assert_ok!(pallet_xcm::Pallet::::force_xcm_version( ::RuntimeOrigin::root(), - Box::new(MultiLocation::new(1, Junctions::Here)), + Box::new(Location::new(1, Junctions::Here)), XCM_VERSION, )); @@ -7842,12 +7778,12 @@ mod centrifuge { DOT_ASSET_ID, dot(1), Box::new( - MultiLocation::new( + Location::new( 1, - X1(Junction::AccountId32 { + Junction::AccountId32 { id: Keyring::Alice.into(), network: None, - }) + } ) .into() ), @@ -7860,14 +7796,14 @@ mod centrifuge { ); }); - env.pass(Blocks::ByNumber(1)); + env.pass(Blocks::ByNumber(2)); env.relay_state_mut(|| { assert_eq!( pallet_balances::Pallet::>::free_balance( &Keyring::Alice.into() ), - 79978937205 + 79857365914 ); }); } @@ -7883,16 +7819,16 @@ mod centrifuge { setup_xcm(&mut env); let sibling_asset_id = CurrencyId::ForeignAsset(1); - let asset_location = MultiLocation::new( + let asset_location = Location::new( 1, - X2(Parachain(T::FudgeHandle::SIBLING_ID), general_key(&[0, 1])), + [Parachain(T::FudgeHandle::SIBLING_ID), general_key(&[0, 1])], ); let meta: AssetMetadata = AssetMetadata { decimals: 18, name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1_000_000_000_000, - location: Some(VersionedMultiLocation::V3(asset_location)), + location: Some(VersionedLocation::V4(asset_location)), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(XcmMetadata { // We specify a custom fee_per_second and verify below that this value is @@ -7937,15 +7873,15 @@ mod centrifuge { CurrencyId::Native, transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), } - ) + ] ) .into() ), @@ -7959,7 +7895,7 @@ mod centrifuge { ); }); - env.pass(Blocks::ByNumber(2)); + env.pass(Blocks::ByNumber(3)); env.parachain_state_mut(|| { let bob_balance = @@ -7994,19 +7930,19 @@ mod centrifuge { setup_xcm(&mut env); let usdc_asset_id = CurrencyId::ForeignAsset(39); - let asset_location = MultiLocation::new( + let asset_location = Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), general_key("0x02f3a00dd12f644daec907013b16eb6d14bf1c4cb4".as_bytes()), - ), + ], ); let meta: AssetMetadata = AssetMetadata { decimals: 6, name: BoundedVec::default(), symbol: BoundedVec::default(), existential_deposit: 1, - location: Some(VersionedMultiLocation::V3(asset_location)), + location: Some(VersionedLocation::V4(asset_location)), additional: CustomMetadata { transferability: CrossChainTransferability::Xcm(Default::default()), ..CustomMetadata::default() @@ -8050,15 +7986,15 @@ mod centrifuge { usdc_asset_id, transfer_amount, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::PARA_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), } - ) + ] ) .into() ), @@ -8071,7 +8007,7 @@ mod centrifuge { ); }); - env.pass(Blocks::ByNumber(2)); + env.pass(Blocks::ByNumber(3)); env.parachain_state_mut(|| { let bob_balance = @@ -8101,15 +8037,15 @@ mod all { CurrencyId::Tranche(401, [0; 16]), 42, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), } - ) + ] ) .into() ), @@ -8127,19 +8063,19 @@ mod all { let tranche_currency = CurrencyId::Tranche(401, [0; 16]); let tranche_id = WeakBoundedVec::>::force_from(tranche_currency.encode(), None); - let tranche_location = MultiLocation { - parents: 1, - interior: X3( + let tranche_location = Location::new( + 1, + [ Parachain(123), PalletInstance(42), GeneralKey { length: tranche_id.len() as u8, data: vec_to_fixed_array(tranche_id.to_vec()), }, - ), - }; - let tranche_multi_asset = VersionedMultiAsset::from(MultiAsset::from(( - AssetId::Concrete(tranche_location), + ], + ); + let tranche_asset = VersionedAsset::from(Asset::from(( + AssetId(tranche_location), Fungibility::Fungible(42), ))); @@ -8147,17 +8083,17 @@ mod all { assert_noop!( orml_xtokens::Pallet::::transfer_multiasset( RawOrigin::Signed(Keyring::Alice.into()).into(), - Box::new(tranche_multi_asset), + Box::new(tranche_asset), Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), } - ) + ] ) .into() ), @@ -8175,40 +8111,35 @@ mod all { let tranche_currency = CurrencyId::Tranche(401, [0; 16]); let tranche_id = WeakBoundedVec::>::force_from(tranche_currency.encode(), None); - let tranche_location = MultiLocation { - parents: 1, - interior: X3( + let tranche_location = Location::new( + 1, + [ Parachain(123), PalletInstance(42), GeneralKey { length: tranche_id.len() as u8, data: vec_to_fixed_array(tranche_id.to_vec()), }, - ), - }; - let tranche_multi_asset = MultiAsset::from(( - AssetId::Concrete(tranche_location), - Fungibility::Fungible(42), - )); + ], + ); + let tranche_asset = Asset::from((AssetId(tranche_location), Fungibility::Fungible(42))); env.parachain_state_mut(|| { assert_noop!( orml_xtokens::Pallet::::transfer_multiassets( RawOrigin::Signed(Keyring::Alice.into()).into(), - Box::new(VersionedMultiAssets::from(MultiAssets::from(vec![ - tranche_multi_asset - ]))), + Box::new(VersionedAssets::from(Assets::from(vec![tranche_asset]))), 0, Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), Junction::AccountId32 { network: None, id: Keyring::Bob.into(), } - ) + ] ) .into() ), diff --git a/runtime/integration-tests/src/generic/cases/precompile.rs b/runtime/integration-tests/src/generic/cases/precompile.rs index c4f95cd9b7..d2e3d05df5 100644 --- a/runtime/integration-tests/src/generic/cases/precompile.rs +++ b/runtime/integration-tests/src/generic/cases/precompile.rs @@ -104,7 +104,7 @@ fn axelar_precompile_execute() { }, ], outputs: vec![], - constant: false, + constant: Some(false), state_mutability: Default::default(), } .encode_input(&[ diff --git a/runtime/integration-tests/src/generic/cases/proxy.rs b/runtime/integration-tests/src/generic/cases/proxy.rs index 7f2d059986..fdd1781e28 100644 --- a/runtime/integration-tests/src/generic/cases/proxy.rs +++ b/runtime/integration-tests/src/generic/cases/proxy.rs @@ -5,13 +5,12 @@ use frame_system::RawOrigin; use sp_runtime::{traits::StaticLookup, DispatchResult}; use staging_xcm::{ prelude::Parachain, - v3::{Junction, Junctions::*, MultiLocation, WeightLimit}, - VersionedMultiLocation, + v4::{Junction, Location, WeightLimit}, + VersionedLocation, }; use crate::{ generic::{ - cases::liquidity_pools::utils::setup_xcm, config::Runtime, env::Env, envs::{ @@ -22,6 +21,7 @@ use crate::{ self, currency::{cfg, register_currency, usd6, CurrencyInfo, Usd6}, genesis::{self, Genesis}, + xcm::setup_xcm, }, }, utils::accounts::Keyring, @@ -70,9 +70,9 @@ fn configure_proxy_and_x_transfer( env.parachain_state_mut(|| { register_currency::(Usd6, |meta| { - meta.location = Some(VersionedMultiLocation::V3(MultiLocation::new( + meta.location = Some(VersionedLocation::V4(Location::new( 1, - X1(Parachain(T::FudgeHandle::SIBLING_ID)), + Parachain(T::FudgeHandle::SIBLING_ID), ))); meta.additional.transferability = CrossChainTransferability::Xcm(XcmMetadata { fee_per_second: Some(1_000), @@ -84,15 +84,15 @@ fn configure_proxy_and_x_transfer( currency_id: Usd6.id(), amount: TRANSFER_AMOUNT, dest: Box::new( - MultiLocation::new( + Location::new( 1, - X2( + [ Parachain(T::FudgeHandle::SIBLING_ID), Junction::AccountId32 { id: TO.into(), network: None, }, - ), + ], ) .into(), ), diff --git a/runtime/integration-tests/src/generic/cases/restricted_transfers.rs b/runtime/integration-tests/src/generic/cases/restricted_transfers.rs index 7cc55bb548..ee539b0465 100644 --- a/runtime/integration-tests/src/generic/cases/restricted_transfers.rs +++ b/runtime/integration-tests/src/generic/cases/restricted_transfers.rs @@ -13,7 +13,7 @@ mod cfg { use cfg_primitives::{currency_decimals, Balance}; use cfg_types::{ - locations::Location, + locations::RestrictedTransferLocation, tokens::{CurrencyId, FilterCurrency}, }; use frame_support::{assert_ok, dispatch::RawOrigin}; @@ -51,7 +51,7 @@ mod cfg { pallet_transfer_allowlist::Pallet::::add_transfer_allowance( RawOrigin::Signed(Keyring::Alice.into()).into(), filter, - Location::Local(Keyring::Bob.to_account_id()) + RestrictedTransferLocation::Local(Keyring::Bob.to_account_id()) ) ); @@ -214,14 +214,14 @@ mod cfg { } fn transfer_ok() -> pallet_balances::Call { - pallet_balances::Call::::transfer { + pallet_balances::Call::::transfer_allow_death { dest: Keyring::Bob.into(), value: cfg(TRANSFER_AMOUNT), } } fn transfer_fail() -> pallet_balances::Call { - pallet_balances::Call::::transfer { + pallet_balances::Call::::transfer_allow_death { dest: Keyring::Charlie.into(), value: cfg(TRANSFER_AMOUNT), } diff --git a/runtime/integration-tests/src/generic/config.rs b/runtime/integration-tests/src/generic/config.rs index ef2f6e568a..df368a9015 100644 --- a/runtime/integration-tests/src/generic/config.rs +++ b/runtime/integration-tests/src/generic/config.rs @@ -9,7 +9,7 @@ use cfg_types::{ domain_address::Domain, fixed_point::{Quantity, Rate, Ratio}, investments::InvestmentPortfolio, - locations::Location, + locations::RestrictedTransferLocation, oracles::OracleKey, permissions::{PermissionScope, Role}, tokens::{AssetStringLimit, CurrencyId, CustomMetadata, FilterCurrency, TrancheCurrency}, @@ -93,7 +93,7 @@ pub trait Runtime: PriceId = OracleKey, Moment = Millis, > + orml_tokens::Config - + orml_asset_registry::Config< + + orml_asset_registry::module::Config< AssetId = CurrencyId, CustomMetadata = CustomMetadata, Balance = Balance, @@ -111,7 +111,7 @@ pub trait Runtime: Balance = Balance, NativeFungible = pallet_balances::Pallet, > + cumulus_pallet_parachain_system::Config - + parachain_info::Config + + staging_parachain_info::Config + pallet_oracle_feed::Config + pallet_oracle_collection::Config< OracleKey = OracleKey, @@ -123,8 +123,10 @@ pub trait Runtime: + pallet_proxy::Config + pallet_restricted_tokens::Config + pallet_restricted_xtokens::Config - + pallet_transfer_allowlist::Config - + pallet_liquidity_pools::Config< + + pallet_transfer_allowlist::Config< + CurrencyId = FilterCurrency, + Location = RestrictedTransferLocation, + > + pallet_liquidity_pools::Config< CurrencyId = CurrencyId, Balance = Balance, PoolId = PoolId, diff --git a/runtime/integration-tests/src/generic/envs/fudge_env.rs b/runtime/integration-tests/src/generic/envs/fudge_env.rs index fafa45e860..ffae30929b 100644 --- a/runtime/integration-tests/src/generic/envs/fudge_env.rs +++ b/runtime/integration-tests/src/generic/envs/fudge_env.rs @@ -24,6 +24,8 @@ pub trait FudgeSupport: Runtime { type FudgeHandle: FudgeHandle; } +pub type FudgeRelayRuntime = <::FudgeHandle as FudgeHandle>::RelayRuntime; + /// Evironment that uses fudge to interact with the runtime pub struct FudgeEnv { handle: T::FudgeHandle, diff --git a/runtime/integration-tests/src/generic/envs/fudge_env/handle.rs b/runtime/integration-tests/src/generic/envs/fudge_env/handle.rs index 573cb5bc1b..0e5321df5e 100644 --- a/runtime/integration-tests/src/generic/envs/fudge_env/handle.rs +++ b/runtime/integration-tests/src/generic/envs/fudge_env/handle.rs @@ -23,7 +23,7 @@ use sp_consensus_aura::{sr25519::AuthorityId, AuraApi}; use sp_consensus_babe::BabeApi; use sp_consensus_slots::SlotDuration; use sp_core::{crypto::AccountId32, ByteArray, H256}; -use sp_runtime::{traits::AccountIdLookup, BuildStorage, Storage}; +use sp_runtime::{BuildStorage, Storage}; use sp_transaction_pool::runtime_api::TaggedTransactionQueue; use tokio::runtime::Handle; @@ -78,7 +78,7 @@ pub type RelayClient = TFullClient = TFullClient; pub trait FudgeHandle { - type RelayRuntime: frame_system::Config> + type RelayRuntime: frame_system::Config + polkadot_runtime_parachains::paras::Config + polkadot_runtime_parachains::session_info::Config + polkadot_runtime_parachains::initializer::Config @@ -159,20 +159,7 @@ pub trait FudgeHandle { Self::RelayRuntime, >::default(); - let mut host_config = HostConfiguration::default(); - host_config.max_downward_message_size = 1024; - host_config.hrmp_channel_max_capacity = 100; - host_config.hrmp_channel_max_message_size = 1024; - host_config.hrmp_channel_max_total_size = 1024; - host_config.hrmp_max_parachain_outbound_channels = 10; - host_config.hrmp_max_parachain_inbound_channels = 10; - host_config.hrmp_max_message_num_per_candidate = 100; - host_config.max_upward_queue_count = 10; - host_config.max_upward_queue_size = 1024; - host_config.max_upward_message_size = 1024; - host_config.max_upward_message_num_per_candidate = 100; - - configuration.config = host_config; + configuration.config = hrmp_host_config(); state .insert_storage( @@ -185,7 +172,6 @@ pub trait FudgeHandle { state .insert_storage( frame_system::GenesisConfig:: { - code: code.to_vec(), _config: Default::default(), } .build_storage() @@ -250,8 +236,16 @@ pub trait FudgeHandle { Ok(digest) }); - RelaychainBuilder::new(init, |client| (cidp(client), dp)) - .expect("ESSENTIAL: Relaychain Builder can be created.") + let mut runtime = RelaychainBuilder::new(init, |client| (cidp(client), dp)) + .expect("ESSENTIAL: Relaychain Builder can be created."); + + runtime + .with_mut_state(|| { + frame_system::Pallet::::update_code_in_storage(code); + }) + .unwrap(); + + runtime } fn new_parachain_builder( @@ -269,7 +263,6 @@ pub trait FudgeHandle { state .insert_storage( frame_system::GenesisConfig:: { - code: code.to_vec(), _config: Default::default(), } .build_storage() @@ -287,7 +280,7 @@ pub trait FudgeHandle { .expect("ESSENTIAL: Storage can be inserted"); state .insert_storage( - parachain_info::GenesisConfig:: { + staging_parachain_info::GenesisConfig:: { _config: Default::default(), parachain_id: para_id, } @@ -345,7 +338,32 @@ pub trait FudgeHandle { }) }; - ParachainBuilder::new(para_id, init, |client| (cidp, dp(client))) - .expect("ESSENTIAL: Parachain Builder can be created.") + let mut runtime = ParachainBuilder::new(para_id, init, |client| (cidp, dp(client))) + .expect("ESSENTIAL: Parachain Builder can be created."); + + runtime + .with_mut_state(|| { + frame_system::Pallet::::update_code_in_storage(code); + }) + .unwrap(); + + runtime + } +} + +pub fn hrmp_host_config>() -> HostConfiguration { + HostConfiguration { + max_downward_message_size: 1024, + hrmp_channel_max_capacity: 100, + hrmp_channel_max_message_size: 1024, + hrmp_channel_max_total_size: 1024, + hrmp_max_parachain_outbound_channels: 10, + hrmp_max_parachain_inbound_channels: 10, + hrmp_max_message_num_per_candidate: 100, + max_upward_queue_count: 10, + max_upward_queue_size: 1024, + max_upward_message_size: 1024, + max_upward_message_num_per_candidate: 100, + ..Default::default() } } diff --git a/runtime/integration-tests/src/generic/impls.rs b/runtime/integration-tests/src/generic/impls.rs index 88916f4997..777f81cceb 100644 --- a/runtime/integration-tests/src/generic/impls.rs +++ b/runtime/integration-tests/src/generic/impls.rs @@ -188,8 +188,8 @@ impl_fudge_support!( impl_fudge_support!( FudgeAltair, - staging_kusama_runtime, - default_kusama_session_keys(), + rococo_runtime, + default_rococo_session_keys(), altair_runtime, 2088, 2089 @@ -197,8 +197,8 @@ impl_fudge_support!( impl_fudge_support!( FudgeCentrifuge, - polkadot_runtime, - default_polkadot_session_keys(), + rococo_runtime, + default_rococo_session_keys(), centrifuge_runtime, 2031, 2032 @@ -208,8 +208,6 @@ pub fn default_rococo_session_keys() -> rococo_runtime::SessionKeys { rococo_runtime::SessionKeys { grandpa: pallet_grandpa::AuthorityId::from_slice([0u8; 32].as_slice()).unwrap(), babe: pallet_babe::AuthorityId::from_slice([0u8; 32].as_slice()).unwrap(), - im_online: pallet_im_online::sr25519::AuthorityId::from_slice([0u8; 32].as_slice()) - .unwrap(), para_validator: ValidatorId::from_slice([0u8; 32].as_slice()).unwrap(), para_assignment: AssignmentId::from_slice([0u8; 32].as_slice()).unwrap(), authority_discovery: AuthorityDiscoveryId::from_slice([0u8; 32].as_slice()).unwrap(), @@ -217,29 +215,3 @@ pub fn default_rococo_session_keys() -> rococo_runtime::SessionKeys { .unwrap(), } } - -pub fn default_kusama_session_keys() -> staging_kusama_runtime::SessionKeys { - staging_kusama_runtime::SessionKeys { - grandpa: pallet_grandpa::AuthorityId::from_slice([0u8; 32].as_slice()).unwrap(), - babe: pallet_babe::AuthorityId::from_slice([0u8; 32].as_slice()).unwrap(), - im_online: pallet_im_online::sr25519::AuthorityId::from_slice([0u8; 32].as_slice()) - .unwrap(), - para_validator: ValidatorId::from_slice([0u8; 32].as_slice()).unwrap(), - para_assignment: AssignmentId::from_slice([0u8; 32].as_slice()).unwrap(), - authority_discovery: AuthorityDiscoveryId::from_slice([0u8; 32].as_slice()).unwrap(), - beefy: sp_consensus_beefy::ecdsa_crypto::AuthorityId::from_slice([0u8; 33].as_slice()) - .unwrap(), - } -} - -pub fn default_polkadot_session_keys() -> polkadot_runtime::SessionKeys { - polkadot_runtime::SessionKeys { - grandpa: pallet_grandpa::AuthorityId::from_slice([0u8; 32].as_slice()).unwrap(), - babe: pallet_babe::AuthorityId::from_slice([0u8; 32].as_slice()).unwrap(), - im_online: pallet_im_online::sr25519::AuthorityId::from_slice([0u8; 32].as_slice()) - .unwrap(), - para_validator: ValidatorId::from_slice([0u8; 32].as_slice()).unwrap(), - para_assignment: AssignmentId::from_slice([0u8; 32].as_slice()).unwrap(), - authority_discovery: AuthorityDiscoveryId::from_slice([0u8; 32].as_slice()).unwrap(), - } -} diff --git a/runtime/integration-tests/src/generic/utils/currency.rs b/runtime/integration-tests/src/generic/utils/currency.rs index 4dff21775e..5715ae3171 100644 --- a/runtime/integration-tests/src/generic/utils/currency.rs +++ b/runtime/integration-tests/src/generic/utils/currency.rs @@ -31,7 +31,7 @@ pub trait CurrencyInfo { &self.symbol() } - fn location(&self) -> Option { + fn location(&self) -> Option { None } @@ -153,7 +153,7 @@ pub fn register_currency( ) { let mut meta = currency.metadata(); adaptor(&mut meta); - assert_ok!(orml_asset_registry::Pallet::::register_asset( + assert_ok!(orml_asset_registry::module::Pallet::::register_asset( ::RuntimeOrigin::root(), meta, Some(currency.id()) diff --git a/runtime/integration-tests/src/generic/utils/genesis.rs b/runtime/integration-tests/src/generic/utils/genesis.rs index 102f1d7ac1..4f6e306f7d 100644 --- a/runtime/integration-tests/src/generic/utils/genesis.rs +++ b/runtime/integration-tests/src/generic/utils/genesis.rs @@ -54,7 +54,7 @@ pub fn tokens(values: Vec<(CurrencyId, Balance)>) -> impl BuildStora } pub fn assets(currency_ids: Vec>) -> impl BuildStorage { - orml_asset_registry::GenesisConfig:: { + orml_asset_registry::module::GenesisConfig:: { assets: currency_ids .into_iter() .map(|currency_id| (currency_id.id(), currency_id.metadata().encode())) diff --git a/runtime/integration-tests/src/generic/utils/mod.rs b/runtime/integration-tests/src/generic/utils/mod.rs index 4ccf3176c4..9434463aca 100644 --- a/runtime/integration-tests/src/generic/utils/mod.rs +++ b/runtime/integration-tests/src/generic/utils/mod.rs @@ -11,6 +11,7 @@ pub mod currency; pub mod democracy; pub mod genesis; +pub mod xcm; use cfg_primitives::{AccountId, Balance, CollectionId, ItemId, PoolId, TrancheId}; use cfg_traits::{investments::TrancheCurrency as _, Seconds, TimeAsSecs}; diff --git a/runtime/integration-tests/src/generic/utils/xcm.rs b/runtime/integration-tests/src/generic/utils/xcm.rs new file mode 100644 index 0000000000..97c788071b --- /dev/null +++ b/runtime/integration-tests/src/generic/utils/xcm.rs @@ -0,0 +1,69 @@ +use frame_support::{assert_ok, traits::OriginTrait}; +use polkadot_parachain_primitives::primitives::Id; +use staging_xcm::{ + prelude::XCM_VERSION, + v4::{Junction, Location}, +}; + +use crate::generic::{ + config::Runtime, + env::{Blocks, Env}, + envs::fudge_env::{handle::FudgeHandle, FudgeEnv, FudgeRelayRuntime, FudgeSupport}, +}; + +pub fn setup_xcm(env: &mut FudgeEnv) { + env.parachain_state_mut(|| { + // Set the XCM version used when sending XCM messages to sibling. + assert_ok!(pallet_xcm::Pallet::::force_xcm_version( + ::RuntimeOrigin::root(), + Box::new(Location::new( + 1, + Junction::Parachain(T::FudgeHandle::SIBLING_ID), + )), + XCM_VERSION, + )); + }); + + env.sibling_state_mut(|| { + // Set the XCM version used when sending XCM messages to parachain. + assert_ok!(pallet_xcm::Pallet::::force_xcm_version( + ::RuntimeOrigin::root(), + Box::new(Location::new( + 1, + Junction::Parachain(T::FudgeHandle::PARA_ID), + )), + XCM_VERSION, + )); + }); + + env.relay_state_mut(|| { + assert_ok!(polkadot_runtime_parachains::hrmp::Pallet::< + FudgeRelayRuntime, + >::force_open_hrmp_channel( + as frame_system::Config>::RuntimeOrigin::root(), + Id::from(T::FudgeHandle::PARA_ID), + Id::from(T::FudgeHandle::SIBLING_ID), + 10, + 1024, + )); + + assert_ok!(polkadot_runtime_parachains::hrmp::Pallet::< + FudgeRelayRuntime, + >::force_open_hrmp_channel( + as frame_system::Config>::RuntimeOrigin::root(), + Id::from(T::FudgeHandle::SIBLING_ID), + Id::from(T::FudgeHandle::PARA_ID), + 10, + 1024, + )); + + assert_ok!(polkadot_runtime_parachains::hrmp::Pallet::< + FudgeRelayRuntime, + >::force_process_hrmp_open( + as frame_system::Config>::RuntimeOrigin::root(), + 2, + )); + }); + + env.pass(Blocks::ByNumber(1)); +} diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 669d2c3e87..0689b0e167 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "nightly-2024-02-06" # 1.78.0-nightly +channel = "1.77.2" components = [ "rustfmt", "clippy" ] targets = [ "wasm32-unknown-unknown" ] profile = "minimal" diff --git a/scripts/export_parachain_files.sh b/scripts/export_parachain_files.sh index 8fef73db32..74b8ebbce2 100755 --- a/scripts/export_parachain_files.sh +++ b/scripts/export_parachain_files.sh @@ -25,5 +25,5 @@ if [[ $should_build == "true" ]]; then fi echo "Exporting State & Wasm" -$PWD/target/release/centrifuge-chain export-genesis-state --chain node/res/$chain_name-spec-raw.json > $chain_name-genesis-state +$PWD/target/release/centrifuge-chain export-genesis-head --chain node/res/$chain_name-spec-raw.json > $chain_name-genesis-state $PWD/target/release/centrifuge-chain export-genesis-wasm --chain node/res/$chain_name-spec-raw.json > $chain_name-genesis-wasm diff --git a/scripts/init.sh b/scripts/init.sh index 911eca2544..5f38851df3 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -74,10 +74,10 @@ onboard-parachain) wasm_location="$onboard_dir/${parachain}-${para_id}.wasm" if [ "$docker_onboard" == "true" ]; then - genesis=$(docker run centrifugeio/centrifuge-chain:${cc_docker_image_tag} export-genesis-state --chain="${parachain}" --parachain-id="${para_id}") + genesis=$(docker run centrifugeio/centrifuge-chain:${cc_docker_image_tag} export-genesis-head --chain="${parachain}") docker run centrifugeio/centrifuge-chain:${cc_docker_image_tag} export-genesis-wasm --chain="${parachain}" > $wasm_location else - genesis=$(./target/release/centrifuge-chain export-genesis-state --chain="${parachain}" --parachain-id="${para_id}") + genesis=$(./target/release/centrifuge-chain export-genesis-head --chain="${parachain}") ./target/release/centrifuge-chain export-genesis-wasm --chain="${parachain}" > $wasm_location fi diff --git a/scripts/install_toolchain.sh b/scripts/install_toolchain.sh index 5d924e8559..8f579f0a25 100755 --- a/scripts/install_toolchain.sh +++ b/scripts/install_toolchain.sh @@ -11,7 +11,10 @@ echo "*** Initializing WASM build environment" rustup update $RUST_TOOLCHAIN rustup toolchain install $RUST_TOOLCHAIN +rustup toolchain install nightly rustup default $RUST_TOOLCHAIN rustup component add rustfmt +rustup component add rust-src +rustup component add --toolchain nightly rustfmt rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN diff --git a/scripts/runtime_benchmarks.sh b/scripts/runtime_benchmarks.sh index ba363a395a..06eff7e9df 100755 --- a/scripts/runtime_benchmarks.sh +++ b/scripts/runtime_benchmarks.sh @@ -41,7 +41,7 @@ echo "Benchmarking pallets for runtime ${runtime}..." if [[ $runtime == "development" ]]; then runtime_path="runtime/development" - chain="development-local" + chain="development" elif [[ $runtime == "centrifuge" ]]; then runtime_path="runtime/centrifuge" diff --git a/scripts/update-parity-only-deps.sh b/scripts/update-parity-only-deps.sh deleted file mode 100755 index c95750a999..0000000000 --- a/scripts/update-parity-only-deps.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash - -declare -a deps=("https://github.com/paritytech/substrate" "https://github.com/paritytech/cumulus" "https://github.com/paritytech/polkadot" "https://github.com/open-web3-stack/open-runtime-module-library" "https://github.com/centrifuge/chainbridge-substrate" "https://github.com/centrifuge/unique-assets" ) -declare -a parity_deps=() - -for dep in ${deps[@]}; do - echo $dep - tomls=$(find ./ -type f -iname "*.toml" -exec grep -l "${dep}" {} \;) - for tml in ${tomls[@]}; do - inner_deps=$(cat $tml | grep "${dep}" | awk '{print $1}') - for indep in ${inner_deps}; do - if [[ $indep = "grandpa" ]] - then - parity_deps+=("sc-finality-grandpa") - elif [[ $indep = "grandpa-primitives" ]] - then - parity_deps+=("sp-finality-grandpa") - else - parity_deps+=($indep) - fi - done - done -done - -uniq_deps=($(for v in "${parity_deps[@]}"; do echo "$v";done| sort| uniq| xargs)) - -update_params="" -for value in "${uniq_deps[@]}" -do - update_params+=" -p $value" -done - -echo "${update_params}" - -cargo update $update_params -