diff --git a/Cargo.lock b/Cargo.lock index aba2fa1b..257aa080 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,7 +27,7 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli 0.28.0", + "gimli 0.28.1", ] [[package]] @@ -238,30 +238,30 @@ checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" [[package]] name = "anstyle-parse" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "a3a318f1f38d2418400f8209655bfd825785afd25aa30bb7ba6cc792e4596748" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ "anstyle", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -423,7 +423,7 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "assets-common" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -457,12 +457,12 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e" +checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" dependencies = [ "concurrent-queue", - "event-listener 3.1.0", + "event-listener 4.0.0", "event-listener-strategy", "futures-core", "pin-project-lite 0.2.13", @@ -470,15 +470,15 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.7.2" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc5ea910c42e5ab19012bab31f53cb4d63d54c3a27730f9a833a88efcf4bb52d" +checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" dependencies = [ - "async-lock 3.1.1", + "async-lock 3.2.0", "async-task", "concurrent-queue", "fastrand 2.0.1", - "futures-lite 2.0.1", + "futures-lite 2.1.0", "slab", ] @@ -516,22 +516,21 @@ dependencies = [ [[package]] name = "async-io" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9d5715c2d329bf1b4da8d60455b99b187f27ba726df2883799af9af60997" +checksum = "d6d3b15875ba253d1110c740755e246537483f152fa334f91abd7fe84c88b3ff" dependencies = [ - "async-lock 3.1.1", + "async-lock 3.2.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.0.1", + "futures-lite 2.1.0", "parking", - "polling 3.3.0", - "rustix 0.38.25", + "polling 3.3.1", + "rustix 0.38.26", "slab", "tracing", - "waker-fn", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -545,11 +544,11 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "655b9c7fe787d3b25cc0f804a1a8401790f0c5bc395beb5a64dc77d8de079105" +checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c" dependencies = [ - "event-listener 3.1.0", + "event-listener 4.0.0", "event-listener-strategy", "pin-project-lite 0.2.13", ] @@ -578,7 +577,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.25", + "rustix 0.38.26", "windows-sys 0.48.0", ] @@ -599,13 +598,13 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" dependencies = [ - "async-io 2.2.0", + "async-io 2.2.1", "async-lock 2.8.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.25", + "rustix 0.38.26", "signal-hook-registry", "slab", "windows-sys 0.48.0", @@ -733,7 +732,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "9.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "hash-db", "log", @@ -923,12 +922,12 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" dependencies = [ - "async-channel 2.1.0", - "async-lock 3.1.1", + "async-channel 2.1.1", + "async-lock 3.2.0", "async-task", "fastrand 2.0.1", "futures-io", - "futures-lite 2.0.1", + "futures-lite 2.1.0", "piper", "tracing", ] @@ -1221,9 +1220,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.8" +version = "4.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64" +checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2" dependencies = [ "clap_builder", "clap_derive", @@ -1231,9 +1230,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.8" +version = "4.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc" +checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb" dependencies = [ "anstream", "anstyle", @@ -1306,9 +1305,9 @@ checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" [[package]] name = "concurrent-queue" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" +checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" dependencies = [ "crossbeam-utils", ] @@ -1372,9 +1371,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -1382,9 +1381,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core2" @@ -1670,7 +1669,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "clap", "parity-scale-codec", @@ -1686,7 +1685,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -1709,7 +1708,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "cumulus-client-collator", @@ -1751,7 +1750,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -1780,7 +1779,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "anyhow", "async-trait", @@ -1795,7 +1794,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1818,7 +1817,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -1841,7 +1840,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1865,7 +1864,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -1900,7 +1899,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -1918,7 +1917,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1935,7 +1934,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -1965,9 +1964,9 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.3.1" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.39", @@ -1976,7 +1975,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "5.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -1990,7 +1989,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2006,7 +2005,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -2027,7 +2026,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2041,7 +2040,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2058,7 +2057,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2081,7 +2080,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-primitives-core", "futures", @@ -2094,7 +2093,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2112,7 +2111,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2136,7 +2135,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2154,7 +2153,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "async-trait", @@ -2189,7 +2188,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2227,7 +2226,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -2461,9 +2460,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc" dependencies = [ "powerfmt", ] @@ -2631,18 +2630,18 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" [[package]] name = "docify" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4235e9b248e2ba4b92007fe9c646f3adf0ffde16dc74713eacc92b8bc58d8d2f" +checksum = "7cc4fd38aaa9fb98ac70794c82a00360d1e165a87fbf96a8a91f9dfc602aaee2" dependencies = [ "docify_macros", ] [[package]] name = "docify_macros" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47020e12d7c7505670d1363dd53d6c23724f71a90a3ae32ff8eba40de8404626" +checksum = "63fa215f3a0d40fb2a221b3aa90d8e1fbb8379785a990cb60d62ac71ebdc6460" dependencies = [ "common-path", "derive-syn-parse", @@ -2652,7 +2651,7 @@ dependencies = [ "regex", "syn 2.0.39", "termcolor", - "toml 0.7.8", + "toml 0.8.8", "walkdir", ] @@ -2724,7 +2723,7 @@ dependencies = [ "elliptic-curve 0.13.8", "rfc6979 0.4.0", "signature 2.2.0", - "spki 0.7.2", + "spki 0.7.3", ] [[package]] @@ -2774,7 +2773,7 @@ checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ "curve25519-dalek 4.1.1", "ed25519", - "hashbrown 0.14.2", + "hashbrown 0.14.3", "hex", "rand_core 0.6.4", "sha2 0.10.8", @@ -2917,12 +2916,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -2942,13 +2941,24 @@ dependencies = [ "pin-project-lite 0.2.13", ] +[[package]] +name = "event-listener" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite 0.2.13", +] + [[package]] name = "event-listener-strategy" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" dependencies = [ - "event-listener 3.1.0", + "event-listener 4.0.0", "pin-project-lite 0.2.13", ] @@ -3031,7 +3041,7 @@ checksum = "f5aa1e3ae159e592ad222dc90c5acbad632b527779ba88486abe92782ab268bd" dependencies = [ "expander 0.0.4", "indexmap 1.9.3", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -3158,7 +3168,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "10.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", ] @@ -3181,7 +3191,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-support-procedural", @@ -3206,7 +3216,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "28.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "Inflector", "array-bytes", @@ -3254,9 +3264,9 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "11.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.39", @@ -3265,7 +3275,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -3282,7 +3292,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -3312,7 +3322,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.31.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-recursion", "futures", @@ -3334,7 +3344,7 @@ dependencies = [ [[package]] name = "frame-support" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "aquamarine", "bitflags 1.3.2", @@ -3374,7 +3384,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "19.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "Inflector", "cfg-expr", @@ -3392,10 +3402,10 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "8.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.39", @@ -3404,7 +3414,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "9.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "proc-macro2", "quote", @@ -3414,7 +3424,7 @@ dependencies = [ [[package]] name = "frame-system" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cfg-if", "frame-support", @@ -3433,7 +3443,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -3448,7 +3458,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "sp-api", @@ -3457,7 +3467,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.30.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "parity-scale-codec", @@ -3491,7 +3501,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47" dependencies = [ - "rustix 0.38.25", + "rustix 0.38.26", "windows-sys 0.48.0", ] @@ -3567,14 +3577,13 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb" +checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143" dependencies = [ "fastrand 2.0.1", "futures-core", "futures-io", - "memchr", "parking", "pin-project-lite 0.2.13", ] @@ -3731,9 +3740,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "glob" @@ -3743,15 +3752,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" dependencies = [ "aho-corasick", "bstr", - "fnv", "log", - "regex", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", ] [[package]] @@ -3844,9 +3853,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ "ahash 0.8.6", "allocator-api2", @@ -4114,7 +4123,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" dependencies = [ - "async-io 2.2.0", + "async-io 2.2.1", "core-foundation", "fnv", "futures", @@ -4193,7 +4202,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.2", + "hashbrown 0.14.3", ] [[package]] @@ -4309,7 +4318,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi 0.3.3", - "rustix 0.38.25", + "rustix 0.38.26", "windows-sys 0.48.0", ] @@ -4357,9 +4366,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.65" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" dependencies = [ "wasm-bindgen", ] @@ -4454,7 +4463,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44e8ab85614a08792b9bff6c8feee23be78c98d0182d4c622c05256ab553892a" dependencies = [ "heck", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -4606,7 +4615,7 @@ dependencies = [ [[package]] name = "kusama-runtime-constants" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "polkadot-primitives", @@ -5252,9 +5261,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" +checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" [[package]] name = "lock_api" @@ -5432,7 +5441,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.25", + "rustix 0.38.26", ] [[package]] @@ -5553,7 +5562,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "25.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "log", @@ -5572,7 +5581,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "anyhow", "jsonrpsee", @@ -5665,7 +5674,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro-error", "proc-macro2", "quote", @@ -6033,7 +6042,7 @@ dependencies = [ "indexmap 2.1.0", "itertools 0.11.0", "petgraph", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -6073,7 +6082,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion" version = "6.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6112,7 +6121,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6130,7 +6139,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "25.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6146,7 +6155,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -6163,7 +6172,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -6179,7 +6188,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -6193,7 +6202,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6217,7 +6226,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "aquamarine", "docify", @@ -6239,7 +6248,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6254,7 +6263,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -6274,7 +6283,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "binary-merkle-tree", @@ -6299,7 +6308,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6337,7 +6346,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6356,7 +6365,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "5.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6375,7 +6384,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6398,6 +6407,7 @@ dependencies = [ "frame-system", "pallet-assets", "pallet-balances", + "pallet-nfts", "pallet-preimage", "pallet-referenda", "pallet-referenda-tracks", @@ -6408,12 +6418,13 @@ dependencies = [ "sp-io", "sp-runtime", "sp-std", + "staging-xcm", ] [[package]] name = "pallet-conviction-voting" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "assert_matches", "frame-benchmarking", @@ -6430,7 +6441,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6448,7 +6459,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6471,7 +6482,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6485,7 +6496,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "25.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6504,7 +6515,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "docify", "frame-benchmarking", @@ -6523,7 +6534,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6546,7 +6557,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "enumflags2", "frame-benchmarking", @@ -6562,7 +6573,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6582,7 +6593,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6632,7 +6643,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6649,7 +6660,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "27.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6668,7 +6679,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6686,7 +6697,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6699,10 +6710,28 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-nfts" +version = "18.0.0" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" +dependencies = [ + "enumflags2", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-nis" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6718,7 +6747,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "21.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -6737,7 +6766,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6757,7 +6786,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "19.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -6768,7 +6797,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -6785,7 +6814,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6831,7 +6860,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6848,7 +6877,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6863,7 +6892,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6881,7 +6910,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -6896,7 +6925,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "assert_matches", "frame-benchmarking", @@ -6915,7 +6944,7 @@ dependencies = [ [[package]] name = "pallet-referenda-tracks" version = "4.0.0-dev" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -6931,7 +6960,7 @@ dependencies = [ [[package]] name = "pallet-remark" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -6946,7 +6975,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "25.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "docify", "frame-benchmarking", @@ -6964,7 +6993,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -6986,7 +7015,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7003,7 +7032,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7021,7 +7050,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7044,9 +7073,9 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "9.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.39", @@ -7055,7 +7084,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "15.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "log", "sp-arithmetic", @@ -7064,7 +7093,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "10.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "sp-api", @@ -7073,7 +7102,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "25.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7090,7 +7119,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "docify", "frame-benchmarking", @@ -7106,7 +7135,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "docify", "frame-benchmarking", @@ -7126,7 +7155,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7145,7 +7174,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -7161,7 +7190,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "26.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -7177,7 +7206,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -7189,7 +7218,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7206,7 +7235,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7222,7 +7251,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7237,7 +7266,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7252,7 +7281,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -7273,7 +7302,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7292,7 +7321,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -7347,9 +7376,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -7362,11 +7391,11 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", "syn 1.0.109", @@ -7628,7 +7657,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der 0.7.8", - "spki 0.7.2", + "spki 0.7.3", ] [[package]] @@ -7646,7 +7675,7 @@ checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" [[package]] name = "polkadot-approval-distribution" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "futures-timer", @@ -7664,7 +7693,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "always-assert", "futures", @@ -7680,7 +7709,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "derive_more", "fatality", @@ -7703,7 +7732,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "fatality", @@ -7725,7 +7754,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "clap", "frame-benchmarking-cli", @@ -7752,7 +7781,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bitvec", "fatality", @@ -7774,7 +7803,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "scale-info", @@ -7786,7 +7815,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "derive_more", "fatality", @@ -7811,7 +7840,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -7825,7 +7854,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "futures-timer", @@ -7846,7 +7875,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "always-assert", "async-trait", @@ -7869,7 +7898,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "parity-scale-codec", @@ -7887,7 +7916,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bitvec", "derive_more", @@ -7916,7 +7945,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bitvec", "futures", @@ -7938,7 +7967,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bitvec", "fatality", @@ -7957,7 +7986,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "polkadot-node-subsystem", @@ -7972,7 +8001,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "futures", @@ -7993,7 +8022,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "polkadot-node-metrics", @@ -8008,7 +8037,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "futures-timer", @@ -8025,7 +8054,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "fatality", "futures", @@ -8044,7 +8073,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "futures", @@ -8061,7 +8090,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "2.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bitvec", "fatality", @@ -8078,7 +8107,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bitvec", "fatality", @@ -8095,7 +8124,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "always-assert", "futures", @@ -8123,7 +8152,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "polkadot-node-primitives", @@ -8139,7 +8168,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cpu-time", "futures", @@ -8162,7 +8191,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-prepare-worker" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "libc", @@ -8185,7 +8214,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "polkadot-node-metrics", @@ -8200,7 +8229,7 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "lazy_static", "log", @@ -8218,7 +8247,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bs58 0.5.0", "futures", @@ -8237,7 +8266,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -8261,7 +8290,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bounded-vec", "futures", @@ -8283,7 +8312,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -8293,7 +8322,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "derive_more", @@ -8318,7 +8347,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "derive_more", @@ -8353,7 +8382,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "futures", @@ -8376,7 +8405,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "2.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bounded-collections", "derive_more", @@ -8393,7 +8422,7 @@ dependencies = [ [[package]] name = "polkadot-performance-test" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "env_logger 0.9.3", "log", @@ -8411,7 +8440,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bitvec", "hex-literal 0.4.1", @@ -8437,7 +8466,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -8469,7 +8498,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bitvec", "frame-benchmarking", @@ -8515,7 +8544,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-constants" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "polkadot-primitives", @@ -8529,7 +8558,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bs58 0.5.0", "frame-benchmarking", @@ -8542,7 +8571,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -8589,7 +8618,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "frame-benchmarking", @@ -8706,7 +8735,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -8730,7 +8759,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -8755,16 +8784,16 @@ dependencies = [ [[package]] name = "polling" -version = "3.3.0" +version = "3.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53b6af1f60f36f8c2ac2aad5459d75a5a9b4be1e8cdd40264f315d78193e531" +checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e" dependencies = [ "cfg-if", "concurrent-queue", "pin-project-lite 0.2.13", - "rustix 0.38.25", + "rustix 0.38.26", "tracing", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -8918,7 +8947,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", ] [[package]] @@ -8958,9 +8996,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.69" +version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" dependencies = [ "unicode-ident", ] @@ -9443,9 +9481,9 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.5" +version = "0.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +checksum = "684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866" dependencies = [ "cc", "getrandom 0.2.11", @@ -9468,7 +9506,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "binary-merkle-tree", "frame-benchmarking", @@ -9557,7 +9595,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "polkadot-primitives", @@ -9695,15 +9733,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.25" +version = "0.38.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e" +checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a" dependencies = [ "bitflags 2.4.1", "errno", "libc", - "linux-raw-sys 0.4.11", - "windows-sys 0.48.0", + "linux-raw-sys 0.4.12", + "windows-sys 0.52.0", ] [[package]] @@ -9738,7 +9776,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" dependencies = [ "log", - "ring 0.17.5", + "ring 0.17.6", "rustls-webpki", "sct 0.7.1", ] @@ -9770,7 +9808,7 @@ version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.5", + "ring 0.17.6", "untrusted 0.9.0", ] @@ -9829,7 +9867,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "19.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "log", "sp-core", @@ -9840,7 +9878,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.30.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "futures", @@ -9868,7 +9906,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.30.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "futures-timer", @@ -9891,7 +9929,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -9906,7 +9944,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "memmap2", "sc-chain-spec-derive", @@ -9925,9 +9963,9 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "9.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.39", @@ -9936,7 +9974,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.32.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "chrono", @@ -9975,7 +10013,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "fnv", "futures", @@ -10002,7 +10040,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.31.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "hash-db", "kvdb", @@ -10028,7 +10066,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "futures", @@ -10053,7 +10091,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.30.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "futures", @@ -10082,7 +10120,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.30.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "fork-tree", @@ -10117,7 +10155,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.30.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "jsonrpsee", @@ -10139,7 +10177,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "9.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -10173,7 +10211,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "9.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "jsonrpsee", @@ -10192,7 +10230,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "fork-tree", "parity-scale-codec", @@ -10205,7 +10243,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.15.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "ahash 0.8.6", "array-bytes", @@ -10246,7 +10284,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.15.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "finality-grandpa", "futures", @@ -10266,7 +10304,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "futures", @@ -10289,7 +10327,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.28.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -10311,7 +10349,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.25.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -10323,7 +10361,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.25.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "anyhow", "cfg-if", @@ -10340,7 +10378,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "ansi_term", "futures", @@ -10356,7 +10394,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "21.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "parking_lot 0.12.1", @@ -10370,7 +10408,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.30.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -10411,7 +10449,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-channel 1.9.0", "cid", @@ -10431,7 +10469,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -10448,7 +10486,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.30.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "ahash 0.8.6", "futures", @@ -10466,7 +10504,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -10487,7 +10525,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -10521,7 +10559,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "futures", @@ -10539,7 +10577,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "25.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "bytes", @@ -10573,7 +10611,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.15.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -10582,7 +10620,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "25.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "jsonrpsee", @@ -10613,7 +10651,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -10632,7 +10670,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "9.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "http", "jsonrpsee", @@ -10647,7 +10685,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.30.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "futures", @@ -10675,7 +10713,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.31.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "directories", @@ -10739,7 +10777,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.26.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "log", "parity-scale-codec", @@ -10750,7 +10788,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.12.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "clap", "fs4", @@ -10764,7 +10802,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.30.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -10783,7 +10821,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "libc", @@ -10802,7 +10840,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "11.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "chrono", "futures", @@ -10821,7 +10859,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "ansi_term", "atty", @@ -10850,9 +10888,9 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "9.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.39", @@ -10861,7 +10899,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "futures", @@ -10887,7 +10925,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "futures", @@ -10903,7 +10941,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "10.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-channel 1.9.0", "futures", @@ -10935,7 +10973,7 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -11023,7 +11061,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.17.5", + "ring 0.17.6", "untrusted 0.9.0", ] @@ -11332,7 +11370,7 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "enumn", "parity-scale-codec", @@ -11343,9 +11381,9 @@ dependencies = [ [[package]] name = "slotmap" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" dependencies = [ "version_check", ] @@ -11395,7 +11433,7 @@ dependencies = [ "fnv", "futures-lite 1.13.0", "futures-util", - "hashbrown 0.14.2", + "hashbrown 0.14.3", "hex", "hmac 0.12.1", "itertools 0.11.0", @@ -11444,7 +11482,7 @@ dependencies = [ "futures-channel", "futures-lite 1.13.0", "futures-util", - "hashbrown 0.14.2", + "hashbrown 0.14.3", "hex", "itertools 0.11.0", "log", @@ -11480,7 +11518,7 @@ dependencies = [ "chacha20poly1305", "curve25519-dalek 4.1.1", "rand_core 0.6.4", - "ring 0.17.5", + "ring 0.17.6", "rustc_version", "sha2 0.10.8", "subtle", @@ -11526,7 +11564,7 @@ dependencies = [ [[package]] name = "sp-api" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "hash-db", "log", @@ -11547,12 +11585,12 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "11.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "Inflector", "blake2", "expander 2.0.0", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.39", @@ -11561,7 +11599,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "26.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "scale-info", @@ -11574,7 +11612,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "19.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "integer-sqrt", "num-traits", @@ -11588,7 +11626,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "scale-info", @@ -11601,7 +11639,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "sp-api", "sp-inherents", @@ -11612,7 +11650,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "futures", "log", @@ -11630,7 +11668,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.28.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "futures", @@ -11645,7 +11683,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.28.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "parity-scale-codec", @@ -11662,7 +11700,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.28.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "parity-scale-codec", @@ -11681,7 +11719,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "9.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "lazy_static", "parity-scale-codec", @@ -11700,7 +11738,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "9.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "finality-grandpa", "log", @@ -11718,7 +11756,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.28.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "scale-info", @@ -11730,7 +11768,7 @@ dependencies = [ [[package]] name = "sp-core" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "array-bytes", "bitflags 1.3.2", @@ -11775,7 +11813,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "12.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "blake2b_simd", "byteorder", @@ -11788,7 +11826,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "12.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "quote", "sp-core-hashing", @@ -11798,7 +11836,7 @@ dependencies = [ [[package]] name = "sp-database" version = "8.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -11807,7 +11845,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "11.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "proc-macro2", "quote", @@ -11817,7 +11855,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.22.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "environmental", "parity-scale-codec", @@ -11828,7 +11866,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "serde_json", "sp-api", @@ -11839,7 +11877,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -11853,7 +11891,7 @@ dependencies = [ [[package]] name = "sp-io" version = "26.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bytes", "ed25519-dalek", @@ -11877,7 +11915,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "27.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "lazy_static", "sp-core", @@ -11888,7 +11926,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.30.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -11900,7 +11938,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "8.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "thiserror", "zstd 0.12.4", @@ -11909,7 +11947,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -11920,7 +11958,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -11938,7 +11976,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "scale-info", @@ -11952,7 +11990,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "sp-api", "sp-core", @@ -11962,7 +12000,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "11.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "backtrace", "lazy_static", @@ -11972,7 +12010,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "rustc-hash", "serde", @@ -11982,7 +12020,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "27.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "either", "hash256-std-hasher", @@ -12004,7 +12042,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "20.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -12022,10 +12060,10 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "14.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "Inflector", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.39", @@ -12034,7 +12072,7 @@ dependencies = [ [[package]] name = "sp-session" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "scale-info", @@ -12049,7 +12087,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -12063,7 +12101,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.31.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "hash-db", "log", @@ -12084,7 +12122,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "6.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "aes-gcm 0.10.3", "curve25519-dalek 4.1.1", @@ -12108,12 +12146,12 @@ dependencies = [ [[package]] name = "sp-std" version = "11.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" [[package]] name = "sp-storage" version = "16.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "impl-serde", "parity-scale-codec", @@ -12126,7 +12164,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "parity-scale-codec", @@ -12139,7 +12177,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "13.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "sp-std", @@ -12151,7 +12189,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "sp-api", "sp-runtime", @@ -12160,7 +12198,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "22.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "parity-scale-codec", @@ -12175,7 +12213,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "25.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "ahash 0.8.6", "hash-db", @@ -12198,7 +12236,7 @@ dependencies = [ [[package]] name = "sp-version" version = "25.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "impl-serde", "parity-scale-codec", @@ -12215,7 +12253,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "11.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -12226,7 +12264,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "17.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -12239,7 +12277,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "parity-scale-codec", "scale-info", @@ -12286,9 +12324,9 @@ dependencies = [ [[package]] name = "spki" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", "der 0.7.8", @@ -12318,7 +12356,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-kusama-runtime" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "binary-merkle-tree", "bitvec", @@ -12425,7 +12463,7 @@ dependencies = [ [[package]] name = "staging-parachain-info" version = "0.3.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -12439,7 +12477,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "3.0.1" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "bounded-collections", "derivative", @@ -12456,7 +12494,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "3.0.1" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "frame-system", @@ -12478,7 +12516,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "environmental", "frame-benchmarking", @@ -12611,12 +12649,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "8.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" [[package]] name = "substrate-frame-rpc-system" version = "24.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -12635,7 +12673,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.15.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "hyper", "log", @@ -12647,7 +12685,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.29.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "jsonrpsee", @@ -12660,7 +12698,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "23.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -12677,7 +12715,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "13.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "ansi_term", "build-helper", @@ -12789,7 +12827,7 @@ dependencies = [ "cfg-if", "fastrand 2.0.1", "redox_syscall 0.4.1", - "rustix 0.38.25", + "rustix 0.38.26", "windows-sys 0.48.0", ] @@ -13085,7 +13123,19 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.21.0", ] [[package]] @@ -13110,6 +13160,30 @@ dependencies = [ "winnow", ] +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.1.0", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +dependencies = [ + "indexmap 2.1.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + [[package]] name = "tower" version = "0.4.13" @@ -13197,7 +13271,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "coarsetime", "polkadot-node-jaeger", @@ -13209,10 +13283,10 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "expander 2.0.0", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.39", @@ -13339,7 +13413,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.34.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "async-trait", "clap", @@ -13826,9 +13900,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -13836,9 +13910,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" dependencies = [ "bumpalo", "log", @@ -13851,9 +13925,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" +checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" dependencies = [ "cfg-if", "js-sys", @@ -13863,9 +13937,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -13873,9 +13947,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", @@ -13886,9 +13960,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" +checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" [[package]] name = "wasm-instrument" @@ -13956,9 +14030,9 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.31.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f341edb80021141d4ae6468cbeefc50798716a347d4085c3811900049ea8945" +checksum = "acfc1e384a36ca532d070a315925887247f3c7e23567e23e0ac9b1c5d6b8bf76" dependencies = [ "smallvec", "spin 0.9.8", @@ -14201,9 +14275,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.65" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" +checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" dependencies = [ "js-sys", "wasm-bindgen", @@ -14225,7 +14299,7 @@ version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" dependencies = [ - "ring 0.17.5", + "ring 0.17.6", "untrusted 0.9.0", ] @@ -14455,7 +14529,7 @@ dependencies = [ [[package]] name = "westend-runtime" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "binary-merkle-tree", "bitvec", @@ -14555,7 +14629,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "polkadot-primitives", @@ -14575,7 +14649,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.25", + "rustix 0.38.26", ] [[package]] @@ -14662,6 +14736,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -14692,6 +14775,21 @@ dependencies = [ "windows_x86_64_msvc 0.48.5", ] +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -14704,6 +14802,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -14716,6 +14820,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -14728,6 +14838,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -14740,6 +14856,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -14752,6 +14874,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -14764,6 +14892,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -14776,11 +14910,17 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + [[package]] name = "winnow" -version = "0.5.19" +version = "0.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +checksum = "12b1ca33e6ddf286f444aca4f9e91152c681bf93c491687d43cd69bd5078fb4b" dependencies = [ "memchr", ] @@ -14867,7 +15007,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "Inflector", "proc-macro2", @@ -14878,7 +15018,7 @@ dependencies = [ [[package]] name = "xcm-simulator" version = "3.0.0" -source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#d9bc9ab2eaa8581d30c3dd1f437371bbd3da3264" +source = "git+https://github.com/virto-network/polkadot-sdk?branch=virto-crates-io-v1.2.0#9882464ff90137fbeff159a3582e39901cbbff7a" dependencies = [ "frame-support", "parity-scale-codec", @@ -14918,18 +15058,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.26" +version = "0.7.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0" +checksum = "7d6f15f7ade05d2a4935e34a457b936c23dc70a05cc1d97133dc99e7a3fe0f0e" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.26" +version = "0.7.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f" +checksum = "dbbad221e3f78500350ecbd7dfa4e63ef945c05f4c61cb7f4d3f84cd0bba649b" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index e806fe01..8d097ee4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -117,8 +117,8 @@ frame-system-benchmarking = { default-features = false, git = "https://github.c frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } ## Substrate Pallet Dependencies -pallet-assets = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-asset-tx-payment = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } +pallet-assets = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-aura = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-authorship = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-balances = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } @@ -129,13 +129,14 @@ pallet-democracy = { default-features = false, git = "https://github.com/virto- pallet-identity = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-insecure-randomness-collective-flip = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-multisig = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } -pallet-proxy = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } +pallet-nfts = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-preimage = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } +pallet-proxy = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-referenda = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-referenda-tracks = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-remark = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } -pallet-session = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-scheduler = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } +pallet-session = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-sudo = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-timestamp = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } pallet-transaction-payment = { default-features = false, git = "https://github.com/virto-network/polkadot-sdk", branch = "virto-crates-io-v1.2.0" } diff --git a/pallets/communities/Cargo.toml b/pallets/communities/Cargo.toml index cc702755..e2cc6ecc 100644 --- a/pallets/communities/Cargo.toml +++ b/pallets/communities/Cargo.toml @@ -20,6 +20,7 @@ frame-support = { workspace = true } frame-system = { workspace = true } sp-runtime = { workspace = true } sp-std = { workspace = true } +xcm = { workspace = true, optional = true } [dev-dependencies] sp-core = { workspace = true } @@ -27,24 +28,27 @@ sp-io = { workspace = true } pallet-assets = { workspace = true } pallet-balances = { workspace = true } +pallet-nfts = { workspace = true } pallet-preimage = { workspace = true } pallet-referenda = { workspace = true } pallet-referenda-tracks = { workspace = true } pallet-scheduler = { workspace = true } [features] -default = ["std"] +default = ["std", "xcm"] std = [ - "parity-scale-codec/std", "frame-benchmarking?/std", "frame-support/std", "frame-system/std", "pallet-assets/std", "pallet-balances/std", + "pallet-nfts/std", "pallet-referenda/std", + "parity-scale-codec/std", "scale-info/std", "sp-runtime/std", "sp-std/std", + "xcm?/std", ] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", diff --git a/pallets/communities/src/functions.rs b/pallets/communities/src/functions.rs new file mode 100644 index 00000000..2dc5f3a3 --- /dev/null +++ b/pallets/communities/src/functions.rs @@ -0,0 +1,72 @@ +use crate::{ + types::{ + AccountIdOf, CommunityIdOf, CommunityInfo, CommunityMetadata, CommunityState, ConstSizedField, MembershipId, + PalletsOriginOf, + }, + CommunityIdFor, Config, Error, Info, Metadata, Pallet, +}; +use frame_support::{ + pallet_prelude::*, + traits::{GenericRank, MembershipInspect, RankedMembership}, +}; +use sp_runtime::traits::AccountIdConversion; +use sp_std::vec::Vec; + +impl Pallet { + #[inline] + pub fn community_account(community_id: &T::CommunityId) -> AccountIdOf { + T::PalletId::get().into_sub_account_truncating(community_id) + } + + pub fn community_exists(community_id: &T::CommunityId) -> bool { + Self::community(community_id).is_some() + } + + pub fn has_membership(who: &AccountIdOf, m: MembershipId) -> bool { + T::Memberships::has_membership(m, who) + } + + pub fn member_rank(who: &AccountIdOf, m: MembershipId) -> Option { + T::Memberships::get_membership(m, who).map(|m| *m.rank()) + } + + pub fn get_memberships(who: &AccountIdOf, community_id: &T::CommunityId) -> Vec> { + T::Memberships::account_memberships(who) + .filter(|m| &m.0 == community_id) + .collect() + } + + pub fn force_state(community_id: &CommunityIdOf, state: CommunityState) { + Info::::mutate(community_id, |c| c.as_mut().map(|c| c.state = state)); + } + + /// Stores an initial info about the community + /// Sets the caller as the community admin, the initial community state + /// to its default value(awaiting) + pub(crate) fn do_register_community(admin: &PalletsOriginOf, community_id: &T::CommunityId) -> DispatchResult { + if Self::community_exists(community_id) { + return Err(Error::::CommunityAlreadyExists.into()); + } + + CommunityIdFor::::insert(admin, community_id); + Info::::insert(community_id, CommunityInfo::default()); + frame_system::Pallet::::inc_providers(&Self::community_account(community_id)); + + Ok(()) + } + + pub(crate) fn do_set_metadata( + community_id: &CommunityIdOf, + name: &Option>, + description: &Option>, + url: &Option>, + ) { + Metadata::::mutate(community_id, |metadata| { + *metadata = CommunityMetadata { + name: name.as_ref().unwrap_or(&metadata.name).clone(), + description: description.as_ref().unwrap_or(&metadata.description).clone(), + main_url: url.as_ref().unwrap_or(&metadata.main_url).clone(), + }; + }) + } +} diff --git a/pallets/communities/src/functions/challenges.rs b/pallets/communities/src/functions/challenges.rs deleted file mode 100644 index 22166135..00000000 --- a/pallets/communities/src/functions/challenges.rs +++ /dev/null @@ -1,30 +0,0 @@ -use crate::{ - types::{CommunityIdOf, CommunityState}, - Config, Error, Info, Pallet, -}; -use sp_runtime::{DispatchError, DispatchResult}; - -impl Pallet { - pub(crate) fn ensure_active(community_id: &CommunityIdOf) -> DispatchResult { - let community_info = Self::community(community_id).ok_or(Error::::CommunityDoesNotExist)?; - - if community_info.state != CommunityState::Active { - Err(Error::::CommunityNotActive)? - } - - Ok(()) - } - - #[allow(dead_code)] - pub(crate) fn do_force_complete_challenge(community_id: &CommunityIdOf) -> DispatchResult { - Info::::try_mutate_exists(community_id, |value| { - let Some(community_info) = value else { - return Err::<(), DispatchError>(Error::::CommunityDoesNotExist.into()); - }; - - community_info.state = CommunityState::Active; - - Ok(()) - }) - } -} diff --git a/pallets/communities/src/functions/getters.rs b/pallets/communities/src/functions/getters.rs deleted file mode 100644 index 3eaf39f8..00000000 --- a/pallets/communities/src/functions/getters.rs +++ /dev/null @@ -1,18 +0,0 @@ -use crate::{ - types::{AccountIdOf, CommunityGovernanceStrategy, CommunityIdOf}, - Config, GovernanceStrategy, Pallet, -}; -use frame_support::sp_runtime::traits::{AccountIdConversion, Get}; - -impl Pallet { - pub(crate) fn get_community_account_id(community_id: &CommunityIdOf) -> AccountIdOf { - T::PalletId::get().into_sub_account_truncating(community_id) - } - - pub(crate) fn get_community_admin(community_id: &CommunityIdOf) -> Option> { - match GovernanceStrategy::::get(community_id) { - Some(CommunityGovernanceStrategy::AdminBased(admin)) => Some(admin), - _ => None, - } - } -} diff --git a/pallets/communities/src/functions/membership.rs b/pallets/communities/src/functions/membership.rs deleted file mode 100644 index 4ba6987c..00000000 --- a/pallets/communities/src/functions/membership.rs +++ /dev/null @@ -1,86 +0,0 @@ -use crate::{ - types::{AccountIdOf, CommunityIdOf, MembershipOf}, - Config, Error, MemberRanks, Members, MembersCount, Pallet, -}; -use frame_system::{ensure_signed, ensure_signed_or_root, pallet_prelude::OriginFor}; -use sp_runtime::{DispatchError, DispatchResult}; - -impl Pallet { - pub(crate) fn ensure_origin_member( - origin: OriginFor, - community_id: &CommunityIdOf, - ) -> Result, DispatchError> { - let caller = ensure_signed(origin)?; - - Self::membership(community_id, &caller) - .ok_or(DispatchError::BadOrigin) - .map(|_| caller) - } - - #[allow(dead_code)] - pub(crate) fn ensure_member( - community_id: &CommunityIdOf, - who: &AccountIdOf, - ) -> Result, DispatchError> { - Self::membership(community_id, who).ok_or(Error::::NotAMember.into()) - } - - pub(crate) fn ensure_origin_privileged( - origin: OriginFor, - community_id: &CommunityIdOf, - ) -> Result>, DispatchError> { - if let Some(caller) = ensure_signed_or_root(origin)? { - if let Some(admin) = Self::get_community_admin(community_id) - && admin == caller - { - return Ok(Some(admin)); - } else { - return Err(DispatchError::BadOrigin); - } - } - - Ok(None) - } - - /// Inserts `who` into the community - pub(crate) fn do_insert_member(community_id: &CommunityIdOf, who: &AccountIdOf) -> DispatchResult { - Members::::try_mutate_exists(community_id, who, |value| { - if value.is_some() { - return Err(Error::::AlreadyAMember.into()); - } - - // Inserts the member - *value = Some(Default::default()); - MemberRanks::::set(community_id, who, Default::default()); - - // Increases member count - let members_count = Self::members_count(community_id).unwrap_or_default(); - MembersCount::::set(community_id, members_count.checked_add(1)); - - Ok(()) - }) - } - - pub(crate) fn do_remove_member(community_id: &CommunityIdOf, who: &T::AccountId) -> DispatchResult { - Members::::try_mutate_exists(community_id, who, |value| { - if value.is_none() { - return Err(Error::::NotAMember.into()); - } - - if let Some(community_admin) = Self::get_community_admin(community_id) - && community_admin == *who - { - return Err(Error::::CannotRemoveAdmin.into()); - } - - // Removes the member - *value = None; - - // Decreases member count - let members_count = Self::members_count(community_id).unwrap_or_default(); - MembersCount::::set(community_id, members_count.checked_sub(1)); - - Ok(()) - }) - } -} diff --git a/pallets/communities/src/functions/mod.rs b/pallets/communities/src/functions/mod.rs deleted file mode 100644 index 3eb1e9b6..00000000 --- a/pallets/communities/src/functions/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -mod challenges; -mod getters; -mod membership; -mod registry; diff --git a/pallets/communities/src/functions/registry.rs b/pallets/communities/src/functions/registry.rs deleted file mode 100644 index e3a85d00..00000000 --- a/pallets/communities/src/functions/registry.rs +++ /dev/null @@ -1,41 +0,0 @@ -use crate::{ - types::{AccountIdOf, CommunityGovernanceStrategy, CommunityIdOf, CommunityInfo, CommunityMetadata}, - Config, Error, GovernanceStrategy, Info, Metadata, Pallet, -}; -use sp_runtime::DispatchResult; - -impl Pallet { - pub(crate) fn community_exists(community_id: &CommunityIdOf) -> bool { - Self::community(community_id).is_some() - } - - /// Stores an initial info about the community - /// Sets the caller as the community admin, the initial community state - /// to its default value(awaiting) - pub(crate) fn do_register_community(who: &AccountIdOf, community_id: &CommunityIdOf) -> DispatchResult { - // Check that the community doesn't exist - if Self::community_exists(community_id) { - return Err(Error::::CommunityAlreadyExists.into()); - } - - Info::::insert( - community_id, - CommunityInfo { - state: Default::default(), - }, - ); - GovernanceStrategy::::insert(community_id, CommunityGovernanceStrategy::AdminBased(who.clone())); - - Self::do_insert_member(community_id, who)?; - - Ok(()) - } - - pub(crate) fn do_set_metadata(community_id: &CommunityIdOf, value: CommunityMetadata) -> DispatchResult { - Metadata::::try_mutate(community_id, |metadata| { - *metadata = Some(value); - - Ok(()) - }) - } -} diff --git a/pallets/communities/src/lib.rs b/pallets/communities/src/lib.rs index 1d76671c..7b000400 100644 --- a/pallets/communities/src/lib.rs +++ b/pallets/communities/src/lib.rs @@ -1,7 +1,4 @@ #![cfg_attr(not(feature = "std"), no_std)] -#![feature(let_chains)] -#![feature(trait_alias)] - //! # Communities Pallet //! //! Part of the People Local Interactions Protocol, this pallet enables people @@ -167,64 +164,33 @@ //! [g03]: `crate::Pallet::members_count` pub use pallet::*; -#[cfg(test)] -mod tests; - #[cfg(feature = "runtime-benchmarks")] mod benchmarking; +#[cfg(test)] +mod tests; mod functions; pub mod types; pub mod weights; pub use weights::*; +pub mod origin; #[frame_support::pallet] pub mod pallet { use super::*; use frame_support::{ - pallet_prelude::{DispatchResult, ValueQuery, *}, + pallet_prelude::{ValueQuery, *}, traits::{ fungible::{Inspect, Mutate}, - fungibles, - tokens::Preservation, - Polling, + fungibles, EnsureOrigin, GenericRank, MembershipInspect, MembershipMutate, Polling, RankedMembership, }, Blake2_128Concat, Parameter, }; - use frame_system::{ - ensure_signed, - pallet_prelude::{OriginFor, *}, - }; + use frame_system::pallet_prelude::{OriginFor, *}; use sp_runtime::traits::StaticLookup; use types::*; - /// The origin of the comnunity governance, as well as the origin - /// sent to emit on behalf of the pallet - #[derive(TypeInfo, Encode, Decode, MaxEncodedLen, Clone, Eq, PartialEq, Debug)] - pub struct RawOrigin { - /// The community id. Used to get the account of the - /// community for certain origin conversions - pub community_id: CommunityId, - /// - pub body: Body, - } - - #[derive(TypeInfo, Encode, Decode, MaxEncodedLen, Clone, Eq, PartialEq, Debug)] - pub enum Body { - Voice, - Members { - #[codec(compact)] - min: VoteWeight, - }, - Fraction { - #[codec(compact)] - num: u16, - #[codec(compact)] - denum: u16, - }, - } - #[pallet::pallet] pub struct Pallet(_); @@ -233,10 +199,19 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config { /// This type represents an unique ID for the community - type CommunityId: Default + Parameter + MaxEncodedLen; + type CommunityId: Parameter + MaxEncodedLen + Copy; /// This type represents a rank for a member in a community - type Membership: Default + Parameter + MaxEncodedLen; + type Memberships: MembershipInspect, Self::AccountId, MembershipId> + + MembershipMutate, Self::AccountId, MembershipId>; + + type Polls: Polling, Votes = VoteWeight, Moment = BlockNumberFor>; + + /// Origin authorized to manage memeberships of an active community + type CommunityMgmtOrigin: EnsureOrigin; + + /// Origin authorized to manage memeberships of an active community + type MemberMgmtOrigin: EnsureOrigin; /// The asset used for governance type Assets: fungibles::Inspect; @@ -251,8 +226,6 @@ pub mod pallet { /// Type representing the weight of this pallet type WeightInfo: WeightInfo; - type Polls: Polling, Votes = VoteWeight, Moment = BlockNumberFor>; - /// The pallet id used for deriving sovereign account IDs. #[pallet::constant] type PalletId: Get; @@ -260,7 +233,7 @@ pub mod pallet { /// The origin of the pallet #[pallet::origin] - pub type Origin = RawOrigin>; + pub type Origin = origin::RawOrigin>; /// Stores the basic information of the community. If a value exists for a /// specified [`ComumunityId`][`Config::CommunityId`], this means a @@ -269,38 +242,14 @@ pub mod pallet { #[pallet::getter(fn community)] pub(super) type Info = StorageMap<_, Blake2_128Concat, CommunityIdOf, CommunityInfo>; - /// Stores the metadata regarding a community. #[pallet::storage] - #[pallet::getter(fn metadata)] - pub(super) type Metadata = StorageMap<_, Blake2_128Concat, CommunityIdOf, CommunityMetadata>; + pub(super) type CommunityIdFor = StorageMap<_, Blake2_128Concat, PalletsOriginOf, CommunityIdOf>; - /// Stores the membership information of a community (specified by its - /// [`CommunityId`][`Config::CommunityId`]) member (specified by it's - /// [`AccountId`][`frame_system::Config::AccountId`]). - #[pallet::storage] - #[pallet::getter(fn membership)] - pub(super) type Members = - StorageDoubleMap<_, Blake2_128Concat, CommunityIdOf, Blake2_128Concat, AccountIdOf, MembershipOf>; - - /// Stores the rank of a community (specified by its - /// [`CommunityId`][`Config::CommunityId`]) member (specified by it's - /// [`AccountId`][`frame_system::Config::AccountId`]). - #[pallet::storage] - #[pallet::getter(fn member_rank)] - pub(super) type MemberRanks = - StorageDoubleMap<_, Blake2_128Concat, CommunityIdOf, Blake2_128Concat, AccountIdOf, Rank, ValueQuery>; - - /// Stores the count of community members. This simplifies the process of - /// keeping track of members' count. - #[pallet::storage] - #[pallet::getter(fn members_count)] - pub(super) type MembersCount = StorageMap<_, Blake2_128Concat, CommunityIdOf, u128>; - - /// Stores the governance strategy for the community. + /// Stores the metadata regarding a community. #[pallet::storage] - #[pallet::getter(fn governance_strategy)] - pub(super) type GovernanceStrategy = - StorageMap<_, Blake2_128Concat, CommunityIdOf, CommunityGovernanceStrategy, AssetIdOf>>; + #[pallet::getter(fn metadata)] + pub(super) type Metadata = + StorageMap<_, Blake2_128Concat, CommunityIdOf, CommunityMetadata, ValueQuery>; /// Stores the list of votes for a community. #[pallet::storage] @@ -313,7 +262,10 @@ pub mod pallet { #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { /// A [`Commmunity`][`types::Community`] has been created. - CommunityCreated { id: T::CommunityId, who: T::AccountId }, + CommunityCreated { + id: T::CommunityId, + origin: PalletsOriginOf, + }, /// Some [`CommmuniMetadata`][`types::CommunityMetadata`] has been set /// for a community. MetadataSet { @@ -322,12 +274,17 @@ pub mod pallet { description: Option>, main_url: Option>, }, - /// A proposal has been enqueued and is ready to be - /// decided whenever it comes to the head of the comomunity - /// proposals queue - ProposalEnqueued { - community_id: CommunityIdOf, - proposer: AccountIdOf, + MemberAdded { + who: AccountIdOf, + membership_id: MembershipId, + }, + MemberRemoved { + who: AccountIdOf, + membership_id: MembershipId, + }, + MembershipRankUpdated { + membership_id: MembershipId, + rank: GenericRank, }, } @@ -339,39 +296,11 @@ pub mod pallet { /// A community with the same [`CommunityId`][`Config::CommunityId`] /// already exists, therefore cannot be applied for. CommunityAlreadyExists, - /// The specified [`CommunityId`][`Config::CommunityId`] is not - /// currently active - CommunityNotActive, + /// The community can't introduce new members at the moment + CommunityAtCapacity, /// The specified [`AccountId`][`frame_system::Config::AccountId`] is /// not a member of the community NotAMember, - /// The specified [`AccountId`][`frame_system::Config::AccountId`] is - /// already a member of the community - AlreadyAMember, - /// It is not possible to remove the sole admin for a specified - /// [`CommunityId`][`Config::CommunityId`], especially if it's the - /// only member remaining. Please consider changing the admin first. - CannotRemoveAdmin, - /// The origin specified to propose the call execution is invalid. - InvalidProposalOrigin, - /// It is not possible to encode the call into a preimage. - CannotEncodeCall, - /// It is not possible to enqueue a proposal for a community - CannotEnqueueProposal, - /// The community has exceeded the max amount of enqueded proposals at - /// this moment. - ExceededMaxProposals, - /// It is not possible to dequeue a proposal - CannotDequeueProposal, - /// A call for the spciefied [Hash][`frame_system::Config::Hash`] is not - /// found - CannotFindCall, - /// The poll the caller is trying to open is already opened. - PollAlreadyOpened, - /// The poll the caller is trying to close is already closed. - PollAlreadyClosed, - /// The criteria needed to close the poll is not met - CannotClosePoll, } // Dispatchable functions allows users to interact with the pallet and invoke @@ -385,15 +314,18 @@ pub mod pallet { /// /// [8]: https://docs.substrate.io/reference/glossary/#existential-deposit #[pallet::call_index(0)] - pub fn apply_for(origin: OriginFor, community_id: T::CommunityId) -> DispatchResult { - let who = ensure_signed(origin)?; - - Self::do_register_community(&who, &community_id)?; - let community_account_id = Self::get_community_account_id(&community_id); - let minimum_balance = T::Balances::minimum_balance(); - T::Balances::transfer(&who, &community_account_id, minimum_balance, Preservation::Preserve)?; + pub fn create( + origin: OriginFor, + admin_origin: PalletsOriginOf, + community_id: T::CommunityId, + ) -> DispatchResult { + T::CommunityMgmtOrigin::ensure_origin(origin)?; - Self::deposit_event(Event::CommunityCreated { id: community_id, who }); + Self::do_register_community(&admin_origin, &community_id)?; + Self::deposit_event(Event::CommunityCreated { + id: community_id, + origin: admin_origin, + }); Ok(()) } @@ -409,22 +341,9 @@ pub mod pallet { description: Option>, url: Option>, ) -> DispatchResult { - // Ensures caller is a privileged origin - Self::ensure_origin_privileged(origin, &community_id)?; - - let metadata = Self::metadata(&community_id).unwrap_or_default(); - - // Deposits metadata - Self::do_set_metadata( - &community_id, - CommunityMetadata { - name: name.clone().unwrap_or(metadata.name), - description: description.clone().unwrap_or(metadata.description), - main_url: url.clone().unwrap_or(metadata.main_url), - }, - )?; - - // Emit an event. + T::CommunityMgmtOrigin::ensure_origin(origin)?; + + Self::do_set_metadata(&community_id, &name, &description, &url); Self::deposit_event(Event::MetadataSet { id: community_id, name, @@ -432,7 +351,6 @@ pub mod pallet { main_url: url, }); - // Return a successful DispatchResultWithPostInfo Ok(()) } @@ -440,19 +358,19 @@ pub mod pallet { /// Enroll an account as a community member. In theory, /// any community member should be able to add a member. However, this - /// can be changed to ensure it is a privileged function. - #[pallet::call_index(2)] - pub fn add_member( - origin: OriginFor, - community_id: T::CommunityId, - who: AccountIdLookupOf, - ) -> DispatchResult { - Self::ensure_origin_member(origin, &community_id)?; - Self::ensure_active(&community_id)?; - - let who = <::Lookup as StaticLookup>::lookup(who)?; - Self::do_insert_member(&community_id, &who)?; + #[pallet::call_index(2)] + pub fn add_member(origin: OriginFor, who: AccountIdLookupOf) -> DispatchResult { + let community_id = T::MemberMgmtOrigin::ensure_origin(origin)?; + let who = T::Lookup::lookup(who)?; + let account = Self::community_account(&community_id); + // assume the community has memberships to give out to the new member + let membership_id = T::Memberships::account_memberships(&account) + .next() + .ok_or(Error::::CommunityAtCapacity)?; + T::Memberships::update(membership_id, MembershipInfo::new(membership_id), Some(who.clone()))?; + + Self::deposit_event(Event::MemberAdded { who, membership_id }); Ok(()) } @@ -465,15 +383,19 @@ pub mod pallet { #[pallet::call_index(3)] pub fn remove_member( origin: OriginFor, - community_id: T::CommunityId, who: AccountIdLookupOf, + membership_id: MembershipId, ) -> DispatchResult { - Self::ensure_origin_privileged(origin, &community_id)?; - Self::ensure_active(&community_id)?; + let community_id = T::MemberMgmtOrigin::ensure_origin(origin)?; + let who = T::Lookup::lookup(who)?; + let info = T::Memberships::get_membership(membership_id, &who).ok_or(Error::::NotAMember)?; + ensure!(info.community() == &community_id, Error::::CommunityDoesNotExist); - let who = <::Lookup as StaticLookup>::lookup(who)?; - Self::do_remove_member(&community_id, &who)?; + let account = Self::community_account(&community_id); + // Move the membership back to the community resetting any previous stored info + T::Memberships::update(membership_id, MembershipInfo::new(membership_id), Some(account))?; + Self::deposit_event(Event::MemberRemoved { who, membership_id }); Ok(()) } @@ -481,26 +403,38 @@ pub mod pallet { #[pallet::call_index(5)] pub fn promote_member( origin: OriginFor, - community_id: T::CommunityId, who: AccountIdLookupOf, + membership_id: MembershipId, ) -> DispatchResult { - Self::ensure_origin_privileged(origin, &community_id)?; - Self::ensure_active(&community_id)?; + let _community_id = T::MemberMgmtOrigin::ensure_origin(origin)?; let who = T::Lookup::lookup(who)?; - Ok(MemberRanks::::mutate(community_id, who, |rank| rank.promote())) + + let mut m = T::Memberships::get_membership(membership_id, &who).ok_or(Error::::NotAMember)?; + m.rank_mut().promote_by(1.try_into().expect("can promote by 1")); + let rank = *m.rank(); + T::Memberships::update(membership_id, m, None)?; + + Self::deposit_event(Event::MembershipRankUpdated { membership_id, rank }); + Ok(()) } /// Decreases the rank of a member in the community #[pallet::call_index(6)] pub fn demote_member( origin: OriginFor, - community_id: T::CommunityId, who: AccountIdLookupOf, + membership_id: MembershipId, ) -> DispatchResult { - Self::ensure_origin_privileged(origin, &community_id)?; - Self::ensure_active(&community_id)?; + let _community_id = T::MemberMgmtOrigin::ensure_origin(origin)?; let who = T::Lookup::lookup(who)?; - Ok(MemberRanks::::mutate(community_id, who, |rank| rank.demote())) + + let mut m = T::Memberships::get_membership(membership_id, &who).ok_or(Error::::NotAMember)?; + m.rank_mut().demote_by(1.try_into().expect("can demote by 1")); + let rank = *m.rank(); + T::Memberships::update(membership_id, m, None)?; + + Self::deposit_event(Event::MembershipRankUpdated { membership_id, rank }); + Ok(()) } // === Governance === diff --git a/pallets/communities/src/origin.rs b/pallets/communities/src/origin.rs new file mode 100644 index 00000000..967a809d --- /dev/null +++ b/pallets/communities/src/origin.rs @@ -0,0 +1,133 @@ +use crate::{ + types::{CommunityState::Active, MembershipIdPart}, + CommunityIdFor, Config, Info, +}; +use core::marker::PhantomData; +use frame_support::{ + pallet_prelude::*, + traits::{GenericRank, OriginTrait}, +}; +use sp_runtime::Permill; + +pub struct EnsureCommunity(PhantomData); + +impl EnsureOrigin for EnsureCommunity +where + T::RuntimeOrigin: + OriginTrait + Into, T::RuntimeOrigin>> + From>, + T: Config, +{ + type Success = T::CommunityId; + + fn try_origin(o: T::RuntimeOrigin) -> Result { + use frame_system::RawOrigin::{None, Root}; + if matches!(o.as_system_ref(), Some(Root) | Some(None)) { + return Err(o); + } + let id = match o.clone().into() { + Ok(RawOrigin { community_id, .. }) => community_id, + Err(_) => { + let origin = o.clone().into_caller(); + CommunityIdFor::::get(origin).ok_or_else(|| o.clone())? + } + }; + Info::::get(id) + .and_then(|c| c.state.eq(&Active).then_some(id)) + .ok_or(o) + } +} + +/// Origin to represent the voice of a community or a subset of its members +/// as well as the voting preference of said group. +#[derive(TypeInfo, Encode, Decode, MaxEncodedLen, Clone, Eq, PartialEq, Debug)] +pub struct RawOrigin { + community_id: CommunityId, + method: DecisionMethod, + subset: Option, +} + +impl RawOrigin { + pub const fn new(community_id: CommunityId) -> Self { + RawOrigin { + community_id, + method: DecisionMethod::Membership, + subset: None, + } + } + + pub fn with_subset(&mut self, s: Subset) { + self.subset = Some(s); + } + + pub fn id(&self) -> CommunityId { + self.community_id.clone() + } + pub fn decision_method(&self) -> DecisionMethod { + self.method.clone() + } +} + +/// Subsets of the community can also have a voice +#[derive(Clone, Debug, Decode, Encode, Eq, MaxEncodedLen, PartialEq, TypeInfo)] +pub enum Subset { + Member(MembershipIdPart), + Members { count: u32 }, + Fraction(Permill), + AtLeastRank(GenericRank), +} + +/// The mechanism used by the community or one of its subsets to make decisions +#[derive(Clone, Debug, Decode, Default, Encode, Eq, MaxEncodedLen, PartialEq, TypeInfo)] +pub enum DecisionMethod { + #[default] + Membership, + NativeToken, + CommunityAsset, + Rank, +} + +#[cfg(feature = "xcm")] +impl> TryFrom> for xcm::v3::Junction { + type Error = (); + + fn try_from(o: RawOrigin) -> Result { + use xcm::v3::{BodyId, BodyPart, Junction::Plurality}; + let part = match o.subset { + None => BodyPart::Voice, + Some(Subset::Member(_)) => BodyPart::Members { count: 1 }, + Some(Subset::Members { count }) => BodyPart::Members { count }, + Some(Subset::Fraction(per)) => BodyPart::Fraction { + nom: per.deconstruct(), + denom: ::ACCURACY, + }, + Some(Subset::AtLeastRank(_)) => return Err(()), + }; + Ok(Plurality { + id: BodyId::Index(o.community_id.into()), + part, + }) + } +} + +#[cfg(feature = "xcm")] +impl + Clone> TryFrom for RawOrigin { + type Error = (); + + fn try_from(value: xcm::v3::Junction) -> Result { + use xcm::v3::{BodyId::Index, BodyPart::*, Junction::Plurality}; + let Plurality { id: Index(id), part } = value else { + return Err(()); + }; + let subset = match part { + Voice => None, + Members { count } => Some(Subset::Members { count }), + Fraction { nom, denom } => Some(Subset::Fraction(Permill::from_rational(nom, denom))), + _ => return Err(()), + }; + let mut origin = RawOrigin::new(id.into()); + if let Some(s) = subset { + origin.with_subset(s); + } + Ok(origin) + } +} diff --git a/pallets/communities/src/tests/membership.rs b/pallets/communities/src/tests/membership.rs index 1c3d3535..ec1d372a 100644 --- a/pallets/communities/src/tests/membership.rs +++ b/pallets/communities/src/tests/membership.rs @@ -1,41 +1,38 @@ use super::*; +use crate::types::{CommunityState::Blocked, MembershipId}; +use frame_support::assert_noop; +use frame_system::RawOrigin::Root; +use sp_runtime::{traits::BadOrigin, DispatchError}; -const COMMUNITY_MEMBER_1: u64 = 43; -const COMMUNITY_MEMBER_2: u64 = 44; -const COMMUNITY_NON_MEMBER: u64 = 45; +const COMMUNITY_NON_MEMBER: AccountId = AccountId::new([0; 32]); +const COMMUNITY_MEMBER_1: AccountId = AccountId::new([1; 32]); +const COMMUNITY_MEMBER_2: AccountId = AccountId::new([2; 32]); +const MEMBERSHIP_1: MembershipId = MembershipId(COMMUNITY, 1); +const MEMBERSHIP_2: MembershipId = MembershipId(COMMUNITY, 2); mod add_member { use super::*; #[test] fn fails_when_community_is_not_active() { - new_test_ext().execute_with(|| { - setup(); - + new_test_ext(&[], &[MEMBERSHIP_1]).execute_with(|| { + Communities::force_state(&COMMUNITY, Blocked); assert_noop!( - Communities::add_member(RuntimeOrigin::signed(COMMUNITY_ADMIN), COMMUNITY, COMMUNITY_MEMBER_1), - Error::CommunityNotActive + Communities::add_member(COMMUNITY_ORG.into(), COMMUNITY_MEMBER_1), + DispatchError::BadOrigin ); }); } #[test] - fn fails_when_caller_not_a_member() { - new_test_ext().execute_with(|| { - setup(); - assert_ok!(Communities::do_force_complete_challenge(&COMMUNITY)); - + fn fails_when_caller_not_a_valid_origin() { + new_test_ext(&[], &[MEMBERSHIP_1]).execute_with(|| { assert_noop!( - Communities::add_member(RuntimeOrigin::none(), COMMUNITY, COMMUNITY_MEMBER_1), + Communities::add_member(RuntimeOrigin::none(), COMMUNITY_MEMBER_1), DispatchError::BadOrigin ); - assert_noop!( - Communities::add_member( - RuntimeOrigin::signed(COMMUNITY_NON_MEMBER), - COMMUNITY, - COMMUNITY_MEMBER_1 - ), + Communities::add_member(Root.into(), COMMUNITY_MEMBER_1), DispatchError::BadOrigin ); }); @@ -43,52 +40,26 @@ mod add_member { #[test] fn adds_members() { - new_test_ext().execute_with(|| { - setup(); - assert_ok!(Communities::do_force_complete_challenge(&COMMUNITY)); + new_test_ext(&[], &[MEMBERSHIP_1, MEMBERSHIP_2]).execute_with(|| { + // Successfully adds members + assert_ok!(Communities::add_member(COMMUNITY_ORG.into(), COMMUNITY_MEMBER_1)); + assert_ok!(Communities::add_member(COMMUNITY_ORG.into(), COMMUNITY_MEMBER_2)); - assert_noop!( - Communities::add_member(RuntimeOrigin::none(), COMMUNITY, COMMUNITY_MEMBER_1), - DispatchError::BadOrigin - ); - - // Successfully adds a member - assert_ok!(Communities::add_member( - RuntimeOrigin::signed(COMMUNITY_ADMIN), - COMMUNITY, - COMMUNITY_MEMBER_1 - )); - - // Once a member, can add other members - assert_ok!(Communities::add_member( - RuntimeOrigin::signed(COMMUNITY_MEMBER_1), - COMMUNITY, - COMMUNITY_MEMBER_2 - )); - - assert_eq!(Communities::members_count(COMMUNITY), Some(3)); - assert_eq!(Communities::membership(COMMUNITY, COMMUNITY_MEMBER_1), Some(())); - assert_eq!(Communities::membership(COMMUNITY, COMMUNITY_MEMBER_2), Some(())); + assert!(Communities::has_membership(&COMMUNITY_MEMBER_1, MEMBERSHIP_1)); + assert!(Communities::has_membership(&COMMUNITY_MEMBER_2, MEMBERSHIP_2)); }); } #[test] - fn cannot_add_member_twice() { - new_test_ext().execute_with(|| { - setup(); - assert_ok!(Communities::do_force_complete_challenge(&COMMUNITY)); - - // Successfully adds a member - assert_ok!(Communities::add_member( - RuntimeOrigin::signed(COMMUNITY_ADMIN), - COMMUNITY, - COMMUNITY_MEMBER_1 - )); - + fn can_add_member_twice() { + // As memberships could be transfered there is no use in restricting adding the + // same member twice + new_test_ext(&[COMMUNITY_MEMBER_1], &[MEMBERSHIP_1, MEMBERSHIP_2]).execute_with(|| { // Fails to add a member twice - assert_noop!( - Communities::add_member(RuntimeOrigin::signed(COMMUNITY_ADMIN), COMMUNITY, COMMUNITY_MEMBER_1), - Error::AlreadyAMember + assert_ok!(Communities::add_member(COMMUNITY_ORG.into(), COMMUNITY_MEMBER_1)); + assert_eq!( + Communities::get_memberships(&COMMUNITY_MEMBER_1, &COMMUNITY), + vec![MEMBERSHIP_1, MEMBERSHIP_2] ); }); } @@ -99,30 +70,24 @@ mod remove_member { #[test] fn fails_when_community_is_not_active() { - new_test_ext().execute_with(|| { - setup(); - + new_test_ext(&[COMMUNITY_MEMBER_1], &[MEMBERSHIP_1]).execute_with(|| { + Communities::force_state(&COMMUNITY, Blocked); assert_noop!( - Communities::remove_member(RuntimeOrigin::signed(COMMUNITY_ADMIN), COMMUNITY, COMMUNITY_MEMBER_1), - Error::CommunityNotActive + Communities::remove_member(COMMUNITY_ORG.into(), COMMUNITY_MEMBER_1, MEMBERSHIP_1), + DispatchError::BadOrigin ); }); } #[test] - fn fails_when_caller_not_a_privleged_origin() { - new_test_ext().execute_with(|| { - setup(); - assert_ok!(Communities::do_force_complete_challenge(&COMMUNITY)); - assert_ok!(Communities::do_insert_member(&COMMUNITY, &COMMUNITY_MEMBER_1)); - + fn fails_when_caller_not_a_privileged_origin() { + new_test_ext(&[COMMUNITY_MEMBER_1], &[MEMBERSHIP_1]).execute_with(|| { assert_noop!( - Communities::remove_member(RuntimeOrigin::none(), COMMUNITY, COMMUNITY_MEMBER_1), + Communities::remove_member(RuntimeOrigin::none(), COMMUNITY_MEMBER_1, MEMBERSHIP_1), DispatchError::BadOrigin ); - assert_noop!( - Communities::remove_member(RuntimeOrigin::signed(COMMUNITY_MEMBER_1), COMMUNITY, COMMUNITY_MEMBER_2), + Communities::remove_member(Root.into(), COMMUNITY_MEMBER_1, MEMBERSHIP_1), DispatchError::BadOrigin ); }); @@ -130,67 +95,22 @@ mod remove_member { #[test] fn fails_when_not_a_community_member() { - new_test_ext().execute_with(|| { - setup(); - assert_ok!(Communities::do_force_complete_challenge(&COMMUNITY)); - assert_ok!(Communities::do_insert_member(&COMMUNITY, &COMMUNITY_MEMBER_1)); - - assert_noop!( - Communities::remove_member(RuntimeOrigin::signed(COMMUNITY_ADMIN), COMMUNITY, COMMUNITY_MEMBER_2), - Error::NotAMember - ); - + new_test_ext(&[COMMUNITY_MEMBER_1], &[MEMBERSHIP_1]).execute_with(|| { assert_noop!( - Communities::remove_member(RuntimeOrigin::root(), COMMUNITY, COMMUNITY_NON_MEMBER), + Communities::remove_member(COMMUNITY_ORG.into(), COMMUNITY_NON_MEMBER, MEMBERSHIP_1), Error::NotAMember ); }); } - #[test] - fn cannot_remove_admin() { - new_test_ext().execute_with(|| { - setup(); - assert_ok!(Communities::do_force_complete_challenge(&COMMUNITY)); - assert_ok!(Communities::do_insert_member(&COMMUNITY, &COMMUNITY_MEMBER_1)); - - assert_noop!( - Communities::remove_member(RuntimeOrigin::root(), COMMUNITY, COMMUNITY_ADMIN), - Error::CannotRemoveAdmin - ); - }); - } - #[test] fn it_works() { - new_test_ext().execute_with(|| { - setup(); - assert_ok!(Communities::do_force_complete_challenge(&COMMUNITY)); - assert_ok!(Communities::do_insert_member(&COMMUNITY, &COMMUNITY_MEMBER_1)); - + new_test_ext(&[COMMUNITY_MEMBER_1], &[MEMBERSHIP_1]).execute_with(|| { assert_ok!(Communities::remove_member( - RuntimeOrigin::signed(COMMUNITY_ADMIN), - COMMUNITY, - COMMUNITY_MEMBER_1 + COMMUNITY_ORG.into(), + COMMUNITY_MEMBER_1, + MEMBERSHIP_1 )); - - assert_eq!(Communities::members_count(COMMUNITY), Some(1)); - assert_eq!(Communities::membership(COMMUNITY, COMMUNITY_MEMBER_1), None); - }); - - new_test_ext().execute_with(|| { - setup(); - assert_ok!(Communities::do_force_complete_challenge(&COMMUNITY)); - assert_ok!(Communities::do_insert_member(&COMMUNITY, &COMMUNITY_MEMBER_1)); - - assert_ok!(Communities::remove_member( - RuntimeOrigin::root(), - COMMUNITY, - COMMUNITY_MEMBER_1 - )); - - assert_eq!(Communities::members_count(COMMUNITY), Some(1)); - assert_eq!(Communities::membership(COMMUNITY, COMMUNITY_MEMBER_1), None); }); } } @@ -198,33 +118,14 @@ mod remove_member { mod member_rank { use super::*; - fn setup() { - super::setup(); - assert_ok!(Communities::do_force_complete_challenge(&COMMUNITY)); - - assert_ok!(Communities::add_member( - RuntimeOrigin::signed(COMMUNITY_ADMIN), - COMMUNITY, - COMMUNITY_MEMBER_1 - )); - } - mod promote_member { - use crate::MemberRanks; - use super::*; #[test] - fn fails_when_caller_not_a_privleged_origin() { - new_test_ext().execute_with(|| { - setup(); - + fn fails_when_caller_not_admin_origin() { + new_test_ext(&[COMMUNITY_MEMBER_1], &[MEMBERSHIP_1]).execute_with(|| { assert_noop!( - Communities::promote_member( - RuntimeOrigin::signed(COMMUNITY_MEMBER_1), - COMMUNITY, - COMMUNITY_MEMBER_1 - ), + Communities::promote_member(Root.into(), COMMUNITY_MEMBER_1, MEMBERSHIP_1), BadOrigin ); }); @@ -232,15 +133,9 @@ mod member_rank { #[test] fn fails_when_not_a_community_member() { - new_test_ext().execute_with(|| { - setup(); - + new_test_ext(&[], &[MEMBERSHIP_1]).execute_with(|| { assert_noop!( - Communities::promote_member( - RuntimeOrigin::signed(COMMUNITY_ADMIN), - COMMUNITY, - COMMUNITY_NON_MEMBER - ), + Communities::promote_member(COMMUNITY_ORG.into(), COMMUNITY_NON_MEMBER, MEMBERSHIP_1), Error::NotAMember, ); }); @@ -248,51 +143,28 @@ mod member_rank { #[test] fn it_works() { - new_test_ext().execute_with(|| { - setup(); - + new_test_ext(&[COMMUNITY_MEMBER_1], &[MEMBERSHIP_1]).execute_with(|| { assert_ok!(Communities::promote_member( - RuntimeOrigin::signed(COMMUNITY_ADMIN), - COMMUNITY, - COMMUNITY_MEMBER_1 + COMMUNITY_ORG.into(), + COMMUNITY_MEMBER_1, + MEMBERSHIP_1 )); - assert_eq!(Communities::member_rank(COMMUNITY, COMMUNITY_MEMBER_1), 1.into()); - }); - } - - #[test] - fn should_stay_at_max_rank() { - new_test_ext().execute_with(|| { - setup(); - - MemberRanks::::set(COMMUNITY, COMMUNITY_MEMBER_1, Rank::MAX); - assert_ok!(Communities::promote_member( - RuntimeOrigin::signed(COMMUNITY_ADMIN), - COMMUNITY, - COMMUNITY_MEMBER_1 - )); - - assert_eq!(Communities::member_rank(COMMUNITY, COMMUNITY_MEMBER_1), Rank::MAX); + assert_eq!( + Communities::member_rank(&COMMUNITY_MEMBER_1, MEMBERSHIP_1), + Some(1.into()) + ); }); } } mod demote_member { - use crate::MemberRanks; - use super::*; #[test] fn fails_when_caller_not_a_privleged_origin() { - new_test_ext().execute_with(|| { - setup(); - + new_test_ext(&[COMMUNITY_MEMBER_1], &[MEMBERSHIP_1]).execute_with(|| { assert_noop!( - Communities::demote_member( - RuntimeOrigin::signed(COMMUNITY_MEMBER_1), - COMMUNITY, - COMMUNITY_MEMBER_1 - ), + Communities::demote_member(Root.into(), COMMUNITY_MEMBER_1, MEMBERSHIP_1), BadOrigin ); }); @@ -300,11 +172,9 @@ mod member_rank { #[test] fn fails_when_not_a_community_member() { - new_test_ext().execute_with(|| { - setup(); - + new_test_ext(&[COMMUNITY_MEMBER_1], &[MEMBERSHIP_1]).execute_with(|| { assert_noop!( - Communities::demote_member(RuntimeOrigin::signed(COMMUNITY_ADMIN), COMMUNITY, COMMUNITY_NON_MEMBER), + Communities::demote_member(COMMUNITY_ORG.into(), COMMUNITY_NON_MEMBER, MEMBERSHIP_1), Error::NotAMember, ); }); @@ -312,32 +182,39 @@ mod member_rank { #[test] fn it_works() { - new_test_ext().execute_with(|| { - setup(); - - MemberRanks::::set(COMMUNITY, COMMUNITY_MEMBER_1, 2.into()); - + new_test_ext(&[COMMUNITY_MEMBER_1], &[MEMBERSHIP_1]).execute_with(|| { + Communities::promote_member(COMMUNITY_ORG.into(), COMMUNITY_MEMBER_1, MEMBERSHIP_1) + .expect("can promote"); + Communities::promote_member(COMMUNITY_ORG.into(), COMMUNITY_MEMBER_1, MEMBERSHIP_1) + .expect("can promote"); assert_ok!(Communities::demote_member( - RuntimeOrigin::signed(COMMUNITY_ADMIN), - COMMUNITY, - COMMUNITY_MEMBER_1 + COMMUNITY_ORG.into(), + COMMUNITY_MEMBER_1, + MEMBERSHIP_1 )); - assert_eq!(Communities::member_rank(COMMUNITY, COMMUNITY_MEMBER_1), 1.into()); + assert_eq!( + Communities::member_rank(&COMMUNITY_MEMBER_1, MEMBERSHIP_1), + Some(1.into()) + ); }); } #[test] fn should_remain_at_min_rank() { - new_test_ext().execute_with(|| { - setup(); - - MemberRanks::::set(COMMUNITY, COMMUNITY_MEMBER_1, 0.into()); + new_test_ext(&[COMMUNITY_MEMBER_1], &[MEMBERSHIP_1]).execute_with(|| { + assert_eq!( + Communities::member_rank(&COMMUNITY_MEMBER_1, MEMBERSHIP_1), + Some(0.into()) + ); assert_ok!(Communities::demote_member( - RuntimeOrigin::signed(COMMUNITY_ADMIN), - COMMUNITY, - COMMUNITY_MEMBER_1 + COMMUNITY_ORG.into(), + COMMUNITY_MEMBER_1, + MEMBERSHIP_1, )); - assert_eq!(Communities::member_rank(COMMUNITY, COMMUNITY_MEMBER_1), Rank::MIN); + assert_eq!( + Communities::member_rank(&COMMUNITY_MEMBER_1, MEMBERSHIP_1), + Some(0.into()) + ); }); } } diff --git a/pallets/communities/src/tests/mock.rs b/pallets/communities/src/tests/mock.rs index a50fbc47..7d0a5989 100644 --- a/pallets/communities/src/tests/mock.rs +++ b/pallets/communities/src/tests/mock.rs @@ -1,33 +1,45 @@ use frame_support::{ - ord_parameter_types, parameter_types, + parameter_types, traits::{ - fungible::HoldConsideration, AsEnsureOriginWithArg, ConstU128, ConstU16, ConstU32, ConstU64, - EqualPrivilegeOnly, Footprint, + fungible::HoldConsideration, tokens::nonfungible_v2::ItemOf, AsEnsureOriginWithArg, ConstU128, ConstU16, + ConstU32, ConstU64, EqualPrivilegeOnly, Footprint, }, weights::Weight, PalletId, }; -use frame_system::{EnsureRoot, EnsureSigned, EnsureSignedBy}; -use parity_scale_codec::Compact; +use frame_system::{EnsureRoot, EnsureRootWithSuccess, EnsureSigned}; +use parity_scale_codec::{Compact, Decode, Encode, MaxEncodedLen}; +use scale_info::TypeInfo; use sp_core::H256; +use sp_io::TestExternalities; use sp_runtime::{ - traits::{BlakeTwo256, Convert, IdentityLookup}, - BuildStorage, + traits::{BlakeTwo256, Convert, IdentifyAccount, IdentityLookup, Verify}, + BuildStorage, MultiSignature, }; use crate::{ self as pallet_communities, - types::{Tally, VoteWeight}, + origin::EnsureCommunity, + types::{MembershipId, Tally, VoteWeight}, }; type Block = frame_system::mocking::MockBlock; type WeightInfo = (); -pub type AccountId = u64; +pub type AccountPublic = ::Signer; +pub type AccountId = ::AccountId; pub type Balance = u128; pub type AssetId = u32; -pub type CommunityId = u128; -pub type MembershipPassport = (); +pub type CollectionId = u32; + +#[derive(Clone, Copy, Debug, Decode, Encode, Eq, MaxEncodedLen, Ord, PartialEq, PartialOrd, TypeInfo)] +pub struct CommunityId(pub u16); + +impl From for CommunityId { + fn from(value: u16) -> Self { + CommunityId(value) + } +} // Configure a mock runtime to test the pallet. frame_support::construct_runtime!( @@ -36,11 +48,12 @@ frame_support::construct_runtime!( Assets: pallet_assets, Balances: pallet_balances, Communities: pallet_communities, + Nfts: pallet_nfts, Preimage: pallet_preimage, Referenda: pallet_referenda, - Tracks: pallet_referenda_tracks, Scheduler: pallet_scheduler, System: frame_system, + Tracks: pallet_referenda_tracks, } ); @@ -112,10 +125,37 @@ impl pallet_balances::Config for Test { } parameter_types! { - pub static AlarmInterval: u64 = 1; + pub const RootAccount: AccountId = AccountId::new([0xff; 32]); } -ord_parameter_types! { - pub const One: u64 = 1; +impl pallet_nfts::Config for Test { + type ApprovalsLimit = (); + type AttributeDepositBase = (); + type CollectionDeposit = (); + type CollectionId = CollectionId; + type CreateOrigin = AsEnsureOriginWithArg>; + type Currency = (); + type DepositPerByte = (); + type Features = (); + type ForceOrigin = EnsureRoot; + type ItemAttributesApprovalsLimit = (); + type ItemDeposit = (); + type ItemId = MembershipId; + type KeyLimit = ConstU32<10>; + type Locker = (); + type MaxAttributesPerCall = (); + type MaxDeadlineDuration = (); + type MaxTips = (); + type MetadataDepositBase = (); + type OffchainPublic = AccountPublic; + type OffchainSignature = MultiSignature; + type RuntimeEvent = RuntimeEvent; + type StringLimit = (); + type ValueLimit = ConstU32<10>; + type WeightInfo = (); +} + +parameter_types! { + pub static AlarmInterval: u64 = 1; } impl pallet_referenda::Config for Test { type WeightInfo = (); @@ -123,9 +163,9 @@ impl pallet_referenda::Config for Test { type RuntimeEvent = RuntimeEvent; type Scheduler = Scheduler; type Currency = pallet_balances::Pallet; - type SubmitOrigin = frame_system::EnsureSigned; - type CancelOrigin = EnsureSignedBy; - type KillOrigin = EnsureRoot; + type SubmitOrigin = frame_system::EnsureSigned; + type CancelOrigin = EnsureRoot; + type KillOrigin = EnsureRoot; type Slash = (); type Votes = VoteWeight; type Tally = Tally; @@ -157,7 +197,7 @@ impl pallet_preimage::Config for Test { type RuntimeEvent = RuntimeEvent; type Currency = Balances; type ManagerOrigin = EnsureSigned; - type Consideration = HoldConsideration; + type Consideration = HoldConsideration; } impl pallet_scheduler::Config for Test { @@ -175,25 +215,58 @@ impl pallet_scheduler::Config for Test { parameter_types! { pub const CommunitiesPalletId: PalletId = PalletId(*b"kv/comms"); - #[derive(Debug, Clone, PartialEq)] - pub const CommunitiesMaxProposals: u32 = 2; + pub const MembershipsCollectionId: CollectionId = 1; } +type Memberships = ItemOf; impl pallet_communities::Config for Test { - type RuntimeEvent = RuntimeEvent; - type WeightInfo = WeightInfo; type Assets = Assets; type Balances = Balances; type CommunityId = CommunityId; - type Membership = MembershipPassport; + type CommunityMgmtOrigin = EnsureRoot; + type MemberMgmtOrigin = EnsureCommunity; + type Memberships = Memberships; type PalletId = CommunitiesPalletId; type Polls = Referenda; + type RuntimeEvent = RuntimeEvent; + type WeightInfo = WeightInfo; } +fn create_memberships(memberships: &[MembershipId]) { + use frame_support::traits::tokens::nonfungible_v2::Mutate; + let account = Communities::community_account(&COMMUNITY); + let collection = MembershipsCollectionId::get(); + Nfts::do_create_collection( + collection, + account.clone(), + account.clone(), + Default::default(), + 0, + pallet_nfts::Event::ForceCreated { + collection, + owner: account.clone(), + }, + ) + .expect("creates collection"); + for m in memberships { + Memberships::mint_into(m, &account, &Default::default(), true).expect("can mint"); + } +} + +pub const COMMUNITY: CommunityId = CommunityId(1); +pub const COMMUNITY_ORG: OriginCaller = OriginCaller::Communities(pallet_communities::Origin::::new(COMMUNITY)); + // Build genesis storage according to the mock runtime. -pub fn new_test_ext() -> sp_io::TestExternalities { - frame_system::GenesisConfig::::default() - .build_storage() - .unwrap() - .into() +pub fn new_test_ext(members: &[AccountId], memberships: &[MembershipId]) -> sp_io::TestExternalities { + let t = frame_system::GenesisConfig::::default().build_storage().unwrap(); + let mut ext = TestExternalities::new(t); + ext.execute_with(|| { + System::set_block_number(1); + Communities::create(frame_system::RawOrigin::Root.into(), COMMUNITY_ORG, COMMUNITY).expect("Adds community"); + create_memberships(memberships); + for m in members { + Communities::add_member(COMMUNITY_ORG.into(), m.clone()).expect("Adds member"); + } + }); + ext } diff --git a/pallets/communities/src/tests/mod.rs b/pallets/communities/src/tests/mod.rs index 5b5e3a49..bae19698 100644 --- a/pallets/communities/src/tests/mod.rs +++ b/pallets/communities/src/tests/mod.rs @@ -1,31 +1,9 @@ -use crate::types::{self, *}; -use frame_support::{assert_noop, assert_ok, traits::fungible}; -use sp_runtime::traits::BadOrigin; -use sp_runtime::{ArithmeticError, DispatchError}; +use frame_support::assert_ok; mod mock; use mock::*; type Error = crate::Error; -const COMMUNITY: CommunityId = 1; -const COMMUNITY_ADMIN: AccountId = 42; - mod membership; mod registry; - -fn setup() { - System::set_block_number(1); - let minimum_balance = <::Balances as fungible::Inspect< - ::AccountId, - >>::minimum_balance(); - assert_ok!(Balances::force_set_balance( - RuntimeOrigin::root(), - COMMUNITY_ADMIN, - 2 * minimum_balance, - )); - assert_ok!(Communities::apply_for( - RuntimeOrigin::signed(COMMUNITY_ADMIN), - COMMUNITY - )); -} diff --git a/pallets/communities/src/tests/registry.rs b/pallets/communities/src/tests/registry.rs index 367e4d2e..d9402175 100644 --- a/pallets/communities/src/tests/registry.rs +++ b/pallets/communities/src/tests/registry.rs @@ -1,51 +1,36 @@ use super::*; -use crate::{Event, GovernanceStrategy, Info}; -use sp_runtime::BoundedVec; - -mod apply { +use crate::{ + types::{CommunityInfo, CommunityMetadata}, + Event, Info, +}; +use frame_support::assert_noop; +use frame_system::RawOrigin::Root; +use sp_runtime::{BoundedVec, DispatchError}; + +mod create { use super::*; #[test] fn fails_if_community_already_exists() { - new_test_ext().execute_with(|| { + new_test_ext(&[], &[]).execute_with(|| { // Simulate a pre-existing community - Info::::insert( - COMMUNITY, - CommunityInfo { - state: CommunityState::Awaiting, - }, - ); - GovernanceStrategy::::insert(COMMUNITY, CommunityGovernanceStrategy::AdminBased(COMMUNITY_ADMIN)); - - assert_ok!(Communities::do_insert_member(&COMMUNITY, &COMMUNITY_ADMIN)); + Info::::insert(COMMUNITY, CommunityInfo::default()); // Should fail adding the community assert_noop!( - Communities::apply_for(RuntimeOrigin::signed(COMMUNITY_ADMIN), COMMUNITY), + Communities::create(Root.into(), COMMUNITY_ORG, COMMUNITY), Error::CommunityAlreadyExists ); }); } - #[test] - fn fails_if_not_enough_funds_to_take_deposit() { - new_test_ext().execute_with(|| { - assert_noop!( - Communities::apply_for(RuntimeOrigin::signed(COMMUNITY_ADMIN), COMMUNITY), - DispatchError::Arithmetic(ArithmeticError::Underflow) - ); - }); - } - #[test] fn it_works() { - new_test_ext().execute_with(|| { - setup(); - - System::assert_last_event( + new_test_ext(&[], &[]).execute_with(|| { + System::assert_has_event( Event::CommunityCreated { id: COMMUNITY, - who: COMMUNITY_ADMIN, + origin: COMMUNITY_ORG, } .into(), ); @@ -58,17 +43,17 @@ mod set_metadata { #[test] fn fails_if_bad_origin() { - new_test_ext().execute_with(|| { - setup(); - + new_test_ext(&[], &[]).execute_with(|| { // Fail if trying to call from unsigned origin assert_noop!( Communities::set_metadata(RuntimeOrigin::none(), COMMUNITY, None, None, None), DispatchError::BadOrigin ); + // Fail if trying to call from non-admin + const NON_ADMIN: AccountId = AccountId::new([0; 32]); assert_noop!( - Communities::set_metadata(RuntimeOrigin::signed(COMMUNITY_ADMIN + 1), COMMUNITY, None, None, None), + Communities::set_metadata(RuntimeOrigin::signed(NON_ADMIN), COMMUNITY, None, None, None), DispatchError::BadOrigin ); }); @@ -76,20 +61,16 @@ mod set_metadata { #[test] fn works_inserts_default_metadata() { - new_test_ext().execute_with(|| { - setup(); - - // Receives metadata information from admin + new_test_ext(&[], &[]).execute_with(|| { assert_ok!(Communities::set_metadata( - RuntimeOrigin::signed(COMMUNITY_ADMIN), + Root.into(), COMMUNITY, Some(BoundedVec::truncate_from(b"Virto Network".to_vec())), None, None, )); - let community_metadata = - Communities::metadata(COMMUNITY).expect("We've already asserted that the insertion is succesful; qed"); + let community_metadata = Communities::metadata(COMMUNITY); assert_eq!( community_metadata, @@ -100,21 +81,19 @@ mod set_metadata { } ); - // Receives metadata information from root assert_ok!(Communities::set_metadata( - RuntimeOrigin::root(), + Root.into(), COMMUNITY, None, Some(BoundedVec::truncate_from(b"A community of awesome builders".to_vec())), None, )); - let community_metadata = - Communities::metadata(COMMUNITY).expect("We've already asserted that the insertion is succesful; qed"); + let community_metadata = Communities::metadata(COMMUNITY); assert_eq!( community_metadata, - types::CommunityMetadata { + CommunityMetadata { name: BoundedVec::truncate_from(b"Virto Network".to_vec()), description: BoundedVec::truncate_from(b"A community of awesome builders".to_vec()), main_url: BoundedVec::new(), diff --git a/pallets/communities/src/types.rs b/pallets/communities/src/types.rs index 5df6452c..6483d624 100644 --- a/pallets/communities/src/types.rs +++ b/pallets/communities/src/types.rs @@ -1,27 +1,18 @@ -use core::ops::Deref; - -use frame_support::pallet_prelude::{Decode, Encode}; -use frame_support::traits::fungible::Inspect; -use frame_support::traits::{fungibles, OriginTrait, Polling, VoteTally}; -use frame_support::{sp_runtime::BoundedVec, traits::ConstU32}; -use parity_scale_codec::MaxEncodedLen; -use scale_info::{prelude::vec::Vec, TypeInfo}; -use sp_runtime::traits::StaticLookup; - use crate::Config; -pub(crate) use frame_system::Config as SystemConfig; +use frame_support::pallet_prelude::*; +use frame_support::traits::{fungible, fungibles, GenericRank, Membership, Polling, RankedMembership, VoteTally}; +use sp_runtime::traits::StaticLookup; pub type AssetIdOf = <::Assets as fungibles::Inspect>>::AssetId; pub type AssetBalanceOf = <::Assets as fungibles::Inspect>>::Balance; -pub type NativeBalanceOf = <::Balances as Inspect>>::Balance; -pub type AccountIdOf = ::AccountId; -pub type AccountIdLookupOf = <::Lookup as StaticLookup>::Source; +pub type NativeBalanceOf = <::Balances as fungible::Inspect>>::Balance; +pub type AccountIdOf = ::AccountId; pub type CommunityIdOf = ::CommunityId; -pub type MemberListOf = Vec>; -pub type MembershipOf = ::Membership; pub type VoteOf = Vote, AssetBalanceOf>; pub type PollIndexOf = <::Polls as Polling>>::Index; -pub type RuntimeOriginOf = <::RuntimeOrigin as OriginTrait>::PalletsOrigin; +pub type AccountIdLookupOf = <::Lookup as StaticLookup>::Source; +pub type PalletsOriginOf = + <::RuntimeOrigin as frame_support::traits::OriginTrait>::PalletsOrigin; pub type SizedField = BoundedVec; pub type ConstSizedField = SizedField>; @@ -32,7 +23,7 @@ pub type ConstSizedField = SizedField>; /// marked to be sufficient. /// /// [1]: `frame_system::Config::AccountId` -#[derive(TypeInfo, Encode, Decode, MaxEncodedLen)] +#[derive(Decode, Default, Encode, MaxEncodedLen, TypeInfo)] pub struct CommunityInfo { /// The current state of the community. pub state: CommunityState, @@ -42,29 +33,19 @@ pub struct CommunityInfo { /// is awaiting to prove their contribution to the network, is active /// and can operate, blocked due to a violation of network norms, or /// it's being frozen by the community administrators. -#[derive(Default, TypeInfo, PartialEq, Encode, Decode, MaxEncodedLen)] +#[derive(Decode, Default, Encode, MaxEncodedLen, PartialEq, TypeInfo)] pub enum CommunityState { - /// The community is currently awaiting to prove they are contributing - /// to the network. + /// The community is opperating normally. #[default] - Awaiting, - /// The community has proven the required contributions to the network - /// and can operate. Active, - /// The community is frozen, and is temporality unable to operate. This - /// state can be changed by thawing the community via a privileged call. - Frozen, /// The community is blocked, typically as a result of a restriction imposed - /// by violating the norms of the network. In practice, this is an - /// equivalent to being `frozen`, howerver the state cannot be changed by - /// the community administrators, but by submitting a proposal to the - /// network for it to be changed. + /// by violating the norms of the network. Blocked, } /// The CommunityMetadata struct stores some descriptive information about /// the community. -#[derive(TypeInfo, Eq, PartialEq, Default, Debug, Clone, Encode, Decode, MaxEncodedLen)] +#[derive(Clone, Debug, Decode, Default, Encode, Eq, MaxEncodedLen, PartialEq, TypeInfo)] pub struct CommunityMetadata { /// The name of the community pub name: ConstSizedField<64>, @@ -74,34 +55,53 @@ pub struct CommunityMetadata { pub main_url: ConstSizedField<256>, } -/// A general purpose rank in the range 0-100 -#[derive(Debug, Default, Clone, Copy, PartialEq, PartialOrd, Encode, Decode, TypeInfo, MaxEncodedLen)] -pub struct Rank(u8); +pub(crate) type MembershipIdPart = u32; -impl Rank { - pub const MAX: Self = Rank(100); - pub const MIN: Self = Rank(0); +#[derive(Clone, Copy, Debug, Decode, Encode, Eq, MaxEncodedLen, PartialEq, TypeInfo)] +pub struct MembershipId(pub(crate) CommunityId, pub(crate) MembershipIdPart); - #[inline] - pub fn promote(&mut self) { - *self = self.0.saturating_add(1).min(Self::MAX.0).into() +impl From<(CommunityId, MembershipIdPart)> for MembershipId { + fn from(value: (CommunityId, MembershipIdPart)) -> Self { + MembershipId(value.0, value.1) } +} - #[inline] - pub fn demote(&mut self) { - *self = self.0.saturating_sub(1).max(Self::MIN.0).into() +#[derive(Decode, Encode, TypeInfo)] +pub struct MembershipInfo { + id: MembershipId, + rank: GenericRank, +} + +impl MembershipInfo { + pub fn new(id: MembershipId) -> Self { + Self { + id, + rank: GenericRank::default(), + } + } + pub fn community(&self) -> &CommunityId { + &self.id.0 } } -impl From for Rank { - fn from(rank: u8) -> Self { - Rank(rank) +impl Membership for MembershipInfo +where + CommunityId: Decode + Encode, +{ + type Id = MembershipId; + fn id(&self) -> &Self::Id { + &self.id } } -impl Deref for Rank { - type Target = u8; - fn deref(&self) -> &Self::Target { - &(self.0) +impl RankedMembership for MembershipInfo +where + CommunityId: Decode + Encode, +{ + fn rank(&self) -> &GenericRank { + &self.rank + } + fn rank_mut(&mut self) -> &mut GenericRank { + &mut self.rank } } @@ -111,7 +111,7 @@ pub type VoteWeight = u32; /// This structure holds a governance strategy. This defines how to behave /// when ensuring privileged calls and deciding executing /// calls -#[derive(TypeInfo, Encode, Decode, MaxEncodedLen, Clone, Eq, PartialEq, Debug)] +#[derive(Clone, Debug, Decode, Encode, Eq, MaxEncodedLen, PartialEq, TypeInfo)] #[scale_info(skip_type_params(AccountId, AssetId))] pub enum CommunityGovernanceStrategy { /// The community governance lies in the shoulders of the admin of it. @@ -143,7 +143,7 @@ pub enum CommunityGovernanceStrategy { } /// -#[derive(TypeInfo, Encode, Decode, Debug, PartialEq, Clone)] +#[derive(Clone, Debug, Decode, Encode, PartialEq, TypeInfo)] pub enum Vote { AssetBalance(bool, AssetId, AssetBalance), Standard(bool), @@ -156,7 +156,7 @@ impl From> for VoteWeight { } /// -#[derive(Debug, Clone, Eq, PartialEq, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive(Clone, Debug, Decode, Encode, Eq, MaxEncodedLen, PartialEq, TypeInfo)] #[scale_info(skip_type_params(T))] #[codec(mel_bound(T: Config))] pub struct Tally(core::marker::PhantomData); diff --git a/pallets/communities/src/weights.rs b/pallets/communities/src/weights.rs index 169f3f2f..bb858bd5 100644 --- a/pallets/communities/src/weights.rs +++ b/pallets/communities/src/weights.rs @@ -34,7 +34,7 @@ use core::marker::PhantomData; /// Weight functions needed for pallet_communities. pub trait WeightInfo { - fn apply_for() -> Weight; + fn create() -> Weight; fn set_metadata() -> Weight; fn add_member() -> Weight; fn promote_member() -> Weight; @@ -48,7 +48,7 @@ pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { /// Storage: Communities Something (r:0 w:1) /// Proof: Communities Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - fn apply_for() -> Weight { + fn create() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` @@ -128,7 +128,7 @@ impl WeightInfo for SubstrateWeight { impl WeightInfo for () { /// Storage: Communities Something (r:0 w:1) /// Proof: Communities Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - fn apply_for() -> Weight { + fn create() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` diff --git a/rust-toolchain.toml b/rust-toolchain.toml deleted file mode 100644 index 680845de..00000000 --- a/rust-toolchain.toml +++ /dev/null @@ -1,5 +0,0 @@ -[toolchain] -channel = "nightly-2023-10-30" -components = [ "rustfmt" ] -targets = [ "wasm32-unknown-unknown" ] -profile = "minimal" \ No newline at end of file