difftreelog
Merge pull request #401 from UniqueNetwork/release-v923000
in: master
Release v923000
62 files changed
.envdiffbeforeafterboth--- 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=***
Cargo.lockdiffbeforeafterboth188188189[[package]]189[[package]]190name = "async-global-executor"190name = "async-global-executor"191version = "2.1.0"191version = "2.2.0"192source = "registry+https://github.com/rust-lang/crates.io-index"192source = "registry+https://github.com/rust-lang/crates.io-index"193checksum = "fd8b508d585e01084059b60f06ade4cb7415cd2e4084b71dd1cb44e7d3fb9880"193checksum = "5262ed948da60dd8956c6c5aca4d4163593dddb7b32d73267c93dab7b2e98940"194dependencies = [194dependencies = [195 "async-channel",195 "async-channel",196 "async-executor",196 "async-executor",197 "async-io",197 "async-io",198 "async-lock",198 "async-lock",199 "blocking",199 "blocking",200 "futures-lite",200 "futures-lite",201 "num_cpus",201 "once_cell",202 "once_cell",202]203]203204429[[package]]430[[package]]430name = "beefy-gadget"431name = "beefy-gadget"431version = "4.0.0-dev"432version = "4.0.0-dev"432source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"433source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"433dependencies = [434dependencies = [434 "beefy-primitives",435 "beefy-primitives",435 "fnv",436 "fnv",463[[package]]464[[package]]464name = "beefy-gadget-rpc"465name = "beefy-gadget-rpc"465version = "4.0.0-dev"466version = "4.0.0-dev"466source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"467source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"467dependencies = [468dependencies = [468 "beefy-gadget",469 "beefy-gadget",469 "beefy-primitives",470 "beefy-primitives",483[[package]]484[[package]]484name = "beefy-merkle-tree"485name = "beefy-merkle-tree"485version = "4.0.0-dev"486version = "4.0.0-dev"486source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"487source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"487488488[[package]]489[[package]]489name = "beefy-primitives"490name = "beefy-primitives"490version = "4.0.0-dev"491version = "4.0.0-dev"491source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"492source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"492dependencies = [493dependencies = [493 "parity-scale-codec 3.1.5",494 "parity-scale-codec 3.1.5",494 "scale-info",495 "scale-info",582 "constant_time_eq",583 "constant_time_eq",583]584]584585[[package]]586name = "blake2b_simd"587version = "0.5.11"588source = "registry+https://github.com/rust-lang/crates.io-index"589checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587"590dependencies = [591 "arrayref",592 "arrayvec 0.5.2",593 "constant_time_eq",594]595585596[[package]]586[[package]]597name = "blake2b_simd"587name = "blake2b_simd"701[[package]]691[[package]]702name = "bp-header-chain"692name = "bp-header-chain"703version = "0.1.0"693version = "0.1.0"704source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"694source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"705dependencies = [695dependencies = [706 "bp-runtime",696 "bp-runtime",707 "finality-grandpa",697 "finality-grandpa",718[[package]]708[[package]]719name = "bp-message-dispatch"709name = "bp-message-dispatch"720version = "0.1.0"710version = "0.1.0"721source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"711source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"722dependencies = [712dependencies = [723 "bp-runtime",713 "bp-runtime",724 "frame-support",714 "frame-support",730[[package]]720[[package]]731name = "bp-messages"721name = "bp-messages"732version = "0.1.0"722version = "0.1.0"733source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"723source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"734dependencies = [724dependencies = [735 "bitvec 1.0.0",725 "bitvec 1.0.0",736 "bp-runtime",726 "bp-runtime",747[[package]]737[[package]]748name = "bp-polkadot-core"738name = "bp-polkadot-core"749version = "0.1.0"739version = "0.1.0"750source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"740source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"751dependencies = [741dependencies = [752 "bp-messages",742 "bp-messages",753 "bp-runtime",743 "bp-runtime",765[[package]]755[[package]]766name = "bp-rococo"756name = "bp-rococo"767version = "0.1.0"757version = "0.1.0"768source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"758source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"769dependencies = [759dependencies = [770 "bp-messages",760 "bp-messages",771 "bp-polkadot-core",761 "bp-polkadot-core",782[[package]]772[[package]]783name = "bp-runtime"773name = "bp-runtime"784version = "0.1.0"774version = "0.1.0"785source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"775source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"786dependencies = [776dependencies = [787 "frame-support",777 "frame-support",788 "hash-db",778 "hash-db",800[[package]]790[[package]]801name = "bp-test-utils"791name = "bp-test-utils"802version = "0.1.0"792version = "0.1.0"803source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"793source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"804dependencies = [794dependencies = [805 "bp-header-chain",795 "bp-header-chain",806 "ed25519-dalek",796 "ed25519-dalek",815[[package]]805[[package]]816name = "bp-wococo"806name = "bp-wococo"817version = "0.1.0"807version = "0.1.0"818source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"808source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"819dependencies = [809dependencies = [820 "bp-messages",810 "bp-messages",821 "bp-polkadot-core",811 "bp-polkadot-core",830[[package]]820[[package]]831name = "bridge-runtime-common"821name = "bridge-runtime-common"832version = "0.1.0"822version = "0.1.0"833source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"823source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"834dependencies = [824dependencies = [835 "bp-message-dispatch",825 "bp-message-dispatch",836 "bp-messages",826 "bp-messages",864source = "registry+https://github.com/rust-lang/crates.io-index"854source = "registry+https://github.com/rust-lang/crates.io-index"865checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"855checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"866dependencies = [856dependencies = [867 "lazy_static",868 "memchr",857 "memchr",869 "regex-automata",870 "serde",871]858]872859873[[package]]860[[package]]1130 "wasm-bindgen",1117 "wasm-bindgen",1131]1118]11191120[[package]]1121name = "comfy-table"1122version = "5.0.1"1123source = "registry+https://github.com/rust-lang/crates.io-index"1124checksum = "b103d85ca6e209388771bfb7aa6b68a7aeec4afbf6f0a0264bfbf50360e5212e"1125dependencies = [1126 "strum 0.23.0",1127 "strum_macros 0.23.1",1128 "unicode-width",1129]113211301133[[package]]1131[[package]]1134name = "concurrent-queue"1132name = "concurrent-queue"1401 "subtle",1399 "subtle",1402]1400]14031404[[package]]1405name = "csv"1406version = "1.1.6"1407source = "registry+https://github.com/rust-lang/crates.io-index"1408checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"1409dependencies = [1410 "bstr",1411 "csv-core",1412 "itoa 0.4.8",1413 "ryu",1414 "serde",1415]14161417[[package]]1418name = "csv-core"1419version = "0.1.10"1420source = "registry+https://github.com/rust-lang/crates.io-index"1421checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"1422dependencies = [1423 "memchr",1424]14251426[[package]]1427name = "ct-logs"1428version = "0.8.0"1429source = "registry+https://github.com/rust-lang/crates.io-index"1430checksum = "c1a816186fa68d9e426e3cb4ae4dff1fcd8e4a2c34b781bf7a822574a0d0aac8"1431dependencies = [1432 "sct 0.6.1",1433]143414011435[[package]]1402[[package]]1436name = "ctor"1403name = "ctor"1465[[package]]1432[[package]]1466name = "cumulus-client-cli"1433name = "cumulus-client-cli"1467version = "0.1.0"1434version = "0.1.0"1468source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1435source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1469dependencies = [1436dependencies = [1470 "clap",1437 "clap",1471 "sc-cli",1438 "sc-cli",1476[[package]]1443[[package]]1477name = "cumulus-client-collator"1444name = "cumulus-client-collator"1478version = "0.1.0"1445version = "0.1.0"1479source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1446source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1480dependencies = [1447dependencies = [1481 "cumulus-client-consensus-common",1448 "cumulus-client-consensus-common",1482 "cumulus-client-network",1449 "cumulus-client-network",1500[[package]]1467[[package]]1501name = "cumulus-client-consensus-aura"1468name = "cumulus-client-consensus-aura"1502version = "0.1.0"1469version = "0.1.0"1503source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1470source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1504dependencies = [1471dependencies = [1505 "async-trait",1472 "async-trait",1506 "cumulus-client-consensus-common",1473 "cumulus-client-consensus-common",1529[[package]]1496[[package]]1530name = "cumulus-client-consensus-common"1497name = "cumulus-client-consensus-common"1531version = "0.1.0"1498version = "0.1.0"1532source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1499source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1533dependencies = [1500dependencies = [1534 "async-trait",1501 "async-trait",1535 "cumulus-relay-chain-interface",1502 "cumulus-relay-chain-interface",1550[[package]]1517[[package]]1551name = "cumulus-client-network"1518name = "cumulus-client-network"1552version = "0.1.0"1519version = "0.1.0"1553source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1520source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1554dependencies = [1521dependencies = [1555 "async-trait",1522 "async-trait",1556 "cumulus-relay-chain-interface",1523 "cumulus-relay-chain-interface",1575[[package]]1542[[package]]1576name = "cumulus-client-pov-recovery"1543name = "cumulus-client-pov-recovery"1577version = "0.1.0"1544version = "0.1.0"1578source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1545source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1579dependencies = [1546dependencies = [1580 "cumulus-primitives-core",1547 "cumulus-primitives-core",1581 "cumulus-relay-chain-interface",1548 "cumulus-relay-chain-interface",1599[[package]]1566[[package]]1600name = "cumulus-client-service"1567name = "cumulus-client-service"1601version = "0.1.0"1568version = "0.1.0"1602source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1569source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1603dependencies = [1570dependencies = [1604 "cumulus-client-cli",1571 "cumulus-client-cli",1605 "cumulus-client-collator",1572 "cumulus-client-collator",1629[[package]]1596[[package]]1630name = "cumulus-pallet-aura-ext"1597name = "cumulus-pallet-aura-ext"1631version = "0.1.0"1598version = "0.1.0"1632source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1599source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1633dependencies = [1600dependencies = [1634 "frame-executive",1601 "frame-executive",1635 "frame-support",1602 "frame-support",1647[[package]]1614[[package]]1648name = "cumulus-pallet-dmp-queue"1615name = "cumulus-pallet-dmp-queue"1649version = "0.1.0"1616version = "0.1.0"1650source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1617source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1651dependencies = [1618dependencies = [1652 "cumulus-primitives-core",1619 "cumulus-primitives-core",1653 "frame-support",1620 "frame-support",1665[[package]]1632[[package]]1666name = "cumulus-pallet-parachain-system"1633name = "cumulus-pallet-parachain-system"1667version = "0.1.0"1634version = "0.1.0"1668source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1635source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1669dependencies = [1636dependencies = [1670 "cumulus-pallet-parachain-system-proc-macro",1637 "cumulus-pallet-parachain-system-proc-macro",1671 "cumulus-primitives-core",1638 "cumulus-primitives-core",1695[[package]]1662[[package]]1696name = "cumulus-pallet-parachain-system-proc-macro"1663name = "cumulus-pallet-parachain-system-proc-macro"1697version = "0.1.0"1664version = "0.1.0"1698source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1665source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1699dependencies = [1666dependencies = [1700 "proc-macro-crate",1667 "proc-macro-crate",1701 "proc-macro2",1668 "proc-macro2",1706[[package]]1673[[package]]1707name = "cumulus-pallet-xcm"1674name = "cumulus-pallet-xcm"1708version = "0.1.0"1675version = "0.1.0"1709source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1676source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1710dependencies = [1677dependencies = [1711 "cumulus-primitives-core",1678 "cumulus-primitives-core",1712 "frame-support",1679 "frame-support",1723[[package]]1690[[package]]1724name = "cumulus-pallet-xcmp-queue"1691name = "cumulus-pallet-xcmp-queue"1725version = "0.1.0"1692version = "0.1.0"1726source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1693source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1727dependencies = [1694dependencies = [1728 "cumulus-primitives-core",1695 "cumulus-primitives-core",1729 "frame-support",1696 "frame-support",1741[[package]]1708[[package]]1742name = "cumulus-primitives-core"1709name = "cumulus-primitives-core"1743version = "0.1.0"1710version = "0.1.0"1744source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1711source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1745dependencies = [1712dependencies = [1746 "frame-support",1713 "frame-support",1747 "parity-scale-codec 3.1.5",1714 "parity-scale-codec 3.1.5",1757[[package]]1724[[package]]1758name = "cumulus-primitives-parachain-inherent"1725name = "cumulus-primitives-parachain-inherent"1759version = "0.1.0"1726version = "0.1.0"1760source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1727source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1761dependencies = [1728dependencies = [1762 "async-trait",1729 "async-trait",1763 "cumulus-primitives-core",1730 "cumulus-primitives-core",1780[[package]]1747[[package]]1781name = "cumulus-primitives-timestamp"1748name = "cumulus-primitives-timestamp"1782version = "0.1.0"1749version = "0.1.0"1783source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1750source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1784dependencies = [1751dependencies = [1785 "cumulus-primitives-core",1752 "cumulus-primitives-core",1786 "futures 0.3.21",1753 "futures 0.3.21",1793[[package]]1760[[package]]1794name = "cumulus-primitives-utility"1761name = "cumulus-primitives-utility"1795version = "0.1.0"1762version = "0.1.0"1796source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1763source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1797dependencies = [1764dependencies = [1798 "cumulus-primitives-core",1765 "cumulus-primitives-core",1799 "frame-support",1766 "frame-support",1810[[package]]1777[[package]]1811name = "cumulus-relay-chain-inprocess-interface"1778name = "cumulus-relay-chain-inprocess-interface"1812version = "0.1.0"1779version = "0.1.0"1813source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1780source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1814dependencies = [1781dependencies = [1815 "async-trait",1782 "async-trait",1816 "cumulus-primitives-core",1783 "cumulus-primitives-core",1817 "cumulus-relay-chain-interface",1784 "cumulus-relay-chain-interface",1818 "futures 0.3.21",1785 "futures 0.3.21",1819 "futures-timer",1786 "futures-timer",1820 "parking_lot 0.12.1",1787 "parking_lot 0.12.1",1788 "polkadot-cli",1821 "polkadot-client",1789 "polkadot-client",1822 "polkadot-service",1790 "polkadot-service",1791 "sc-cli",1823 "sc-client-api",1792 "sc-client-api",1824 "sc-consensus-babe",1793 "sc-consensus-babe",1825 "sc-network",1794 "sc-network",1839[[package]]1808[[package]]1840name = "cumulus-relay-chain-interface"1809name = "cumulus-relay-chain-interface"1841version = "0.1.0"1810version = "0.1.0"1842source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1811source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1843dependencies = [1812dependencies = [1844 "async-trait",1813 "async-trait",1845 "cumulus-primitives-core",1814 "cumulus-primitives-core",1863[[package]]1832[[package]]1864name = "cumulus-relay-chain-rpc-interface"1833name = "cumulus-relay-chain-rpc-interface"1865version = "0.1.0"1834version = "0.1.0"1866source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1835source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1867dependencies = [1836dependencies = [1868 "async-trait",1837 "async-trait",1869 "backoff",1838 "backoff",1889[[package]]1858[[package]]1890name = "cumulus-test-relay-sproof-builder"1859name = "cumulus-test-relay-sproof-builder"1891version = "0.1.0"1860version = "0.1.0"1892source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"1861source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"1893dependencies = [1862dependencies = [1894 "cumulus-primitives-core",1863 "cumulus-primitives-core",1895 "parity-scale-codec 3.1.5",1864 "parity-scale-codec 3.1.5",2080 "dirs-sys-next",2049 "dirs-sys-next",2081]2050]20822083[[package]]2084name = "dirs"2085version = "1.0.5"2086source = "registry+https://github.com/rust-lang/crates.io-index"2087checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"2088dependencies = [2089 "libc",2090 "redox_users 0.3.5",2091 "winapi",2092]209320512094[[package]]2052[[package]]2095name = "dirs-sys"2053name = "dirs-sys"2098checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"2056checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"2099dependencies = [2057dependencies = [2100 "libc",2058 "libc",2101 "redox_users 0.4.3",2059 "redox_users",2102 "winapi",2060 "winapi",2103]2061]210420622109checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"2067checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"2110dependencies = [2068dependencies = [2111 "libc",2069 "libc",2112 "redox_users 0.4.3",2070 "redox_users",2113 "winapi",2071 "winapi",2114]2072]211520732221 "zeroize",2179 "zeroize",2222]2180]22232224[[package]]2225name = "encode_unicode"2226version = "0.3.6"2227source = "registry+https://github.com/rust-lang/crates.io-index"2228checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"222921812230[[package]]2182[[package]]2231name = "enum-as-inner"2183name = "enum-as-inner"2369[[package]]2321[[package]]2370name = "evm"2322name = "evm"2371version = "0.35.0"2323version = "0.35.0"2372source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.22#e9252ed42dc26fc85b6703b1ba50660a08209e55"2324source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.23#e9252ed42dc26fc85b6703b1ba50660a08209e55"2373dependencies = [2325dependencies = [2374 "auto_impl",2326 "auto_impl",2375 "environmental",2327 "environmental",2415[[package]]2367[[package]]2416name = "evm-core"2368name = "evm-core"2417version = "0.35.0"2369version = "0.35.0"2418source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.22#e9252ed42dc26fc85b6703b1ba50660a08209e55"2370source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.23#e9252ed42dc26fc85b6703b1ba50660a08209e55"2419dependencies = [2371dependencies = [2420 "parity-scale-codec 3.1.5",2372 "parity-scale-codec 3.1.5",2421 "primitive-types",2373 "primitive-types",2426[[package]]2378[[package]]2427name = "evm-gasometer"2379name = "evm-gasometer"2428version = "0.35.0"2380version = "0.35.0"2429source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.22#e9252ed42dc26fc85b6703b1ba50660a08209e55"2381source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.23#e9252ed42dc26fc85b6703b1ba50660a08209e55"2430dependencies = [2382dependencies = [2431 "environmental",2383 "environmental",2432 "evm-core",2384 "evm-core",2437[[package]]2389[[package]]2438name = "evm-runtime"2390name = "evm-runtime"2439version = "0.35.0"2391version = "0.35.0"2440source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.22#e9252ed42dc26fc85b6703b1ba50660a08209e55"2392source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.23#e9252ed42dc26fc85b6703b1ba50660a08209e55"2441dependencies = [2393dependencies = [2442 "auto_impl",2394 "auto_impl",2443 "environmental",2395 "environmental",2529[[package]]2481[[package]]2530name = "fc-consensus"2482name = "fc-consensus"2531version = "2.0.0-dev"2483version = "2.0.0-dev"2532source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"2484source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"2533dependencies = [2485dependencies = [2534 "async-trait",2486 "async-trait",2535 "fc-db",2487 "fc-db",2548[[package]]2500[[package]]2549name = "fc-db"2501name = "fc-db"2550version = "2.0.0-dev"2502version = "2.0.0-dev"2551source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"2503source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"2552dependencies = [2504dependencies = [2553 "fp-storage",2505 "fp-storage",2554 "kvdb-rocksdb",2506 "kvdb-rocksdb",2564[[package]]2516[[package]]2565name = "fc-mapping-sync"2517name = "fc-mapping-sync"2566version = "2.0.0-dev"2518version = "2.0.0-dev"2567source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"2519source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"2568dependencies = [2520dependencies = [2569 "fc-db",2521 "fc-db",2570 "fp-consensus",2522 "fp-consensus",2581[[package]]2533[[package]]2582name = "fc-rpc"2534name = "fc-rpc"2583version = "2.0.0-dev"2535version = "2.0.0-dev"2584source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"2536source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"2585dependencies = [2537dependencies = [2586 "ethereum",2538 "ethereum",2587 "ethereum-types",2539 "ethereum-types",2621[[package]]2573[[package]]2622name = "fc-rpc-core"2574name = "fc-rpc-core"2623version = "1.1.0-dev"2575version = "1.1.0-dev"2624source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"2576source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"2625dependencies = [2577dependencies = [2626 "ethereum",2578 "ethereum",2627 "ethereum-types",2579 "ethereum-types",2731[[package]]2683[[package]]2732name = "fork-tree"2684name = "fork-tree"2733version = "3.0.0"2685version = "3.0.0"2734source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2686source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"2735dependencies = [2687dependencies = [2736 "parity-scale-codec 3.1.5",2688 "parity-scale-codec 3.1.5",2737]2689]2749[[package]]2701[[package]]2750name = "fp-consensus"2702name = "fp-consensus"2751version = "2.0.0-dev"2703version = "2.0.0-dev"2752source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"2704source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"2753dependencies = [2705dependencies = [2754 "ethereum",2706 "ethereum",2755 "parity-scale-codec 3.1.5",2707 "parity-scale-codec 3.1.5",2761[[package]]2713[[package]]2762name = "fp-evm"2714name = "fp-evm"2763version = "3.0.0-dev"2715version = "3.0.0-dev"2764source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"2716source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"2765dependencies = [2717dependencies = [2766 "evm",2718 "evm",2767 "frame-support",2719 "frame-support",2775[[package]]2727[[package]]2776name = "fp-evm-mapping"2728name = "fp-evm-mapping"2777version = "0.1.0"2729version = "0.1.0"2778source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"2730source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"2779dependencies = [2731dependencies = [2780 "frame-support",2732 "frame-support",2781 "sp-core",2733 "sp-core",2784[[package]]2736[[package]]2785name = "fp-rpc"2737name = "fp-rpc"2786version = "3.0.0-dev"2738version = "3.0.0-dev"2787source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"2739source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"2788dependencies = [2740dependencies = [2789 "ethereum",2741 "ethereum",2790 "ethereum-types",2742 "ethereum-types",2801[[package]]2753[[package]]2802name = "fp-self-contained"2754name = "fp-self-contained"2803version = "1.0.0-dev"2755version = "1.0.0-dev"2804source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"2756source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"2805dependencies = [2757dependencies = [2806 "ethereum",2758 "ethereum",2807 "frame-support",2759 "frame-support",2817[[package]]2769[[package]]2818name = "fp-storage"2770name = "fp-storage"2819version = "2.0.0"2771version = "2.0.0"2820source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"2772source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"2821dependencies = [2773dependencies = [2822 "parity-scale-codec 3.1.5",2774 "parity-scale-codec 3.1.5",2823]2775]282427762825[[package]]2777[[package]]2826name = "frame-benchmarking"2778name = "frame-benchmarking"2827version = "4.0.0-dev"2779version = "4.0.0-dev"2828source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2780source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"2829dependencies = [2781dependencies = [2830 "frame-support",2782 "frame-support",2831 "frame-system",2783 "frame-system",2847[[package]]2799[[package]]2848name = "frame-benchmarking-cli"2800name = "frame-benchmarking-cli"2849version = "4.0.0-dev"2801version = "4.0.0-dev"2850source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2802source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"2851dependencies = [2803dependencies = [2852 "Inflector",2804 "Inflector",2853 "chrono",2805 "chrono",2854 "clap",2806 "clap",2807 "comfy-table",2855 "frame-benchmarking",2808 "frame-benchmarking",2856 "frame-support",2809 "frame-support",2857 "frame-system",2810 "frame-system",2865 "log",2818 "log",2866 "memory-db",2819 "memory-db",2867 "parity-scale-codec 3.1.5",2820 "parity-scale-codec 3.1.5",2868 "prettytable-rs",2869 "rand 0.8.5",2821 "rand 0.8.5",2870 "rand_pcg 0.3.1",2822 "rand_pcg 0.3.1",2871 "sc-block-builder",2823 "sc-block-builder",2897[[package]]2849[[package]]2898name = "frame-election-provider-solution-type"2850name = "frame-election-provider-solution-type"2899version = "4.0.0-dev"2851version = "4.0.0-dev"2900source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2852source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"2901dependencies = [2853dependencies = [2902 "proc-macro-crate",2854 "proc-macro-crate",2903 "proc-macro2",2855 "proc-macro2",2908[[package]]2860[[package]]2909name = "frame-election-provider-support"2861name = "frame-election-provider-support"2910version = "4.0.0-dev"2862version = "4.0.0-dev"2911source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2863source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"2912dependencies = [2864dependencies = [2913 "frame-election-provider-solution-type",2865 "frame-election-provider-solution-type",2914 "frame-support",2866 "frame-support",2924[[package]]2876[[package]]2925name = "frame-executive"2877name = "frame-executive"2926version = "4.0.0-dev"2878version = "4.0.0-dev"2927source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2879source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"2928dependencies = [2880dependencies = [2929 "frame-support",2881 "frame-support",2930 "frame-system",2882 "frame-system",2952[[package]]2904[[package]]2953name = "frame-support"2905name = "frame-support"2954version = "4.0.0-dev"2906version = "4.0.0-dev"2955source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2907source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"2956dependencies = [2908dependencies = [2957 "bitflags",2909 "bitflags",2958 "frame-metadata",2910 "frame-metadata",2982[[package]]2934[[package]]2983name = "frame-support-procedural"2935name = "frame-support-procedural"2984version = "4.0.0-dev"2936version = "4.0.0-dev"2985source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2937source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"2986dependencies = [2938dependencies = [2987 "Inflector",2939 "Inflector",2988 "frame-support-procedural-tools",2940 "frame-support-procedural-tools",2994[[package]]2946[[package]]2995name = "frame-support-procedural-tools"2947name = "frame-support-procedural-tools"2996version = "4.0.0-dev"2948version = "4.0.0-dev"2997source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2949source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"2998dependencies = [2950dependencies = [2999 "frame-support-procedural-tools-derive",2951 "frame-support-procedural-tools-derive",3000 "proc-macro-crate",2952 "proc-macro-crate",3006[[package]]2958[[package]]3007name = "frame-support-procedural-tools-derive"2959name = "frame-support-procedural-tools-derive"3008version = "3.0.0"2960version = "3.0.0"3009source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2961source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"3010dependencies = [2962dependencies = [3011 "proc-macro2",2963 "proc-macro2",3012 "quote",2964 "quote",3016[[package]]2968[[package]]3017name = "frame-system"2969name = "frame-system"3018version = "4.0.0-dev"2970version = "4.0.0-dev"3019source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2971source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"3020dependencies = [2972dependencies = [3021 "frame-support",2973 "frame-support",3022 "log",2974 "log",3033[[package]]2985[[package]]3034name = "frame-system-benchmarking"2986name = "frame-system-benchmarking"3035version = "4.0.0-dev"2987version = "4.0.0-dev"3036source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"2988source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"3037dependencies = [2989dependencies = [3038 "frame-benchmarking",2990 "frame-benchmarking",3039 "frame-support",2991 "frame-support",3048[[package]]3000[[package]]3049name = "frame-system-rpc-runtime-api"3001name = "frame-system-rpc-runtime-api"3050version = "4.0.0-dev"3002version = "4.0.0-dev"3051source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"3003source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"3052dependencies = [3004dependencies = [3053 "parity-scale-codec 3.1.5",3005 "parity-scale-codec 3.1.5",3054 "sp-api",3006 "sp-api",3057[[package]]3009[[package]]3058name = "frame-try-runtime"3010name = "frame-try-runtime"3059version = "0.10.0-dev"3011version = "0.10.0-dev"3060source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"3012source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"3061dependencies = [3013dependencies = [3062 "frame-support",3014 "frame-support",3063 "sp-api",3015 "sp-api",3199checksum = "e01fe9932a224b72b45336d96040aa86386d674a31d0af27d800ea7bc8ca97fe"3151checksum = "e01fe9932a224b72b45336d96040aa86386d674a31d0af27d800ea7bc8ca97fe"3200dependencies = [3152dependencies = [3201 "futures-io",3153 "futures-io",3202 "rustls 0.20.6",3154 "rustls",3203 "webpki 0.22.0",3155 "webpki",3204]3156]320531573206[[package]]3158[[package]]356235143563[[package]]3515[[package]]3564name = "hyper-rustls"3516name = "hyper-rustls"3565version = "0.22.1"3517version = "0.23.0"3566source = "registry+https://github.com/rust-lang/crates.io-index"3518source = "registry+https://github.com/rust-lang/crates.io-index"3567checksum = "5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64"3519checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac"3568dependencies = [3520dependencies = [3569 "ct-logs",3521 "http",3570 "futures-util",3571 "hyper",3522 "hyper",3572 "log",3523 "log",3573 "rustls 0.19.1",3524 "rustls",3574 "rustls-native-certs 0.5.0",3525 "rustls-native-certs",3575 "tokio 1.19.2",3526 "tokio 1.19.2",3576 "tokio-rustls 0.22.0",3527 "tokio-rustls",3577 "webpki 0.21.4",3578]3528]357935293580[[package]]3530[[package]]360635563607[[package]]3557[[package]]3608name = "if-watch"3558name = "if-watch"3609version = "1.0.0"3559version = "1.1.0"3610source = "registry+https://github.com/rust-lang/crates.io-index"3560source = "registry+https://github.com/rust-lang/crates.io-index"3611checksum = "ae8f4a3c3d4c89351ca83e120c1c00b27df945d38e05695668c9d4b4f7bc52f3"3561checksum = "774d59367a3d26965d21ac70a86fcb697d83405d1c4312d1d8a6855296af0cf7"3612dependencies = [3562dependencies = [3613 "async-io",3563 "async-io",3614 "core-foundation",3564 "core-foundation",3790 "jsonrpsee-core",3740 "jsonrpsee-core",3791 "jsonrpsee-types",3741 "jsonrpsee-types",3792 "pin-project 1.0.10",3742 "pin-project 1.0.10",3793 "rustls-native-certs 0.6.2",3743 "rustls-native-certs",3794 "soketto",3744 "soketto",3795 "thiserror",3745 "thiserror",3796 "tokio 1.19.2",3746 "tokio 1.19.2",3797 "tokio-rustls 0.23.4",3747 "tokio-rustls",3798 "tokio-util",3748 "tokio-util",3799 "tracing",3749 "tracing",3800 "webpki-roots",3750 "webpki-roots",392038703921[[package]]3871[[package]]3922name = "kusama-runtime"3872name = "kusama-runtime"3923version = "0.9.22"3873version = "0.9.23"3924source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"3874source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"3925dependencies = [3875dependencies = [3926 "beefy-primitives",3876 "beefy-primitives",3927 "bitvec 1.0.0",3877 "bitvec 1.0.0",401339634014[[package]]3964[[package]]4015name = "kusama-runtime-constants"3965name = "kusama-runtime-constants"4016version = "0.9.22"3966version = "0.9.23"4017source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"3967source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"4018dependencies = [3968dependencies = [4019 "frame-support",3969 "frame-support",4020 "polkadot-primitives",3970 "polkadot-primitives",4174 "libp2p-request-response",4124 "libp2p-request-response",4175 "libp2p-swarm",4125 "libp2p-swarm",4176 "log",4126 "log",4177 "prost",4127 "prost 0.9.0",4178 "prost-build",4128 "prost-build",4179 "rand 0.8.5",4129 "rand 0.8.5",4180]4130]4201 "multistream-select",4151 "multistream-select",4202 "parking_lot 0.12.1",4152 "parking_lot 0.12.1",4203 "pin-project 1.0.10",4153 "pin-project 1.0.10",4204 "prost",4154 "prost 0.9.0",4205 "prost-build",4155 "prost-build",4206 "rand 0.8.5",4156 "rand 0.8.5",4207 "ring",4157 "ring",4251 "libp2p-core",4201 "libp2p-core",4252 "libp2p-swarm",4202 "libp2p-swarm",4253 "log",4203 "log",4254 "prost",4204 "prost 0.9.0",4255 "prost-build",4205 "prost-build",4256 "rand 0.7.3",4206 "rand 0.7.3",4257 "smallvec",4207 "smallvec",4275 "libp2p-swarm",4225 "libp2p-swarm",4276 "log",4226 "log",4277 "prometheus-client",4227 "prometheus-client",4278 "prost",4228 "prost 0.9.0",4279 "prost-build",4229 "prost-build",4280 "rand 0.7.3",4230 "rand 0.7.3",4281 "regex",4231 "regex",4297 "libp2p-swarm",4247 "libp2p-swarm",4298 "log",4248 "log",4299 "lru 0.7.7",4249 "lru 0.7.7",4300 "prost",4250 "prost 0.9.0",4301 "prost-build",4251 "prost-build",4302 "smallvec",4252 "smallvec",4303]4253]4319 "libp2p-core",4269 "libp2p-core",4320 "libp2p-swarm",4270 "libp2p-swarm",4321 "log",4271 "log",4322 "prost",4272 "prost 0.9.0",4323 "prost-build",4273 "prost-build",4324 "rand 0.7.3",4274 "rand 0.7.3",4325 "sha2 0.10.2",4275 "sha2 0.10.2",4397 "lazy_static",4347 "lazy_static",4398 "libp2p-core",4348 "libp2p-core",4399 "log",4349 "log",4400 "prost",4350 "prost 0.9.0",4401 "prost-build",4351 "prost-build",4402 "rand 0.8.5",4352 "rand 0.8.5",4403 "sha2 0.10.2",4353 "sha2 0.10.2",4434 "futures 0.3.21",4384 "futures 0.3.21",4435 "libp2p-core",4385 "libp2p-core",4436 "log",4386 "log",4437 "prost",4387 "prost 0.9.0",4438 "prost-build",4388 "prost-build",4439 "unsigned-varint",4389 "unsigned-varint",4440 "void",4390 "void",4470 "libp2p-swarm",4420 "libp2p-swarm",4471 "log",4421 "log",4472 "pin-project 1.0.10",4422 "pin-project 1.0.10",4473 "prost",4423 "prost 0.9.0",4474 "prost-build",4424 "prost-build",4475 "rand 0.8.5",4425 "rand 0.8.5",4476 "smallvec",4426 "smallvec",4494 "libp2p-core",4444 "libp2p-core",4495 "libp2p-swarm",4445 "libp2p-swarm",4496 "log",4446 "log",4497 "prost",4447 "prost 0.9.0",4498 "prost-build",4448 "prost-build",4499 "rand 0.8.5",4449 "rand 0.8.5",4500 "sha2 0.10.2",4450 "sha2 0.10.2",4848source = "registry+https://github.com/rust-lang/crates.io-index"4798source = "registry+https://github.com/rust-lang/crates.io-index"4849checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"4799checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"48004801[[package]]4802name = "memfd"4803version = "0.4.1"4804source = "registry+https://github.com/rust-lang/crates.io-index"4805checksum = "f6627dc657574b49d6ad27105ed671822be56e0d2547d413bfbf3e8d8fa92e7a"4806dependencies = [4807 "libc",4808]485048094851[[package]]4810[[package]]4852name = "memmap2"4811name = "memmap2"4913 "zeroize",4872 "zeroize",4914]4873]49154916[[package]]4917name = "metered-channel"4918version = "0.9.22"4919source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"4920dependencies = [4921 "coarsetime",4922 "crossbeam-queue",4923 "derive_more",4924 "futures 0.3.21",4925 "futures-timer",4926 "nanorand",4927 "thiserror",4928 "tracing-gum",4929]493048744931[[package]]4875[[package]]4932name = "mick-jaeger"4876name = "mick-jaeger"5007source = "registry+https://github.com/rust-lang/crates.io-index"4951source = "registry+https://github.com/rust-lang/crates.io-index"5008checksum = "e3db354f401db558759dfc1e568d010a5d4146f4d3f637be1275ec4a3cf09689"4952checksum = "e3db354f401db558759dfc1e568d010a5d4146f4d3f637be1275ec4a3cf09689"5009dependencies = [4953dependencies = [5010 "blake2b_simd 1.0.0",4954 "blake2b_simd",5011 "blake2s_simd",4955 "blake2s_simd",5012 "blake3",4956 "blake3",5013 "core2",4957 "core2",530752515308[[package]]5252[[package]]5309name = "opal-runtime"5253name = "opal-runtime"5310version = "0.9.22"5254version = "0.9.23"5311dependencies = [5255dependencies = [5312 "cumulus-pallet-aura-ext",5256 "cumulus-pallet-aura-ext",5313 "cumulus-pallet-dmp-queue",5257 "cumulus-pallet-dmp-queue",5405source = "registry+https://github.com/rust-lang/crates.io-index"5349source = "registry+https://github.com/rust-lang/crates.io-index"5406checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"5350checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"53515352[[package]]5353name = "orchestra"5354version = "0.0.1"5355source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"5356dependencies = [5357 "async-trait",5358 "dyn-clonable",5359 "futures 0.3.21",5360 "futures-timer",5361 "orchestra-proc-macro",5362 "pin-project 1.0.10",5363 "prioritized-metered-channel",5364 "thiserror",5365 "tracing",5366]53675368[[package]]5369name = "orchestra-proc-macro"5370version = "0.0.1"5371source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"5372dependencies = [5373 "expander 0.0.6",5374 "petgraph",5375 "proc-macro-crate",5376 "proc-macro2",5377 "quote",5378 "syn",5379]540753805408[[package]]5381[[package]]5409name = "ordered-float"5382name = "ordered-float"5417[[package]]5390[[package]]5418name = "orml-vesting"5391name = "orml-vesting"5419version = "0.4.1-dev"5392version = "0.4.1-dev"5420source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.22#59f6596ae462035d153e198ba5db8c5e084e6d25"5393source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.23#97ff860ba8b2bbd246e6c91395fb95fd89c2951f"5421dependencies = [5394dependencies = [5422 "frame-support",5395 "frame-support",5423 "frame-system",5396 "frame-system",5447[[package]]5420[[package]]5448name = "pallet-aura"5421name = "pallet-aura"5449version = "4.0.0-dev"5422version = "4.0.0-dev"5450source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5423source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5451dependencies = [5424dependencies = [5452 "frame-support",5425 "frame-support",5453 "frame-system",5426 "frame-system",5463[[package]]5436[[package]]5464name = "pallet-authority-discovery"5437name = "pallet-authority-discovery"5465version = "4.0.0-dev"5438version = "4.0.0-dev"5466source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5439source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5467dependencies = [5440dependencies = [5468 "frame-support",5441 "frame-support",5469 "frame-system",5442 "frame-system",5479[[package]]5452[[package]]5480name = "pallet-authorship"5453name = "pallet-authorship"5481version = "4.0.0-dev"5454version = "4.0.0-dev"5482source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5455source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5483dependencies = [5456dependencies = [5484 "frame-support",5457 "frame-support",5485 "frame-system",5458 "frame-system",5494[[package]]5467[[package]]5495name = "pallet-babe"5468name = "pallet-babe"5496version = "4.0.0-dev"5469version = "4.0.0-dev"5497source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5470source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5498dependencies = [5471dependencies = [5499 "frame-benchmarking",5472 "frame-benchmarking",5500 "frame-support",5473 "frame-support",5518[[package]]5491[[package]]5519name = "pallet-bags-list"5492name = "pallet-bags-list"5520version = "4.0.0-dev"5493version = "4.0.0-dev"5521source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5494source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5522dependencies = [5495dependencies = [5523 "frame-benchmarking",5496 "frame-benchmarking",5524 "frame-election-provider-support",5497 "frame-election-provider-support",5538[[package]]5511[[package]]5539name = "pallet-balances"5512name = "pallet-balances"5540version = "4.0.0-dev"5513version = "4.0.0-dev"5541source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5514source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5542dependencies = [5515dependencies = [5543 "frame-benchmarking",5516 "frame-benchmarking",5544 "frame-support",5517 "frame-support",5553[[package]]5526[[package]]5554name = "pallet-base-fee"5527name = "pallet-base-fee"5555version = "1.0.0"5528version = "1.0.0"5556source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"5529source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"5557dependencies = [5530dependencies = [5558 "fp-evm",5531 "fp-evm",5559 "frame-support",5532 "frame-support",5568[[package]]5541[[package]]5569name = "pallet-beefy"5542name = "pallet-beefy"5570version = "4.0.0-dev"5543version = "4.0.0-dev"5571source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5544source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5572dependencies = [5545dependencies = [5573 "beefy-primitives",5546 "beefy-primitives",5574 "frame-support",5547 "frame-support",5584[[package]]5557[[package]]5585name = "pallet-beefy-mmr"5558name = "pallet-beefy-mmr"5586version = "4.0.0-dev"5559version = "4.0.0-dev"5587source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5560source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5588dependencies = [5561dependencies = [5589 "beefy-merkle-tree",5562 "beefy-merkle-tree",5590 "beefy-primitives",5563 "beefy-primitives",5607[[package]]5580[[package]]5608name = "pallet-bounties"5581name = "pallet-bounties"5609version = "4.0.0-dev"5582version = "4.0.0-dev"5610source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5583source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5611dependencies = [5584dependencies = [5612 "frame-benchmarking",5585 "frame-benchmarking",5613 "frame-support",5586 "frame-support",5625[[package]]5598[[package]]5626name = "pallet-bridge-dispatch"5599name = "pallet-bridge-dispatch"5627version = "0.1.0"5600version = "0.1.0"5628source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"5601source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"5629dependencies = [5602dependencies = [5630 "bp-message-dispatch",5603 "bp-message-dispatch",5631 "bp-runtime",5604 "bp-runtime",5642[[package]]5615[[package]]5643name = "pallet-bridge-grandpa"5616name = "pallet-bridge-grandpa"5644version = "0.1.0"5617version = "0.1.0"5645source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"5618source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"5646dependencies = [5619dependencies = [5647 "bp-header-chain",5620 "bp-header-chain",5648 "bp-runtime",5621 "bp-runtime",5664[[package]]5637[[package]]5665name = "pallet-bridge-messages"5638name = "pallet-bridge-messages"5666version = "0.1.0"5639version = "0.1.0"5667source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"5640source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"5668dependencies = [5641dependencies = [5669 "bitvec 1.0.0",5642 "bitvec 1.0.0",5670 "bp-message-dispatch",5643 "bp-message-dispatch",5685[[package]]5658[[package]]5686name = "pallet-child-bounties"5659name = "pallet-child-bounties"5687version = "4.0.0-dev"5660version = "4.0.0-dev"5688source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5661source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5689dependencies = [5662dependencies = [5690 "frame-benchmarking",5663 "frame-benchmarking",5691 "frame-support",5664 "frame-support",5704[[package]]5677[[package]]5705name = "pallet-collective"5678name = "pallet-collective"5706version = "4.0.0-dev"5679version = "4.0.0-dev"5707source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5680source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5708dependencies = [5681dependencies = [5709 "frame-benchmarking",5682 "frame-benchmarking",5710 "frame-support",5683 "frame-support",5742[[package]]5715[[package]]5743name = "pallet-democracy"5716name = "pallet-democracy"5744version = "4.0.0-dev"5717version = "4.0.0-dev"5745source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5718source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5746dependencies = [5719dependencies = [5747 "frame-benchmarking",5720 "frame-benchmarking",5748 "frame-support",5721 "frame-support",5758[[package]]5731[[package]]5759name = "pallet-election-provider-multi-phase"5732name = "pallet-election-provider-multi-phase"5760version = "4.0.0-dev"5733version = "4.0.0-dev"5761source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5734source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5762dependencies = [5735dependencies = [5763 "frame-benchmarking",5736 "frame-benchmarking",5764 "frame-election-provider-support",5737 "frame-election-provider-support",5781[[package]]5754[[package]]5782name = "pallet-election-provider-support-benchmarking"5755name = "pallet-election-provider-support-benchmarking"5783version = "4.0.0-dev"5756version = "4.0.0-dev"5784source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5757source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5785dependencies = [5758dependencies = [5786 "frame-benchmarking",5759 "frame-benchmarking",5787 "frame-election-provider-support",5760 "frame-election-provider-support",5794[[package]]5767[[package]]5795name = "pallet-elections-phragmen"5768name = "pallet-elections-phragmen"5796version = "5.0.0-dev"5769version = "5.0.0-dev"5797source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5770source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5798dependencies = [5771dependencies = [5799 "frame-benchmarking",5772 "frame-benchmarking",5800 "frame-support",5773 "frame-support",5812[[package]]5785[[package]]5813name = "pallet-ethereum"5786name = "pallet-ethereum"5814version = "4.0.0-dev"5787version = "4.0.0-dev"5815source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"5788source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"5816dependencies = [5789dependencies = [5817 "ethereum",5790 "ethereum",5818 "ethereum-types",5791 "ethereum-types",5841[[package]]5814[[package]]5842name = "pallet-evm"5815name = "pallet-evm"5843version = "6.0.0-dev"5816version = "6.0.0-dev"5844source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.22#94cc1f98619da89350f77d18b2e4224b034e07ad"5817source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.23#29adc958b0541466d564c781aa70fb7e3ef263a2"5845dependencies = [5818dependencies = [5846 "evm",5819 "evm",5847 "fp-evm",5820 "fp-evm",5964[[package]]5937[[package]]5965name = "pallet-gilt"5938name = "pallet-gilt"5966version = "4.0.0-dev"5939version = "4.0.0-dev"5967source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5940source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5968dependencies = [5941dependencies = [5969 "frame-benchmarking",5942 "frame-benchmarking",5970 "frame-support",5943 "frame-support",5979[[package]]5952[[package]]5980name = "pallet-grandpa"5953name = "pallet-grandpa"5981version = "4.0.0-dev"5954version = "4.0.0-dev"5982source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5955source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"5983dependencies = [5956dependencies = [5984 "frame-benchmarking",5957 "frame-benchmarking",5985 "frame-support",5958 "frame-support",6002[[package]]5975[[package]]6003name = "pallet-identity"5976name = "pallet-identity"6004version = "4.0.0-dev"5977version = "4.0.0-dev"6005source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5978source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6006dependencies = [5979dependencies = [6007 "enumflags2",5980 "enumflags2",6008 "frame-benchmarking",5981 "frame-benchmarking",6018[[package]]5991[[package]]6019name = "pallet-im-online"5992name = "pallet-im-online"6020version = "4.0.0-dev"5993version = "4.0.0-dev"6021source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"5994source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6022dependencies = [5995dependencies = [6023 "frame-benchmarking",5996 "frame-benchmarking",6024 "frame-support",5997 "frame-support",6038[[package]]6011[[package]]6039name = "pallet-indices"6012name = "pallet-indices"6040version = "4.0.0-dev"6013version = "4.0.0-dev"6041source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6014source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6042dependencies = [6015dependencies = [6043 "frame-benchmarking",6016 "frame-benchmarking",6044 "frame-support",6017 "frame-support",6074[[package]]6047[[package]]6075name = "pallet-membership"6048name = "pallet-membership"6076version = "4.0.0-dev"6049version = "4.0.0-dev"6077source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6050source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6078dependencies = [6051dependencies = [6079 "frame-benchmarking",6052 "frame-benchmarking",6080 "frame-support",6053 "frame-support",6091[[package]]6064[[package]]6092name = "pallet-mmr"6065name = "pallet-mmr"6093version = "4.0.0-dev"6066version = "4.0.0-dev"6094source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6067source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6095dependencies = [6068dependencies = [6096 "ckb-merkle-mountain-range",6069 "ckb-merkle-mountain-range",6097 "frame-benchmarking",6070 "frame-benchmarking",6109[[package]]6082[[package]]6110name = "pallet-mmr-rpc"6083name = "pallet-mmr-rpc"6111version = "3.0.0"6084version = "3.0.0"6112source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6085source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6113dependencies = [6086dependencies = [6114 "jsonrpsee",6087 "jsonrpsee",6115 "parity-scale-codec 3.1.5",6088 "parity-scale-codec 3.1.5",6124[[package]]6097[[package]]6125name = "pallet-multisig"6098name = "pallet-multisig"6126version = "4.0.0-dev"6099version = "4.0.0-dev"6127source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6100source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6128dependencies = [6101dependencies = [6129 "frame-benchmarking",6102 "frame-benchmarking",6130 "frame-support",6103 "frame-support",6139[[package]]6112[[package]]6140name = "pallet-nicks"6113name = "pallet-nicks"6141version = "4.0.0-dev"6114version = "4.0.0-dev"6142source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6115source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6143dependencies = [6116dependencies = [6144 "frame-support",6117 "frame-support",6145 "frame-system",6118 "frame-system",6153[[package]]6126[[package]]6154name = "pallet-nomination-pools"6127name = "pallet-nomination-pools"6155version = "1.0.0"6128version = "1.0.0"6156source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6129source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6157dependencies = [6130dependencies = [6158 "frame-support",6131 "frame-support",6159 "frame-system",6132 "frame-system",6133 "log",6160 "parity-scale-codec 3.1.5",6134 "parity-scale-codec 3.1.5",6161 "scale-info",6135 "scale-info",6162 "sp-core",6136 "sp-core",6168[[package]]6142[[package]]6169name = "pallet-nomination-pools-benchmarking"6143name = "pallet-nomination-pools-benchmarking"6170version = "1.0.0"6144version = "1.0.0"6171source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6145source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6172dependencies = [6146dependencies = [6173 "frame-benchmarking",6147 "frame-benchmarking",6174 "frame-election-provider-support",6148 "frame-election-provider-support",6209[[package]]6183[[package]]6210name = "pallet-offences"6184name = "pallet-offences"6211version = "4.0.0-dev"6185version = "4.0.0-dev"6212source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6186source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6213dependencies = [6187dependencies = [6214 "frame-support",6188 "frame-support",6215 "frame-system",6189 "frame-system",6226[[package]]6200[[package]]6227name = "pallet-offences-benchmarking"6201name = "pallet-offences-benchmarking"6228version = "4.0.0-dev"6202version = "4.0.0-dev"6229source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6203source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6230dependencies = [6204dependencies = [6231 "frame-benchmarking",6205 "frame-benchmarking",6232 "frame-election-provider-support",6206 "frame-election-provider-support",6249[[package]]6223[[package]]6250name = "pallet-preimage"6224name = "pallet-preimage"6251version = "4.0.0-dev"6225version = "4.0.0-dev"6252source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6226source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6253dependencies = [6227dependencies = [6254 "frame-benchmarking",6228 "frame-benchmarking",6255 "frame-support",6229 "frame-support",6265[[package]]6239[[package]]6266name = "pallet-proxy"6240name = "pallet-proxy"6267version = "4.0.0-dev"6241version = "4.0.0-dev"6268source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6242source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6269dependencies = [6243dependencies = [6270 "frame-benchmarking",6244 "frame-benchmarking",6271 "frame-support",6245 "frame-support",6280[[package]]6254[[package]]6281name = "pallet-randomness-collective-flip"6255name = "pallet-randomness-collective-flip"6282version = "4.0.0-dev"6256version = "4.0.0-dev"6283source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6257source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6284dependencies = [6258dependencies = [6285 "frame-support",6259 "frame-support",6286 "frame-system",6260 "frame-system",6294[[package]]6268[[package]]6295name = "pallet-recovery"6269name = "pallet-recovery"6296version = "4.0.0-dev"6270version = "4.0.0-dev"6297source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6271source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6298dependencies = [6272dependencies = [6299 "frame-benchmarking",6273 "frame-benchmarking",6300 "frame-support",6274 "frame-support",6369[[package]]6343[[package]]6370name = "pallet-scheduler"6344name = "pallet-scheduler"6371version = "4.0.0-dev"6345version = "4.0.0-dev"6372source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6346source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6373dependencies = [6347dependencies = [6374 "frame-benchmarking",6348 "frame-benchmarking",6375 "frame-support",6349 "frame-support",6385[[package]]6359[[package]]6386name = "pallet-session"6360name = "pallet-session"6387version = "4.0.0-dev"6361version = "4.0.0-dev"6388source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6362source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6389dependencies = [6363dependencies = [6390 "frame-support",6364 "frame-support",6391 "frame-system",6365 "frame-system",6406[[package]]6380[[package]]6407name = "pallet-session-benchmarking"6381name = "pallet-session-benchmarking"6408version = "4.0.0-dev"6382version = "4.0.0-dev"6409source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6383source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6410dependencies = [6384dependencies = [6411 "frame-benchmarking",6385 "frame-benchmarking",6412 "frame-support",6386 "frame-support",6422[[package]]6396[[package]]6423name = "pallet-society"6397name = "pallet-society"6424version = "4.0.0-dev"6398version = "4.0.0-dev"6425source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6399source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6426dependencies = [6400dependencies = [6427 "frame-support",6401 "frame-support",6428 "frame-system",6402 "frame-system",6436[[package]]6410[[package]]6437name = "pallet-staking"6411name = "pallet-staking"6438version = "4.0.0-dev"6412version = "4.0.0-dev"6439source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6413source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6440dependencies = [6414dependencies = [6441 "frame-benchmarking",6415 "frame-benchmarking",6442 "frame-election-provider-support",6416 "frame-election-provider-support",6459[[package]]6433[[package]]6460name = "pallet-staking-reward-curve"6434name = "pallet-staking-reward-curve"6461version = "4.0.0-dev"6435version = "4.0.0-dev"6462source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6436source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6463dependencies = [6437dependencies = [6464 "proc-macro-crate",6438 "proc-macro-crate",6465 "proc-macro2",6439 "proc-macro2",6470[[package]]6444[[package]]6471name = "pallet-staking-reward-fn"6445name = "pallet-staking-reward-fn"6472version = "4.0.0-dev"6446version = "4.0.0-dev"6473source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6447source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6474dependencies = [6448dependencies = [6475 "log",6449 "log",6476 "sp-arithmetic",6450 "sp-arithmetic",6494[[package]]6468[[package]]6495name = "pallet-sudo"6469name = "pallet-sudo"6496version = "4.0.0-dev"6470version = "4.0.0-dev"6497source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6471source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6498dependencies = [6472dependencies = [6499 "frame-support",6473 "frame-support",6500 "frame-system",6474 "frame-system",6508[[package]]6482[[package]]6509name = "pallet-template-transaction-payment"6483name = "pallet-template-transaction-payment"6510version = "3.0.0"6484version = "3.0.0"6511source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.22#9fc4fbc3f83fdc793205f3fef1c97ef168d4dfe0"6485source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.23#5f3b55354830f9707d6632aaa54362deea981116"6512dependencies = [6486dependencies = [6513 "frame-benchmarking",6487 "frame-benchmarking",6514 "frame-support",6488 "frame-support",6528[[package]]6502[[package]]6529name = "pallet-timestamp"6503name = "pallet-timestamp"6530version = "4.0.0-dev"6504version = "4.0.0-dev"6531source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6505source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6532dependencies = [6506dependencies = [6533 "frame-benchmarking",6507 "frame-benchmarking",6534 "frame-support",6508 "frame-support",6546[[package]]6520[[package]]6547name = "pallet-tips"6521name = "pallet-tips"6548version = "4.0.0-dev"6522version = "4.0.0-dev"6549source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6523source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6550dependencies = [6524dependencies = [6551 "frame-benchmarking",6525 "frame-benchmarking",6552 "frame-support",6526 "frame-support",6565[[package]]6539[[package]]6566name = "pallet-transaction-payment"6540name = "pallet-transaction-payment"6567version = "4.0.0-dev"6541version = "4.0.0-dev"6568source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6542source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6569dependencies = [6543dependencies = [6570 "frame-support",6544 "frame-support",6571 "frame-system",6545 "frame-system",6572 "parity-scale-codec 3.1.5",6546 "parity-scale-codec 3.1.5",6573 "scale-info",6547 "scale-info",6574 "serde",6548 "serde",6575 "smallvec",6576 "sp-core",6549 "sp-core",6577 "sp-io",6550 "sp-io",6578 "sp-runtime",6551 "sp-runtime",6582[[package]]6555[[package]]6583name = "pallet-transaction-payment-rpc"6556name = "pallet-transaction-payment-rpc"6584version = "4.0.0-dev"6557version = "4.0.0-dev"6585source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6558source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6586dependencies = [6559dependencies = [6587 "jsonrpsee",6560 "jsonrpsee",6588 "pallet-transaction-payment-rpc-runtime-api",6561 "pallet-transaction-payment-rpc-runtime-api",6597[[package]]6570[[package]]6598name = "pallet-transaction-payment-rpc-runtime-api"6571name = "pallet-transaction-payment-rpc-runtime-api"6599version = "4.0.0-dev"6572version = "4.0.0-dev"6600source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6573source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6601dependencies = [6574dependencies = [6602 "pallet-transaction-payment",6575 "pallet-transaction-payment",6603 "parity-scale-codec 3.1.5",6576 "parity-scale-codec 3.1.5",6608[[package]]6581[[package]]6609name = "pallet-treasury"6582name = "pallet-treasury"6610version = "4.0.0-dev"6583version = "4.0.0-dev"6611source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6584source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6612dependencies = [6585dependencies = [6613 "frame-benchmarking",6586 "frame-benchmarking",6614 "frame-support",6587 "frame-support",6667[[package]]6640[[package]]6668name = "pallet-utility"6641name = "pallet-utility"6669version = "4.0.0-dev"6642version = "4.0.0-dev"6670source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6643source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6671dependencies = [6644dependencies = [6672 "frame-benchmarking",6645 "frame-benchmarking",6673 "frame-support",6646 "frame-support",6683[[package]]6656[[package]]6684name = "pallet-vesting"6657name = "pallet-vesting"6685version = "4.0.0-dev"6658version = "4.0.0-dev"6686source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"6659source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"6687dependencies = [6660dependencies = [6688 "frame-benchmarking",6661 "frame-benchmarking",6689 "frame-support",6662 "frame-support",669766706698[[package]]6671[[package]]6699name = "pallet-xcm"6672name = "pallet-xcm"6700version = "0.9.22"6673version = "0.9.23"6701source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"6674source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"6702dependencies = [6675dependencies = [6703 "frame-support",6676 "frame-support",6704 "frame-system",6677 "frame-system",671566886716[[package]]6689[[package]]6717name = "pallet-xcm-benchmarks"6690name = "pallet-xcm-benchmarks"6718version = "0.9.22"6691version = "0.9.23"6719source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"6692source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"6720dependencies = [6693dependencies = [6721 "frame-benchmarking",6694 "frame-benchmarking",6722 "frame-support",6695 "frame-support",6733[[package]]6706[[package]]6734name = "parachain-info"6707name = "parachain-info"6735version = "0.1.0"6708version = "0.1.0"6736source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.22#ebdfbea0029dd3349ce0e9c758acc73acce04d18"6709source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.23#9c1470893c6bd5f33ad8eb104d159177c6847df5"6737dependencies = [6710dependencies = [6738 "cumulus-primitives-core",6711 "cumulus-primitives-core",6739 "frame-support",6712 "frame-support",6900 "cfg-if 1.0.0",6873 "cfg-if 1.0.0",6901 "instant",6874 "instant",6902 "libc",6875 "libc",6903 "redox_syscall 0.2.13",6876 "redox_syscall",6904 "smallvec",6877 "smallvec",6905 "winapi",6878 "winapi",6906]6879]6913dependencies = [6886dependencies = [6914 "cfg-if 1.0.0",6887 "cfg-if 1.0.0",6915 "libc",6888 "libc",6916 "redox_syscall 0.2.13",6889 "redox_syscall",6917 "smallvec",6890 "smallvec",6918 "windows-sys",6891 "windows-sys",6919]6892]707970527080[[package]]7053[[package]]7081name = "polkadot-approval-distribution"7054name = "polkadot-approval-distribution"7082version = "0.9.22"7055version = "0.9.23"7083source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7056source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7084dependencies = [7057dependencies = [7085 "futures 0.3.21",7058 "futures 0.3.21",7086 "polkadot-node-network-protocol",7059 "polkadot-node-network-protocol",709470677095[[package]]7068[[package]]7096name = "polkadot-availability-bitfield-distribution"7069name = "polkadot-availability-bitfield-distribution"7097version = "0.9.22"7070version = "0.9.23"7098source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7071source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7099dependencies = [7072dependencies = [7100 "futures 0.3.21",7073 "futures 0.3.21",7101 "polkadot-node-network-protocol",7074 "polkadot-node-network-protocol",710870817109[[package]]7082[[package]]7110name = "polkadot-availability-distribution"7083name = "polkadot-availability-distribution"7111version = "0.9.22"7084version = "0.9.23"7112source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7085source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7113dependencies = [7086dependencies = [7114 "derive_more",7087 "derive_more",7115 "fatality",7088 "fatality",713171047132[[package]]7105[[package]]7133name = "polkadot-availability-recovery"7106name = "polkadot-availability-recovery"7134version = "0.9.22"7107version = "0.9.23"7135source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7108source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7136dependencies = [7109dependencies = [7137 "fatality",7110 "fatality",7138 "futures 0.3.21",7111 "futures 0.3.21",715271257153[[package]]7126[[package]]7154name = "polkadot-cli"7127name = "polkadot-cli"7155version = "0.9.22"7128version = "0.9.23"7156source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7129source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7157dependencies = [7130dependencies = [7158 "clap",7131 "clap",7159 "frame-benchmarking-cli",7132 "frame-benchmarking-cli",717771507178[[package]]7151[[package]]7179name = "polkadot-client"7152name = "polkadot-client"7180version = "0.9.22"7153version = "0.9.23"7181source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7154source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7182dependencies = [7155dependencies = [7183 "beefy-primitives",7156 "beefy-primitives",7184 "frame-benchmarking",7157 "frame-benchmarking",721771907218[[package]]7191[[package]]7219name = "polkadot-collator-protocol"7192name = "polkadot-collator-protocol"7220version = "0.9.22"7193version = "0.9.23"7221source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7194source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7222dependencies = [7195dependencies = [7223 "always-assert",7196 "always-assert",7224 "fatality",7197 "fatality",723872117239[[package]]7212[[package]]7240name = "polkadot-core-primitives"7213name = "polkadot-core-primitives"7241version = "0.9.22"7214version = "0.9.23"7242source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7215source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7243dependencies = [7216dependencies = [7244 "parity-scale-codec 3.1.5",7217 "parity-scale-codec 3.1.5",7245 "parity-util-mem",7218 "parity-util-mem",725172247252[[package]]7225[[package]]7253name = "polkadot-dispute-distribution"7226name = "polkadot-dispute-distribution"7254version = "0.9.22"7227version = "0.9.23"7255source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7228source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7256dependencies = [7229dependencies = [7257 "derive_more",7230 "derive_more",7258 "fatality",7231 "fatality",727472477275[[package]]7248[[package]]7276name = "polkadot-erasure-coding"7249name = "polkadot-erasure-coding"7277version = "0.9.22"7250version = "0.9.23"7278source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7251source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7279dependencies = [7252dependencies = [7280 "parity-scale-codec 3.1.5",7253 "parity-scale-codec 3.1.5",7281 "polkadot-node-primitives",7254 "polkadot-node-primitives",728872617289[[package]]7262[[package]]7290name = "polkadot-gossip-support"7263name = "polkadot-gossip-support"7291version = "0.9.22"7264version = "0.9.23"7292source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7265source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7293dependencies = [7266dependencies = [7294 "futures 0.3.21",7267 "futures 0.3.21",7295 "futures-timer",7268 "futures-timer",730872817309[[package]]7282[[package]]7310name = "polkadot-network-bridge"7283name = "polkadot-network-bridge"7311version = "0.9.22"7284version = "0.9.23"7312source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7285source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7313dependencies = [7286dependencies = [7314 "always-assert",7287 "always-assert",7315 "async-trait",7288 "async-trait",732973027330[[package]]7303[[package]]7331name = "polkadot-node-collation-generation"7304name = "polkadot-node-collation-generation"7332version = "0.9.22"7305version = "0.9.23"7333source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7306source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7334dependencies = [7307dependencies = [7335 "futures 0.3.21",7308 "futures 0.3.21",7336 "parity-scale-codec 3.1.5",7309 "parity-scale-codec 3.1.5",734773207348[[package]]7321[[package]]7349name = "polkadot-node-core-approval-voting"7322name = "polkadot-node-core-approval-voting"7350version = "0.9.22"7323version = "0.9.23"7351source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7324source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7352dependencies = [7325dependencies = [7353 "bitvec 1.0.0",7326 "bitvec 1.0.0",7354 "derive_more",7327 "derive_more",737673497377[[package]]7350[[package]]7378name = "polkadot-node-core-av-store"7351name = "polkadot-node-core-av-store"7379version = "0.9.22"7352version = "0.9.23"7380source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7353source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7381dependencies = [7354dependencies = [7382 "bitvec 1.0.0",7355 "bitvec 1.0.0",7383 "futures 0.3.21",7356 "futures 0.3.21",739673697397[[package]]7370[[package]]7398name = "polkadot-node-core-backing"7371name = "polkadot-node-core-backing"7399version = "0.9.22"7372version = "0.9.23"7400source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7373source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7401dependencies = [7374dependencies = [7402 "bitvec 1.0.0",7375 "bitvec 1.0.0",7403 "fatality",7376 "fatality",741573887416[[package]]7389[[package]]7417name = "polkadot-node-core-bitfield-signing"7390name = "polkadot-node-core-bitfield-signing"7418version = "0.9.22"7391version = "0.9.23"7419source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7392source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7420dependencies = [7393dependencies = [7421 "futures 0.3.21",7394 "futures 0.3.21",7422 "polkadot-node-subsystem",7395 "polkadot-node-subsystem",743074037431[[package]]7404[[package]]7432name = "polkadot-node-core-candidate-validation"7405name = "polkadot-node-core-candidate-validation"7433version = "0.9.22"7406version = "0.9.23"7434source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7407source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7435dependencies = [7408dependencies = [7436 "async-trait",7409 "async-trait",7437 "futures 0.3.21",7410 "futures 0.3.21",744874217449[[package]]7422[[package]]7450name = "polkadot-node-core-chain-api"7423name = "polkadot-node-core-chain-api"7451version = "0.9.22"7424version = "0.9.23"7452source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7425source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7453dependencies = [7426dependencies = [7454 "futures 0.3.21",7427 "futures 0.3.21",7455 "polkadot-node-subsystem",7428 "polkadot-node-subsystem",746374367464[[package]]7437[[package]]7465name = "polkadot-node-core-chain-selection"7438name = "polkadot-node-core-chain-selection"7466version = "0.9.22"7439version = "0.9.23"7467source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7440source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7468dependencies = [7441dependencies = [7469 "futures 0.3.21",7442 "futures 0.3.21",7470 "futures-timer",7443 "futures-timer",748074537481[[package]]7454[[package]]7482name = "polkadot-node-core-dispute-coordinator"7455name = "polkadot-node-core-dispute-coordinator"7483version = "0.9.22"7456version = "0.9.23"7484source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7457source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7485dependencies = [7458dependencies = [7486 "fatality",7459 "fatality",7487 "futures 0.3.21",7460 "futures 0.3.21",749974727500[[package]]7473[[package]]7501name = "polkadot-node-core-parachains-inherent"7474name = "polkadot-node-core-parachains-inherent"7502version = "0.9.22"7475version = "0.9.23"7503source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7476source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7504dependencies = [7477dependencies = [7505 "async-trait",7478 "async-trait",7506 "futures 0.3.21",7479 "futures 0.3.21",751674897517[[package]]7490[[package]]7518name = "polkadot-node-core-provisioner"7491name = "polkadot-node-core-provisioner"7519version = "0.9.22"7492version = "0.9.23"7520source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7493source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7521dependencies = [7494dependencies = [7522 "bitvec 1.0.0",7495 "bitvec 1.0.0",7523 "fatality",7496 "fatality",753475077535[[package]]7508[[package]]7536name = "polkadot-node-core-pvf"7509name = "polkadot-node-core-pvf"7537version = "0.9.22"7510version = "0.9.23"7538source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7511source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7539dependencies = [7512dependencies = [7540 "always-assert",7513 "always-assert",7541 "assert_matches",7514 "assert_matches",7559 "sp-maybe-compressed-blob",7532 "sp-maybe-compressed-blob",7560 "sp-tracing",7533 "sp-tracing",7561 "sp-wasm-interface",7534 "sp-wasm-interface",7535 "tempfile",7562 "tracing-gum",7536 "tracing-gum",7563]7537]756475387565[[package]]7539[[package]]7566name = "polkadot-node-core-pvf-checker"7540name = "polkadot-node-core-pvf-checker"7567version = "0.9.22"7541version = "0.9.23"7568source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7542source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7569dependencies = [7543dependencies = [7570 "futures 0.3.21",7544 "futures 0.3.21",7571 "polkadot-node-primitives",7545 "polkadot-node-primitives",758075547581[[package]]7555[[package]]7582name = "polkadot-node-core-runtime-api"7556name = "polkadot-node-core-runtime-api"7583version = "0.9.22"7557version = "0.9.23"7584source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7558source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7585dependencies = [7559dependencies = [7586 "futures 0.3.21",7560 "futures 0.3.21",7587 "memory-lru",7561 "memory-lru",7592 "sp-api",7566 "sp-api",7593 "sp-authority-discovery",7567 "sp-authority-discovery",7594 "sp-consensus-babe",7568 "sp-consensus-babe",7595 "sp-core",7596 "tracing-gum",7569 "tracing-gum",7597]7570]759875717599[[package]]7572[[package]]7600name = "polkadot-node-jaeger"7573name = "polkadot-node-jaeger"7601version = "0.9.22"7574version = "0.9.23"7602source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7575source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7603dependencies = [7576dependencies = [7604 "async-std",7577 "async-std",7605 "lazy_static",7578 "lazy_static",761675897617[[package]]7590[[package]]7618name = "polkadot-node-metrics"7591name = "polkadot-node-metrics"7619version = "0.9.22"7592version = "0.9.23"7620source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7593source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7621dependencies = [7594dependencies = [7622 "bs58",7595 "bs58",7623 "futures 0.3.21",7596 "futures 0.3.21",7624 "futures-timer",7597 "futures-timer",7625 "log",7598 "log",7626 "metered-channel",7627 "parity-scale-codec 3.1.5",7599 "parity-scale-codec 3.1.5",7628 "polkadot-primitives",7600 "polkadot-primitives",7601 "prioritized-metered-channel",7629 "sc-cli",7602 "sc-cli",7630 "sc-service",7603 "sc-service",7631 "sc-tracing",7604 "sc-tracing",763576087636[[package]]7609[[package]]7637name = "polkadot-node-network-protocol"7610name = "polkadot-node-network-protocol"7638version = "0.9.22"7611version = "0.9.23"7639source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7612source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7640dependencies = [7613dependencies = [7641 "async-trait",7614 "async-trait",7642 "derive_more",7615 "derive_more",7651 "sc-network",7624 "sc-network",7652 "strum 0.24.1",7625 "strum 0.24.1",7653 "thiserror",7626 "thiserror",7627 "tracing-gum",7654]7628]765576297656[[package]]7630[[package]]7657name = "polkadot-node-primitives"7631name = "polkadot-node-primitives"7658version = "0.9.22"7632version = "0.9.23"7659source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7633source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7660dependencies = [7634dependencies = [7661 "bounded-vec",7635 "bounded-vec",7662 "futures 0.3.21",7636 "futures 0.3.21",767776517678[[package]]7652[[package]]7679name = "polkadot-node-subsystem"7653name = "polkadot-node-subsystem"7680version = "0.9.22"7654version = "0.9.23"7681source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7655source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7682dependencies = [7656dependencies = [7683 "polkadot-node-jaeger",7657 "polkadot-node-jaeger",7684 "polkadot-node-subsystem-types",7658 "polkadot-node-subsystem-types",768776617688[[package]]7662[[package]]7689name = "polkadot-node-subsystem-types"7663name = "polkadot-node-subsystem-types"7690version = "0.9.22"7664version = "0.9.23"7691source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7665source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7692dependencies = [7666dependencies = [7693 "derive_more",7667 "derive_more",7694 "futures 0.3.21",7668 "futures 0.3.21",7669 "orchestra",7695 "polkadot-node-jaeger",7670 "polkadot-node-jaeger",7696 "polkadot-node-network-protocol",7671 "polkadot-node-network-protocol",7697 "polkadot-node-primitives",7672 "polkadot-node-primitives",7698 "polkadot-overseer-gen",7699 "polkadot-primitives",7673 "polkadot-primitives",7700 "polkadot-statement-table",7674 "polkadot-statement-table",7701 "sc-network",7675 "sc-network",770676807707[[package]]7681[[package]]7708name = "polkadot-node-subsystem-util"7682name = "polkadot-node-subsystem-util"7709version = "0.9.22"7683version = "0.9.23"7710source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7684source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7711dependencies = [7685dependencies = [7712 "async-trait",7686 "async-trait",7713 "derive_more",7687 "derive_more",7716 "itertools",7690 "itertools",7717 "kvdb",7691 "kvdb",7718 "lru 0.7.7",7692 "lru 0.7.7",7719 "metered-channel",7720 "parity-db",7693 "parity-db",7721 "parity-scale-codec 3.1.5",7694 "parity-scale-codec 3.1.5",7722 "parity-util-mem",7695 "parity-util-mem",7729 "polkadot-node-subsystem",7702 "polkadot-node-subsystem",7730 "polkadot-overseer",7703 "polkadot-overseer",7731 "polkadot-primitives",7704 "polkadot-primitives",7705 "prioritized-metered-channel",7732 "rand 0.8.5",7706 "rand 0.8.5",7733 "sp-application-crypto",7707 "sp-application-crypto",7734 "sp-core",7708 "sp-core",773977137740[[package]]7714[[package]]7741name = "polkadot-overseer"7715name = "polkadot-overseer"7742version = "0.9.22"7716version = "0.9.23"7743source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7717source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7744dependencies = [7718dependencies = [7745 "futures 0.3.21",7719 "futures 0.3.21",7746 "futures-timer",7720 "futures-timer",7747 "lru 0.7.7",7721 "lru 0.7.7",7722 "orchestra",7748 "parity-util-mem",7723 "parity-util-mem",7749 "parking_lot 0.12.1",7724 "parking_lot 0.12.1",7750 "polkadot-node-metrics",7725 "polkadot-node-metrics",7751 "polkadot-node-network-protocol",7726 "polkadot-node-network-protocol",7752 "polkadot-node-primitives",7727 "polkadot-node-primitives",7753 "polkadot-node-subsystem-types",7728 "polkadot-node-subsystem-types",7754 "polkadot-overseer-gen",7755 "polkadot-primitives",7729 "polkadot-primitives",7756 "sc-client-api",7730 "sc-client-api",7757 "sp-api",7731 "sp-api",7732 "sp-core",7758 "tracing-gum",7733 "tracing-gum",7759]7734]77607761[[package]]7762name = "polkadot-overseer-gen"7763version = "0.9.22"7764source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7765dependencies = [7766 "async-trait",7767 "futures 0.3.21",7768 "futures-timer",7769 "metered-channel",7770 "pin-project 1.0.10",7771 "polkadot-node-network-protocol",7772 "polkadot-node-primitives",7773 "polkadot-overseer-gen-proc-macro",7774 "thiserror",7775 "tracing-gum",7776]77777778[[package]]7779name = "polkadot-overseer-gen-proc-macro"7780version = "0.9.22"7781source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7782dependencies = [7783 "expander 0.0.6",7784 "proc-macro-crate",7785 "proc-macro2",7786 "quote",7787 "syn",7788]778977357790[[package]]7736[[package]]7791name = "polkadot-parachain"7737name = "polkadot-parachain"7792version = "0.9.22"7738version = "0.9.23"7793source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7739source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7794dependencies = [7740dependencies = [7795 "derive_more",7741 "derive_more",7796 "frame-support",7742 "frame-support",780677527807[[package]]7753[[package]]7808name = "polkadot-performance-test"7754name = "polkadot-performance-test"7809version = "0.9.22"7755version = "0.9.23"7810source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7756source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7811dependencies = [7757dependencies = [7812 "env_logger",7758 "env_logger",7813 "kusama-runtime",7759 "kusama-runtime",782177677822[[package]]7768[[package]]7823name = "polkadot-primitives"7769name = "polkadot-primitives"7824version = "0.9.22"7770version = "0.9.23"7825source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7771source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7826dependencies = [7772dependencies = [7827 "bitvec 1.0.0",7773 "bitvec 1.0.0",7828 "frame-system",7774 "frame-system",785177977852[[package]]7798[[package]]7853name = "polkadot-rpc"7799name = "polkadot-rpc"7854version = "0.9.22"7800version = "0.9.23"7855source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7801source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7856dependencies = [7802dependencies = [7857 "beefy-gadget",7803 "beefy-gadget",7858 "beefy-gadget-rpc",7804 "beefy-gadget-rpc",788378297884[[package]]7830[[package]]7885name = "polkadot-runtime"7831name = "polkadot-runtime"7886version = "0.9.22"7832version = "0.9.23"7887source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7833source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7888dependencies = [7834dependencies = [7889 "beefy-primitives",7835 "beefy-primitives",7890 "bitvec 1.0.0",7836 "bitvec 1.0.0",796979157970[[package]]7916[[package]]7971name = "polkadot-runtime-common"7917name = "polkadot-runtime-common"7972version = "0.9.22"7918version = "0.9.23"7973source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7919source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"7974dependencies = [7920dependencies = [7975 "beefy-primitives",7921 "beefy-primitives",7976 "bitvec 1.0.0",7922 "bitvec 1.0.0",801679628017[[package]]7963[[package]]8018name = "polkadot-runtime-constants"7964name = "polkadot-runtime-constants"8019version = "0.9.22"7965version = "0.9.23"8020source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7966source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"8021dependencies = [7967dependencies = [8022 "frame-support",7968 "frame-support",8023 "polkadot-primitives",7969 "polkadot-primitives",802879748029[[package]]7975[[package]]8030name = "polkadot-runtime-metrics"7976name = "polkadot-runtime-metrics"8031version = "0.9.22"7977version = "0.9.23"8032source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7978source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"8033dependencies = [7979dependencies = [8034 "bs58",7980 "bs58",8035 "parity-scale-codec 3.1.5",7981 "parity-scale-codec 3.1.5",804079868041[[package]]7987[[package]]8042name = "polkadot-runtime-parachains"7988name = "polkadot-runtime-parachains"8043version = "0.9.22"7989version = "0.9.23"8044source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"7990source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"8045dependencies = [7991dependencies = [8046 "bitflags",7992 "bitflags",8047 "bitvec 1.0.0",7993 "bitvec 1.0.0",808380298084[[package]]8030[[package]]8085name = "polkadot-service"8031name = "polkadot-service"8086version = "0.9.22"8032version = "0.9.23"8087source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"8033source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"8088dependencies = [8034dependencies = [8089 "async-trait",8035 "async-trait",8090 "beefy-gadget",8036 "beefy-gadget",8126 "polkadot-node-network-protocol",8072 "polkadot-node-network-protocol",8127 "polkadot-node-primitives",8073 "polkadot-node-primitives",8128 "polkadot-node-subsystem",8074 "polkadot-node-subsystem",8075 "polkadot-node-subsystem-types",8129 "polkadot-node-subsystem-util",8076 "polkadot-node-subsystem-util",8130 "polkadot-overseer",8077 "polkadot-overseer",8131 "polkadot-parachain",8078 "polkadot-parachain",818581328186[[package]]8133[[package]]8187name = "polkadot-statement-distribution"8134name = "polkadot-statement-distribution"8188version = "0.9.22"8135version = "0.9.23"8189source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"8136source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"8190dependencies = [8137dependencies = [8191 "arrayvec 0.5.2",8138 "arrayvec 0.5.2",8192 "fatality",8139 "fatality",820681538207[[package]]8154[[package]]8208name = "polkadot-statement-table"8155name = "polkadot-statement-table"8209version = "0.9.22"8156version = "0.9.23"8210source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"8157source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"8211dependencies = [8158dependencies = [8212 "parity-scale-codec 3.1.5",8159 "parity-scale-codec 3.1.5",8213 "polkadot-primitives",8160 "polkadot-primitives",821681638217[[package]]8164[[package]]8218name = "polkadot-test-runtime"8165name = "polkadot-test-runtime"8219version = "0.9.22"8166version = "0.9.23"8220source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"8167source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"8221dependencies = [8168dependencies = [8222 "beefy-primitives",8169 "beefy-primitives",8223 "bitvec 1.0.0",8170 "bitvec 1.0.0",827882258279[[package]]8226[[package]]8280name = "polkadot-test-service"8227name = "polkadot-test-service"8281version = "0.9.22"8228version = "0.9.23"8282source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"8229source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"8283dependencies = [8230dependencies = [8284 "frame-benchmarking",8231 "frame-benchmarking",8285 "frame-system",8232 "frame-system",8372source = "registry+https://github.com/rust-lang/crates.io-index"8319source = "registry+https://github.com/rust-lang/crates.io-index"8373checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"8320checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"83748375[[package]]8376name = "prettytable-rs"8377version = "0.8.0"8378source = "registry+https://github.com/rust-lang/crates.io-index"8379checksum = "0fd04b170004fa2daccf418a7f8253aaf033c27760b5f225889024cf66d7ac2e"8380dependencies = [8381 "atty",8382 "csv",8383 "encode_unicode",8384 "lazy_static",8385 "term",8386 "unicode-width",8387]838883218389[[package]]8322[[package]]8390name = "primitive-types"8323name = "primitive-types"8400 "uint",8333 "uint",8401]8334]83358336[[package]]8337name = "prioritized-metered-channel"8338version = "0.2.0"8339source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"8340dependencies = [8341 "coarsetime",8342 "crossbeam-queue",8343 "derive_more",8344 "futures 0.3.21",8345 "futures-timer",8346 "nanorand",8347 "thiserror",8348 "tracing",8349]840283508403[[package]]8351[[package]]8404name = "proc-macro-crate"8352name = "proc-macro-crate"8487checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"8435checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"8488dependencies = [8436dependencies = [8489 "bytes 1.1.0",8437 "bytes 1.1.0",8490 "prost-derive",8438 "prost-derive 0.9.0",8491]8439]84408441[[package]]8442name = "prost"8443version = "0.10.4"8444source = "registry+https://github.com/rust-lang/crates.io-index"8445checksum = "71adf41db68aa0daaefc69bb30bcd68ded9b9abaad5d1fbb6304c4fb390e083e"8446dependencies = [8447 "bytes 1.1.0",8448 "prost-derive 0.10.1",8449]849284508493[[package]]8451[[package]]8494name = "prost-build"8452name = "prost-build"8503 "log",8461 "log",8504 "multimap",8462 "multimap",8505 "petgraph",8463 "petgraph",8506 "prost",8464 "prost 0.9.0",8507 "prost-types",8465 "prost-types",8508 "regex",8466 "regex",8509 "tempfile",8467 "tempfile",8523 "syn",8481 "syn",8524]8482]84838484[[package]]8485name = "prost-derive"8486version = "0.10.1"8487source = "registry+https://github.com/rust-lang/crates.io-index"8488checksum = "7b670f45da57fb8542ebdbb6105a925fe571b67f9e7ed9f47a06a84e72b4e7cc"8489dependencies = [8490 "anyhow",8491 "itertools",8492 "proc-macro2",8493 "quote",8494 "syn",8495]852584968526[[package]]8497[[package]]8527name = "prost-types"8498name = "prost-types"8530checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"8501checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"8531dependencies = [8502dependencies = [8532 "bytes 1.1.0",8503 "bytes 1.1.0",8533 "prost",8504 "prost 0.9.0",8534]8505]853585068536[[package]]8507[[package]]854485158545[[package]]8516[[package]]8546name = "quartz-runtime"8517name = "quartz-runtime"8547version = "0.9.22"8518version = "0.9.23"8548dependencies = [8519dependencies = [8549 "cumulus-pallet-aura-ext",8520 "cumulus-pallet-aura-ext",8550 "cumulus-pallet-dmp-queue",8521 "cumulus-pallet-dmp-queue",8558 "fp-evm-mapping",8529 "fp-evm-mapping",8559 "fp-rpc",8530 "fp-rpc",8560 "fp-self-contained",8531 "fp-self-contained",8532 "frame-benchmarking",8561 "frame-executive",8533 "frame-executive",8562 "frame-support",8534 "frame-support",8563 "frame-system",8535 "frame-system",8536 "frame-system-benchmarking",8564 "frame-system-rpc-runtime-api",8537 "frame-system-rpc-runtime-api",8565 "frame-try-runtime",8538 "frame-try-runtime",8539 "hex-literal",8566 "log",8540 "log",8567 "orml-vesting",8541 "orml-vesting",8568 "pallet-aura",8542 "pallet-aura",8789 "num_cpus",8763 "num_cpus",8790]8764]87918792[[package]]8793name = "redox_syscall"8794version = "0.1.57"8795source = "registry+https://github.com/rust-lang/crates.io-index"8796checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"879787658798[[package]]8766[[package]]8799name = "redox_syscall"8767name = "redox_syscall"8804 "bitflags",8772 "bitflags",8805]8773]88068807[[package]]8808name = "redox_users"8809version = "0.3.5"8810source = "registry+https://github.com/rust-lang/crates.io-index"8811checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"8812dependencies = [8813 "getrandom 0.1.16",8814 "redox_syscall 0.1.57",8815 "rust-argon2",8816]881787748818[[package]]8775[[package]]8819name = "redox_users"8776name = "redox_users"8822checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"8779checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"8823dependencies = [8780dependencies = [8824 "getrandom 0.2.7",8781 "getrandom 0.2.7",8825 "redox_syscall 0.2.13",8782 "redox_syscall",8826 "thiserror",8783 "thiserror",8827]8784]882887858911[[package]]8868[[package]]8912name = "remote-externalities"8869name = "remote-externalities"8913version = "0.10.0-dev"8870version = "0.10.0-dev"8914source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"8871source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"8915dependencies = [8872dependencies = [8916 "env_logger",8873 "env_logger",8917 "jsonrpsee",8874 "jsonrpsee",903189889032[[package]]8989[[package]]9033name = "rococo-runtime"8990name = "rococo-runtime"9034version = "0.9.22"8991version = "0.9.23"9035source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"8992source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"9036dependencies = [8993dependencies = [9037 "beefy-merkle-tree",8994 "beefy-merkle-tree",9038 "beefy-primitives",8995 "beefy-primitives",910890659109[[package]]9066[[package]]9110name = "rococo-runtime-constants"9067name = "rococo-runtime-constants"9111version = "0.9.22"9068version = "0.9.23"9112source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"9069source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"9113dependencies = [9070dependencies = [9114 "frame-support",9071 "frame-support",9115 "polkadot-primitives",9072 "polkadot-primitives",9143 "thiserror",9100 "thiserror",9144]9101]91459146[[package]]9147name = "rust-argon2"9148version = "0.8.3"9149source = "registry+https://github.com/rust-lang/crates.io-index"9150checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb"9151dependencies = [9152 "base64",9153 "blake2b_simd 0.5.11",9154 "constant_time_eq",9155 "crossbeam-utils",9156]915791029158[[package]]9103[[package]]9159name = "rustc-demangle"9104name = "rustc-demangle"9205 "winapi",9150 "winapi",9206]9151]92079208[[package]]9209name = "rustls"9210version = "0.19.1"9211source = "registry+https://github.com/rust-lang/crates.io-index"9212checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7"9213dependencies = [9214 "base64",9215 "log",9216 "ring",9217 "sct 0.6.1",9218 "webpki 0.21.4",9219]922091529221[[package]]9153[[package]]9222name = "rustls"9154name = "rustls"9226dependencies = [9158dependencies = [9227 "log",9159 "log",9228 "ring",9160 "ring",9229 "sct 0.7.0",9161 "sct",9230 "webpki 0.22.0",9162 "webpki",9231]9163]92329233[[package]]9234name = "rustls-native-certs"9235version = "0.5.0"9236source = "registry+https://github.com/rust-lang/crates.io-index"9237checksum = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092"9238dependencies = [9239 "openssl-probe",9240 "rustls 0.19.1",9241 "schannel",9242 "security-framework",9243]924491649245[[package]]9165[[package]]9246name = "rustls-native-certs"9166name = "rustls-native-certs"9316[[package]]9236[[package]]9317name = "sc-allocator"9237name = "sc-allocator"9318version = "4.1.0-dev"9238version = "4.1.0-dev"9319source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9239source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9320dependencies = [9240dependencies = [9321 "log",9241 "log",9322 "sp-core",9242 "sp-core",9327[[package]]9247[[package]]9328name = "sc-authority-discovery"9248name = "sc-authority-discovery"9329version = "0.10.0-dev"9249version = "0.10.0-dev"9330source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9250source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9331dependencies = [9251dependencies = [9332 "async-trait",9252 "async-trait",9333 "futures 0.3.21",9253 "futures 0.3.21",9336 "libp2p",9256 "libp2p",9337 "log",9257 "log",9338 "parity-scale-codec 3.1.5",9258 "parity-scale-codec 3.1.5",9339 "prost",9259 "prost 0.10.4",9340 "prost-build",9260 "prost-build",9341 "rand 0.7.3",9261 "rand 0.7.3",9342 "sc-client-api",9262 "sc-client-api",9354[[package]]9274[[package]]9355name = "sc-basic-authorship"9275name = "sc-basic-authorship"9356version = "0.10.0-dev"9276version = "0.10.0-dev"9357source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9277source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9358dependencies = [9278dependencies = [9359 "futures 0.3.21",9279 "futures 0.3.21",9360 "futures-timer",9280 "futures-timer",9377[[package]]9297[[package]]9378name = "sc-block-builder"9298name = "sc-block-builder"9379version = "0.10.0-dev"9299version = "0.10.0-dev"9380source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9300source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9381dependencies = [9301dependencies = [9382 "parity-scale-codec 3.1.5",9302 "parity-scale-codec 3.1.5",9383 "sc-client-api",9303 "sc-client-api",9393[[package]]9313[[package]]9394name = "sc-chain-spec"9314name = "sc-chain-spec"9395version = "4.0.0-dev"9315version = "4.0.0-dev"9396source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9316source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9397dependencies = [9317dependencies = [9398 "impl-trait-for-tuples",9318 "impl-trait-for-tuples",9399 "memmap2 0.5.4",9319 "memmap2 0.5.4",9410[[package]]9330[[package]]9411name = "sc-chain-spec-derive"9331name = "sc-chain-spec-derive"9412version = "4.0.0-dev"9332version = "4.0.0-dev"9413source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9333source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9414dependencies = [9334dependencies = [9415 "proc-macro-crate",9335 "proc-macro-crate",9416 "proc-macro2",9336 "proc-macro2",9421[[package]]9341[[package]]9422name = "sc-cli"9342name = "sc-cli"9423version = "0.10.0-dev"9343version = "0.10.0-dev"9424source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9344source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9425dependencies = [9345dependencies = [9426 "chrono",9346 "chrono",9427 "clap",9347 "clap",9460[[package]]9380[[package]]9461name = "sc-client-api"9381name = "sc-client-api"9462version = "4.0.0-dev"9382version = "4.0.0-dev"9463source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9383source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9464dependencies = [9384dependencies = [9465 "fnv",9385 "fnv",9466 "futures 0.3.21",9386 "futures 0.3.21",9488[[package]]9408[[package]]9489name = "sc-client-db"9409name = "sc-client-db"9490version = "0.10.0-dev"9410version = "0.10.0-dev"9491source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9411source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9492dependencies = [9412dependencies = [9493 "hash-db",9413 "hash-db",9494 "kvdb",9414 "kvdb",9513[[package]]9433[[package]]9514name = "sc-consensus"9434name = "sc-consensus"9515version = "0.10.0-dev"9435version = "0.10.0-dev"9516source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9436source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9517dependencies = [9437dependencies = [9518 "async-trait",9438 "async-trait",9519 "futures 0.3.21",9439 "futures 0.3.21",9537[[package]]9457[[package]]9538name = "sc-consensus-aura"9458name = "sc-consensus-aura"9539version = "0.10.0-dev"9459version = "0.10.0-dev"9540source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9460source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9541dependencies = [9461dependencies = [9542 "async-trait",9462 "async-trait",9543 "futures 0.3.21",9463 "futures 0.3.21",9566[[package]]9486[[package]]9567name = "sc-consensus-babe"9487name = "sc-consensus-babe"9568version = "0.10.0-dev"9488version = "0.10.0-dev"9569source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9489source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9570dependencies = [9490dependencies = [9571 "async-trait",9491 "async-trait",9572 "fork-tree",9492 "fork-tree",9609[[package]]9529[[package]]9610name = "sc-consensus-babe-rpc"9530name = "sc-consensus-babe-rpc"9611version = "0.10.0-dev"9531version = "0.10.0-dev"9612source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9532source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9613dependencies = [9533dependencies = [9614 "futures 0.3.21",9534 "futures 0.3.21",9615 "jsonrpsee",9535 "jsonrpsee",9631[[package]]9551[[package]]9632name = "sc-consensus-epochs"9552name = "sc-consensus-epochs"9633version = "0.10.0-dev"9553version = "0.10.0-dev"9634source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9554source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9635dependencies = [9555dependencies = [9636 "fork-tree",9556 "fork-tree",9637 "parity-scale-codec 3.1.5",9557 "parity-scale-codec 3.1.5",9644[[package]]9564[[package]]9645name = "sc-consensus-manual-seal"9565name = "sc-consensus-manual-seal"9646version = "0.10.0-dev"9566version = "0.10.0-dev"9647source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9567source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9648dependencies = [9568dependencies = [9649 "assert_matches",9569 "assert_matches",9650 "async-trait",9570 "async-trait",9678[[package]]9598[[package]]9679name = "sc-consensus-slots"9599name = "sc-consensus-slots"9680version = "0.10.0-dev"9600version = "0.10.0-dev"9681source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9601source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9682dependencies = [9602dependencies = [9683 "async-trait",9603 "async-trait",9684 "futures 0.3.21",9604 "futures 0.3.21",9703[[package]]9623[[package]]9704name = "sc-consensus-uncles"9624name = "sc-consensus-uncles"9705version = "0.10.0-dev"9625version = "0.10.0-dev"9706source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9626source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9707dependencies = [9627dependencies = [9708 "sc-client-api",9628 "sc-client-api",9709 "sp-authorship",9629 "sp-authorship",9714[[package]]9634[[package]]9715name = "sc-executor"9635name = "sc-executor"9716version = "0.10.0-dev"9636version = "0.10.0-dev"9717source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9637source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9718dependencies = [9638dependencies = [9719 "lazy_static",9639 "lazy_static",9720 "lru 0.7.7",9640 "lru 0.7.7",9741[[package]]9661[[package]]9742name = "sc-executor-common"9662name = "sc-executor-common"9743version = "0.10.0-dev"9663version = "0.10.0-dev"9744source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9664source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9745dependencies = [9665dependencies = [9746 "environmental",9666 "environmental",9747 "parity-scale-codec 3.1.5",9667 "parity-scale-codec 3.1.5",9758[[package]]9678[[package]]9759name = "sc-executor-wasmi"9679name = "sc-executor-wasmi"9760version = "0.10.0-dev"9680version = "0.10.0-dev"9761source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9681source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9762dependencies = [9682dependencies = [9763 "log",9683 "log",9764 "parity-scale-codec 3.1.5",9684 "parity-scale-codec 3.1.5",9773[[package]]9693[[package]]9774name = "sc-executor-wasmtime"9694name = "sc-executor-wasmtime"9775version = "0.10.0-dev"9695version = "0.10.0-dev"9776source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9696source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9777dependencies = [9697dependencies = [9778 "cfg-if 1.0.0",9698 "cfg-if 1.0.0",9779 "libc",9699 "libc",9791[[package]]9711[[package]]9792name = "sc-finality-grandpa"9712name = "sc-finality-grandpa"9793version = "0.10.0-dev"9713version = "0.10.0-dev"9794source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9714source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9795dependencies = [9715dependencies = [9796 "ahash",9716 "ahash",9797 "async-trait",9717 "async-trait",9831[[package]]9751[[package]]9832name = "sc-finality-grandpa-rpc"9752name = "sc-finality-grandpa-rpc"9833version = "0.10.0-dev"9753version = "0.10.0-dev"9834source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9754source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9835dependencies = [9755dependencies = [9836 "finality-grandpa",9756 "finality-grandpa",9837 "futures 0.3.21",9757 "futures 0.3.21",9852[[package]]9772[[package]]9853name = "sc-informant"9773name = "sc-informant"9854version = "0.10.0-dev"9774version = "0.10.0-dev"9855source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9775source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9856dependencies = [9776dependencies = [9857 "ansi_term",9777 "ansi_term",9858 "futures 0.3.21",9778 "futures 0.3.21",9869[[package]]9789[[package]]9870name = "sc-keystore"9790name = "sc-keystore"9871version = "4.0.0-dev"9791version = "4.0.0-dev"9872source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9792source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9873dependencies = [9793dependencies = [9874 "async-trait",9794 "async-trait",9875 "hex",9795 "hex",9884[[package]]9804[[package]]9885name = "sc-network"9805name = "sc-network"9886version = "0.10.0-dev"9806version = "0.10.0-dev"9887source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9807source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9888dependencies = [9808dependencies = [9889 "async-trait",9809 "async-trait",9890 "asynchronous-codec",9810 "asynchronous-codec",9906 "parity-scale-codec 3.1.5",9826 "parity-scale-codec 3.1.5",9907 "parking_lot 0.12.1",9827 "parking_lot 0.12.1",9908 "pin-project 1.0.10",9828 "pin-project 1.0.10",9909 "prost",9829 "prost 0.10.4",9910 "prost-build",9830 "prost-build",9911 "rand 0.7.3",9831 "rand 0.7.3",9912 "sc-block-builder",9832 "sc-block-builder",9913 "sc-client-api",9833 "sc-client-api",9914 "sc-consensus",9834 "sc-consensus",9915 "sc-network-common",9835 "sc-network-common",9836 "sc-network-light",9916 "sc-network-sync",9837 "sc-network-sync",9917 "sc-peerset",9838 "sc-peerset",9918 "sc-utils",9839 "sc-utils",9935[[package]]9856[[package]]9936name = "sc-network-common"9857name = "sc-network-common"9937version = "0.10.0-dev"9858version = "0.10.0-dev"9938source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9859source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9939dependencies = [9860dependencies = [9940 "futures 0.3.21",9861 "futures 0.3.21",9941 "libp2p",9862 "libp2p",9948[[package]]9869[[package]]9949name = "sc-network-gossip"9870name = "sc-network-gossip"9950version = "0.10.0-dev"9871version = "0.10.0-dev"9951source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9872source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9952dependencies = [9873dependencies = [9953 "ahash",9874 "ahash",9954 "futures 0.3.21",9875 "futures 0.3.21",9962 "tracing",9883 "tracing",9963]9884]98859886[[package]]9887name = "sc-network-light"9888version = "0.10.0-dev"9889source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9890dependencies = [9891 "futures 0.3.21",9892 "libp2p",9893 "log",9894 "parity-scale-codec 3.1.5",9895 "prost 0.10.4",9896 "prost-build",9897 "sc-client-api",9898 "sc-network-common",9899 "sc-peerset",9900 "sp-blockchain",9901 "sp-core",9902 "sp-runtime",9903 "thiserror",9904]996499059965[[package]]9906[[package]]9966name = "sc-network-sync"9907name = "sc-network-sync"9967version = "0.10.0-dev"9908version = "0.10.0-dev"9968source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9909source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9969dependencies = [9910dependencies = [9970 "bitflags",9911 "bitflags",9971 "either",9912 "either",9975 "log",9916 "log",9976 "lru 0.7.7",9917 "lru 0.7.7",9977 "parity-scale-codec 3.1.5",9918 "parity-scale-codec 3.1.5",9978 "prost",9919 "prost 0.10.4",9979 "prost-build",9920 "prost-build",9980 "sc-client-api",9921 "sc-client-api",9981 "sc-consensus",9922 "sc-consensus",9994[[package]]9935[[package]]9995name = "sc-offchain"9936name = "sc-offchain"9996version = "4.0.0-dev"9937version = "4.0.0-dev"9997source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9938source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"9998dependencies = [9939dependencies = [9999 "bytes 1.1.0",9940 "bytes 1.1.0",10000 "fnv",9941 "fnv",10022[[package]]9963[[package]]10023name = "sc-peerset"9964name = "sc-peerset"10024version = "4.0.0-dev"9965version = "4.0.0-dev"10025source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9966source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10026dependencies = [9967dependencies = [10027 "futures 0.3.21",9968 "futures 0.3.21",10028 "libp2p",9969 "libp2p",10035[[package]]9976[[package]]10036name = "sc-proposer-metrics"9977name = "sc-proposer-metrics"10037version = "0.10.0-dev"9978version = "0.10.0-dev"10038source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9979source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10039dependencies = [9980dependencies = [10040 "log",9981 "log",10041 "substrate-prometheus-endpoint",9982 "substrate-prometheus-endpoint",10044[[package]]9985[[package]]10045name = "sc-rpc"9986name = "sc-rpc"10046version = "4.0.0-dev"9987version = "4.0.0-dev"10047source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"9988source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10048dependencies = [9989dependencies = [10049 "futures 0.3.21",9990 "futures 0.3.21",10050 "hash-db",9991 "hash-db",10074[[package]]10015[[package]]10075name = "sc-rpc-api"10016name = "sc-rpc-api"10076version = "0.10.0-dev"10017version = "0.10.0-dev"10077source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10018source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10078dependencies = [10019dependencies = [10079 "futures 0.3.21",10020 "futures 0.3.21",10080 "jsonrpsee",10021 "jsonrpsee",10097[[package]]10038[[package]]10098name = "sc-rpc-server"10039name = "sc-rpc-server"10099version = "4.0.0-dev"10040version = "4.0.0-dev"10100source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10041source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10101dependencies = [10042dependencies = [10102 "futures 0.3.21",10043 "futures 0.3.21",10103 "jsonrpsee",10044 "jsonrpsee",10110[[package]]10051[[package]]10111name = "sc-service"10052name = "sc-service"10112version = "0.10.0-dev"10053version = "0.10.0-dev"10113source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10054source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10114dependencies = [10055dependencies = [10115 "async-trait",10056 "async-trait",10116 "directories",10057 "directories",10175[[package]]10116[[package]]10176name = "sc-state-db"10117name = "sc-state-db"10177version = "0.10.0-dev"10118version = "0.10.0-dev"10178source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10119source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10179dependencies = [10120dependencies = [10180 "log",10121 "log",10181 "parity-scale-codec 3.1.5",10122 "parity-scale-codec 3.1.5",10189[[package]]10130[[package]]10190name = "sc-sync-state-rpc"10131name = "sc-sync-state-rpc"10191version = "0.10.0-dev"10132version = "0.10.0-dev"10192source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10133source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10193dependencies = [10134dependencies = [10194 "jsonrpsee",10135 "jsonrpsee",10195 "parity-scale-codec 3.1.5",10136 "parity-scale-codec 3.1.5",10208[[package]]10149[[package]]10209name = "sc-sysinfo"10150name = "sc-sysinfo"10210version = "6.0.0-dev"10151version = "6.0.0-dev"10211source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10152source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10212dependencies = [10153dependencies = [10213 "futures 0.3.21",10154 "futures 0.3.21",10214 "libc",10155 "libc",10227[[package]]10168[[package]]10228name = "sc-telemetry"10169name = "sc-telemetry"10229version = "4.0.0-dev"10170version = "4.0.0-dev"10230source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10171source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10231dependencies = [10172dependencies = [10232 "chrono",10173 "chrono",10233 "futures 0.3.21",10174 "futures 0.3.21",10245[[package]]10186[[package]]10246name = "sc-tracing"10187name = "sc-tracing"10247version = "4.0.0-dev"10188version = "4.0.0-dev"10248source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10189source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10249dependencies = [10190dependencies = [10250 "ansi_term",10191 "ansi_term",10251 "atty",10192 "atty",10276[[package]]10217[[package]]10277name = "sc-tracing-proc-macro"10218name = "sc-tracing-proc-macro"10278version = "4.0.0-dev"10219version = "4.0.0-dev"10279source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10220source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10280dependencies = [10221dependencies = [10281 "proc-macro-crate",10222 "proc-macro-crate",10282 "proc-macro2",10223 "proc-macro2",10287[[package]]10228[[package]]10288name = "sc-transaction-pool"10229name = "sc-transaction-pool"10289version = "4.0.0-dev"10230version = "4.0.0-dev"10290source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10231source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10291dependencies = [10232dependencies = [10292 "futures 0.3.21",10233 "futures 0.3.21",10293 "futures-timer",10234 "futures-timer",10314[[package]]10255[[package]]10315name = "sc-transaction-pool-api"10256name = "sc-transaction-pool-api"10316version = "4.0.0-dev"10257version = "4.0.0-dev"10317source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10258source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10318dependencies = [10259dependencies = [10319 "futures 0.3.21",10260 "futures 0.3.21",10320 "log",10261 "log",10327[[package]]10268[[package]]10328name = "sc-utils"10269name = "sc-utils"10329version = "4.0.0-dev"10270version = "4.0.0-dev"10330source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10271source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10331dependencies = [10272dependencies = [10332 "futures 0.3.21",10273 "futures 0.3.21",10333 "futures-timer",10274 "futures-timer",10397source = "registry+https://github.com/rust-lang/crates.io-index"10338source = "registry+https://github.com/rust-lang/crates.io-index"10398checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"10339checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"1039910400[[package]]10401name = "sct"10402version = "0.6.1"10403source = "registry+https://github.com/rust-lang/crates.io-index"10404checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce"10405dependencies = [10406 "ring",10407 "untrusted",10408]104091034010410[[package]]10341[[package]]10411name = "sct"10342name = "sct"106991063010700[[package]]10631[[package]]10701name = "slot-range-helper"10632name = "slot-range-helper"10702version = "0.9.22"10633version = "0.9.23"10703source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"10634source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"10704dependencies = [10635dependencies = [10705 "enumn",10636 "enumn",10706 "parity-scale-codec 3.1.5",10637 "parity-scale-codec 3.1.5",10776[[package]]10707[[package]]10777name = "sp-api"10708name = "sp-api"10778version = "4.0.0-dev"10709version = "4.0.0-dev"10779source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10710source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10780dependencies = [10711dependencies = [10781 "hash-db",10712 "hash-db",10782 "log",10713 "log",10793[[package]]10724[[package]]10794name = "sp-api-proc-macro"10725name = "sp-api-proc-macro"10795version = "4.0.0-dev"10726version = "4.0.0-dev"10796source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10727source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10797dependencies = [10728dependencies = [10798 "blake2",10729 "blake2",10799 "proc-macro-crate",10730 "proc-macro-crate",10805[[package]]10736[[package]]10806name = "sp-application-crypto"10737name = "sp-application-crypto"10807version = "6.0.0"10738version = "6.0.0"10808source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10739source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10809dependencies = [10740dependencies = [10810 "parity-scale-codec 3.1.5",10741 "parity-scale-codec 3.1.5",10811 "scale-info",10742 "scale-info",10818[[package]]10749[[package]]10819name = "sp-arithmetic"10750name = "sp-arithmetic"10820version = "5.0.0"10751version = "5.0.0"10821source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10752source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10822dependencies = [10753dependencies = [10823 "integer-sqrt",10754 "integer-sqrt",10824 "num-traits",10755 "num-traits",10833[[package]]10764[[package]]10834name = "sp-authority-discovery"10765name = "sp-authority-discovery"10835version = "4.0.0-dev"10766version = "4.0.0-dev"10836source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10767source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10837dependencies = [10768dependencies = [10838 "parity-scale-codec 3.1.5",10769 "parity-scale-codec 3.1.5",10839 "scale-info",10770 "scale-info",10846[[package]]10777[[package]]10847name = "sp-authorship"10778name = "sp-authorship"10848version = "4.0.0-dev"10779version = "4.0.0-dev"10849source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10780source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10850dependencies = [10781dependencies = [10851 "async-trait",10782 "async-trait",10852 "parity-scale-codec 3.1.5",10783 "parity-scale-codec 3.1.5",10858[[package]]10789[[package]]10859name = "sp-block-builder"10790name = "sp-block-builder"10860version = "4.0.0-dev"10791version = "4.0.0-dev"10861source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10792source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10862dependencies = [10793dependencies = [10863 "parity-scale-codec 3.1.5",10794 "parity-scale-codec 3.1.5",10864 "sp-api",10795 "sp-api",10870[[package]]10801[[package]]10871name = "sp-blockchain"10802name = "sp-blockchain"10872version = "4.0.0-dev"10803version = "4.0.0-dev"10873source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10804source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10874dependencies = [10805dependencies = [10875 "futures 0.3.21",10806 "futures 0.3.21",10876 "log",10807 "log",10888[[package]]10819[[package]]10889name = "sp-consensus"10820name = "sp-consensus"10890version = "0.10.0-dev"10821version = "0.10.0-dev"10891source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10822source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10892dependencies = [10823dependencies = [10893 "async-trait",10824 "async-trait",10894 "futures 0.3.21",10825 "futures 0.3.21",10907[[package]]10838[[package]]10908name = "sp-consensus-aura"10839name = "sp-consensus-aura"10909version = "0.10.0-dev"10840version = "0.10.0-dev"10910source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10841source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10911dependencies = [10842dependencies = [10912 "async-trait",10843 "async-trait",10913 "parity-scale-codec 3.1.5",10844 "parity-scale-codec 3.1.5",10925[[package]]10856[[package]]10926name = "sp-consensus-babe"10857name = "sp-consensus-babe"10927version = "0.10.0-dev"10858version = "0.10.0-dev"10928source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10859source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10929dependencies = [10860dependencies = [10930 "async-trait",10861 "async-trait",10931 "merlin",10862 "merlin",10948[[package]]10879[[package]]10949name = "sp-consensus-slots"10880name = "sp-consensus-slots"10950version = "0.10.0-dev"10881version = "0.10.0-dev"10951source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10882source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10952dependencies = [10883dependencies = [10953 "parity-scale-codec 3.1.5",10884 "parity-scale-codec 3.1.5",10954 "scale-info",10885 "scale-info",10962[[package]]10893[[package]]10963name = "sp-consensus-vrf"10894name = "sp-consensus-vrf"10964version = "0.10.0-dev"10895version = "0.10.0-dev"10965source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10896source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10966dependencies = [10897dependencies = [10967 "parity-scale-codec 3.1.5",10898 "parity-scale-codec 3.1.5",10968 "scale-info",10899 "scale-info",10975[[package]]10906[[package]]10976name = "sp-core"10907name = "sp-core"10977version = "6.0.0"10908version = "6.0.0"10978source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10909source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"10979dependencies = [10910dependencies = [10980 "base58",10911 "base58",10981 "bitflags",10912 "bitflags",11021[[package]]10952[[package]]11022name = "sp-core-hashing"10953name = "sp-core-hashing"11023version = "4.0.0"10954version = "4.0.0"11024source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10955source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11025dependencies = [10956dependencies = [11026 "blake2",10957 "blake2",11027 "byteorder",10958 "byteorder",11035[[package]]10966[[package]]11036name = "sp-core-hashing-proc-macro"10967name = "sp-core-hashing-proc-macro"11037version = "5.0.0"10968version = "5.0.0"11038source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10969source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11039dependencies = [10970dependencies = [11040 "proc-macro2",10971 "proc-macro2",11041 "quote",10972 "quote",11046[[package]]10977[[package]]11047name = "sp-database"10978name = "sp-database"11048version = "4.0.0-dev"10979version = "4.0.0-dev"11049source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10980source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11050dependencies = [10981dependencies = [11051 "kvdb",10982 "kvdb",11052 "parking_lot 0.12.1",10983 "parking_lot 0.12.1",11055[[package]]10986[[package]]11056name = "sp-debug-derive"10987name = "sp-debug-derive"11057version = "4.0.0"10988version = "4.0.0"11058source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10989source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11059dependencies = [10990dependencies = [11060 "proc-macro2",10991 "proc-macro2",11061 "quote",10992 "quote",11065[[package]]10996[[package]]11066name = "sp-externalities"10997name = "sp-externalities"11067version = "0.12.0"10998version = "0.12.0"11068source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"10999source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11069dependencies = [11000dependencies = [11070 "environmental",11001 "environmental",11071 "parity-scale-codec 3.1.5",11002 "parity-scale-codec 3.1.5",11076[[package]]11007[[package]]11077name = "sp-finality-grandpa"11008name = "sp-finality-grandpa"11078version = "4.0.0-dev"11009version = "4.0.0-dev"11079source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11010source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11080dependencies = [11011dependencies = [11081 "finality-grandpa",11012 "finality-grandpa",11082 "log",11013 "log",11094[[package]]11025[[package]]11095name = "sp-inherents"11026name = "sp-inherents"11096version = "4.0.0-dev"11027version = "4.0.0-dev"11097source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11028source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11098dependencies = [11029dependencies = [11099 "async-trait",11030 "async-trait",11100 "impl-trait-for-tuples",11031 "impl-trait-for-tuples",11108[[package]]11039[[package]]11109name = "sp-io"11040name = "sp-io"11110version = "6.0.0"11041version = "6.0.0"11111source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11042source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11112dependencies = [11043dependencies = [11113 "futures 0.3.21",11044 "futures 0.3.21",11114 "hash-db",11045 "hash-db",11133[[package]]11064[[package]]11134name = "sp-keyring"11065name = "sp-keyring"11135version = "6.0.0"11066version = "6.0.0"11136source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11067source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11137dependencies = [11068dependencies = [11138 "lazy_static",11069 "lazy_static",11139 "sp-core",11070 "sp-core",11144[[package]]11075[[package]]11145name = "sp-keystore"11076name = "sp-keystore"11146version = "0.12.0"11077version = "0.12.0"11147source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11078source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11148dependencies = [11079dependencies = [11149 "async-trait",11080 "async-trait",11150 "futures 0.3.21",11081 "futures 0.3.21",11161[[package]]11092[[package]]11162name = "sp-maybe-compressed-blob"11093name = "sp-maybe-compressed-blob"11163version = "4.1.0-dev"11094version = "4.1.0-dev"11164source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11095source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11165dependencies = [11096dependencies = [11166 "thiserror",11097 "thiserror",11167 "zstd",11098 "zstd",11170[[package]]11101[[package]]11171name = "sp-mmr-primitives"11102name = "sp-mmr-primitives"11172version = "4.0.0-dev"11103version = "4.0.0-dev"11173source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11104source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11174dependencies = [11105dependencies = [11175 "log",11106 "log",11176 "parity-scale-codec 3.1.5",11107 "parity-scale-codec 3.1.5",11185[[package]]11116[[package]]11186name = "sp-npos-elections"11117name = "sp-npos-elections"11187version = "4.0.0-dev"11118version = "4.0.0-dev"11188source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11119source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11189dependencies = [11120dependencies = [11190 "parity-scale-codec 3.1.5",11121 "parity-scale-codec 3.1.5",11191 "scale-info",11122 "scale-info",11199[[package]]11130[[package]]11200name = "sp-offchain"11131name = "sp-offchain"11201version = "4.0.0-dev"11132version = "4.0.0-dev"11202source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11133source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11203dependencies = [11134dependencies = [11204 "sp-api",11135 "sp-api",11205 "sp-core",11136 "sp-core",11209[[package]]11140[[package]]11210name = "sp-panic-handler"11141name = "sp-panic-handler"11211version = "4.0.0"11142version = "4.0.0"11212source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11143source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11213dependencies = [11144dependencies = [11214 "backtrace",11145 "backtrace",11215 "lazy_static",11146 "lazy_static",11219[[package]]11150[[package]]11220name = "sp-rpc"11151name = "sp-rpc"11221version = "6.0.0"11152version = "6.0.0"11222source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11153source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11223dependencies = [11154dependencies = [11224 "rustc-hash",11155 "rustc-hash",11225 "serde",11156 "serde",11229[[package]]11160[[package]]11230name = "sp-runtime"11161name = "sp-runtime"11231version = "6.0.0"11162version = "6.0.0"11232source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11163source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11233dependencies = [11164dependencies = [11234 "either",11165 "either",11235 "hash256-std-hasher",11166 "hash256-std-hasher",11251[[package]]11182[[package]]11252name = "sp-runtime-interface"11183name = "sp-runtime-interface"11253version = "6.0.0"11184version = "6.0.0"11254source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11185source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11255dependencies = [11186dependencies = [11256 "impl-trait-for-tuples",11187 "impl-trait-for-tuples",11257 "parity-scale-codec 3.1.5",11188 "parity-scale-codec 3.1.5",11268[[package]]11199[[package]]11269name = "sp-runtime-interface-proc-macro"11200name = "sp-runtime-interface-proc-macro"11270version = "5.0.0"11201version = "5.0.0"11271source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11202source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11272dependencies = [11203dependencies = [11273 "Inflector",11204 "Inflector",11274 "proc-macro-crate",11205 "proc-macro-crate",11280[[package]]11211[[package]]11281name = "sp-sandbox"11212name = "sp-sandbox"11282version = "0.10.0-dev"11213version = "0.10.0-dev"11283source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11214source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11284dependencies = [11215dependencies = [11285 "log",11216 "log",11286 "parity-scale-codec 3.1.5",11217 "parity-scale-codec 3.1.5",11294[[package]]11225[[package]]11295name = "sp-serializer"11226name = "sp-serializer"11296version = "4.0.0-dev"11227version = "4.0.0-dev"11297source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11228source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11298dependencies = [11229dependencies = [11299 "serde",11230 "serde",11300 "serde_json",11231 "serde_json",11303[[package]]11234[[package]]11304name = "sp-session"11235name = "sp-session"11305version = "4.0.0-dev"11236version = "4.0.0-dev"11306source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11237source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11307dependencies = [11238dependencies = [11308 "parity-scale-codec 3.1.5",11239 "parity-scale-codec 3.1.5",11309 "scale-info",11240 "scale-info",11317[[package]]11248[[package]]11318name = "sp-staking"11249name = "sp-staking"11319version = "4.0.0-dev"11250version = "4.0.0-dev"11320source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11251source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11321dependencies = [11252dependencies = [11322 "parity-scale-codec 3.1.5",11253 "parity-scale-codec 3.1.5",11323 "scale-info",11254 "scale-info",11328[[package]]11259[[package]]11329name = "sp-state-machine"11260name = "sp-state-machine"11330version = "0.12.0"11261version = "0.12.0"11331source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11262source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11332dependencies = [11263dependencies = [11333 "hash-db",11264 "hash-db",11334 "log",11265 "log",11350[[package]]11281[[package]]11351name = "sp-std"11282name = "sp-std"11352version = "4.0.0"11283version = "4.0.0"11353source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11284source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"113541128511355[[package]]11286[[package]]11356name = "sp-storage"11287name = "sp-storage"11357version = "6.0.0"11288version = "6.0.0"11358source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11289source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11359dependencies = [11290dependencies = [11360 "impl-serde",11291 "impl-serde",11361 "parity-scale-codec 3.1.5",11292 "parity-scale-codec 3.1.5",11368[[package]]11299[[package]]11369name = "sp-tasks"11300name = "sp-tasks"11370version = "4.0.0-dev"11301version = "4.0.0-dev"11371source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11302source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11372dependencies = [11303dependencies = [11373 "log",11304 "log",11374 "sp-core",11305 "sp-core",11381[[package]]11312[[package]]11382name = "sp-timestamp"11313name = "sp-timestamp"11383version = "4.0.0-dev"11314version = "4.0.0-dev"11384source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11315source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11385dependencies = [11316dependencies = [11386 "async-trait",11317 "async-trait",11387 "futures-timer",11318 "futures-timer",11397[[package]]11328[[package]]11398name = "sp-tracing"11329name = "sp-tracing"11399version = "5.0.0"11330version = "5.0.0"11400source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11331source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11401dependencies = [11332dependencies = [11402 "parity-scale-codec 3.1.5",11333 "parity-scale-codec 3.1.5",11403 "sp-std",11334 "sp-std",11409[[package]]11340[[package]]11410name = "sp-transaction-pool"11341name = "sp-transaction-pool"11411version = "4.0.0-dev"11342version = "4.0.0-dev"11412source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11343source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11413dependencies = [11344dependencies = [11414 "sp-api",11345 "sp-api",11415 "sp-runtime",11346 "sp-runtime",11418[[package]]11349[[package]]11419name = "sp-transaction-storage-proof"11350name = "sp-transaction-storage-proof"11420version = "4.0.0-dev"11351version = "4.0.0-dev"11421source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11352source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11422dependencies = [11353dependencies = [11423 "async-trait",11354 "async-trait",11424 "log",11355 "log",11434[[package]]11365[[package]]11435name = "sp-trie"11366name = "sp-trie"11436version = "6.0.0"11367version = "6.0.0"11437source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11368source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11438dependencies = [11369dependencies = [11439 "hash-db",11370 "hash-db",11440 "memory-db",11371 "memory-db",11450[[package]]11381[[package]]11451name = "sp-version"11382name = "sp-version"11452version = "5.0.0"11383version = "5.0.0"11453source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11384source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11454dependencies = [11385dependencies = [11455 "impl-serde",11386 "impl-serde",11456 "parity-scale-codec 3.1.5",11387 "parity-scale-codec 3.1.5",11467[[package]]11398[[package]]11468name = "sp-version-proc-macro"11399name = "sp-version-proc-macro"11469version = "4.0.0-dev"11400version = "4.0.0-dev"11470source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11401source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11471dependencies = [11402dependencies = [11472 "parity-scale-codec 3.1.5",11403 "parity-scale-codec 3.1.5",11473 "proc-macro2",11404 "proc-macro2",11478[[package]]11409[[package]]11479name = "sp-wasm-interface"11410name = "sp-wasm-interface"11480version = "6.0.0"11411version = "6.0.0"11481source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11412source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11482dependencies = [11413dependencies = [11483 "impl-trait-for-tuples",11414 "impl-trait-for-tuples",11484 "log",11415 "log",11633[[package]]11564[[package]]11634name = "substrate-build-script-utils"11565name = "substrate-build-script-utils"11635version = "3.0.0"11566version = "3.0.0"11636source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11567source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11637dependencies = [11568dependencies = [11638 "platforms",11569 "platforms",11639]11570]116401157111641[[package]]11572[[package]]11642name = "substrate-frame-rpc-system"11573name = "substrate-frame-rpc-system"11643version = "4.0.0-dev"11574version = "4.0.0-dev"11644source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11575source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11645dependencies = [11576dependencies = [11646 "frame-system-rpc-runtime-api",11577 "frame-system-rpc-runtime-api",11647 "futures 0.3.21",11578 "futures 0.3.21",11662[[package]]11593[[package]]11663name = "substrate-prometheus-endpoint"11594name = "substrate-prometheus-endpoint"11664version = "0.10.0-dev"11595version = "0.10.0-dev"11665source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11596source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11666dependencies = [11597dependencies = [11667 "futures-util",11598 "futures-util",11668 "hyper",11599 "hyper",11675[[package]]11606[[package]]11676name = "substrate-state-trie-migration-rpc"11607name = "substrate-state-trie-migration-rpc"11677version = "4.0.0-dev"11608version = "4.0.0-dev"11678source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11609source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11679dependencies = [11610dependencies = [11680 "jsonrpsee",11611 "jsonrpsee",11681 "log",11612 "log",11696[[package]]11627[[package]]11697name = "substrate-test-client"11628name = "substrate-test-client"11698version = "2.0.1"11629version = "2.0.1"11699source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11630source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11700dependencies = [11631dependencies = [11701 "async-trait",11632 "async-trait",11702 "futures 0.3.21",11633 "futures 0.3.21",11722[[package]]11653[[package]]11723name = "substrate-test-utils"11654name = "substrate-test-utils"11724version = "4.0.0-dev"11655version = "4.0.0-dev"11725source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11656source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11726dependencies = [11657dependencies = [11727 "futures 0.3.21",11658 "futures 0.3.21",11728 "substrate-test-utils-derive",11659 "substrate-test-utils-derive",11732[[package]]11663[[package]]11733name = "substrate-test-utils-derive"11664name = "substrate-test-utils-derive"11734version = "0.10.0-dev"11665version = "0.10.0-dev"11735source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11666source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11736dependencies = [11667dependencies = [11737 "proc-macro-crate",11668 "proc-macro-crate",11738 "proc-macro2",11669 "proc-macro2",11743[[package]]11674[[package]]11744name = "substrate-wasm-builder"11675name = "substrate-wasm-builder"11745version = "5.0.0-dev"11676version = "5.0.0-dev"11746source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"11677source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"11747dependencies = [11678dependencies = [11748 "ansi_term",11679 "ansi_term",11749 "build-helper",11680 "build-helper",11827 "cfg-if 1.0.0",11758 "cfg-if 1.0.0",11828 "fastrand",11759 "fastrand",11829 "libc",11760 "libc",11830 "redox_syscall 0.2.13",11761 "redox_syscall",11831 "remove_dir_all",11762 "remove_dir_all",11832 "winapi",11763 "winapi",11833]11764]1183411835[[package]]11836name = "term"11837version = "0.5.2"11838source = "registry+https://github.com/rust-lang/crates.io-index"11839checksum = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42"11840dependencies = [11841 "byteorder",11842 "dirs",11843 "winapi",11844]118451176511846[[package]]11766[[package]]11847name = "termcolor"11767name = "termcolor"118541177411855[[package]]11775[[package]]11856name = "test-runtime-constants"11776name = "test-runtime-constants"11857version = "0.9.22"11777version = "0.9.23"11858source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"11778source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"11859dependencies = [11779dependencies = [11860 "frame-support",11780 "frame-support",11861 "polkadot-primitives",11781 "polkadot-primitives",12075 "syn",11995 "syn",12076]11996]1207712078[[package]]12079name = "tokio-rustls"12080version = "0.22.0"12081source = "registry+https://github.com/rust-lang/crates.io-index"12082checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6"12083dependencies = [12084 "rustls 0.19.1",12085 "tokio 1.19.2",12086 "webpki 0.21.4",12087]120881199712089[[package]]11998[[package]]12090name = "tokio-rustls"11999name = "tokio-rustls"12091version = "0.23.4"12000version = "0.23.4"12092source = "registry+https://github.com/rust-lang/crates.io-index"12001source = "registry+https://github.com/rust-lang/crates.io-index"12093checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"12002checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"12094dependencies = [12003dependencies = [12095 "rustls 0.20.6",12004 "rustls",12096 "tokio 1.19.2",12005 "tokio 1.19.2",12097 "webpki 0.22.0",12006 "webpki",12098]12007]120991200812100[[package]]12009[[package]]121721208112173[[package]]12082[[package]]12174name = "tracing-gum"12083name = "tracing-gum"12175version = "0.9.22"12084version = "0.9.23"12176source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"12085source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"12177dependencies = [12086dependencies = [12178 "polkadot-node-jaeger",12087 "polkadot-node-jaeger",12179 "polkadot-primitives",12088 "polkadot-primitives",121831209212184[[package]]12093[[package]]12185name = "tracing-gum-proc-macro"12094name = "tracing-gum-proc-macro"12186version = "0.9.22"12095version = "0.9.23"12187source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"12096source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"12188dependencies = [12097dependencies = [12189 "expander 0.0.6",12098 "expander 0.0.6",12190 "proc-macro-crate",12099 "proc-macro-crate",12323[[package]]12232[[package]]12324name = "try-runtime-cli"12233name = "try-runtime-cli"12325version = "0.10.0-dev"12234version = "0.10.0-dev"12326source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.22#616d33ea23bab86cafffaf116fc607b6790fb4eb"12235source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.23#76522d7937ba94ff1becef4e4e3ca78e3e1de341"12327dependencies = [12236dependencies = [12328 "clap",12237 "clap",12329 "jsonrpsee",12238 "jsonrpsee",12357source = "registry+https://github.com/rust-lang/crates.io-index"12266source = "registry+https://github.com/rust-lang/crates.io-index"12358checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"12267checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"12359dependencies = [12268dependencies = [12360 "cfg-if 1.0.0",12269 "cfg-if 0.1.10",12361 "digest 0.10.3",12270 "digest 0.10.3",12362 "rand 0.8.5",12271 "rand 0.8.5",12363 "static_assertions",12272 "static_assertions",124571236612458[[package]]12367[[package]]12459name = "unique-node"12368name = "unique-node"12460version = "0.9.22"12369version = "0.9.23"12461dependencies = [12370dependencies = [12462 "clap",12371 "clap",12463 "cumulus-client-cli",12372 "cumulus-client-cli",125941250312595[[package]]12504[[package]]12596name = "unique-runtime"12505name = "unique-runtime"12597version = "0.9.22"12506version = "0.9.23"12598dependencies = [12507dependencies = [12599 "cumulus-pallet-aura-ext",12508 "cumulus-pallet-aura-ext",12600 "cumulus-pallet-dmp-queue",12509 "cumulus-pallet-dmp-queue",126761258512677[[package]]12586[[package]]12678name = "unique-runtime-common"12587name = "unique-runtime-common"12679version = "0.9.22"12588version = "0.9.23"12680dependencies = [12589dependencies = [12681 "evm-coder",12590 "evm-coder",12682 "fp-rpc",12591 "fp-rpc",12763[[package]]12672[[package]]12764name = "up-sponsorship"12673name = "up-sponsorship"12765version = "0.1.0"12674version = "0.1.0"12766source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.22#9fc4fbc3f83fdc793205f3fef1c97ef168d4dfe0"12675source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.23#5f3b55354830f9707d6632aaa54362deea981116"12767dependencies = [12676dependencies = [12768 "impl-trait-for-tuples",12677 "impl-trait-for-tuples",12769]12678]13135 "libc",13044 "libc",13136 "log",13045 "log",13137 "mach",13046 "mach",13047 "memfd",13138 "memoffset",13048 "memoffset",13139 "more-asserts",13049 "more-asserts",13140 "rand 0.8.5",13050 "rand 0.8.5",13168 "wasm-bindgen",13078 "wasm-bindgen",13169]13079]1317013171[[package]]13172name = "webpki"13173version = "0.21.4"13174source = "registry+https://github.com/rust-lang/crates.io-index"13175checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea"13176dependencies = [13177 "ring",13178 "untrusted",13179]131801308013181[[package]]13081[[package]]13182name = "webpki"13082name = "webpki"13194source = "registry+https://github.com/rust-lang/crates.io-index"13094source = "registry+https://github.com/rust-lang/crates.io-index"13195checksum = "44d8de8415c823c8abd270ad483c6feeac771fad964890779f9a8cb24fbbc1bf"13095checksum = "44d8de8415c823c8abd270ad483c6feeac771fad964890779f9a8cb24fbbc1bf"13196dependencies = [13096dependencies = [13197 "webpki 0.22.0",13097 "webpki",13198]13098]131991309913200[[package]]13100[[package]]132081310813209[[package]]13109[[package]]13210name = "westend-runtime"13110name = "westend-runtime"13211version = "0.9.22"13111version = "0.9.23"13212source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"13112source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"13213dependencies = [13113dependencies = [13214 "beefy-primitives",13114 "beefy-primitives",13215 "bitvec 1.0.0",13115 "bitvec 1.0.0",132971319713298[[package]]13198[[package]]13299name = "westend-runtime-constants"13199name = "westend-runtime-constants"13300version = "0.9.22"13200version = "0.9.23"13301source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"13201source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"13302dependencies = [13202dependencies = [13303 "frame-support",13203 "frame-support",13304 "polkadot-primitives",13204 "polkadot-primitives",133571325713358[[package]]13258[[package]]13359name = "windows"13259name = "windows"13360version = "0.29.0"13260version = "0.34.0"13361source = "registry+https://github.com/rust-lang/crates.io-index"13261source = "registry+https://github.com/rust-lang/crates.io-index"13362checksum = "aac7fef12f4b59cd0a29339406cc9203ab44e440ddff6b3f5a41455349fa9cf3"13262checksum = "45296b64204227616fdbf2614cefa4c236b98ee64dfaaaa435207ed99fe7829f"13363dependencies = [13263dependencies = [13364 "windows_aarch64_msvc 0.29.0",13264 "windows_aarch64_msvc 0.34.0",13365 "windows_i686_gnu 0.29.0",13265 "windows_i686_gnu 0.34.0",13366 "windows_i686_msvc 0.29.0",13266 "windows_i686_msvc 0.34.0",13367 "windows_x86_64_gnu 0.29.0",13267 "windows_x86_64_gnu 0.34.0",13368 "windows_x86_64_msvc 0.29.0",13268 "windows_x86_64_msvc 0.34.0",13369]13269]133701327013371[[package]]13271[[package]]133831328313384[[package]]13284[[package]]13385name = "windows_aarch64_msvc"13285name = "windows_aarch64_msvc"13386version = "0.29.0"13286version = "0.34.0"13387source = "registry+https://github.com/rust-lang/crates.io-index"13287source = "registry+https://github.com/rust-lang/crates.io-index"13388checksum = "c3d027175d00b01e0cbeb97d6ab6ebe03b12330a35786cbaca5252b1c4bf5d9b"13288checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d"133891328913390[[package]]13290[[package]]13391name = "windows_aarch64_msvc"13291name = "windows_aarch64_msvc"133951329513396[[package]]13296[[package]]13397name = "windows_i686_gnu"13297name = "windows_i686_gnu"13398version = "0.29.0"13298version = "0.34.0"13399source = "registry+https://github.com/rust-lang/crates.io-index"13299source = "registry+https://github.com/rust-lang/crates.io-index"13400checksum = "8793f59f7b8e8b01eda1a652b2697d87b93097198ae85f823b969ca5b89bba58"13300checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed"134011330113402[[package]]13302[[package]]13403name = "windows_i686_gnu"13303name = "windows_i686_gnu"134071330713408[[package]]13308[[package]]13409name = "windows_i686_msvc"13309name = "windows_i686_msvc"13410version = "0.29.0"13310version = "0.34.0"13411source = "registry+https://github.com/rust-lang/crates.io-index"13311source = "registry+https://github.com/rust-lang/crates.io-index"13412checksum = "8602f6c418b67024be2996c512f5f995de3ba417f4c75af68401ab8756796ae4"13312checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956"134131331313414[[package]]13314[[package]]13415name = "windows_i686_msvc"13315name = "windows_i686_msvc"134191331913420[[package]]13320[[package]]13421name = "windows_x86_64_gnu"13321name = "windows_x86_64_gnu"13422version = "0.29.0"13322version = "0.34.0"13423source = "registry+https://github.com/rust-lang/crates.io-index"13323source = "registry+https://github.com/rust-lang/crates.io-index"13424checksum = "f3d615f419543e0bd7d2b3323af0d86ff19cbc4f816e6453f36a2c2ce889c354"13324checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4"134251332513426[[package]]13326[[package]]13427name = "windows_x86_64_gnu"13327name = "windows_x86_64_gnu"134311333113432[[package]]13332[[package]]13433name = "windows_x86_64_msvc"13333name = "windows_x86_64_msvc"13434version = "0.29.0"13334version = "0.34.0"13435source = "registry+https://github.com/rust-lang/crates.io-index"13335source = "registry+https://github.com/rust-lang/crates.io-index"13436checksum = "11d95421d9ed3672c280884da53201a5c46b7b2765ca6faf34b0d71cf34a3561"13336checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9"134371333713438[[package]]13338[[package]]13439name = "windows_x86_64_msvc"13339name = "windows_x86_64_msvc"134781337813479[[package]]13379[[package]]13480name = "xcm"13380name = "xcm"13481version = "0.9.22"13381version = "0.9.23"13482source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"13382source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"13483dependencies = [13383dependencies = [13484 "derivative",13384 "derivative",13485 "impl-trait-for-tuples",13385 "impl-trait-for-tuples",134911339113492[[package]]13392[[package]]13493name = "xcm-builder"13393name = "xcm-builder"13494version = "0.9.22"13394version = "0.9.23"13495source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"13395source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"13496dependencies = [13396dependencies = [13497 "frame-support",13397 "frame-support",13498 "frame-system",13398 "frame-system",135111341113512[[package]]13412[[package]]13513name = "xcm-executor"13413name = "xcm-executor"13514version = "0.9.22"13414version = "0.9.23"13515source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"13415source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"13516dependencies = [13416dependencies = [13517 "frame-benchmarking",13417 "frame-benchmarking",13518 "frame-support",13418 "frame-support",13530[[package]]13430[[package]]13531name = "xcm-procedural"13431name = "xcm-procedural"13532version = "0.1.0"13432version = "0.1.0"13533source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.22#17c7b9594aedbfc644d7e6e26f7bd244e68ccf4d"13433source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.23#a7e188cd9665c735f4b9d5a58cdbc4dd1850eae0"13534dependencies = [13434dependencies = [13535 "Inflector",13435 "Inflector",13536 "proc-macro2",13436 "proc-macro2",Dockerfile-parachaindiffbeforeafterboth--- 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=***
Makefilediffbeforeafterboth--- 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
README.mddiffbeforeafterboth--- 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
```
client/rpc/Cargo.tomldiffbeforeafterboth--- 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" }
crates/evm-coder/Cargo.tomldiffbeforeafterboth--- 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]
crates/evm-coder/tests/generics.rsdiffbeforeafterboth--- 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<uint256> {
- todo!()
+ unreachable!()
}
}
node/cli/Cargo.tomldiffbeforeafterboth--- 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 = []
node/cli/src/chain_spec.rsdiffbeforeafterboth--- 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")]
node/cli/src/command.rsdiffbeforeafterboth--- 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::<Block, UniqueRuntimeExecutor>(config))
+ runner.sync_run(|config| cmd.run::<Block, DefaultRuntimeExecutor>(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::<polkadot_primitives::v2::AccountId>::into_account(
- ¶_id,
- );
+ let parachain_account = AccountIdConversion::<polkadot_primitives::v2::AccountId>::into_account_truncating(¶_id);
let state_version =
RelayChainCli::native_runtime_version(&config.chain_spec).state_version();
node/cli/src/service.rsdiffbeforeafterboth--- 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;
node/rpc/Cargo.tomldiffbeforeafterboth--- 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" }
node/rpc/src/lib.rsdiffbeforeafterboth--- 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())));
pallets/common/Cargo.tomldiffbeforeafterboth--- 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 = [
pallets/common/src/benchmarking.rsdiffbeforeafterboth--- 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),
pallets/common/src/lib.rsdiffbeforeafterboth--- 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<T::AccountId>,
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,
- <Error<T>>::NoPermission,
- )
- },
+ nesting => { /* todo check for permissive, if only it gets out of benchmarks */ },
);
Ok(new_limit)
}
pallets/evm-coder-substrate/Cargo.tomldiffbeforeafterboth--- 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]
pallets/evm-contract-helpers/Cargo.tomldiffbeforeafterboth--- 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' }
pallets/evm-migration/Cargo.tomldiffbeforeafterboth--- 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
pallets/evm-transaction-payment/Cargo.tomldiffbeforeafterboth--- 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
pallets/fungible/Cargo.tomldiffbeforeafterboth--- 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",
] }
pallets/inflation/Cargo.tomldiffbeforeafterboth--- 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 = [
pallets/nonfungible/Cargo.tomldiffbeforeafterboth--- 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",
] }
pallets/nonfungible/src/lib.rsdiffbeforeafterboth--- 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<T: Config> = StorageNMap<
+ Key = (
+ Key<Twox64Concat, CollectionId>,
+ Key<Twox64Concat, TokenId>,
+ Key<Twox64Concat, PropertyScope>,
+ Key<Twox64Concat, PropertyKey>,
+ ),
+ Value = AuxPropertyValue,
+ QueryKind = OptionQuery,
+ >;
+
/// Used to enumerate tokens owned by account
#[pallet::storage]
pub type Owned<T: Config> = StorageNMap<
@@ -294,6 +307,33 @@
Ok(())
}
+ pub fn try_mutate_token_aux_property<R, E>(
+ collection_id: CollectionId,
+ token_id: TokenId,
+ scope: PropertyScope,
+ key: PropertyKey,
+ f: impl FnOnce(&mut Option<AuxPropertyValue>) -> Result<R, E>,
+ ) -> Result<R, E> {
+ <TokenAuxProperties<T>>::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,
+ ) {
+ <TokenAuxProperties<T>>::remove((collection_id, token_id, scope, key));
+ }
+
+ pub fn iterate_token_aux_properties(
+ collection_id: CollectionId,
+ token_id: TokenId,
+ scope: PropertyScope,
+ ) -> impl Iterator<Item = (PropertyKey, AuxPropertyValue)> {
+ <TokenAuxProperties<T>>::iter_prefix((collection_id, token_id, scope))
+ }
+
pub fn current_token_id(collection_id: CollectionId) -> TokenId {
TokenId(<TokensMinted<T>>::get(collection_id))
}
@@ -375,6 +415,7 @@
<TokensBurnt<T>>::insert(collection.id, burnt);
<TokenData<T>>::remove((collection.id, token));
<TokenProperties<T>>::remove((collection.id, token));
+ <TokenAuxProperties<T>>::remove_prefix((collection.id, token), None);
let old_spender = <Allowance<T>>::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
&& <PalletStructure<T>>::check_indirectly_owned(
pallets/proxy-rmrk-core/Cargo.tomldiffbeforeafterboth--- 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"] }
pallets/proxy-rmrk-core/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/proxy-rmrk-core/src/benchmarking.rs
+++ b/pallets/proxy-rmrk-core/src/benchmarking.rs
@@ -85,7 +85,7 @@
<Pallet<T>>::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<T: Config>(&mut self, owner: &T::AccountId) -> Result<RmrkNftId, DispatchError> {
@@ -220,7 +216,6 @@
let b in 0..100;
let caller: T::AccountId = account("caller", 0, SEED);
- <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
create_max_collection::<T>(&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);
- <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
create_max_collection::<T>(&caller)?;
let collection_id = 0;
@@ -398,7 +392,6 @@
add_composable_resource {
let caller: T::AccountId = account("caller", 0, SEED);
- <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
create_max_collection::<T>(&caller)?;
let collection_id = 0;
@@ -415,7 +408,6 @@
add_slot_resource {
let caller: T::AccountId = account("caller", 0, SEED);
- <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
create_max_collection::<T>(&caller)?;
let collection_id = 0;
@@ -432,7 +424,6 @@
remove_resource {
let caller: T::AccountId = account("caller", 0, SEED);
- <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
create_max_collection::<T>(&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);
- <T as pallet_common::Config>::Currency::deposit_creating(&admin, T::CollectionCreationPrice::get());
-
create_max_collection::<T>(&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);
-
- <T as pallet_common::Config>::Currency::deposit_creating(&admin, T::CollectionCreationPrice::get());
create_max_collection::<T>(&admin)?;
let collection_id = 0;
@@ -515,7 +502,7 @@
resource
)?;
- let resource_id = 1;
+ let resource_id = 0;
let new_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::AccountId(caller.clone());
pallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth--- 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<T> = <T as Config>::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(<SelfWeightOf<T>>::mint_nft(resources.as_ref().map(|r| r.len() as u32).unwrap_or(0)))]
pub fn mint_nft(
origin: OriginFor<T>,
- owner: T::AccountId,
+ owner: Option<T::AccountId>,
collection_id: RmrkCollectionId,
recipient: Option<T::AccountId>,
royalty_amount: Option<Permill>,
@@ -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::<CollectionId>)?,
Self::rmrk_property(ResourcePriorities, &<Vec<u8>>::new())?,
+ Self::rmrk_property(NextResourceId, &(0 as RmrkResourceId))?,
]
.into_iter(),
)
@@ -653,12 +659,17 @@
collection.check_is_external()?;
ensure!(
+ <TokenData<T>>::get((collection_id, nft_id)).is_some(),
+ <Error<T>>::NoAvailableNftId
+ );
+
+ ensure!(
Self::get_nft_property_decoded(
collection_id,
nft_id,
RmrkProperty::PendingNftAccept
)?,
- <Error<T>>::NoPermission
+ <Error<T>>::CannotRejectNonPendingNft
);
Self::destroy_nft(
@@ -686,7 +697,7 @@
origin: OriginFor<T>,
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 @@
<PalletStructure<T>>::find_topmost_owner(collection_id, nft_id, &budget)
.map_err(|_| <Error<T>>::ResourceDoesntExist)?;
- let resource_collection_id: Option<CollectionId> =
- Self::get_nft_property_decoded(collection_id, nft_id, ResourceCollection)
- .map_err(|_| <Error<T>>::ResourceDoesntExist)?;
-
- let resource_collection_id =
- resource_collection_id.ok_or(<Error<T>>::ResourceDoesntExist)?;
+ Self::try_mutate_resource_info(collection_id, nft_id, resource_id, |res| {
+ ensure!(res.pending, <Error<T>>::ResourceNotPending);
+ ensure!(cross_sender == nft_owner, <Error<T>>::NoPermission);
- let is_pending: bool = Self::get_nft_property_decoded(
- resource_collection_id,
- resource_id,
- PendingResourceAccept,
- )
- .map_err(|_| <Error<T>>::ResourceDoesntExist)?;
+ res.pending = false;
- ensure!(is_pending, <Error<T>>::ResourceNotPending);
-
- ensure!(cross_sender == nft_owner, <Error<T>>::NoPermission);
-
- <PalletNft<T>>::set_scoped_token_property(
- resource_collection_id,
- rmrk_resource_id.into(),
- PropertyScope::Rmrk,
- Self::rmrk_property(PendingResourceAccept, &false)?,
- )?;
+ Ok(())
+ })?;
Self::deposit_event(Event::<T>::ResourceAccepted {
nft_id: rmrk_nft_id,
- resource_id: rmrk_resource_id,
+ resource_id,
});
Ok(())
@@ -746,7 +740,7 @@
origin: OriginFor<T>,
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, <Error<T>>::NoPermission);
- let resource_collection_id: Option<CollectionId> =
- Self::get_nft_property_decoded(collection_id, nft_id, ResourceCollection)
- .map_err(|_| <Error<T>>::ResourceDoesntExist)?;
-
- let resource_collection_id =
- resource_collection_id.ok_or(<Error<T>>::ResourceDoesntExist)?;
-
- let is_pending: bool = Self::get_nft_property_decoded(
- resource_collection_id,
- resource_id,
- PendingResourceRemoval,
- )
- .map_err(|_| <Error<T>>::ResourceDoesntExist)?;
+ let resource_id_key = Self::rmrk_property_key(ResourceId(resource_id))?;
- ensure!(is_pending, <Error<T>>::ResourceNotPending);
-
- let resource_collection = Self::get_typed_nft_collection(
- resource_collection_id,
- misc::CollectionType::Resource,
- )?;
+ let resource_info = <PalletNft<T>>::token_aux_property((
+ collection_id,
+ nft_id,
+ PropertyScope::Rmrk,
+ resource_id_key.clone(),
+ ))
+ .ok_or(<Error<T>>::ResourceDoesntExist)?;
- let resource_data = <TokenData<T>>::get((resource_collection_id, resource_id))
- .ok_or(<Error<T>>::ResourceDoesntExist)?;
+ let resource_info: RmrkResourceInfo = Self::decode_property(&resource_info)?;
- let resource_owner = resource_data.owner;
+ ensure!(
+ resource_info.pending_removal,
+ <Error<T>>::ResourceNotPending
+ );
- <PalletNft<T>>::burn(
- &resource_collection,
- &resource_owner,
- rmrk_resource_id.into(),
- )
- .map_err(Self::map_unique_err_to_proxy)?;
+ <PalletNft<T>>::remove_token_aux_property(
+ collection_id,
+ nft_id,
+ PropertyScope::Rmrk,
+ resource_id_key,
+ );
Self::deposit_event(Event::<T>::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<Property, DispatchError> {
let key = rmrk_key.to_key::<T>()?;
+ let value = Self::encode_property(value)?;
+
+ let property = Property { key, value };
+
+ Ok(property)
+ }
+
+ pub fn encode_property<E: Encode, S: Get<u32>>(
+ value: &E,
+ ) -> Result<BoundedBytes<S>, DispatchError> {
let value = value
.encode()
.try_into()
.map_err(|_| <Error<T>>::RmrkPropertyValueIsTooLong)?;
-
- let property = Property { key, value };
- Ok(property)
+ Ok(value)
}
- pub fn decode_property<D: Decode>(vec: PropertyValue) -> Result<D, DispatchError> {
+ pub fn decode_property<D: Decode, S: Get<u32>>(
+ vec: &BoundedBytes<S>,
+ ) -> Result<D, DispatchError> {
vec.decode()
.map_err(|_| <Error<T>>::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<RmrkResourceId, DispatchError> {
- 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(<Error<T>>::NoAvailableResourceId)?;
+
+ <PalletNft<T>>::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<Item = Property>,
+ nft_id: TokenId,
+ resource: RmrkResourceTypes,
) -> Result<RmrkResourceId, DispatchError> {
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 = <PalletStructure<T>>::find_topmost_owner(collection_id, token_id, &budget)
+ let nft_owner = <PalletStructure<T>>::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<CollectionId> =
- 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(),
- )?;
- <PalletNft<T>>::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
+ <PalletNft<T>>::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(_) => <Error<T>>::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::<T>::NoPermission);
- let resource_collection_id: Option<CollectionId> =
- Self::get_nft_property_decoded(collection_id, nft_id, ResourceCollection)?;
-
- let resource_collection_id =
- resource_collection_id.ok_or(Error::<T>::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!(
- <PalletNft<T>>::token_exists(&resource_collection, resource_id),
- Error::<T>::ResourceDoesntExist
+ <PalletNft<T>>::token_aux_property((
+ collection_id,
+ nft_id,
+ scope,
+ resource_id_key.clone()
+ ))
+ .is_some(),
+ <Error<T>>::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 {
- <PalletNft<T>>::burn(&resource_collection, &sender, resource_id)
- .map_err(Self::map_unique_err_to_proxy)?;
- } else {
- <PalletNft<T>>::set_scoped_token_property(
- resource_collection_id,
- resource_id,
+ <PalletNft<T>>::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 {
+ <PalletNft<T>>::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(<Error<T>>::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<T>,
account: &T::CrossAccountId,
) -> DispatchResult {
@@ -1397,14 +1356,19 @@
collection_id: CollectionId,
key: RmrkProperty,
) -> Result<V, DispatchError> {
- 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<misc::CollectionType, DispatchError> {
- Self::get_collection_property_decoded(collection_id, CollectionType)
- .map_err(|_| <Error<T>>::CorruptedCollectionType.into())
+ Self::get_collection_property_decoded(collection_id, CollectionType).map_err(|err| {
+ if err != <Error<T>>::CollectionUnknown.into() {
+ <Error<T>>::CorruptedCollectionType.into()
+ } else {
+ err
+ }
+ })
}
pub fn ensure_collection_type(
@@ -1450,7 +1414,7 @@
) -> Result<PropertyValue, DispatchError> {
let nft_property = <PalletNft<T>>::token_properties((collection_id, nft_id))
.get(&Self::rmrk_property_key(key)?)
- .ok_or(<Error<T>>::NoAvailableNftId)? // todo replace with better error?
+ .ok_or(<Error<T>>::RmrkPropertyIsNotFound)?
.clone();
Ok(nft_property)
@@ -1461,7 +1425,7 @@
nft_id: TokenId,
key: RmrkProperty,
) -> Result<V, DispatchError> {
- 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 {
pallets/proxy-rmrk-core/src/misc.rsdiffbeforeafterboth--- 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,
}
pallets/proxy-rmrk-core/src/property.rsdiffbeforeafterboth--- 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"),
pallets/proxy-rmrk-core/src/rpc.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/proxy-rmrk-core/src/rpc.rs
@@ -0,0 +1,265 @@
+use super::*;
+
+pub fn last_collection_idx<T: Config>() -> Result<RmrkCollectionId, DispatchError> {
+ Ok(<Pallet<T>>::last_collection_idx())
+}
+
+pub fn collection_by_id<T: Config>(
+ collection_id: RmrkCollectionId,
+) -> Result<Option<RmrkCollectionInfo<T::AccountId>>, DispatchError> {
+ let (collection, collection_id) = match <Pallet<T>>::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: <Pallet<T>>::get_collection_property_decoded(
+ collection_id,
+ RmrkProperty::Metadata,
+ )?,
+ max: collection.limits.token_limit,
+ symbol: <Pallet<T>>::rebind(&collection.token_prefix)?,
+ nfts_count,
+ }))
+}
+
+pub fn nft_by_id<T: Config>(
+ collection_id: RmrkCollectionId,
+ nft_by_id: RmrkNftId,
+) -> Result<Option<RmrkInstanceInfo<T::AccountId>>, DispatchError> {
+ let (collection, collection_id) = match <Pallet<T>>::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 !<Pallet<T>>::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 = <Pallet<T>>::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: <Pallet<T>>::get_nft_property_decoded(
+ collection_id,
+ nft_id,
+ RmrkProperty::RoyaltyInfo,
+ )?,
+ metadata: <Pallet<T>>::get_nft_property_decoded(
+ collection_id,
+ nft_id,
+ RmrkProperty::Metadata,
+ )?,
+ equipped: <Pallet<T>>::get_nft_property_decoded(
+ collection_id,
+ nft_id,
+ RmrkProperty::Equipped,
+ )?,
+ pending: <Pallet<T>>::get_nft_property_decoded(
+ collection_id,
+ nft_id,
+ RmrkProperty::PendingNftAccept,
+ )?,
+ }))
+}
+
+pub fn account_tokens<T: Config>(
+ account_id: T::AccountId,
+ collection_id: RmrkCollectionId,
+) -> Result<Vec<RmrkNftId>, DispatchError> {
+ let cross_account_id = CrossAccountId::from_sub(account_id);
+
+ let (collection, collection_id) = match <Pallet<T>>::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 = <Pallet<T>>::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<T: Config>(
+ collection_id: RmrkCollectionId,
+ nft_id: RmrkNftId,
+) -> Result<Vec<RmrkNftChild>, DispatchError> {
+ let collection_id = match <Pallet<T>>::unique_collection_id(collection_id) {
+ Ok(id) => id,
+ Err(_) => return Ok(Vec::new()),
+ };
+ let nft_id = TokenId(nft_id);
+ if !<Pallet<T>>::nft_exists(collection_id, nft_id) {
+ return Ok(Vec::new());
+ }
+
+ Ok(
+ pallet_nonfungible::TokenChildren::<T>::iter_prefix((collection_id, nft_id))
+ .filter_map(|((child_collection, child_token), _)| {
+ let is_pending = <Pallet<T>>::get_nft_property_decoded(
+ child_collection,
+ child_token,
+ RmrkProperty::PendingNftAccept,
+ )
+ .ok()?;
+
+ if is_pending {
+ return None;
+ }
+
+ let rmrk_child_collection =
+ <Pallet<T>>::rmrk_collection_id(child_collection).ok()?;
+
+ Some(RmrkNftChild {
+ collection_id: rmrk_child_collection,
+ nft_id: child_token.0,
+ })
+ })
+ .collect(),
+ )
+}
+
+pub fn collection_properties<T: Config>(
+ collection_id: RmrkCollectionId,
+ filter_keys: Option<Vec<RmrkPropertyKey>>,
+) -> Result<Vec<RmrkPropertyInfo>, DispatchError> {
+ let collection_id = match <Pallet<T>>::unique_collection_id(collection_id) {
+ Ok(id) => id,
+ Err(_) => return Ok(Vec::new()),
+ };
+ if <Pallet<T>>::ensure_collection_type(collection_id, misc::CollectionType::Regular).is_err() {
+ return Ok(Vec::new());
+ }
+
+ let properties = <Pallet<T>>::filter_user_properties(
+ collection_id,
+ /* token_id = */ None,
+ filter_keys,
+ |key, value| RmrkPropertyInfo { key, value },
+ )?;
+
+ Ok(properties)
+}
+
+pub fn nft_properties<T: Config>(
+ collection_id: RmrkCollectionId,
+ nft_id: RmrkNftId,
+ filter_keys: Option<Vec<RmrkPropertyKey>>,
+) -> Result<Vec<RmrkPropertyInfo>, DispatchError> {
+ let collection_id = match <Pallet<T>>::unique_collection_id(collection_id) {
+ Ok(id) => id,
+ Err(_) => return Ok(Vec::new()),
+ };
+ let token_id = TokenId(nft_id);
+
+ if <Pallet<T>>::ensure_nft_type(collection_id, token_id, NftType::Regular).is_err() {
+ return Ok(Vec::new());
+ }
+
+ let properties = <Pallet<T>>::filter_user_properties(
+ collection_id,
+ Some(token_id),
+ filter_keys,
+ |key, value| RmrkPropertyInfo { key, value },
+ )?;
+
+ Ok(properties)
+}
+
+pub fn nft_resources<T: Config>(
+ collection_id: RmrkCollectionId,
+ nft_id: RmrkNftId,
+) -> Result<Vec<RmrkResourceInfo>, DispatchError> {
+ let collection_id = match <Pallet<T>>::unique_collection_id(collection_id) {
+ Ok(id) => id,
+ Err(_) => return Ok(Vec::new()),
+ };
+ if <Pallet<T>>::ensure_collection_type(collection_id, misc::CollectionType::Regular).is_err() {
+ return Ok(Vec::new());
+ }
+
+ let nft_id = TokenId(nft_id);
+ if <Pallet<T>>::ensure_nft_type(collection_id, nft_id, NftType::Regular).is_err() {
+ return Ok(Vec::new());
+ }
+
+ let resources = <pallet_nonfungible::Pallet<T>>::iterate_token_aux_properties(
+ collection_id,
+ nft_id,
+ PropertyScope::Rmrk,
+ )
+ .filter_map(|(_, value)| {
+ let resource_info: RmrkResourceInfo = <Pallet<T>>::decode_property(&value).ok()?;
+
+ Some(resource_info)
+ })
+ .collect();
+
+ Ok(resources)
+}
+
+pub fn nft_resource_priority<T: Config>(
+ collection_id: RmrkCollectionId,
+ nft_id: RmrkNftId,
+ resource_id: RmrkResourceId,
+) -> Result<Option<u32>, DispatchError> {
+ let collection_id = match <Pallet<T>>::unique_collection_id(collection_id) {
+ Ok(id) => id,
+ Err(_) => return Ok(None),
+ };
+ if <Pallet<T>>::ensure_collection_type(collection_id, misc::CollectionType::Regular).is_err() {
+ return Ok(None);
+ }
+
+ let nft_id = TokenId(nft_id);
+ if <Pallet<T>>::ensure_nft_type(collection_id, nft_id, NftType::Regular).is_err() {
+ return Ok(None);
+ }
+
+ let priorities: Vec<_> = <Pallet<T>>::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))
+}
pallets/proxy-rmrk-core/src/weights.rsdiffbeforeafterboth--- 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))
}
}
pallets/proxy-rmrk-equip/Cargo.tomldiffbeforeafterboth--- 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" }
pallets/proxy-rmrk-equip/src/benchmarking.rsdiffbeforeafterboth--- /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<S: Get<u32>>() -> BoundedVec<u8, S> {
+ vec![b'A'; S::get() as usize].try_into().expect("size == S")
+}
+
+fn create_u32_array<S: Get<u32>>() -> BoundedVec<u32, S> {
+ 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<S: Get<u32>>(num: u32) -> BoundedVec<RmrkPartType, S> {
+ let mut parts: BoundedVec<RmrkPartType, S> = 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<S: Get<u32>>(num: u32) -> BoundedVec<RmrkThemeProperty, S> {
+ 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);
+ <T as pallet_common::Config>::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);
+ <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
+
+ let base_type = create_data();
+ let symbol = create_data();
+ let parts = create_parts_array(0);
+
+ <Pallet<T>>::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);
+
+ <Pallet<T>>::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);
+ <T as pallet_common::Config>::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");
+
+ <Pallet<T>>::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)
+}
pallets/proxy-rmrk-equip/src/lib.rsdiffbeforeafterboth--- 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<T> = <T as Config>::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<Event<Self>> + IsType<<Self as frame_system::Config>::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(<SelfWeightOf<T>>::create_base(parts.len() as u32))]
pub fn create_base(
origin: OriginFor<T>,
base_type: RmrkString,
- symbol: RmrkString,
+ symbol: RmrkBaseSymbol,
parts: BoundedVec<RmrkPartType, RmrkPartsLimit>,
) -> DispatchResult {
let sender = ensure_signed(origin)?;
@@ -125,17 +140,7 @@
let collection = <PalletCore<T>>::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)?;
-
- <InernalPartId<T>>::insert(collection_id, part_id, part_token_id);
-
- <PalletNft<T>>::set_scoped_token_property(
- collection_id,
- part_token_id,
- PropertyScope::Rmrk,
- <PalletCore<T>>::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(<SelfWeightOf<T>>::theme_add(theme.properties.len() as u32))]
pub fn theme_add(
origin: OriginFor<T>,
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 = <PalletCore<T>>::get_typed_nft_collection(
- collection_id,
- misc::CollectionType::Base,
- )
- .map_err(|_| <Error<T>>::BaseDoesntExist)?;
- collection.check_is_external()?;
+ let collection = Self::get_base(collection_id)?;
if theme.name.as_slice() == b"default" {
<BaseHasDefaultTheme<T>>::insert(collection_id, true);
@@ -213,6 +213,55 @@
Ok(())
}
+
+ #[transactional]
+ #[pallet::weight(<SelfWeightOf<T>>::equippable())]
+ pub fn equippable(
+ origin: OriginFor<T>,
+ 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)?;
+
+ <PalletCore<T>>::check_collection_owner(
+ &collection,
+ &T::CrossAccountId::from_sub(sender),
+ )
+ .map_err(|err| {
+ if err == <CoreError<T>>::NoPermission.into() {
+ <Error<T>>::PermissionError.into()
+ } else {
+ err
+ }
+ })?;
+
+ let part_id = Self::internal_part_id(base_collection_id, slot_id)
+ .ok_or(<Error<T>>::PartDoesntExist)?;
+
+ let nft_type = <PalletCore<T>>::get_nft_type(base_collection_id, part_id)
+ .map_err(|_| <Error<T>>::PartDoesntExist)?;
+
+ match nft_type {
+ NftType::Regular | NftType::Theme => return Err(<Error<T>>::PermissionError.into()),
+ NftType::FixedPart => return Err(<Error<T>>::NoEquippableOnFixedPart.into()),
+ NftType::SlotPart => {
+ <PalletNft<T>>::set_scoped_token_property(
+ base_collection_id,
+ part_id,
+ PropertyScope::Rmrk,
+ <PalletCore<T>>::rmrk_property(EquippableList, &equippables)?,
+ )?;
+ }
+ }
+
+ Self::deposit_event(Event::EquippablesUpdated { base_id, slot_id });
+
+ Ok(())
+ }
}
}
@@ -221,9 +270,10 @@
sender: &T::CrossAccountId,
collection: &NonfungibleHandle<T>,
part: RmrkPartType,
- ) -> Result<TokenId, DispatchError> {
+ ) -> 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 = <PalletCore<T>>::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 =
+ <PalletCore<T>>::create_nft(sender, owner, collection, [].into_iter())
+ .map_err(|err| match err {
+ DispatchError::Arithmetic(_) => <Error<T>>::NoAvailablePartId.into(),
+ err => err,
+ })?;
+
+ <InernalPartId<T>>::insert(collection.id, part_id, token_id);
+
+ <PalletNft<T>>::set_scoped_token_property(
+ collection.id,
+ token_id,
+ PropertyScope::Rmrk,
+ <PalletCore<T>>::rmrk_property(ExternalPartId, &part_id)?,
+ )?;
+
+ token_id
+ }
+ };
+
+ <PalletNft<T>>::set_scoped_token_properties(
+ collection.id,
+ token_id,
+ PropertyScope::Rmrk,
[
<PalletCore<T>>::rmrk_property(TokenType, &nft_type)?,
<PalletCore<T>>::rmrk_property(Src, &src)?,
<PalletCore<T>>::rmrk_property(ZIndex, &z_index)?,
]
.into_iter(),
- )
- .map_err(|err| match err {
- DispatchError::Arithmetic(_) => <Error<T>>::NoAvailablePartId.into(),
- err => err,
- })?;
+ )?;
if let RmrkPartType::SlotPart(part) = part {
<PalletNft<T>>::set_scoped_token_property(
@@ -257,6 +326,21 @@
)?;
}
- Ok(token_id)
+ Ok(())
+ }
+
+ fn get_base(base_id: CollectionId) -> Result<NonfungibleHandle<T>, DispatchError> {
+ let collection =
+ <PalletCore<T>>::get_typed_nft_collection(base_id, misc::CollectionType::Base)
+ .map_err(|err| {
+ if err == <CoreError<T>>::CollectionUnknown.into() {
+ <Error<T>>::BaseDoesntExist.into()
+ } else {
+ err
+ }
+ })?;
+ collection.check_is_external()?;
+
+ Ok(collection)
}
}
pallets/proxy-rmrk-equip/src/rpc.rsdiffbeforeafterboth--- /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<T: Config>(
+ base_id: RmrkBaseId,
+) -> Result<Option<RmrkBaseInfo<T::AccountId>>, DispatchError> {
+ let (collection, collection_id) =
+ match <PalletCore<T>>::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: <PalletCore<T>>::get_collection_property_decoded(
+ collection_id,
+ RmrkProperty::BaseType,
+ )?,
+ symbol: <PalletCore<T>>::rebind(&collection.token_prefix)?,
+ }))
+}
+
+pub fn base_parts<T: Config>(base_id: RmrkBaseId) -> Result<Vec<RmrkPartType>, DispatchError> {
+ use pallet_common::CommonCollectionOperations;
+
+ let (collection, collection_id) =
+ match <PalletCore<T>>::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 = <PalletCore<T>>::get_nft_type(collection_id, token_id).ok()?;
+
+ match nft_type {
+ NftType::FixedPart => Some(RmrkPartType::FixedPart(RmrkFixedPart {
+ id: <PalletCore<T>>::get_nft_property_decoded(
+ collection_id,
+ token_id,
+ RmrkProperty::ExternalPartId,
+ )
+ .ok()?,
+ src: <PalletCore<T>>::get_nft_property_decoded(
+ collection_id,
+ token_id,
+ RmrkProperty::Src,
+ )
+ .ok()?,
+ z: <PalletCore<T>>::get_nft_property_decoded(
+ collection_id,
+ token_id,
+ RmrkProperty::ZIndex,
+ )
+ .ok()?,
+ })),
+ NftType::SlotPart => Some(RmrkPartType::SlotPart(RmrkSlotPart {
+ id: <PalletCore<T>>::get_nft_property_decoded(
+ collection_id,
+ token_id,
+ RmrkProperty::ExternalPartId,
+ )
+ .ok()?,
+ src: <PalletCore<T>>::get_nft_property_decoded(
+ collection_id,
+ token_id,
+ RmrkProperty::Src,
+ )
+ .ok()?,
+ z: <PalletCore<T>>::get_nft_property_decoded(
+ collection_id,
+ token_id,
+ RmrkProperty::ZIndex,
+ )
+ .ok()?,
+ equippable: <PalletCore<T>>::get_nft_property_decoded(
+ collection_id,
+ token_id,
+ RmrkProperty::EquippableList,
+ )
+ .ok()?,
+ })),
+ _ => None,
+ }
+ })
+ .collect();
+
+ Ok(parts)
+}
+
+pub fn theme_names<T: Config>(base_id: RmrkBaseId) -> Result<Vec<RmrkThemeName>, DispatchError> {
+ use pallet_common::CommonCollectionOperations;
+
+ let (collection, collection_id) =
+ match <PalletCore<T>>::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 = <PalletCore<T>>::get_nft_type(collection_id, *token_id).ok()?;
+
+ match nft_type {
+ NftType::Theme => <PalletCore<T>>::get_nft_property_decoded(
+ collection_id,
+ *token_id,
+ RmrkProperty::ThemeName,
+ )
+ .ok(),
+ _ => None,
+ }
+ })
+ .collect();
+
+ Ok(theme_names)
+}
+
+pub fn theme<T: Config>(
+ base_id: RmrkBaseId,
+ theme_name: RmrkThemeName,
+ filter_keys: Option<Vec<RmrkPropertyKey>>,
+) -> Result<Option<RmrkTheme>, DispatchError> {
+ use pallet_common::CommonCollectionOperations;
+
+ let (collection, collection_id) =
+ match <PalletCore<T>>::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| {
+ <PalletCore<T>>::ensure_nft_type(collection_id, token_id, NftType::Theme).ok()?;
+
+ let name: RmrkString = <PalletCore<T>>::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 = <PalletCore<T>>::filter_user_properties(
+ collection_id,
+ Some(theme_id),
+ filter_keys,
+ |key, value| RmrkThemeProperty { key, value },
+ )?;
+
+ let inherit = <PalletCore<T>>::get_nft_property_decoded(
+ collection_id,
+ theme_id,
+ RmrkProperty::ThemeInherit,
+ )?;
+
+ let theme = RmrkTheme {
+ name,
+ properties,
+ inherit,
+ };
+
+ Ok(Some(theme))
+}
pallets/proxy-rmrk-equip/src/weights.rsdiffbeforeafterboth--- /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<T>(PhantomData<T>);
+impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
+ // 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))
+ }
+}
pallets/refungible/Cargo.tomldiffbeforeafterboth--- 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",
] }
pallets/scheduler/Cargo.tomldiffbeforeafterboth--- 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"]
pallets/structure/Cargo.tomldiffbeforeafterboth--- 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"]
pallets/unique/Cargo.tomldiffbeforeafterboth--- 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' }
pallets/unique/src/lib.rsdiffbeforeafterboth--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -693,8 +693,6 @@
dispatch_tx::<T, _>(collection_id, |d| d.create_multiple_items_ex(sender, data, &budget))
}
- // TODO! transaction weight
-
/// Set transfers_enabled value for particular collection
///
/// # Permissions
primitives/data-structs/Cargo.tomldiffbeforeafterboth--- 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]
primitives/data-structs/src/lib.rsdiffbeforeafterboth--- 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<OwnerRestrictedSet>,
+ #[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<u8, ConstU32<MAX_PROPERTY_KEY_LENGTH>>;
-pub type PropertyValue = BoundedVec<u8, ConstU32<MAX_PROPERTY_VALUE_LENGTH>>;
+pub type BoundedBytes<S> = BoundedVec<u8, S>;
+pub type AuxPropertyValue = BoundedBytes<ConstU32<MAX_AUX_PROPERTY_VALUE_LENGTH>>;
+
+pub type PropertyKey = BoundedBytes<ConstU32<MAX_PROPERTY_KEY_LENGTH>>;
+pub type PropertyValue = BoundedBytes<ConstU32<MAX_PROPERTY_VALUE_LENGTH>>;
+
#[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<RmrkString, RmrkBoundedParts>;
pub type RmrkPropertyInfo = PropertyInfo<RmrkKeyString, RmrkValueString>;
pub type RmrkBaseInfo<AccountId> = BaseInfo<AccountId, RmrkString>;
-pub type RmrkPartType =
- PartType<RmrkString, BoundedVec<RmrkCollectionId, RmrkMaxCollectionsEquippablePerPart>>;
+pub type BoundedEquippableCollectionIds =
+ BoundedVec<RmrkCollectionId, RmrkMaxCollectionsEquippablePerPart>;
+pub type RmrkPartType = PartType<RmrkString, BoundedEquippableCollectionIds>;
+pub type RmrkEquippableList = EquippableList<BoundedEquippableCollectionIds>;
pub type RmrkThemeProperty = ThemeProperty<RmrkString>;
pub type RmrkTheme = Theme<RmrkString, Vec<RmrkThemeProperty>>;
+pub type RmrkBoundedTheme = Theme<RmrkString, BoundedVec<RmrkThemeProperty, MaxPropertiesPerTheme>>;
pub type RmrkResourceTypes = ResourceTypes<RmrkString, RmrkBoundedParts>;
pub type RmrkBasicResource = BasicResource<RmrkString>;
@@ -989,6 +1003,7 @@
pub type RmrkString = BoundedVec<u8, RmrkStringLimit>;
pub type RmrkCollectionSymbol = BoundedVec<u8, RmrkCollectionSymbolLimit>;
+pub type RmrkBaseSymbol = BoundedVec<u8, RmrkBaseSymbolLimit>;
pub type RmrkKeyString = BoundedVec<u8, RmrkKeyLimit>;
pub type RmrkValueString = BoundedVec<u8, RmrkValueLimit>;
pub type RmrkBoundedResource = BoundedVec<u8, RmrkResourceSymbolLimit>;
primitives/rmrk-rpc/Cargo.tomldiffbeforeafterboth--- 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" }
primitives/rpc/Cargo.tomldiffbeforeafterboth--- 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"]
runtime/common/Cargo.tomldiffbeforeafterboth--- 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" }
runtime/common/src/constants.rsdiffbeforeafterboth--- 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;
}
runtime/common/src/runtime_apis.rsdiffbeforeafterboth--- 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()) }
runtime/opal/Cargo.tomldiffbeforeafterboth--- 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"
runtime/opal/src/lib.rsdiffbeforeafterboth--- 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<Self::Balance> {
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<Assets, XcmError> {
- 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<MultiAsset> {
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<Ancestry>;
type Barrier = Barrier;
type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;
- type Trader = UsingOnlySelfCurrencyComponents<
- IdentityFee<Balance>,
- RelayLocation,
- AccountId,
- Balances,
- (),
- >;
+ type Trader =
+ UsingOnlySelfCurrencyComponents<LinearFee<Balance>, 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<Self>;
type Event = Event;
}
@@ -1330,387 +1324,55 @@
RmrkTheme
> for Runtime {
fn last_collection_idx() -> Result<RmrkCollectionId, DispatchError> {
- Ok(RmrkCore::last_collection_idx())
+ pallet_proxy_rmrk_core::rpc::last_collection_idx::<Runtime>()
}
fn collection_by_id(collection_id: RmrkCollectionId) -> Result<Option<RmrkCollectionInfo<AccountId>>, 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::<Runtime>(collection_id)
}
fn nft_by_id(collection_id: RmrkCollectionId, nft_by_id: RmrkNftId) -> Result<Option<RmrkInstanceInfo<AccountId>>, 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 <Runtime as pallet_common::Config>::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::<Runtime>(collection_id, nft_by_id)
}
fn account_tokens(account_id: AccountId, collection_id: RmrkCollectionId) -> Result<Vec<RmrkNftId>, 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::<Runtime>(account_id, collection_id)
}
fn nft_children(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result<Vec<RmrkNftChild>, 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::<Runtime>::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::<Runtime>(collection_id, nft_id)
}
fn collection_properties(collection_id: RmrkCollectionId, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Result<Vec<RmrkPropertyInfo>, 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::<Runtime>(collection_id, filter_keys)
}
fn nft_properties(collection_id: RmrkCollectionId, nft_id: RmrkNftId, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Result<Vec<RmrkPropertyInfo>, 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::<Runtime>(collection_id, nft_id, filter_keys)
}
fn nft_resources(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result<Vec<RmrkResourceInfo>, 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<CollectionId> = 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::<Runtime>(collection_id, nft_id)
}
fn nft_resource_priority(collection_id: RmrkCollectionId, nft_id: RmrkNftId, resource_id: RmrkResourceId) -> Result<Option<u32>, 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::<Runtime>(collection_id, nft_id, resource_id)
}
fn base(base_id: RmrkBaseId) -> Result<Option<RmrkBaseInfo<AccountId>>, 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::<Runtime>(base_id)
}
fn base_parts(base_id: RmrkBaseId) -> Result<Vec<RmrkPartType>, 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::<Runtime>(base_id)
}
fn theme_names(base_id: RmrkBaseId) -> Result<Vec<RmrkThemeName>, 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::<Runtime>(base_id)
}
fn theme(base_id: RmrkBaseId, theme_name: RmrkThemeName, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Result<Option<RmrkTheme>, 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::<Runtime>(base_id, theme_name, filter_keys)
}
}
}
runtime/quartz/Cargo.tomldiffbeforeafterboth--- 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"
runtime/quartz/src/lib.rsdiffbeforeafterboth--- 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<Self::Balance> {
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<Assets, XcmError> {
- 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<MultiAsset> {
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<Ancestry>;
type Barrier = Barrier;
type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;
- type Trader = UsingOnlySelfCurrencyComponents<
- IdentityFee<Balance>,
- RelayLocation,
- AccountId,
- Balances,
- (),
- >;
+ type Trader =
+ UsingOnlySelfCurrencyComponents<LinearFee<Balance>, 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<Self>;
type Event = Event;
}
@@ -1330,387 +1324,55 @@
RmrkTheme
> for Runtime {
fn last_collection_idx() -> Result<RmrkCollectionId, DispatchError> {
- Ok(RmrkCore::last_collection_idx())
+ pallet_proxy_rmrk_core::rpc::last_collection_idx::<Runtime>()
}
fn collection_by_id(collection_id: RmrkCollectionId) -> Result<Option<RmrkCollectionInfo<AccountId>>, 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::<Runtime>(collection_id)
}
fn nft_by_id(collection_id: RmrkCollectionId, nft_by_id: RmrkNftId) -> Result<Option<RmrkInstanceInfo<AccountId>>, 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 <Runtime as pallet_common::Config>::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::<Runtime>(collection_id, nft_by_id)
}
fn account_tokens(account_id: AccountId, collection_id: RmrkCollectionId) -> Result<Vec<RmrkNftId>, 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::<Runtime>(account_id, collection_id)
}
fn nft_children(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result<Vec<RmrkNftChild>, 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::<Runtime>::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::<Runtime>(collection_id, nft_id)
}
fn collection_properties(collection_id: RmrkCollectionId, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Result<Vec<RmrkPropertyInfo>, 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::<Runtime>(collection_id, filter_keys)
}
fn nft_properties(collection_id: RmrkCollectionId, nft_id: RmrkNftId, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Result<Vec<RmrkPropertyInfo>, 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::<Runtime>(collection_id, nft_id, filter_keys)
}
fn nft_resources(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result<Vec<RmrkResourceInfo>, 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<CollectionId> = 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::<Runtime>(collection_id, nft_id)
}
fn nft_resource_priority(collection_id: RmrkCollectionId, nft_id: RmrkNftId, resource_id: RmrkResourceId) -> Result<Option<u32>, 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::<Runtime>(collection_id, nft_id, resource_id)
}
fn base(base_id: RmrkBaseId) -> Result<Option<RmrkBaseInfo<AccountId>>, 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::<Runtime>(base_id)
}
fn base_parts(base_id: RmrkBaseId) -> Result<Vec<RmrkPartType>, 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::<Runtime>(base_id)
}
fn theme_names(base_id: RmrkBaseId) -> Result<Vec<RmrkThemeName>, 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::<Runtime>(base_id)
}
fn theme(base_id: RmrkBaseId, theme_name: RmrkThemeName, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Result<Option<RmrkTheme>, 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::<Runtime>(base_id, theme_name, filter_keys)
}
}
}
runtime/tests/Cargo.tomldiffbeforeafterboth--- 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 = "*"
runtime/unique/Cargo.tomldiffbeforeafterboth--- 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"
runtime/unique/src/lib.rsdiffbeforeafterboth--- 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<Self::Balance> {
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<Assets, XcmError> {
- 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<MultiAsset> {
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<Ancestry>;
type Barrier = Barrier;
type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;
- type Trader = UsingOnlySelfCurrencyComponents<
- IdentityFee<Balance>,
- RelayLocation,
- AccountId,
- Balances,
- (),
- >;
+ type Trader =
+ UsingOnlySelfCurrencyComponents<LinearFee<Balance>, 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;
}
tests/README.mddiffbeforeafterboth--- 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
tests/src/createItem.test.tsdiffbeforeafterboth--- 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)}]);
});
});
});
tests/src/nesting/unnest.test.tsdiffbeforeafterboth--- 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$/);
});
});
tests/update_apps.shdiffbeforeafterboth--- 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
tests/update_apps_start.shdiffbeforeafterboth--- 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
tests/update_types.shdiffbeforeafterboth--- 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