difftreelog
Merge pull request #917 from UniqueNetwork/feature/update-polkadot-v0.9.41
in: master
Upgrade polkadot to v0.9.41
42 files changed
.maintain/frame-weight-template.hbsdiffbeforeafterboth--- a/.maintain/frame-weight-template.hbs
+++ b/.maintain/frame-weight-template.hbs
@@ -3,8 +3,9 @@
//! Autogenerated weights for {{pallet}}
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION {{version}}
-//! DATE: {{date}}, STEPS: `{{cmd.steps}}`, REPEAT: {{cmd.repeat}}, LOW RANGE: `{{cmd.lowest_range_values}}`, HIGH RANGE: `{{cmd.highest_range_values}}`
+//! DATE: {{date}}, STEPS: `{{cmd.steps}}`, REPEAT: `{{cmd.repeat}}`, LOW RANGE: `{{cmd.lowest_range_values}}`, HIGH RANGE: `{{cmd.highest_range_values}}`
//! WORST CASE MAP SIZE: `{{cmd.worst_case_map_values}}`
+//! HOSTNAME: `{{hostname}}`, CPU: `{{cpuname}}`
//! EXECUTION: {{cmd.execution}}, WASM-EXECUTION: {{cmd.wasm_execution}}, CHAIN: {{cmd.chain}}, DB CACHE: {{cmd.db_cache}}
// Executed Command:
@@ -15,8 +16,6 @@
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
-#![allow(missing_docs)]
-#![allow(clippy::unnecessary_cast)]
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
use sp_std::marker::PhantomData;
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -205,42 +205,51 @@
[[package]]
name = "anstream"
-version = "0.2.6"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "342258dd14006105c2b75ab1bd7543a03bdf0cfc94383303ac212a04939dff6f"
+checksum = "9e579a7752471abc2a8268df8b20005e3eadd975f585398f17efcfd8d4927371"
dependencies = [
"anstyle",
"anstyle-parse",
+ "anstyle-query",
"anstyle-wincon",
- "concolor-override",
- "concolor-query",
+ "colorchoice",
"is-terminal",
"utf8parse",
]
[[package]]
name = "anstyle"
-version = "0.3.5"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23ea9e81bd02e310c216d080f6223c179012256e5151c41db88d12c88a1684d2"
+checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
[[package]]
name = "anstyle-parse"
-version = "0.1.1"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7d1bb534e9efed14f3e5f44e7dd1a4f709384023a4165199a4241e18dff0116"
+checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
dependencies = [
"utf8parse",
]
[[package]]
+name = "anstyle-query"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
name = "anstyle-wincon"
-version = "0.2.0"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3127af6145b149f3287bb9a0d10ad9c5692dba8c53ad48285e5bec4063834fa"
+checksum = "4bcd8291a340dd8ac70e18878bc4501dd7b4ff970cfa21c207d36ece51ea88fd"
dependencies = [
"anstyle",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -385,6 +394,17 @@
checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9"
[[package]]
+name = "async-channel"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
+dependencies = [
+ "concurrent-queue",
+ "event-listener",
+ "futures-core",
+]
+
+[[package]]
name = "async-io"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -421,7 +441,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
@@ -529,68 +549,15 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1"
dependencies = [
- "serde",
-]
-
-[[package]]
-name = "beefy-gadget"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
-dependencies = [
- "array-bytes 4.2.0",
- "async-trait",
- "fnv",
- "futures",
- "log",
- "parity-scale-codec",
- "parking_lot 0.12.1",
- "sc-client-api",
- "sc-consensus",
- "sc-keystore",
- "sc-network",
- "sc-network-common",
- "sc-network-gossip",
- "sc-utils",
- "sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
- "sp-beefy",
- "sp-blockchain",
- "sp-consensus",
- "sp-core",
- "sp-keystore",
- "sp-mmr-primitives",
- "sp-runtime",
- "substrate-prometheus-endpoint",
- "thiserror",
- "wasm-timer",
-]
-
-[[package]]
-name = "beefy-gadget-rpc"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
-dependencies = [
- "beefy-gadget",
- "futures",
- "jsonrpsee",
- "log",
- "parity-scale-codec",
- "parking_lot 0.12.1",
- "sc-rpc",
"serde",
- "sp-beefy",
- "sp-core",
- "sp-runtime",
- "thiserror",
]
[[package]]
name = "binary-merkle-tree"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
- "hash-db",
+ "hash-db 0.16.0",
"log",
]
@@ -1039,9 +1006,9 @@
[[package]]
name = "clap"
-version = "4.2.1"
+version = "4.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "046ae530c528f252094e4a77886ee1374437744b2bff1497aa898bbddbbb29b3"
+checksum = "9b802d85aaf3a1cdb02b224ba472ebdea62014fccfcb269b95a4d76443b5ee5a"
dependencies = [
"clap_builder",
"clap_derive",
@@ -1050,9 +1017,9 @@
[[package]]
name = "clap_builder"
-version = "4.2.1"
+version = "4.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "223163f58c9a40c3b0a43e1c4b50a9ce09f007ea2cb1ec258a687945b4b7929f"
+checksum = "14a1a858f532119338887a4b8e1af9c60de8249cd7bafd68036a489e261e37b6"
dependencies = [
"anstream",
"anstyle",
@@ -1070,7 +1037,7 @@
"heck",
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
@@ -1102,6 +1069,12 @@
]
[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
name = "comfy-table"
version = "6.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1111,23 +1084,8 @@
"strum_macros",
"unicode-width",
]
-
-[[package]]
-name = "concolor-override"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a855d4a1978dc52fb0536a04d384c2c0c1aa273597f08b77c8c4d3b2eec6037f"
[[package]]
-name = "concolor-query"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88d11d52c3d7ca2e6d0040212be9e4dbbcd78b6447f535b6b561f449427944cf"
-dependencies = [
- "windows-sys 0.45.0",
-]
-
-[[package]]
name = "concurrent-queue"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1453,7 +1411,7 @@
[[package]]
name = "cumulus-client-cli"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"clap",
"parity-scale-codec",
@@ -1468,7 +1426,7 @@
[[package]]
name = "cumulus-client-collator"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"cumulus-client-consensus-common",
"cumulus-client-network",
@@ -1491,7 +1449,7 @@
[[package]]
name = "cumulus-client-consensus-aura"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"async-trait",
"cumulus-client-consensus-common",
@@ -1520,7 +1478,7 @@
[[package]]
name = "cumulus-client-consensus-common"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"async-trait",
"cumulus-client-pov-recovery",
@@ -1544,7 +1502,7 @@
[[package]]
name = "cumulus-client-network"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"async-trait",
"cumulus-relay-chain-interface",
@@ -1567,7 +1525,7 @@
[[package]]
name = "cumulus-client-pov-recovery"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1591,7 +1549,7 @@
[[package]]
name = "cumulus-client-service"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"cumulus-client-cli",
"cumulus-client-collator",
@@ -1603,11 +1561,11 @@
"cumulus-relay-chain-interface",
"cumulus-relay-chain-minimal-node",
"futures",
- "parking_lot 0.12.1",
"polkadot-primitives",
"sc-client-api",
"sc-consensus",
"sc-network",
+ "sc-network-sync",
"sc-network-transactions",
"sc-rpc",
"sc-service",
@@ -1626,7 +1584,7 @@
[[package]]
name = "cumulus-pallet-aura-ext"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"frame-support",
"frame-system",
@@ -1642,7 +1600,7 @@
[[package]]
name = "cumulus-pallet-dmp-queue"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1659,7 +1617,7 @@
[[package]]
name = "cumulus-pallet-parachain-system"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"bytes",
"cumulus-pallet-parachain-system-proc-macro",
@@ -1688,7 +1646,7 @@
[[package]]
name = "cumulus-pallet-parachain-system-proc-macro"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -1699,7 +1657,7 @@
[[package]]
name = "cumulus-pallet-xcm"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1715,7 +1673,7 @@
[[package]]
name = "cumulus-pallet-xcmp-queue"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1735,7 +1693,7 @@
[[package]]
name = "cumulus-primitives-core"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"parity-scale-codec",
"polkadot-core-primitives",
@@ -1751,7 +1709,7 @@
[[package]]
name = "cumulus-primitives-parachain-inherent"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1774,7 +1732,7 @@
[[package]]
name = "cumulus-primitives-timestamp"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"cumulus-primitives-core",
"futures",
@@ -1787,7 +1745,7 @@
[[package]]
name = "cumulus-primitives-utility"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1805,7 +1763,7 @@
[[package]]
name = "cumulus-relay-chain-inprocess-interface"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1830,7 +1788,7 @@
[[package]]
name = "cumulus-relay-chain-interface"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1838,19 +1796,17 @@
"jsonrpsee-core",
"parity-scale-codec",
"polkadot-overseer",
- "polkadot-service",
"sc-client-api",
"sp-api",
"sp-blockchain",
"sp-state-machine",
"thiserror",
- "tokio",
]
[[package]]
name = "cumulus-relay-chain-minimal-node"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"array-bytes 6.0.0",
"async-trait",
@@ -1868,15 +1824,11 @@
"polkadot-service",
"sc-authority-discovery",
"sc-client-api",
- "sc-consensus",
- "sc-keystore",
"sc-network",
"sc-network-common",
"sc-service",
- "sc-telemetry",
"sc-tracing",
- "sc-transaction-pool",
- "sc-transaction-pool-api",
+ "sc-utils",
"sp-api",
"sp-blockchain",
"sp-consensus",
@@ -1884,13 +1836,12 @@
"sp-runtime",
"tokio",
"tracing",
- "url",
]
[[package]]
name = "cumulus-relay-chain-rpc-interface"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1900,9 +1851,10 @@
"jsonrpsee",
"lru 0.9.0",
"parity-scale-codec",
- "polkadot-service",
+ "polkadot-overseer",
"sc-client-api",
"sc-rpc-api",
+ "sc-service",
"serde",
"serde_json",
"sp-api",
@@ -1919,7 +1871,7 @@
[[package]]
name = "cumulus-test-relay-sproof-builder"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"cumulus-primitives-core",
"parity-scale-codec",
@@ -1993,7 +1945,7 @@
"proc-macro2",
"quote",
"scratch",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
@@ -2010,7 +1962,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
@@ -2417,7 +2369,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
@@ -2428,7 +2380,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
@@ -2465,6 +2417,17 @@
[[package]]
name = "errno"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "errno"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
@@ -2507,13 +2470,13 @@
dependencies = [
"bytes",
"ethereum-types",
- "hash-db",
+ "hash-db 0.15.2",
"hash256-std-hasher",
"parity-scale-codec",
"rlp",
"scale-info",
"serde",
- "sha3 0.10.6",
+ "sha3 0.10.7",
"triehash",
]
@@ -2557,7 +2520,7 @@
"rlp",
"scale-info",
"serde",
- "sha3 0.10.6",
+ "sha3 0.10.7",
]
[[package]]
@@ -2581,7 +2544,7 @@
"hex",
"proc-macro2",
"quote",
- "sha3 0.10.6",
+ "sha3 0.10.7",
"syn 1.0.109",
]
@@ -2628,7 +2591,7 @@
"environmental",
"evm-core",
"primitive-types",
- "sha3 0.10.6",
+ "sha3 0.10.7",
]
[[package]]
@@ -2666,6 +2629,19 @@
]
[[package]]
+name = "expander"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f360349150728553f92e4c997a16af8915f418d3a0f21b440d34c5632f16ed84"
+dependencies = [
+ "blake2",
+ "fs-err",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
name = "fake-simd"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2714,7 +2690,7 @@
[[package]]
name = "fc-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"async-trait",
"fc-db",
@@ -2723,7 +2699,6 @@
"sc-consensus",
"sp-api",
"sp-block-builder",
- "sp-blockchain",
"sp-consensus",
"sp-runtime",
"thiserror",
@@ -2732,7 +2707,7 @@
[[package]]
name = "fc-db"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"fp-storage",
"kvdb-rocksdb",
@@ -2751,7 +2726,7 @@
[[package]]
name = "fc-mapping-sync"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"fc-db",
"fc-storage",
@@ -2769,7 +2744,7 @@
[[package]]
name = "fc-rpc"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2778,6 +2753,7 @@
"fc-rpc-core",
"fc-storage",
"fp-ethereum",
+ "fp-evm",
"fp-rpc",
"fp-storage",
"futures",
@@ -2786,6 +2762,7 @@
"libsecp256k1",
"log",
"lru 0.8.1",
+ "pallet-evm",
"parity-scale-codec",
"prometheus",
"rand 0.8.5",
@@ -2793,6 +2770,7 @@
"sc-client-api",
"sc-network",
"sc-network-common",
+ "sc-network-sync",
"sc-rpc",
"sc-service",
"sc-transaction-pool",
@@ -2804,6 +2782,8 @@
"sp-core",
"sp-io",
"sp-runtime",
+ "sp-state-machine",
+ "sp-storage",
"substrate-prometheus-endpoint",
"tokio",
]
@@ -2811,7 +2791,7 @@
[[package]]
name = "fc-rpc-core"
version = "1.1.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2824,7 +2804,7 @@
[[package]]
name = "fc-storage"
version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2949,7 +2929,7 @@
[[package]]
name = "fork-tree"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
]
@@ -2964,9 +2944,27 @@
]
[[package]]
+name = "fp-account"
+version = "1.0.0-dev"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
+dependencies = [
+ "hex",
+ "impl-serde",
+ "libsecp256k1",
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
name = "fp-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"ethereum",
"parity-scale-codec",
@@ -2978,7 +2976,7 @@
[[package]]
name = "fp-ethereum"
version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2992,7 +2990,7 @@
[[package]]
name = "fp-evm"
version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"evm",
"frame-support",
@@ -3002,21 +3000,12 @@
"sp-core",
"sp-runtime",
"sp-std",
-]
-
-[[package]]
-name = "fp-evm-mapping"
-version = "0.1.0"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
-dependencies = [
- "frame-support",
- "sp-core",
]
[[package]]
name = "fp-rpc"
version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"ethereum",
"ethereum-types",
@@ -3026,13 +3015,14 @@
"sp-api",
"sp-core",
"sp-runtime",
+ "sp-state-machine",
"sp-std",
]
[[package]]
name = "fp-self-contained"
version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -3044,7 +3034,7 @@
[[package]]
name = "fp-storage"
version = "2.0.0"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"parity-scale-codec",
"serde",
@@ -3059,7 +3049,7 @@
[[package]]
name = "frame-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-support-procedural",
@@ -3084,7 +3074,7 @@
[[package]]
name = "frame-benchmarking-cli"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"Inflector",
"array-bytes 4.2.0",
@@ -3131,7 +3121,7 @@
[[package]]
name = "frame-election-provider-solution-type"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -3142,7 +3132,7 @@
[[package]]
name = "frame-election-provider-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-election-provider-solution-type",
"frame-support",
@@ -3159,7 +3149,7 @@
[[package]]
name = "frame-executive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-system",
@@ -3188,7 +3178,7 @@
[[package]]
name = "frame-remote-externalities"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"futures",
"log",
@@ -3204,9 +3194,10 @@
[[package]]
name = "frame-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"bitflags",
+ "environmental",
"frame-metadata",
"frame-support-procedural",
"impl-trait-for-tuples",
@@ -3236,7 +3227,7 @@
[[package]]
name = "frame-support-procedural"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"Inflector",
"cfg-expr",
@@ -3251,7 +3242,7 @@
[[package]]
name = "frame-support-procedural-tools"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate",
@@ -3263,7 +3254,7 @@
[[package]]
name = "frame-support-procedural-tools-derive"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"proc-macro2",
"quote",
@@ -3273,7 +3264,7 @@
[[package]]
name = "frame-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"log",
@@ -3291,7 +3282,7 @@
[[package]]
name = "frame-system-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -3306,7 +3297,7 @@
[[package]]
name = "frame-system-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -3315,7 +3306,7 @@
[[package]]
name = "frame-try-runtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -3341,6 +3332,17 @@
]
[[package]]
+name = "fs4"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ea55201cc351fdb478217c0fb641b59813da9b4efe4c414a9d8f989a657d149"
+dependencies = [
+ "libc",
+ "rustix 0.35.13",
+ "winapi",
+]
+
+[[package]]
name = "funty"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3418,7 +3420,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
@@ -3597,9 +3599,9 @@
[[package]]
name = "h2"
-version = "0.3.16"
+version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d"
+checksum = "66b91535aa35fea1523ad1b86cb6b53c28e0ae566ba4a460f4457e936cad7c6f"
dependencies = [
"bytes",
"fnv",
@@ -3635,6 +3637,12 @@
checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a"
[[package]]
+name = "hash-db"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e7d7786361d7425ae2fe4f9e407eb0efaa0840f5212d109cc018c40c35c6ab4"
+
+[[package]]
name = "hash256-std-hasher"
version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4031,6 +4039,12 @@
[[package]]
name = "io-lifetimes"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074"
+
+[[package]]
+name = "io-lifetimes"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
@@ -4071,7 +4085,7 @@
checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
dependencies = [
"hermit-abi 0.3.1",
- "io-lifetimes",
+ "io-lifetimes 1.0.10",
"rustix 0.37.11",
"windows-sys 0.48.0",
]
@@ -4256,8 +4270,8 @@
[[package]]
name = "kusama-runtime"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -4286,7 +4300,7 @@
"pallet-elections-phragmen",
"pallet-fast-unstake",
"pallet-grandpa",
- "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
@@ -4330,9 +4344,9 @@
"sp-api",
"sp-arithmetic",
"sp-authority-discovery",
- "sp-beefy",
"sp-block-builder",
"sp-consensus-babe",
+ "sp-consensus-beefy",
"sp-core",
"sp-inherents",
"sp-io",
@@ -4354,8 +4368,8 @@
[[package]]
name = "kusama-runtime-constants"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -5001,6 +5015,12 @@
[[package]]
name = "linux-raw-sys"
+version = "0.0.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d"
+
+[[package]]
+name = "linux-raw-sys"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
@@ -5160,15 +5180,6 @@
[[package]]
name = "memoffset"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "memoffset"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
@@ -5178,12 +5189,11 @@
[[package]]
name = "memory-db"
-version = "0.31.0"
+version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66"
+checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe"
dependencies = [
- "hash-db",
- "hashbrown 0.12.3",
+ "hash-db 0.16.0",
]
[[package]]
@@ -5245,7 +5255,7 @@
[[package]]
name = "mmr-gadget"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"futures",
"log",
@@ -5253,9 +5263,9 @@
"sc-client-api",
"sc-offchain",
"sp-api",
- "sp-beefy",
"sp-blockchain",
"sp-consensus",
+ "sp-consensus-beefy",
"sp-core",
"sp-mmr-primitives",
"sp-runtime",
@@ -5264,7 +5274,7 @@
[[package]]
name = "mmr-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"anyhow",
"jsonrpsee",
@@ -5365,7 +5375,7 @@
"digest 0.10.6",
"multihash-derive",
"sha2 0.10.6",
- "sha3 0.10.6",
+ "sha3 0.10.7",
"unsigned-varint",
]
@@ -5537,20 +5547,6 @@
]
[[package]]
-name = "nix"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
-dependencies = [
- "bitflags",
- "cfg-if",
- "libc",
- "memoffset 0.7.1",
- "pin-utils",
- "static_assertions",
-]
-
-[[package]]
name = "nohash-hasher"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5711,7 +5707,7 @@
[[package]]
name = "opal-runtime"
-version = "0.9.39"
+version = "0.9.41"
dependencies = [
"app-promotion-rpc",
"cumulus-pallet-aura-ext",
@@ -5725,7 +5721,6 @@
"derivative",
"evm-coder",
"fp-evm",
- "fp-evm-mapping",
"fp-rpc",
"fp-self-contained",
"frame-benchmarking",
@@ -5830,9 +5825,9 @@
[[package]]
name = "orchestra"
-version = "0.0.4"
+version = "0.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17e7d5b6bb115db09390bed8842c94180893dd83df3dfce7354f2a2aa090a4ee"
+checksum = "227585216d05ba65c7ab0a0450a3cf2cbd81a98862a54c4df8e14d5ac6adb015"
dependencies = [
"async-trait",
"dyn-clonable",
@@ -5847,9 +5842,9 @@
[[package]]
name = "orchestra-proc-macro"
-version = "0.0.4"
+version = "0.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2af4dabb2286b0be0e9711d2d24e25f6217048b71210cffd3daddc3b5c84e1f"
+checksum = "2871aadd82a2c216ee68a69837a526dfe788ecbe74c4c5038a6acdbff6653066"
dependencies = [
"expander 0.0.6",
"itertools",
@@ -5872,7 +5867,7 @@
[[package]]
name = "orml-tokens"
version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.39#a0751540591c88ccc2d4029464de887933727183"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.41#71e9e0c73a2abc1ff8c1c3511869d60f57caa2c0"
dependencies = [
"frame-support",
"frame-system",
@@ -5887,7 +5882,7 @@
[[package]]
name = "orml-traits"
version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.39#a0751540591c88ccc2d4029464de887933727183"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.41#71e9e0c73a2abc1ff8c1c3511869d60f57caa2c0"
dependencies = [
"frame-support",
"impl-trait-for-tuples",
@@ -5906,7 +5901,7 @@
[[package]]
name = "orml-utilities"
version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.39#a0751540591c88ccc2d4029464de887933727183"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.41#71e9e0c73a2abc1ff8c1c3511869d60f57caa2c0"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -5920,7 +5915,7 @@
[[package]]
name = "orml-vesting"
version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.39#a0751540591c88ccc2d4029464de887933727183"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.41#71e9e0c73a2abc1ff8c1c3511869d60f57caa2c0"
dependencies = [
"frame-support",
"frame-system",
@@ -5935,7 +5930,7 @@
[[package]]
name = "orml-xcm-support"
version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.39#a0751540591c88ccc2d4029464de887933727183"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.41#71e9e0c73a2abc1ff8c1c3511869d60f57caa2c0"
dependencies = [
"frame-support",
"orml-traits",
@@ -5949,7 +5944,7 @@
[[package]]
name = "orml-xtokens"
version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.39#a0751540591c88ccc2d4029464de887933727183"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.41#71e9e0c73a2abc1ff8c1c3511869d60f57caa2c0"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -6025,7 +6020,7 @@
[[package]]
name = "pallet-aura"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-system",
@@ -6041,7 +6036,7 @@
[[package]]
name = "pallet-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-system",
@@ -6057,7 +6052,7 @@
[[package]]
name = "pallet-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-system",
@@ -6071,7 +6066,7 @@
[[package]]
name = "pallet-babe"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6095,7 +6090,7 @@
[[package]]
name = "pallet-bags-list"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6115,7 +6110,7 @@
[[package]]
name = "pallet-balances"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6130,7 +6125,7 @@
[[package]]
name = "pallet-base-fee"
version = "1.0.0"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"fp-evm",
"frame-support",
@@ -6144,7 +6139,7 @@
[[package]]
name = "pallet-beefy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-system",
@@ -6153,7 +6148,7 @@
"parity-scale-codec",
"scale-info",
"serde",
- "sp-beefy",
+ "sp-consensus-beefy",
"sp-runtime",
"sp-session",
"sp-staking",
@@ -6163,7 +6158,7 @@
[[package]]
name = "pallet-beefy-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"array-bytes 4.2.0",
"binary-merkle-tree",
@@ -6177,7 +6172,7 @@
"scale-info",
"serde",
"sp-api",
- "sp-beefy",
+ "sp-consensus-beefy",
"sp-core",
"sp-io",
"sp-runtime",
@@ -6187,7 +6182,7 @@
[[package]]
name = "pallet-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6205,7 +6200,7 @@
[[package]]
name = "pallet-child-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6251,7 +6246,7 @@
[[package]]
name = "pallet-collective"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6305,7 +6300,7 @@
[[package]]
name = "pallet-conviction-voting"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"assert_matches",
"frame-benchmarking",
@@ -6322,7 +6317,7 @@
[[package]]
name = "pallet-democracy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6340,7 +6335,7 @@
[[package]]
name = "pallet-election-provider-multi-phase"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6363,7 +6358,7 @@
[[package]]
name = "pallet-election-provider-support-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6376,7 +6371,7 @@
[[package]]
name = "pallet-elections-phragmen"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6394,7 +6389,7 @@
[[package]]
name = "pallet-ethereum"
version = "4.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"ethereum",
"ethereum-types",
@@ -6402,16 +6397,13 @@
"fp-consensus",
"fp-ethereum",
"fp-evm",
- "fp-evm-mapping",
"fp-rpc",
- "fp-self-contained",
"fp-storage",
"frame-support",
"frame-system",
"pallet-evm",
"pallet-timestamp",
"parity-scale-codec",
- "rlp",
"scale-info",
"sp-io",
"sp-runtime",
@@ -6421,12 +6413,12 @@
[[package]]
name = "pallet-evm"
version = "6.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"environmental",
"evm",
+ "fp-account",
"fp-evm",
- "fp-evm-mapping",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -6501,7 +6493,7 @@
[[package]]
name = "pallet-evm-precompile-simple"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#708aebf2255bcf90b15b309134bcf13b0ec7884b"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.41#1ed335108b39dcdaeacdaed8eeb33c2e7657273e"
dependencies = [
"fp-evm",
"ripemd",
@@ -6527,7 +6519,7 @@
[[package]]
name = "pallet-fast-unstake"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6587,7 +6579,7 @@
[[package]]
name = "pallet-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6598,8 +6590,8 @@
"parity-scale-codec",
"scale-info",
"sp-application-crypto",
+ "sp-consensus-grandpa",
"sp-core",
- "sp-finality-grandpa",
"sp-io",
"sp-runtime",
"sp-session",
@@ -6627,7 +6619,7 @@
[[package]]
name = "pallet-identity"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"enumflags2",
"frame-benchmarking",
@@ -6643,7 +6635,7 @@
[[package]]
name = "pallet-im-online"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6663,7 +6655,7 @@
[[package]]
name = "pallet-indices"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6709,7 +6701,7 @@
[[package]]
name = "pallet-membership"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6726,7 +6718,7 @@
[[package]]
name = "pallet-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6743,7 +6735,7 @@
[[package]]
name = "pallet-multisig"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6759,7 +6751,7 @@
[[package]]
name = "pallet-nis"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6775,7 +6767,7 @@
[[package]]
name = "pallet-nomination-pools"
version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-system",
@@ -6792,7 +6784,7 @@
[[package]]
name = "pallet-nomination-pools-benchmarking"
version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6812,7 +6804,7 @@
[[package]]
name = "pallet-nomination-pools-runtime-api"
version = "1.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"pallet-nomination-pools",
"parity-scale-codec",
@@ -6844,7 +6836,7 @@
[[package]]
name = "pallet-offences"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-system",
@@ -6861,7 +6853,7 @@
[[package]]
name = "pallet-offences-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6885,7 +6877,7 @@
[[package]]
name = "pallet-preimage"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6902,7 +6894,7 @@
[[package]]
name = "pallet-proxy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6917,7 +6909,7 @@
[[package]]
name = "pallet-ranked-collective"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6935,7 +6927,7 @@
[[package]]
name = "pallet-recovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6950,7 +6942,7 @@
[[package]]
name = "pallet-referenda"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"assert_matches",
"frame-benchmarking",
@@ -6989,7 +6981,7 @@
[[package]]
name = "pallet-scheduler"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7006,7 +6998,7 @@
[[package]]
name = "pallet-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-system",
@@ -7027,7 +7019,7 @@
[[package]]
name = "pallet-session-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7043,7 +7035,7 @@
[[package]]
name = "pallet-society"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-system",
@@ -7057,7 +7049,7 @@
[[package]]
name = "pallet-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -7080,7 +7072,7 @@
[[package]]
name = "pallet-staking-reward-curve"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -7091,7 +7083,7 @@
[[package]]
name = "pallet-staking-reward-fn"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"log",
"sp-arithmetic",
@@ -7100,7 +7092,7 @@
[[package]]
name = "pallet-staking-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -7109,7 +7101,7 @@
[[package]]
name = "pallet-state-trie-migration"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7142,7 +7134,7 @@
[[package]]
name = "pallet-sudo"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-system",
@@ -7156,7 +7148,7 @@
[[package]]
name = "pallet-template-transaction-payment"
version = "3.0.0"
-source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.39#7e74e3937a2c08bf29a00084a5c2f1ca6676d87a"
+source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.41#65d810e69aa1f5d79e08d0d4e607ffd70c877603"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7188,7 +7180,7 @@
[[package]]
name = "pallet-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7206,7 +7198,7 @@
[[package]]
name = "pallet-tips"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7225,7 +7217,7 @@
[[package]]
name = "pallet-transaction-payment"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-support",
"frame-system",
@@ -7241,7 +7233,7 @@
[[package]]
name = "pallet-transaction-payment-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"jsonrpsee",
"pallet-transaction-payment-rpc-runtime-api",
@@ -7257,7 +7249,7 @@
[[package]]
name = "pallet-transaction-payment-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
@@ -7269,7 +7261,7 @@
[[package]]
name = "pallet-treasury"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7327,7 +7319,7 @@
[[package]]
name = "pallet-utility"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7343,7 +7335,7 @@
[[package]]
name = "pallet-vesting"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7358,7 +7350,7 @@
[[package]]
name = "pallet-whitelist"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7372,8 +7364,8 @@
[[package]]
name = "pallet-xcm"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bounded-collections",
"frame-benchmarking",
@@ -7393,8 +7385,8 @@
[[package]]
name = "pallet-xcm-benchmarks"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7413,7 +7405,7 @@
[[package]]
name = "parachain-info"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.39#d6eef144421ef5c3f339f681484d06bb729dfa82"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.41#ae4e75b077c220bdf29b299b36a63b87ccb46b4c"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -7619,7 +7611,7 @@
"pest_meta",
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
@@ -7711,8 +7703,8 @@
[[package]]
name = "polkadot-approval-distribution"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"futures",
"polkadot-node-metrics",
@@ -7726,8 +7718,8 @@
[[package]]
name = "polkadot-availability-bitfield-distribution"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"futures",
"polkadot-node-network-protocol",
@@ -7740,8 +7732,8 @@
[[package]]
name = "polkadot-availability-distribution"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"derive_more",
"fatality",
@@ -7763,8 +7755,8 @@
[[package]]
name = "polkadot-availability-recovery"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"fatality",
"futures",
@@ -7784,8 +7776,8 @@
[[package]]
name = "polkadot-cli"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"clap",
"frame-benchmarking-cli",
@@ -7812,8 +7804,8 @@
[[package]]
name = "polkadot-client"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"async-trait",
"frame-benchmarking",
@@ -7834,13 +7826,13 @@
"sc-service",
"sp-api",
"sp-authority-discovery",
- "sp-beefy",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
+ "sp-consensus-beefy",
+ "sp-consensus-grandpa",
"sp-core",
- "sp-finality-grandpa",
"sp-inherents",
"sp-keyring",
"sp-mmr-primitives",
@@ -7854,8 +7846,8 @@
[[package]]
name = "polkadot-collator-protocol"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"always-assert",
"bitvec",
@@ -7876,8 +7868,8 @@
[[package]]
name = "polkadot-core-primitives"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -7888,8 +7880,8 @@
[[package]]
name = "polkadot-dispute-distribution"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"derive_more",
"fatality",
@@ -7913,8 +7905,8 @@
[[package]]
name = "polkadot-erasure-coding"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"parity-scale-codec",
"polkadot-node-primitives",
@@ -7927,8 +7919,8 @@
[[package]]
name = "polkadot-gossip-support"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"futures",
"futures-timer",
@@ -7947,8 +7939,8 @@
[[package]]
name = "polkadot-network-bridge"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"always-assert",
"async-trait",
@@ -7963,7 +7955,6 @@
"polkadot-overseer",
"polkadot-primitives",
"sc-network",
- "sc-network-common",
"sp-consensus",
"thiserror",
"tracing-gum",
@@ -7971,8 +7962,8 @@
[[package]]
name = "polkadot-node-collation-generation"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"futures",
"parity-scale-codec",
@@ -7989,8 +7980,8 @@
[[package]]
name = "polkadot-node-core-approval-voting"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bitvec",
"derive_more",
@@ -8018,8 +8009,8 @@
[[package]]
name = "polkadot-node-core-av-store"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bitvec",
"futures",
@@ -8039,8 +8030,8 @@
[[package]]
name = "polkadot-node-core-backing"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bitvec",
"fatality",
@@ -8058,8 +8049,8 @@
[[package]]
name = "polkadot-node-core-bitfield-signing"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"futures",
"polkadot-node-subsystem",
@@ -8073,8 +8064,8 @@
[[package]]
name = "polkadot-node-core-candidate-validation"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"async-trait",
"futures",
@@ -8093,8 +8084,8 @@
[[package]]
name = "polkadot-node-core-chain-api"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"futures",
"polkadot-node-metrics",
@@ -8108,8 +8099,8 @@
[[package]]
name = "polkadot-node-core-chain-selection"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"futures",
"futures-timer",
@@ -8125,8 +8116,8 @@
[[package]]
name = "polkadot-node-core-dispute-coordinator"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"fatality",
"futures",
@@ -8144,8 +8135,8 @@
[[package]]
name = "polkadot-node-core-parachains-inherent"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"async-trait",
"futures",
@@ -8161,8 +8152,8 @@
[[package]]
name = "polkadot-node-core-provisioner"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bitvec",
"fatality",
@@ -8179,8 +8170,8 @@
[[package]]
name = "polkadot-node-core-pvf"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"always-assert",
"assert_matches",
@@ -8207,6 +8198,7 @@
"sp-maybe-compressed-blob",
"sp-tracing",
"sp-wasm-interface",
+ "substrate-build-script-utils",
"tempfile",
"tikv-jemalloc-ctl",
"tokio",
@@ -8215,8 +8207,8 @@
[[package]]
name = "polkadot-node-core-pvf-checker"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"futures",
"polkadot-node-primitives",
@@ -8231,8 +8223,8 @@
[[package]]
name = "polkadot-node-core-runtime-api"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"futures",
"lru 0.9.0",
@@ -8246,8 +8238,8 @@
[[package]]
name = "polkadot-node-jaeger"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"lazy_static",
"log",
@@ -8264,8 +8256,8 @@
[[package]]
name = "polkadot-node-metrics"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bs58",
"futures",
@@ -8283,8 +8275,8 @@
[[package]]
name = "polkadot-node-network-protocol"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"async-trait",
"derive_more",
@@ -8298,7 +8290,6 @@
"rand 0.8.5",
"sc-authority-discovery",
"sc-network",
- "sc-network-common",
"strum",
"thiserror",
"tracing-gum",
@@ -8306,8 +8297,8 @@
[[package]]
name = "polkadot-node-primitives"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bounded-vec",
"futures",
@@ -8329,8 +8320,8 @@
[[package]]
name = "polkadot-node-subsystem"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"polkadot-node-jaeger",
"polkadot-node-subsystem-types",
@@ -8339,8 +8330,8 @@
[[package]]
name = "polkadot-node-subsystem-types"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"async-trait",
"derive_more",
@@ -8362,8 +8353,8 @@
[[package]]
name = "polkadot-node-subsystem-util"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"async-trait",
"derive_more",
@@ -8395,8 +8386,8 @@
[[package]]
name = "polkadot-overseer"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"async-trait",
"futures",
@@ -8418,8 +8409,8 @@
[[package]]
name = "polkadot-parachain"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bounded-collections",
"derive_more",
@@ -8435,8 +8426,8 @@
[[package]]
name = "polkadot-performance-test"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"env_logger 0.9.3",
"kusama-runtime",
@@ -8451,8 +8442,8 @@
[[package]]
name = "polkadot-primitives"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bitvec",
"hex-literal",
@@ -8477,11 +8468,9 @@
[[package]]
name = "polkadot-rpc"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
- "beefy-gadget",
- "beefy-gadget-rpc",
"jsonrpsee",
"mmr-rpc",
"pallet-transaction-payment-rpc",
@@ -8490,9 +8479,11 @@
"sc-client-api",
"sc-consensus-babe",
"sc-consensus-babe-rpc",
+ "sc-consensus-beefy",
+ "sc-consensus-beefy-rpc",
"sc-consensus-epochs",
- "sc-finality-grandpa",
- "sc-finality-grandpa-rpc",
+ "sc-consensus-grandpa",
+ "sc-consensus-grandpa-rpc",
"sc-rpc",
"sc-sync-state-rpc",
"sc-transaction-pool-api",
@@ -8509,8 +8500,8 @@
[[package]]
name = "polkadot-runtime"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -8537,7 +8528,7 @@
"pallet-elections-phragmen",
"pallet-fast-unstake",
"pallet-grandpa",
- "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
@@ -8575,9 +8566,9 @@
"smallvec",
"sp-api",
"sp-authority-discovery",
- "sp-beefy",
"sp-block-builder",
"sp-consensus-babe",
+ "sp-consensus-beefy",
"sp-core",
"sp-inherents",
"sp-io",
@@ -8599,8 +8590,8 @@
[[package]]
name = "polkadot-runtime-common"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -8613,7 +8604,6 @@
"pallet-authorship",
"pallet-babe",
"pallet-balances",
- "pallet-beefy-mmr",
"pallet-election-provider-multi-phase",
"pallet-fast-unstake",
"pallet-session",
@@ -8632,7 +8622,6 @@
"serde_derive",
"slot-range-helper",
"sp-api",
- "sp-beefy",
"sp-core",
"sp-inherents",
"sp-io",
@@ -8647,8 +8636,8 @@
[[package]]
name = "polkadot-runtime-constants"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -8661,8 +8650,8 @@
[[package]]
name = "polkadot-runtime-metrics"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bs58",
"parity-scale-codec",
@@ -8673,8 +8662,8 @@
[[package]]
name = "polkadot-runtime-parachains"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bitflags",
"bitvec",
@@ -8717,11 +8706,10 @@
[[package]]
name = "polkadot-service"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"async-trait",
- "beefy-gadget",
"frame-benchmarking-cli",
"frame-support",
"frame-system-rpc-runtime-api",
@@ -8782,12 +8770,14 @@
"sc-client-db",
"sc-consensus",
"sc-consensus-babe",
+ "sc-consensus-beefy",
+ "sc-consensus-grandpa",
"sc-consensus-slots",
"sc-executor",
- "sc-finality-grandpa",
"sc-keystore",
"sc-network",
"sc-network-common",
+ "sc-network-sync",
"sc-offchain",
"sc-service",
"sc-sync-state-rpc",
@@ -8798,13 +8788,13 @@
"serde_json",
"sp-api",
"sp-authority-discovery",
- "sp-beefy",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
+ "sp-consensus-beefy",
+ "sp-consensus-grandpa",
"sp-core",
- "sp-finality-grandpa",
"sp-inherents",
"sp-io",
"sp-keystore",
@@ -8825,8 +8815,8 @@
[[package]]
name = "polkadot-statement-distribution"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"arrayvec 0.5.2",
"fatality",
@@ -8846,8 +8836,8 @@
[[package]]
name = "polkadot-statement-table"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"parity-scale-codec",
"polkadot-primitives",
@@ -9080,9 +9070,9 @@
[[package]]
name = "prost"
-version = "0.11.8"
+version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537"
+checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd"
dependencies = [
"bytes",
"prost-derive",
@@ -9090,9 +9080,9 @@
[[package]]
name = "prost-build"
-version = "0.11.8"
+version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12"
+checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270"
dependencies = [
"bytes",
"heck",
@@ -9125,9 +9115,9 @@
[[package]]
name = "prost-derive"
-version = "0.11.8"
+version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b"
+checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
dependencies = [
"anyhow",
"itertools",
@@ -9138,9 +9128,9 @@
[[package]]
name = "prost-types"
-version = "0.11.8"
+version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88"
+checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13"
dependencies = [
"prost",
]
@@ -9156,7 +9146,7 @@
[[package]]
name = "quartz-runtime"
-version = "0.9.39"
+version = "0.9.41"
dependencies = [
"app-promotion-rpc",
"cumulus-pallet-aura-ext",
@@ -9170,7 +9160,6 @@
"derivative",
"evm-coder",
"fp-evm",
- "fp-evm-mapping",
"fp-rpc",
"fp-self-contained",
"frame-benchmarking",
@@ -9505,7 +9494,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
@@ -9637,8 +9626,8 @@
[[package]]
name = "rococo-runtime"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"binary-merkle-tree",
"frame-benchmarking",
@@ -9662,7 +9651,7 @@
"pallet-democracy",
"pallet-elections-phragmen",
"pallet-grandpa",
- "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
@@ -9700,9 +9689,9 @@
"smallvec",
"sp-api",
"sp-authority-discovery",
- "sp-beefy",
"sp-block-builder",
"sp-consensus-babe",
+ "sp-consensus-beefy",
"sp-core",
"sp-inherents",
"sp-io",
@@ -9723,8 +9712,8 @@
[[package]]
name = "rococo-runtime-constants"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -9767,7 +9756,7 @@
"log",
"netlink-packet-route",
"netlink-proto",
- "nix 0.24.3",
+ "nix",
"thiserror",
"tokio",
]
@@ -9834,13 +9823,27 @@
[[package]]
name = "rustix"
+version = "0.35.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9"
+dependencies = [
+ "bitflags",
+ "errno 0.2.8",
+ "io-lifetimes 0.7.5",
+ "libc",
+ "linux-raw-sys 0.0.46",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "rustix"
version = "0.36.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0af200a3324fa5bcd922e84e9b55a298ea9f431a489f01961acdebc6e908f25"
dependencies = [
"bitflags",
- "errno",
- "io-lifetimes",
+ "errno 0.3.1",
+ "io-lifetimes 1.0.10",
"libc",
"linux-raw-sys 0.1.4",
"windows-sys 0.45.0",
@@ -9853,8 +9856,8 @@
checksum = "85597d61f83914ddeba6a47b3b8ffe7365107221c2e557ed94426489fefb5f77"
dependencies = [
"bitflags",
- "errno",
- "io-lifetimes",
+ "errno 0.3.1",
+ "io-lifetimes 1.0.10",
"libc",
"linux-raw-sys 0.3.1",
"windows-sys 0.48.0",
@@ -9950,7 +9953,7 @@
[[package]]
name = "sc-allocator"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"log",
"sp-core",
@@ -9961,7 +9964,7 @@
[[package]]
name = "sc-authority-discovery"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"futures",
@@ -9974,6 +9977,7 @@
"prost-build",
"rand 0.8.5",
"sc-client-api",
+ "sc-network",
"sc-network-common",
"sp-api",
"sp-authority-discovery",
@@ -9988,7 +9992,7 @@
[[package]]
name = "sc-basic-authorship"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"futures",
"futures-timer",
@@ -10011,7 +10015,7 @@
[[package]]
name = "sc-block-builder"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"sc-client-api",
@@ -10021,28 +10025,31 @@
"sp-core",
"sp-inherents",
"sp-runtime",
- "sp-state-machine",
]
[[package]]
name = "sc-chain-spec"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"memmap2",
"sc-chain-spec-derive",
- "sc-network-common",
+ "sc-client-api",
+ "sc-executor",
+ "sc-network",
"sc-telemetry",
"serde",
"serde_json",
+ "sp-blockchain",
"sp-core",
"sp-runtime",
+ "sp-state-machine",
]
[[package]]
name = "sc-chain-spec-derive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -10053,7 +10060,7 @@
[[package]]
name = "sc-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"array-bytes 4.2.0",
"chrono",
@@ -10093,7 +10100,7 @@
[[package]]
name = "sc-client-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"fnv",
"futures",
@@ -10119,9 +10126,9 @@
[[package]]
name = "sc-client-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
- "hash-db",
+ "hash-db 0.16.0",
"kvdb",
"kvdb-memorydb",
"kvdb-rocksdb",
@@ -10145,7 +10152,7 @@
[[package]]
name = "sc-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"futures",
@@ -10170,7 +10177,7 @@
[[package]]
name = "sc-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"futures",
@@ -10199,7 +10206,7 @@
[[package]]
name = "sc-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"fork-tree",
@@ -10238,7 +10245,7 @@
[[package]]
name = "sc-consensus-babe-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"futures",
"jsonrpsee",
@@ -10258,9 +10265,63 @@
]
[[package]]
+name = "sc-consensus-beefy"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
+dependencies = [
+ "array-bytes 4.2.0",
+ "async-trait",
+ "fnv",
+ "futures",
+ "log",
+ "parity-scale-codec",
+ "parking_lot 0.12.1",
+ "sc-client-api",
+ "sc-consensus",
+ "sc-keystore",
+ "sc-network",
+ "sc-network-common",
+ "sc-network-gossip",
+ "sc-network-sync",
+ "sc-utils",
+ "sp-api",
+ "sp-application-crypto",
+ "sp-arithmetic",
+ "sp-blockchain",
+ "sp-consensus",
+ "sp-consensus-beefy",
+ "sp-core",
+ "sp-keystore",
+ "sp-mmr-primitives",
+ "sp-runtime",
+ "substrate-prometheus-endpoint",
+ "thiserror",
+ "wasm-timer",
+]
+
+[[package]]
+name = "sc-consensus-beefy-rpc"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
+dependencies = [
+ "futures",
+ "jsonrpsee",
+ "log",
+ "parity-scale-codec",
+ "parking_lot 0.12.1",
+ "sc-consensus-beefy",
+ "sc-rpc",
+ "serde",
+ "sp-consensus-beefy",
+ "sp-core",
+ "sp-runtime",
+ "thiserror",
+]
+
+[[package]]
name = "sc-consensus-epochs"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"fork-tree",
"parity-scale-codec",
@@ -10271,9 +10332,69 @@
]
[[package]]
+name = "sc-consensus-grandpa"
+version = "0.10.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
+dependencies = [
+ "ahash 0.8.3",
+ "array-bytes 4.2.0",
+ "async-trait",
+ "dyn-clone",
+ "finality-grandpa",
+ "fork-tree",
+ "futures",
+ "futures-timer",
+ "log",
+ "parity-scale-codec",
+ "parking_lot 0.12.1",
+ "rand 0.8.5",
+ "sc-block-builder",
+ "sc-chain-spec",
+ "sc-client-api",
+ "sc-consensus",
+ "sc-network",
+ "sc-network-common",
+ "sc-network-gossip",
+ "sc-telemetry",
+ "sc-utils",
+ "serde_json",
+ "sp-api",
+ "sp-application-crypto",
+ "sp-arithmetic",
+ "sp-blockchain",
+ "sp-consensus",
+ "sp-consensus-grandpa",
+ "sp-core",
+ "sp-keystore",
+ "sp-runtime",
+ "substrate-prometheus-endpoint",
+ "thiserror",
+]
+
+[[package]]
+name = "sc-consensus-grandpa-rpc"
+version = "0.10.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
+dependencies = [
+ "finality-grandpa",
+ "futures",
+ "jsonrpsee",
+ "log",
+ "parity-scale-codec",
+ "sc-client-api",
+ "sc-consensus-grandpa",
+ "sc-rpc",
+ "serde",
+ "sp-blockchain",
+ "sp-core",
+ "sp-runtime",
+ "thiserror",
+]
+
+[[package]]
name = "sc-consensus-manual-seal"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"assert_matches",
"async-trait",
@@ -10307,7 +10428,7 @@
[[package]]
name = "sc-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"futures",
@@ -10330,7 +10451,7 @@
[[package]]
name = "sc-executor"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"lru 0.8.1",
"parity-scale-codec",
@@ -10354,7 +10475,7 @@
[[package]]
name = "sc-executor-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"sc-allocator",
"sp-maybe-compressed-blob",
@@ -10367,7 +10488,7 @@
[[package]]
name = "sc-executor-wasmi"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"log",
"sc-allocator",
@@ -10380,7 +10501,7 @@
[[package]]
name = "sc-executor-wasmtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"anyhow",
"cfg-if",
@@ -10393,78 +10514,19 @@
"sp-runtime-interface",
"sp-wasm-interface",
"wasmtime",
-]
-
-[[package]]
-name = "sc-finality-grandpa"
-version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
-dependencies = [
- "ahash 0.8.3",
- "array-bytes 4.2.0",
- "async-trait",
- "dyn-clone",
- "finality-grandpa",
- "fork-tree",
- "futures",
- "futures-timer",
- "log",
- "parity-scale-codec",
- "parking_lot 0.12.1",
- "rand 0.8.5",
- "sc-block-builder",
- "sc-chain-spec",
- "sc-client-api",
- "sc-consensus",
- "sc-network",
- "sc-network-common",
- "sc-network-gossip",
- "sc-telemetry",
- "sc-utils",
- "serde_json",
- "sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
- "sp-blockchain",
- "sp-consensus",
- "sp-core",
- "sp-finality-grandpa",
- "sp-keystore",
- "sp-runtime",
- "substrate-prometheus-endpoint",
- "thiserror",
]
[[package]]
-name = "sc-finality-grandpa-rpc"
-version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
-dependencies = [
- "finality-grandpa",
- "futures",
- "jsonrpsee",
- "log",
- "parity-scale-codec",
- "sc-client-api",
- "sc-finality-grandpa",
- "sc-rpc",
- "serde",
- "sp-blockchain",
- "sp-core",
- "sp-runtime",
- "thiserror",
-]
-
-[[package]]
name = "sc-informant"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"ansi_term",
"futures",
"futures-timer",
"log",
"sc-client-api",
+ "sc-network",
"sc-network-common",
"sp-blockchain",
"sp-runtime",
@@ -10473,7 +10535,7 @@
[[package]]
name = "sc-keystore"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"array-bytes 4.2.0",
"async-trait",
@@ -10488,12 +10550,12 @@
[[package]]
name = "sc-network"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"array-bytes 4.2.0",
+ "async-channel",
"async-trait",
"asynchronous-codec",
- "backtrace",
"bytes",
"either",
"fnv",
@@ -10501,6 +10563,7 @@
"futures-timer",
"ip_network",
"libp2p",
+ "linked_hash_set",
"log",
"lru 0.8.1",
"mockall",
@@ -10531,7 +10594,7 @@
[[package]]
name = "sc-network-bitswap"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"cid",
"futures",
@@ -10540,6 +10603,7 @@
"prost",
"prost-build",
"sc-client-api",
+ "sc-network",
"sc-network-common",
"sp-blockchain",
"sp-runtime",
@@ -10550,33 +10614,35 @@
[[package]]
name = "sc-network-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
+ "array-bytes 4.2.0",
"async-trait",
"bitflags",
"bytes",
"futures",
"futures-timer",
"libp2p",
- "linked_hash_set",
"parity-scale-codec",
"prost-build",
"sc-consensus",
"sc-peerset",
+ "sc-utils",
"serde",
"smallvec",
"sp-blockchain",
"sp-consensus",
- "sp-finality-grandpa",
+ "sp-consensus-grandpa",
"sp-runtime",
"substrate-prometheus-endpoint",
"thiserror",
+ "zeroize",
]
[[package]]
name = "sc-network-gossip"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"ahash 0.8.3",
"futures",
@@ -10584,6 +10650,7 @@
"libp2p",
"log",
"lru 0.8.1",
+ "sc-network",
"sc-network-common",
"sc-peerset",
"sp-runtime",
@@ -10594,7 +10661,7 @@
[[package]]
name = "sc-network-light"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"array-bytes 4.2.0",
"futures",
@@ -10604,6 +10671,7 @@
"prost",
"prost-build",
"sc-client-api",
+ "sc-network",
"sc-network-common",
"sc-peerset",
"sp-blockchain",
@@ -10615,12 +10683,13 @@
[[package]]
name = "sc-network-sync"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"array-bytes 4.2.0",
"async-trait",
"fork-tree",
"futures",
+ "futures-timer",
"libp2p",
"log",
"lru 0.8.1",
@@ -10630,6 +10699,7 @@
"prost-build",
"sc-client-api",
"sc-consensus",
+ "sc-network",
"sc-network-common",
"sc-peerset",
"sc-utils",
@@ -10637,8 +10707,8 @@
"sp-arithmetic",
"sp-blockchain",
"sp-consensus",
+ "sp-consensus-grandpa",
"sp-core",
- "sp-finality-grandpa",
"sp-runtime",
"substrate-prometheus-endpoint",
"thiserror",
@@ -10647,7 +10717,7 @@
[[package]]
name = "sc-network-transactions"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"array-bytes 4.2.0",
"futures",
@@ -10655,6 +10725,7 @@
"log",
"parity-scale-codec",
"pin-project",
+ "sc-network",
"sc-network-common",
"sc-peerset",
"sc-utils",
@@ -10666,7 +10737,7 @@
[[package]]
name = "sc-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"array-bytes 4.2.0",
"bytes",
@@ -10682,6 +10753,7 @@
"parking_lot 0.12.1",
"rand 0.8.5",
"sc-client-api",
+ "sc-network",
"sc-network-common",
"sc-peerset",
"sc-utils",
@@ -10696,7 +10768,7 @@
[[package]]
name = "sc-peerset"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"futures",
"libp2p",
@@ -10709,7 +10781,7 @@
[[package]]
name = "sc-proposer-metrics"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"log",
"substrate-prometheus-endpoint",
@@ -10718,7 +10790,7 @@
[[package]]
name = "sc-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"futures",
"jsonrpsee",
@@ -10748,7 +10820,7 @@
[[package]]
name = "sc-rpc-api"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"jsonrpsee",
"parity-scale-codec",
@@ -10767,7 +10839,7 @@
[[package]]
name = "sc-rpc-server"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"http",
"jsonrpsee",
@@ -10782,7 +10854,7 @@
[[package]]
name = "sc-rpc-spec-v2"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"array-bytes 4.2.0",
"futures",
@@ -10808,7 +10880,7 @@
[[package]]
name = "sc-service"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"directories",
@@ -10874,7 +10946,7 @@
[[package]]
name = "sc-state-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"log",
"parity-scale-codec",
@@ -10885,12 +10957,12 @@
[[package]]
name = "sc-storage-monitor"
version = "0.1.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"clap",
+ "fs4",
"futures",
"log",
- "nix 0.26.2",
"sc-client-db",
"sc-utils",
"sp-core",
@@ -10901,7 +10973,7 @@
[[package]]
name = "sc-sync-state-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"jsonrpsee",
"parity-scale-codec",
@@ -10909,7 +10981,7 @@
"sc-client-api",
"sc-consensus-babe",
"sc-consensus-epochs",
- "sc-finality-grandpa",
+ "sc-consensus-grandpa",
"serde",
"serde_json",
"sp-blockchain",
@@ -10920,7 +10992,7 @@
[[package]]
name = "sc-sysinfo"
version = "6.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"futures",
"libc",
@@ -10939,7 +11011,7 @@
[[package]]
name = "sc-telemetry"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"chrono",
"futures",
@@ -10958,7 +11030,7 @@
[[package]]
name = "sc-tracing"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"ansi_term",
"atty",
@@ -10989,7 +11061,7 @@
[[package]]
name = "sc-tracing-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -11000,7 +11072,7 @@
[[package]]
name = "sc-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"futures",
@@ -11027,7 +11099,7 @@
[[package]]
name = "sc-transaction-pool-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"futures",
@@ -11041,15 +11113,16 @@
[[package]]
name = "sc-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
- "backtrace",
+ "async-channel",
"futures",
"futures-timer",
"lazy_static",
"log",
"parking_lot 0.12.1",
"prometheus",
+ "sp-arithmetic",
]
[[package]]
@@ -11250,29 +11323,29 @@
[[package]]
name = "serde"
-version = "1.0.159"
+version = "1.0.160"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065"
+checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.159"
+version = "1.0.160"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585"
+checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
name = "serde_json"
-version = "1.0.95"
+version = "1.0.96"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744"
+checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
dependencies = [
"itoa",
"ryu",
@@ -11354,9 +11427,9 @@
[[package]]
name = "sha3"
-version = "0.10.6"
+version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9"
+checksum = "54c2bb1a323307527314a36bfb73f24febb08ce2b8a554bf4ffd6f51ad15198c"
dependencies = [
"digest 0.10.6",
"keccak",
@@ -11438,8 +11511,8 @@
[[package]]
name = "slot-range-helper"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"enumn",
"parity-scale-codec",
@@ -11516,9 +11589,9 @@
[[package]]
name = "sp-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
- "hash-db",
+ "hash-db 0.16.0",
"log",
"parity-scale-codec",
"sp-api-proc-macro",
@@ -11534,9 +11607,11 @@
[[package]]
name = "sp-api-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
+ "Inflector",
"blake2",
+ "expander 1.0.0",
"proc-macro-crate",
"proc-macro2",
"quote",
@@ -11546,7 +11621,7 @@
[[package]]
name = "sp-application-crypto"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11559,7 +11634,7 @@
[[package]]
name = "sp-arithmetic"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"integer-sqrt",
"num-traits",
@@ -11573,39 +11648,20 @@
[[package]]
name = "sp-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
-dependencies = [
- "parity-scale-codec",
- "scale-info",
- "sp-api",
- "sp-application-crypto",
- "sp-runtime",
- "sp-std",
-]
-
-[[package]]
-name = "sp-beefy"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
- "lazy_static",
"parity-scale-codec",
"scale-info",
- "serde",
"sp-api",
"sp-application-crypto",
- "sp-core",
- "sp-io",
- "sp-mmr-primitives",
"sp-runtime",
"sp-std",
- "strum",
]
[[package]]
name = "sp-block-builder"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -11617,7 +11673,7 @@
[[package]]
name = "sp-blockchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"futures",
"log",
@@ -11635,25 +11691,22 @@
[[package]]
name = "sp-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"futures",
"log",
- "parity-scale-codec",
"sp-core",
"sp-inherents",
"sp-runtime",
"sp-state-machine",
- "sp-std",
- "sp-version",
"thiserror",
]
[[package]]
name = "sp-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -11671,7 +11724,7 @@
[[package]]
name = "sp-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"merlin",
@@ -11692,9 +11745,46 @@
]
[[package]]
+name = "sp-consensus-beefy"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
+dependencies = [
+ "lazy_static",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-api",
+ "sp-application-crypto",
+ "sp-core",
+ "sp-io",
+ "sp-mmr-primitives",
+ "sp-runtime",
+ "sp-std",
+ "strum",
+]
+
+[[package]]
+name = "sp-consensus-grandpa"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
+dependencies = [
+ "finality-grandpa",
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-api",
+ "sp-application-crypto",
+ "sp-core",
+ "sp-keystore",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
name = "sp-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11706,7 +11796,7 @@
[[package]]
name = "sp-consensus-vrf"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11719,7 +11809,7 @@
[[package]]
name = "sp-core"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"array-bytes 4.2.0",
"base58",
@@ -11729,7 +11819,7 @@
"dyn-clonable",
"ed25519-zebra",
"futures",
- "hash-db",
+ "hash-db 0.16.0",
"hash256-std-hasher",
"impl-serde",
"lazy_static",
@@ -11762,13 +11852,13 @@
[[package]]
name = "sp-core-hashing"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
- "blake2",
+ "blake2b_simd",
"byteorder",
"digest 0.10.6",
"sha2 0.10.6",
- "sha3 0.10.6",
+ "sha3 0.10.7",
"sp-std",
"twox-hash",
]
@@ -11776,7 +11866,7 @@
[[package]]
name = "sp-core-hashing-proc-macro"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"proc-macro2",
"quote",
@@ -11787,7 +11877,7 @@
[[package]]
name = "sp-database"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"kvdb",
"parking_lot 0.12.1",
@@ -11796,7 +11886,7 @@
[[package]]
name = "sp-debug-derive"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"proc-macro2",
"quote",
@@ -11806,36 +11896,18 @@
[[package]]
name = "sp-externalities"
version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"environmental",
"parity-scale-codec",
"sp-std",
"sp-storage",
-]
-
-[[package]]
-name = "sp-finality-grandpa"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
-dependencies = [
- "finality-grandpa",
- "log",
- "parity-scale-codec",
- "scale-info",
- "serde",
- "sp-api",
- "sp-application-crypto",
- "sp-core",
- "sp-keystore",
- "sp-runtime",
- "sp-std",
]
[[package]]
name = "sp-inherents"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"impl-trait-for-tuples",
@@ -11850,7 +11922,7 @@
[[package]]
name = "sp-io"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"bytes",
"ed25519",
@@ -11875,7 +11947,7 @@
[[package]]
name = "sp-keyring"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"lazy_static",
"sp-core",
@@ -11886,7 +11958,7 @@
[[package]]
name = "sp-keystore"
version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"futures",
@@ -11903,7 +11975,7 @@
[[package]]
name = "sp-maybe-compressed-blob"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"thiserror",
"zstd",
@@ -11912,7 +11984,7 @@
[[package]]
name = "sp-mmr-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"ckb-merkle-mountain-range",
"log",
@@ -11930,7 +12002,7 @@
[[package]]
name = "sp-npos-elections"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11944,7 +12016,7 @@
[[package]]
name = "sp-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"sp-api",
"sp-core",
@@ -11954,7 +12026,7 @@
[[package]]
name = "sp-panic-handler"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"backtrace",
"lazy_static",
@@ -11964,7 +12036,7 @@
[[package]]
name = "sp-rpc"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"rustc-hash",
"serde",
@@ -11974,7 +12046,7 @@
[[package]]
name = "sp-runtime"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"either",
"hash256-std-hasher",
@@ -11996,7 +12068,7 @@
[[package]]
name = "sp-runtime-interface"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"bytes",
"impl-trait-for-tuples",
@@ -12014,7 +12086,7 @@
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"Inflector",
"proc-macro-crate",
@@ -12026,7 +12098,7 @@
[[package]]
name = "sp-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -12040,7 +12112,7 @@
[[package]]
name = "sp-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -12052,9 +12124,9 @@
[[package]]
name = "sp-state-machine"
version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
- "hash-db",
+ "hash-db 0.16.0",
"log",
"parity-scale-codec",
"parking_lot 0.12.1",
@@ -12072,12 +12144,12 @@
[[package]]
name = "sp-std"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
[[package]]
name = "sp-storage"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -12090,7 +12162,7 @@
[[package]]
name = "sp-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"futures-timer",
@@ -12105,7 +12177,7 @@
[[package]]
name = "sp-tracing"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"sp-std",
@@ -12117,7 +12189,7 @@
[[package]]
name = "sp-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"sp-api",
"sp-runtime",
@@ -12126,7 +12198,7 @@
[[package]]
name = "sp-transaction-storage-proof"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"log",
@@ -12142,10 +12214,10 @@
[[package]]
name = "sp-trie"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"ahash 0.8.3",
- "hash-db",
+ "hash-db 0.16.0",
"hashbrown 0.12.3",
"lazy_static",
"memory-db",
@@ -12158,14 +12230,14 @@
"sp-std",
"thiserror",
"tracing",
- "trie-db 0.25.1",
+ "trie-db 0.27.1",
"trie-root",
]
[[package]]
name = "sp-version"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -12182,7 +12254,7 @@
[[package]]
name = "sp-version-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"proc-macro2",
@@ -12193,7 +12265,7 @@
[[package]]
name = "sp-wasm-interface"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"anyhow",
"impl-trait-for-tuples",
@@ -12207,7 +12279,7 @@
[[package]]
name = "sp-weights"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -12408,7 +12480,7 @@
[[package]]
name = "substrate-build-script-utils"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"platforms 2.0.0",
]
@@ -12416,7 +12488,7 @@
[[package]]
name = "substrate-frame-rpc-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"frame-system-rpc-runtime-api",
"futures",
@@ -12435,7 +12507,7 @@
[[package]]
name = "substrate-prometheus-endpoint"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"hyper",
"log",
@@ -12447,7 +12519,7 @@
[[package]]
name = "substrate-rpc-client"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"jsonrpsee",
@@ -12460,7 +12532,7 @@
[[package]]
name = "substrate-state-trie-migration-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"jsonrpsee",
"log",
@@ -12473,13 +12545,13 @@
"sp-runtime",
"sp-state-machine",
"sp-trie",
- "trie-db 0.25.1",
+ "trie-db 0.27.1",
]
[[package]]
name = "substrate-test-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"futures",
"substrate-test-utils-derive",
@@ -12489,7 +12561,7 @@
[[package]]
name = "substrate-test-utils-derive"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -12500,7 +12572,7 @@
[[package]]
name = "substrate-wasm-builder"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"ansi_term",
"build-helper",
@@ -12542,9 +12614,9 @@
[[package]]
name = "syn"
-version = "2.0.13"
+version = "2.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec"
+checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
dependencies = [
"proc-macro2",
"quote",
@@ -12629,7 +12701,6 @@
version = "0.1.1"
dependencies = [
"evm-coder",
- "fp-evm-mapping",
"frame-support",
"frame-system",
"pallet-balances",
@@ -12674,7 +12745,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
@@ -12854,7 +12925,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
@@ -13008,8 +13079,8 @@
[[package]]
name = "tracing-gum"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"polkadot-node-jaeger",
"polkadot-primitives",
@@ -13019,8 +13090,8 @@
[[package]]
name = "tracing-gum-proc-macro"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"expander 0.0.6",
"proc-macro-crate",
@@ -13079,7 +13150,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908"
dependencies = [
- "hash-db",
+ "hash-db 0.15.2",
"hashbrown 0.12.3",
"log",
"smallvec",
@@ -13087,11 +13158,11 @@
[[package]]
name = "trie-db"
-version = "0.25.1"
+version = "0.27.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3390c0409daaa6027d6681393316f4ccd3ff82e1590a1e4725014e3ae2bf1920"
+checksum = "767abe6ffed88a1889671a102c2861ae742726f52e0a5a425b92c9fbfa7e9c85"
dependencies = [
- "hash-db",
+ "hash-db 0.16.0",
"hashbrown 0.13.2",
"log",
"rustc-hex",
@@ -13100,11 +13171,11 @@
[[package]]
name = "trie-root"
-version = "0.17.0"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891"
+checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b"
dependencies = [
- "hash-db",
+ "hash-db 0.16.0",
]
[[package]]
@@ -13113,7 +13184,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1631b201eb031b563d2e85ca18ec8092508e262a3196ce9bd10a67ec87b9f5c"
dependencies = [
- "hash-db",
+ "hash-db 0.15.2",
"rlp",
]
@@ -13172,7 +13243,7 @@
[[package]]
name = "try-runtime-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41#980eb16791bab5d63b47c07657bb9dc198d9307b"
dependencies = [
"async-trait",
"clap",
@@ -13335,7 +13406,7 @@
[[package]]
name = "unique-node"
-version = "0.9.39"
+version = "0.9.41"
dependencies = [
"app-promotion-rpc",
"clap",
@@ -13374,6 +13445,7 @@
"sc-consensus-manual-seal",
"sc-executor",
"sc-network",
+ "sc-network-sync",
"sc-service",
"sc-sysinfo",
"sc-telemetry",
@@ -13420,8 +13492,9 @@
"jsonrpsee",
"pallet-transaction-payment-rpc",
"sc-client-api",
- "sc-finality-grandpa",
+ "sc-consensus-grandpa",
"sc-network",
+ "sc-network-sync",
"sc-rpc",
"sc-rpc-api",
"sc-service",
@@ -13441,7 +13514,7 @@
[[package]]
name = "unique-runtime"
-version = "0.9.39"
+version = "0.9.41"
dependencies = [
"app-promotion-rpc",
"cumulus-pallet-aura-ext",
@@ -13455,7 +13528,6 @@
"derivative",
"evm-coder",
"fp-evm",
- "fp-evm-mapping",
"fp-rpc",
"fp-self-contained",
"frame-benchmarking",
@@ -13579,7 +13651,7 @@
[[package]]
name = "up-common"
-version = "0.9.39"
+version = "0.9.41"
dependencies = [
"cumulus-primitives-core",
"fp-rpc",
@@ -13638,7 +13710,7 @@
[[package]]
name = "up-sponsorship"
version = "0.1.0"
-source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.39#7e74e3937a2c08bf29a00084a5c2f1ca6676d87a"
+source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.41#65d810e69aa1f5d79e08d0d4e607ffd70c877603"
dependencies = [
"impl-trait-for-tuples",
]
@@ -14344,7 +14416,7 @@
"lazy_static",
"libc",
"log",
- "nix 0.24.3",
+ "nix",
"rand 0.8.5",
"thiserror",
"tokio",
@@ -14353,8 +14425,8 @@
[[package]]
name = "westend-runtime"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -14379,7 +14451,7 @@
"pallet-elections-phragmen",
"pallet-fast-unstake",
"pallet-grandpa",
- "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.41)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
@@ -14421,9 +14493,9 @@
"smallvec",
"sp-api",
"sp-authority-discovery",
- "sp-beefy",
"sp-block-builder",
"sp-consensus-babe",
+ "sp-consensus-beefy",
"sp-core",
"sp-inherents",
"sp-io",
@@ -14445,8 +14517,8 @@
[[package]]
name = "westend-runtime-constants"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -14802,8 +14874,8 @@
[[package]]
name = "xcm"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"bounded-collections",
"derivative",
@@ -14818,8 +14890,8 @@
[[package]]
name = "xcm-builder"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"frame-support",
"frame-system",
@@ -14839,8 +14911,8 @@
[[package]]
name = "xcm-executor"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"environmental",
"frame-benchmarking",
@@ -14859,8 +14931,8 @@
[[package]]
name = "xcm-procedural"
-version = "0.9.39-1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#c22e1c4173bf6966f5d1980f4299f7abe836f0c1"
+version = "0.9.41"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.41#e203bfb396ed949f102720debf32fb98166787af"
dependencies = [
"Inflector",
"proc-macro2",
@@ -14908,7 +14980,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.15",
]
[[package]]
Cargo.tomldiffbeforeafterboth--- a/Cargo.toml
+++ b/Cargo.toml
@@ -11,7 +11,7 @@
'runtime/tests',
'runtime/unique',
]
-package.version = "0.9.39"
+package.version = "0.9.41"
resolver = "2"
[profile.release]
@@ -29,7 +29,7 @@
app-promotion-rpc = { path = "primitives/app_promotion_rpc", default-features = false }
evm-coder = { git = "https://github.com/uniquenetwork/evm-coder", tag = "v0.3.1", default-features = false }
pallet-app-promotion = { path = "pallets/app-promotion", default-features = false }
-pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.39" }
+pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.41" }
pallet-collator-selection = { default-features = false, path = "pallets/collator-selection" }
pallet-common = { default-features = false, path = "pallets/common" }
pallet-configuration = { default-features = false, path = "pallets/configuration" }
@@ -56,7 +56,7 @@
up-data-structs = { path = "primitives/data-structs", default-features = false }
up-pov-estimate-rpc = { path = "primitives/pov-estimate-rpc", default-features = false }
up-rpc = { path = "primitives/rpc", default-features = false }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.39" }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.41" }
# Unique: Runtimes
opal-runtime = { path = "runtime/opal" }
@@ -64,124 +64,124 @@
unique-runtime = { path = "runtime/unique" }
# Frontier (Unique patches over the Parity version)
-fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-fc-db = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+fc-db = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
# Parity
codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.2.2" }
-cumulus-client-cli = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-client-consensus-aura = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-client-consensus-common = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-client-network = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-client-service = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-pallet-aura-ext = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-pallet-dmp-queue = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-pallet-parachain-system = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-pallet-xcm = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-pallet-xcmp-queue = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-primitives-core = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-primitives-timestamp = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-primitives-utility = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-relay-chain-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-frame-executive = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-authorship = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-balances = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-preimage = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-sudo = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-treasury = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39", default-features = false }
-parachain-info = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.39" }
-polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39" }
-polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39", default-features = false }
-polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39" }
-polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39" }
-sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-sysinfo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+cumulus-client-cli = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-client-consensus-aura = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-client-consensus-common = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-client-network = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-client-service = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-pallet-aura-ext = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-pallet-dmp-queue = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-pallet-parachain-system = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-pallet-xcm = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-pallet-xcmp-queue = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-primitives-core = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-primitives-timestamp = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-primitives-utility = { default-features = false , git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-relay-chain-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+frame-executive = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-authorship = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-balances = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-preimage = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-sudo = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-treasury = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.41", default-features = false }
+parachain-info = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.41" }
+polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.41" }
+polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.41", default-features = false }
+polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.41" }
+polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.41" }
+sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-consensus-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-network-sync = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-sysinfo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-block-builder = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-externalities = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-inherents = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-offchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-staking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-trie = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-version = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39", default-features = false }
-xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39", default-features = false }
-xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39", default-features = false }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-block-builder = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-externalities = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-inherents = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-offchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-staking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-trie = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-version = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.41", default-features = false }
+xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.41", default-features = false }
+xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.41", default-features = false }
# Parity: Build utils
-substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
# Parity: Benchmarking
-frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
# Parity: Try Runtime
-frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-try-runtime-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+try-runtime-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
# ORML
-orml-tokens = { default-features = false , git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.39" }
-orml-traits = { default-features = false , git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.39" }
-orml-vesting = { default-features = false , git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.39" }
-orml-xtokens = { default-features = false , git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.39" }
-orml-xcm-support = { default-features = false , git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.39" }
+orml-tokens = { default-features = false , git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.41" }
+orml-traits = { default-features = false , git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.41" }
+orml-vesting = { default-features = false , git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.41" }
+orml-xtokens = { default-features = false , git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.41" }
+orml-xcm-support = { default-features = false , git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.41" }
# Other
derivative = { version = "2.2.0", features = ["use_core"] }
@@ -219,4 +219,89 @@
cumulus-relay-chain-interface = { git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
cumulus-relay-chain-minimal-node = { git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
parachain-info = { git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+pallet-template-transaction-payment = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.39" }
+up-sponsorship = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.39" }
+frame-executive = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-preimage = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-sudo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-treasury = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-consensus-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-sysinfo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-arithmetic = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-externalities = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-inherents = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-offchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-staking = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-trie = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-version = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+frame-system-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+frame-try-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+try-runtime-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+orml-xcm-support = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.39" }
+pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39" }
+polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39" }
+polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39" }
+polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39" }
+polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39" }
+xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39" }
+xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39" }
+xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.39" }
+fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+fc-db = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+fc-rpc = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+fc-rpc-core = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+fp-evm = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+fp-rpc = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+fp-self-contained = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+fp-storage = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+pallet-base-fee = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+pallet-evm = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+pallet-evm-precompile-simple = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
Makefilediffbeforeafterboth--- a/Makefile
+++ b/Makefile
@@ -147,7 +147,7 @@
.PHONY: bench
# Disabled: bench-scheduler, bench-collator-selection, bench-identity
-bench: bench-common bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-configuration bench-foreign-assets bench-maintenance bench-xcm
+bench: bench-app-promotion bench-common bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-configuration bench-foreign-assets bench-maintenance bench-xcm
.PHONY: check
check:
node/cli/Cargo.tomldiffbeforeafterboth--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -56,6 +56,7 @@
sc-consensus-manual-seal = { workspace = true }
sc-executor = { workspace = true }
sc-network = { workspace = true }
+sc-network-sync = { workspace = true }
sc-service = { workspace = true }
sc-sysinfo = { workspace = true }
sc-telemetry = { workspace = true }
node/cli/src/service.rsdiffbeforeafterboth--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -44,14 +44,15 @@
use cumulus_client_network::BlockAnnounceValidator;
use cumulus_primitives_core::ParaId;
use cumulus_relay_chain_inprocess_interface::build_inprocess_relay_chain;
-use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface, RelayChainResult};
+use cumulus_relay_chain_interface::{RelayChainInterface, RelayChainResult};
use cumulus_relay_chain_minimal_node::build_minimal_relay_chain_node;
// Substrate Imports
use sp_api::BlockT;
use sc_executor::NativeElseWasmExecutor;
use sc_executor::NativeExecutionDispatch;
-use sc_network::{NetworkService, NetworkBlock};
+use sc_network::NetworkBlock;
+use sc_network_sync::SyncingService;
use sc_service::{BasePath, Configuration, PartialComponents, TaskManager};
use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle};
use sp_keystore::SyncCryptoStorePtr;
@@ -420,7 +421,7 @@
&TaskManager,
Arc<dyn RelayChainInterface>,
Arc<sc_transaction_pool::FullPool<Block, FullClient<RuntimeApi, ExecutorDispatch>>>,
- Arc<NetworkService<Block, Hash>>,
+ Arc<SyncingService<Block>>,
SyncCryptoStorePtr,
bool,
) -> Result<Box<dyn ParachainConsensus<Block>>, sc_service::Error>,
@@ -445,10 +446,7 @@
hwbench.clone(),
)
.await
- .map_err(|e| match e {
- RelayChainError::ServiceError(polkadot_service::Error::Sub(x)) => x,
- s => s.to_string().into(),
- })?;
+ .map_err(|e| sc_service::Error::Application(Box::new(e) as Box<_>))?;
let block_announce_validator = BlockAnnounceValidator::new(relay_chain_interface.clone(), id);
@@ -458,7 +456,7 @@
let transaction_pool = params.transaction_pool.clone();
let import_queue_service = params.import_queue.service();
- let (network, system_rpc_tx, tx_handler_controller, start_network) =
+ let (network, system_rpc_tx, tx_handler_controller, start_network, sync_service) =
sc_service::build_network(sc_service::BuildNetworkParams {
config: ¶chain_config,
client: client.clone(),
@@ -475,6 +473,7 @@
let rpc_pool = transaction_pool.clone();
let select_chain = params.select_chain.clone();
let rpc_network = network.clone();
+ let rpc_sync_service = sync_service.clone();
let rpc_frontier_backend = frontier_backend.clone();
@@ -532,6 +531,7 @@
enable_dev_signer: false,
filter_pool: filter_pool.clone(),
network: rpc_network.clone(),
+ sync: rpc_sync_service.clone(),
select_chain: select_chain.clone(),
is_authority: validator,
// TODO: Unhardcode
@@ -558,6 +558,7 @@
keystore: params.keystore_container.sync_keystore(),
backend: backend.clone(),
network: network.clone(),
+ sync_service: sync_service.clone(),
system_rpc_tx,
telemetry: telemetry.as_mut(),
tx_handler_controller,
@@ -577,9 +578,9 @@
}
let announce_block = {
- let network = network.clone();
+ let sync_service = sync_service.clone();
Arc::new(Box::new(move |hash, data| {
- network.announce_block(hash, data)
+ sync_service.announce_block(hash, data)
}))
};
@@ -598,7 +599,7 @@
&task_manager,
relay_chain_interface.clone(),
transaction_pool,
- network,
+ sync_service.clone(),
params.keystore_container.sync_keystore(),
force_authoring,
)?;
@@ -896,7 +897,7 @@
prometheus_registry.clone(),
));
- let (network, system_rpc_tx, tx_handler_controller, network_starter) =
+ let (network, system_rpc_tx, tx_handler_controller, network_starter, sync_service) =
sc_service::build_network(sc_service::BuildNetworkParams {
config: &config,
client: client.clone(),
@@ -1032,6 +1033,7 @@
let rpc_client = client.clone();
let rpc_pool = transaction_pool.clone();
let rpc_network = network.clone();
+ let rpc_sync_service = sync_service.clone();
let rpc_frontier_backend = frontier_backend.clone();
#[cfg(feature = "pov-estimate")]
@@ -1062,6 +1064,7 @@
enable_dev_signer: false,
filter_pool: filter_pool.clone(),
network: rpc_network.clone(),
+ sync: rpc_sync_service.clone(),
select_chain: select_chain.clone(),
is_authority: collator,
// TODO: Unhardcode
@@ -1081,6 +1084,7 @@
sc_service::spawn_tasks(sc_service::SpawnTasksParams {
network,
+ sync_service,
client,
keystore: keystore_container.sync_keystore(),
task_manager: &mut task_manager,
node/rpc/Cargo.tomldiffbeforeafterboth--- a/node/rpc/Cargo.toml
+++ b/node/rpc/Cargo.toml
@@ -14,8 +14,9 @@
# pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate', branch = 'master' }
pallet-transaction-payment-rpc = { workspace = true }
sc-client-api = { workspace = true }
-sc-finality-grandpa = { workspace = true }
+sc-consensus-grandpa = { workspace = true }
sc-network = { workspace = true }
+sc-network-sync = { workspace = true }
sc-rpc = { workspace = true }
sc-rpc-api = { workspace = true }
sc-service = { workspace = true }
node/rpc/src/lib.rsdiffbeforeafterboth--- a/node/rpc/src/lib.rs
+++ b/node/rpc/src/lib.rs
@@ -27,10 +27,11 @@
client::BlockchainEvents,
StateBackend, Backend,
};
-use sc_finality_grandpa::{
+use sc_consensus_grandpa::{
FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState,
};
use sc_network::NetworkService;
+use sc_network_sync::SyncingService;
use sc_rpc::SubscriptionTaskExecutor;
pub use sc_rpc_api::DenyUnsafe;
use sc_transaction_pool::{ChainApi, Pool};
@@ -75,6 +76,8 @@
pub enable_dev_signer: bool,
/// Network service
pub network: Arc<NetworkService<Block, Hash>>,
+ /// Syncing service
+ pub sync: Arc<SyncingService<Block>>,
/// Whether to deny unsafe calls
pub deny_unsafe: DenyUnsafe,
/// EthFilterApi pool.
@@ -162,6 +165,12 @@
CA: ChainApi<Block = Block> + 'static,
R: RuntimeInstance + Send + Sync + 'static,
<R as RuntimeInstance>::CrossAccountId: serde::Serialize,
+ C: sp_api::CallApiAt<
+ sp_runtime::generic::Block<
+ sp_runtime::generic::Header<u32, BlakeTwo256>,
+ sp_runtime::OpaqueExtrinsic,
+ >,
+ >,
for<'de> <R as RuntimeInstance>::CrossAccountId: serde::Deserialize<'de>,
{
use fc_rpc::{
@@ -191,6 +200,7 @@
enable_dev_signer,
is_authority,
network,
+ sync,
deny_unsafe,
filter_pool,
@@ -225,7 +235,7 @@
pool.clone(),
graph,
Some(<R as RuntimeInstance>::get_transaction_converter()),
- network.clone(),
+ sync.clone(),
signers,
overrides.clone(),
eth_backend.clone(),
@@ -280,9 +290,7 @@
io.merge(Web3::new(client.clone()).into_rpc())?;
- io.merge(
- EthPubSub::new(pool, client, network, subscription_task_executor, overrides).into_rpc(),
- )?;
+ io.merge(EthPubSub::new(pool, client, sync, subscription_task_executor, overrides).into_rpc())?;
Ok(io)
}
pallets/app-promotion/src/lib.rsdiffbeforeafterboth--- a/pallets/app-promotion/src/lib.rs
+++ b/pallets/app-promotion/src/lib.rs
@@ -152,7 +152,6 @@
}
#[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
#[pallet::event]
pallets/collator-selection/src/lib.rsdiffbeforeafterboth--- a/pallets/collator-selection/src/lib.rs
+++ b/pallets/collator-selection/src/lib.rs
@@ -161,7 +161,6 @@
}
#[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
/// The invulnerable, fixed collators.
pallets/common/src/dispatch.rsdiffbeforeafterboth--- a/pallets/common/src/dispatch.rs
+++ b/pallets/common/src/dispatch.rs
@@ -19,7 +19,7 @@
// Read collection
<T as frame_system::Config>::DbWeight::get().reads(1)
// Dynamic dispatch?
- + Weight::from_ref_time(6_000_000)
+ + Weight::from_parts(6_000_000, 0)
// submit_logs is measured as part of collection pallets
}
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -92,6 +92,7 @@
pub mod dispatch;
pub mod erc;
pub mod eth;
+#[allow(missing_docs)]
pub mod weights;
/// Weight info.
@@ -157,10 +158,12 @@
reads: u64,
) -> pallet_evm_coder_substrate::execution::Result<()> {
self.recorder
- .consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_ref_time(
+ .consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_parts(
<T as frame_system::Config>::DbWeight::get()
.read
.saturating_mul(reads),
+ // TODO: measure proof
+ 0,
)))
}
@@ -170,10 +173,12 @@
writes: u64,
) -> pallet_evm_coder_substrate::execution::Result<()> {
self.recorder
- .consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_ref_time(
+ .consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_parts(
<T as frame_system::Config>::DbWeight::get()
.write
.saturating_mul(writes),
+ // TODO: measure proof
+ 0,
)))
}
@@ -187,8 +192,10 @@
let reads = weight.read.saturating_mul(reads);
let writes = weight.read.saturating_mul(writes);
self.recorder
- .consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_ref_time(
+ .consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_parts(
reads.saturating_add(writes),
+ // TODO: measure proof
+ 0,
)))
}
@@ -462,7 +469,6 @@
#[pallet::pallet]
#[pallet::storage_version(STORAGE_VERSION)]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
#[pallet::extra_constants]
pallets/configuration/src/lib.rsdiffbeforeafterboth--- a/pallets/configuration/src/lib.rs
+++ b/pallets/configuration/src/lib.rs
@@ -249,7 +249,6 @@
}
#[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
}
pallets/evm-coder-substrate/src/execution.rsdiffbeforeafterboth--- a/pallets/evm-coder-substrate/src/execution.rs
+++ b/pallets/evm-coder-substrate/src/execution.rs
@@ -61,7 +61,7 @@
fn dispatch_info(&self) -> DispatchInfo {
DispatchInfo {
// ERC165 impl should be cheap
- weight: Weight::from_ref_time(200),
+ weight: Weight::from_parts(200, 0),
}
}
}
@@ -77,10 +77,11 @@
Self { weight }
}
}
+// TODO: use 2-dimensional weight after frontier upgrade
impl From<u64> for DispatchInfo {
fn from(weight: u64) -> Self {
Self {
- weight: Weight::from_ref_time(weight),
+ weight: Weight::from_parts(weight, 0),
}
}
}
pallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/lib.rs
+++ b/pallets/evm-contract-helpers/src/lib.rs
@@ -70,7 +70,6 @@
}
#[pallet::pallet]
- #[pallet::generate_store(trait Store)]
pub struct Pallet<T>(_);
/// Store owner for contract.
pallets/evm-migration/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-migration/src/lib.rs
+++ b/pallets/evm-migration/src/lib.rs
@@ -21,6 +21,7 @@
pub use pallet::*;
#[cfg(feature = "runtime-benchmarks")]
pub mod benchmarking;
+#[allow(missing_docs)]
pub mod weights;
#[frame_support::pallet]
@@ -46,7 +47,6 @@
type SelfWeightOf<T> = <T as Config>::WeightInfo;
#[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
#[pallet::event]
pallets/evm-transaction-payment/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-transaction-payment/src/lib.rs
+++ b/pallets/evm-transaction-payment/src/lib.rs
@@ -50,7 +50,6 @@
}
#[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
}
pallets/fungible/src/lib.rsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617//! # Fungible Pallet18//!19//! The Fungible pallet provides functionality for dealing with fungible assets.20//!21//! - [`CreateItemData`]22//! - [`Config`]23//! - [`FungibleHandle`]24//! - [`Pallet`]25//! - [`TotalSupply`]26//! - [`Balance`]27//! - [`Allowance`]28//! - [`Error`]29//!30//! ## Fungible tokens31//!32//! Fungible tokens or assets are divisible and non-unique. For instance,33//! fiat currencies like the dollar are fungible: A $1 bill34//! in New York City has the same value as a $1 bill in Miami.35//! A fungible token can also be a cryptocurrency like Bitcoin: 1 BTC is worth 1 BTC,36//! no matter where it is issued. Thus, the fungibility refers to a specific currency’s37//! ability to maintain one standard value. As well, it needs to have uniform acceptance.38//! This means that a currency’s history should not be able to affect its value,39//! and this is due to the fact that each piece that is a part of the currency is equal40//! in value when compared to every other piece of that exact same currency.41//! In the world of cryptocurrencies, this is essentially a coin or a token42//! that can be replaced by another identical coin or token, and they are43//! both mutually interchangeable. A popular implementation of fungible tokens is44//! the ERC-20 token standard.45//!46//! ### ERC-2047//!48//! The [ERC-20](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) (Ethereum Request for Comments 20), proposed by Fabian Vogelsteller in November 2015,49//! is a Token Standard that implements an API for tokens within Smart Contracts.50//!51//! Example functionalities ERC-20 provides:52//!53//! * transfer tokens from one account to another54//! * get the current token balance of an account55//! * get the total supply of the token available on the network56//! * approve whether an amount of token from an account can be spent by a third-party account57//!58//! ## Overview59//!60//! The module provides functionality for asset management of fungible asset, supports ERC-20 standart, includes:61//!62//! * Asset Issuance63//! * Asset Transferal64//! * Asset Destruction65//! * Delegated Asset Transfers66//!67//! **NOTE:** The created fungible asset always has `token_id` = 0.68//! So `tokenA` and `tokenB` will have different `collection_id`.69//!70//! ### Implementations71//!72//! The Fungible pallet provides implementations for the following traits.73//!74//! - [`WithRecorder`](pallet_evm_coder_substrate::WithRecorder): Trait for EVM support75//! - [`CommonCollectionOperations`](pallet_common::CommonCollectionOperations): Functions for dealing with collections76//! - [`CommonWeightInfo`](pallet_common::CommonWeightInfo): Functions for retrieval of transaction weight77//! - [`CommonEvmHandler`](pallet_common::erc::CommonEvmHandler): Function for handling EVM runtime calls7879#![cfg_attr(not(feature = "std"), no_std)]8081use core::ops::Deref;82use evm_coder::ToLog;83use frame_support::ensure;84use pallet_evm::account::CrossAccountId;85use up_data_structs::{86 AccessMode, CollectionId, CollectionFlags, TokenId, CreateCollectionData,87 mapping::TokenAddressMapping, budget::Budget, PropertyKey, Property,88};89use pallet_common::{90 Error as CommonError, Event as CommonEvent, Pallet as PalletCommon,91 eth::collection_id_to_address,92};93use pallet_evm::Pallet as PalletEvm;94use pallet_structure::Pallet as PalletStructure;95use pallet_evm_coder_substrate::WithRecorder;96use sp_core::H160;97use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};98use sp_std::{collections::btree_map::BTreeMap, vec::Vec};99100pub use pallet::*;101102use crate::erc::ERC20Events;103#[cfg(feature = "runtime-benchmarks")]104pub mod benchmarking;105pub mod common;106pub mod erc;107pub mod weights;108109pub type CreateItemData<T> = (<T as pallet_evm::Config>::CrossAccountId, u128);110pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;111112#[frame_support::pallet]113pub mod pallet {114 use frame_support::{Blake2_128, Blake2_128Concat, Twox64Concat, pallet_prelude::*, storage::Key};115 use up_data_structs::CollectionId;116 use super::weights::WeightInfo;117118 #[pallet::error]119 pub enum Error<T> {120 /// Not Fungible item data used to mint in Fungible collection.121 NotFungibleDataUsedToMintFungibleCollectionToken,122 /// Fungible tokens hold no ID, and the default value of TokenId for Fungible collection is 0.123 FungibleItemsHaveNoId,124 /// Tried to set data for fungible item.125 FungibleItemsDontHaveData,126 /// Fungible token does not support nesting.127 FungibleDisallowsNesting,128 /// Setting item properties is not allowed.129 SettingPropertiesNotAllowed,130 /// Setting allowance for all is not allowed.131 SettingAllowanceForAllNotAllowed,132 /// Only a fungible collection could be possibly broken; any fungible token is valid.133 FungibleTokensAreAlwaysValid,134 }135136 #[pallet::config]137 pub trait Config:138 frame_system::Config + pallet_common::Config + pallet_structure::Config + pallet_evm::Config139 {140 type WeightInfo: WeightInfo;141 }142143 #[pallet::pallet]144 #[pallet::generate_store(pub(super) trait Store)]145 pub struct Pallet<T>(_);146147 /// Total amount of fungible tokens inside a collection.148 #[pallet::storage]149 pub type TotalSupply<T: Config> =150 StorageMap<Hasher = Twox64Concat, Key = CollectionId, Value = u128, QueryKind = ValueQuery>;151152 /// Amount of tokens owned by an account inside a collection.153 #[pallet::storage]154 pub type Balance<T: Config> = StorageNMap<155 Key = (156 Key<Twox64Concat, CollectionId>,157 Key<Blake2_128Concat, T::CrossAccountId>,158 ),159 Value = u128,160 QueryKind = ValueQuery,161 >;162163 /// Storage for assets delegated to a limited extent to other users.164 #[pallet::storage]165 pub type Allowance<T: Config> = StorageNMap<166 Key = (167 Key<Twox64Concat, CollectionId>,168 Key<Blake2_128, T::CrossAccountId>, // Owner169 Key<Blake2_128Concat, T::CrossAccountId>, // Spender170 ),171 Value = u128,172 QueryKind = ValueQuery,173 >;174}175176/// Wrapper around untyped collection handle, asserting inner collection is of fungible type.177/// Required for interaction with Fungible collections, type safety and implementation [`solidity_interface`][`evm_coder::solidity_interface`].178pub struct FungibleHandle<T: Config>(pallet_common::CollectionHandle<T>);179180/// Implementation of methods required for dispatching during runtime.181impl<T: Config> FungibleHandle<T> {182 /// Casts [`CollectionHandle`][`pallet_common::CollectionHandle`] into [`FungibleHandle`].183 pub fn cast(inner: pallet_common::CollectionHandle<T>) -> Self {184 Self(inner)185 }186187 /// Casts [`FungibleHandle`] into [`CollectionHandle`][`pallet_common::CollectionHandle`].188 pub fn into_inner(self) -> pallet_common::CollectionHandle<T> {189 self.0190 }191 /// Returns a mutable reference to the internal [`CollectionHandle`][`pallet_common::CollectionHandle`].192 pub fn common_mut(&mut self) -> &mut pallet_common::CollectionHandle<T> {193 &mut self.0194 }195}196impl<T: Config> WithRecorder<T> for FungibleHandle<T> {197 fn recorder(&self) -> &pallet_evm_coder_substrate::SubstrateRecorder<T> {198 self.0.recorder()199 }200 fn into_recorder(self) -> pallet_evm_coder_substrate::SubstrateRecorder<T> {201 self.0.into_recorder()202 }203}204impl<T: Config> Deref for FungibleHandle<T> {205 type Target = pallet_common::CollectionHandle<T>;206207 fn deref(&self) -> &Self::Target {208 &self.0209 }210}211212/// Pallet implementation for fungible assets213impl<T: Config> Pallet<T> {214 /// Initializes the collection. Returns [CollectionId] on success, [DispatchError] otherwise.215 pub fn init_collection(216 owner: T::CrossAccountId,217 payer: T::CrossAccountId,218 data: CreateCollectionData<T::AccountId>,219 flags: CollectionFlags,220 ) -> Result<CollectionId, DispatchError> {221 <PalletCommon<T>>::init_collection(owner, payer, data, flags)222 }223224 /// Initializes the collection with ForeignCollection flag. Returns [CollectionId] on success, [DispatchError] otherwise.225 pub fn init_foreign_collection(226 owner: T::CrossAccountId,227 payer: T::CrossAccountId,228 data: CreateCollectionData<T::AccountId>,229 ) -> Result<CollectionId, DispatchError> {230 let id = <PalletCommon<T>>::init_collection(231 owner,232 payer,233 data,234 CollectionFlags {235 foreign: true,236 ..Default::default()237 },238 )?;239 Ok(id)240 }241242 /// Destroys a collection.243 pub fn destroy_collection(244 collection: FungibleHandle<T>,245 sender: &T::CrossAccountId,246 ) -> DispatchResult {247 let id = collection.id;248249 if Self::collection_has_tokens(id) {250 return Err(<CommonError<T>>::CantDestroyNotEmptyCollection.into());251 }252253 // =========254255 PalletCommon::destroy_collection(collection.0, sender)?;256257 <TotalSupply<T>>::remove(id);258 let _ = <Balance<T>>::clear_prefix((id,), u32::MAX, None);259 let _ = <Allowance<T>>::clear_prefix((id,), u32::MAX, None);260 Ok(())261 }262263 /// Add properties to the collection.264 pub fn set_collection_properties(265 collection: &FungibleHandle<T>,266 sender: &T::CrossAccountId,267 properties: Vec<Property>,268 ) -> DispatchResult {269 <PalletCommon<T>>::set_collection_properties(collection, sender, properties.into_iter())270 }271272 /// Delete properties of the collection, associated with the provided keys.273 pub fn delete_collection_properties(274 collection: &FungibleHandle<T>,275 sender: &T::CrossAccountId,276 property_keys: Vec<PropertyKey>,277 ) -> DispatchResult {278 <PalletCommon<T>>::delete_collection_properties(279 collection,280 sender,281 property_keys.into_iter(),282 )283 }284285 /// Checks if collection has tokens. Return `true` if it has.286 fn collection_has_tokens(collection_id: CollectionId) -> bool {287 <TotalSupply<T>>::get(collection_id) != 0288 }289290 /// Burns the specified amount of the token. If the token balance291 /// or total supply is less than the given value,292 /// it will return [DispatchError].293 pub fn burn(294 collection: &FungibleHandle<T>,295 owner: &T::CrossAccountId,296 amount: u128,297 ) -> DispatchResult {298 let total_supply = <TotalSupply<T>>::get(collection.id)299 .checked_sub(amount)300 .ok_or(<CommonError<T>>::TokenValueTooLow)?;301302 let balance = <Balance<T>>::get((collection.id, owner))303 .checked_sub(amount)304 .ok_or(<CommonError<T>>::TokenValueTooLow)?;305306 // Foreign collection check307 ensure!(!collection.flags.foreign, <CommonError<T>>::NoPermission);308309 if collection.permissions.access() == AccessMode::AllowList {310 collection.check_allowlist(owner)?;311 }312313 // =========314315 if balance == 0 {316 <Balance<T>>::remove((collection.id, owner));317 <PalletStructure<T>>::unnest_if_nested(owner, collection.id, TokenId::default());318 } else {319 <Balance<T>>::insert((collection.id, owner), balance);320 }321 <TotalSupply<T>>::insert(collection.id, total_supply);322323 <PalletEvm<T>>::deposit_log(324 ERC20Events::Transfer {325 from: *owner.as_eth(),326 to: H160::default(),327 value: amount.into(),328 }329 .to_log(collection_id_to_address(collection.id)),330 );331 <PalletCommon<T>>::deposit_event(CommonEvent::ItemDestroyed(332 collection.id,333 TokenId::default(),334 owner.clone(),335 amount,336 ));337 Ok(())338 }339340 /// Burns the specified amount of the token.341 pub fn burn_foreign(342 collection: &FungibleHandle<T>,343 owner: &T::CrossAccountId,344 amount: u128,345 ) -> DispatchResult {346 let total_supply = <TotalSupply<T>>::get(collection.id)347 .checked_sub(amount)348 .ok_or(<CommonError<T>>::TokenValueTooLow)?;349350 let balance = <Balance<T>>::get((collection.id, owner))351 .checked_sub(amount)352 .ok_or(<CommonError<T>>::TokenValueTooLow)?;353 // =========354355 if balance == 0 {356 <Balance<T>>::remove((collection.id, owner));357 <PalletStructure<T>>::unnest_if_nested(owner, collection.id, TokenId::default());358 } else {359 <Balance<T>>::insert((collection.id, owner), balance);360 }361 <TotalSupply<T>>::insert(collection.id, total_supply);362363 <PalletEvm<T>>::deposit_log(364 ERC20Events::Transfer {365 from: *owner.as_eth(),366 to: H160::default(),367 value: amount.into(),368 }369 .to_log(collection_id_to_address(collection.id)),370 );371 <PalletCommon<T>>::deposit_event(CommonEvent::ItemDestroyed(372 collection.id,373 TokenId::default(),374 owner.clone(),375 amount,376 ));377 Ok(())378 }379380 /// Transfers the specified amount of tokens. Will check that381 /// the transfer is allowed for the token.382 ///383 /// - `from`: Owner of tokens to transfer.384 /// - `to`: Recepient of transfered tokens.385 /// - `amount`: Amount of tokens to transfer.386 /// - `collection`: Collection that contains the token387 pub fn transfer(388 collection: &FungibleHandle<T>,389 from: &T::CrossAccountId,390 to: &T::CrossAccountId,391 amount: u128,392 nesting_budget: &dyn Budget,393 ) -> DispatchResult {394 ensure!(395 collection.limits.transfers_enabled(),396 <CommonError<T>>::TransferNotAllowed,397 );398399 if collection.permissions.access() == AccessMode::AllowList {400 collection.check_allowlist(from)?;401 collection.check_allowlist(to)?;402 }403 <PalletCommon<T>>::ensure_correct_receiver(to)?;404405 let balance_from = <Balance<T>>::get((collection.id, from))406 .checked_sub(amount)407 .ok_or(<CommonError<T>>::TokenValueTooLow)?;408 let balance_to = if from != to && amount != 0 {409 Some(410 <Balance<T>>::get((collection.id, to))411 .checked_add(amount)412 .ok_or(ArithmeticError::Overflow)?,413 )414 } else {415 None416 };417418 // =========419420 if let Some(balance_to) = balance_to {421 // from != to && amount != 0422423 <PalletStructure<T>>::nest_if_sent_to_token(424 from.clone(),425 to,426 collection.id,427 TokenId::default(),428 nesting_budget,429 )?;430431 if balance_from == 0 {432 <Balance<T>>::remove((collection.id, from));433 <PalletStructure<T>>::unnest_if_nested(from, collection.id, TokenId::default());434 } else {435 <Balance<T>>::insert((collection.id, from), balance_from);436 }437 <Balance<T>>::insert((collection.id, to), balance_to);438 }439440 <PalletEvm<T>>::deposit_log(441 ERC20Events::Transfer {442 from: *from.as_eth(),443 to: *to.as_eth(),444 value: amount.into(),445 }446 .to_log(collection_id_to_address(collection.id)),447 );448 <PalletCommon<T>>::deposit_event(CommonEvent::Transfer(449 collection.id,450 TokenId::default(),451 from.clone(),452 to.clone(),453 amount,454 ));455 Ok(())456 }457458 /// Minting tokens for multiple IDs.459 /// It is a utility function used in [`create_multiple_items`][`Pallet::create_multiple_items`]460 /// and [`create_multiple_items_foreign`][`Pallet::create_multiple_items_foreign`]461 pub fn create_multiple_items_common(462 collection: &FungibleHandle<T>,463 sender: &T::CrossAccountId,464 data: BTreeMap<T::CrossAccountId, u128>,465 nesting_budget: &dyn Budget,466 ) -> DispatchResult {467 let total_supply = data468 .iter()469 .map(|(_, v)| *v)470 .try_fold(<TotalSupply<T>>::get(collection.id), |acc, v| {471 acc.checked_add(v)472 })473 .ok_or(ArithmeticError::Overflow)?;474475 for (to, _) in data.iter() {476 <PalletStructure<T>>::check_nesting(477 sender.clone(),478 to,479 collection.id,480 TokenId::default(),481 nesting_budget,482 )?;483 }484485 let updated_balances = data486 .into_iter()487 .map(|(user, amount)| {488 let updated_balance = <Balance<T>>::get((collection.id, &user))489 .checked_add(amount)490 .ok_or(ArithmeticError::Overflow)?;491 Ok((user, amount, updated_balance))492 })493 .collect::<Result<Vec<_>, DispatchError>>()?;494495 // =========496497 <TotalSupply<T>>::insert(collection.id, total_supply);498 for (user, amount, updated_balance) in updated_balances {499 <Balance<T>>::insert((collection.id, &user), updated_balance);500 <PalletStructure<T>>::nest_if_sent_to_token_unchecked(501 &user,502 collection.id,503 TokenId::default(),504 );505 <PalletEvm<T>>::deposit_log(506 ERC20Events::Transfer {507 from: H160::default(),508 to: *user.as_eth(),509 value: amount.into(),510 }511 .to_log(collection_id_to_address(collection.id)),512 );513 <PalletCommon<T>>::deposit_event(CommonEvent::ItemCreated(514 collection.id,515 TokenId::default(),516 user.clone(),517 amount,518 ));519 }520521 Ok(())522 }523524 /// Minting tokens for multiple IDs.525 /// See [`create_item`][`Pallet::create_item`] for more details.526 pub fn create_multiple_items(527 collection: &FungibleHandle<T>,528 sender: &T::CrossAccountId,529 data: BTreeMap<T::CrossAccountId, u128>,530 nesting_budget: &dyn Budget,531 ) -> DispatchResult {532 // Foreign collection check533 ensure!(!collection.flags.foreign, <CommonError<T>>::NoPermission);534535 if !collection.is_owner_or_admin(sender) {536 ensure!(537 collection.permissions.mint_mode(),538 <CommonError<T>>::PublicMintingNotAllowed539 );540 collection.check_allowlist(sender)?;541542 for (owner, _) in data.iter() {543 collection.check_allowlist(owner)?;544 }545 }546547 Self::create_multiple_items_common(collection, sender, data, nesting_budget)548 }549550 /// Minting tokens for multiple IDs.551 /// See [`create_item_foreign`][`Pallet::create_item_foreign`] for more details.552 pub fn create_multiple_items_foreign(553 collection: &FungibleHandle<T>,554 sender: &T::CrossAccountId,555 data: BTreeMap<T::CrossAccountId, u128>,556 nesting_budget: &dyn Budget,557 ) -> DispatchResult {558 Self::create_multiple_items_common(collection, sender, data, nesting_budget)559 }560561 fn set_allowance_unchecked(562 collection: &FungibleHandle<T>,563 owner: &T::CrossAccountId,564 spender: &T::CrossAccountId,565 amount: u128,566 ) {567 if amount == 0 {568 <Allowance<T>>::remove((collection.id, owner, spender));569 } else {570 <Allowance<T>>::insert((collection.id, owner, spender), amount);571 }572573 <PalletEvm<T>>::deposit_log(574 ERC20Events::Approval {575 owner: *owner.as_eth(),576 spender: *spender.as_eth(),577 value: amount.into(),578 }579 .to_log(collection_id_to_address(collection.id)),580 );581 <PalletCommon<T>>::deposit_event(CommonEvent::Approved(582 collection.id,583 TokenId(0),584 owner.clone(),585 spender.clone(),586 amount,587 ));588 }589590 /// Set allowance for the spender to `transfer` or `burn` owner's tokens.591 ///592 /// - `collection`: Collection that contains the token593 /// - `owner`: Owner of tokens that sets the allowance.594 /// - `spender`: Recipient of the allowance rights.595 /// - `amount`: Amount of tokens the spender is allowed to `transfer` or `burn`.596 pub fn set_allowance(597 collection: &FungibleHandle<T>,598 owner: &T::CrossAccountId,599 spender: &T::CrossAccountId,600 amount: u128,601 ) -> DispatchResult {602 if collection.permissions.access() == AccessMode::AllowList {603 collection.check_allowlist(owner)?;604 collection.check_allowlist(spender)?;605 }606607 if <Balance<T>>::get((collection.id, owner)) < amount {608 ensure!(609 collection.ignores_owned_amount(owner),610 <CommonError<T>>::CantApproveMoreThanOwned611 );612 }613614 // =========615616 Self::set_allowance_unchecked(collection, owner, spender, amount);617 Ok(())618 }619620 /// Set allowance for the spender to `transfer` or `burn` owner's tokens from eth mirror.621 ///622 /// - `collection`: Collection that contains the token623 /// - `sender`: Owner of tokens that sets the allowance.624 /// - `from`: Owner's eth mirror.625 /// - `to`: Recipient of the allowance rights.626 /// - `amount`: Amount of tokens the spender is allowed to `transfer` or `burn`.627 pub fn set_allowance_from(628 collection: &FungibleHandle<T>,629 sender: &T::CrossAccountId,630 from: &T::CrossAccountId,631 to: &T::CrossAccountId,632 amount: u128,633 ) -> DispatchResult {634 if collection.permissions.access() == AccessMode::AllowList {635 collection.check_allowlist(sender)?;636 collection.check_allowlist(from)?;637 collection.check_allowlist(to)?;638 }639640 ensure!(641 sender.conv_eq(from),642 <CommonError<T>>::AddressIsNotEthMirror643 );644645 if <Balance<T>>::get((collection.id, from)) < amount {646 ensure!(647 collection.limits.owner_can_transfer()648 && (collection.is_owner_or_admin(sender) || collection.is_owner_or_admin(from)),649 <CommonError<T>>::CantApproveMoreThanOwned650 );651 }652653 // =========654655 Self::set_allowance_unchecked(collection, from, to, amount);656 Ok(())657 }658659 /// Checks if a non-owner has (enough) allowance from the owner to perform operations on the tokens.660 /// Returns the expected remaining allowance - it should be set manually if the transaction proceeds.661 ///662 /// - `collection`: Collection that contains the token.663 /// - `spender`: CrossAccountId who has the allowance rights.664 /// - `from`: The owner of the tokens who sets the allowance.665 /// - `amount`: Amount of tokens by which the allowance sholud be reduced.666 fn check_allowed(667 collection: &FungibleHandle<T>,668 spender: &T::CrossAccountId,669 from: &T::CrossAccountId,670 amount: u128,671 nesting_budget: &dyn Budget,672 ) -> Result<Option<u128>, DispatchError> {673 if spender.conv_eq(from) {674 return Ok(None);675 }676 if collection.permissions.access() == AccessMode::AllowList {677 // `from`, `to` checked in [`transfer`]678 collection.check_allowlist(spender)?;679 }680681 if collection.ignores_token_restrictions(spender) {682 return Ok(Self::compute_allowance_decrease(683 collection, from, spender, amount,684 ));685 }686687 if let Some(source) = T::CrossTokenAddressMapping::address_to_token(from) {688 ensure!(689 <PalletStructure<T>>::check_indirectly_owned(690 spender.clone(),691 source.0,692 source.1,693 None,694 nesting_budget695 )?,696 <CommonError<T>>::ApprovedValueTooLow,697 );698 return Ok(None);699 }700701 let allowance = Self::compute_allowance_decrease(collection, from, spender, amount);702 ensure!(allowance.is_some(), <CommonError<T>>::ApprovedValueTooLow);703704 Ok(allowance)705 }706707 /// Returns `Some(amount)` if the `spender` have allowance to spend this amount.708 /// Otherwise, it returns `None`.709 fn compute_allowance_decrease(710 collection: &FungibleHandle<T>,711 from: &T::CrossAccountId,712 spender: &T::CrossAccountId,713 amount: u128,714 ) -> Option<u128> {715 <Allowance<T>>::get((collection.id, from, spender)).checked_sub(amount)716 }717718 /// Transfer fungible tokens from one account to another.719 /// Same as the [`transfer`][`Pallet::transfer`] but spender doesn't needs to be an owner of the token pieces.720 /// The owner should set allowance for the spender to transfer pieces.721 /// See [`set_allowance`][`Pallet::set_allowance`] for more details.722723 pub fn transfer_from(724 collection: &FungibleHandle<T>,725 spender: &T::CrossAccountId,726 from: &T::CrossAccountId,727 to: &T::CrossAccountId,728 amount: u128,729 nesting_budget: &dyn Budget,730 ) -> DispatchResult {731 let allowance = Self::check_allowed(collection, spender, from, amount, nesting_budget)?;732733 // =========734735 Self::transfer(collection, from, to, amount, nesting_budget)?;736 if let Some(allowance) = allowance {737 Self::set_allowance_unchecked(collection, from, spender, allowance);738 }739 Ok(())740 }741742 /// Burn fungible tokens from the account.743 ///744 /// Same as the [`burn`][`Pallet::burn`] but spender doesn't need to be an owner of the tokens. The `from` should745 /// set allowance for the spender to burn tokens.746 /// See [`set_allowance`][`Pallet::set_allowance`] for more details.747 pub fn burn_from(748 collection: &FungibleHandle<T>,749 spender: &T::CrossAccountId,750 from: &T::CrossAccountId,751 amount: u128,752 nesting_budget: &dyn Budget,753 ) -> DispatchResult {754 let allowance = Self::check_allowed(collection, spender, from, amount, nesting_budget)?;755756 // =========757758 Self::burn(collection, from, amount)?;759 if let Some(allowance) = allowance {760 Self::set_allowance_unchecked(collection, from, spender, allowance);761 }762 Ok(())763 }764765 /// Creates fungible token.766 ///767 /// The sender should be the owner/admin of the collection or collection should be configured768 /// to allow public minting.769 ///770 /// - `data`: Contains user who will become the owners of the tokens and amount771 /// of tokens he will receive.772 pub fn create_item(773 collection: &FungibleHandle<T>,774 sender: &T::CrossAccountId,775 data: CreateItemData<T>,776 nesting_budget: &dyn Budget,777 ) -> DispatchResult {778 Self::create_multiple_items(779 collection,780 sender,781 [(data.0, data.1)].into_iter().collect(),782 nesting_budget,783 )784 }785786 /// Creates fungible token.787 ///788 /// - `data`: Contains user who will become the owners of the tokens and amount789 /// of tokens he will receive.790 pub fn create_item_foreign(791 collection: &FungibleHandle<T>,792 sender: &T::CrossAccountId,793 data: CreateItemData<T>,794 nesting_budget: &dyn Budget,795 ) -> DispatchResult {796 Self::create_multiple_items_foreign(797 collection,798 sender,799 [(data.0, data.1)].into_iter().collect(),800 nesting_budget,801 )802 }803804 /// Returns 10 tokens owners in no particular order805 ///806 /// There is no direct way to get token holders in ascending order,807 /// since `iter_prefix` returns values in no particular order.808 /// Therefore, getting the 10 largest holders with a large value of holders809 /// can lead to impact memory allocation + sorting with `n * log (n)`.810 pub fn token_owners(811 collection: CollectionId,812 _token: TokenId,813 ) -> Option<Vec<T::CrossAccountId>> {814 let res: Vec<T::CrossAccountId> = <Balance<T>>::iter_prefix((collection,))815 .map(|(owner, _amount)| owner)816 .take(10)817 .collect();818819 if res.is_empty() {820 None821 } else {822 Some(res)823 }824 }825}1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617//! # Fungible Pallet18//!19//! The Fungible pallet provides functionality for dealing with fungible assets.20//!21//! - [`CreateItemData`]22//! - [`Config`]23//! - [`FungibleHandle`]24//! - [`Pallet`]25//! - [`TotalSupply`]26//! - [`Balance`]27//! - [`Allowance`]28//! - [`Error`]29//!30//! ## Fungible tokens31//!32//! Fungible tokens or assets are divisible and non-unique. For instance,33//! fiat currencies like the dollar are fungible: A $1 bill34//! in New York City has the same value as a $1 bill in Miami.35//! A fungible token can also be a cryptocurrency like Bitcoin: 1 BTC is worth 1 BTC,36//! no matter where it is issued. Thus, the fungibility refers to a specific currency’s37//! ability to maintain one standard value. As well, it needs to have uniform acceptance.38//! This means that a currency’s history should not be able to affect its value,39//! and this is due to the fact that each piece that is a part of the currency is equal40//! in value when compared to every other piece of that exact same currency.41//! In the world of cryptocurrencies, this is essentially a coin or a token42//! that can be replaced by another identical coin or token, and they are43//! both mutually interchangeable. A popular implementation of fungible tokens is44//! the ERC-20 token standard.45//!46//! ### ERC-2047//!48//! The [ERC-20](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) (Ethereum Request for Comments 20), proposed by Fabian Vogelsteller in November 2015,49//! is a Token Standard that implements an API for tokens within Smart Contracts.50//!51//! Example functionalities ERC-20 provides:52//!53//! * transfer tokens from one account to another54//! * get the current token balance of an account55//! * get the total supply of the token available on the network56//! * approve whether an amount of token from an account can be spent by a third-party account57//!58//! ## Overview59//!60//! The module provides functionality for asset management of fungible asset, supports ERC-20 standart, includes:61//!62//! * Asset Issuance63//! * Asset Transferal64//! * Asset Destruction65//! * Delegated Asset Transfers66//!67//! **NOTE:** The created fungible asset always has `token_id` = 0.68//! So `tokenA` and `tokenB` will have different `collection_id`.69//!70//! ### Implementations71//!72//! The Fungible pallet provides implementations for the following traits.73//!74//! - [`WithRecorder`](pallet_evm_coder_substrate::WithRecorder): Trait for EVM support75//! - [`CommonCollectionOperations`](pallet_common::CommonCollectionOperations): Functions for dealing with collections76//! - [`CommonWeightInfo`](pallet_common::CommonWeightInfo): Functions for retrieval of transaction weight77//! - [`CommonEvmHandler`](pallet_common::erc::CommonEvmHandler): Function for handling EVM runtime calls7879#![cfg_attr(not(feature = "std"), no_std)]8081use core::ops::Deref;82use evm_coder::ToLog;83use frame_support::ensure;84use pallet_evm::account::CrossAccountId;85use up_data_structs::{86 AccessMode, CollectionId, CollectionFlags, TokenId, CreateCollectionData,87 mapping::TokenAddressMapping, budget::Budget, PropertyKey, Property,88};89use pallet_common::{90 Error as CommonError, Event as CommonEvent, Pallet as PalletCommon,91 eth::collection_id_to_address,92};93use pallet_evm::Pallet as PalletEvm;94use pallet_structure::Pallet as PalletStructure;95use pallet_evm_coder_substrate::WithRecorder;96use sp_core::H160;97use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};98use sp_std::{collections::btree_map::BTreeMap, vec::Vec};99100pub use pallet::*;101102use crate::erc::ERC20Events;103#[cfg(feature = "runtime-benchmarks")]104pub mod benchmarking;105pub mod common;106pub mod erc;107pub mod weights;108109pub type CreateItemData<T> = (<T as pallet_evm::Config>::CrossAccountId, u128);110pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;111112#[frame_support::pallet]113pub mod pallet {114 use frame_support::{Blake2_128, Blake2_128Concat, Twox64Concat, pallet_prelude::*, storage::Key};115 use up_data_structs::CollectionId;116 use super::weights::WeightInfo;117118 #[pallet::error]119 pub enum Error<T> {120 /// Not Fungible item data used to mint in Fungible collection.121 NotFungibleDataUsedToMintFungibleCollectionToken,122 /// Fungible tokens hold no ID, and the default value of TokenId for Fungible collection is 0.123 FungibleItemsHaveNoId,124 /// Tried to set data for fungible item.125 FungibleItemsDontHaveData,126 /// Fungible token does not support nesting.127 FungibleDisallowsNesting,128 /// Setting item properties is not allowed.129 SettingPropertiesNotAllowed,130 /// Setting allowance for all is not allowed.131 SettingAllowanceForAllNotAllowed,132 /// Only a fungible collection could be possibly broken; any fungible token is valid.133 FungibleTokensAreAlwaysValid,134 }135136 #[pallet::config]137 pub trait Config:138 frame_system::Config + pallet_common::Config + pallet_structure::Config + pallet_evm::Config139 {140 type WeightInfo: WeightInfo;141 }142143 #[pallet::pallet]144 pub struct Pallet<T>(_);145146 /// Total amount of fungible tokens inside a collection.147 #[pallet::storage]148 pub type TotalSupply<T: Config> =149 StorageMap<Hasher = Twox64Concat, Key = CollectionId, Value = u128, QueryKind = ValueQuery>;150151 /// Amount of tokens owned by an account inside a collection.152 #[pallet::storage]153 pub type Balance<T: Config> = StorageNMap<154 Key = (155 Key<Twox64Concat, CollectionId>,156 Key<Blake2_128Concat, T::CrossAccountId>,157 ),158 Value = u128,159 QueryKind = ValueQuery,160 >;161162 /// Storage for assets delegated to a limited extent to other users.163 #[pallet::storage]164 pub type Allowance<T: Config> = StorageNMap<165 Key = (166 Key<Twox64Concat, CollectionId>,167 Key<Blake2_128, T::CrossAccountId>, // Owner168 Key<Blake2_128Concat, T::CrossAccountId>, // Spender169 ),170 Value = u128,171 QueryKind = ValueQuery,172 >;173}174175/// Wrapper around untyped collection handle, asserting inner collection is of fungible type.176/// Required for interaction with Fungible collections, type safety and implementation [`solidity_interface`][`evm_coder::solidity_interface`].177pub struct FungibleHandle<T: Config>(pallet_common::CollectionHandle<T>);178179/// Implementation of methods required for dispatching during runtime.180impl<T: Config> FungibleHandle<T> {181 /// Casts [`CollectionHandle`][`pallet_common::CollectionHandle`] into [`FungibleHandle`].182 pub fn cast(inner: pallet_common::CollectionHandle<T>) -> Self {183 Self(inner)184 }185186 /// Casts [`FungibleHandle`] into [`CollectionHandle`][`pallet_common::CollectionHandle`].187 pub fn into_inner(self) -> pallet_common::CollectionHandle<T> {188 self.0189 }190 /// Returns a mutable reference to the internal [`CollectionHandle`][`pallet_common::CollectionHandle`].191 pub fn common_mut(&mut self) -> &mut pallet_common::CollectionHandle<T> {192 &mut self.0193 }194}195impl<T: Config> WithRecorder<T> for FungibleHandle<T> {196 fn recorder(&self) -> &pallet_evm_coder_substrate::SubstrateRecorder<T> {197 self.0.recorder()198 }199 fn into_recorder(self) -> pallet_evm_coder_substrate::SubstrateRecorder<T> {200 self.0.into_recorder()201 }202}203impl<T: Config> Deref for FungibleHandle<T> {204 type Target = pallet_common::CollectionHandle<T>;205206 fn deref(&self) -> &Self::Target {207 &self.0208 }209}210211/// Pallet implementation for fungible assets212impl<T: Config> Pallet<T> {213 /// Initializes the collection. Returns [CollectionId] on success, [DispatchError] otherwise.214 pub fn init_collection(215 owner: T::CrossAccountId,216 payer: T::CrossAccountId,217 data: CreateCollectionData<T::AccountId>,218 flags: CollectionFlags,219 ) -> Result<CollectionId, DispatchError> {220 <PalletCommon<T>>::init_collection(owner, payer, data, flags)221 }222223 /// Initializes the collection with ForeignCollection flag. Returns [CollectionId] on success, [DispatchError] otherwise.224 pub fn init_foreign_collection(225 owner: T::CrossAccountId,226 payer: T::CrossAccountId,227 data: CreateCollectionData<T::AccountId>,228 ) -> Result<CollectionId, DispatchError> {229 let id = <PalletCommon<T>>::init_collection(230 owner,231 payer,232 data,233 CollectionFlags {234 foreign: true,235 ..Default::default()236 },237 )?;238 Ok(id)239 }240241 /// Destroys a collection.242 pub fn destroy_collection(243 collection: FungibleHandle<T>,244 sender: &T::CrossAccountId,245 ) -> DispatchResult {246 let id = collection.id;247248 if Self::collection_has_tokens(id) {249 return Err(<CommonError<T>>::CantDestroyNotEmptyCollection.into());250 }251252 // =========253254 PalletCommon::destroy_collection(collection.0, sender)?;255256 <TotalSupply<T>>::remove(id);257 let _ = <Balance<T>>::clear_prefix((id,), u32::MAX, None);258 let _ = <Allowance<T>>::clear_prefix((id,), u32::MAX, None);259 Ok(())260 }261262 /// Add properties to the collection.263 pub fn set_collection_properties(264 collection: &FungibleHandle<T>,265 sender: &T::CrossAccountId,266 properties: Vec<Property>,267 ) -> DispatchResult {268 <PalletCommon<T>>::set_collection_properties(collection, sender, properties.into_iter())269 }270271 /// Delete properties of the collection, associated with the provided keys.272 pub fn delete_collection_properties(273 collection: &FungibleHandle<T>,274 sender: &T::CrossAccountId,275 property_keys: Vec<PropertyKey>,276 ) -> DispatchResult {277 <PalletCommon<T>>::delete_collection_properties(278 collection,279 sender,280 property_keys.into_iter(),281 )282 }283284 /// Checks if collection has tokens. Return `true` if it has.285 fn collection_has_tokens(collection_id: CollectionId) -> bool {286 <TotalSupply<T>>::get(collection_id) != 0287 }288289 /// Burns the specified amount of the token. If the token balance290 /// or total supply is less than the given value,291 /// it will return [DispatchError].292 pub fn burn(293 collection: &FungibleHandle<T>,294 owner: &T::CrossAccountId,295 amount: u128,296 ) -> DispatchResult {297 let total_supply = <TotalSupply<T>>::get(collection.id)298 .checked_sub(amount)299 .ok_or(<CommonError<T>>::TokenValueTooLow)?;300301 let balance = <Balance<T>>::get((collection.id, owner))302 .checked_sub(amount)303 .ok_or(<CommonError<T>>::TokenValueTooLow)?;304305 // Foreign collection check306 ensure!(!collection.flags.foreign, <CommonError<T>>::NoPermission);307308 if collection.permissions.access() == AccessMode::AllowList {309 collection.check_allowlist(owner)?;310 }311312 // =========313314 if balance == 0 {315 <Balance<T>>::remove((collection.id, owner));316 <PalletStructure<T>>::unnest_if_nested(owner, collection.id, TokenId::default());317 } else {318 <Balance<T>>::insert((collection.id, owner), balance);319 }320 <TotalSupply<T>>::insert(collection.id, total_supply);321322 <PalletEvm<T>>::deposit_log(323 ERC20Events::Transfer {324 from: *owner.as_eth(),325 to: H160::default(),326 value: amount.into(),327 }328 .to_log(collection_id_to_address(collection.id)),329 );330 <PalletCommon<T>>::deposit_event(CommonEvent::ItemDestroyed(331 collection.id,332 TokenId::default(),333 owner.clone(),334 amount,335 ));336 Ok(())337 }338339 /// Burns the specified amount of the token.340 pub fn burn_foreign(341 collection: &FungibleHandle<T>,342 owner: &T::CrossAccountId,343 amount: u128,344 ) -> DispatchResult {345 let total_supply = <TotalSupply<T>>::get(collection.id)346 .checked_sub(amount)347 .ok_or(<CommonError<T>>::TokenValueTooLow)?;348349 let balance = <Balance<T>>::get((collection.id, owner))350 .checked_sub(amount)351 .ok_or(<CommonError<T>>::TokenValueTooLow)?;352 // =========353354 if balance == 0 {355 <Balance<T>>::remove((collection.id, owner));356 <PalletStructure<T>>::unnest_if_nested(owner, collection.id, TokenId::default());357 } else {358 <Balance<T>>::insert((collection.id, owner), balance);359 }360 <TotalSupply<T>>::insert(collection.id, total_supply);361362 <PalletEvm<T>>::deposit_log(363 ERC20Events::Transfer {364 from: *owner.as_eth(),365 to: H160::default(),366 value: amount.into(),367 }368 .to_log(collection_id_to_address(collection.id)),369 );370 <PalletCommon<T>>::deposit_event(CommonEvent::ItemDestroyed(371 collection.id,372 TokenId::default(),373 owner.clone(),374 amount,375 ));376 Ok(())377 }378379 /// Transfers the specified amount of tokens. Will check that380 /// the transfer is allowed for the token.381 ///382 /// - `from`: Owner of tokens to transfer.383 /// - `to`: Recepient of transfered tokens.384 /// - `amount`: Amount of tokens to transfer.385 /// - `collection`: Collection that contains the token386 pub fn transfer(387 collection: &FungibleHandle<T>,388 from: &T::CrossAccountId,389 to: &T::CrossAccountId,390 amount: u128,391 nesting_budget: &dyn Budget,392 ) -> DispatchResult {393 ensure!(394 collection.limits.transfers_enabled(),395 <CommonError<T>>::TransferNotAllowed,396 );397398 if collection.permissions.access() == AccessMode::AllowList {399 collection.check_allowlist(from)?;400 collection.check_allowlist(to)?;401 }402 <PalletCommon<T>>::ensure_correct_receiver(to)?;403404 let balance_from = <Balance<T>>::get((collection.id, from))405 .checked_sub(amount)406 .ok_or(<CommonError<T>>::TokenValueTooLow)?;407 let balance_to = if from != to && amount != 0 {408 Some(409 <Balance<T>>::get((collection.id, to))410 .checked_add(amount)411 .ok_or(ArithmeticError::Overflow)?,412 )413 } else {414 None415 };416417 // =========418419 if let Some(balance_to) = balance_to {420 // from != to && amount != 0421422 <PalletStructure<T>>::nest_if_sent_to_token(423 from.clone(),424 to,425 collection.id,426 TokenId::default(),427 nesting_budget,428 )?;429430 if balance_from == 0 {431 <Balance<T>>::remove((collection.id, from));432 <PalletStructure<T>>::unnest_if_nested(from, collection.id, TokenId::default());433 } else {434 <Balance<T>>::insert((collection.id, from), balance_from);435 }436 <Balance<T>>::insert((collection.id, to), balance_to);437 }438439 <PalletEvm<T>>::deposit_log(440 ERC20Events::Transfer {441 from: *from.as_eth(),442 to: *to.as_eth(),443 value: amount.into(),444 }445 .to_log(collection_id_to_address(collection.id)),446 );447 <PalletCommon<T>>::deposit_event(CommonEvent::Transfer(448 collection.id,449 TokenId::default(),450 from.clone(),451 to.clone(),452 amount,453 ));454 Ok(())455 }456457 /// Minting tokens for multiple IDs.458 /// It is a utility function used in [`create_multiple_items`][`Pallet::create_multiple_items`]459 /// and [`create_multiple_items_foreign`][`Pallet::create_multiple_items_foreign`]460 pub fn create_multiple_items_common(461 collection: &FungibleHandle<T>,462 sender: &T::CrossAccountId,463 data: BTreeMap<T::CrossAccountId, u128>,464 nesting_budget: &dyn Budget,465 ) -> DispatchResult {466 let total_supply = data467 .iter()468 .map(|(_, v)| *v)469 .try_fold(<TotalSupply<T>>::get(collection.id), |acc, v| {470 acc.checked_add(v)471 })472 .ok_or(ArithmeticError::Overflow)?;473474 for (to, _) in data.iter() {475 <PalletStructure<T>>::check_nesting(476 sender.clone(),477 to,478 collection.id,479 TokenId::default(),480 nesting_budget,481 )?;482 }483484 let updated_balances = data485 .into_iter()486 .map(|(user, amount)| {487 let updated_balance = <Balance<T>>::get((collection.id, &user))488 .checked_add(amount)489 .ok_or(ArithmeticError::Overflow)?;490 Ok((user, amount, updated_balance))491 })492 .collect::<Result<Vec<_>, DispatchError>>()?;493494 // =========495496 <TotalSupply<T>>::insert(collection.id, total_supply);497 for (user, amount, updated_balance) in updated_balances {498 <Balance<T>>::insert((collection.id, &user), updated_balance);499 <PalletStructure<T>>::nest_if_sent_to_token_unchecked(500 &user,501 collection.id,502 TokenId::default(),503 );504 <PalletEvm<T>>::deposit_log(505 ERC20Events::Transfer {506 from: H160::default(),507 to: *user.as_eth(),508 value: amount.into(),509 }510 .to_log(collection_id_to_address(collection.id)),511 );512 <PalletCommon<T>>::deposit_event(CommonEvent::ItemCreated(513 collection.id,514 TokenId::default(),515 user.clone(),516 amount,517 ));518 }519520 Ok(())521 }522523 /// Minting tokens for multiple IDs.524 /// See [`create_item`][`Pallet::create_item`] for more details.525 pub fn create_multiple_items(526 collection: &FungibleHandle<T>,527 sender: &T::CrossAccountId,528 data: BTreeMap<T::CrossAccountId, u128>,529 nesting_budget: &dyn Budget,530 ) -> DispatchResult {531 // Foreign collection check532 ensure!(!collection.flags.foreign, <CommonError<T>>::NoPermission);533534 if !collection.is_owner_or_admin(sender) {535 ensure!(536 collection.permissions.mint_mode(),537 <CommonError<T>>::PublicMintingNotAllowed538 );539 collection.check_allowlist(sender)?;540541 for (owner, _) in data.iter() {542 collection.check_allowlist(owner)?;543 }544 }545546 Self::create_multiple_items_common(collection, sender, data, nesting_budget)547 }548549 /// Minting tokens for multiple IDs.550 /// See [`create_item_foreign`][`Pallet::create_item_foreign`] for more details.551 pub fn create_multiple_items_foreign(552 collection: &FungibleHandle<T>,553 sender: &T::CrossAccountId,554 data: BTreeMap<T::CrossAccountId, u128>,555 nesting_budget: &dyn Budget,556 ) -> DispatchResult {557 Self::create_multiple_items_common(collection, sender, data, nesting_budget)558 }559560 fn set_allowance_unchecked(561 collection: &FungibleHandle<T>,562 owner: &T::CrossAccountId,563 spender: &T::CrossAccountId,564 amount: u128,565 ) {566 if amount == 0 {567 <Allowance<T>>::remove((collection.id, owner, spender));568 } else {569 <Allowance<T>>::insert((collection.id, owner, spender), amount);570 }571572 <PalletEvm<T>>::deposit_log(573 ERC20Events::Approval {574 owner: *owner.as_eth(),575 spender: *spender.as_eth(),576 value: amount.into(),577 }578 .to_log(collection_id_to_address(collection.id)),579 );580 <PalletCommon<T>>::deposit_event(CommonEvent::Approved(581 collection.id,582 TokenId(0),583 owner.clone(),584 spender.clone(),585 amount,586 ));587 }588589 /// Set allowance for the spender to `transfer` or `burn` owner's tokens.590 ///591 /// - `collection`: Collection that contains the token592 /// - `owner`: Owner of tokens that sets the allowance.593 /// - `spender`: Recipient of the allowance rights.594 /// - `amount`: Amount of tokens the spender is allowed to `transfer` or `burn`.595 pub fn set_allowance(596 collection: &FungibleHandle<T>,597 owner: &T::CrossAccountId,598 spender: &T::CrossAccountId,599 amount: u128,600 ) -> DispatchResult {601 if collection.permissions.access() == AccessMode::AllowList {602 collection.check_allowlist(owner)?;603 collection.check_allowlist(spender)?;604 }605606 if <Balance<T>>::get((collection.id, owner)) < amount {607 ensure!(608 collection.ignores_owned_amount(owner),609 <CommonError<T>>::CantApproveMoreThanOwned610 );611 }612613 // =========614615 Self::set_allowance_unchecked(collection, owner, spender, amount);616 Ok(())617 }618619 /// Set allowance for the spender to `transfer` or `burn` owner's tokens from eth mirror.620 ///621 /// - `collection`: Collection that contains the token622 /// - `sender`: Owner of tokens that sets the allowance.623 /// - `from`: Owner's eth mirror.624 /// - `to`: Recipient of the allowance rights.625 /// - `amount`: Amount of tokens the spender is allowed to `transfer` or `burn`.626 pub fn set_allowance_from(627 collection: &FungibleHandle<T>,628 sender: &T::CrossAccountId,629 from: &T::CrossAccountId,630 to: &T::CrossAccountId,631 amount: u128,632 ) -> DispatchResult {633 if collection.permissions.access() == AccessMode::AllowList {634 collection.check_allowlist(sender)?;635 collection.check_allowlist(from)?;636 collection.check_allowlist(to)?;637 }638639 ensure!(640 sender.conv_eq(from),641 <CommonError<T>>::AddressIsNotEthMirror642 );643644 if <Balance<T>>::get((collection.id, from)) < amount {645 ensure!(646 collection.limits.owner_can_transfer()647 && (collection.is_owner_or_admin(sender) || collection.is_owner_or_admin(from)),648 <CommonError<T>>::CantApproveMoreThanOwned649 );650 }651652 // =========653654 Self::set_allowance_unchecked(collection, from, to, amount);655 Ok(())656 }657658 /// Checks if a non-owner has (enough) allowance from the owner to perform operations on the tokens.659 /// Returns the expected remaining allowance - it should be set manually if the transaction proceeds.660 ///661 /// - `collection`: Collection that contains the token.662 /// - `spender`: CrossAccountId who has the allowance rights.663 /// - `from`: The owner of the tokens who sets the allowance.664 /// - `amount`: Amount of tokens by which the allowance sholud be reduced.665 fn check_allowed(666 collection: &FungibleHandle<T>,667 spender: &T::CrossAccountId,668 from: &T::CrossAccountId,669 amount: u128,670 nesting_budget: &dyn Budget,671 ) -> Result<Option<u128>, DispatchError> {672 if spender.conv_eq(from) {673 return Ok(None);674 }675 if collection.permissions.access() == AccessMode::AllowList {676 // `from`, `to` checked in [`transfer`]677 collection.check_allowlist(spender)?;678 }679680 if collection.ignores_token_restrictions(spender) {681 return Ok(Self::compute_allowance_decrease(682 collection, from, spender, amount,683 ));684 }685686 if let Some(source) = T::CrossTokenAddressMapping::address_to_token(from) {687 ensure!(688 <PalletStructure<T>>::check_indirectly_owned(689 spender.clone(),690 source.0,691 source.1,692 None,693 nesting_budget694 )?,695 <CommonError<T>>::ApprovedValueTooLow,696 );697 return Ok(None);698 }699700 let allowance = Self::compute_allowance_decrease(collection, from, spender, amount);701 ensure!(allowance.is_some(), <CommonError<T>>::ApprovedValueTooLow);702703 Ok(allowance)704 }705706 /// Returns `Some(amount)` if the `spender` have allowance to spend this amount.707 /// Otherwise, it returns `None`.708 fn compute_allowance_decrease(709 collection: &FungibleHandle<T>,710 from: &T::CrossAccountId,711 spender: &T::CrossAccountId,712 amount: u128,713 ) -> Option<u128> {714 <Allowance<T>>::get((collection.id, from, spender)).checked_sub(amount)715 }716717 /// Transfer fungible tokens from one account to another.718 /// Same as the [`transfer`][`Pallet::transfer`] but spender doesn't needs to be an owner of the token pieces.719 /// The owner should set allowance for the spender to transfer pieces.720 /// See [`set_allowance`][`Pallet::set_allowance`] for more details.721722 pub fn transfer_from(723 collection: &FungibleHandle<T>,724 spender: &T::CrossAccountId,725 from: &T::CrossAccountId,726 to: &T::CrossAccountId,727 amount: u128,728 nesting_budget: &dyn Budget,729 ) -> DispatchResult {730 let allowance = Self::check_allowed(collection, spender, from, amount, nesting_budget)?;731732 // =========733734 Self::transfer(collection, from, to, amount, nesting_budget)?;735 if let Some(allowance) = allowance {736 Self::set_allowance_unchecked(collection, from, spender, allowance);737 }738 Ok(())739 }740741 /// Burn fungible tokens from the account.742 ///743 /// Same as the [`burn`][`Pallet::burn`] but spender doesn't need to be an owner of the tokens. The `from` should744 /// set allowance for the spender to burn tokens.745 /// See [`set_allowance`][`Pallet::set_allowance`] for more details.746 pub fn burn_from(747 collection: &FungibleHandle<T>,748 spender: &T::CrossAccountId,749 from: &T::CrossAccountId,750 amount: u128,751 nesting_budget: &dyn Budget,752 ) -> DispatchResult {753 let allowance = Self::check_allowed(collection, spender, from, amount, nesting_budget)?;754755 // =========756757 Self::burn(collection, from, amount)?;758 if let Some(allowance) = allowance {759 Self::set_allowance_unchecked(collection, from, spender, allowance);760 }761 Ok(())762 }763764 /// Creates fungible token.765 ///766 /// The sender should be the owner/admin of the collection or collection should be configured767 /// to allow public minting.768 ///769 /// - `data`: Contains user who will become the owners of the tokens and amount770 /// of tokens he will receive.771 pub fn create_item(772 collection: &FungibleHandle<T>,773 sender: &T::CrossAccountId,774 data: CreateItemData<T>,775 nesting_budget: &dyn Budget,776 ) -> DispatchResult {777 Self::create_multiple_items(778 collection,779 sender,780 [(data.0, data.1)].into_iter().collect(),781 nesting_budget,782 )783 }784785 /// Creates fungible token.786 ///787 /// - `data`: Contains user who will become the owners of the tokens and amount788 /// of tokens he will receive.789 pub fn create_item_foreign(790 collection: &FungibleHandle<T>,791 sender: &T::CrossAccountId,792 data: CreateItemData<T>,793 nesting_budget: &dyn Budget,794 ) -> DispatchResult {795 Self::create_multiple_items_foreign(796 collection,797 sender,798 [(data.0, data.1)].into_iter().collect(),799 nesting_budget,800 )801 }802803 /// Returns 10 tokens owners in no particular order804 ///805 /// There is no direct way to get token holders in ascending order,806 /// since `iter_prefix` returns values in no particular order.807 /// Therefore, getting the 10 largest holders with a large value of holders808 /// can lead to impact memory allocation + sorting with `n * log (n)`.809 pub fn token_owners(810 collection: CollectionId,811 _token: TokenId,812 ) -> Option<Vec<T::CrossAccountId>> {813 let res: Vec<T::CrossAccountId> = <Balance<T>>::iter_prefix((collection,))814 .map(|(owner, _amount)| owner)815 .take(10)816 .collect();817818 if res.is_empty() {819 None820 } else {821 Some(res)822 }823 }824}pallets/identity/src/lib.rsdiffbeforeafterboth--- a/pallets/identity/src/lib.rs
+++ b/pallets/identity/src/lib.rs
@@ -169,7 +169,6 @@
}
#[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
/// Information that is pertinent to identify the entity behind an account.
pallets/inflation/src/lib.rsdiffbeforeafterboth--- a/pallets/inflation/src/lib.rs
+++ b/pallets/inflation/src/lib.rs
@@ -78,7 +78,6 @@
}
#[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
/// starting year total issuance
pallets/maintenance/src/lib.rsdiffbeforeafterboth--- a/pallets/maintenance/src/lib.rs
+++ b/pallets/maintenance/src/lib.rs
@@ -66,7 +66,6 @@
}
#[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
#[pallet::storage]
pallets/nonfungible/src/lib.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -175,7 +175,6 @@
#[pallet::pallet]
#[pallet::storage_version(STORAGE_VERSION)]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
/// Total amount of minted tokens in a collection.
pallets/refungible/src/lib.rsdiffbeforeafterboth--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -158,7 +158,6 @@
#[pallet::pallet]
#[pallet::storage_version(STORAGE_VERSION)]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
/// Total amount of minted tokens in a collection.
pallets/scheduler-v2/Cargo.tomldiffbeforeafterboth--- a/pallets/scheduler-v2/Cargo.toml
+++ b/pallets/scheduler-v2/Cargo.toml
@@ -9,6 +9,9 @@
repository = "https://github.com/UniqueNetwork/unique-chain"
version = "0.1.0"
+[package.metadata.deppatcher.originals.dev-dependencies]
+substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+
[dependencies]
# Note: `package = "parity-scale-codec"` must be supplied since the `Encode` macro searches for it.
codec = { workspace = true, package = "parity-scale-codec" }
@@ -25,7 +28,7 @@
[dev-dependencies]
pallet-preimage = { workspace = true }
-substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
[features]
default = ["std"]
pallets/scheduler-v2/src/lib.rsdiffbeforeafterboth--- a/pallets/scheduler-v2/src/lib.rs
+++ b/pallets/scheduler-v2/src/lib.rs
@@ -460,7 +460,6 @@
const STORAGE_VERSION: StorageVersion = StorageVersion::new(0);
#[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
#[pallet::storage_version(STORAGE_VERSION)]
pub struct Pallet<T>(_);
pallets/scheduler-v2/src/mock.rsdiffbeforeafterboth--- a/pallets/scheduler-v2/src/mock.rs
+++ b/pallets/scheduler-v2/src/mock.rs
@@ -65,7 +65,6 @@
}
#[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(PhantomData<T>);
#[pallet::hooks]
pallets/unique/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/unique/src/benchmarking.rs
+++ b/pallets/unique/src/benchmarking.rs
@@ -26,6 +26,11 @@
Config as CommonConfig,
benchmarking::{create_data, create_u16_data},
};
+use up_data_structs::{
+ CollectionId, CollectionMode, MAX_COLLECTION_NAME_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
+ MAX_COLLECTION_DESCRIPTION_LENGTH, CollectionLimits,
+};
+use pallet_common::erc::CrossAccountId;
const SEED: u32 = 1;
@@ -34,9 +39,9 @@
mode: CollectionMode,
) -> Result<CollectionId, DispatchError> {
<T as CommonConfig>::Currency::deposit_creating(&owner, T::CollectionCreationPrice::get());
- let col_name = create_u16_data::<MAX_COLLECTION_NAME_LENGTH>();
- let col_desc = create_u16_data::<MAX_COLLECTION_DESCRIPTION_LENGTH>();
- let token_prefix = create_data::<MAX_TOKEN_PREFIX_LENGTH>();
+ let col_name = create_u16_data::<{ MAX_COLLECTION_NAME_LENGTH }>();
+ let col_desc = create_u16_data::<{ MAX_COLLECTION_DESCRIPTION_LENGTH }>();
+ let token_prefix = create_data::<{ MAX_TOKEN_PREFIX_LENGTH }>();
<Pallet<T>>::create_collection(
RawOrigin::Signed(owner).into(),
col_name,
@@ -54,9 +59,9 @@
benchmarks! {
create_collection {
- let col_name = create_u16_data::<MAX_COLLECTION_NAME_LENGTH>();
- let col_desc = create_u16_data::<MAX_COLLECTION_DESCRIPTION_LENGTH>();
- let token_prefix = create_data::<MAX_TOKEN_PREFIX_LENGTH>();
+ let col_name = create_u16_data::<{MAX_COLLECTION_NAME_LENGTH}>();
+ let col_desc = create_u16_data::<{MAX_COLLECTION_DESCRIPTION_LENGTH}>();
+ let token_prefix = create_data::<{MAX_TOKEN_PREFIX_LENGTH}>();
let mode: CollectionMode = CollectionMode::NFT;
let caller: T::AccountId = account("caller", 0, SEED);
<T as CommonConfig>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
pallets/unique/src/eth/mod.rsdiffbeforeafterboth--- a/pallets/unique/src/eth/mod.rs
+++ b/pallets/unique/src/eth/mod.rs
@@ -27,7 +27,7 @@
dispatch::CollectionDispatch,
erc::{CollectionHelpersEvents, static_property::key},
eth::{map_eth_to_id, collection_id_to_address},
- Pallet as PalletCommon,
+ Pallet as PalletCommon, CollectionHandle,
};
use pallet_evm::{account::CrossAccountId, OnMethodCall, PrecompileHandle, PrecompileResult};
use pallet_evm_coder_substrate::{
@@ -262,7 +262,7 @@
let collection =
pallet_common::eth::map_eth_to_id(&collection).ok_or("not a collection address")?;
let mut collection =
- <crate::CollectionHandle<T>>::new(collection).ok_or("collection not found")?;
+ <CollectionHandle<T>>::new(collection).ok_or("collection not found")?;
if !matches!(
collection.mode,
pallets/unique/src/lib.rsdiffbeforeafterboth--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -73,42 +73,44 @@
extern crate alloc;
-use frame_support::{
- decl_module, decl_storage, decl_error,
- dispatch::DispatchResult,
- ensure, fail,
- weights::{Weight},
- pallet_prelude::{DispatchResultWithPostInfo, ConstU32},
- BoundedVec,
-};
-use scale_info::TypeInfo;
-use frame_system::{self as system, ensure_signed, ensure_root};
-use sp_std::{vec, vec::Vec};
-use up_data_structs::{
- MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
- MAX_PROPERTIES_PER_ITEM, MAX_PROPERTY_KEY_LENGTH, MAX_PROPERTY_VALUE_LENGTH,
- MAX_COLLECTION_PROPERTIES_SIZE, COLLECTION_ADMINS_LIMIT, MAX_TOKEN_PROPERTIES_SIZE,
- CreateItemData, CollectionLimits, CollectionPermissions, CollectionId, CollectionMode, TokenId,
- CreateCollectionData, CreateItemExData, budget, Property, PropertyKey, PropertyKeyPermission,
-};
-use pallet_evm::account::CrossAccountId;
-use pallet_common::{
- CollectionHandle, Pallet as PalletCommon, CommonWeightInfo, dispatch::dispatch_tx,
- dispatch::CollectionDispatch, RefungibleExtensionsWeightInfo,
-};
+pub use pallet::*;
+use frame_support::pallet_prelude::*;
+use frame_system::pallet_prelude::*;
pub mod eth;
#[cfg(feature = "runtime-benchmarks")]
pub mod benchmarking;
pub mod weights;
-use weights::WeightInfo;
-/// A maximum number of levels of depth in the token nesting tree.
-pub const NESTING_BUDGET: u32 = 5;
+#[frame_support::pallet]
+pub mod pallet {
+ use super::*;
+
+ use frame_support::{dispatch::DispatchResult, ensure, fail, BoundedVec, storage::Key};
+ use scale_info::TypeInfo;
+ use frame_system::{ensure_signed, ensure_root};
+ use sp_std::{vec, vec::Vec};
+ use up_data_structs::{
+ MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
+ MAX_PROPERTIES_PER_ITEM, MAX_PROPERTY_KEY_LENGTH, MAX_PROPERTY_VALUE_LENGTH,
+ MAX_COLLECTION_PROPERTIES_SIZE, COLLECTION_ADMINS_LIMIT, MAX_TOKEN_PROPERTIES_SIZE,
+ CreateItemData, CollectionLimits, CollectionPermissions, CollectionId, CollectionMode,
+ TokenId, CreateCollectionData, CreateItemExData, budget, Property, PropertyKey,
+ PropertyKeyPermission,
+ };
+ use pallet_evm::account::CrossAccountId;
+ use pallet_common::{
+ CollectionHandle, Pallet as PalletCommon, CommonWeightInfo, dispatch::dispatch_tx,
+ dispatch::CollectionDispatch, RefungibleExtensionsWeightInfo,
+ };
+ use weights::WeightInfo;
+
+ /// A maximum number of levels of depth in the token nesting tree.
+ pub const NESTING_BUDGET: u32 = 5;
-decl_error! {
/// Errors for the common Unique transactions.
- pub enum Error for Module<T: Config> {
+ #[pallet::error]
+ pub enum Error<T> {
/// Decimal_points parameter must be lower than [`up_data_structs::MAX_DECIMAL_POINTS`].
CollectionDecimalPointLimitExceeded,
/// Length of items properties must be greater than 0.
@@ -116,135 +118,219 @@
/// Repertition is only supported by refungible collection.
RepartitionCalledOnNonRefungibleCollection,
}
-}
-/// Configuration trait of this pallet.
-pub trait Config: system::Config + pallet_common::Config + Sized + TypeInfo {
- /// Weight information for extrinsics in this pallet.
- type WeightInfo: WeightInfo;
+ /// Configuration trait of this pallet.
+ #[pallet::config]
+ pub trait Config: frame_system::Config + pallet_common::Config + Sized + TypeInfo {
+ /// Weight information for extrinsics in this pallet.
+ type WeightInfo: WeightInfo;
- /// Weight information for common pallet operations.
- type CommonWeightInfo: CommonWeightInfo<Self::CrossAccountId>;
+ /// Weight information for common pallet operations.
+ type CommonWeightInfo: CommonWeightInfo<Self::CrossAccountId>;
- /// Weight info information for extra refungible pallet operations.
- type RefungibleExtensionsWeightInfo: RefungibleExtensionsWeightInfo;
-}
+ /// Weight info information for extra refungible pallet operations.
+ type RefungibleExtensionsWeightInfo: RefungibleExtensionsWeightInfo;
+ }
-type SelfWeightOf<T> = <T as Config>::WeightInfo;
+ #[pallet::pallet]
+ pub struct Pallet<T>(_);
-// # Used definitions
-//
-// ## User control levels
-//
-// chain-controlled - key is uncontrolled by user
-// i.e autoincrementing index
-// can use non-cryptographic hash
-// real - key is controlled by user
-// but it is hard to generate enough colliding values, i.e owner of signed txs
-// can use non-cryptographic hash
-// controlled - key is completly controlled by users
-// i.e maps with mutable keys
-// should use cryptographic hash
-//
-// ## User control level downgrade reasons
-//
-// ?1 - chain-controlled -> controlled
-// collections/tokens can be destroyed, resulting in massive holes
-// ?2 - chain-controlled -> controlled
-// same as ?1, but can be only added, resulting in easier exploitation
-// ?3 - real -> controlled
-// no confirmation required, so addresses can be easily generated
-decl_storage! {
- trait Store for Module<T: Config> as Unique {
+ pub type SelfWeightOf<T> = <T as Config>::WeightInfo;
- //#region Private members
- /// Used for migrations
- ChainVersion: u64;
- //#endregion
+ // # Used definitions
+ //
+ // ## User control levels
+ //
+ // chain-controlled - key is uncontrolled by user
+ // i.e autoincrementing index
+ // can use non-cryptographic hash
+ // real - key is controlled by user
+ // but it is hard to generate enough colliding values, i.e owner of signed txs
+ // can use non-cryptographic hash
+ // controlled - key is completly controlled by users
+ // i.e maps with mutable keys
+ // should use cryptographic hash
+ //
+ // ## User control level downgrade reasons
+ //
+ // ?1 - chain-controlled -> controlled
+ // collections/tokens can be destroyed, resulting in massive holes
+ // ?2 - chain-controlled -> controlled
+ // same as ?1, but can be only added, resulting in easier exploitation
+ // ?3 - real -> controlled
+ // no confirmation required, so addresses can be easily generated
- //#region Tokens transfer sponosoring rate limit baskets
- /// (Collection id (controlled?2), who created (real))
- /// TODO: Off chain worker should remove from this map when collection gets removed
- pub CreateItemBasket get(fn create_item_basket): map hasher(blake2_128_concat) (CollectionId, T::AccountId) => Option<T::BlockNumber>;
- /// Collection id (controlled?2), token id (controlled?2)
- pub NftTransferBasket get(fn nft_transfer_basket): double_map hasher(blake2_128_concat) CollectionId, hasher(blake2_128_concat) TokenId => Option<T::BlockNumber>;
- /// Collection id (controlled?2), owning user (real)
- pub FungibleTransferBasket get(fn fungible_transfer_basket): double_map hasher(blake2_128_concat) CollectionId, hasher(twox_64_concat) T::AccountId => Option<T::BlockNumber>;
- /// Collection id (controlled?2), token id (controlled?2)
- pub ReFungibleTransferBasket get(fn refungible_transfer_basket): nmap hasher(blake2_128_concat) CollectionId, hasher(blake2_128_concat) TokenId, hasher(twox_64_concat) T::AccountId => Option<T::BlockNumber>;
- //#endregion
+ //#region Private members
+ /// Used for migrations
+ #[pallet::storage]
+ pub type ChainVersion<T> = StorageValue<_, u64, ValueQuery>;
+ //#endregion
- /// Variable metadata sponsoring
- /// Collection id (controlled?2), token id (controlled?2)
- #[deprecated]
- pub VariableMetaDataBasket get(fn variable_meta_data_basket): double_map hasher(blake2_128_concat) CollectionId, hasher(blake2_128_concat) TokenId => Option<T::BlockNumber>;
- /// Last sponsoring of token property setting // todo:doc rephrase this and the following
- pub TokenPropertyBasket get(fn token_property_basket): double_map hasher(blake2_128_concat) CollectionId, hasher(blake2_128_concat) TokenId => Option<T::BlockNumber>;
+ //#region Tokens transfer sponosoring rate limit baskets
+ /// (Collection id (controlled?2), who created (real))
+ /// TODO: Off chain worker should remove from this map when collection gets removed
+ #[pallet::storage]
+ #[pallet::getter(fn create_item_busket)]
+ pub type CreateItemBasket<T: Config> = StorageMap<
+ Hasher = Blake2_128Concat,
+ Key = (CollectionId, T::AccountId),
+ Value = T::BlockNumber,
+ QueryKind = OptionQuery,
+ >;
+ /// Collection id (controlled?2), token id (controlled?2)
+ #[pallet::storage]
+ #[pallet::getter(fn nft_transfer_basket)]
+ pub type NftTransferBasket<T: Config> = StorageDoubleMap<
+ Hasher1 = Blake2_128Concat,
+ Key1 = CollectionId,
+ Hasher2 = Blake2_128Concat,
+ Key2 = TokenId,
+ Value = T::BlockNumber,
+ QueryKind = OptionQuery,
+ >;
+ /// Collection id (controlled?2), owning user (real)
+ #[pallet::storage]
+ #[pallet::getter(fn fungible_transfer_basket)]
+ pub type FungibleTransferBasket<T: Config> = StorageDoubleMap<
+ Hasher1 = Blake2_128Concat,
+ Key1 = CollectionId,
+ Hasher2 = Twox64Concat,
+ Key2 = T::AccountId,
+ Value = T::BlockNumber,
+ QueryKind = OptionQuery,
+ >;
+ /// Collection id (controlled?2), token id (controlled?2)
+ #[pallet::storage]
+ #[pallet::getter(fn refungible_transfer_basket)]
+ pub type ReFungibleTransferBasket<T: Config> = StorageNMap<
+ Key = (
+ Key<Blake2_128Concat, CollectionId>,
+ Key<Blake2_128Concat, TokenId>,
+ Key<Twox64Concat, T::AccountId>,
+ ),
+ Value = T::BlockNumber,
+ QueryKind = OptionQuery,
+ >;
+ //#endregion
- /// Last sponsoring of NFT approval in a collection
- pub NftApproveBasket get(fn nft_approve_basket): double_map hasher(blake2_128_concat) CollectionId, hasher(blake2_128_concat) TokenId => Option<T::BlockNumber>;
- /// Last sponsoring of fungible tokens approval in a collection
- pub FungibleApproveBasket get(fn fungible_approve_basket): double_map hasher(blake2_128_concat) CollectionId, hasher(twox_64_concat) T::AccountId => Option<T::BlockNumber>;
- /// Last sponsoring of RFT approval in a collection
- pub RefungibleApproveBasket get(fn refungible_approve_basket): nmap hasher(blake2_128_concat) CollectionId, hasher(blake2_128_concat) TokenId, hasher(twox_64_concat) T::AccountId => Option<T::BlockNumber>;
- }
-}
+ /// Last sponsoring of token property setting // todo:doc rephrase this and the following
+ #[pallet::storage]
+ #[pallet::getter(fn token_property_basket)]
+ pub type TokenPropertyBasket<T: Config> = StorageDoubleMap<
+ Hasher1 = Blake2_128Concat,
+ Key1 = CollectionId,
+ Hasher2 = Blake2_128Concat,
+ Key2 = TokenId,
+ Value = T::BlockNumber,
+ QueryKind = OptionQuery,
+ >;
-decl_module! {
- /// Type alias to Pallet, to be used by construct_runtime.
- pub struct Module<T: Config> for enum Call
- where
- origin: T::RuntimeOrigin
- {
- type Error = Error<T>;
+ /// Last sponsoring of NFT approval in a collection
+ #[pallet::storage]
+ #[pallet::getter(fn nft_approve_basket)]
+ pub type NftApproveBasket<T: Config> = StorageDoubleMap<
+ Hasher1 = Blake2_128Concat,
+ Key1 = CollectionId,
+ Hasher2 = Blake2_128Concat,
+ Key2 = TokenId,
+ Value = T::BlockNumber,
+ QueryKind = OptionQuery,
+ >;
+ /// Last sponsoring of fungible tokens approval in a collection
+ #[pallet::storage]
+ #[pallet::getter(fn fungible_approve_basket)]
+ pub type FungibleApproveBasket<T: Config> = StorageDoubleMap<
+ Hasher1 = Blake2_128Concat,
+ Key1 = CollectionId,
+ Hasher2 = Twox64Concat,
+ Key2 = T::AccountId,
+ Value = T::BlockNumber,
+ QueryKind = OptionQuery,
+ >;
+ /// Last sponsoring of RFT approval in a collection
+ #[pallet::storage]
+ #[pallet::getter(fn refungible_approve_basket)]
+ pub type RefungibleApproveBasket<T: Config> = StorageNMap<
+ Key = (
+ Key<Blake2_128Concat, CollectionId>,
+ Key<Blake2_128Concat, TokenId>,
+ Key<Twox64Concat, T::AccountId>,
+ ),
+ Value = T::BlockNumber,
+ QueryKind = OptionQuery,
+ >;
- #[doc = "A maximum number of levels of depth in the token nesting tree."]
- const NESTING_BUDGET: u32 = NESTING_BUDGET;
+ #[pallet::extra_constants]
+ impl<T: Config> Pallet<T> {
+ /// A maximum number of levels of depth in the token nesting tree.
+ fn nesting_budget() -> u32 {
+ NESTING_BUDGET
+ }
- #[doc = "Maximal length of a collection name."]
- const MAX_COLLECTION_NAME_LENGTH: u32 = MAX_COLLECTION_NAME_LENGTH;
+ /// Maximal length of a collection name.
+ fn max_collection_name_length() -> u32 {
+ MAX_COLLECTION_NAME_LENGTH
+ }
- #[doc = "Maximal length of a collection description."]
- const MAX_COLLECTION_DESCRIPTION_LENGTH: u32 = MAX_COLLECTION_DESCRIPTION_LENGTH;
+ /// Maximal length of a collection description.
+ fn max_collection_description_length() -> u32 {
+ MAX_COLLECTION_DESCRIPTION_LENGTH
+ }
- #[doc = "Maximal length of a token prefix."]
- const MAX_TOKEN_PREFIX_LENGTH: u32 = MAX_TOKEN_PREFIX_LENGTH;
+ /// Maximal length of a token prefix.
+ fn max_token_prefix_length() -> u32 {
+ MAX_TOKEN_PREFIX_LENGTH
+ }
- #[doc = "Maximum admins per collection."]
- const COLLECTION_ADMINS_LIMIT: u32 = COLLECTION_ADMINS_LIMIT;
+ /// Maximum admins per collection.
+ fn collection_admins_limit() -> u32 {
+ COLLECTION_ADMINS_LIMIT
+ }
- #[doc = "Maximal length of a property key."]
- const MAX_PROPERTY_KEY_LENGTH: u32 = MAX_PROPERTY_KEY_LENGTH;
-
- #[doc = "Maximal length of a property value."]
- const MAX_PROPERTY_VALUE_LENGTH: u32 = MAX_PROPERTY_VALUE_LENGTH;
-
- #[doc = "A maximum number of token properties."]
- const MAX_PROPERTIES_PER_ITEM: u32 = MAX_PROPERTIES_PER_ITEM;
+ /// Maximal length of a property key.
+ fn max_property_key_length() -> u32 {
+ MAX_PROPERTY_KEY_LENGTH
+ }
- #[doc = "Maximum size for all collection properties."]
- const MAX_COLLECTION_PROPERTIES_SIZE: u32 = MAX_COLLECTION_PROPERTIES_SIZE;
+ /// Maximal length of a property value.
+ fn max_property_value_length() -> u32 {
+ MAX_PROPERTY_VALUE_LENGTH
+ }
- #[doc = "Maximum size of all token properties."]
- const MAX_TOKEN_PROPERTIES_SIZE: u32 = MAX_TOKEN_PROPERTIES_SIZE;
+ /// A maximum number of token properties.
+ fn max_properties_per_item() -> u32 {
+ MAX_PROPERTIES_PER_ITEM
+ }
- #[doc = "Default NFT collection limit."]
- const NFT_DEFAULT_COLLECTION_LIMITS: CollectionLimits = CollectionLimits::with_default_limits(CollectionMode::NFT);
+ /// Maximum size for all collection properties.
+ fn max_collection_properties_size() -> u32 {
+ MAX_COLLECTION_PROPERTIES_SIZE
+ }
- #[doc = "Default RFT collection limit."]
- const RFT_DEFAULT_COLLECTION_LIMITS: CollectionLimits = CollectionLimits::with_default_limits(CollectionMode::ReFungible);
+ /// Maximum size of all token properties.
+ fn max_token_properties_size() -> u32 {
+ MAX_TOKEN_PROPERTIES_SIZE
+ }
- #[doc = "Default FT collection limit."]
- const FT_DEFAULT_COLLECTION_LIMITS: CollectionLimits = CollectionLimits::with_default_limits(CollectionMode::Fungible(0));
+ /// Default NFT collection limit.
+ fn nft_default_collection_limits() -> CollectionLimits {
+ CollectionLimits::with_default_limits(CollectionMode::NFT)
+ }
- fn on_initialize(_now: T::BlockNumber) -> Weight {
- Weight::zero()
+ /// Default RFT collection limit.
+ fn rft_default_collection_limits() -> CollectionLimits {
+ CollectionLimits::with_default_limits(CollectionMode::ReFungible)
}
- fn on_runtime_upgrade() -> Weight {
- Weight::zero()
+ /// Default FT collection limit.
+ fn ft_default_collection_limits() -> CollectionLimits {
+ CollectionLimits::with_default_limits(CollectionMode::Fungible(0))
}
+ }
+ /// Type alias to Pallet, to be used by construct_runtime.
+ #[pallet::call]
+ impl<T: Config> Pallet<T> {
/// Create a collection of tokens.
///
/// Each Token may have multiple properties encoded as an array of bytes
@@ -270,13 +356,14 @@
/// returns collection ID
///
/// Deprecated: `create_collection_ex` is more up-to-date and advanced, prefer it instead.
- #[weight = <SelfWeightOf<T>>::create_collection()]
- fn create_collection(
- origin,
+ #[pallet::call_index(0)]
+ #[pallet::weight(<SelfWeightOf<T>>::create_collection())]
+ pub fn create_collection(
+ origin: OriginFor<T>,
collection_name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,
collection_description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,
token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,
- mode: CollectionMode
+ mode: CollectionMode,
) -> DispatchResult {
let data: CreateCollectionData<T::AccountId> = CreateCollectionData {
name: collection_name,
@@ -299,13 +386,18 @@
/// # Arguments
///
/// * `data`: Explicit data of a collection used for its creation.
- #[weight = <SelfWeightOf<T>>::create_collection()]
- pub fn create_collection_ex(origin, data: CreateCollectionData<T::AccountId>) -> DispatchResult {
+ #[pallet::call_index(1)]
+ #[pallet::weight(<SelfWeightOf<T>>::create_collection())]
+ pub fn create_collection_ex(
+ origin: OriginFor<T>,
+ data: CreateCollectionData<T::AccountId>,
+ ) -> DispatchResult {
let sender = ensure_signed(origin)?;
// =========
let sender = T::CrossAccountId::from_sub(sender);
- let _id = T::CollectionDispatch::create(sender.clone(), sender, data, Default::default())?;
+ let _id =
+ T::CollectionDispatch::create(sender.clone(), sender, data, Default::default())?;
Ok(())
}
@@ -319,8 +411,12 @@
/// # Arguments
///
/// * `collection_id`: Collection to destroy.
- #[weight = <SelfWeightOf<T>>::destroy_collection()]
- pub fn destroy_collection(origin, collection_id: CollectionId) -> DispatchResult {
+ #[pallet::call_index(2)]
+ #[pallet::weight(<SelfWeightOf<T>>::destroy_collection())]
+ pub fn destroy_collection(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ ) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
Self::destroy_collection_internal(sender, collection_id)
@@ -337,19 +433,18 @@
///
/// * `collection_id`: ID of the modified collection.
/// * `address`: ID of the address to be added to the allowlist.
- #[weight = <SelfWeightOf<T>>::add_to_allow_list()]
- pub fn add_to_allow_list(origin, collection_id: CollectionId, address: T::CrossAccountId) -> DispatchResult{
-
+ #[pallet::call_index(3)]
+ #[pallet::weight(<SelfWeightOf<T>>::add_to_allow_list())]
+ pub fn add_to_allow_list(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ address: T::CrossAccountId,
+ ) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let collection = <CollectionHandle<T>>::try_get(collection_id)?;
collection.check_is_internal()?;
- <PalletCommon<T>>::toggle_allowlist(
- &collection,
- &sender,
- &address,
- true,
- )?;
+ <PalletCommon<T>>::toggle_allowlist(&collection, &sender, &address, true)?;
Ok(())
}
@@ -365,19 +460,18 @@
///
/// * `collection_id`: ID of the modified collection.
/// * `address`: ID of the address to be removed from the allowlist.
- #[weight = <SelfWeightOf<T>>::remove_from_allow_list()]
- pub fn remove_from_allow_list(origin, collection_id: CollectionId, address: T::CrossAccountId) -> DispatchResult{
-
+ #[pallet::call_index(4)]
+ #[pallet::weight(<SelfWeightOf<T>>::remove_from_allow_list())]
+ pub fn remove_from_allow_list(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ address: T::CrossAccountId,
+ ) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let collection = <CollectionHandle<T>>::try_get(collection_id)?;
collection.check_is_internal()?;
- <PalletCommon<T>>::toggle_allowlist(
- &collection,
- &sender,
- &address,
- false,
- )?;
+ <PalletCommon<T>>::toggle_allowlist(&collection, &sender, &address, false)?;
Ok(())
}
@@ -392,8 +486,13 @@
///
/// * `collection_id`: ID of the modified collection.
/// * `new_owner`: ID of the account that will become the owner.
- #[weight = <SelfWeightOf<T>>::change_collection_owner()]
- pub fn change_collection_owner(origin, collection_id: CollectionId, new_owner: T::AccountId) -> DispatchResult {
+ #[pallet::call_index(5)]
+ #[pallet::weight(<SelfWeightOf<T>>::change_collection_owner())]
+ pub fn change_collection_owner(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ new_owner: T::AccountId,
+ ) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let new_owner = T::CrossAccountId::from_sub(new_owner);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
@@ -416,8 +515,13 @@
///
/// * `collection_id`: ID of the Collection to add an admin for.
/// * `new_admin`: Address of new admin to add.
- #[weight = <SelfWeightOf<T>>::add_collection_admin()]
- pub fn add_collection_admin(origin, collection_id: CollectionId, new_admin_id: T::CrossAccountId) -> DispatchResult {
+ #[pallet::call_index(6)]
+ #[pallet::weight(<SelfWeightOf<T>>::add_collection_admin())]
+ pub fn add_collection_admin(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ new_admin_id: T::CrossAccountId,
+ ) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let collection = <CollectionHandle<T>>::try_get(collection_id)?;
<PalletCommon<T>>::toggle_admin(&collection, &sender, &new_admin_id, true)
@@ -437,8 +541,13 @@
///
/// * `collection_id`: ID of the collection to remove the admin for.
/// * `account_id`: Address of the admin to remove.
- #[weight = <SelfWeightOf<T>>::remove_collection_admin()]
- pub fn remove_collection_admin(origin, collection_id: CollectionId, account_id: T::CrossAccountId) -> DispatchResult {
+ #[pallet::call_index(7)]
+ #[pallet::weight(<SelfWeightOf<T>>::remove_collection_admin())]
+ pub fn remove_collection_admin(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ account_id: T::CrossAccountId,
+ ) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let collection = <CollectionHandle<T>>::try_get(collection_id)?;
<PalletCommon<T>>::toggle_admin(&collection, &sender, &account_id, false)
@@ -457,8 +566,13 @@
///
/// * `collection_id`: ID of the modified collection.
/// * `new_sponsor`: ID of the account of the sponsor-to-be.
- #[weight = <SelfWeightOf<T>>::set_collection_sponsor()]
- pub fn set_collection_sponsor(origin, collection_id: CollectionId, new_sponsor: T::AccountId) -> DispatchResult {
+ #[pallet::call_index(8)]
+ #[pallet::weight(<SelfWeightOf<T>>::set_collection_sponsor())]
+ pub fn set_collection_sponsor(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ new_sponsor: T::AccountId,
+ ) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
target_collection.set_sponsor(&sender, new_sponsor.clone())
@@ -477,8 +591,12 @@
/// # Arguments
///
/// * `collection_id`: ID of the collection with the pending sponsor.
- #[weight = <SelfWeightOf<T>>::confirm_sponsorship()]
- pub fn confirm_sponsorship(origin, collection_id: CollectionId) -> DispatchResult {
+ #[pallet::call_index(9)]
+ #[pallet::weight(<SelfWeightOf<T>>::confirm_sponsorship())]
+ pub fn confirm_sponsorship(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ ) -> DispatchResult {
let sender = ensure_signed(origin)?;
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
target_collection.confirm_sponsorship(&sender)
@@ -493,8 +611,12 @@
/// # Arguments
///
/// * `collection_id`: ID of the collection with the sponsor to remove.
- #[weight = <SelfWeightOf<T>>::remove_collection_sponsor()]
- pub fn remove_collection_sponsor(origin, collection_id: CollectionId) -> DispatchResult {
+ #[pallet::call_index(10)]
+ #[pallet::weight(<SelfWeightOf<T>>::remove_collection_sponsor())]
+ pub fn remove_collection_sponsor(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ ) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
target_collection.remove_sponsor(&sender)
@@ -518,12 +640,20 @@
/// * `collection_id`: ID of the collection to which an item would belong.
/// * `owner`: Address of the initial owner of the item.
/// * `data`: Token data describing the item to store on chain.
- #[weight = T::CommonWeightInfo::create_item(&data)]
- pub fn create_item(origin, collection_id: CollectionId, owner: T::CrossAccountId, data: CreateItemData) -> DispatchResultWithPostInfo {
+ #[pallet::call_index(11)]
+ #[pallet::weight(T::CommonWeightInfo::create_item(&data))]
+ pub fn create_item(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ owner: T::CrossAccountId,
+ data: CreateItemData,
+ ) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
- dispatch_tx::<T, _>(collection_id, |d| d.create_item(sender, owner, data, &budget))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.create_item(sender, owner, data, &budget)
+ })
}
/// Create multiple items within a collection.
@@ -544,13 +674,21 @@
/// * `collection_id`: ID of the collection to which the tokens would belong.
/// * `owner`: Address of the initial owner of the tokens.
/// * `items_data`: Vector of data describing each item to be created.
- #[weight = T::CommonWeightInfo::create_multiple_items(&items_data)]
- pub fn create_multiple_items(origin, collection_id: CollectionId, owner: T::CrossAccountId, items_data: Vec<CreateItemData>) -> DispatchResultWithPostInfo {
+ #[pallet::call_index(12)]
+ #[pallet::weight(T::CommonWeightInfo::create_multiple_items(&items_data))]
+ pub fn create_multiple_items(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ owner: T::CrossAccountId,
+ items_data: Vec<CreateItemData>,
+ ) -> DispatchResultWithPostInfo {
ensure!(!items_data.is_empty(), Error::<T>::EmptyArgument);
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
- dispatch_tx::<T, _>(collection_id, |d| d.create_multiple_items(sender, owner, items_data, &budget))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.create_multiple_items(sender, owner, items_data, &budget)
+ })
}
/// Add or change collection properties.
@@ -565,17 +703,20 @@
/// * `collection_id`: ID of the modified collection.
/// * `properties`: Vector of key-value pairs stored as the collection's metadata.
/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
- #[weight = T::CommonWeightInfo::set_collection_properties(properties.len() as u32)]
+ #[pallet::call_index(13)]
+ #[pallet::weight(T::CommonWeightInfo::set_collection_properties(properties.len() as u32))]
pub fn set_collection_properties(
- origin,
+ origin: OriginFor<T>,
collection_id: CollectionId,
- properties: Vec<Property>
+ properties: Vec<Property>,
) -> DispatchResultWithPostInfo {
ensure!(!properties.is_empty(), Error::<T>::EmptyArgument);
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
- dispatch_tx::<T, _>(collection_id, |d| d.set_collection_properties(sender, properties))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.set_collection_properties(sender, properties)
+ })
}
/// Delete specified collection properties.
@@ -590,9 +731,10 @@
/// * `collection_id`: ID of the modified collection.
/// * `property_keys`: Vector of keys of the properties to be deleted.
/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
- #[weight = T::CommonWeightInfo::delete_collection_properties(property_keys.len() as u32)]
+ #[pallet::call_index(14)]
+ #[pallet::weight(T::CommonWeightInfo::delete_collection_properties(property_keys.len() as u32))]
pub fn delete_collection_properties(
- origin,
+ origin: OriginFor<T>,
collection_id: CollectionId,
property_keys: Vec<PropertyKey>,
) -> DispatchResultWithPostInfo {
@@ -600,7 +742,9 @@
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
- dispatch_tx::<T, _>(collection_id, |d| d.delete_collection_properties(&sender, property_keys))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.delete_collection_properties(&sender, property_keys)
+ })
}
/// Add or change token properties according to collection's permissions.
@@ -621,19 +765,22 @@
/// * `token_id`: ID of the modified token.
/// * `properties`: Vector of key-value pairs stored as the token's metadata.
/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
- #[weight = T::CommonWeightInfo::set_token_properties(properties.len() as u32)]
+ #[pallet::call_index(15)]
+ #[pallet::weight(T::CommonWeightInfo::set_token_properties(properties.len() as u32))]
pub fn set_token_properties(
- origin,
+ origin: OriginFor<T>,
collection_id: CollectionId,
token_id: TokenId,
- properties: Vec<Property>
+ properties: Vec<Property>,
) -> DispatchResultWithPostInfo {
ensure!(!properties.is_empty(), Error::<T>::EmptyArgument);
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
- dispatch_tx::<T, _>(collection_id, |d| d.set_token_properties(sender, token_id, properties, &budget))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.set_token_properties(sender, token_id, properties, &budget)
+ })
}
/// Delete specified token properties. Currently properties only work with NFTs.
@@ -651,19 +798,22 @@
/// * `token_id`: ID of the modified token.
/// * `property_keys`: Vector of keys of the properties to be deleted.
/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
- #[weight = T::CommonWeightInfo::delete_token_properties(property_keys.len() as u32)]
+ #[pallet::call_index(16)]
+ #[pallet::weight(T::CommonWeightInfo::delete_token_properties(property_keys.len() as u32))]
pub fn delete_token_properties(
- origin,
+ origin: OriginFor<T>,
collection_id: CollectionId,
token_id: TokenId,
- property_keys: Vec<PropertyKey>
+ property_keys: Vec<PropertyKey>,
) -> DispatchResultWithPostInfo {
ensure!(!property_keys.is_empty(), Error::<T>::EmptyArgument);
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
- dispatch_tx::<T, _>(collection_id, |d| d.delete_token_properties(sender, token_id, property_keys, &budget))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.delete_token_properties(sender, token_id, property_keys, &budget)
+ })
}
/// Add or change token property permissions of a collection.
@@ -681,9 +831,10 @@
/// * `collection_id`: ID of the modified collection.
/// * `property_permissions`: Vector of permissions for property keys.
/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
- #[weight = T::CommonWeightInfo::set_token_property_permissions(property_permissions.len() as u32)]
+ #[pallet::call_index(17)]
+ #[pallet::weight(T::CommonWeightInfo::set_token_property_permissions(property_permissions.len() as u32))]
pub fn set_token_property_permissions(
- origin,
+ origin: OriginFor<T>,
collection_id: CollectionId,
property_permissions: Vec<PropertyKeyPermission>,
) -> DispatchResultWithPostInfo {
@@ -691,7 +842,9 @@
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
- dispatch_tx::<T, _>(collection_id, |d| d.set_token_property_permissions(&sender, property_permissions))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.set_token_property_permissions(&sender, property_permissions)
+ })
}
/// Create multiple items within a collection with explicitly specified initial parameters.
@@ -709,12 +862,19 @@
///
/// * `collection_id`: ID of the collection to which the tokens would belong.
/// * `data`: Explicit item creation data.
- #[weight = T::CommonWeightInfo::create_multiple_items_ex(&data)]
- pub fn create_multiple_items_ex(origin, collection_id: CollectionId, data: CreateItemExData<T::CrossAccountId>) -> DispatchResultWithPostInfo {
+ #[pallet::call_index(18)]
+ #[pallet::weight(T::CommonWeightInfo::create_multiple_items_ex(&data))]
+ pub fn create_multiple_items_ex(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ data: CreateItemExData<T::CrossAccountId>,
+ ) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
- dispatch_tx::<T, _>(collection_id, |d| d.create_multiple_items_ex(sender, data, &budget))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.create_multiple_items_ex(sender, data, &budget)
+ })
}
/// Completely allow or disallow transfers for a particular collection.
@@ -727,8 +887,13 @@
///
/// * `collection_id`: ID of the collection.
/// * `value`: New value of the flag, are transfers allowed?
- #[weight = <SelfWeightOf<T>>::set_transfers_enabled_flag()]
- pub fn set_transfers_enabled_flag(origin, collection_id: CollectionId, value: bool) -> DispatchResult {
+ #[pallet::call_index(19)]
+ #[pallet::weight(<SelfWeightOf<T>>::set_transfers_enabled_flag())]
+ pub fn set_transfers_enabled_flag(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ value: bool,
+ ) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
target_collection.check_is_internal()?;
@@ -756,11 +921,18 @@
/// * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
/// * Fungible Mode: The desired number of pieces to burn.
/// * Re-Fungible Mode: The desired number of pieces to burn.
- #[weight = T::CommonWeightInfo::burn_item()]
- pub fn burn_item(origin, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResultWithPostInfo {
+ #[pallet::call_index(20)]
+ #[pallet::weight(T::CommonWeightInfo::burn_item())]
+ pub fn burn_item(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ item_id: TokenId,
+ value: u128,
+ ) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
- let post_info = dispatch_tx::<T, _>(collection_id, |d| d.burn_item(sender, item_id, value))?;
+ let post_info =
+ dispatch_tx::<T, _>(collection_id, |d| d.burn_item(sender, item_id, value))?;
if value == 1 {
<NftTransferBasket<T>>::remove(collection_id, item_id);
<NftApproveBasket<T>>::remove(collection_id, item_id);
@@ -794,12 +966,21 @@
/// * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
/// * Fungible Mode: The desired number of pieces to burn.
/// * Re-Fungible Mode: The desired number of pieces to burn.
- #[weight = T::CommonWeightInfo::burn_from()]
- pub fn burn_from(origin, collection_id: CollectionId, from: T::CrossAccountId, item_id: TokenId, value: u128) -> DispatchResultWithPostInfo {
+ #[pallet::call_index(21)]
+ #[pallet::weight(T::CommonWeightInfo::burn_from())]
+ pub fn burn_from(
+ origin: OriginFor<T>,
+ collection_id: CollectionId,
+ from: T::CrossAccountId,
+ item_id: TokenId,
+ value: u128,
+ ) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
- dispatch_tx::<T, _>(collection_id, |d| d.burn_from(sender, from, item_id, value, &budget))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.burn_from(sender, from, item_id, value, &budget)
+ })
}
/// Change ownership of the token.
@@ -823,12 +1004,21 @@
/// * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
/// * Fungible Mode: The desired number of pieces to transfer.
/// * Re-Fungible Mode: The desired number of pieces to transfer.
- #[weight = T::CommonWeightInfo::transfer()]
- pub fn transfer(origin, recipient: T::CrossAccountId, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResultWithPostInfo {
+ #[pallet::call_index(22)]
+ #[pallet::weight(T::CommonWeightInfo::transfer())]
+ pub fn transfer(
+ origin: OriginFor<T>,
+ recipient: T::CrossAccountId,
+ collection_id: CollectionId,
+ item_id: TokenId,
+ value: u128,
+ ) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
- dispatch_tx::<T, _>(collection_id, |d| d.transfer(sender, recipient, item_id, value, &budget))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.transfer(sender, recipient, item_id, value, &budget)
+ })
}
/// Allow a non-permissioned address to transfer or burn an item.
@@ -846,11 +1036,20 @@
/// * `item_id`: ID of the item transactions on which are now approved.
/// * `amount`: Number of pieces of the item approved for a transaction (maximum of 1 for NFTs).
/// Set to 0 to revoke the approval.
- #[weight = T::CommonWeightInfo::approve()]
- pub fn approve(origin, spender: T::CrossAccountId, collection_id: CollectionId, item_id: TokenId, amount: u128) -> DispatchResultWithPostInfo {
+ #[pallet::call_index(23)]
+ #[pallet::weight(T::CommonWeightInfo::approve())]
+ pub fn approve(
+ origin: OriginFor<T>,
+ spender: T::CrossAccountId,
+ collection_id: CollectionId,
+ item_id: TokenId,
+ amount: u128,
+ ) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
- dispatch_tx::<T, _>(collection_id, |d| d.approve(sender, spender, item_id, amount))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.approve(sender, spender, item_id, amount)
+ })
}
/// Allow a non-permissioned address to transfer or burn an item from owner's eth mirror.
@@ -869,11 +1068,21 @@
/// * `item_id`: ID of the item transactions on which are now approved.
/// * `amount`: Number of pieces of the item approved for a transaction (maximum of 1 for NFTs).
/// Set to 0 to revoke the approval.
- #[weight = T::CommonWeightInfo::approve_from()]
- pub fn approve_from(origin, from:T::CrossAccountId, to: T::CrossAccountId, collection_id: CollectionId, item_id: TokenId, amount: u128) -> DispatchResultWithPostInfo {
+ #[pallet::call_index(24)]
+ #[pallet::weight(T::CommonWeightInfo::approve_from())]
+ pub fn approve_from(
+ origin: OriginFor<T>,
+ from: T::CrossAccountId,
+ to: T::CrossAccountId,
+ collection_id: CollectionId,
+ item_id: TokenId,
+ amount: u128,
+ ) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
- dispatch_tx::<T, _>(collection_id, |d| d.approve_from(sender, from, to, item_id, amount))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.approve_from(sender, from, to, item_id, amount)
+ })
}
/// Change ownership of an item on behalf of the owner as a non-owner account.
@@ -900,12 +1109,22 @@
/// * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
/// * Fungible Mode: The desired number of pieces to transfer.
/// * Re-Fungible Mode: The desired number of pieces to transfer.
- #[weight = T::CommonWeightInfo::transfer_from()]
- pub fn transfer_from(origin, from: T::CrossAccountId, recipient: T::CrossAccountId, collection_id: CollectionId, item_id: TokenId, value: u128 ) -> DispatchResultWithPostInfo {
+ #[pallet::call_index(25)]
+ #[pallet::weight(T::CommonWeightInfo::transfer_from())]
+ pub fn transfer_from(
+ origin: OriginFor<T>,
+ from: T::CrossAccountId,
+ recipient: T::CrossAccountId,
+ collection_id: CollectionId,
+ item_id: TokenId,
+ value: u128,
+ ) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
- dispatch_tx::<T, _>(collection_id, |d| d.transfer_from(sender, from, recipient, item_id, value, &budget))
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.transfer_from(sender, from, recipient, item_id, value, &budget)
+ })
}
/// Set specific limits of a collection. Empty, or None fields mean chain default.
@@ -920,9 +1139,10 @@
/// * `collection_id`: ID of the modified collection.
/// * `new_limit`: New limits of the collection. Fields that are not set (None)
/// will not overwrite the old ones.
- #[weight = <SelfWeightOf<T>>::set_collection_limits()]
+ #[pallet::call_index(26)]
+ #[pallet::weight(<SelfWeightOf<T>>::set_collection_limits())]
pub fn set_collection_limits(
- origin,
+ origin: OriginFor<T>,
collection_id: CollectionId,
new_limit: CollectionLimits,
) -> DispatchResult {
@@ -943,19 +1163,16 @@
/// * `collection_id`: ID of the modified collection.
/// * `new_permission`: New permissions of the collection. Fields that are not set (None)
/// will not overwrite the old ones.
- #[weight = <SelfWeightOf<T>>::set_collection_limits()]
+ #[pallet::call_index(27)]
+ #[pallet::weight(<SelfWeightOf<T>>::set_collection_limits())]
pub fn set_collection_permissions(
- origin,
+ origin: OriginFor<T>,
collection_id: CollectionId,
new_permission: CollectionPermissions,
) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
- <PalletCommon<T>>::update_permissions(
- &sender,
- &mut target_collection,
- new_permission
- )
+ <PalletCommon<T>>::update_permissions(&sender, &mut target_collection, new_permission)
}
/// Re-partition a refungible token, while owning all of its parts/pieces.
@@ -969,9 +1186,10 @@
/// * `collection_id`: ID of the collection the RFT belongs to.
/// * `token_id`: ID of the RFT.
/// * `amount`: New number of parts/pieces into which the token shall be partitioned.
- #[weight = T::RefungibleExtensionsWeightInfo::repartition()]
+ #[pallet::call_index(28)]
+ #[pallet::weight(T::RefungibleExtensionsWeightInfo::repartition())]
pub fn repartition(
- origin,
+ origin: OriginFor<T>,
collection_id: CollectionId,
token_id: TokenId,
amount: u128,
@@ -995,9 +1213,10 @@
/// * `owner`: Token owner
/// * `operator`: Operator
/// * `approve`: Should operator status be granted or revoked?
- #[weight = T::CommonWeightInfo::set_allowance_for_all()]
+ #[pallet::call_index(29)]
+ #[pallet::weight(T::CommonWeightInfo::set_allowance_for_all())]
pub fn set_allowance_for_all(
- origin,
+ origin: OriginFor<T>,
collection_id: CollectionId,
operator: T::CrossAccountId,
approve: bool,
@@ -1013,9 +1232,10 @@
/// # Arguments
///
/// * `collection_id`: ID of the collection to repair.
- #[weight = <SelfWeightOf<T>>::force_repair_collection()]
+ #[pallet::call_index(30)]
+ #[pallet::weight(<SelfWeightOf<T>>::force_repair_collection())]
pub fn force_repair_collection(
- origin,
+ origin: OriginFor<T>,
collection_id: CollectionId,
) -> DispatchResult {
ensure_root(origin)?;
@@ -1028,69 +1248,71 @@
///
/// * `collection_id`: ID of the collection the item belongs to.
/// * `item_id`: ID of the item.
- #[weight = T::CommonWeightInfo::force_repair_item()]
+ #[pallet::call_index(31)]
+ #[pallet::weight(T::CommonWeightInfo::force_repair_item())]
pub fn force_repair_item(
- origin,
+ origin: OriginFor<T>,
collection_id: CollectionId,
item_id: TokenId,
) -> DispatchResultWithPostInfo {
ensure_root(origin)?;
- dispatch_tx::<T, _>(collection_id, |d| {
- d.repair_item(item_id)
- })
+ dispatch_tx::<T, _>(collection_id, |d| d.repair_item(item_id))
}
}
-}
-impl<T: Config> Pallet<T> {
- /// Force set `sponsor` for `collection`.
- ///
- /// Differs from [`set_collection_sponsor`][`Pallet::set_collection_sponsor`] in that confirmation
- /// from the `sponsor` is not required.
- ///
- /// # Arguments
- ///
- /// * `sponsor`: ID of the account of the sponsor-to-be.
- /// * `collection_id`: ID of the modified collection.
- pub fn force_set_sponsor(sponsor: T::AccountId, collection_id: CollectionId) -> DispatchResult {
- let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
- target_collection.force_set_sponsor(sponsor.clone())
- }
+ impl<T: Config> Pallet<T> {
+ /// Force set `sponsor` for `collection`.
+ ///
+ /// Differs from [`set_collection_sponsor`][`Pallet::set_collection_sponsor`] in that confirmation
+ /// from the `sponsor` is not required.
+ ///
+ /// # Arguments
+ ///
+ /// * `sponsor`: ID of the account of the sponsor-to-be.
+ /// * `collection_id`: ID of the modified collection.
+ pub fn force_set_sponsor(
+ sponsor: T::AccountId,
+ collection_id: CollectionId,
+ ) -> DispatchResult {
+ let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
+ target_collection.force_set_sponsor(sponsor.clone())
+ }
- /// Force remove `sponsor` for `collection`.
- ///
- /// Differs from `remove_sponsor` in that
- /// it doesn't require consent from the `owner` of the collection.
- ///
- /// # Arguments
- ///
- /// * `collection_id`: ID of the modified collection.
- pub fn force_remove_collection_sponsor(collection_id: CollectionId) -> DispatchResult {
- let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
- target_collection.force_remove_sponsor()
- }
+ /// Force remove `sponsor` for `collection`.
+ ///
+ /// Differs from `remove_sponsor` in that
+ /// it doesn't require consent from the `owner` of the collection.
+ ///
+ /// # Arguments
+ ///
+ /// * `collection_id`: ID of the modified collection.
+ pub fn force_remove_collection_sponsor(collection_id: CollectionId) -> DispatchResult {
+ let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
+ target_collection.force_remove_sponsor()
+ }
- #[inline(always)]
- pub(crate) fn destroy_collection_internal(
- sender: T::CrossAccountId,
- collection_id: CollectionId,
- ) -> DispatchResult {
- let collection = <CollectionHandle<T>>::try_get(collection_id)?;
- collection.check_is_internal()?;
+ #[inline(always)]
+ pub(crate) fn destroy_collection_internal(
+ sender: T::CrossAccountId,
+ collection_id: CollectionId,
+ ) -> DispatchResult {
+ let collection = <CollectionHandle<T>>::try_get(collection_id)?;
+ collection.check_is_internal()?;
- T::CollectionDispatch::destroy(sender, collection)?;
+ T::CollectionDispatch::destroy(sender, collection)?;
- // TODO: basket cleanup should be moved elsewhere
- // Maybe runtime dispatch.rs should perform it?
+ // TODO: basket cleanup should be moved elsewhere
+ // Maybe runtime dispatch.rs should perform it?
- let _ = <NftTransferBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
- let _ = <FungibleTransferBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
- let _ = <ReFungibleTransferBasket<T>>::clear_prefix((collection_id,), u32::MAX, None);
+ let _ = <NftTransferBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
+ let _ = <FungibleTransferBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
+ let _ = <ReFungibleTransferBasket<T>>::clear_prefix((collection_id,), u32::MAX, None);
- let _ = <NftApproveBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
- let _ = <FungibleApproveBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
- let _ = <RefungibleApproveBasket<T>>::clear_prefix((collection_id,), u32::MAX, None);
+ let _ = <NftApproveBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
+ let _ = <FungibleApproveBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
+ let _ = <RefungibleApproveBasket<T>>::clear_prefix((collection_id,), u32::MAX, None);
- Ok(())
+ Ok(())
+ }
}
}
primitives/common/src/constants.rsdiffbeforeafterboth--- a/primitives/common/src/constants.rs
+++ b/primitives/common/src/constants.rs
@@ -64,9 +64,10 @@
/// by Operational extrinsics.
pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75);
/// We allow for 2 seconds of compute with a 6 second average block time.
-pub const MAXIMUM_BLOCK_WEIGHT: Weight =
- Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND.saturating_div(2))
- .set_proof_size(MAX_POV_SIZE as u64);
+pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts(
+ WEIGHT_REF_TIME_PER_SECOND.saturating_div(2),
+ MAX_POV_SIZE as u64,
+);
parameter_types! {
pub const TransactionByteFee: Balance = 501 * MICROUNIQUE / 2;
runtime/common/config/ethereum.rsdiffbeforeafterboth--- a/runtime/common/config/ethereum.rs
+++ b/runtime/common/config/ethereum.rs
@@ -28,7 +28,7 @@
pub const GasPerSecond: u64 = WritesPerSecond::get() * 20000;
pub const WeightTimePerGas: u64 = WEIGHT_REF_TIME_PER_SECOND / GasPerSecond::get();
- pub const WeightPerGas: Weight = Weight::from_ref_time(WeightTimePerGas::get());
+ pub const WeightPerGas: Weight = Weight::from_parts(WeightTimePerGas::get(), 0);
}
/// Limiting EVM execution to 50% of block for substrate users and management tasks
@@ -56,8 +56,8 @@
impl pallet_evm::Config for Runtime {
type CrossAccountId = CrossAccountId;
- type EvmAddressMapping = pallet_evm::HashedAddressMapping<Self::Hashing>;
- type EvmBackwardsAddressMapping = fp_evm_mapping::MapBackwardsAddressTruncated;
+ type AddressMapping = HashedAddressMapping<Self::Hashing>;
+ type BackwardsAddressMapping = HashedAddressMapping<Self::Hashing>;
type BlockGasLimit = BlockGasLimit;
type FeeCalculator = pallet_configuration::FeeCalculator<Self>;
type GasWeightMapping = pallet_evm::FixedGasWeightMapping<Self>;
@@ -65,7 +65,6 @@
type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping<Self>;
type CallOrigin = EnsureAddressTruncated<Self>;
type WithdrawOrigin = EnsureAddressTruncated<Self>;
- type AddressMapping = HashedAddressMapping<Self::Hashing>;
type PrecompilesType = UniquePrecompiles<Self>;
type PrecompilesValue = PrecompilesValue;
type Currency = Balances;
runtime/common/mod.rsdiffbeforeafterboth--- a/runtime/common/mod.rs
+++ b/runtime/common/mod.rs
@@ -27,6 +27,7 @@
pub mod scheduler;
pub mod sponsoring;
+#[allow(missing_docs)]
pub mod weights;
#[cfg(test)]
@@ -152,7 +153,7 @@
}
#[cfg(feature = "runtime-benchmarks")]
fn set_block_number(block: Self::BlockNumber) {
- cumulus_pallet_parachain_system::RelaychainBlockNumberProvider::<T>::set_block_number(block)
+ cumulus_pallet_parachain_system::RelaychainDataProvider::<T>::set_block_number(block)
}
}
runtime/common/sponsoring.rsdiffbeforeafterboth--- a/runtime/common/sponsoring.rs
+++ b/runtime/common/sponsoring.rs
@@ -18,7 +18,6 @@
use up_sponsorship::SponsorshipHandler;
use frame_support::{
traits::{IsSubType},
- storage::{StorageMap, StorageDoubleMap, StorageNMap},
};
use up_data_structs::{
CollectionId, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, NFT_SPONSOR_TRANSFER_TIMEOUT,
runtime/opal/Cargo.tomldiffbeforeafterboth--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -76,7 +76,6 @@
"sp-consensus-aura/std",
'app-promotion-rpc/std',
'evm-coder/std',
- 'fp-evm-mapping/std',
'fp-rpc/std',
'fp-self-contained/std',
'pallet-app-promotion/std',
@@ -254,7 +253,6 @@
derivative = { workspace = true }
evm-coder = { workspace = true }
fp-evm = { workspace = true }
-fp-evm-mapping = { workspace = true }
fp-rpc = { workspace = true }
fp-self-contained = { workspace = true }
log = { workspace = true }
runtime/opal/src/lib.rsdiffbeforeafterboth--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -51,7 +51,7 @@
spec_name: create_runtime_str!(RUNTIME_NAME),
impl_name: create_runtime_str!(RUNTIME_NAME),
authoring_version: 1,
- spec_version: 939054,
+ spec_version: 941054,
impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 3,
runtime/quartz/Cargo.tomldiffbeforeafterboth--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -77,7 +77,6 @@
"sp-consensus-aura/std",
'app-promotion-rpc/std',
'evm-coder/std',
- 'fp-evm-mapping/std',
'fp-rpc/std',
'fp-self-contained/std',
'pallet-app-promotion/std',
@@ -245,7 +244,6 @@
app-promotion-rpc = { workspace = true }
derivative = { workspace = true }
fp-evm = { workspace = true }
-fp-evm-mapping = { workspace = true }
log = { workspace = true }
pallet-app-promotion = { workspace = true }
pallet-collator-selection = { workspace = true }
runtime/quartz/src/lib.rsdiffbeforeafterboth--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -54,7 +54,7 @@
spec_name: create_runtime_str!(RUNTIME_NAME),
impl_name: create_runtime_str!(RUNTIME_NAME),
authoring_version: 1,
- spec_version: 939054,
+ spec_version: 941054,
impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 3,
runtime/tests/Cargo.tomldiffbeforeafterboth--- a/runtime/tests/Cargo.toml
+++ b/runtime/tests/Cargo.toml
@@ -3,6 +3,20 @@
name = "tests"
version = "0.1.1"
+[package.metadata.deppatcher.originals.dependencies]
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+up-sponsorship = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.39" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+pallet-evm = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+
[features]
default = ['refungible']
@@ -11,23 +25,21 @@
[dependencies]
up-data-structs = { default-features = false, path = "../../primitives/data-structs" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
-fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
+frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
-frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
+pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.41" }
-pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
-pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.41" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.39" }
-
pallet-common.path = "../../pallets/common"
pallet-fungible.path = "../../pallets/fungible"
pallet-nonfungible.path = "../../pallets/nonfungible"
@@ -41,7 +53,7 @@
scale-info = "*"
evm-coder = { workspace = true }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.39" }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.41" }
xcm = { workspace = true }
pallet-xcm = { workspace = true }
pallet-configuration = { workspace = true }
runtime/tests/src/lib.rsdiffbeforeafterboth--- a/runtime/tests/src/lib.rs
+++ b/runtime/tests/src/lib.rs
@@ -31,9 +31,9 @@
use frame_system as system;
use pallet_evm::{
AddressMapping, account::CrossAccountId, EnsureAddressNever, SubstrateBlockHashMapping,
+ BackwardsAddressMapping,
};
use pallet_ethereum::PostLogContent;
-use fp_evm_mapping::EvmBackwardsAddressMapping;
use parity_scale_codec::{Encode, Decode, MaxEncodedLen};
use scale_info::TypeInfo;
@@ -162,7 +162,7 @@
}
pub struct TestEvmBackwardsAddressMapping;
-impl EvmBackwardsAddressMapping<u64> for TestEvmBackwardsAddressMapping {
+impl BackwardsAddressMapping<u64> for TestEvmBackwardsAddressMapping {
fn from_account_id(_account_id: u64) -> sp_core::H160 {
unimplemented!()
}
@@ -216,15 +216,14 @@
impl pallet_evm::Config for Test {
type CrossAccountId = TestCrossAccountId;
- type EvmAddressMapping = TestEvmAddressMapping;
- type EvmBackwardsAddressMapping = TestEvmBackwardsAddressMapping;
+ type AddressMapping = TestEvmAddressMapping;
+ type BackwardsAddressMapping = TestEvmBackwardsAddressMapping;
type RuntimeEvent = RuntimeEvent;
type FeeCalculator = ();
type GasWeightMapping = pallet_evm::FixedGasWeightMapping<Self>;
type WeightPerGas = WeightPerGas;
type CallOrigin = EnsureAddressNever<Self>;
type WithdrawOrigin = EnsureAddressNever<Self>;
- type AddressMapping = TestEvmAddressMapping;
type Currency = Balances;
type PrecompilesType = ();
type PrecompilesValue = ();
runtime/unique/Cargo.tomldiffbeforeafterboth--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -75,7 +75,6 @@
"sp-consensus-aura/std",
'app-promotion-rpc/std',
'evm-coder/std',
- 'fp-evm-mapping/std',
'fp-rpc/std',
'fp-self-contained/std',
'pallet-app-promotion/std',
@@ -263,7 +262,6 @@
# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
evm-coder = { workspace = true }
fp-evm = { workspace = true }
-fp-evm-mapping = { workspace = true }
fp-rpc = { workspace = true }
fp-self-contained = { workspace = true }
num_enum = { workspace = true }
runtime/unique/src/lib.rsdiffbeforeafterboth--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/src/lib.rs
@@ -51,7 +51,7 @@
spec_name: create_runtime_str!(RUNTIME_NAME),
impl_name: create_runtime_str!(RUNTIME_NAME),
authoring_version: 1,
- spec_version: 939054,
+ spec_version: 941054,
impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 3,
test-pallets/utils/src/lib.rsdiffbeforeafterboth--- a/test-pallets/utils/src/lib.rs
+++ b/test-pallets/utils/src/lib.rs
@@ -56,7 +56,6 @@
}
#[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
pub struct Pallet<T>(_);
#[pallet::storage]