From 92d2b3141766c3cba335d1db826c65326c5ecfbc Mon Sep 17 00:00:00 2001 From: kozyrevdev <73348153+kozyrevdev@users.noreply.github.com> Date: Wed, 22 Jun 2022 08:38:26 +0000 Subject: [PATCH] Merge pull request #401 from UniqueNetwork/release-v923000 Release v923000 --- --- a/.env +++ b/.env @@ -1,6 +1,6 @@ RUST_TOOLCHAIN=nightly-2022-05-11 RUST_C=1.62.0-nightly -POLKA_VERSION=release-v0.9.22 +POLKA_VERSION=release-v0.9.23 UNIQUE_BRANCH=develop USER=*** PASS=*** --- a/Cargo.lock +++ b/Cargo.lock @@ -188,9 +188,9 @@ [[package]] name = "async-global-executor" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd8b508d585e01084059b60f06ade4cb7415cd2e4084b71dd1cb44e7d3fb9880" +checksum = "5262ed948da60dd8956c6c5aca4d4163593dddb7b32d73267c93dab7b2e98940" dependencies = [ "async-channel", "async-executor", @@ -198,6 +198,7 @@ "async-lock", "blocking", "futures-lite", + "num_cpus", "once_cell", ] @@ -429,7 +430,7 @@ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "beefy-primitives", "fnv", @@ -463,7 +464,7 @@ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "beefy-gadget", "beefy-primitives", @@ -483,12 +484,12 @@ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" [[package]] name = "beefy-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "scale-info", @@ -579,17 +580,6 @@ checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" dependencies = [ "arrayvec 0.4.12", - "constant_time_eq", -] - -[[package]] -name = "blake2b_simd" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", "constant_time_eq", ] @@ -701,7 +691,7 @@ [[package]] name = "bp-header-chain" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bp-runtime", "finality-grandpa", @@ -718,7 +708,7 @@ [[package]] name = "bp-message-dispatch" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bp-runtime", "frame-support", @@ -730,7 +720,7 @@ [[package]] name = "bp-messages" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bitvec 1.0.0", "bp-runtime", @@ -747,7 +737,7 @@ [[package]] name = "bp-polkadot-core" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bp-messages", "bp-runtime", @@ -765,7 +755,7 @@ [[package]] name = "bp-rococo" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bp-messages", "bp-polkadot-core", @@ -782,7 +772,7 @@ [[package]] name = "bp-runtime" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "frame-support", "hash-db", @@ -800,7 +790,7 @@ [[package]] name = "bp-test-utils" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bp-header-chain", "ed25519-dalek", @@ -815,7 +805,7 @@ [[package]] name = "bp-wococo" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bp-messages", "bp-polkadot-core", @@ -830,7 +820,7 @@ [[package]] name = "bridge-runtime-common" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bp-message-dispatch", "bp-messages", @@ -864,10 +854,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" dependencies = [ - "lazy_static", "memchr", - "regex-automata", - "serde", ] [[package]] @@ -1131,6 +1118,17 @@ ] [[package]] +name = "comfy-table" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b103d85ca6e209388771bfb7aa6b68a7aeec4afbf6f0a0264bfbf50360e5212e" +dependencies = [ + "strum 0.23.0", + "strum_macros 0.23.1", + "unicode-width", +] + +[[package]] name = "concurrent-queue" version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1402,37 +1400,6 @@ ] [[package]] -name = "csv" -version = "1.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1" -dependencies = [ - "bstr", - "csv-core", - "itoa 0.4.8", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" -dependencies = [ - "memchr", -] - -[[package]] -name = "ct-logs" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1a816186fa68d9e426e3cb4ae4dff1fcd8e4a2c34b781bf7a822574a0d0aac8" -dependencies = [ - "sct 0.6.1", -] - -[[package]] name = "ctor" version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1465,7 +1432,7 @@ [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "clap", "sc-cli", @@ -1476,7 +1443,7 @@ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -1500,7 +1467,7 @@ [[package]] name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1529,7 +1496,7 @@ [[package]] name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -1550,7 +1517,7 @@ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -1575,7 +1542,7 @@ [[package]] name = "cumulus-client-pov-recovery" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", @@ -1599,7 +1566,7 @@ [[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -1629,7 +1596,7 @@ [[package]] name = "cumulus-pallet-aura-ext" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "frame-executive", "frame-support", @@ -1647,7 +1614,7 @@ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1665,7 +1632,7 @@ [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "cumulus-pallet-parachain-system-proc-macro", "cumulus-primitives-core", @@ -1695,7 +1662,7 @@ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1706,7 +1673,7 @@ [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1723,7 +1690,7 @@ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1741,7 +1708,7 @@ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "frame-support", "parity-scale-codec 3.1.5", @@ -1757,7 +1724,7 @@ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1780,7 +1747,7 @@ [[package]] name = "cumulus-primitives-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "cumulus-primitives-core", "futures 0.3.21", @@ -1793,7 +1760,7 @@ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1810,7 +1777,7 @@ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1818,8 +1785,10 @@ "futures 0.3.21", "futures-timer", "parking_lot 0.12.1", + "polkadot-cli", "polkadot-client", "polkadot-service", + "sc-cli", "sc-client-api", "sc-consensus-babe", "sc-network", @@ -1839,7 +1808,7 @@ [[package]] name = "cumulus-relay-chain-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1863,7 +1832,7 @@ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "async-trait", "backoff", @@ -1889,7 +1858,7 @@ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "cumulus-primitives-core", "parity-scale-codec 3.1.5", @@ -2081,24 +2050,13 @@ ] [[package]] -name = "dirs" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" -dependencies = [ - "libc", - "redox_users 0.3.5", - "winapi", -] - -[[package]] name = "dirs-sys" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" dependencies = [ "libc", - "redox_users 0.4.3", + "redox_users", "winapi", ] @@ -2109,7 +2067,7 @@ checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", - "redox_users 0.4.3", + "redox_users", "winapi", ] @@ -2222,12 +2180,6 @@ ] [[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] name = "enum-as-inner" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2369,7 +2321,7 @@ [[package]] name = "evm" version = "0.35.0" -source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.22#e9252ed42dc26fc85b6703b1ba50660a08209e55" +source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.23#e9252ed42dc26fc85b6703b1ba50660a08209e55" dependencies = [ "auto_impl", "environmental", @@ -2415,7 +2367,7 @@ [[package]] name = "evm-core" version = "0.35.0" -source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.22#e9252ed42dc26fc85b6703b1ba50660a08209e55" +source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.23#e9252ed42dc26fc85b6703b1ba50660a08209e55" dependencies = [ "parity-scale-codec 3.1.5", "primitive-types", @@ -2426,7 +2378,7 @@ [[package]] name = "evm-gasometer" version = "0.35.0" -source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.22#e9252ed42dc26fc85b6703b1ba50660a08209e55" +source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.23#e9252ed42dc26fc85b6703b1ba50660a08209e55" dependencies = [ "environmental", "evm-core", @@ -2437,7 +2389,7 @@ [[package]] name = "evm-runtime" version = "0.35.0" -source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.22#e9252ed42dc26fc85b6703b1ba50660a08209e55" +source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.23#e9252ed42dc26fc85b6703b1ba50660a08209e55" dependencies = [ "auto_impl", "environmental", @@ -2529,7 +2481,7 @@ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "async-trait", "fc-db", @@ -2548,7 +2500,7 @@ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "fp-storage", "kvdb-rocksdb", @@ -2564,7 +2516,7 @@ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "fc-db", "fp-consensus", @@ -2581,7 +2533,7 @@ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "ethereum", "ethereum-types", @@ -2621,7 +2573,7 @@ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "ethereum", "ethereum-types", @@ -2731,7 +2683,7 @@ [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", ] @@ -2749,7 +2701,7 @@ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "ethereum", "parity-scale-codec 3.1.5", @@ -2761,7 +2713,7 @@ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "evm", "frame-support", @@ -2775,7 +2727,7 @@ [[package]] name = "fp-evm-mapping" version = "0.1.0" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "frame-support", "sp-core", @@ -2784,7 +2736,7 @@ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "ethereum", "ethereum-types", @@ -2801,7 +2753,7 @@ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "ethereum", "frame-support", @@ -2817,7 +2769,7 @@ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "parity-scale-codec 3.1.5", ] @@ -2825,7 +2777,7 @@ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", @@ -2847,11 +2799,12 @@ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "Inflector", "chrono", "clap", + "comfy-table", "frame-benchmarking", "frame-support", "frame-system", @@ -2865,7 +2818,6 @@ "log", "memory-db", "parity-scale-codec 3.1.5", - "prettytable-rs", "rand 0.8.5", "rand_pcg 0.3.1", "sc-block-builder", @@ -2897,7 +2849,7 @@ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2908,7 +2860,7 @@ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2924,7 +2876,7 @@ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", @@ -2952,7 +2904,7 @@ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "bitflags", "frame-metadata", @@ -2982,7 +2934,7 @@ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2994,7 +2946,7 @@ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -3006,7 +2958,7 @@ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "proc-macro2", "quote", @@ -3016,7 +2968,7 @@ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "log", @@ -3033,7 +2985,7 @@ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -3048,7 +3000,7 @@ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "sp-api", @@ -3057,7 +3009,7 @@ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "sp-api", @@ -3199,8 +3151,8 @@ checksum = "e01fe9932a224b72b45336d96040aa86386d674a31d0af27d800ea7bc8ca97fe" dependencies = [ "futures-io", - "rustls 0.20.6", - "webpki 0.22.0", + "rustls", + "webpki", ] [[package]] @@ -3562,19 +3514,17 @@ [[package]] name = "hyper-rustls" -version = "0.22.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64" +checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" dependencies = [ - "ct-logs", - "futures-util", + "http", "hyper", "log", - "rustls 0.19.1", - "rustls-native-certs 0.5.0", + "rustls", + "rustls-native-certs", "tokio 1.19.2", - "tokio-rustls 0.22.0", - "webpki 0.21.4", + "tokio-rustls", ] [[package]] @@ -3606,9 +3556,9 @@ [[package]] name = "if-watch" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8f4a3c3d4c89351ca83e120c1c00b27df945d38e05695668c9d4b4f7bc52f3" +checksum = "774d59367a3d26965d21ac70a86fcb697d83405d1c4312d1d8a6855296af0cf7" dependencies = [ "async-io", "core-foundation", @@ -3790,11 +3740,11 @@ "jsonrpsee-core", "jsonrpsee-types", "pin-project 1.0.10", - "rustls-native-certs 0.6.2", + "rustls-native-certs", "soketto", "thiserror", "tokio 1.19.2", - "tokio-rustls 0.23.4", + "tokio-rustls", "tokio-util", "tracing", "webpki-roots", @@ -3920,8 +3870,8 @@ [[package]] name = "kusama-runtime" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "beefy-primitives", "bitvec 1.0.0", @@ -4013,8 +3963,8 @@ [[package]] name = "kusama-runtime-constants" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "frame-support", "polkadot-primitives", @@ -4174,7 +4124,7 @@ "libp2p-request-response", "libp2p-swarm", "log", - "prost", + "prost 0.9.0", "prost-build", "rand 0.8.5", ] @@ -4201,7 +4151,7 @@ "multistream-select", "parking_lot 0.12.1", "pin-project 1.0.10", - "prost", + "prost 0.9.0", "prost-build", "rand 0.8.5", "ring", @@ -4251,7 +4201,7 @@ "libp2p-core", "libp2p-swarm", "log", - "prost", + "prost 0.9.0", "prost-build", "rand 0.7.3", "smallvec", @@ -4275,7 +4225,7 @@ "libp2p-swarm", "log", "prometheus-client", - "prost", + "prost 0.9.0", "prost-build", "rand 0.7.3", "regex", @@ -4297,7 +4247,7 @@ "libp2p-swarm", "log", "lru 0.7.7", - "prost", + "prost 0.9.0", "prost-build", "smallvec", ] @@ -4319,7 +4269,7 @@ "libp2p-core", "libp2p-swarm", "log", - "prost", + "prost 0.9.0", "prost-build", "rand 0.7.3", "sha2 0.10.2", @@ -4397,7 +4347,7 @@ "lazy_static", "libp2p-core", "log", - "prost", + "prost 0.9.0", "prost-build", "rand 0.8.5", "sha2 0.10.2", @@ -4434,7 +4384,7 @@ "futures 0.3.21", "libp2p-core", "log", - "prost", + "prost 0.9.0", "prost-build", "unsigned-varint", "void", @@ -4470,7 +4420,7 @@ "libp2p-swarm", "log", "pin-project 1.0.10", - "prost", + "prost 0.9.0", "prost-build", "rand 0.8.5", "smallvec", @@ -4494,7 +4444,7 @@ "libp2p-core", "libp2p-swarm", "log", - "prost", + "prost 0.9.0", "prost-build", "rand 0.8.5", "sha2 0.10.2", @@ -4849,6 +4799,15 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] +name = "memfd" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6627dc657574b49d6ad27105ed671822be56e0d2547d413bfbf3e8d8fa92e7a" +dependencies = [ + "libc", +] + +[[package]] name = "memmap2" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4914,21 +4873,6 @@ ] [[package]] -name = "metered-channel" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" -dependencies = [ - "coarsetime", - "crossbeam-queue", - "derive_more", - "futures 0.3.21", - "futures-timer", - "nanorand", - "thiserror", - "tracing-gum", -] - -[[package]] name = "mick-jaeger" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -5007,7 +4951,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3db354f401db558759dfc1e568d010a5d4146f4d3f637be1275ec4a3cf09689" dependencies = [ - "blake2b_simd 1.0.0", + "blake2b_simd", "blake2s_simd", "blake3", "core2", @@ -5307,7 +5251,7 @@ [[package]] name = "opal-runtime" -version = "0.9.22" +version = "0.9.23" dependencies = [ "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", @@ -5406,6 +5350,35 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] +name = "orchestra" +version = "0.0.1" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" +dependencies = [ + "async-trait", + "dyn-clonable", + "futures 0.3.21", + "futures-timer", + "orchestra-proc-macro", + "pin-project 1.0.10", + "prioritized-metered-channel", + "thiserror", + "tracing", +] + +[[package]] +name = "orchestra-proc-macro" +version = "0.0.1" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" +dependencies = [ + "expander 0.0.6", + "petgraph", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] name = "ordered-float" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -5417,7 +5390,7 @@ [[package]] name = "orml-vesting" version = "0.4.1-dev" -source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.22#59f6596ae462035d153e198ba5db8c5e084e6d25" +source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.23#97ff860ba8b2bbd246e6c91395fb95fd89c2951f" dependencies = [ "frame-support", "frame-system", @@ -5447,7 +5420,7 @@ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", @@ -5463,7 +5436,7 @@ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", @@ -5479,7 +5452,7 @@ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", @@ -5494,7 +5467,7 @@ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -5518,7 +5491,7 @@ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5538,7 +5511,7 @@ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -5553,7 +5526,7 @@ [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "fp-evm", "frame-support", @@ -5568,7 +5541,7 @@ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "beefy-primitives", "frame-support", @@ -5584,7 +5557,7 @@ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -5607,7 +5580,7 @@ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -5625,7 +5598,7 @@ [[package]] name = "pallet-bridge-dispatch" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bp-message-dispatch", "bp-runtime", @@ -5642,7 +5615,7 @@ [[package]] name = "pallet-bridge-grandpa" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bp-header-chain", "bp-runtime", @@ -5664,7 +5637,7 @@ [[package]] name = "pallet-bridge-messages" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bitvec 1.0.0", "bp-message-dispatch", @@ -5685,7 +5658,7 @@ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -5704,7 +5677,7 @@ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -5742,7 +5715,7 @@ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -5758,7 +5731,7 @@ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5781,7 +5754,7 @@ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5794,7 +5767,7 @@ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -5812,7 +5785,7 @@ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "ethereum", "ethereum-types", @@ -5841,7 +5814,7 @@ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad" +source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2" dependencies = [ "evm", "fp-evm", @@ -5964,7 +5937,7 @@ [[package]] name = "pallet-gilt" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -5979,7 +5952,7 @@ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6002,7 +5975,7 @@ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "enumflags2", "frame-benchmarking", @@ -6018,7 +5991,7 @@ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6038,7 +6011,7 @@ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6074,7 +6047,7 @@ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6091,7 +6064,7 @@ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -6109,7 +6082,7 @@ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "jsonrpsee", "parity-scale-codec 3.1.5", @@ -6124,7 +6097,7 @@ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6139,7 +6112,7 @@ [[package]] name = "pallet-nicks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", @@ -6153,10 +6126,11 @@ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", + "log", "parity-scale-codec 3.1.5", "scale-info", "sp-core", @@ -6168,7 +6142,7 @@ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6209,7 +6183,7 @@ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", @@ -6226,7 +6200,7 @@ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6249,7 +6223,7 @@ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6265,7 +6239,7 @@ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6280,7 +6254,7 @@ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", @@ -6294,7 +6268,7 @@ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6369,7 +6343,7 @@ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6385,7 +6359,7 @@ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", @@ -6406,7 +6380,7 @@ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6422,7 +6396,7 @@ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", @@ -6436,7 +6410,7 @@ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6459,7 +6433,7 @@ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6470,7 +6444,7 @@ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "log", "sp-arithmetic", @@ -6494,7 +6468,7 @@ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", @@ -6508,7 +6482,7 @@ [[package]] name = "pallet-template-transaction-payment" version = "3.0.0" -source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.22#9fc4fbc3f83fdc793205f3fef1c97ef168d4dfe0" +source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.23#5f3b55354830f9707d6632aaa54362deea981116" dependencies = [ "frame-benchmarking", "frame-support", @@ -6528,7 +6502,7 @@ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6546,7 +6520,7 @@ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6565,14 +6539,13 @@ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-support", "frame-system", "parity-scale-codec 3.1.5", "scale-info", "serde", - "smallvec", "sp-core", "sp-io", "sp-runtime", @@ -6582,7 +6555,7 @@ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6597,7 +6570,7 @@ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "pallet-transaction-payment", "parity-scale-codec 3.1.5", @@ -6608,7 +6581,7 @@ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6667,7 +6640,7 @@ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6683,7 +6656,7 @@ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-benchmarking", "frame-support", @@ -6697,8 +6670,8 @@ [[package]] name = "pallet-xcm" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "frame-support", "frame-system", @@ -6715,8 +6688,8 @@ [[package]] name = "pallet-xcm-benchmarks" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "frame-benchmarking", "frame-support", @@ -6733,7 +6706,7 @@ [[package]] name = "parachain-info" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -6900,7 +6873,7 @@ "cfg-if 1.0.0", "instant", "libc", - "redox_syscall 0.2.13", + "redox_syscall", "smallvec", "winapi", ] @@ -6913,7 +6886,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.13", + "redox_syscall", "smallvec", "windows-sys", ] @@ -7079,8 +7052,8 @@ [[package]] name = "polkadot-approval-distribution" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "futures 0.3.21", "polkadot-node-network-protocol", @@ -7094,8 +7067,8 @@ [[package]] name = "polkadot-availability-bitfield-distribution" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "futures 0.3.21", "polkadot-node-network-protocol", @@ -7108,8 +7081,8 @@ [[package]] name = "polkadot-availability-distribution" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "derive_more", "fatality", @@ -7131,8 +7104,8 @@ [[package]] name = "polkadot-availability-recovery" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "fatality", "futures 0.3.21", @@ -7152,8 +7125,8 @@ [[package]] name = "polkadot-cli" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "clap", "frame-benchmarking-cli", @@ -7177,8 +7150,8 @@ [[package]] name = "polkadot-client" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "beefy-primitives", "frame-benchmarking", @@ -7217,8 +7190,8 @@ [[package]] name = "polkadot-collator-protocol" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "always-assert", "fatality", @@ -7238,8 +7211,8 @@ [[package]] name = "polkadot-core-primitives" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "parity-scale-codec 3.1.5", "parity-util-mem", @@ -7251,8 +7224,8 @@ [[package]] name = "polkadot-dispute-distribution" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "derive_more", "fatality", @@ -7274,8 +7247,8 @@ [[package]] name = "polkadot-erasure-coding" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "parity-scale-codec 3.1.5", "polkadot-node-primitives", @@ -7288,8 +7261,8 @@ [[package]] name = "polkadot-gossip-support" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "futures 0.3.21", "futures-timer", @@ -7308,8 +7281,8 @@ [[package]] name = "polkadot-network-bridge" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "always-assert", "async-trait", @@ -7329,8 +7302,8 @@ [[package]] name = "polkadot-node-collation-generation" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "futures 0.3.21", "parity-scale-codec 3.1.5", @@ -7347,8 +7320,8 @@ [[package]] name = "polkadot-node-core-approval-voting" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bitvec 1.0.0", "derive_more", @@ -7376,8 +7349,8 @@ [[package]] name = "polkadot-node-core-av-store" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bitvec 1.0.0", "futures 0.3.21", @@ -7396,8 +7369,8 @@ [[package]] name = "polkadot-node-core-backing" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bitvec 1.0.0", "fatality", @@ -7415,8 +7388,8 @@ [[package]] name = "polkadot-node-core-bitfield-signing" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "futures 0.3.21", "polkadot-node-subsystem", @@ -7430,8 +7403,8 @@ [[package]] name = "polkadot-node-core-candidate-validation" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "async-trait", "futures 0.3.21", @@ -7448,8 +7421,8 @@ [[package]] name = "polkadot-node-core-chain-api" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "futures 0.3.21", "polkadot-node-subsystem", @@ -7463,8 +7436,8 @@ [[package]] name = "polkadot-node-core-chain-selection" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "futures 0.3.21", "futures-timer", @@ -7480,8 +7453,8 @@ [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "fatality", "futures 0.3.21", @@ -7499,8 +7472,8 @@ [[package]] name = "polkadot-node-core-parachains-inherent" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "async-trait", "futures 0.3.21", @@ -7516,8 +7489,8 @@ [[package]] name = "polkadot-node-core-provisioner" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bitvec 1.0.0", "fatality", @@ -7534,8 +7507,8 @@ [[package]] name = "polkadot-node-core-pvf" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "always-assert", "assert_matches", @@ -7559,13 +7532,14 @@ "sp-maybe-compressed-blob", "sp-tracing", "sp-wasm-interface", + "tempfile", "tracing-gum", ] [[package]] name = "polkadot-node-core-pvf-checker" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "futures 0.3.21", "polkadot-node-primitives", @@ -7580,8 +7554,8 @@ [[package]] name = "polkadot-node-core-runtime-api" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "futures 0.3.21", "memory-lru", @@ -7592,14 +7566,13 @@ "sp-api", "sp-authority-discovery", "sp-consensus-babe", - "sp-core", "tracing-gum", ] [[package]] name = "polkadot-node-jaeger" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "async-std", "lazy_static", @@ -7616,16 +7589,16 @@ [[package]] name = "polkadot-node-metrics" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bs58", "futures 0.3.21", "futures-timer", "log", - "metered-channel", "parity-scale-codec 3.1.5", "polkadot-primitives", + "prioritized-metered-channel", "sc-cli", "sc-service", "sc-tracing", @@ -7635,8 +7608,8 @@ [[package]] name = "polkadot-node-network-protocol" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "async-trait", "derive_more", @@ -7651,12 +7624,13 @@ "sc-network", "strum 0.24.1", "thiserror", + "tracing-gum", ] [[package]] name = "polkadot-node-primitives" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bounded-vec", "futures 0.3.21", @@ -7677,8 +7651,8 @@ [[package]] name = "polkadot-node-subsystem" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -7687,15 +7661,15 @@ [[package]] name = "polkadot-node-subsystem-types" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "derive_more", "futures 0.3.21", + "orchestra", "polkadot-node-jaeger", "polkadot-node-network-protocol", "polkadot-node-primitives", - "polkadot-overseer-gen", "polkadot-primitives", "polkadot-statement-table", "sc-network", @@ -7706,8 +7680,8 @@ [[package]] name = "polkadot-node-subsystem-util" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "async-trait", "derive_more", @@ -7716,7 +7690,6 @@ "itertools", "kvdb", "lru 0.7.7", - "metered-channel", "parity-db", "parity-scale-codec 3.1.5", "parity-util-mem", @@ -7729,6 +7702,7 @@ "polkadot-node-subsystem", "polkadot-overseer", "polkadot-primitives", + "prioritized-metered-channel", "rand 0.8.5", "sp-application-crypto", "sp-core", @@ -7739,58 +7713,30 @@ [[package]] name = "polkadot-overseer" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "futures 0.3.21", "futures-timer", "lru 0.7.7", + "orchestra", "parity-util-mem", "parking_lot 0.12.1", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem-types", - "polkadot-overseer-gen", "polkadot-primitives", "sc-client-api", "sp-api", - "tracing-gum", -] - -[[package]] -name = "polkadot-overseer-gen" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" -dependencies = [ - "async-trait", - "futures 0.3.21", - "futures-timer", - "metered-channel", - "pin-project 1.0.10", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-overseer-gen-proc-macro", - "thiserror", + "sp-core", "tracing-gum", ] [[package]] -name = "polkadot-overseer-gen-proc-macro" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" -dependencies = [ - "expander 0.0.6", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] name = "polkadot-parachain" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "derive_more", "frame-support", @@ -7806,8 +7752,8 @@ [[package]] name = "polkadot-performance-test" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "env_logger", "kusama-runtime", @@ -7821,8 +7767,8 @@ [[package]] name = "polkadot-primitives" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bitvec 1.0.0", "frame-system", @@ -7851,8 +7797,8 @@ [[package]] name = "polkadot-rpc" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", @@ -7883,8 +7829,8 @@ [[package]] name = "polkadot-runtime" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "beefy-primitives", "bitvec 1.0.0", @@ -7969,8 +7915,8 @@ [[package]] name = "polkadot-runtime-common" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "beefy-primitives", "bitvec 1.0.0", @@ -8016,8 +7962,8 @@ [[package]] name = "polkadot-runtime-constants" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "frame-support", "polkadot-primitives", @@ -8028,8 +7974,8 @@ [[package]] name = "polkadot-runtime-metrics" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bs58", "parity-scale-codec 3.1.5", @@ -8040,8 +7986,8 @@ [[package]] name = "polkadot-runtime-parachains" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "bitflags", "bitvec 1.0.0", @@ -8083,8 +8029,8 @@ [[package]] name = "polkadot-service" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "async-trait", "beefy-gadget", @@ -8126,6 +8072,7 @@ "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", + "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-parachain", @@ -8185,8 +8132,8 @@ [[package]] name = "polkadot-statement-distribution" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "arrayvec 0.5.2", "fatality", @@ -8206,8 +8153,8 @@ [[package]] name = "polkadot-statement-table" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "parity-scale-codec 3.1.5", "polkadot-primitives", @@ -8216,8 +8163,8 @@ [[package]] name = "polkadot-test-runtime" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "beefy-primitives", "bitvec 1.0.0", @@ -8278,8 +8225,8 @@ [[package]] name = "polkadot-test-service" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "frame-benchmarking", "frame-system", @@ -8373,20 +8320,6 @@ checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" [[package]] -name = "prettytable-rs" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fd04b170004fa2daccf418a7f8253aaf033c27760b5f225889024cf66d7ac2e" -dependencies = [ - "atty", - "csv", - "encode_unicode", - "lazy_static", - "term", - "unicode-width", -] - -[[package]] name = "primitive-types" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -8401,6 +8334,21 @@ ] [[package]] +name = "prioritized-metered-channel" +version = "0.2.0" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" +dependencies = [ + "coarsetime", + "crossbeam-queue", + "derive_more", + "futures 0.3.21", + "futures-timer", + "nanorand", + "thiserror", + "tracing", +] + +[[package]] name = "proc-macro-crate" version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -8487,10 +8435,20 @@ checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" dependencies = [ "bytes 1.1.0", - "prost-derive", + "prost-derive 0.9.0", ] [[package]] +name = "prost" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71adf41db68aa0daaefc69bb30bcd68ded9b9abaad5d1fbb6304c4fb390e083e" +dependencies = [ + "bytes 1.1.0", + "prost-derive 0.10.1", +] + +[[package]] name = "prost-build" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -8503,7 +8461,7 @@ "log", "multimap", "petgraph", - "prost", + "prost 0.9.0", "prost-types", "regex", "tempfile", @@ -8524,13 +8482,26 @@ ] [[package]] +name = "prost-derive" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b670f45da57fb8542ebdbb6105a925fe571b67f9e7ed9f47a06a84e72b4e7cc" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn", +] + +[[package]] name = "prost-types" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" dependencies = [ "bytes 1.1.0", - "prost", + "prost 0.9.0", ] [[package]] @@ -8544,7 +8515,7 @@ [[package]] name = "quartz-runtime" -version = "0.9.22" +version = "0.9.23" dependencies = [ "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", @@ -8558,11 +8529,14 @@ "fp-evm-mapping", "fp-rpc", "fp-self-contained", + "frame-benchmarking", "frame-executive", "frame-support", "frame-system", + "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", + "hex-literal", "log", "orml-vesting", "pallet-aura", @@ -8791,12 +8765,6 @@ [[package]] name = "redox_syscall" -version = "0.1.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" - -[[package]] -name = "redox_syscall" version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" @@ -8806,23 +8774,12 @@ [[package]] name = "redox_users" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" -dependencies = [ - "getrandom 0.1.16", - "redox_syscall 0.1.57", - "rust-argon2", -] - -[[package]] -name = "redox_users" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ "getrandom 0.2.7", - "redox_syscall 0.2.13", + "redox_syscall", "thiserror", ] @@ -8911,7 +8868,7 @@ [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "env_logger", "jsonrpsee", @@ -9031,8 +8988,8 @@ [[package]] name = "rococo-runtime" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -9108,8 +9065,8 @@ [[package]] name = "rococo-runtime-constants" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "frame-support", "polkadot-primitives", @@ -9144,18 +9101,6 @@ ] [[package]] -name = "rust-argon2" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" -dependencies = [ - "base64", - "blake2b_simd 0.5.11", - "constant_time_eq", - "crossbeam-utils", -] - -[[package]] name = "rustc-demangle" version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -9207,39 +9152,14 @@ [[package]] name = "rustls" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" -dependencies = [ - "base64", - "log", - "ring", - "sct 0.6.1", - "webpki 0.21.4", -] - -[[package]] -name = "rustls" version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5aab8ee6c7097ed6057f43c187a62418d0c05a4bd5f18b3571db50ee0f9ce033" dependencies = [ "log", "ring", - "sct 0.7.0", - "webpki 0.22.0", -] - -[[package]] -name = "rustls-native-certs" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092" -dependencies = [ - "openssl-probe", - "rustls 0.19.1", - "schannel", - "security-framework", + "sct", + "webpki", ] [[package]] @@ -9316,7 +9236,7 @@ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "log", "sp-core", @@ -9327,7 +9247,7 @@ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "futures 0.3.21", @@ -9336,7 +9256,7 @@ "libp2p", "log", "parity-scale-codec 3.1.5", - "prost", + "prost 0.10.4", "prost-build", "rand 0.7.3", "sc-client-api", @@ -9354,7 +9274,7 @@ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "futures-timer", @@ -9377,7 +9297,7 @@ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "sc-client-api", @@ -9393,7 +9313,7 @@ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "impl-trait-for-tuples", "memmap2 0.5.4", @@ -9410,7 +9330,7 @@ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -9421,7 +9341,7 @@ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "chrono", "clap", @@ -9460,7 +9380,7 @@ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "fnv", "futures 0.3.21", @@ -9488,7 +9408,7 @@ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "hash-db", "kvdb", @@ -9513,7 +9433,7 @@ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "futures 0.3.21", @@ -9537,7 +9457,7 @@ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "futures 0.3.21", @@ -9566,7 +9486,7 @@ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "fork-tree", @@ -9609,7 +9529,7 @@ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "jsonrpsee", @@ -9631,7 +9551,7 @@ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "fork-tree", "parity-scale-codec 3.1.5", @@ -9644,7 +9564,7 @@ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "assert_matches", "async-trait", @@ -9678,7 +9598,7 @@ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "futures 0.3.21", @@ -9703,7 +9623,7 @@ [[package]] name = "sc-consensus-uncles" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "sc-client-api", "sp-authorship", @@ -9714,7 +9634,7 @@ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "lazy_static", "lru 0.7.7", @@ -9741,7 +9661,7 @@ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "environmental", "parity-scale-codec 3.1.5", @@ -9758,7 +9678,7 @@ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "log", "parity-scale-codec 3.1.5", @@ -9773,7 +9693,7 @@ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "cfg-if 1.0.0", "libc", @@ -9791,7 +9711,7 @@ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "ahash", "async-trait", @@ -9831,7 +9751,7 @@ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "finality-grandpa", "futures 0.3.21", @@ -9852,7 +9772,7 @@ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "ansi_term", "futures 0.3.21", @@ -9869,7 +9789,7 @@ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "hex", @@ -9884,7 +9804,7 @@ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "asynchronous-codec", @@ -9906,13 +9826,14 @@ "parity-scale-codec 3.1.5", "parking_lot 0.12.1", "pin-project 1.0.10", - "prost", + "prost 0.10.4", "prost-build", "rand 0.7.3", "sc-block-builder", "sc-client-api", "sc-consensus", "sc-network-common", + "sc-network-light", "sc-network-sync", "sc-peerset", "sc-utils", @@ -9935,7 +9856,7 @@ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "libp2p", @@ -9948,7 +9869,7 @@ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "ahash", "futures 0.3.21", @@ -9963,9 +9884,29 @@ ] [[package]] +name = "sc-network-light" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" +dependencies = [ + "futures 0.3.21", + "libp2p", + "log", + "parity-scale-codec 3.1.5", + "prost 0.10.4", + "prost-build", + "sc-client-api", + "sc-network-common", + "sc-peerset", + "sp-blockchain", + "sp-core", + "sp-runtime", + "thiserror", +] + +[[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "bitflags", "either", @@ -9975,7 +9916,7 @@ "log", "lru 0.7.7", "parity-scale-codec 3.1.5", - "prost", + "prost 0.10.4", "prost-build", "sc-client-api", "sc-consensus", @@ -9994,7 +9935,7 @@ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "bytes 1.1.0", "fnv", @@ -10022,7 +9963,7 @@ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "libp2p", @@ -10035,7 +9976,7 @@ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -10044,7 +9985,7 @@ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "hash-db", @@ -10074,7 +10015,7 @@ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "jsonrpsee", @@ -10097,7 +10038,7 @@ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "jsonrpsee", @@ -10110,7 +10051,7 @@ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "directories", @@ -10175,7 +10116,7 @@ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "log", "parity-scale-codec 3.1.5", @@ -10189,7 +10130,7 @@ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "jsonrpsee", "parity-scale-codec 3.1.5", @@ -10208,7 +10149,7 @@ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "libc", @@ -10227,7 +10168,7 @@ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "chrono", "futures 0.3.21", @@ -10245,7 +10186,7 @@ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "ansi_term", "atty", @@ -10276,7 +10217,7 @@ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -10287,7 +10228,7 @@ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "futures-timer", @@ -10314,7 +10255,7 @@ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "log", @@ -10327,7 +10268,7 @@ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "futures-timer", @@ -10399,16 +10340,6 @@ [[package]] name = "sct" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "sct" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" @@ -10699,8 +10630,8 @@ [[package]] name = "slot-range-helper" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "enumn", "parity-scale-codec 3.1.5", @@ -10776,7 +10707,7 @@ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "hash-db", "log", @@ -10793,7 +10724,7 @@ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "blake2", "proc-macro-crate", @@ -10805,7 +10736,7 @@ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "scale-info", @@ -10818,7 +10749,7 @@ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "integer-sqrt", "num-traits", @@ -10833,7 +10764,7 @@ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "scale-info", @@ -10846,7 +10777,7 @@ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "parity-scale-codec 3.1.5", @@ -10858,7 +10789,7 @@ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "sp-api", @@ -10870,7 +10801,7 @@ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "log", @@ -10888,7 +10819,7 @@ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "futures 0.3.21", @@ -10907,7 +10838,7 @@ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "parity-scale-codec 3.1.5", @@ -10925,7 +10856,7 @@ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "merlin", @@ -10948,7 +10879,7 @@ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "scale-info", @@ -10962,7 +10893,7 @@ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "scale-info", @@ -10975,7 +10906,7 @@ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "base58", "bitflags", @@ -11021,7 +10952,7 @@ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "blake2", "byteorder", @@ -11035,7 +10966,7 @@ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "proc-macro2", "quote", @@ -11046,7 +10977,7 @@ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -11055,7 +10986,7 @@ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "proc-macro2", "quote", @@ -11065,7 +10996,7 @@ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "environmental", "parity-scale-codec 3.1.5", @@ -11076,7 +11007,7 @@ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "finality-grandpa", "log", @@ -11094,7 +11025,7 @@ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -11108,7 +11039,7 @@ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "hash-db", @@ -11133,7 +11064,7 @@ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "lazy_static", "sp-core", @@ -11144,7 +11075,7 @@ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "futures 0.3.21", @@ -11161,7 +11092,7 @@ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "thiserror", "zstd", @@ -11170,7 +11101,7 @@ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "log", "parity-scale-codec 3.1.5", @@ -11185,7 +11116,7 @@ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "scale-info", @@ -11199,7 +11130,7 @@ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "sp-api", "sp-core", @@ -11209,7 +11140,7 @@ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "backtrace", "lazy_static", @@ -11219,7 +11150,7 @@ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "rustc-hash", "serde", @@ -11229,7 +11160,7 @@ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "either", "hash256-std-hasher", @@ -11251,7 +11182,7 @@ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec 3.1.5", @@ -11268,7 +11199,7 @@ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "Inflector", "proc-macro-crate", @@ -11280,7 +11211,7 @@ [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "log", "parity-scale-codec 3.1.5", @@ -11294,7 +11225,7 @@ [[package]] name = "sp-serializer" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "serde", "serde_json", @@ -11303,7 +11234,7 @@ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "scale-info", @@ -11317,7 +11248,7 @@ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "scale-info", @@ -11328,7 +11259,7 @@ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "hash-db", "log", @@ -11350,12 +11281,12 @@ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "impl-serde", "parity-scale-codec 3.1.5", @@ -11368,7 +11299,7 @@ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "log", "sp-core", @@ -11381,7 +11312,7 @@ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "futures-timer", @@ -11397,7 +11328,7 @@ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "sp-std", @@ -11409,7 +11340,7 @@ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "sp-api", "sp-runtime", @@ -11418,7 +11349,7 @@ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "log", @@ -11434,7 +11365,7 @@ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "hash-db", "memory-db", @@ -11450,7 +11381,7 @@ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "impl-serde", "parity-scale-codec 3.1.5", @@ -11467,7 +11398,7 @@ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "parity-scale-codec 3.1.5", "proc-macro2", @@ -11478,7 +11409,7 @@ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "impl-trait-for-tuples", "log", @@ -11633,7 +11564,7 @@ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "platforms", ] @@ -11641,7 +11572,7 @@ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.21", @@ -11662,7 +11593,7 @@ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures-util", "hyper", @@ -11675,7 +11606,7 @@ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "jsonrpsee", "log", @@ -11696,7 +11627,7 @@ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "async-trait", "futures 0.3.21", @@ -11722,7 +11653,7 @@ [[package]] name = "substrate-test-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "futures 0.3.21", "substrate-test-utils-derive", @@ -11732,7 +11663,7 @@ [[package]] name = "substrate-test-utils-derive" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -11743,7 +11674,7 @@ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "ansi_term", "build-helper", @@ -11827,19 +11758,8 @@ "cfg-if 1.0.0", "fastrand", "libc", - "redox_syscall 0.2.13", + "redox_syscall", "remove_dir_all", - "winapi", -] - -[[package]] -name = "term" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42" -dependencies = [ - "byteorder", - "dirs", "winapi", ] @@ -11854,8 +11774,8 @@ [[package]] name = "test-runtime-constants" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "frame-support", "polkadot-primitives", @@ -12077,24 +11997,13 @@ [[package]] name = "tokio-rustls" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" -dependencies = [ - "rustls 0.19.1", - "tokio 1.19.2", - "webpki 0.21.4", -] - -[[package]] -name = "tokio-rustls" version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ - "rustls 0.20.6", + "rustls", "tokio 1.19.2", - "webpki 0.22.0", + "webpki", ] [[package]] @@ -12172,8 +12081,8 @@ [[package]] name = "tracing-gum" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "polkadot-node-jaeger", "polkadot-primitives", @@ -12183,8 +12092,8 @@ [[package]] name = "tracing-gum-proc-macro" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "expander 0.0.6", "proc-macro-crate", @@ -12323,7 +12232,7 @@ [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341" dependencies = [ "clap", "jsonrpsee", @@ -12357,7 +12266,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 1.0.0", + "cfg-if 0.1.10", "digest 0.10.3", "rand 0.8.5", "static_assertions", @@ -12457,7 +12366,7 @@ [[package]] name = "unique-node" -version = "0.9.22" +version = "0.9.23" dependencies = [ "clap", "cumulus-client-cli", @@ -12594,7 +12503,7 @@ [[package]] name = "unique-runtime" -version = "0.9.22" +version = "0.9.23" dependencies = [ "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", @@ -12676,7 +12585,7 @@ [[package]] name = "unique-runtime-common" -version = "0.9.22" +version = "0.9.23" dependencies = [ "evm-coder", "fp-rpc", @@ -12763,7 +12672,7 @@ [[package]] name = "up-sponsorship" version = "0.1.0" -source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.22#9fc4fbc3f83fdc793205f3fef1c97ef168d4dfe0" +source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.23#5f3b55354830f9707d6632aaa54362deea981116" dependencies = [ "impl-trait-for-tuples", ] @@ -13135,6 +13044,7 @@ "libc", "log", "mach", + "memfd", "memoffset", "more-asserts", "rand 0.8.5", @@ -13170,16 +13080,6 @@ [[package]] name = "webpki" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "webpki" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" @@ -13194,7 +13094,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44d8de8415c823c8abd270ad483c6feeac771fad964890779f9a8cb24fbbc1bf" dependencies = [ - "webpki 0.22.0", + "webpki", ] [[package]] @@ -13208,8 +13108,8 @@ [[package]] name = "westend-runtime" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "beefy-primitives", "bitvec 1.0.0", @@ -13297,8 +13197,8 @@ [[package]] name = "westend-runtime-constants" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "frame-support", "polkadot-primitives", @@ -13357,15 +13257,15 @@ [[package]] name = "windows" -version = "0.29.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac7fef12f4b59cd0a29339406cc9203ab44e440ddff6b3f5a41455349fa9cf3" +checksum = "45296b64204227616fdbf2614cefa4c236b98ee64dfaaaa435207ed99fe7829f" dependencies = [ - "windows_aarch64_msvc 0.29.0", - "windows_i686_gnu 0.29.0", - "windows_i686_msvc 0.29.0", - "windows_x86_64_gnu 0.29.0", - "windows_x86_64_msvc 0.29.0", + "windows_aarch64_msvc 0.34.0", + "windows_i686_gnu 0.34.0", + "windows_i686_msvc 0.34.0", + "windows_x86_64_gnu 0.34.0", + "windows_x86_64_msvc 0.34.0", ] [[package]] @@ -13383,9 +13283,9 @@ [[package]] name = "windows_aarch64_msvc" -version = "0.29.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d027175d00b01e0cbeb97d6ab6ebe03b12330a35786cbaca5252b1c4bf5d9b" +checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" [[package]] name = "windows_aarch64_msvc" @@ -13395,9 +13295,9 @@ [[package]] name = "windows_i686_gnu" -version = "0.29.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8793f59f7b8e8b01eda1a652b2697d87b93097198ae85f823b969ca5b89bba58" +checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" [[package]] name = "windows_i686_gnu" @@ -13407,9 +13307,9 @@ [[package]] name = "windows_i686_msvc" -version = "0.29.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8602f6c418b67024be2996c512f5f995de3ba417f4c75af68401ab8756796ae4" +checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" [[package]] name = "windows_i686_msvc" @@ -13419,9 +13319,9 @@ [[package]] name = "windows_x86_64_gnu" -version = "0.29.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d615f419543e0bd7d2b3323af0d86ff19cbc4f816e6453f36a2c2ce889c354" +checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" [[package]] name = "windows_x86_64_gnu" @@ -13431,9 +13331,9 @@ [[package]] name = "windows_x86_64_msvc" -version = "0.29.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d95421d9ed3672c280884da53201a5c46b7b2765ca6faf34b0d71cf34a3561" +checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" [[package]] name = "windows_x86_64_msvc" @@ -13478,8 +13378,8 @@ [[package]] name = "xcm" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "derivative", "impl-trait-for-tuples", @@ -13491,8 +13391,8 @@ [[package]] name = "xcm-builder" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "frame-support", "frame-system", @@ -13511,8 +13411,8 @@ [[package]] name = "xcm-executor" -version = "0.9.22" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +version = "0.9.23" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "frame-benchmarking", "frame-support", @@ -13530,7 +13430,7 @@ [[package]] name = "xcm-procedural" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0" dependencies = [ "Inflector", "proc-macro2", --- a/Dockerfile-parachain +++ b/Dockerfile-parachain @@ -4,7 +4,7 @@ ARG RUST_TOOLCHAIN=nightly-2022-04-07 #ARG RUST_C=1.62.0-nightly -ARG POLKA_VERSION=release-v0.9.22 +ARG POLKA_VERSION=release-v0.9.23 ARG UNIQUE_BRANCH=develop #ARG USER=*** --- a/Makefile +++ b/Makefile @@ -59,7 +59,7 @@ .PHONY: _bench _bench: - cargo run --release --features runtime-benchmarks,unique-runtime -- \ + cargo run --release --features runtime-benchmarks,$(RUNTIME) -- \ benchmark pallet --pallet pallet-$(if $(PALLET),$(PALLET),$(error Must set PALLET)) \ --wasm-execution compiled --extrinsic '*' \ --template .maintain/frame-weight-template.hbs --steps=50 --repeat=80 --heap-pages=4096 \ @@ -101,5 +101,9 @@ bench-rmrk-core: make _bench PALLET=proxy-rmrk-core +.PHONY: bench-rmrk-equip +bench-rmrk-equip: + make _bench PALLET=proxy-rmrk-equip + .PHONY: bench -bench: bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-scheduler bench-rmrk-core +bench: bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-scheduler bench-rmrk-core bench-rmrk-equip --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ ``` git clone https://github.com/paritytech/polkadot.git cd polkadot -git checkout release-v0.9.22 +git checkout release-v0.9.23 cargo build --release ``` --- a/client/rpc/Cargo.toml +++ b/client/rpc/Cargo.toml @@ -14,9 +14,9 @@ jsonrpsee = { version = "0.13.0", features = ["server", "macros"] } anyhow = "1.0.57" -sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } --- a/crates/evm-coder/Cargo.toml +++ b/crates/evm-coder/Cargo.toml @@ -9,7 +9,7 @@ primitive-types = { version = "0.11.1", default-features = false } hex-literal = "0.3.3" ethereum = { version = "0.12.0", default-features = false } -evm-core = { default-features = false , git = "https://github.com/uniquenetwork/evm", branch = "unique-polkadot-v0.9.22" } +evm-core = { default-features = false , git = "https://github.com/uniquenetwork/evm", branch = "unique-polkadot-v0.9.23" } impl-trait-for-tuples = "0.2.1" [dev-dependencies] --- a/crates/evm-coder/tests/generics.rs +++ b/crates/evm-coder/tests/generics.rs @@ -41,7 +41,7 @@ T: core::fmt::Debug, { fn test_3(&self) -> Result { - todo!() + unreachable!() } } --- a/node/cli/Cargo.toml +++ b/node/cli/Cargo.toml @@ -3,7 +3,7 @@ [build-dependencies.substrate-build-script-utils] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" ################################################################################ # Substrate Dependecies @@ -16,158 +16,158 @@ [dependencies.frame-benchmarking] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-benchmarking-cli] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.try-runtime-cli] git = 'https://github.com/paritytech/substrate' -branch = 'polkadot-v0.9.22' +branch = 'polkadot-v0.9.23' [dependencies.pallet-transaction-payment-rpc] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.substrate-prometheus-endpoint] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-basic-authorship] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-chain-spec] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-cli] features = ['wasmtime'] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-client-api] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-consensus] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-consensus-aura] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-executor] features = ['wasmtime'] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-finality-grandpa] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-keystore] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-rpc] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-rpc-api] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-service] features = ['wasmtime'] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-telemetry] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-transaction-pool] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-tracing] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-sysinfo] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-block-builder] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-api] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-blockchain] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-consensus] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-consensus-aura] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-core] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-finality-grandpa] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-inherents] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-keystore] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-offchain] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-runtime] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-session] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-timestamp] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-transaction-pool] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-trie] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.substrate-frame-rpc-system] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sc-network] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.serde] features = ['derive'] @@ -178,76 +178,76 @@ [dependencies.sc-consensus-manual-seal] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" ################################################################################ # Cumulus dependencies [dependencies.cumulus-client-consensus-aura] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-client-consensus-common] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-client-collator] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-client-cli] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-client-network] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-primitives-core] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-primitives-parachain-inherent] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-client-service] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-relay-chain-interface] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-relay-chain-inprocess-interface] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-relay-chain-rpc-interface] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" ################################################################################ # Polkadot dependencies [dependencies.polkadot-primitives] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" [dependencies.polkadot-service] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" [dependencies.polkadot-cli] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" [dependencies.polkadot-test-service] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" [dependencies.polkadot-parachain] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" ################################################################################ @@ -277,7 +277,7 @@ [dependencies.pallet-transaction-payment-rpc-runtime-api] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" ################################################################################ # Package @@ -291,7 +291,7 @@ license = 'GPLv3' name = 'unique-node' repository = 'https://github.com/UniqueNetwork/unique-chain' -version = '0.9.22' +version = '0.9.23' [[bin]] name = 'unique-collator' @@ -309,13 +309,13 @@ jsonrpsee = { version = "0.13.0", features = ["server", "macros"] } tokio = { version = "1.17.0", features = ["time"] } -fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fc-consensus = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fc-rpc = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fc-db = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-rpc = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fc-consensus = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fc-rpc = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fc-db = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-rpc = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } unique-rpc = { default-features = false, path = "../rpc" } rmrk-rpc = { path = "../../primitives/rmrk-rpc" } @@ -323,7 +323,9 @@ [features] default = [] runtime-benchmarks = [ - 'unique-runtime/runtime-benchmarks', + 'unique-runtime?/runtime-benchmarks', + 'quartz-runtime?/runtime-benchmarks', + 'opal-runtime/runtime-benchmarks', 'polkadot-service/runtime-benchmarks', ] try-runtime = [] --- a/node/cli/src/chain_spec.rs +++ b/node/cli/src/chain_spec.rs @@ -26,13 +26,13 @@ use unique_runtime_common::types::*; #[cfg(feature = "unique-runtime")] -use unique_runtime as default_runtime; +pub use unique_runtime as default_runtime; #[cfg(all(not(feature = "unique-runtime"), feature = "quartz-runtime"))] -use quartz_runtime as default_runtime; +pub use quartz_runtime as default_runtime; #[cfg(all(not(feature = "unique-runtime"), not(feature = "quartz-runtime")))] -use opal_runtime as default_runtime; +pub use opal_runtime as default_runtime; /// The `ChainSpec` parameterized for the unique runtime. #[cfg(feature = "unique-runtime")] --- a/node/cli/src/command.rs +++ b/node/cli/src/command.rs @@ -33,7 +33,9 @@ // limitations under the License. use crate::{ - chain_spec::{self, RuntimeId, RuntimeIdentification, ServiceId, ServiceIdentification}, + chain_spec::{ + self, RuntimeId, RuntimeIdentification, ServiceId, ServiceIdentification, default_runtime, + }, cli::{Cli, RelayChainCli, Subcommand}, service::{new_partial, start_node, start_dev_node}, }; @@ -44,14 +46,13 @@ #[cfg(feature = "quartz-runtime")] use crate::service::QuartzRuntimeExecutor; -use crate::service::OpalRuntimeExecutor; +use crate::service::{OpalRuntimeExecutor, DefaultRuntimeExecutor}; use codec::Encode; use cumulus_primitives_core::ParaId; use cumulus_client_service::genesis::generate_genesis_block; use std::{future::Future, pin::Pin}; use log::info; -use polkadot_parachain::primitives::AccountIdConversion; use sc_cli::{ ChainSpec, CliConfiguration, DefaultConfigurationValues, ImportParams, KeystoreParams, NetworkParams, Result, RuntimeVersion, SharedParams, SubstrateCli, @@ -60,7 +61,7 @@ config::{BasePath, PrometheusConfig}, }; use sp_core::hexdisplay::HexDisplay; -use sp_runtime::traits::Block as BlockT; +use sp_runtime::traits::{AccountIdConversion, Block as BlockT}; use std::{io::Write, net::SocketAddr, time::Duration}; use unique_runtime_common::types::Block; @@ -372,7 +373,6 @@ Ok(()) } - #[cfg(feature = "unique-runtime")] Some(Subcommand::Benchmark(cmd)) => { use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE}; let runner = cli.create_runner(cmd)?; @@ -380,7 +380,7 @@ match cmd { BenchmarkCmd::Pallet(cmd) => { if cfg!(feature = "runtime-benchmarks") { - runner.sync_run(|config| cmd.run::(config)) + runner.sync_run(|config| cmd.run::(config)) } else { Err("Benchmarking wasn't enabled when building the node. \ You can enable it with `--features runtime-benchmarks`." @@ -389,16 +389,16 @@ } BenchmarkCmd::Block(cmd) => runner.sync_run(|config| { let partials = new_partial::< - unique_runtime::RuntimeApi, - UniqueRuntimeExecutor, + default_runtime::RuntimeApi, + DefaultRuntimeExecutor, _, >(&config, crate::service::parachain_build_import_queue)?; cmd.run(partials.client) }), BenchmarkCmd::Storage(cmd) => runner.sync_run(|config| { let partials = new_partial::< - unique_runtime::RuntimeApi, - UniqueRuntimeExecutor, + default_runtime::RuntimeApi, + DefaultRuntimeExecutor, _, >(&config, crate::service::parachain_build_import_queue)?; let db = partials.backend.expose_db(); @@ -411,10 +411,6 @@ } BenchmarkCmd::Overhead(_) => Err("Unsupported benchmarking command".into()), } - } - #[cfg(not(feature = "unique-runtime"))] - Some(Subcommand::Benchmark(..)) => { - Err("benchmarking is only available with unique runtime enabled".into()) } Some(Subcommand::TryRuntime(cmd)) => { if cfg!(feature = "try-runtime") { @@ -495,10 +491,7 @@ let para_id = ParaId::from(para_id); - let parachain_account = - AccountIdConversion::::into_account( - ¶_id, - ); + let parachain_account = AccountIdConversion::::into_account_truncating(¶_id); let state_version = RelayChainCli::native_runtime_version(&config.chain_spec).state_version(); --- a/node/cli/src/service.rs +++ b/node/cli/src/service.rs @@ -77,13 +77,21 @@ #[cfg(feature = "quartz-runtime")] /// Quartz native executor instance. - pub struct QuartzRuntimeExecutor; /// Opal native executor instance. pub struct OpalRuntimeExecutor; #[cfg(feature = "unique-runtime")] +pub type DefaultRuntimeExecutor = UniqueRuntimeExecutor; + +#[cfg(all(not(feature = "unique-runtime"), feature = "quartz-runtime"))] +pub type DefaultRuntimeExecutor = QuartzRuntimeExecutor; + +#[cfg(all(not(feature = "unique-runtime"), not(feature = "quartz-runtime")))] +pub type DefaultRuntimeExecutor = OpalRuntimeExecutor; + +#[cfg(feature = "unique-runtime")] impl NativeExecutionDispatch for UniqueRuntimeExecutor { type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; --- a/node/rpc/Cargo.toml +++ b/node/rpc/Cargo.toml @@ -13,40 +13,40 @@ futures = { version = "0.3.17", features = ["compat"] } jsonrpsee = { version = "0.13.0", features = ["server", "macros"] } # pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate', branch = 'master' } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sc-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sc-consensus-epochs = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sc-finality-grandpa-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sc-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-offchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-storage = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sc-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sc-consensus-epochs = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sc-finality-grandpa-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sc-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-offchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-storage = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } tokio = { version = "0.2.25", features = ["macros", "sync"] } -pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } pallet-common = { default-features = false, path = "../../pallets/common" } unique-runtime-common = { default-features = false, path = "../../runtime/common" } --- a/node/rpc/src/lib.rs +++ b/node/rpc/src/lib.rs @@ -175,8 +175,8 @@ use uc_rpc::{RmrkApiServer, Rmrk}; // use pallet_contracts_rpc::{Contracts, ContractsApi}; - use pallet_transaction_payment_rpc::{TransactionPaymentRpc, TransactionPaymentApiServer}; - use substrate_frame_rpc_system::{SystemRpc, SystemApiServer}; + use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; + use substrate_frame_rpc_system::{System, SystemApiServer}; let mut io = RpcModule::new(()); let FullDeps { @@ -196,8 +196,8 @@ max_past_logs, } = deps; - io.merge(SystemRpc::new(Arc::clone(&client), Arc::clone(&pool), deny_unsafe).into_rpc())?; - io.merge(TransactionPaymentRpc::new(Arc::clone(&client)).into_rpc())?; + io.merge(System::new(Arc::clone(&client), Arc::clone(&pool), deny_unsafe).into_rpc())?; + io.merge(TransactionPayment::new(Arc::clone(&client)).into_rpc())?; // io.extend_with(ContractsApi::to_delegate(Contracts::new(client.clone()))); --- a/pallets/common/Cargo.toml +++ b/pallets/common/Cargo.toml @@ -11,18 +11,18 @@ version = '3.1.2' [dependencies] -frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } up-data-structs = { default-features = false, path = '../../primitives/data-structs' } pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' } evm-coder = { default-features = false, path = '../../crates/evm-coder' } ethereum = { version = "0.12.0", default-features = false } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } serde = { version = "1.0.130", default-features = false } scale-info = { version = "2.0.1", default-features = false, features = [ --- a/pallets/common/src/benchmarking.rs +++ b/pallets/common/src/benchmarking.rs @@ -98,6 +98,7 @@ token_owner: false, collection_admin: false, restricted: None, + #[cfg(feature = "runtime-benchmarks")] permissive: true, }), mint_mode: Some(true), --- a/pallets/common/src/lib.rs +++ b/pallets/common/src/lib.rs @@ -74,7 +74,7 @@ RmrkPropertyInfo, RmrkBaseInfo, RmrkPartType, - RmrkTheme, + RmrkBoundedTheme, RmrkNftChild, CollectionPermissions, SchemaVersion, @@ -543,7 +543,7 @@ RmrkPropertyInfo, RmrkBaseInfo, RmrkPartType, - RmrkTheme, + RmrkBoundedTheme, RmrkNftChild, )>, ), @@ -1212,14 +1212,7 @@ limit_default_clone!(old_limit, new_limit, access => {}, mint_mode => {}, - nesting => { - #[cfg(not(feature = "runtime-benchmarks"))] - ensure!( - // Permissive is only allowed for tests and internal usage of chain for now - old_limit.permissive || !new_limit.permissive, - >::NoPermission, - ) - }, + nesting => { /* todo check for permissive, if only it gets out of benchmarks */ }, ); Ok(new_limit) } --- a/pallets/evm-coder-substrate/Cargo.toml +++ b/pallets/evm-coder-substrate/Cargo.toml @@ -8,15 +8,15 @@ scale-info = { version = "2.0.1", default-features = false, features = [ "derive", ] } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } ethereum = { version = "0.12.0", default-features = false } evm-coder = { default-features = false, path = "../../crates/evm-coder" } -pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } up-data-structs = { default-features = false, path = "../../primitives/data-structs" } [dependencies.codec] --- a/pallets/evm-contract-helpers/Cargo.toml +++ b/pallets/evm-contract-helpers/Cargo.toml @@ -11,16 +11,16 @@ log = { default-features = false, version = "0.4.14" } # Substrate -frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } +frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } # Unique -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.23" } # Locals evm-coder = { default-features = false, path = '../../crates/evm-coder' } --- a/pallets/evm-migration/Cargo.toml +++ b/pallets/evm-migration/Cargo.toml @@ -8,15 +8,15 @@ scale-info = { version = "2.0.1", default-features = false, features = [ "derive", ] } -frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } [dependencies.codec] default-features = false --- a/pallets/evm-transaction-payment/Cargo.toml +++ b/pallets/evm-transaction-payment/Cargo.toml @@ -8,17 +8,17 @@ scale-info = { version = "2.0.1", default-features = false, features = [ "derive", ] } -frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.22" } -fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.23" } +fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } [dependencies.codec] default-features = false --- a/pallets/fungible/Cargo.toml +++ b/pallets/fungible/Cargo.toml @@ -11,19 +11,19 @@ version = '3.1.2' [dependencies] -frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } pallet-common = { default-features = false, path = '../common' } pallet-structure = { default-features = false, path = '../structure' } up-data-structs = { default-features = false, path = '../../primitives/data-structs' } evm-coder = { default-features = false, path = '../../crates/evm-coder' } pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' } ethereum = { version = "0.12.0", default-features = false } -frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } scale-info = { version = "2.0.1", default-features = false, features = [ "derive", ] } --- a/pallets/inflation/Cargo.toml +++ b/pallets/inflation/Cargo.toml @@ -43,37 +43,37 @@ default-features = false optional = true git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-support] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-balances] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-timestamp] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-randomness-collective-flip] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-std] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.serde] default-features = false @@ -83,17 +83,17 @@ [dependencies.sp-runtime] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-core] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-io] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies] scale-info = { version = "2.0.1", default-features = false, features = [ --- a/pallets/nonfungible/Cargo.toml +++ b/pallets/nonfungible/Cargo.toml @@ -11,19 +11,19 @@ version = '3.1.2' [dependencies] -frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } pallet-common = { default-features = false, path = '../common' } pallet-structure = { default-features = false, path = '../structure' } up-data-structs = { default-features = false, path = '../../primitives/data-structs' } evm-coder = { default-features = false, path = '../../crates/evm-coder' } pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' } ethereum = { version = "0.12.0", default-features = false } -frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } scale-info = { version = "2.0.1", default-features = false, features = [ "derive", ] } --- a/pallets/nonfungible/src/lib.rs +++ b/pallets/nonfungible/src/lib.rs @@ -28,7 +28,7 @@ use up_data_structs::{ AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData, CreateNftExData, mapping::TokenAddressMapping, budget::Budget, Property, PropertyPermission, PropertyKey, - PropertyKeyPermission, Properties, PropertyScope, TrySetProperty, TokenChild, + PropertyKeyPermission, Properties, PropertyScope, TrySetProperty, TokenChild, AuxPropertyValue, }; use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm}; use pallet_common::{ @@ -124,6 +124,19 @@ OnEmpty = up_data_structs::TokenProperties, >; + #[pallet::storage] + #[pallet::getter(fn token_aux_property)] + pub type TokenAuxProperties = StorageNMap< + Key = ( + Key, + Key, + Key, + Key, + ), + Value = AuxPropertyValue, + QueryKind = OptionQuery, + >; + /// Used to enumerate tokens owned by account #[pallet::storage] pub type Owned = StorageNMap< @@ -294,6 +307,33 @@ Ok(()) } + pub fn try_mutate_token_aux_property( + collection_id: CollectionId, + token_id: TokenId, + scope: PropertyScope, + key: PropertyKey, + f: impl FnOnce(&mut Option) -> Result, + ) -> Result { + >::try_mutate((collection_id, token_id, scope, key), f) + } + + pub fn remove_token_aux_property( + collection_id: CollectionId, + token_id: TokenId, + scope: PropertyScope, + key: PropertyKey, + ) { + >::remove((collection_id, token_id, scope, key)); + } + + pub fn iterate_token_aux_properties( + collection_id: CollectionId, + token_id: TokenId, + scope: PropertyScope, + ) -> impl Iterator { + >::iter_prefix((collection_id, token_id, scope)) + } + pub fn current_token_id(collection_id: CollectionId) -> TokenId { TokenId(>::get(collection_id)) } @@ -375,6 +415,7 @@ >::insert(collection.id, burnt); >::remove((collection.id, token)); >::remove((collection.id, token)); + >::remove_prefix((collection.id, token), None); let old_spender = >::take((collection.id, token)); if let Some(old_spender) = old_spender { @@ -997,7 +1038,13 @@ nesting_budget: &dyn Budget, ) -> DispatchResult { let nesting = handle.permissions.nesting(); - if nesting.permissive { + + #[cfg(not(feature = "runtime-benchmarks"))] + let permissive = false; + #[cfg(feature = "runtime-benchmarks")] + let permissive = nesting.permissive; + + if permissive { // Pass } else if nesting.token_owner && >::check_indirectly_owned( --- a/pallets/proxy-rmrk-core/Cargo.toml +++ b/pallets/proxy-rmrk-core/Cargo.toml @@ -11,17 +11,17 @@ version = '3.1.2' [dependencies] -frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } pallet-common = { default-features = false, path = '../common' } pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" } pallet-structure = { default-features = false, path = "../../pallets/structure" } up-data-structs = { default-features = false, path = '../../primitives/data-structs' } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } rmrk-traits = { default-features = false, path = "../../primitives/rmrk-traits" } scale-info = { version = "2.0.1", default-features = false, features = ["derive"] } derivative = { version = "2.2.0", features = ["use_core"] } --- a/pallets/proxy-rmrk-core/src/benchmarking.rs +++ b/pallets/proxy-rmrk-core/src/benchmarking.rs @@ -85,7 +85,7 @@ >::mint_nft( RawOrigin::Signed(owner.clone()).into(), - owner.clone(), + None, collection_id, royalty_recipient, royalty_amount, @@ -106,10 +106,6 @@ collection_id, current_nft_id: 0, } - } - - fn current_nft_id(&self) -> RmrkNftId { - self.current_nft_id } fn build(&mut self, owner: &T::AccountId) -> Result { @@ -220,7 +216,6 @@ let b in 0..100; let caller: T::AccountId = account("caller", 0, SEED); - ::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get()); create_max_collection::(&caller)?; let collection_id = 0; @@ -232,7 +227,7 @@ let transferable = true; }: _( RawOrigin::Signed(caller), - owner, + None, collection_id, royalty_recipient, royalty_amount, @@ -381,7 +376,6 @@ add_basic_resource { let caller: T::AccountId = account("caller", 0, SEED); - ::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get()); create_max_collection::(&caller)?; let collection_id = 0; @@ -398,7 +392,6 @@ add_composable_resource { let caller: T::AccountId = account("caller", 0, SEED); - ::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get()); create_max_collection::(&caller)?; let collection_id = 0; @@ -415,7 +408,6 @@ add_slot_resource { let caller: T::AccountId = account("caller", 0, SEED); - ::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get()); create_max_collection::(&caller)?; let collection_id = 0; @@ -432,7 +424,6 @@ remove_resource { let caller: T::AccountId = account("caller", 0, SEED); - ::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get()); create_max_collection::(&caller)?; let collection_id = 0; @@ -448,7 +439,7 @@ resource )?; - let resource_id = 1; + let resource_id = 0; }: _( RawOrigin::Signed(caller), collection_id, @@ -460,8 +451,6 @@ let caller: T::AccountId = account("caller", 0, SEED); let admin: T::AccountId = account("admin", 0, SEED); - ::Currency::deposit_creating(&admin, T::CollectionCreationPrice::get()); - create_max_collection::(&admin)?; let collection_id = 0; @@ -486,7 +475,7 @@ resource )?; - let resource_id = 1; + let resource_id = 0; }: _( RawOrigin::Signed(caller), collection_id, @@ -497,8 +486,6 @@ accept_resource_removal { let caller: T::AccountId = account("caller", 0, SEED); let admin: T::AccountId = account("admin", 0, SEED); - - ::Currency::deposit_creating(&admin, T::CollectionCreationPrice::get()); create_max_collection::(&admin)?; let collection_id = 0; @@ -515,7 +502,7 @@ resource )?; - let resource_id = 1; + let resource_id = 0; let new_owner = >::AccountId(caller.clone()); --- a/pallets/proxy-rmrk-core/src/lib.rs +++ b/pallets/proxy-rmrk-core/src/lib.rs @@ -35,6 +35,7 @@ pub mod benchmarking; pub mod misc; pub mod property; +pub mod rpc; pub mod weights; pub type SelfWeightOf = ::WeightInfo; @@ -154,6 +155,7 @@ NftTypeEncodeError, RmrkPropertyKeyIsTooLong, RmrkPropertyValueIsTooLong, + RmrkPropertyIsNotFound, UnableToDecodeRmrkData, /* RMRK compatible events */ @@ -168,7 +170,9 @@ CannotSendToDescendentOrSelf, CannotAcceptNonOwnedNft, CannotRejectNonOwnedNft, + CannotRejectNonPendingNft, ResourceNotPending, + NoAvailableResourceId, } #[pallet::call] @@ -201,7 +205,7 @@ token_owner: true, collection_admin: false, restricted: None, - + #[cfg(feature = "runtime-benchmarks")] permissive: false, }), ..Default::default() @@ -347,7 +351,7 @@ #[pallet::weight(>::mint_nft(resources.as_ref().map(|r| r.len() as u32).unwrap_or(0)))] pub fn mint_nft( origin: OriginFor, - owner: T::AccountId, + owner: Option, collection_id: RmrkCollectionId, recipient: Option, royalty_amount: Option, @@ -357,6 +361,8 @@ ) -> DispatchResult { let sender = ensure_signed(origin)?; let cross_sender = T::CrossAccountId::from_sub(sender.clone()); + + let owner = owner.unwrap_or(sender.clone()); let cross_owner = T::CrossAccountId::from_sub(owner.clone()); let collection = Self::get_typed_nft_collection( @@ -381,8 +387,8 @@ Self::rmrk_property(RoyaltyInfo, &royalty_info)?, Self::rmrk_property(Metadata, &metadata)?, Self::rmrk_property(Equipped, &false)?, - Self::rmrk_property(ResourceCollection, &None::)?, Self::rmrk_property(ResourcePriorities, &>::new())?, + Self::rmrk_property(NextResourceId, &(0 as RmrkResourceId))?, ] .into_iter(), ) @@ -653,12 +659,17 @@ collection.check_is_external()?; ensure!( + >::get((collection_id, nft_id)).is_some(), + >::NoAvailableNftId + ); + + ensure!( Self::get_nft_property_decoded( collection_id, nft_id, RmrkProperty::PendingNftAccept )?, - >::NoPermission + >::CannotRejectNonPendingNft ); Self::destroy_nft( @@ -686,7 +697,7 @@ origin: OriginFor, rmrk_collection_id: RmrkCollectionId, rmrk_nft_id: RmrkNftId, - rmrk_resource_id: RmrkResourceId, + resource_id: RmrkResourceId, ) -> DispatchResult { let sender = ensure_signed(origin)?; let cross_sender = T::CrossAccountId::from_sub(sender); @@ -698,7 +709,6 @@ collection.check_is_external()?; let nft_id = rmrk_nft_id.into(); - let resource_id = rmrk_resource_id.into(); let budget = budget::Value::new(NESTING_BUDGET); @@ -706,34 +716,18 @@ >::find_topmost_owner(collection_id, nft_id, &budget) .map_err(|_| >::ResourceDoesntExist)?; - let resource_collection_id: Option = - Self::get_nft_property_decoded(collection_id, nft_id, ResourceCollection) - .map_err(|_| >::ResourceDoesntExist)?; - - let resource_collection_id = - resource_collection_id.ok_or(>::ResourceDoesntExist)?; + Self::try_mutate_resource_info(collection_id, nft_id, resource_id, |res| { + ensure!(res.pending, >::ResourceNotPending); + ensure!(cross_sender == nft_owner, >::NoPermission); - let is_pending: bool = Self::get_nft_property_decoded( - resource_collection_id, - resource_id, - PendingResourceAccept, - ) - .map_err(|_| >::ResourceDoesntExist)?; + res.pending = false; - ensure!(is_pending, >::ResourceNotPending); - - ensure!(cross_sender == nft_owner, >::NoPermission); - - >::set_scoped_token_property( - resource_collection_id, - rmrk_resource_id.into(), - PropertyScope::Rmrk, - Self::rmrk_property(PendingResourceAccept, &false)?, - )?; + Ok(()) + })?; Self::deposit_event(Event::::ResourceAccepted { nft_id: rmrk_nft_id, - resource_id: rmrk_resource_id, + resource_id, }); Ok(()) @@ -746,7 +740,7 @@ origin: OriginFor, rmrk_collection_id: RmrkCollectionId, rmrk_nft_id: RmrkNftId, - rmrk_resource_id: RmrkResourceId, + resource_id: RmrkResourceId, ) -> DispatchResult { let sender = ensure_signed(origin)?; let cross_sender = T::CrossAccountId::from_sub(sender); @@ -758,7 +752,6 @@ collection.check_is_external()?; let nft_id = rmrk_nft_id.into(); - let resource_id = rmrk_resource_id.into(); let budget = budget::Value::new(NESTING_BUDGET); @@ -768,42 +761,33 @@ ensure!(cross_sender == nft_owner, >::NoPermission); - let resource_collection_id: Option = - Self::get_nft_property_decoded(collection_id, nft_id, ResourceCollection) - .map_err(|_| >::ResourceDoesntExist)?; - - let resource_collection_id = - resource_collection_id.ok_or(>::ResourceDoesntExist)?; - - let is_pending: bool = Self::get_nft_property_decoded( - resource_collection_id, - resource_id, - PendingResourceRemoval, - ) - .map_err(|_| >::ResourceDoesntExist)?; + let resource_id_key = Self::rmrk_property_key(ResourceId(resource_id))?; - ensure!(is_pending, >::ResourceNotPending); - - let resource_collection = Self::get_typed_nft_collection( - resource_collection_id, - misc::CollectionType::Resource, - )?; + let resource_info = >::token_aux_property(( + collection_id, + nft_id, + PropertyScope::Rmrk, + resource_id_key.clone(), + )) + .ok_or(>::ResourceDoesntExist)?; - let resource_data = >::get((resource_collection_id, resource_id)) - .ok_or(>::ResourceDoesntExist)?; + let resource_info: RmrkResourceInfo = Self::decode_property(&resource_info)?; - let resource_owner = resource_data.owner; + ensure!( + resource_info.pending_removal, + >::ResourceNotPending + ); - >::burn( - &resource_collection, - &resource_owner, - rmrk_resource_id.into(), - ) - .map_err(Self::map_unique_err_to_proxy)?; + >::remove_token_aux_property( + collection_id, + nft_id, + PropertyScope::Rmrk, + resource_id_key, + ); Self::deposit_event(Event::::ResourceRemovalAccepted { nft_id: rmrk_nft_id, - resource_id: rmrk_resource_id, + resource_id, }); Ok(()) @@ -1014,7 +998,7 @@ Self::get_typed_nft_collection(collection_id, misc::CollectionType::Regular)?; collection.check_is_external()?; - Self::resource_remove(sender, collection_id, nft_id.into(), resource_id.into())?; + Self::resource_remove(sender, collection_id, nft_id.into(), resource_id)?; Self::deposit_event(Event::ResourceRemoval { nft_id, @@ -1043,17 +1027,27 @@ ) -> Result { let key = rmrk_key.to_key::()?; + let value = Self::encode_property(value)?; + + let property = Property { key, value }; + + Ok(property) + } + + pub fn encode_property>( + value: &E, + ) -> Result, DispatchError> { let value = value .encode() .try_into() .map_err(|_| >::RmrkPropertyValueIsTooLong)?; - - let property = Property { key, value }; - Ok(property) + Ok(value) } - pub fn decode_property(vec: PropertyValue) -> Result { + pub fn decode_property>( + vec: &BoundedBytes, + ) -> Result { vec.decode() .map_err(|_| >::UnableToDecodeRmrkData.into()) } @@ -1153,67 +1147,32 @@ ) } - fn resource_add( - sender: T::AccountId, + fn acquire_next_resource_id( collection_id: CollectionId, nft_id: TokenId, - resource: RmrkResourceTypes, ) -> Result { - match resource { - RmrkResourceTypes::Basic(resource) => Self::resource_add_helper( - sender, - collection_id, - nft_id, - [ - Self::rmrk_property(TokenType, &NftType::Resource)?, - Self::rmrk_property(ResourceType, &misc::ResourceType::Basic)?, - Self::rmrk_property(Src, &resource.src)?, - Self::rmrk_property(Metadata, &resource.metadata)?, - Self::rmrk_property(License, &resource.license)?, - Self::rmrk_property(Thumb, &resource.thumb)?, - ] - .into_iter(), - ), - RmrkResourceTypes::Composable(resource) => Self::resource_add_helper( - sender, - collection_id, - nft_id.into(), - [ - Self::rmrk_property(TokenType, &NftType::Resource)?, - Self::rmrk_property(ResourceType, &misc::ResourceType::Composable)?, - Self::rmrk_property(Parts, &resource.parts)?, - Self::rmrk_property(Base, &resource.base)?, - Self::rmrk_property(Src, &resource.src)?, - Self::rmrk_property(Metadata, &resource.metadata)?, - Self::rmrk_property(License, &resource.license)?, - Self::rmrk_property(Thumb, &resource.thumb)?, - ] - .into_iter(), - ), - RmrkResourceTypes::Slot(resource) => Self::resource_add_helper( - sender, - collection_id, - nft_id.into(), - [ - Self::rmrk_property(TokenType, &NftType::Resource)?, - Self::rmrk_property(ResourceType, &misc::ResourceType::Slot)?, - Self::rmrk_property(Base, &resource.base)?, - Self::rmrk_property(Src, &resource.src)?, - Self::rmrk_property(Metadata, &resource.metadata)?, - Self::rmrk_property(Slot, &resource.slot)?, - Self::rmrk_property(License, &resource.license)?, - Self::rmrk_property(Thumb, &resource.thumb)?, - ] - .into_iter(), - ), - } + let resource_id: RmrkResourceId = + Self::get_nft_property_decoded(collection_id, nft_id, NextResourceId)?; + + let next_id = resource_id + .checked_add(1) + .ok_or(>::NoAvailableResourceId)?; + + >::set_scoped_token_property( + collection_id, + nft_id, + PropertyScope::Rmrk, + Self::rmrk_property(NextResourceId, &next_id)?, + )?; + + Ok(resource_id) } - fn resource_add_helper( + fn resource_add( sender: T::AccountId, collection_id: CollectionId, - token_id: TokenId, - resource_properties: impl Iterator, + nft_id: TokenId, + resource: RmrkResourceTypes, ) -> Result { let collection = Self::get_typed_nft_collection(collection_id, misc::CollectionType::Regular)?; @@ -1222,86 +1181,57 @@ let sender = T::CrossAccountId::from_sub(sender); let budget = budget::Value::new(NESTING_BUDGET); - let nft_owner = >::find_topmost_owner(collection_id, token_id, &budget) + let nft_owner = >::find_topmost_owner(collection_id, nft_id, &budget) .map_err(Self::map_unique_err_to_proxy)?; let pending = sender != nft_owner; - - let resource_collection_id: Option = - Self::get_nft_property_decoded(collection_id, token_id, ResourceCollection)?; - - let resource_collection_id = match resource_collection_id { - Some(id) => id, - None => { - let resource_collection_id = Self::init_collection( - sender.clone(), - CreateCollectionData { - ..Default::default() - }, - [Self::rmrk_property( - CollectionType, - &misc::CollectionType::Resource, - )?] - .into_iter(), - )?; - >::set_scoped_token_property( - collection_id, - token_id, - PropertyScope::Rmrk, - Self::rmrk_property(ResourceCollection, &Some(resource_collection_id))?, - )?; + let id = Self::acquire_next_resource_id(collection_id, nft_id)?; - resource_collection_id - } + let resource_info = RmrkResourceInfo { + id, + resource, + pending, + pending_removal: false, }; - - let resource_collection = - Self::get_typed_nft_collection(resource_collection_id, misc::CollectionType::Resource)?; - // todo probably add extra connections to bases, slots, etc., when RMRK starts to use them + >::try_mutate_token_aux_property( + collection_id, + nft_id, + PropertyScope::Rmrk, + Self::rmrk_property_key(ResourceId(id))?, + |value| -> DispatchResult { + *value = Some(Self::encode_property(&resource_info)?); - let resource_id = Self::create_nft( - &sender, - &nft_owner, - &resource_collection, - resource_properties.chain( - [ - Self::rmrk_property(PendingResourceAccept, &pending)?, - Self::rmrk_property(PendingResourceRemoval, &false)?, - ] - .into_iter(), - ), - ) - .map_err(|err| match err { - DispatchError::Arithmetic(_) => >::NoAvailableNftId.into(), - err => Self::map_unique_err_to_proxy(err), - })?; + Ok(()) + }, + )?; - Ok(resource_id.0) + Ok(id) } fn resource_remove( sender: T::AccountId, collection_id: CollectionId, nft_id: TokenId, - resource_id: TokenId, + resource_id: RmrkResourceId, ) -> DispatchResult { let collection = Self::get_typed_nft_collection(collection_id, misc::CollectionType::Regular)?; ensure!(collection.owner == sender, Error::::NoPermission); - let resource_collection_id: Option = - Self::get_nft_property_decoded(collection_id, nft_id, ResourceCollection)?; - - let resource_collection_id = - resource_collection_id.ok_or(Error::::ResourceDoesntExist)?; + let resource_id_key = Self::rmrk_property_key(ResourceId(resource_id))?; + let scope = PropertyScope::Rmrk; - let resource_collection = - Self::get_typed_nft_collection(resource_collection_id, misc::CollectionType::Resource)?; ensure!( - >::token_exists(&resource_collection, resource_id), - Error::::ResourceDoesntExist + >::token_aux_property(( + collection_id, + nft_id, + scope, + resource_id_key.clone() + )) + .is_some(), + >::ResourceDoesntExist ); let budget = up_data_structs::budget::Value::new(NESTING_BUDGET); @@ -1310,20 +1240,49 @@ let sender = T::CrossAccountId::from_sub(sender); if topmost_owner == sender { - >::burn(&resource_collection, &sender, resource_id) - .map_err(Self::map_unique_err_to_proxy)?; - } else { - >::set_scoped_token_property( - resource_collection_id, - resource_id, + >::remove_token_aux_property( + collection_id, + nft_id, PropertyScope::Rmrk, - Self::rmrk_property(PendingResourceRemoval, &true)?, - )?; + Self::rmrk_property_key(ResourceId(resource_id))?, + ); + } else { + Self::try_mutate_resource_info(collection_id, nft_id, resource_id, |res| { + res.pending_removal = true; + + Ok(()) + })?; } Ok(()) } + fn try_mutate_resource_info( + collection_id: CollectionId, + nft_id: TokenId, + resource_id: RmrkResourceId, + f: impl FnOnce(&mut RmrkResourceInfo) -> DispatchResult, + ) -> DispatchResult { + >::try_mutate_token_aux_property( + collection_id, + nft_id, + PropertyScope::Rmrk, + Self::rmrk_property_key(ResourceId(resource_id))?, + |value| match value { + Some(value) => { + let mut resource_info: RmrkResourceInfo = Self::decode_property(value)?; + + f(&mut resource_info)?; + + *value = Self::encode_property(&resource_info)?; + + Ok(()) + } + None => Err(>::ResourceDoesntExist.into()), + }, + ) + } + fn change_collection_owner( collection_id: CollectionId, collection_type: misc::CollectionType, @@ -1339,7 +1298,7 @@ collection.save() } - fn check_collection_owner( + pub fn check_collection_owner( collection: &NonfungibleHandle, account: &T::CrossAccountId, ) -> DispatchResult { @@ -1397,14 +1356,19 @@ collection_id: CollectionId, key: RmrkProperty, ) -> Result { - Self::decode_property(Self::get_collection_property(collection_id, key)?) + Self::decode_property(&Self::get_collection_property(collection_id, key)?) } pub fn get_collection_type( collection_id: CollectionId, ) -> Result { - Self::get_collection_property_decoded(collection_id, CollectionType) - .map_err(|_| >::CorruptedCollectionType.into()) + Self::get_collection_property_decoded(collection_id, CollectionType).map_err(|err| { + if err != >::CollectionUnknown.into() { + >::CorruptedCollectionType.into() + } else { + err + } + }) } pub fn ensure_collection_type( @@ -1450,7 +1414,7 @@ ) -> Result { let nft_property = >::token_properties((collection_id, nft_id)) .get(&Self::rmrk_property_key(key)?) - .ok_or(>::NoAvailableNftId)? // todo replace with better error? + .ok_or(>::RmrkPropertyIsNotFound)? .clone(); Ok(nft_property) @@ -1461,7 +1425,7 @@ nft_id: TokenId, key: RmrkProperty, ) -> Result { - Self::decode_property(Self::get_nft_property(collection_id, nft_id, key)?) + Self::decode_property(&Self::get_nft_property(collection_id, nft_id, key)?) } pub fn nft_exists(collection_id: CollectionId, nft_id: TokenId) -> bool { --- a/pallets/proxy-rmrk-core/src/misc.rs +++ b/pallets/proxy-rmrk-core/src/misc.rs @@ -61,22 +61,13 @@ #[derive(Encode, Decode, PartialEq, Eq)] pub enum CollectionType { Regular, - Resource, Base, } #[derive(Encode, Decode, PartialEq, Eq)] pub enum NftType { Regular, - Resource, FixedPart, SlotPart, Theme, -} - -#[derive(Encode, Decode, PartialEq, Eq)] -pub enum ResourceType { - Basic, - Composable, - Slot, } --- a/pallets/proxy-rmrk-core/src/property.rs +++ b/pallets/proxy-rmrk-core/src/property.rs @@ -17,6 +17,8 @@ use super::*; use core::convert::AsRef; +const RESOURCE_ID_PREFIX: &str = "rsid-"; + pub enum RmrkProperty<'r> { Metadata, CollectionType, @@ -25,18 +27,13 @@ Transferable, RoyaltyInfo, Equipped, - ResourceCollection, ResourcePriorities, - ResourceType, + NextResourceId, + ResourceId(RmrkResourceId), PendingNftAccept, - PendingResourceAccept, - PendingResourceRemoval, Parts, Base, Src, - Slot, - License, - Thumb, EquippedNft, BaseType, ExternalPartId, @@ -72,18 +69,13 @@ Self::Transferable => key!("transferable"), Self::RoyaltyInfo => key!("royalty-info"), Self::Equipped => key!("equipped"), - Self::ResourceCollection => key!("resource-collection"), Self::ResourcePriorities => key!("resource-priorities"), - Self::ResourceType => key!("resource-type"), + Self::NextResourceId => key!("next-resource-id"), + Self::ResourceId(id) => key!(RESOURCE_ID_PREFIX, id.to_le_bytes()), Self::PendingNftAccept => key!("pending-nft-accept"), - Self::PendingResourceAccept => key!("pending-resource-accept"), - Self::PendingResourceRemoval => key!("pending-resource-removal"), Self::Parts => key!("parts"), Self::Base => key!("base"), Self::Src => key!("src"), - Self::Slot => key!("slot"), - Self::License => key!("license"), - Self::Thumb => key!("thumb"), Self::EquippedNft => key!("equipped-nft"), Self::BaseType => key!("base-type"), Self::ExternalPartId => key!("ext-part-id"), --- /dev/null +++ b/pallets/proxy-rmrk-core/src/rpc.rs @@ -0,0 +1,265 @@ +use super::*; + +pub fn last_collection_idx() -> Result { + Ok(>::last_collection_idx()) +} + +pub fn collection_by_id( + collection_id: RmrkCollectionId, +) -> Result>, DispatchError> { + let (collection, collection_id) = match >::get_typed_nft_collection_mapped( + collection_id, + misc::CollectionType::Regular, + ) { + Ok(c) => c, + Err(_) => return Ok(None), + }; + + let nfts_count = collection.total_supply(); + + Ok(Some(RmrkCollectionInfo { + issuer: collection.owner.clone(), + metadata: >::get_collection_property_decoded( + collection_id, + RmrkProperty::Metadata, + )?, + max: collection.limits.token_limit, + symbol: >::rebind(&collection.token_prefix)?, + nfts_count, + })) +} + +pub fn nft_by_id( + collection_id: RmrkCollectionId, + nft_by_id: RmrkNftId, +) -> Result>, DispatchError> { + let (collection, collection_id) = match >::get_typed_nft_collection_mapped( + collection_id, + misc::CollectionType::Regular, + ) { + Ok(c) => c, + Err(_) => return Ok(None), + }; + + let nft_id = TokenId(nft_by_id); + if !>::nft_exists(collection_id, nft_id) { + return Ok(None); + } + + let owner = match collection.token_owner(nft_id) { + Some(owner) => match T::CrossTokenAddressMapping::address_to_token(&owner) { + Some((col, tok)) => { + let rmrk_collection = >::rmrk_collection_id(col)?; + + RmrkAccountIdOrCollectionNftTuple::CollectionAndNftTuple(rmrk_collection, tok.0) + } + None => RmrkAccountIdOrCollectionNftTuple::AccountId(owner.as_sub().clone()), + }, + None => return Ok(None), + }; + + Ok(Some(RmrkInstanceInfo { + owner: owner, + royalty: >::get_nft_property_decoded( + collection_id, + nft_id, + RmrkProperty::RoyaltyInfo, + )?, + metadata: >::get_nft_property_decoded( + collection_id, + nft_id, + RmrkProperty::Metadata, + )?, + equipped: >::get_nft_property_decoded( + collection_id, + nft_id, + RmrkProperty::Equipped, + )?, + pending: >::get_nft_property_decoded( + collection_id, + nft_id, + RmrkProperty::PendingNftAccept, + )?, + })) +} + +pub fn account_tokens( + account_id: T::AccountId, + collection_id: RmrkCollectionId, +) -> Result, DispatchError> { + let cross_account_id = CrossAccountId::from_sub(account_id); + + let (collection, collection_id) = match >::get_typed_nft_collection_mapped( + collection_id, + misc::CollectionType::Regular, + ) { + Ok(c) => c, + Err(_) => return Ok(Vec::new()), + }; + + let tokens = collection + .account_tokens(cross_account_id) + .into_iter() + .filter(|token| { + let is_pending = >::get_nft_property_decoded( + collection_id, + *token, + RmrkProperty::PendingNftAccept, + ) + .unwrap_or(true); + + !is_pending + }) + .map(|token| token.0) + .collect(); + + Ok(tokens) +} + +pub fn nft_children( + collection_id: RmrkCollectionId, + nft_id: RmrkNftId, +) -> Result, DispatchError> { + let collection_id = match >::unique_collection_id(collection_id) { + Ok(id) => id, + Err(_) => return Ok(Vec::new()), + }; + let nft_id = TokenId(nft_id); + if !>::nft_exists(collection_id, nft_id) { + return Ok(Vec::new()); + } + + Ok( + pallet_nonfungible::TokenChildren::::iter_prefix((collection_id, nft_id)) + .filter_map(|((child_collection, child_token), _)| { + let is_pending = >::get_nft_property_decoded( + child_collection, + child_token, + RmrkProperty::PendingNftAccept, + ) + .ok()?; + + if is_pending { + return None; + } + + let rmrk_child_collection = + >::rmrk_collection_id(child_collection).ok()?; + + Some(RmrkNftChild { + collection_id: rmrk_child_collection, + nft_id: child_token.0, + }) + }) + .collect(), + ) +} + +pub fn collection_properties( + collection_id: RmrkCollectionId, + filter_keys: Option>, +) -> Result, DispatchError> { + let collection_id = match >::unique_collection_id(collection_id) { + Ok(id) => id, + Err(_) => return Ok(Vec::new()), + }; + if >::ensure_collection_type(collection_id, misc::CollectionType::Regular).is_err() { + return Ok(Vec::new()); + } + + let properties = >::filter_user_properties( + collection_id, + /* token_id = */ None, + filter_keys, + |key, value| RmrkPropertyInfo { key, value }, + )?; + + Ok(properties) +} + +pub fn nft_properties( + collection_id: RmrkCollectionId, + nft_id: RmrkNftId, + filter_keys: Option>, +) -> Result, DispatchError> { + let collection_id = match >::unique_collection_id(collection_id) { + Ok(id) => id, + Err(_) => return Ok(Vec::new()), + }; + let token_id = TokenId(nft_id); + + if >::ensure_nft_type(collection_id, token_id, NftType::Regular).is_err() { + return Ok(Vec::new()); + } + + let properties = >::filter_user_properties( + collection_id, + Some(token_id), + filter_keys, + |key, value| RmrkPropertyInfo { key, value }, + )?; + + Ok(properties) +} + +pub fn nft_resources( + collection_id: RmrkCollectionId, + nft_id: RmrkNftId, +) -> Result, DispatchError> { + let collection_id = match >::unique_collection_id(collection_id) { + Ok(id) => id, + Err(_) => return Ok(Vec::new()), + }; + if >::ensure_collection_type(collection_id, misc::CollectionType::Regular).is_err() { + return Ok(Vec::new()); + } + + let nft_id = TokenId(nft_id); + if >::ensure_nft_type(collection_id, nft_id, NftType::Regular).is_err() { + return Ok(Vec::new()); + } + + let resources = >::iterate_token_aux_properties( + collection_id, + nft_id, + PropertyScope::Rmrk, + ) + .filter_map(|(_, value)| { + let resource_info: RmrkResourceInfo = >::decode_property(&value).ok()?; + + Some(resource_info) + }) + .collect(); + + Ok(resources) +} + +pub fn nft_resource_priority( + collection_id: RmrkCollectionId, + nft_id: RmrkNftId, + resource_id: RmrkResourceId, +) -> Result, DispatchError> { + let collection_id = match >::unique_collection_id(collection_id) { + Ok(id) => id, + Err(_) => return Ok(None), + }; + if >::ensure_collection_type(collection_id, misc::CollectionType::Regular).is_err() { + return Ok(None); + } + + let nft_id = TokenId(nft_id); + if >::ensure_nft_type(collection_id, nft_id, NftType::Regular).is_err() { + return Ok(None); + } + + let priorities: Vec<_> = >::get_nft_property_decoded( + collection_id, + nft_id, + RmrkProperty::ResourcePriorities, + )?; + Ok(priorities + .into_iter() + .enumerate() + .find(|(_, id)| *id == resource_id) + .map(|(priority, _): (usize, RmrkResourceId)| priority as u32)) +} --- a/pallets/proxy-rmrk-core/src/weights.rs +++ b/pallets/proxy-rmrk-core/src/weights.rs @@ -3,7 +3,7 @@ //! Autogenerated weights for pallet_proxy_rmrk_core //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-06-14, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-06-21, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: @@ -19,7 +19,7 @@ // --template // .maintain/frame-weight-template.hbs // --steps=50 -// --repeat=200 +// --repeat=80 // --heap-pages=4096 // --output=./pallets/proxy-rmrk-core/src/weights.rs @@ -64,7 +64,7 @@ // Storage: Common CollectionById (r:0 w:1) // Storage: RmrkCore UniqueCollectionId (r:0 w:1) fn create_collection() -> Weight { - (41_277_000 as Weight) + (49_986_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(8 as Weight)) } @@ -77,7 +77,7 @@ // Storage: Nonfungible TokensBurnt (r:0 w:1) // Storage: Common AdminAmount (r:0 w:1) fn destroy_collection() -> Weight { - (43_371_000 as Weight) + (50_177_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) } @@ -85,7 +85,7 @@ // Storage: Common CollectionById (r:1 w:1) // Storage: Common CollectionProperties (r:1 w:0) fn change_collection_issuer() -> Weight { - (21_891_000 as Weight) + (25_949_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -95,7 +95,7 @@ // Storage: Nonfungible TokensMinted (r:1 w:0) // Storage: Nonfungible TokensBurnt (r:1 w:0) fn lock_collection() -> Weight { - (23_144_000 as Weight) + (27_183_000 as Weight) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -107,18 +107,15 @@ // Storage: Nonfungible TokenProperties (r:1 w:1) // Storage: Nonfungible TokenData (r:0 w:1) // Storage: Nonfungible Owned (r:0 w:1) - // Storage: Common CreatedCollectionCount (r:1 w:1) - // Storage: Common DestroyedCollectionCount (r:1 w:0) - // Storage: System Account (r:2 w:2) - // Storage: Common CollectionPropertyPermissions (r:0 w:1) + // Storage: Nonfungible TokenAuxProperties (r:2 w:2) fn mint_nft(b: u32, ) -> Weight { - (68_329_000 as Weight) - // Standard Error: 3_000 - .saturating_add((21_470_000 as Weight).saturating_mul(b as Weight)) - .saturating_add(T::DbWeight::get().reads(12 as Weight)) + (65_512_000 as Weight) + // Standard Error: 12_000 + .saturating_add((11_525_000 as Weight).saturating_mul(b as Weight)) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight))) - .saturating_add(T::DbWeight::get().writes(12 as Weight)) - .saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(b as Weight))) + .saturating_add(T::DbWeight::get().writes(5 as Weight)) + .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight))) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) // Storage: Common CollectionProperties (r:1 w:0) @@ -132,8 +129,8 @@ // Storage: Nonfungible TokenProperties (r:0 w:1) fn burn_nft(b: u32, ) -> Weight { (0 as Weight) - // Standard Error: 959_000 - .saturating_add((305_872_000 as Weight).saturating_mul(b as Weight)) + // Standard Error: 1_472_000 + .saturating_add((296_221_000 as Weight).saturating_mul(b as Weight)) .saturating_add(T::DbWeight::get().reads(9 as Weight)) .saturating_add(T::DbWeight::get().reads((4 as Weight).saturating_mul(b as Weight))) .saturating_add(T::DbWeight::get().writes(6 as Weight)) @@ -149,7 +146,7 @@ // Storage: Nonfungible TokenChildren (r:0 w:1) // Storage: Nonfungible Owned (r:0 w:2) fn send() -> Weight { - (71_405_000 as Weight) + (82_778_000 as Weight) .saturating_add(T::DbWeight::get().reads(12 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight)) } @@ -163,22 +160,22 @@ // Storage: Nonfungible TokenChildren (r:0 w:1) // Storage: Nonfungible Owned (r:0 w:2) fn accept_nft() -> Weight { - (79_159_000 as Weight) + (90_190_000 as Weight) .saturating_add(T::DbWeight::get().reads(15 as Weight)) .saturating_add(T::DbWeight::get().writes(7 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) // Storage: Common CollectionProperties (r:1 w:0) // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenData (r:5 w:5) // Storage: Nonfungible TokenProperties (r:1 w:5) - // Storage: Nonfungible TokenData (r:5 w:5) // Storage: Nonfungible TokenChildren (r:9 w:4) // Storage: Nonfungible TokensBurnt (r:1 w:1) // Storage: Nonfungible AccountBalance (r:5 w:5) // Storage: Nonfungible Allowance (r:5 w:0) // Storage: Nonfungible Owned (r:0 w:5) fn reject_nft() -> Weight { - (238_179_000 as Weight) + (262_238_000 as Weight) .saturating_add(T::DbWeight::get().reads(29 as Weight)) .saturating_add(T::DbWeight::get().writes(25 as Weight)) } @@ -188,7 +185,7 @@ // Storage: Nonfungible TokenProperties (r:1 w:1) // Storage: Nonfungible TokenData (r:5 w:0) fn set_property() -> Weight { - (47_770_000 as Weight) + (55_187_000 as Weight) .saturating_add(T::DbWeight::get().reads(9 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -198,100 +195,72 @@ // Storage: Nonfungible TokenProperties (r:1 w:1) // Storage: Nonfungible TokenData (r:5 w:0) fn set_priority() -> Weight { - (46_679_000 as Weight) + (54_092_000 as Weight) .saturating_add(T::DbWeight::get().reads(9 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) - // Storage: Common CollectionProperties (r:1 w:1) - // Storage: Common CollectionById (r:1 w:1) - // Storage: Nonfungible TokenData (r:5 w:1) - // Storage: Nonfungible TokenProperties (r:2 w:2) - // Storage: Common CreatedCollectionCount (r:1 w:1) - // Storage: Common DestroyedCollectionCount (r:1 w:0) - // Storage: System Account (r:2 w:2) - // Storage: Nonfungible TokensMinted (r:1 w:1) - // Storage: Nonfungible AccountBalance (r:1 w:1) - // Storage: Nonfungible Owned (r:0 w:1) - // Storage: Common CollectionPropertyPermissions (r:0 w:1) + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenData (r:5 w:0) + // Storage: Nonfungible TokenProperties (r:1 w:1) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) fn add_basic_resource() -> Weight { - (100_770_000 as Weight) - .saturating_add(T::DbWeight::get().reads(16 as Weight)) - .saturating_add(T::DbWeight::get().writes(12 as Weight)) + (62_551_000 as Weight) + .saturating_add(T::DbWeight::get().reads(10 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) - // Storage: Common CollectionProperties (r:1 w:1) - // Storage: Common CollectionById (r:1 w:1) - // Storage: Nonfungible TokenData (r:5 w:1) - // Storage: Nonfungible TokenProperties (r:2 w:2) - // Storage: Common CreatedCollectionCount (r:1 w:1) - // Storage: Common DestroyedCollectionCount (r:1 w:0) - // Storage: System Account (r:2 w:2) - // Storage: Nonfungible TokensMinted (r:1 w:1) - // Storage: Nonfungible AccountBalance (r:1 w:1) - // Storage: Nonfungible Owned (r:0 w:1) - // Storage: Common CollectionPropertyPermissions (r:0 w:1) + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenData (r:5 w:0) + // Storage: Nonfungible TokenProperties (r:1 w:1) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) fn add_composable_resource() -> Weight { - (101_791_000 as Weight) - .saturating_add(T::DbWeight::get().reads(16 as Weight)) - .saturating_add(T::DbWeight::get().writes(12 as Weight)) + (61_778_000 as Weight) + .saturating_add(T::DbWeight::get().reads(10 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) - // Storage: Common CollectionProperties (r:1 w:1) - // Storage: Common CollectionById (r:1 w:1) - // Storage: Nonfungible TokenData (r:5 w:1) - // Storage: Nonfungible TokenProperties (r:2 w:2) - // Storage: Common CreatedCollectionCount (r:1 w:1) - // Storage: Common DestroyedCollectionCount (r:1 w:0) - // Storage: System Account (r:2 w:2) - // Storage: Nonfungible TokensMinted (r:1 w:1) - // Storage: Nonfungible AccountBalance (r:1 w:1) - // Storage: Nonfungible Owned (r:0 w:1) - // Storage: Common CollectionPropertyPermissions (r:0 w:1) + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenData (r:5 w:0) + // Storage: Nonfungible TokenProperties (r:1 w:1) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) fn add_slot_resource() -> Weight { - (101_610_000 as Weight) - .saturating_add(T::DbWeight::get().reads(16 as Weight)) - .saturating_add(T::DbWeight::get().writes(12 as Weight)) + (62_700_000 as Weight) + .saturating_add(T::DbWeight::get().reads(10 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) - // Storage: Common CollectionProperties (r:2 w:0) - // Storage: Common CollectionById (r:2 w:0) - // Storage: Nonfungible TokenProperties (r:1 w:1) - // Storage: Nonfungible TokenData (r:6 w:1) - // Storage: Nonfungible TokenChildren (r:1 w:0) - // Storage: Nonfungible TokensBurnt (r:1 w:1) - // Storage: Nonfungible AccountBalance (r:1 w:1) - // Storage: Nonfungible Allowance (r:1 w:0) - // Storage: Nonfungible Owned (r:0 w:1) + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) + // Storage: Nonfungible TokenData (r:5 w:0) fn remove_resource() -> Weight { - (80_571_000 as Weight) - .saturating_add(T::DbWeight::get().reads(16 as Weight)) - .saturating_add(T::DbWeight::get().writes(5 as Weight)) + (52_920_000 as Weight) + .saturating_add(T::DbWeight::get().reads(9 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) // Storage: Common CollectionProperties (r:1 w:0) // Storage: Common CollectionById (r:1 w:0) // Storage: Nonfungible TokenData (r:5 w:0) - // Storage: Nonfungible TokenProperties (r:2 w:1) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) fn accept_resource() -> Weight { - (54_733_000 as Weight) - .saturating_add(T::DbWeight::get().reads(10 as Weight)) + (52_450_000 as Weight) + .saturating_add(T::DbWeight::get().reads(9 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) - // Storage: Common CollectionProperties (r:2 w:0) - // Storage: Common CollectionById (r:2 w:0) - // Storage: Nonfungible TokenData (r:6 w:1) - // Storage: Nonfungible TokenProperties (r:2 w:1) - // Storage: Nonfungible TokenChildren (r:1 w:0) - // Storage: Nonfungible TokensBurnt (r:1 w:1) - // Storage: Nonfungible AccountBalance (r:1 w:1) - // Storage: Nonfungible Allowance (r:1 w:0) - // Storage: Nonfungible Owned (r:0 w:1) + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenData (r:5 w:0) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) fn accept_resource_removal() -> Weight { - (84_138_000 as Weight) - .saturating_add(T::DbWeight::get().reads(17 as Weight)) - .saturating_add(T::DbWeight::get().writes(5 as Weight)) + (50_901_000 as Weight) + .saturating_add(T::DbWeight::get().reads(9 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) } } @@ -306,7 +275,7 @@ // Storage: Common CollectionById (r:0 w:1) // Storage: RmrkCore UniqueCollectionId (r:0 w:1) fn create_collection() -> Weight { - (41_277_000 as Weight) + (49_986_000 as Weight) .saturating_add(RocksDbWeight::get().reads(5 as Weight)) .saturating_add(RocksDbWeight::get().writes(8 as Weight)) } @@ -319,7 +288,7 @@ // Storage: Nonfungible TokensBurnt (r:0 w:1) // Storage: Common AdminAmount (r:0 w:1) fn destroy_collection() -> Weight { - (43_371_000 as Weight) + (50_177_000 as Weight) .saturating_add(RocksDbWeight::get().reads(5 as Weight)) .saturating_add(RocksDbWeight::get().writes(6 as Weight)) } @@ -327,7 +296,7 @@ // Storage: Common CollectionById (r:1 w:1) // Storage: Common CollectionProperties (r:1 w:0) fn change_collection_issuer() -> Weight { - (21_891_000 as Weight) + (25_949_000 as Weight) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -337,7 +306,7 @@ // Storage: Nonfungible TokensMinted (r:1 w:0) // Storage: Nonfungible TokensBurnt (r:1 w:0) fn lock_collection() -> Weight { - (23_144_000 as Weight) + (27_183_000 as Weight) .saturating_add(RocksDbWeight::get().reads(5 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -349,18 +318,15 @@ // Storage: Nonfungible TokenProperties (r:1 w:1) // Storage: Nonfungible TokenData (r:0 w:1) // Storage: Nonfungible Owned (r:0 w:1) - // Storage: Common CreatedCollectionCount (r:1 w:1) - // Storage: Common DestroyedCollectionCount (r:1 w:0) - // Storage: System Account (r:2 w:2) - // Storage: Common CollectionPropertyPermissions (r:0 w:1) + // Storage: Nonfungible TokenAuxProperties (r:2 w:2) fn mint_nft(b: u32, ) -> Weight { - (68_329_000 as Weight) - // Standard Error: 3_000 - .saturating_add((21_470_000 as Weight).saturating_mul(b as Weight)) - .saturating_add(RocksDbWeight::get().reads(12 as Weight)) + (65_512_000 as Weight) + // Standard Error: 12_000 + .saturating_add((11_525_000 as Weight).saturating_mul(b as Weight)) + .saturating_add(RocksDbWeight::get().reads(6 as Weight)) .saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight))) - .saturating_add(RocksDbWeight::get().writes(12 as Weight)) - .saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(b as Weight))) + .saturating_add(RocksDbWeight::get().writes(5 as Weight)) + .saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight))) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) // Storage: Common CollectionProperties (r:1 w:0) @@ -374,8 +340,8 @@ // Storage: Nonfungible TokenProperties (r:0 w:1) fn burn_nft(b: u32, ) -> Weight { (0 as Weight) - // Standard Error: 959_000 - .saturating_add((305_872_000 as Weight).saturating_mul(b as Weight)) + // Standard Error: 1_472_000 + .saturating_add((296_221_000 as Weight).saturating_mul(b as Weight)) .saturating_add(RocksDbWeight::get().reads(9 as Weight)) .saturating_add(RocksDbWeight::get().reads((4 as Weight).saturating_mul(b as Weight))) .saturating_add(RocksDbWeight::get().writes(6 as Weight)) @@ -391,7 +357,7 @@ // Storage: Nonfungible TokenChildren (r:0 w:1) // Storage: Nonfungible Owned (r:0 w:2) fn send() -> Weight { - (71_405_000 as Weight) + (82_778_000 as Weight) .saturating_add(RocksDbWeight::get().reads(12 as Weight)) .saturating_add(RocksDbWeight::get().writes(6 as Weight)) } @@ -405,22 +371,22 @@ // Storage: Nonfungible TokenChildren (r:0 w:1) // Storage: Nonfungible Owned (r:0 w:2) fn accept_nft() -> Weight { - (79_159_000 as Weight) + (90_190_000 as Weight) .saturating_add(RocksDbWeight::get().reads(15 as Weight)) .saturating_add(RocksDbWeight::get().writes(7 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) // Storage: Common CollectionProperties (r:1 w:0) // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenData (r:5 w:5) // Storage: Nonfungible TokenProperties (r:1 w:5) - // Storage: Nonfungible TokenData (r:5 w:5) // Storage: Nonfungible TokenChildren (r:9 w:4) // Storage: Nonfungible TokensBurnt (r:1 w:1) // Storage: Nonfungible AccountBalance (r:5 w:5) // Storage: Nonfungible Allowance (r:5 w:0) // Storage: Nonfungible Owned (r:0 w:5) fn reject_nft() -> Weight { - (238_179_000 as Weight) + (262_238_000 as Weight) .saturating_add(RocksDbWeight::get().reads(29 as Weight)) .saturating_add(RocksDbWeight::get().writes(25 as Weight)) } @@ -430,7 +396,7 @@ // Storage: Nonfungible TokenProperties (r:1 w:1) // Storage: Nonfungible TokenData (r:5 w:0) fn set_property() -> Weight { - (47_770_000 as Weight) + (55_187_000 as Weight) .saturating_add(RocksDbWeight::get().reads(9 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -440,99 +406,71 @@ // Storage: Nonfungible TokenProperties (r:1 w:1) // Storage: Nonfungible TokenData (r:5 w:0) fn set_priority() -> Weight { - (46_679_000 as Weight) + (54_092_000 as Weight) .saturating_add(RocksDbWeight::get().reads(9 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) - // Storage: Common CollectionProperties (r:1 w:1) - // Storage: Common CollectionById (r:1 w:1) - // Storage: Nonfungible TokenData (r:5 w:1) - // Storage: Nonfungible TokenProperties (r:2 w:2) - // Storage: Common CreatedCollectionCount (r:1 w:1) - // Storage: Common DestroyedCollectionCount (r:1 w:0) - // Storage: System Account (r:2 w:2) - // Storage: Nonfungible TokensMinted (r:1 w:1) - // Storage: Nonfungible AccountBalance (r:1 w:1) - // Storage: Nonfungible Owned (r:0 w:1) - // Storage: Common CollectionPropertyPermissions (r:0 w:1) + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenData (r:5 w:0) + // Storage: Nonfungible TokenProperties (r:1 w:1) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) fn add_basic_resource() -> Weight { - (100_770_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(16 as Weight)) - .saturating_add(RocksDbWeight::get().writes(12 as Weight)) + (62_551_000 as Weight) + .saturating_add(RocksDbWeight::get().reads(10 as Weight)) + .saturating_add(RocksDbWeight::get().writes(2 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) - // Storage: Common CollectionProperties (r:1 w:1) - // Storage: Common CollectionById (r:1 w:1) - // Storage: Nonfungible TokenData (r:5 w:1) - // Storage: Nonfungible TokenProperties (r:2 w:2) - // Storage: Common CreatedCollectionCount (r:1 w:1) - // Storage: Common DestroyedCollectionCount (r:1 w:0) - // Storage: System Account (r:2 w:2) - // Storage: Nonfungible TokensMinted (r:1 w:1) - // Storage: Nonfungible AccountBalance (r:1 w:1) - // Storage: Nonfungible Owned (r:0 w:1) - // Storage: Common CollectionPropertyPermissions (r:0 w:1) + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenData (r:5 w:0) + // Storage: Nonfungible TokenProperties (r:1 w:1) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) fn add_composable_resource() -> Weight { - (101_791_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(16 as Weight)) - .saturating_add(RocksDbWeight::get().writes(12 as Weight)) + (61_778_000 as Weight) + .saturating_add(RocksDbWeight::get().reads(10 as Weight)) + .saturating_add(RocksDbWeight::get().writes(2 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) - // Storage: Common CollectionProperties (r:1 w:1) - // Storage: Common CollectionById (r:1 w:1) - // Storage: Nonfungible TokenData (r:5 w:1) - // Storage: Nonfungible TokenProperties (r:2 w:2) - // Storage: Common CreatedCollectionCount (r:1 w:1) - // Storage: Common DestroyedCollectionCount (r:1 w:0) - // Storage: System Account (r:2 w:2) - // Storage: Nonfungible TokensMinted (r:1 w:1) - // Storage: Nonfungible AccountBalance (r:1 w:1) - // Storage: Nonfungible Owned (r:0 w:1) - // Storage: Common CollectionPropertyPermissions (r:0 w:1) + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenData (r:5 w:0) + // Storage: Nonfungible TokenProperties (r:1 w:1) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) fn add_slot_resource() -> Weight { - (101_610_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(16 as Weight)) - .saturating_add(RocksDbWeight::get().writes(12 as Weight)) + (62_700_000 as Weight) + .saturating_add(RocksDbWeight::get().reads(10 as Weight)) + .saturating_add(RocksDbWeight::get().writes(2 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) - // Storage: Common CollectionProperties (r:2 w:0) - // Storage: Common CollectionById (r:2 w:0) - // Storage: Nonfungible TokenProperties (r:1 w:1) - // Storage: Nonfungible TokenData (r:6 w:1) - // Storage: Nonfungible TokenChildren (r:1 w:0) - // Storage: Nonfungible TokensBurnt (r:1 w:1) - // Storage: Nonfungible AccountBalance (r:1 w:1) - // Storage: Nonfungible Allowance (r:1 w:0) - // Storage: Nonfungible Owned (r:0 w:1) + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) + // Storage: Nonfungible TokenData (r:5 w:0) fn remove_resource() -> Weight { - (80_571_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(16 as Weight)) - .saturating_add(RocksDbWeight::get().writes(5 as Weight)) + (52_920_000 as Weight) + .saturating_add(RocksDbWeight::get().reads(9 as Weight)) + .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) // Storage: Common CollectionProperties (r:1 w:0) // Storage: Common CollectionById (r:1 w:0) // Storage: Nonfungible TokenData (r:5 w:0) - // Storage: Nonfungible TokenProperties (r:2 w:1) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) fn accept_resource() -> Weight { - (54_733_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(10 as Weight)) + (52_450_000 as Weight) + .saturating_add(RocksDbWeight::get().reads(9 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } // Storage: RmrkCore UniqueCollectionId (r:1 w:0) - // Storage: Common CollectionProperties (r:2 w:0) - // Storage: Common CollectionById (r:2 w:0) - // Storage: Nonfungible TokenData (r:6 w:1) - // Storage: Nonfungible TokenProperties (r:2 w:1) - // Storage: Nonfungible TokenChildren (r:1 w:0) - // Storage: Nonfungible TokensBurnt (r:1 w:1) - // Storage: Nonfungible AccountBalance (r:1 w:1) - // Storage: Nonfungible Allowance (r:1 w:0) - // Storage: Nonfungible Owned (r:0 w:1) + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: Nonfungible TokenData (r:5 w:0) + // Storage: Nonfungible TokenAuxProperties (r:1 w:1) fn accept_resource_removal() -> Weight { - (84_138_000 as Weight) - .saturating_add(RocksDbWeight::get().reads(17 as Weight)) - .saturating_add(RocksDbWeight::get().writes(5 as Weight)) + (50_901_000 as Weight) + .saturating_add(RocksDbWeight::get().reads(9 as Weight)) + .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } } --- a/pallets/proxy-rmrk-equip/Cargo.toml +++ b/pallets/proxy-rmrk-equip/Cargo.toml @@ -11,16 +11,16 @@ version = '3.1.2' [dependencies] -frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } pallet-common = { default-features = false, path = '../common' } pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" } up-data-structs = { default-features = false, path = '../../primitives/data-structs' } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } rmrk-traits = { default-features = false, path = "../../primitives/rmrk-traits" } scale-info = { version = "2.0.1", default-features = false, features = ["derive"] } pallet-rmrk-core = { default-features = false, path = "../proxy-rmrk-core" } --- /dev/null +++ b/pallets/proxy-rmrk-equip/src/benchmarking.rs @@ -0,0 +1,120 @@ +use sp_std::vec; + +use frame_benchmarking::{benchmarks, account}; +use frame_system::RawOrigin; +use frame_support::{ + traits::{Currency, Get}, + BoundedVec, +}; + +use up_data_structs::*; + +use super::*; + +const SEED: u32 = 1; + +fn create_data>() -> BoundedVec { + vec![b'A'; S::get() as usize].try_into().expect("size == S") +} + +fn create_u32_array>() -> BoundedVec { + vec![0; S::get() as usize].try_into().expect("size == S") +} + +fn create_max_part(id: RmrkSlotId) -> RmrkPartType { + RmrkPartType::SlotPart(RmrkSlotPart { + id, + equippable: RmrkEquippableList::Custom(create_u32_array()), + src: create_data(), + z: 1, + }) +} + +fn create_parts_array>(num: u32) -> BoundedVec { + let mut parts: BoundedVec = vec![].try_into().expect("0 <= S"); + + for i in 0..num { + parts.try_push(create_max_part(i)).expect("num <= S"); + } + + parts +} + +fn create_max_theme_property() -> RmrkThemeProperty { + RmrkThemeProperty { + key: create_data(), + value: create_data(), + } +} + +fn create_theme_properties_array>(num: u32) -> BoundedVec { + vec![create_max_theme_property(); num as usize] + .try_into() + .expect("num <= S") +} + +fn create_max_theme(name: RmrkString, props_num: u32) -> RmrkBoundedTheme { + RmrkBoundedTheme { + name, + properties: create_theme_properties_array(props_num), + inherit: false, + } +} + +benchmarks! { + create_base { + let b in 0..RmrkPartsLimit::get(); + + let caller = account("caller", 0, SEED); + ::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get()); + + let base_type = create_data(); + let symbol = create_data(); + let parts = create_parts_array(b); + }: _(RawOrigin::Signed(caller), base_type, symbol, parts) + + theme_add { + let b in 0..MaxPropertiesPerTheme::get(); + + let caller = account("caller", 0, SEED); + ::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get()); + + let base_type = create_data(); + let symbol = create_data(); + let parts = create_parts_array(0); + + >::create_base(RawOrigin::Signed(caller.clone()).into(), base_type, symbol, parts)?; + let base_id = 1; + + + let default_theme_name = b"default".to_vec().try_into().expect("default is a valid name; qed"); + let default_theme = create_max_theme(default_theme_name, 0); + + >::theme_add(RawOrigin::Signed(caller.clone()).into(), base_id, default_theme)?; + + let theme = create_max_theme(create_data(), b); + }: _(RawOrigin::Signed(caller), base_id, theme) + + equippable { + let caller = account("caller", 0, SEED); + ::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get()); + + let base_id = 1; + let slot_id = 42; + + let base_type = create_data(); + let symbol = create_data(); + let parts = vec! { + RmrkPartType::SlotPart(RmrkSlotPart { + id: slot_id, + equippable: RmrkEquippableList::All, + src: create_data(), + z: 1, + }) + }.try_into().expect("1 <= RmrkPartsLimit"); + + >::create_base(RawOrigin::Signed(caller.clone()).into(), base_type, symbol, parts)?; + + let equippables = RmrkEquippableList::Custom(create_u32_array()); + }: _(RawOrigin::Signed(caller), base_id, slot_id, equippables) +} --- a/pallets/proxy-rmrk-equip/src/lib.rs +++ b/pallets/proxy-rmrk-equip/src/lib.rs @@ -22,15 +22,23 @@ use up_data_structs::*; use pallet_common::{Pallet as PalletCommon, Error as CommonError}; use pallet_rmrk_core::{ - Pallet as PalletCore, + Pallet as PalletCore, Error as CoreError, misc::{self, *}, property::RmrkProperty::*, }; use pallet_nonfungible::{Pallet as PalletNft, NonfungibleHandle}; use pallet_evm::account::CrossAccountId; +use weights::WeightInfo; pub use pallet::*; +#[cfg(feature = "runtime-benchmarks")] +pub mod benchmarking; +pub mod rpc; +pub mod weights; + +pub type SelfWeightOf = ::WeightInfo; + #[frame_support::pallet] pub mod pallet { use super::*; @@ -38,6 +46,7 @@ #[pallet::config] pub trait Config: frame_system::Config + pallet_rmrk_core::Config { type Event: From> + IsType<::Event>; + type WeightInfo: WeightInfo; } #[pallet::storage] @@ -61,6 +70,10 @@ issuer: T::AccountId, base_id: RmrkBaseId, }, + EquippablesUpdated { + base_id: RmrkBaseId, + slot_id: RmrkSlotId, + }, } #[pallet::error] @@ -70,6 +83,8 @@ NoAvailablePartId, BaseDoesntExist, NeedsDefaultThemeFirst, + PartDoesntExist, + NoEquippableOnFixedPart, } #[pallet::call] @@ -83,12 +98,12 @@ /// - symbol: arbitrary client-chosen symbol /// - parts: array of Fixed and Slot parts composing the base, confined in length by /// RmrkPartsLimit - #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))] #[transactional] + #[pallet::weight(>::create_base(parts.len() as u32))] pub fn create_base( origin: OriginFor, base_type: RmrkString, - symbol: RmrkString, + symbol: RmrkBaseSymbol, parts: BoundedVec, ) -> DispatchResult { let sender = ensure_signed(origin)?; @@ -125,17 +140,7 @@ let collection = >::get_nft_collection(collection_id)?; for part in parts { - let part_id = part.id(); - let part_token_id = Self::create_part(&cross_sender, &collection, part)?; - - >::insert(collection_id, part_id, part_token_id); - - >::set_scoped_token_property( - collection_id, - part_token_id, - PropertyScope::Rmrk, - >::rmrk_property(ExternalPartId, &part_id)?, - )?; + Self::create_part(&cross_sender, &collection, part)?; } Self::deposit_event(Event::BaseCreated { @@ -159,12 +164,12 @@ /// - key: arbitrary BoundedString, defined by client /// - value: arbitrary BoundedString, defined by client /// - inherit: optional bool - #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))] #[transactional] + #[pallet::weight(>::theme_add(theme.properties.len() as u32))] pub fn theme_add( origin: OriginFor, base_id: RmrkBaseId, - theme: RmrkTheme, + theme: RmrkBoundedTheme, ) -> DispatchResult { let sender = ensure_signed(origin)?; @@ -173,12 +178,7 @@ let collection_id: CollectionId = base_id.into(); - let collection = >::get_typed_nft_collection( - collection_id, - misc::CollectionType::Base, - ) - .map_err(|_| >::BaseDoesntExist)?; - collection.check_is_external()?; + let collection = Self::get_base(collection_id)?; if theme.name.as_slice() == b"default" { >::insert(collection_id, true); @@ -213,6 +213,55 @@ Ok(()) } + + #[transactional] + #[pallet::weight(>::equippable())] + pub fn equippable( + origin: OriginFor, + base_id: RmrkBaseId, + slot_id: RmrkSlotId, + equippables: RmrkEquippableList, + ) -> DispatchResult { + let sender = ensure_signed(origin)?; + + let base_collection_id = base_id.into(); + let collection = Self::get_base(base_collection_id)?; + + >::check_collection_owner( + &collection, + &T::CrossAccountId::from_sub(sender), + ) + .map_err(|err| { + if err == >::NoPermission.into() { + >::PermissionError.into() + } else { + err + } + })?; + + let part_id = Self::internal_part_id(base_collection_id, slot_id) + .ok_or(>::PartDoesntExist)?; + + let nft_type = >::get_nft_type(base_collection_id, part_id) + .map_err(|_| >::PartDoesntExist)?; + + match nft_type { + NftType::Regular | NftType::Theme => return Err(>::PermissionError.into()), + NftType::FixedPart => return Err(>::NoEquippableOnFixedPart.into()), + NftType::SlotPart => { + >::set_scoped_token_property( + base_collection_id, + part_id, + PropertyScope::Rmrk, + >::rmrk_property(EquippableList, &equippables)?, + )?; + } + } + + Self::deposit_event(Event::EquippablesUpdated { base_id, slot_id }); + + Ok(()) + } } } @@ -221,9 +270,10 @@ sender: &T::CrossAccountId, collection: &NonfungibleHandle, part: RmrkPartType, - ) -> Result { + ) -> DispatchResult { let owner = sender; + let part_id = part.id(); let src = part.src(); let z_index = part.z_index(); @@ -232,21 +282,40 @@ RmrkPartType::SlotPart(_) => NftType::SlotPart, }; - let token_id = >::create_nft( - sender, - owner, - collection, + let token_id = match Self::internal_part_id(collection.id, part_id) { + Some(token_id) => token_id, + None => { + let token_id = + >::create_nft(sender, owner, collection, [].into_iter()) + .map_err(|err| match err { + DispatchError::Arithmetic(_) => >::NoAvailablePartId.into(), + err => err, + })?; + + >::insert(collection.id, part_id, token_id); + + >::set_scoped_token_property( + collection.id, + token_id, + PropertyScope::Rmrk, + >::rmrk_property(ExternalPartId, &part_id)?, + )?; + + token_id + } + }; + + >::set_scoped_token_properties( + collection.id, + token_id, + PropertyScope::Rmrk, [ >::rmrk_property(TokenType, &nft_type)?, >::rmrk_property(Src, &src)?, >::rmrk_property(ZIndex, &z_index)?, ] .into_iter(), - ) - .map_err(|err| match err { - DispatchError::Arithmetic(_) => >::NoAvailablePartId.into(), - err => err, - })?; + )?; if let RmrkPartType::SlotPart(part) = part { >::set_scoped_token_property( @@ -257,6 +326,21 @@ )?; } - Ok(token_id) + Ok(()) + } + + fn get_base(base_id: CollectionId) -> Result, DispatchError> { + let collection = + >::get_typed_nft_collection(base_id, misc::CollectionType::Base) + .map_err(|err| { + if err == >::CollectionUnknown.into() { + >::BaseDoesntExist.into() + } else { + err + } + })?; + collection.check_is_external()?; + + Ok(collection) } } --- /dev/null +++ b/pallets/proxy-rmrk-equip/src/rpc.rs @@ -0,0 +1,186 @@ +use super::*; +use pallet_rmrk_core::{misc, property::*}; +use sp_std::vec::Vec; + +pub fn base( + base_id: RmrkBaseId, +) -> Result>, DispatchError> { + let (collection, collection_id) = + match >::get_typed_nft_collection_mapped(base_id, misc::CollectionType::Base) + { + Ok(c) => c, + Err(_) => return Ok(None), + }; + + Ok(Some(RmrkBaseInfo { + issuer: collection.owner.clone(), + base_type: >::get_collection_property_decoded( + collection_id, + RmrkProperty::BaseType, + )?, + symbol: >::rebind(&collection.token_prefix)?, + })) +} + +pub fn base_parts(base_id: RmrkBaseId) -> Result, DispatchError> { + use pallet_common::CommonCollectionOperations; + + let (collection, collection_id) = + match >::get_typed_nft_collection_mapped(base_id, misc::CollectionType::Base) + { + Ok(c) => c, + Err(_) => return Ok(Vec::new()), + }; + + let parts = collection + .collection_tokens() + .into_iter() + .filter_map(|token_id| { + let nft_type = >::get_nft_type(collection_id, token_id).ok()?; + + match nft_type { + NftType::FixedPart => Some(RmrkPartType::FixedPart(RmrkFixedPart { + id: >::get_nft_property_decoded( + collection_id, + token_id, + RmrkProperty::ExternalPartId, + ) + .ok()?, + src: >::get_nft_property_decoded( + collection_id, + token_id, + RmrkProperty::Src, + ) + .ok()?, + z: >::get_nft_property_decoded( + collection_id, + token_id, + RmrkProperty::ZIndex, + ) + .ok()?, + })), + NftType::SlotPart => Some(RmrkPartType::SlotPart(RmrkSlotPart { + id: >::get_nft_property_decoded( + collection_id, + token_id, + RmrkProperty::ExternalPartId, + ) + .ok()?, + src: >::get_nft_property_decoded( + collection_id, + token_id, + RmrkProperty::Src, + ) + .ok()?, + z: >::get_nft_property_decoded( + collection_id, + token_id, + RmrkProperty::ZIndex, + ) + .ok()?, + equippable: >::get_nft_property_decoded( + collection_id, + token_id, + RmrkProperty::EquippableList, + ) + .ok()?, + })), + _ => None, + } + }) + .collect(); + + Ok(parts) +} + +pub fn theme_names(base_id: RmrkBaseId) -> Result, DispatchError> { + use pallet_common::CommonCollectionOperations; + + let (collection, collection_id) = + match >::get_typed_nft_collection_mapped(base_id, misc::CollectionType::Base) + { + Ok(c) => c, + Err(_) => return Ok(Vec::new()), + }; + + let theme_names = collection + .collection_tokens() + .iter() + .filter_map(|token_id| { + let nft_type = >::get_nft_type(collection_id, *token_id).ok()?; + + match nft_type { + NftType::Theme => >::get_nft_property_decoded( + collection_id, + *token_id, + RmrkProperty::ThemeName, + ) + .ok(), + _ => None, + } + }) + .collect(); + + Ok(theme_names) +} + +pub fn theme( + base_id: RmrkBaseId, + theme_name: RmrkThemeName, + filter_keys: Option>, +) -> Result, DispatchError> { + use pallet_common::CommonCollectionOperations; + + let (collection, collection_id) = + match >::get_typed_nft_collection_mapped(base_id, misc::CollectionType::Base) + { + Ok(c) => c, + Err(_) => return Ok(None), + }; + + let theme_info = collection + .collection_tokens() + .into_iter() + .find_map(|token_id| { + >::ensure_nft_type(collection_id, token_id, NftType::Theme).ok()?; + + let name: RmrkString = >::get_nft_property_decoded( + collection_id, + token_id, + RmrkProperty::ThemeName, + ) + .ok()?; + + if name == theme_name { + Some((name, token_id)) + } else { + None + } + }); + + let (name, theme_id) = match theme_info { + Some((name, theme_id)) => (name, theme_id), + None => return Ok(None), + }; + + let properties = >::filter_user_properties( + collection_id, + Some(theme_id), + filter_keys, + |key, value| RmrkThemeProperty { key, value }, + )?; + + let inherit = >::get_nft_property_decoded( + collection_id, + theme_id, + RmrkProperty::ThemeInherit, + )?; + + let theme = RmrkTheme { + name, + properties, + inherit, + }; + + Ok(Some(theme)) +} --- /dev/null +++ b/pallets/proxy-rmrk-equip/src/weights.rs @@ -0,0 +1,138 @@ +// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs + +//! Autogenerated weights for pallet_proxy_rmrk_equip +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2022-06-21, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 + +// Executed Command: +// target/release/unique-collator +// benchmark +// pallet +// --pallet +// pallet-proxy-rmrk-equip +// --wasm-execution +// compiled +// --extrinsic +// * +// --template +// .maintain/frame-weight-template.hbs +// --steps=50 +// --repeat=80 +// --heap-pages=4096 +// --output=./pallets/proxy-rmrk-equip/src/weights.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(clippy::unnecessary_cast)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use sp_std::marker::PhantomData; + +/// Weight functions needed for pallet_proxy_rmrk_equip. +pub trait WeightInfo { + fn create_base(b: u32, ) -> Weight; + fn theme_add(b: u32, ) -> Weight; + fn equippable() -> Weight; +} + +/// Weights for pallet_proxy_rmrk_equip using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl WeightInfo for SubstrateWeight { + // Storage: Common CreatedCollectionCount (r:1 w:1) + // Storage: Common DestroyedCollectionCount (r:1 w:0) + // Storage: System Account (r:2 w:2) + // Storage: Common CollectionPropertyPermissions (r:0 w:1) + // Storage: Common CollectionProperties (r:0 w:1) + // Storage: Common CollectionById (r:0 w:1) + // Storage: RmrkEquip InernalPartId (r:1 w:1) + // Storage: Nonfungible TokensMinted (r:1 w:1) + // Storage: Nonfungible AccountBalance (r:1 w:1) + // Storage: Nonfungible TokenProperties (r:1 w:1) + // Storage: Nonfungible TokenData (r:0 w:1) + // Storage: Nonfungible Owned (r:0 w:1) + fn create_base(b: u32, ) -> Weight { + (62_832_000 as Weight) + // Standard Error: 22_000 + .saturating_add((20_106_000 as Weight).saturating_mul(b as Weight)) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(b as Weight))) + .saturating_add(T::DbWeight::get().writes(8 as Weight)) + .saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(b as Weight))) + } + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: RmrkEquip BaseHasDefaultTheme (r:1 w:0) + // Storage: Nonfungible TokensMinted (r:1 w:1) + // Storage: Nonfungible AccountBalance (r:1 w:1) + // Storage: Nonfungible TokenProperties (r:1 w:1) + // Storage: Nonfungible TokenData (r:0 w:1) + // Storage: Nonfungible Owned (r:0 w:1) + fn theme_add(b: u32, ) -> Weight { + (46_793_000 as Weight) + // Standard Error: 61_000 + .saturating_add((3_061_000 as Weight).saturating_mul(b as Weight)) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(5 as Weight)) + } + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: RmrkEquip InernalPartId (r:1 w:0) + // Storage: Nonfungible TokenProperties (r:1 w:1) + fn equippable() -> Weight { + (32_495_000 as Weight) + .saturating_add(T::DbWeight::get().reads(4 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } +} + +// For backwards compatibility and tests +impl WeightInfo for () { + // Storage: Common CreatedCollectionCount (r:1 w:1) + // Storage: Common DestroyedCollectionCount (r:1 w:0) + // Storage: System Account (r:2 w:2) + // Storage: Common CollectionPropertyPermissions (r:0 w:1) + // Storage: Common CollectionProperties (r:0 w:1) + // Storage: Common CollectionById (r:0 w:1) + // Storage: RmrkEquip InernalPartId (r:1 w:1) + // Storage: Nonfungible TokensMinted (r:1 w:1) + // Storage: Nonfungible AccountBalance (r:1 w:1) + // Storage: Nonfungible TokenProperties (r:1 w:1) + // Storage: Nonfungible TokenData (r:0 w:1) + // Storage: Nonfungible Owned (r:0 w:1) + fn create_base(b: u32, ) -> Weight { + (62_832_000 as Weight) + // Standard Error: 22_000 + .saturating_add((20_106_000 as Weight).saturating_mul(b as Weight)) + .saturating_add(RocksDbWeight::get().reads(6 as Weight)) + .saturating_add(RocksDbWeight::get().reads((2 as Weight).saturating_mul(b as Weight))) + .saturating_add(RocksDbWeight::get().writes(8 as Weight)) + .saturating_add(RocksDbWeight::get().writes((4 as Weight).saturating_mul(b as Weight))) + } + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: RmrkEquip BaseHasDefaultTheme (r:1 w:0) + // Storage: Nonfungible TokensMinted (r:1 w:1) + // Storage: Nonfungible AccountBalance (r:1 w:1) + // Storage: Nonfungible TokenProperties (r:1 w:1) + // Storage: Nonfungible TokenData (r:0 w:1) + // Storage: Nonfungible Owned (r:0 w:1) + fn theme_add(b: u32, ) -> Weight { + (46_793_000 as Weight) + // Standard Error: 61_000 + .saturating_add((3_061_000 as Weight).saturating_mul(b as Weight)) + .saturating_add(RocksDbWeight::get().reads(6 as Weight)) + .saturating_add(RocksDbWeight::get().writes(5 as Weight)) + } + // Storage: Common CollectionProperties (r:1 w:0) + // Storage: Common CollectionById (r:1 w:0) + // Storage: RmrkEquip InernalPartId (r:1 w:0) + // Storage: Nonfungible TokenProperties (r:1 w:1) + fn equippable() -> Weight { + (32_495_000 as Weight) + .saturating_add(RocksDbWeight::get().reads(4 as Weight)) + .saturating_add(RocksDbWeight::get().writes(1 as Weight)) + } +} --- a/pallets/refungible/Cargo.toml +++ b/pallets/refungible/Cargo.toml @@ -11,16 +11,16 @@ version = '3.1.2' [dependencies] -frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } pallet-common = { default-features = false, path = '../common' } pallet-structure = { default-features = false, path = '../structure' } up-data-structs = { default-features = false, path = '../../primitives/data-structs' } -frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } scale-info = { version = "2.0.1", default-features = false, features = [ "derive", ] } --- a/pallets/scheduler/Cargo.toml +++ b/pallets/scheduler/Cargo.toml @@ -16,20 +16,20 @@ "derive", ] } -frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.22' } -frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.23' } +frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } -up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.22" } +up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.23" } log = { version = "0.4.14", default-features = false } [dev-dependencies] -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } [features] default = ["std"] --- a/pallets/structure/Cargo.toml +++ b/pallets/structure/Cargo.toml @@ -4,10 +4,10 @@ edition = "2021" [dependencies] -frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } +frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } pallet-common = { path = "../common", default-features = false } parity-scale-codec = { version = "3.1.2", default-features = false, features = [ "derive", @@ -16,7 +16,7 @@ "derive", ] } up-data-structs = { path = "../../primitives/data-structs", default-features = false } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } [features] default = ["std"] --- a/pallets/unique/Cargo.toml +++ b/pallets/unique/Cargo.toml @@ -59,37 +59,37 @@ default-features = false optional = true git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-support] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-std] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-runtime] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-core] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-io] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" ################################################################################ # Local Dependencies @@ -98,7 +98,7 @@ scale-info = { version = "2.0.1", default-features = false, features = [ "derive", ] } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } pallet-common = { default-features = false, path = "../common" } evm-coder = { default-features = false, path = '../../crates/evm-coder' } pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' } --- a/pallets/unique/src/lib.rs +++ b/pallets/unique/src/lib.rs @@ -693,8 +693,6 @@ dispatch_tx::(collection_id, |d| d.create_multiple_items_ex(sender, data, &budget)) } - // TODO! transaction weight - /// Set transfers_enabled value for particular collection /// /// # Permissions --- a/primitives/data-structs/Cargo.toml +++ b/primitives/data-structs/Cargo.toml @@ -18,14 +18,14 @@ serde = { version = "1.0.130", features = [ 'derive', ], default-features = false, optional = true } -frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } derivative = { version = "2.2.0", features = ["use_core"] } struct-versioning = { path = "../../crates/struct-versioning" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } rmrk-traits = { default-features = false, path = "../rmrk-traits" } [features] --- a/primitives/data-structs/src/lib.rs +++ b/primitives/data-structs/src/lib.rs @@ -39,15 +39,15 @@ // RMRK use rmrk_traits::{ CollectionInfo, NftInfo, ResourceInfo, PropertyInfo, BaseInfo, PartType, Theme, ThemeProperty, - ResourceTypes, BasicResource, ComposableResource, SlotResource, + ResourceTypes, BasicResource, ComposableResource, SlotResource, EquippableList, }; pub use rmrk_traits::{ primitives::{ CollectionId as RmrkCollectionId, NftId as RmrkNftId, BaseId as RmrkBaseId, - PartId as RmrkPartId, ResourceId as RmrkResourceId, + SlotId as RmrkSlotId, PartId as RmrkPartId, ResourceId as RmrkResourceId, }, NftChild as RmrkNftChild, AccountIdOrCollectionNftTuple as RmrkAccountIdOrCollectionNftTuple, - FixedPart as RmrkFixedPart, SlotPart as RmrkSlotPart, EquippableList as RmrkEquippableList, + FixedPart as RmrkFixedPart, SlotPart as RmrkSlotPart, }; mod bounded; @@ -104,6 +104,8 @@ pub const MAX_PROPERTY_VALUE_LENGTH: u32 = 32768; pub const MAX_PROPERTIES_PER_ITEM: u32 = 64; +pub const MAX_AUX_PROPERTY_VALUE_LENGTH: u32 = 2048; + pub const MAX_COLLECTION_PROPERTIES_SIZE: u32 = 40960; pub const MAX_TOKEN_PROPERTIES_SIZE: u32 = 32768; @@ -452,7 +454,7 @@ token_owner: false, collection_admin: false, restricted: None, - + #[cfg(feature = "runtime-benchmarks")] permissive: false, }; self.nesting.as_ref().unwrap_or(&DEFAULT) @@ -497,6 +499,7 @@ /// If set - only tokens from specified collections can be nested pub restricted: Option, + #[cfg(feature = "runtime-benchmarks")] /// Anyone can nest tokens, mutually exclusive with `token_owner`, `admin` pub permissive: bool, } @@ -654,9 +657,13 @@ } } -pub type PropertyKey = BoundedVec>; -pub type PropertyValue = BoundedVec>; +pub type BoundedBytes = BoundedVec; +pub type AuxPropertyValue = BoundedBytes>; + +pub type PropertyKey = BoundedBytes>; +pub type PropertyValue = BoundedBytes>; + #[derive(Encode, Decode, TypeInfo, Debug, MaxEncodedLen, PartialEq, Clone)] #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))] pub struct PropertyPermission { @@ -715,7 +722,7 @@ EmptyPropertyKey, } -#[derive(Clone, Copy)] +#[derive(Encode, Decode, MaxEncodedLen, TypeInfo, PartialEq, Clone, Copy)] pub enum PropertyScope { None, Rmrk, @@ -944,7 +951,9 @@ #[derive(PartialEq)] pub const RmrkCollectionSymbolLimit: u32 = MAX_TOKEN_PREFIX_LENGTH; #[derive(PartialEq)] - pub const RmrkResourceSymbolLimit: u32 = MAX_TOKEN_PREFIX_LENGTH; + pub const RmrkResourceSymbolLimit: u32 = 10; + #[derive(PartialEq)] + pub const RmrkBaseSymbolLimit: u32 = MAX_TOKEN_PREFIX_LENGTH; #[derive(PartialEq)] pub const RmrkKeyLimit: u32 = 32; #[derive(PartialEq)] @@ -952,6 +961,8 @@ #[derive(PartialEq)] pub const RmrkMaxCollectionsEquippablePerPart: u32 = 100; #[derive(PartialEq)] + pub const MaxPropertiesPerTheme: u32 = 5; + #[derive(PartialEq)] pub const RmrkPartsLimit: u32 = 25; #[derive(PartialEq)] pub const RmrkMaxPriorities: u32 = 25; @@ -977,10 +988,13 @@ pub type RmrkResourceInfo = ResourceInfo; pub type RmrkPropertyInfo = PropertyInfo; pub type RmrkBaseInfo = BaseInfo; -pub type RmrkPartType = - PartType>; +pub type BoundedEquippableCollectionIds = + BoundedVec; +pub type RmrkPartType = PartType; +pub type RmrkEquippableList = EquippableList; pub type RmrkThemeProperty = ThemeProperty; pub type RmrkTheme = Theme>; +pub type RmrkBoundedTheme = Theme>; pub type RmrkResourceTypes = ResourceTypes; pub type RmrkBasicResource = BasicResource; @@ -989,6 +1003,7 @@ pub type RmrkString = BoundedVec; pub type RmrkCollectionSymbol = BoundedVec; +pub type RmrkBaseSymbol = BoundedVec; pub type RmrkKeyString = BoundedVec; pub type RmrkValueString = BoundedVec; pub type RmrkBoundedResource = BoundedVec; --- a/primitives/rmrk-rpc/Cargo.toml +++ b/primitives/rmrk-rpc/Cargo.toml @@ -6,10 +6,10 @@ [dependencies] codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] } -sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } +sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } serde = { version = "1.0.130", default-features = false, features = ["derive"] } rmrk-traits = { default-features = false, path = "../rmrk-traits" } --- a/primitives/rpc/Cargo.toml +++ b/primitives/rpc/Cargo.toml @@ -10,11 +10,11 @@ codec = { package = "parity-scale-codec", version = "3.1.2", default-features = false, features = [ "derive", ] } -sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.22" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.23" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } [features] default = ["std"] --- a/runtime/common/Cargo.toml +++ b/runtime/common/Cargo.toml @@ -6,7 +6,7 @@ license = 'All Rights Reserved' name = 'unique-runtime-common' repository = 'https://github.com/UniqueNetwork/unique-chain' -version = '0.9.22' +version = '0.9.23' [features] default = ['std'] @@ -36,17 +36,17 @@ [dependencies.sp-core] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-std] default-features = false git = 'https://github.com/paritytech/substrate' -branch = 'polkadot-v0.9.22' +branch = 'polkadot-v0.9.23' [dependencies.sp-runtime] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.codec] default-features = false @@ -62,12 +62,12 @@ [dependencies.frame-support] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-common] default-features = false @@ -100,16 +100,16 @@ [dependencies.sp-consensus-aura] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.fp-rpc] default-features = false git = "https://github.com/uniquenetwork/frontier" -branch = "unique-polkadot-v0.9.22" +branch = "unique-polkadot-v0.9.23" [dependencies] -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } evm-coder = { default-features = false, path = '../../crates/evm-coder' } -up-sponsorship = { default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.22' } +up-sponsorship = { default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.23' } rmrk-rpc = { default-features = false, path = "../../primitives/rmrk-rpc" } --- a/runtime/common/src/constants.rs +++ b/runtime/common/src/constants.rs @@ -35,9 +35,10 @@ pub const CENTIUNIQUE: Balance = 10 * MILLIUNIQUE; pub const UNIQUE: Balance = 100 * CENTIUNIQUE; -pub const WEIGHT_TO_FEE_COEFF: u32 = 142_688_000; +// Targeting 0.1 UNQ per transfer +pub const WEIGHT_TO_FEE_COEFF: u32 = 207_890_902; -// Targeting 0.15 UNQ per transfer +// Targeting 0.15 UNQ per transfer via ETH pub const MIN_GAS_PRICE: u64 = 1_019_493_469_850; /// We assume that ~10% of the block weight is consumed by `on_initalize` handlers. @@ -52,5 +53,5 @@ parameter_types! { pub const DefaultSponsoringRateLimit: BlockNumber = 1 * DAYS; - pub const TransactionByteFee: Balance = 501 * MICROUNIQUE; // Targeting 0.1 Unique per NFT transfer + pub const TransactionByteFee: Balance = 501 * MICROUNIQUE; } --- a/runtime/common/src/runtime_apis.rs +++ b/runtime/common/src/runtime_apis.rs @@ -454,6 +454,13 @@ list_benchmark!(list, extra, pallet_refungible, Refungible); list_benchmark!(list, extra, pallet_nonfungible, Nonfungible); list_benchmark!(list, extra, pallet_unique_scheduler, Scheduler); + + #[cfg(not(feature = "unique-runtime"))] + list_benchmark!(list, extra, pallet_proxy_rmrk_core, RmrkCore); + + #[cfg(not(feature = "unique-runtime"))] + list_benchmark!(list, extra, pallet_proxy_rmrk_equip, RmrkEquip); + // list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate); let storage_info = AllPalletsReversedWithSystemFirst::storage_info(); @@ -498,6 +505,13 @@ add_benchmark!(params, batches, pallet_refungible, Refungible); add_benchmark!(params, batches, pallet_nonfungible, Nonfungible); add_benchmark!(params, batches, pallet_unique_scheduler, Scheduler); + + #[cfg(not(feature = "unique-runtime"))] + add_benchmark!(params, batches, pallet_proxy_rmrk_core, RmrkCore); + + #[cfg(not(feature = "unique-runtime"))] + add_benchmark!(params, batches, pallet_proxy_rmrk_equip, RmrkEquip); + // add_benchmark!(params, batches, pallet_evm_coder_substrate, EvmCoderSubstrate); if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } --- a/runtime/opal/Cargo.toml +++ b/runtime/opal/Cargo.toml @@ -10,7 +10,7 @@ license = 'GPLv3' name = 'opal-runtime' repository = 'https://github.com/UniqueNetwork/unique-chain' -version = '0.9.22' +version = '0.9.23' [package.metadata.docs.rs] targets = ['x86_64-unknown-linux-gnu'] @@ -34,6 +34,7 @@ 'pallet-refungible/runtime-benchmarks', 'pallet-nonfungible/runtime-benchmarks', 'pallet-proxy-rmrk-core/runtime-benchmarks', + 'pallet-proxy-rmrk-equip/runtime-benchmarks', 'pallet-unique/runtime-benchmarks', 'pallet-inflation/runtime-benchmarks', 'pallet-unique-scheduler/runtime-benchmarks', @@ -132,39 +133,39 @@ default-features = false git = "https://github.com/paritytech/substrate" optional = true -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-try-runtime] default-features = false git = 'https://github.com/paritytech/substrate' optional = true -branch = 'polkadot-v0.9.22' +branch = 'polkadot-v0.9.23' [dependencies.frame-executive] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-support] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system-benchmarking] default-features = false git = "https://github.com/paritytech/substrate" optional = true -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system-rpc-runtime-api] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.hex-literal] optional = true @@ -179,12 +180,12 @@ [dependencies.pallet-aura] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-balances] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" # Contracts specific packages # [dependencies.pallet-contracts] @@ -208,32 +209,32 @@ [dependencies.pallet-randomness-collective-flip] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-sudo] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-timestamp] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-transaction-payment] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-transaction-payment-rpc-runtime-api] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-treasury] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" # [dependencies.pallet-vesting] # default-features = false @@ -243,67 +244,67 @@ [dependencies.sp-arithmetic] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-api] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-block-builder] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-core] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-consensus-aura] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-inherents] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-io] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-offchain] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-runtime] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-session] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-std] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-transaction-pool] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-version] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.smallvec] version = '1.6.1' @@ -314,46 +315,46 @@ [dependencies.parachain-info] default-features = false git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-pallet-aura-ext] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-parachain-system] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-primitives-core] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-xcm] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-dmp-queue] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-xcmp-queue] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-primitives-utility] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-primitives-timestamp] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false ################################################################################ @@ -361,32 +362,32 @@ [dependencies.polkadot-parachain] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.xcm] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.xcm-builder] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.xcm-executor] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.pallet-xcm] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.orml-vesting] git = "https://github.com/uniquenetwork/open-runtime-module-library" -branch = "unique-polkadot-v0.9.22" +branch = "unique-polkadot-v0.9.23" version = "0.4.1-dev" default-features = false @@ -403,7 +404,7 @@ pallet-unique = { path = '../../pallets/unique', default-features = false } up-rpc = { path = "../../primitives/rpc", default-features = false } rmrk-rpc = { path = "../../primitives/rmrk-rpc", default-features = false } -fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } pallet-inflation = { path = '../../pallets/inflation', default-features = false } up-data-structs = { path = '../../primitives/data-structs', default-features = false } pallet-common = { default-features = false, path = "../../pallets/common" } @@ -415,20 +416,20 @@ pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" } pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false } # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' } -pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.22", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" } +pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.23", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" } pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false } pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false } pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false } pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } ################################################################################ # Build Dependencies [build-dependencies.substrate-wasm-builder] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" --- a/runtime/opal/src/lib.rs +++ b/runtime/opal/src/lib.rs @@ -66,6 +66,7 @@ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, DispatchClass, DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight, WeightToFeePolynomial, WeightToFeeCoefficient, WeightToFeeCoefficients, ConstantMultiplier, + WeightToFee, }, }; use pallet_unique_scheduler::DispatchCall; @@ -74,10 +75,8 @@ CollectionStats, RpcCollection, mapping::{EvmTokenAddressMapping, CrossTokenAddressMapping}, TokenChild, RmrkCollectionInfo, RmrkInstanceInfo, RmrkResourceInfo, RmrkPropertyInfo, - RmrkBaseInfo, RmrkPartType, RmrkTheme, RmrkThemeName, RmrkThemeProperty, RmrkCollectionId, - RmrkNftId, RmrkAccountIdOrCollectionNftTuple, RmrkNftChild, RmrkPropertyKey, RmrkResourceTypes, - RmrkBasicResource, RmrkComposableResource, RmrkSlotResource, RmrkResourceId, RmrkBaseId, - RmrkFixedPart, RmrkSlotPart, RmrkString, + RmrkBaseInfo, RmrkPartType, RmrkTheme, RmrkThemeName, RmrkCollectionId, RmrkNftId, + RmrkNftChild, RmrkPropertyKey, RmrkResourceId, RmrkBaseId, }; // use pallet_contracts::weights::WeightInfo; @@ -193,7 +192,7 @@ spec_name: create_runtime_str!(RUNTIME_NAME), impl_name: create_runtime_str!(RUNTIME_NAME), authoring_version: 1, - spec_version: 922080, + spec_version: 923000, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 1, @@ -509,7 +508,6 @@ fn polynomial() -> WeightToFeeCoefficients { smallvec!(WeightToFeeCoefficient { - // Targeting 0.1 Unique per NFT transfer coeff_integer: WEIGHT_TO_FEE_COEFF.into(), coeff_frac: Perbill::zero(), negative: false, @@ -738,7 +736,7 @@ } fn buy_weight(&mut self, weight: Weight, payment: Assets) -> Result { - let amount = WeightToFee::calc(&weight); + let amount = WeightToFee::weight_to_fee(&weight); let u128_amount: u128 = amount.try_into().map_err(|_| XcmError::Overflow)?; // location to this parachain through relay chain @@ -770,7 +768,7 @@ fn refund_weight(&mut self, weight: Weight) -> Option { let weight = weight.min(self.0); - let amount = WeightToFee::calc(&weight); + let amount = WeightToFee::weight_to_fee(&weight); self.0 -= weight; self.1 = self.1.saturating_sub(amount); let amount: u128 = amount.saturated_into(); @@ -807,13 +805,8 @@ type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; - type Trader = UsingOnlySelfCurrencyComponents< - IdentityFee, - RelayLocation, - AccountId, - Balances, - (), - >; + type Trader = + UsingOnlySelfCurrencyComponents, RelayLocation, AccountId, Balances, ()>; type ResponseHandler = (); // Don't handle responses for now. type SubscriptionService = PolkadotXcm; @@ -885,7 +878,7 @@ } parameter_types! { - pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account(); + pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account_truncating(); pub const CollectionCreationPrice: Balance = 2 * UNIQUE; } @@ -924,6 +917,7 @@ } impl pallet_proxy_rmrk_equip::Config for Runtime { + type WeightInfo = pallet_proxy_rmrk_equip::weights::SubstrateWeight; type Event = Event; } @@ -1330,387 +1324,55 @@ RmrkTheme > for Runtime { fn last_collection_idx() -> Result { - Ok(RmrkCore::last_collection_idx()) + pallet_proxy_rmrk_core::rpc::last_collection_idx::() } fn collection_by_id(collection_id: RmrkCollectionId) -> Result>, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::CollectionType}; - use pallet_common::CommonCollectionOperations; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(collection_id, CollectionType::Regular) { - Ok(c) => c, - Err(_) => return Ok(None), - }; - - let nfts_count = collection.total_supply(); - - Ok(Some(RmrkCollectionInfo { - issuer: collection.owner.clone(), - metadata: RmrkCore::get_collection_property_decoded(collection_id, RmrkProperty::Metadata)?, - max: collection.limits.token_limit, - symbol: RmrkCore::rebind(&collection.token_prefix)?, - nfts_count - })) + pallet_proxy_rmrk_core::rpc::collection_by_id::(collection_id) } fn nft_by_id(collection_id: RmrkCollectionId, nft_by_id: RmrkNftId) -> Result>, DispatchError> { - use up_data_structs::mapping::TokenAddressMapping; - use pallet_proxy_rmrk_core::{RmrkProperty, misc::CollectionType}; - use pallet_common::CommonCollectionOperations; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(collection_id, CollectionType::Regular) { - Ok(c) => c, - Err(_) => return Ok(None), - }; - - let nft_id = TokenId(nft_by_id); - if !RmrkCore::nft_exists(collection_id, nft_id) { return Ok(None); } - - let owner = match collection.token_owner(nft_id) { - Some(owner) => match ::CrossTokenAddressMapping::address_to_token(&owner) { - Some((col, tok)) => { - let rmrk_collection = RmrkCore::rmrk_collection_id(col)?; - - RmrkAccountIdOrCollectionNftTuple::CollectionAndNftTuple(rmrk_collection, tok.0) - } - None => RmrkAccountIdOrCollectionNftTuple::AccountId(owner.as_sub().clone()) - }, - None => return Ok(None) - }; - - Ok(Some(RmrkInstanceInfo { - owner: owner, - royalty: RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::RoyaltyInfo)?, - metadata: RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::Metadata)?, - equipped: RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::Equipped)?, - pending: RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::PendingNftAccept)?, - })) + pallet_proxy_rmrk_core::rpc::nft_by_id::(collection_id, nft_by_id) } fn account_tokens(account_id: AccountId, collection_id: RmrkCollectionId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::CollectionType}; - use pallet_common::CommonCollectionOperations; - - let cross_account_id = CrossAccountId::from_sub(account_id); - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(collection_id, CollectionType::Regular) { - Ok(c) => c, - Err(_) => return Ok(Vec::new()), - }; - - let tokens = collection.account_tokens(cross_account_id) - .into_iter() - .filter(|token| { - let is_pending = RmrkCore::get_nft_property_decoded( - collection_id, - *token, - RmrkProperty::PendingNftAccept - ).unwrap_or(true); - - !is_pending - }) - .map(|token| token.0) - .collect(); - - Ok(tokens) + pallet_proxy_rmrk_core::rpc::account_tokens::(account_id, collection_id) } fn nft_children(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::RmrkProperty; - - let collection_id = match RmrkCore::unique_collection_id(collection_id) { - Ok(id) => id, - Err(_) => return Ok(Vec::new()) - }; - let nft_id = TokenId(nft_id); - if !RmrkCore::nft_exists(collection_id, nft_id) { return Ok(Vec::new()); } - - Ok( - pallet_nonfungible::TokenChildren::::iter_prefix((collection_id, nft_id)) - .filter_map(|((child_collection, child_token), _)| { - let is_pending = RmrkCore::get_nft_property_decoded( - child_collection, - child_token, - RmrkProperty::PendingNftAccept - ).ok()?; - - if is_pending { - return None; - } - - let rmrk_child_collection = RmrkCore::rmrk_collection_id( - child_collection - ).ok()?; - - Some(RmrkNftChild { - collection_id: rmrk_child_collection, - nft_id: child_token.0, - }) - }).collect() - ) + pallet_proxy_rmrk_core::rpc::nft_children::(collection_id, nft_id) } fn collection_properties(collection_id: RmrkCollectionId, filter_keys: Option>) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::misc::CollectionType; - - let collection_id = match RmrkCore::unique_collection_id(collection_id) { - Ok(id) => id, - Err(_) => return Ok(Vec::new()) - }; - if RmrkCore::ensure_collection_type(collection_id, CollectionType::Regular).is_err() { - return Ok(Vec::new()); - } - - let properties = RmrkCore::filter_user_properties( - collection_id, - /* token_id = */ None, - filter_keys, - |key, value| RmrkPropertyInfo { - key, - value - } - )?; - - Ok(properties) + pallet_proxy_rmrk_core::rpc::collection_properties::(collection_id, filter_keys) } fn nft_properties(collection_id: RmrkCollectionId, nft_id: RmrkNftId, filter_keys: Option>) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::misc::NftType; - - let collection_id = match RmrkCore::unique_collection_id(collection_id) { - Ok(id) => id, - Err(_) => return Ok(Vec::new()) - }; - let token_id = TokenId(nft_id); - - if RmrkCore::ensure_nft_type(collection_id, token_id, NftType::Regular).is_err() { - return Ok(Vec::new()); - } - - let properties = RmrkCore::filter_user_properties( - collection_id, - Some(token_id), - filter_keys, - |key, value| RmrkPropertyInfo { - key, - value - } - )?; - - Ok(properties) + pallet_proxy_rmrk_core::rpc::nft_properties::(collection_id, nft_id, filter_keys) } fn nft_resources(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::{CollectionType, NftType, ResourceType}}; - use pallet_common::CommonCollectionOperations; - - let collection_id = match RmrkCore::unique_collection_id(collection_id) { - Ok(id) => id, - Err(_) => return Ok(Vec::new()) - }; - if RmrkCore::ensure_collection_type(collection_id, CollectionType::Regular).is_err() { return Ok(Vec::new()); } - - let nft_id = TokenId(nft_id); - if RmrkCore::ensure_nft_type(collection_id, nft_id, NftType::Regular).is_err() { return Ok(Vec::new()); } - - let res_collection_id: Option = RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::ResourceCollection)?; - - let res_collection_id = match res_collection_id { - Some(id) => id, - None => return Ok(Vec::new()) - }; - - let resource_collection = RmrkCore::get_typed_nft_collection(res_collection_id, CollectionType::Resource)?; - - let resources = resource_collection - .collection_tokens() - .iter() - .filter_map(|res_id| Some(RmrkResourceInfo { - id: res_id.0, - pending: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::PendingResourceAccept).ok()?, - pending_removal: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::PendingResourceRemoval).ok()?, - resource: match RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::ResourceType).ok()? { - ResourceType::Basic => RmrkResourceTypes::Basic(RmrkBasicResource { - src: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Src).ok()?, - metadata: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Metadata).ok()?, - license: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::License).ok()?, - thumb: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Thumb).ok()?, - }), - ResourceType::Composable => RmrkResourceTypes::Composable(RmrkComposableResource { - parts: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Parts).ok()?, - base: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Base).ok()?, - src: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Src).ok()?, - metadata: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Metadata).ok()?, - license: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::License).ok()?, - thumb: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Thumb).ok()?, - }), - ResourceType::Slot => RmrkResourceTypes::Slot(RmrkSlotResource { - base: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Base).ok()?, - src: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Src).ok()?, - metadata: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Metadata).ok()?, - slot: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Slot).ok()?, - license: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::License).ok()?, - thumb: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Thumb).ok()?, - }), - }, - })) - .collect(); - - Ok(resources) + pallet_proxy_rmrk_core::rpc::nft_resources::(collection_id, nft_id) } fn nft_resource_priority(collection_id: RmrkCollectionId, nft_id: RmrkNftId, resource_id: RmrkResourceId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::{CollectionType, NftType}}; - - let collection_id = match RmrkCore::unique_collection_id(collection_id) { - Ok(id) => id, - Err(_) => return Ok(None) - }; - if RmrkCore::ensure_collection_type(collection_id, CollectionType::Regular).is_err() { return Ok(None); } - - let nft_id = TokenId(nft_id); - if RmrkCore::ensure_nft_type(collection_id, nft_id, NftType::Regular).is_err() { return Ok(None); } - - let priorities: Vec<_> = RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::ResourcePriorities)?; - Ok( - priorities.into_iter() - .enumerate() - .find(|(_, id)| *id == resource_id) - .map(|(priority, _): (usize, RmrkResourceId)| priority as u32) - ) + pallet_proxy_rmrk_core::rpc::nft_resource_priority::(collection_id, nft_id, resource_id) } fn base(base_id: RmrkBaseId) -> Result>, DispatchError> { - use pallet_proxy_rmrk_core::{ - RmrkProperty, misc::{CollectionType}, - }; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) { - Ok(c) => c, - Err(_) => return Ok(None), - }; - - Ok(Some(RmrkBaseInfo { - issuer: collection.owner.clone(), - base_type: RmrkCore::get_collection_property_decoded(collection_id, RmrkProperty::BaseType)?, - symbol: RmrkCore::rebind(&collection.token_prefix)?, - })) + pallet_proxy_rmrk_equip::rpc::base::(base_id) } fn base_parts(base_id: RmrkBaseId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::{CollectionType, NftType}}; - use pallet_common::CommonCollectionOperations; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) { - Ok(c) => c, - Err(_) => return Ok(Vec::new()), - }; - - let parts = collection.collection_tokens() - .into_iter() - .filter_map(|token_id| { - let nft_type = RmrkCore::get_nft_type(collection_id, token_id).ok()?; - - match nft_type { - NftType::FixedPart => Some(RmrkPartType::FixedPart(RmrkFixedPart { - id: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::ExternalPartId).ok()?, - src: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::Src).ok()?, - z: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::ZIndex).ok()?, - })), - NftType::SlotPart => Some(RmrkPartType::SlotPart(RmrkSlotPart { - id: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::ExternalPartId).ok()?, - src: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::Src).ok()?, - z: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::ZIndex).ok()?, - equippable: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::EquippableList).ok()?, - })), - _ => None - } - }) - .collect(); - - Ok(parts) + pallet_proxy_rmrk_equip::rpc::base_parts::(base_id) } fn theme_names(base_id: RmrkBaseId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::{NftType, CollectionType}}; - use pallet_common::CommonCollectionOperations; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) { - Ok(c) => c, - Err(_) => return Ok(Vec::new()), - }; - - let theme_names = collection.collection_tokens() - .iter() - .filter_map(|token_id| { - let nft_type = RmrkCore::get_nft_type(collection_id, *token_id).ok()?; - - match nft_type { - NftType::Theme => RmrkCore::get_nft_property_decoded(collection_id, *token_id, RmrkProperty::ThemeName).ok(), - _ => None - } - }) - .collect(); - - Ok(theme_names) + pallet_proxy_rmrk_equip::rpc::theme_names::(base_id) } fn theme(base_id: RmrkBaseId, theme_name: RmrkThemeName, filter_keys: Option>) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{ - RmrkProperty, - misc::{CollectionType, NftType} - }; - use pallet_common::CommonCollectionOperations; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) { - Ok(c) => c, - Err(_) => return Ok(None), - }; - - let theme_info = collection.collection_tokens() - .into_iter() - .find_map(|token_id| { - RmrkCore::ensure_nft_type(collection_id, token_id, NftType::Theme).ok()?; - - let name: RmrkString = RmrkCore::get_nft_property_decoded( - collection_id, token_id, RmrkProperty::ThemeName - ).ok()?; - - if name == theme_name { - Some((name, token_id)) - } else { - None - } - }); - - let (name, theme_id) = match theme_info { - Some((name, theme_id)) => (name, theme_id), - None => return Ok(None) - }; - - let properties = RmrkCore::filter_user_properties( - collection_id, - Some(theme_id), - filter_keys, - |key, value| RmrkThemeProperty { - key, - value - } - )?; - - let inherit = RmrkCore::get_nft_property_decoded( - collection_id, - theme_id, - RmrkProperty::ThemeInherit - )?; - - let theme = RmrkTheme { - name, - properties, - inherit, - }; - - Ok(Some(theme)) + pallet_proxy_rmrk_equip::rpc::theme::(base_id, theme_name, filter_keys) } } } --- a/runtime/quartz/Cargo.toml +++ b/runtime/quartz/Cargo.toml @@ -10,7 +10,7 @@ license = 'GPLv3' name = 'quartz-runtime' repository = 'https://github.com/UniqueNetwork/unique-chain' -version = '0.9.22' +version = '0.9.23' [package.metadata.docs.rs] targets = ['x86_64-unknown-linux-gnu'] @@ -132,39 +132,39 @@ default-features = false git = "https://github.com/paritytech/substrate" optional = true -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-try-runtime] default-features = false git = 'https://github.com/paritytech/substrate' optional = true -branch = 'polkadot-v0.9.22' +branch = 'polkadot-v0.9.23' [dependencies.frame-executive] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-support] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system-benchmarking] default-features = false git = "https://github.com/paritytech/substrate" optional = true -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system-rpc-runtime-api] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.hex-literal] optional = true @@ -179,12 +179,12 @@ [dependencies.pallet-aura] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-balances] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" # Contracts specific packages # [dependencies.pallet-contracts] @@ -208,32 +208,32 @@ [dependencies.pallet-randomness-collective-flip] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-sudo] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-timestamp] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-transaction-payment] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-transaction-payment-rpc-runtime-api] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-treasury] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" # [dependencies.pallet-vesting] # default-features = false @@ -243,67 +243,67 @@ [dependencies.sp-arithmetic] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-api] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-block-builder] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-core] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-consensus-aura] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-inherents] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-io] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-offchain] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-runtime] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-session] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-std] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-transaction-pool] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-version] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.smallvec] version = '1.6.1' @@ -314,46 +314,46 @@ [dependencies.parachain-info] default-features = false git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-pallet-aura-ext] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-parachain-system] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-primitives-core] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-xcm] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-dmp-queue] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-xcmp-queue] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-primitives-utility] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-primitives-timestamp] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false ################################################################################ @@ -361,32 +361,32 @@ [dependencies.polkadot-parachain] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.xcm] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.xcm-builder] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.xcm-executor] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.pallet-xcm] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.orml-vesting] git = "https://github.com/uniquenetwork/open-runtime-module-library" -branch = "unique-polkadot-v0.9.22" +branch = "unique-polkadot-v0.9.23" version = "0.4.1-dev" default-features = false @@ -410,7 +410,7 @@ derivative = "2.2.0" pallet-unique = { path = '../../pallets/unique', default-features = false } up-rpc = { path = "../../primitives/rpc", default-features = false } -fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } pallet-inflation = { path = '../../pallets/inflation', default-features = false } up-data-structs = { path = '../../primitives/data-structs', default-features = false } pallet-common = { default-features = false, path = "../../pallets/common" } @@ -422,20 +422,20 @@ pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" } pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false } # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' } -pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.22", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" } +pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.23", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" } pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false } pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false } pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false } pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } ################################################################################ # Build Dependencies [build-dependencies.substrate-wasm-builder] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" --- a/runtime/quartz/src/lib.rs +++ b/runtime/quartz/src/lib.rs @@ -66,6 +66,7 @@ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, DispatchClass, DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight, WeightToFeePolynomial, WeightToFeeCoefficient, WeightToFeeCoefficients, ConstantMultiplier, + WeightToFee, }, }; use pallet_unique_scheduler::DispatchCall; @@ -74,10 +75,8 @@ CollectionStats, RpcCollection, mapping::{EvmTokenAddressMapping, CrossTokenAddressMapping}, TokenChild, RmrkCollectionInfo, RmrkInstanceInfo, RmrkResourceInfo, RmrkPropertyInfo, - RmrkBaseInfo, RmrkPartType, RmrkTheme, RmrkThemeName, RmrkThemeProperty, RmrkCollectionId, - RmrkNftId, RmrkAccountIdOrCollectionNftTuple, RmrkNftChild, RmrkPropertyKey, RmrkResourceTypes, - RmrkBasicResource, RmrkComposableResource, RmrkSlotResource, RmrkResourceId, RmrkBaseId, - RmrkFixedPart, RmrkSlotPart, RmrkString, + RmrkBaseInfo, RmrkPartType, RmrkTheme, RmrkThemeName, RmrkCollectionId, RmrkNftId, + RmrkNftChild, RmrkPropertyKey, RmrkResourceId, RmrkBaseId, }; // use pallet_contracts::weights::WeightInfo; @@ -192,7 +191,7 @@ spec_name: create_runtime_str!(RUNTIME_NAME), impl_name: create_runtime_str!(RUNTIME_NAME), authoring_version: 1, - spec_version: 922080, + spec_version: 923000, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 1, @@ -508,7 +507,6 @@ fn polynomial() -> WeightToFeeCoefficients { smallvec!(WeightToFeeCoefficient { - // Targeting 0.1 Unique per NFT transfer coeff_integer: WEIGHT_TO_FEE_COEFF.into(), coeff_frac: Perbill::zero(), negative: false, @@ -737,7 +735,7 @@ } fn buy_weight(&mut self, weight: Weight, payment: Assets) -> Result { - let amount = WeightToFee::calc(&weight); + let amount = WeightToFee::weight_to_fee(&weight); let u128_amount: u128 = amount.try_into().map_err(|_| XcmError::Overflow)?; // location to this parachain through relay chain @@ -769,7 +767,7 @@ fn refund_weight(&mut self, weight: Weight) -> Option { let weight = weight.min(self.0); - let amount = WeightToFee::calc(&weight); + let amount = WeightToFee::weight_to_fee(&weight); self.0 -= weight; self.1 = self.1.saturating_sub(amount); let amount: u128 = amount.saturated_into(); @@ -806,13 +804,8 @@ type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; - type Trader = UsingOnlySelfCurrencyComponents< - IdentityFee, - RelayLocation, - AccountId, - Balances, - (), - >; + type Trader = + UsingOnlySelfCurrencyComponents, RelayLocation, AccountId, Balances, ()>; type ResponseHandler = (); // Don't handle responses for now. type SubscriptionService = PolkadotXcm; @@ -884,7 +877,7 @@ } parameter_types! { - pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account(); + pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account_truncating(); pub const CollectionCreationPrice: Balance = 2 * UNIQUE; } @@ -923,6 +916,7 @@ } impl pallet_proxy_rmrk_equip::Config for Runtime { + type WeightInfo = pallet_proxy_rmrk_equip::weights::SubstrateWeight; type Event = Event; } @@ -1330,387 +1324,55 @@ RmrkTheme > for Runtime { fn last_collection_idx() -> Result { - Ok(RmrkCore::last_collection_idx()) + pallet_proxy_rmrk_core::rpc::last_collection_idx::() } fn collection_by_id(collection_id: RmrkCollectionId) -> Result>, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::CollectionType}; - use pallet_common::CommonCollectionOperations; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(collection_id, CollectionType::Regular) { - Ok(c) => c, - Err(_) => return Ok(None), - }; - - let nfts_count = collection.total_supply(); - - Ok(Some(RmrkCollectionInfo { - issuer: collection.owner.clone(), - metadata: RmrkCore::get_collection_property_decoded(collection_id, RmrkProperty::Metadata)?, - max: collection.limits.token_limit, - symbol: RmrkCore::rebind(&collection.token_prefix)?, - nfts_count - })) + pallet_proxy_rmrk_core::rpc::collection_by_id::(collection_id) } fn nft_by_id(collection_id: RmrkCollectionId, nft_by_id: RmrkNftId) -> Result>, DispatchError> { - use up_data_structs::mapping::TokenAddressMapping; - use pallet_proxy_rmrk_core::{RmrkProperty, misc::CollectionType}; - use pallet_common::CommonCollectionOperations; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(collection_id, CollectionType::Regular) { - Ok(c) => c, - Err(_) => return Ok(None), - }; - - let nft_id = TokenId(nft_by_id); - if !RmrkCore::nft_exists(collection_id, nft_id) { return Ok(None); } - - let owner = match collection.token_owner(nft_id) { - Some(owner) => match ::CrossTokenAddressMapping::address_to_token(&owner) { - Some((col, tok)) => { - let rmrk_collection = RmrkCore::rmrk_collection_id(col)?; - - RmrkAccountIdOrCollectionNftTuple::CollectionAndNftTuple(rmrk_collection, tok.0) - } - None => RmrkAccountIdOrCollectionNftTuple::AccountId(owner.as_sub().clone()) - }, - None => return Ok(None) - }; - - Ok(Some(RmrkInstanceInfo { - owner: owner, - royalty: RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::RoyaltyInfo)?, - metadata: RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::Metadata)?, - equipped: RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::Equipped)?, - pending: RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::PendingNftAccept)?, - })) + pallet_proxy_rmrk_core::rpc::nft_by_id::(collection_id, nft_by_id) } fn account_tokens(account_id: AccountId, collection_id: RmrkCollectionId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::CollectionType}; - use pallet_common::CommonCollectionOperations; - - let cross_account_id = CrossAccountId::from_sub(account_id); - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(collection_id, CollectionType::Regular) { - Ok(c) => c, - Err(_) => return Ok(Vec::new()), - }; - - let tokens = collection.account_tokens(cross_account_id) - .into_iter() - .filter(|token| { - let is_pending = RmrkCore::get_nft_property_decoded( - collection_id, - *token, - RmrkProperty::PendingNftAccept - ).unwrap_or(true); - - !is_pending - }) - .map(|token| token.0) - .collect(); - - Ok(tokens) + pallet_proxy_rmrk_core::rpc::account_tokens::(account_id, collection_id) } fn nft_children(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::RmrkProperty; - - let collection_id = match RmrkCore::unique_collection_id(collection_id) { - Ok(id) => id, - Err(_) => return Ok(Vec::new()) - }; - let nft_id = TokenId(nft_id); - if !RmrkCore::nft_exists(collection_id, nft_id) { return Ok(Vec::new()); } - - Ok( - pallet_nonfungible::TokenChildren::::iter_prefix((collection_id, nft_id)) - .filter_map(|((child_collection, child_token), _)| { - let is_pending = RmrkCore::get_nft_property_decoded( - child_collection, - child_token, - RmrkProperty::PendingNftAccept - ).ok()?; - - if is_pending { - return None; - } - - let rmrk_child_collection = RmrkCore::rmrk_collection_id( - child_collection - ).ok()?; - - Some(RmrkNftChild { - collection_id: rmrk_child_collection, - nft_id: child_token.0, - }) - }).collect() - ) + pallet_proxy_rmrk_core::rpc::nft_children::(collection_id, nft_id) } fn collection_properties(collection_id: RmrkCollectionId, filter_keys: Option>) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::misc::CollectionType; - - let collection_id = match RmrkCore::unique_collection_id(collection_id) { - Ok(id) => id, - Err(_) => return Ok(Vec::new()) - }; - if RmrkCore::ensure_collection_type(collection_id, CollectionType::Regular).is_err() { - return Ok(Vec::new()); - } - - let properties = RmrkCore::filter_user_properties( - collection_id, - /* token_id = */ None, - filter_keys, - |key, value| RmrkPropertyInfo { - key, - value - } - )?; - - Ok(properties) + pallet_proxy_rmrk_core::rpc::collection_properties::(collection_id, filter_keys) } fn nft_properties(collection_id: RmrkCollectionId, nft_id: RmrkNftId, filter_keys: Option>) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::misc::NftType; - - let collection_id = match RmrkCore::unique_collection_id(collection_id) { - Ok(id) => id, - Err(_) => return Ok(Vec::new()) - }; - let token_id = TokenId(nft_id); - - if RmrkCore::ensure_nft_type(collection_id, token_id, NftType::Regular).is_err() { - return Ok(Vec::new()); - } - - let properties = RmrkCore::filter_user_properties( - collection_id, - Some(token_id), - filter_keys, - |key, value| RmrkPropertyInfo { - key, - value - } - )?; - - Ok(properties) + pallet_proxy_rmrk_core::rpc::nft_properties::(collection_id, nft_id, filter_keys) } fn nft_resources(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::{CollectionType, NftType, ResourceType}}; - use pallet_common::CommonCollectionOperations; - - let collection_id = match RmrkCore::unique_collection_id(collection_id) { - Ok(id) => id, - Err(_) => return Ok(Vec::new()) - }; - if RmrkCore::ensure_collection_type(collection_id, CollectionType::Regular).is_err() { return Ok(Vec::new()); } - - let nft_id = TokenId(nft_id); - if RmrkCore::ensure_nft_type(collection_id, nft_id, NftType::Regular).is_err() { return Ok(Vec::new()); } - - let res_collection_id: Option = RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::ResourceCollection)?; - - let res_collection_id = match res_collection_id { - Some(id) => id, - None => return Ok(Vec::new()) - }; - - let resource_collection = RmrkCore::get_typed_nft_collection(res_collection_id, CollectionType::Resource)?; - - let resources = resource_collection - .collection_tokens() - .iter() - .filter_map(|res_id| Some(RmrkResourceInfo { - id: res_id.0, - pending: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::PendingResourceAccept).ok()?, - pending_removal: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::PendingResourceRemoval).ok()?, - resource: match RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::ResourceType).ok()? { - ResourceType::Basic => RmrkResourceTypes::Basic(RmrkBasicResource { - src: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Src).ok()?, - metadata: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Metadata).ok()?, - license: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::License).ok()?, - thumb: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Thumb).ok()?, - }), - ResourceType::Composable => RmrkResourceTypes::Composable(RmrkComposableResource { - parts: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Parts).ok()?, - base: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Base).ok()?, - src: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Src).ok()?, - metadata: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Metadata).ok()?, - license: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::License).ok()?, - thumb: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Thumb).ok()?, - }), - ResourceType::Slot => RmrkResourceTypes::Slot(RmrkSlotResource { - base: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Base).ok()?, - src: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Src).ok()?, - metadata: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Metadata).ok()?, - slot: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Slot).ok()?, - license: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::License).ok()?, - thumb: RmrkCore::get_nft_property_decoded(res_collection_id, *res_id, RmrkProperty::Thumb).ok()?, - }), - }, - })) - .collect(); - - Ok(resources) + pallet_proxy_rmrk_core::rpc::nft_resources::(collection_id, nft_id) } fn nft_resource_priority(collection_id: RmrkCollectionId, nft_id: RmrkNftId, resource_id: RmrkResourceId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::{CollectionType, NftType}}; - - let collection_id = match RmrkCore::unique_collection_id(collection_id) { - Ok(id) => id, - Err(_) => return Ok(None) - }; - if RmrkCore::ensure_collection_type(collection_id, CollectionType::Regular).is_err() { return Ok(None); } - - let nft_id = TokenId(nft_id); - if RmrkCore::ensure_nft_type(collection_id, nft_id, NftType::Regular).is_err() { return Ok(None); } - - let priorities: Vec<_> = RmrkCore::get_nft_property_decoded(collection_id, nft_id, RmrkProperty::ResourcePriorities)?; - Ok( - priorities.into_iter() - .enumerate() - .find(|(_, id)| *id == resource_id) - .map(|(priority, _): (usize, RmrkResourceId)| priority as u32) - ) + pallet_proxy_rmrk_core::rpc::nft_resource_priority::(collection_id, nft_id, resource_id) } fn base(base_id: RmrkBaseId) -> Result>, DispatchError> { - use pallet_proxy_rmrk_core::{ - RmrkProperty, misc::{CollectionType}, - }; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) { - Ok(c) => c, - Err(_) => return Ok(None), - }; - - Ok(Some(RmrkBaseInfo { - issuer: collection.owner.clone(), - base_type: RmrkCore::get_collection_property_decoded(collection_id, RmrkProperty::BaseType)?, - symbol: RmrkCore::rebind(&collection.token_prefix)?, - })) + pallet_proxy_rmrk_equip::rpc::base::(base_id) } fn base_parts(base_id: RmrkBaseId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::{CollectionType, NftType}}; - use pallet_common::CommonCollectionOperations; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) { - Ok(c) => c, - Err(_) => return Ok(Vec::new()), - }; - - let parts = collection.collection_tokens() - .into_iter() - .filter_map(|token_id| { - let nft_type = RmrkCore::get_nft_type(collection_id, token_id).ok()?; - - match nft_type { - NftType::FixedPart => Some(RmrkPartType::FixedPart(RmrkFixedPart { - id: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::ExternalPartId).ok()?, - src: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::Src).ok()?, - z: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::ZIndex).ok()?, - })), - NftType::SlotPart => Some(RmrkPartType::SlotPart(RmrkSlotPart { - id: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::ExternalPartId).ok()?, - src: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::Src).ok()?, - z: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::ZIndex).ok()?, - equippable: RmrkCore::get_nft_property_decoded(collection_id, token_id, RmrkProperty::EquippableList).ok()?, - })), - _ => None - } - }) - .collect(); - - Ok(parts) + pallet_proxy_rmrk_equip::rpc::base_parts::(base_id) } fn theme_names(base_id: RmrkBaseId) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{RmrkProperty, misc::{NftType, CollectionType}}; - use pallet_common::CommonCollectionOperations; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) { - Ok(c) => c, - Err(_) => return Ok(Vec::new()), - }; - - let theme_names = collection.collection_tokens() - .iter() - .filter_map(|token_id| { - let nft_type = RmrkCore::get_nft_type(collection_id, *token_id).ok()?; - - match nft_type { - NftType::Theme => RmrkCore::get_nft_property_decoded(collection_id, *token_id, RmrkProperty::ThemeName).ok(), - _ => None - } - }) - .collect(); - - Ok(theme_names) + pallet_proxy_rmrk_equip::rpc::theme_names::(base_id) } fn theme(base_id: RmrkBaseId, theme_name: RmrkThemeName, filter_keys: Option>) -> Result, DispatchError> { - use pallet_proxy_rmrk_core::{ - RmrkProperty, - misc::{CollectionType, NftType} - }; - use pallet_common::CommonCollectionOperations; - - let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) { - Ok(c) => c, - Err(_) => return Ok(None), - }; - - let theme_info = collection.collection_tokens() - .into_iter() - .find_map(|token_id| { - RmrkCore::ensure_nft_type(collection_id, token_id, NftType::Theme).ok()?; - - let name: RmrkString = RmrkCore::get_nft_property_decoded( - collection_id, token_id, RmrkProperty::ThemeName - ).ok()?; - - if name == theme_name { - Some((name, token_id)) - } else { - None - } - }); - - let (name, theme_id) = match theme_info { - Some((name, theme_id)) => (name, theme_id), - None => return Ok(None) - }; - - let properties = RmrkCore::filter_user_properties( - collection_id, - Some(theme_id), - filter_keys, - |key, value| RmrkThemeProperty { - key, - value - } - )?; - - let inherit = RmrkCore::get_nft_property_decoded( - collection_id, - theme_id, - RmrkProperty::ThemeInherit - )?; - - let theme = RmrkTheme { - name, - properties, - inherit, - }; - - Ok(Some(theme)) + pallet_proxy_rmrk_equip::rpc::theme::(base_id, theme_name, filter_keys) } } } --- a/runtime/tests/Cargo.toml +++ b/runtime/tests/Cargo.toml @@ -7,22 +7,22 @@ unique-runtime-common = { path = '../common' } up-data-structs = { default-features = false, path = '../../primitives/data-structs' } -sp-core = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -sp-std = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -sp-io = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } +sp-core = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +sp-std = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +sp-io = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } -fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } -frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -frame-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } +frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +frame-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } -pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.22' } +pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.23' } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } pallet-common = { path = '../../pallets/common' } pallet-structure = { path = '../../pallets/structure' } @@ -33,5 +33,7 @@ pallet-evm-coder-substrate = { path = '../../pallets/evm-coder-substrate' } -parity-scale-codec = "*" +parity-scale-codec = { version = "3.1.2", default-features = false, features = [ + "derive", +] } scale-info = "*" --- a/runtime/unique/Cargo.toml +++ b/runtime/unique/Cargo.toml @@ -10,13 +10,13 @@ license = 'GPLv3' name = 'unique-runtime' repository = 'https://github.com/UniqueNetwork/unique-chain' -version = '0.9.22' +version = '0.9.23' [package.metadata.docs.rs] targets = ['x86_64-unknown-linux-gnu'] [features] -default = ['std'] +default = ['std', 'unique-runtime'] runtime-benchmarks = [ 'hex-literal', 'frame-benchmarking', @@ -119,6 +119,7 @@ "orml-vesting/std", ] limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing'] +unique-runtime = [] ################################################################################ # Substrate Dependencies @@ -133,39 +134,39 @@ default-features = false git = "https://github.com/paritytech/substrate" optional = true -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-try-runtime] default-features = false git = 'https://github.com/paritytech/substrate' optional = true -branch = 'polkadot-v0.9.22' +branch = 'polkadot-v0.9.23' [dependencies.frame-executive] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-support] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system-benchmarking] default-features = false git = "https://github.com/paritytech/substrate" optional = true -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.frame-system-rpc-runtime-api] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.hex-literal] optional = true @@ -180,12 +181,12 @@ [dependencies.pallet-aura] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-balances] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" # Contracts specific packages # [dependencies.pallet-contracts] @@ -209,32 +210,32 @@ [dependencies.pallet-randomness-collective-flip] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-sudo] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-timestamp] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-transaction-payment] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-transaction-payment-rpc-runtime-api] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.pallet-treasury] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" # [dependencies.pallet-vesting] # default-features = false @@ -244,67 +245,67 @@ [dependencies.sp-arithmetic] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-api] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-block-builder] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-core] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-consensus-aura] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-inherents] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-io] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-offchain] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-runtime] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-session] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-std] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-transaction-pool] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.sp-version] default-features = false git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.smallvec] version = '1.6.1' @@ -315,46 +316,46 @@ [dependencies.parachain-info] default-features = false git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" [dependencies.cumulus-pallet-aura-ext] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-parachain-system] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-primitives-core] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-xcm] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-dmp-queue] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-pallet-xcmp-queue] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-primitives-utility] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false [dependencies.cumulus-primitives-timestamp] git = "https://github.com/paritytech/cumulus" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" default-features = false ################################################################################ @@ -362,32 +363,32 @@ [dependencies.polkadot-parachain] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.xcm] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.xcm-builder] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.xcm-executor] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.pallet-xcm] git = "https://github.com/paritytech/polkadot" -branch = "release-v0.9.22" +branch = "release-v0.9.23" default-features = false [dependencies.orml-vesting] git = "https://github.com/uniquenetwork/open-runtime-module-library" -branch = "unique-polkadot-v0.9.22" +branch = "unique-polkadot-v0.9.23" version = "0.4.1-dev" default-features = false @@ -415,21 +416,21 @@ pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" } pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false } # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' } -pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.22", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" } +pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.23", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" } pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false } pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false } pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false } pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } -fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } +fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.23" } ################################################################################ # Build Dependencies [build-dependencies.substrate-wasm-builder] git = "https://github.com/paritytech/substrate" -branch = "polkadot-v0.9.22" +branch = "polkadot-v0.9.23" --- a/runtime/unique/src/lib.rs +++ b/runtime/unique/src/lib.rs @@ -66,6 +66,7 @@ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, DispatchClass, DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight, WeightToFeePolynomial, WeightToFeeCoefficient, WeightToFeeCoefficients, ConstantMultiplier, + WeightToFee, }, }; use pallet_unique_scheduler::DispatchCall; @@ -74,9 +75,8 @@ CollectionStats, RpcCollection, mapping::{EvmTokenAddressMapping, CrossTokenAddressMapping}, TokenChild, RmrkCollectionInfo, RmrkInstanceInfo, RmrkResourceInfo, RmrkPropertyInfo, - RmrkBaseInfo, RmrkPartType, RmrkTheme, RmrkThemeName, RmrkCollectionId, - RmrkNftId, RmrkNftChild, RmrkPropertyKey, - RmrkResourceId, RmrkBaseId, + RmrkBaseInfo, RmrkPartType, RmrkTheme, RmrkThemeName, RmrkCollectionId, RmrkNftId, + RmrkNftChild, RmrkPropertyKey, RmrkResourceId, RmrkBaseId, }; // use pallet_contracts::weights::WeightInfo; @@ -190,7 +190,7 @@ spec_name: create_runtime_str!(RUNTIME_NAME), impl_name: create_runtime_str!(RUNTIME_NAME), authoring_version: 1, - spec_version: 922080, + spec_version: 923000, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 1, @@ -506,7 +506,6 @@ fn polynomial() -> WeightToFeeCoefficients { smallvec!(WeightToFeeCoefficient { - // Targeting 0.1 Unique per NFT transfer coeff_integer: WEIGHT_TO_FEE_COEFF.into(), coeff_frac: Perbill::zero(), negative: false, @@ -735,7 +734,7 @@ } fn buy_weight(&mut self, weight: Weight, payment: Assets) -> Result { - let amount = WeightToFee::calc(&weight); + let amount = WeightToFee::weight_to_fee(&weight); let u128_amount: u128 = amount.try_into().map_err(|_| XcmError::Overflow)?; // location to this parachain through relay chain @@ -767,7 +766,7 @@ fn refund_weight(&mut self, weight: Weight) -> Option { let weight = weight.min(self.0); - let amount = WeightToFee::calc(&weight); + let amount = WeightToFee::weight_to_fee(&weight); self.0 -= weight; self.1 = self.1.saturating_sub(amount); let amount: u128 = amount.saturated_into(); @@ -804,13 +803,8 @@ type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; - type Trader = UsingOnlySelfCurrencyComponents< - IdentityFee, - RelayLocation, - AccountId, - Balances, - (), - >; + type Trader = + UsingOnlySelfCurrencyComponents, RelayLocation, AccountId, Balances, ()>; type ResponseHandler = (); // Don't handle responses for now. type SubscriptionService = PolkadotXcm; @@ -882,7 +876,7 @@ } parameter_types! { - pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account(); + pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account_truncating(); pub const CollectionCreationPrice: Balance = 2 * UNIQUE; } --- a/tests/README.md +++ b/tests/README.md @@ -5,7 +5,7 @@ 1. Checkout polkadot in sibling folder with this project ```bash git clone https://github.com/paritytech/polkadot.git && cd polkadot -git checkout release-v0.9.22 +git checkout release-v0.9.23 ``` 2. Build with nightly-2021-11-11 --- a/tests/src/createItem.test.ts +++ b/tests/src/createItem.test.ts @@ -158,7 +158,7 @@ const newCollectionID = await createCollectionWithPropsExpectSuccess(); - createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', prps); + await createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', prps); }); }); @@ -166,7 +166,7 @@ await usingApi(async () => { const newCollectionID = await createCollectionWithPropsExpectSuccess(); - createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', [{key: 'k', value: 'vvvvvv'.repeat(5000)}, {key: 'k2', value: 'vvv'.repeat(5000)}]); + await createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', [{key: 'k', value: 'vvvvvv'.repeat(5000)}, {key: 'k2', value: 'vvv'.repeat(5000)}]); }); }); }); --- a/tests/src/nesting/unnest.test.ts +++ b/tests/src/nesting/unnest.test.ts @@ -153,6 +153,6 @@ // Create a nested token ouroboros const nestedToken = await createItemExpectSuccess(alice, collection, 'NFT', {Ethereum: tokenIdToAddress(collection, targetToken)}); - expect(transferExpectSuccess(collection, targetToken, alice, {Ethereum: tokenIdToAddress(collection, nestedToken)})).to.be.rejectedWith(/^structure\.OuroborosDetected$/); + await expect(transferExpectSuccess(collection, targetToken, alice, {Ethereum: tokenIdToAddress(collection, nestedToken)})).to.be.rejectedWith(/^structure\.OuroborosDetected$/); }); }); --- a/tests/update_apps.sh +++ b/tests/update_apps.sh @@ -1,5 +1,7 @@ #!/usr/bin/env sh +set -eux + ./update_types.sh if [ ! -d polkadot-apps ]; then @@ -8,4 +10,4 @@ pushd polkadot-apps yarn link ../unique-types-js -popd \ No newline at end of file +popd --- a/tests/update_apps_start.sh +++ b/tests/update_apps_start.sh @@ -1,7 +1,9 @@ #!/usr/bin/env sh +set -eux + ./update_apps.sh pushd polkadot-apps yarn start -popd \ No newline at end of file +popd --- a/tests/update_types.sh +++ b/tests/update_types.sh @@ -1,5 +1,7 @@ #!/usr/bin/env sh +set -eux + yarn polkadot-types if [ ! -d unique-types-js ]; then -- gitstuff