difftreelog
build upgrade to polkadot v0.9.39
in: master
48 files changed
.maintain/external-weight-template.hbsdiffbeforeafterboth--- /dev/null
+++ b/.maintain/external-weight-template.hbs
@@ -0,0 +1,70 @@
+// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs
+
+//! 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}}`
+//! WORST CASE MAP SIZE: `{{cmd.worst_case_map_values}}`
+//! EXECUTION: {{cmd.execution}}, WASM-EXECUTION: {{cmd.wasm_execution}}, CHAIN: {{cmd.chain}}, DB CACHE: {{cmd.db_cache}}
+
+// Executed Command:
+{{#each args as |arg|}}
+// {{arg}}
+{{/each}}
+
+#![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;
+
+/// Weights for {{pallet}} using the Substrate node and recommended hardware.
+pub struct SubstrateWeight<T>(PhantomData<T>);
+{{#if (eq pallet "frame_system")}}
+impl<T: crate::Config> {{pallet}}::WeightInfo for SubstrateWeight<T> {
+{{else}}
+impl<T: frame_system::Config> {{pallet}}::WeightInfo for SubstrateWeight<T> {
+{{/if}}
+ {{#each benchmarks as |benchmark|}}
+ {{#each benchmark.comments as |comment|}}
+ /// {{comment}}
+ {{/each}}
+ {{#each benchmark.component_ranges as |range|}}
+ /// The range of component `{{range.name}}` is `[{{range.min}}, {{range.max}}]`.
+ {{/each}}
+ fn {{benchmark.name~}}
+ (
+ {{~#each benchmark.components as |c| ~}}
+ {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}}
+ ) -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `{{benchmark.base_recorded_proof_size}}{{#each benchmark.component_recorded_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}`
+ // Estimated: `{{benchmark.base_calculated_proof_size}}{{#each benchmark.component_calculated_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}`
+ // Minimum execution time: {{underscore benchmark.min_execution_time}}_000 picoseconds.
+ Weight::from_parts({{underscore benchmark.base_weight}}, {{benchmark.base_calculated_proof_size}})
+ {{#each benchmark.component_weight as |cw|}}
+ // Standard Error: {{underscore cw.error}}
+ .saturating_add(Weight::from_parts({{underscore cw.slope}}, 0).saturating_mul({{cw.name}}.into()))
+ {{/each}}
+ {{#if (ne benchmark.base_reads "0")}}
+ .saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}}_u64))
+ {{/if}}
+ {{#each benchmark.component_reads as |cr|}}
+ .saturating_add(T::DbWeight::get().reads(({{cr.slope}}_u64).saturating_mul({{cr.name}}.into())))
+ {{/each}}
+ {{#if (ne benchmark.base_writes "0")}}
+ .saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}}_u64))
+ {{/if}}
+ {{#each benchmark.component_writes as |cw|}}
+ .saturating_add(T::DbWeight::get().writes(({{cw.slope}}_u64).saturating_mul({{cw.name}}.into())))
+ {{/each}}
+ {{#each benchmark.component_calculated_proof_size as |cp|}}
+ .saturating_add(Weight::from_parts(0, {{cp.slope}}).saturating_mul({{cp.name}}.into()))
+ {{/each}}
+ }
+ {{/each}}
+}
+
.maintain/frame-weight-template.hbsdiffbeforeafterboth--- a/.maintain/frame-weight-template.hbs
+++ b/.maintain/frame-weight-template.hbs
@@ -4,6 +4,7 @@
//!
//! 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}}`
+//! WORST CASE MAP SIZE: `{{cmd.worst_case_map_values}}`
//! EXECUTION: {{cmd.execution}}, WASM-EXECUTION: {{cmd.wasm_execution}}, CHAIN: {{cmd.chain}}, DB CACHE: {{cmd.db_cache}}
// Executed Command:
@@ -40,29 +41,39 @@
{{/if}}
{{#each benchmarks as |benchmark|}}
{{#each benchmark.comments as |comment|}}
- // {{comment}}
+ /// {{comment}}
{{/each}}
+ {{#each benchmark.component_ranges as |range|}}
+ /// The range of component `{{range.name}}` is `[{{range.min}}, {{range.max}}]`.
+ {{/each}}
fn {{benchmark.name~}}
(
{{~#each benchmark.components as |c| ~}}
{{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}}
) -> Weight {
- Weight::from_ref_time({{underscore benchmark.base_weight}} as u64)
+ // Proof Size summary in bytes:
+ // Measured: `{{benchmark.base_recorded_proof_size}}{{#each benchmark.component_recorded_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}`
+ // Estimated: `{{benchmark.base_calculated_proof_size}}{{#each benchmark.component_calculated_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}`
+ // Minimum execution time: {{underscore benchmark.min_execution_time}}_000 picoseconds.
+ Weight::from_parts({{underscore benchmark.base_weight}}, {{benchmark.base_calculated_proof_size}})
{{#each benchmark.component_weight as |cw|}}
// Standard Error: {{underscore cw.error}}
- .saturating_add(Weight::from_ref_time({{underscore cw.slope}} as u64).saturating_mul({{cw.name}} as u64))
+ .saturating_add(Weight::from_parts({{underscore cw.slope}}, 0).saturating_mul({{cw.name}}.into()))
{{/each}}
{{#if (ne benchmark.base_reads "0")}}
- .saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}} as u64))
+ .saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}}_u64))
{{/if}}
{{#each benchmark.component_reads as |cr|}}
- .saturating_add(T::DbWeight::get().reads(({{cr.slope}} as u64).saturating_mul({{cr.name}} as u64)))
+ .saturating_add(T::DbWeight::get().reads(({{cr.slope}}_u64).saturating_mul({{cr.name}}.into())))
{{/each}}
{{#if (ne benchmark.base_writes "0")}}
- .saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}} as u64))
+ .saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}}_u64))
{{/if}}
{{#each benchmark.component_writes as |cw|}}
- .saturating_add(T::DbWeight::get().writes(({{cw.slope}} as u64).saturating_mul({{cw.name}} as u64)))
+ .saturating_add(T::DbWeight::get().writes(({{cw.slope}}_u64).saturating_mul({{cw.name}}.into())))
+ {{/each}}
+ {{#each benchmark.component_calculated_proof_size as |cp|}}
+ .saturating_add(Weight::from_parts(0, {{cp.slope}}).saturating_mul({{cp.name}}.into()))
{{/each}}
}
{{/each}}
@@ -72,30 +83,41 @@
impl WeightInfo for () {
{{#each benchmarks as |benchmark|}}
{{#each benchmark.comments as |comment|}}
- // {{comment}}
+ /// {{comment}}
{{/each}}
+ {{#each benchmark.component_ranges as |range|}}
+ /// The range of component `{{range.name}}` is `[{{range.min}}, {{range.max}}]`.
+ {{/each}}
fn {{benchmark.name~}}
(
{{~#each benchmark.components as |c| ~}}
{{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}}
) -> Weight {
- Weight::from_ref_time({{underscore benchmark.base_weight}} as u64)
+ // Proof Size summary in bytes:
+ // Measured: `{{benchmark.base_recorded_proof_size}}{{#each benchmark.component_recorded_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}`
+ // Estimated: `{{benchmark.base_calculated_proof_size}}{{#each benchmark.component_calculated_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}`
+ // Minimum execution time: {{underscore benchmark.min_execution_time}}_000 picoseconds.
+ Weight::from_parts({{underscore benchmark.base_weight}}, {{benchmark.base_calculated_proof_size}})
{{#each benchmark.component_weight as |cw|}}
// Standard Error: {{underscore cw.error}}
- .saturating_add(Weight::from_ref_time({{underscore cw.slope}} as u64).saturating_mul({{cw.name}} as u64))
+ .saturating_add(Weight::from_parts({{underscore cw.slope}}, 0).saturating_mul({{cw.name}}.into()))
{{/each}}
{{#if (ne benchmark.base_reads "0")}}
- .saturating_add(RocksDbWeight::get().reads({{benchmark.base_reads}} as u64))
+ .saturating_add(RocksDbWeight::get().reads({{benchmark.base_reads}}_u64))
{{/if}}
{{#each benchmark.component_reads as |cr|}}
- .saturating_add(RocksDbWeight::get().reads(({{cr.slope}} as u64).saturating_mul({{cr.name}} as u64)))
+ .saturating_add(RocksDbWeight::get().reads(({{cr.slope}}_u64).saturating_mul({{cr.name}}.into())))
{{/each}}
{{#if (ne benchmark.base_writes "0")}}
- .saturating_add(RocksDbWeight::get().writes({{benchmark.base_writes}} as u64))
+ .saturating_add(RocksDbWeight::get().writes({{benchmark.base_writes}}_u64))
{{/if}}
{{#each benchmark.component_writes as |cw|}}
- .saturating_add(RocksDbWeight::get().writes(({{cw.slope}} as u64).saturating_mul({{cw.name}} as u64)))
+ .saturating_add(RocksDbWeight::get().writes(({{cw.slope}}_u64).saturating_mul({{cw.name}}.into())))
+ {{/each}}
+ {{#each benchmark.component_calculated_proof_size as |cp|}}
+ .saturating_add(Weight::from_parts(0, {{cp.slope}}).saturating_mul({{cp.name}}.into()))
{{/each}}
}
{{/each}}
}
+
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -27,7 +27,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
dependencies = [
- "gimli 0.27.1",
+ "gimli 0.27.2",
]
[[package]]
@@ -56,6 +56,16 @@
]
[[package]]
+name = "aead"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c192eb8f11fc081b0fe4259ba5af04217d4e0faddd02417310a927911abd7c8"
+dependencies = [
+ "crypto-common",
+ "generic-array 0.14.6",
+]
+
+[[package]]
name = "aes"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -79,17 +89,14 @@
]
[[package]]
-name = "aes-gcm"
-version = "0.8.0"
+name = "aes"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da"
+checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241"
dependencies = [
- "aead 0.3.2",
- "aes 0.6.0",
- "cipher 0.2.5",
- "ctr 0.6.0",
- "ghash 0.3.1",
- "subtle",
+ "cfg-if",
+ "cipher 0.4.4",
+ "cpufeatures",
]
[[package]]
@@ -107,6 +114,20 @@
]
[[package]]
+name = "aes-gcm"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82e1366e0c69c9f927b1fa5ce2c7bf9eafc8f9268c0b9800729e8b267612447c"
+dependencies = [
+ "aead 0.5.1",
+ "aes 0.8.2",
+ "cipher 0.4.4",
+ "ctr 0.9.2",
+ "ghash 0.5.0",
+ "subtle",
+]
+
+[[package]]
name = "aes-soft"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -138,6 +159,18 @@
]
[[package]]
+name = "ahash"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+dependencies = [
+ "cfg-if",
+ "getrandom 0.2.8",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
name = "aho-corasick"
version = "0.7.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -245,14 +278,14 @@
"num-traits",
"rusticata-macros",
"thiserror",
- "time 0.3.17",
+ "time 0.3.20",
]
[[package]]
name = "asn1-rs"
-version = "0.5.1"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4"
+checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0"
dependencies = [
"asn1-rs-derive 0.4.0",
"asn1-rs-impl",
@@ -261,7 +294,7 @@
"num-traits",
"rusticata-macros",
"thiserror",
- "time 0.3.17",
+ "time 0.3.20",
]
[[package]]
@@ -333,19 +366,18 @@
[[package]]
name = "async-lock"
-version = "2.6.0"
+version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685"
+checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
dependencies = [
"event-listener",
- "futures-lite",
]
[[package]]
name = "async-trait"
-version = "0.1.64"
+version = "0.1.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2"
+checksum = "b84f9ebcc6c1f5b8cb160f6990096a5c127f423fcb6e1ccc46c370cbdfb75dfc"
dependencies = [
"proc-macro2",
"quote",
@@ -447,9 +479,9 @@
[[package]]
name = "base64ct"
-version = "1.5.3"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf"
+checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
[[package]]
name = "beef"
@@ -463,7 +495,7 @@
[[package]]
name = "beefy-gadget"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"array-bytes 4.2.0",
"async-trait",
@@ -497,7 +529,7 @@
[[package]]
name = "beefy-gadget-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"beefy-gadget",
"futures",
@@ -514,13 +546,12 @@
]
[[package]]
-name = "beefy-merkle-tree"
+name = "binary-merkle-tree"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
- "sp-api",
- "sp-beefy",
- "sp-runtime",
+ "hash-db",
+ "log",
]
[[package]]
@@ -534,9 +565,9 @@
[[package]]
name = "bindgen"
-version = "0.60.1"
+version = "0.64.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6"
+checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4"
dependencies = [
"bitflags",
"cexpr",
@@ -549,6 +580,7 @@
"regex",
"rustc-hash",
"shlex",
+ "syn",
]
[[package]]
@@ -580,24 +612,24 @@
[[package]]
name = "blake2b_simd"
-version = "1.0.0"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127"
+checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc"
dependencies = [
"arrayref",
"arrayvec 0.7.2",
- "constant_time_eq 0.1.5",
+ "constant_time_eq",
]
[[package]]
name = "blake2s_simd"
-version = "1.0.0"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4"
+checksum = "6637f448b9e61dfadbdcbae9a885fadee1f3eaffb1f8d3c1965d3ade8bdfd44f"
dependencies = [
"arrayref",
"arrayvec 0.7.2",
- "constant_time_eq 0.1.5",
+ "constant_time_eq",
]
[[package]]
@@ -610,7 +642,7 @@
"arrayvec 0.7.2",
"cc",
"cfg-if",
- "constant_time_eq 0.2.4",
+ "constant_time_eq",
"digest 0.10.6",
]
@@ -637,9 +669,9 @@
[[package]]
name = "block-buffer"
-version = "0.10.3"
+version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
dependencies = [
"generic-array 0.14.6",
]
@@ -690,10 +722,22 @@
]
[[package]]
+name = "bounded-collections"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a071c348a5ef6da1d3a87166b408170b46002382b1dda83992b5c2208cefb370"
+dependencies = [
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+]
+
+[[package]]
name = "bounded-vec"
-version = "0.6.0"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3372be4090bf9d4da36bd8ba7ce6ca1669503d0cf6e667236c6df7f053153eb6"
+checksum = "68534a48cbf63a4b1323c433cf21238c9ec23711e0df13b08c33e5c2082663ce"
dependencies = [
"thiserror",
]
@@ -706,9 +750,9 @@
[[package]]
name = "bstr"
-version = "1.2.0"
+version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832"
+checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1"
dependencies = [
"memchr",
"serde",
@@ -742,6 +786,12 @@
checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
[[package]]
+name = "bytemuck"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
+
+[[package]]
name = "byteorder"
version = "1.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -766,9 +816,9 @@
[[package]]
name = "camino"
-version = "1.1.2"
+version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055"
+checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2"
dependencies = [
"serde",
]
@@ -784,15 +834,16 @@
[[package]]
name = "cargo_metadata"
-version = "0.14.2"
+version = "0.15.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa"
+checksum = "08a1ec454bc3eead8719cb56e15dbbfecdbc14e4b3a3ae4936cc6e31f5fc0d07"
dependencies = [
"camino",
"cargo-platform",
"semver 1.0.16",
"serde",
"serde_json",
+ "thiserror",
]
[[package]]
@@ -893,7 +944,7 @@
dependencies = [
"core2",
"multibase",
- "multihash",
+ "multihash 0.16.3",
"serde",
"unsigned-varint",
]
@@ -917,6 +968,16 @@
]
[[package]]
+name = "cipher"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
+dependencies = [
+ "crypto-common",
+ "inout",
+]
+
+[[package]]
name = "ckb-merkle-mountain-range"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -927,9 +988,9 @@
[[package]]
name = "clang-sys"
-version = "1.4.0"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3"
+checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a"
dependencies = [
"glob",
"libc",
@@ -938,9 +999,9 @@
[[package]]
name = "clap"
-version = "4.1.4"
+version = "4.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76"
+checksum = "c3d7ae14b20b94cb02149ed21a86c423859cbe18dc7ed69845cace50e52b40a5"
dependencies = [
"bitflags",
"clap_derive",
@@ -953,9 +1014,9 @@
[[package]]
name = "clap_derive"
-version = "4.1.0"
+version = "4.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8"
+checksum = "44bec8e5c9d09e439c4335b1af0abaab56dcf3b94999a936e1bb47b9134288f0"
dependencies = [
"heck",
"proc-macro-error",
@@ -966,18 +1027,18 @@
[[package]]
name = "clap_lex"
-version = "0.3.1"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade"
+checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09"
dependencies = [
"os_str_bytes",
]
[[package]]
name = "coarsetime"
-version = "0.1.22"
+version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "454038500439e141804c655b4cd1bc6a70bcb95cd2bc9463af5661b6956f0e46"
+checksum = "a90d114103adbc625300f346d4d09dfb4ab1c4a8df6868435dd903392ecf4354"
dependencies = [
"libc",
"once_cell",
@@ -1017,15 +1078,9 @@
[[package]]
name = "const-oid"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b"
-
-[[package]]
-name = "constant_time_eq"
-version = "0.1.5"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913"
[[package]]
name = "constant_time_eq"
@@ -1091,27 +1146,21 @@
dependencies = [
"libc",
]
-
-[[package]]
-name = "cpuid-bool"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba"
[[package]]
name = "cranelift-bforest"
-version = "0.88.2"
+version = "0.93.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52056f6d0584484b57fa6c1a65c1fcb15f3780d8b6a758426d9e3084169b2ddd"
+checksum = "a7379abaacee0f14abf3204a7606118f0465785252169d186337bcb75030815a"
dependencies = [
"cranelift-entity",
]
[[package]]
name = "cranelift-codegen"
-version = "0.88.2"
+version = "0.93.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fed94c8770dc25d01154c3ffa64ed0b3ba9d583736f305fed7beebe5d9cf74"
+checksum = "9489fa336927df749631f1008007ced2871068544f40a202ce6d93fbf2366a7b"
dependencies = [
"arrayvec 0.7.2",
"bumpalo",
@@ -1121,6 +1170,7 @@
"cranelift-entity",
"cranelift-isle",
"gimli 0.26.2",
+ "hashbrown 0.12.3",
"log",
"regalloc2",
"smallvec",
@@ -1129,33 +1179,33 @@
[[package]]
name = "cranelift-codegen-meta"
-version = "0.88.2"
+version = "0.93.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c451b81faf237d11c7e4f3165eeb6bac61112762c5cfe7b4c0fb7241474358f"
+checksum = "05bbb67da91ec721ed57cef2f7c5ef7728e1cd9bde9ffd3ef8601022e73e3239"
dependencies = [
"cranelift-codegen-shared",
]
[[package]]
name = "cranelift-codegen-shared"
-version = "0.88.2"
+version = "0.93.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7c940133198426d26128f08be2b40b0bd117b84771fd36798969c4d712d81fc"
+checksum = "418ecb2f36032f6665dc1a5e2060a143dbab41d83b784882e97710e890a7a16d"
[[package]]
name = "cranelift-entity"
-version = "0.88.2"
+version = "0.93.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352"
+checksum = "7cf583f7b093f291005f9fb1323e2c37f6ee4c7909e39ce016b2e8360d461705"
dependencies = [
"serde",
]
[[package]]
name = "cranelift-frontend"
-version = "0.88.2"
+version = "0.93.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34897538b36b216cc8dd324e73263596d51b8cf610da6498322838b2546baf8a"
+checksum = "0b66bf9e916f57fbbd0f7703ec6286f4624866bf45000111627c70d272c8dda1"
dependencies = [
"cranelift-codegen",
"log",
@@ -1165,15 +1215,15 @@
[[package]]
name = "cranelift-isle"
-version = "0.88.2"
+version = "0.93.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b2629a569fae540f16a76b70afcc87ad7decb38dc28fa6c648ac73b51e78470"
+checksum = "649782a39ce99798dd6b4029e2bb318a2fbeaade1b4fa25330763c10c65bc358"
[[package]]
name = "cranelift-native"
-version = "0.88.2"
+version = "0.93.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20937dab4e14d3e225c5adfc9c7106bafd4ac669bdb43027b911ff794c6fb318"
+checksum = "937e021e089c51f9749d09e7ad1c4f255c2f8686cb8c3df63a34b3ec9921bc41"
dependencies = [
"cranelift-codegen",
"libc",
@@ -1182,9 +1232,9 @@
[[package]]
name = "cranelift-wasm"
-version = "0.88.2"
+version = "0.93.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80fc2288957a94fd342a015811479de1837850924166d1f1856d8406e6f3609b"
+checksum = "d850cf6775477747c9dfda9ae23355dd70512ffebc70cf82b85a5b111ae668b5"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1222,9 +1272,9 @@
[[package]]
name = "crossbeam-channel"
-version = "0.5.6"
+version = "0.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
+checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c"
dependencies = [
"cfg-if",
"crossbeam-utils",
@@ -1232,9 +1282,9 @@
[[package]]
name = "crossbeam-deque"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
dependencies = [
"cfg-if",
"crossbeam-epoch",
@@ -1243,14 +1293,14 @@
[[package]]
name = "crossbeam-epoch"
-version = "0.9.13"
+version = "0.9.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a"
+checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
dependencies = [
"autocfg",
"cfg-if",
"crossbeam-utils",
- "memoffset 0.7.1",
+ "memoffset 0.8.0",
"scopeguard",
]
@@ -1266,9 +1316,9 @@
[[package]]
name = "crossbeam-utils"
-version = "0.8.14"
+version = "0.8.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
+checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
dependencies = [
"cfg-if",
]
@@ -1298,6 +1348,7 @@
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
"generic-array 0.14.6",
+ "rand_core 0.6.4",
"typenum",
]
@@ -1313,16 +1364,6 @@
[[package]]
name = "crypto-mac"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a"
-dependencies = [
- "generic-array 0.14.6",
- "subtle",
-]
-
-[[package]]
-name = "crypto-mac"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714"
@@ -1343,26 +1384,26 @@
[[package]]
name = "ctr"
-version = "0.6.0"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f"
+checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea"
dependencies = [
- "cipher 0.2.5",
+ "cipher 0.3.0",
]
[[package]]
name = "ctr"
-version = "0.8.0"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea"
+checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
dependencies = [
- "cipher 0.3.0",
+ "cipher 0.4.4",
]
[[package]]
name = "cumulus-client-cli"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"clap",
"parity-scale-codec",
@@ -1377,7 +1418,7 @@
[[package]]
name = "cumulus-client-collator"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"cumulus-client-consensus-common",
"cumulus-client-network",
@@ -1400,7 +1441,7 @@
[[package]]
name = "cumulus-client-consensus-aura"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"async-trait",
"cumulus-client-consensus-common",
@@ -1429,7 +1470,7 @@
[[package]]
name = "cumulus-client-consensus-common"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"async-trait",
"cumulus-client-pov-recovery",
@@ -1442,6 +1483,7 @@
"polkadot-primitives",
"sc-client-api",
"sc-consensus",
+ "schnellru",
"sp-blockchain",
"sp-consensus",
"sp-runtime",
@@ -1452,7 +1494,7 @@
[[package]]
name = "cumulus-client-network"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"async-trait",
"cumulus-relay-chain-interface",
@@ -1475,8 +1517,9 @@
[[package]]
name = "cumulus-client-pov-recovery"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
+ "async-trait",
"cumulus-primitives-core",
"cumulus-relay-chain-interface",
"futures",
@@ -1498,11 +1541,12 @@
[[package]]
name = "cumulus-client-service"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"cumulus-client-cli",
"cumulus-client-collator",
"cumulus-client-consensus-common",
+ "cumulus-client-network",
"cumulus-client-pov-recovery",
"cumulus-primitives-core",
"cumulus-relay-chain-inprocess-interface",
@@ -1513,20 +1557,26 @@
"polkadot-primitives",
"sc-client-api",
"sc-consensus",
+ "sc-network",
+ "sc-network-transactions",
+ "sc-rpc",
"sc-service",
"sc-sysinfo",
"sc-telemetry",
+ "sc-transaction-pool",
+ "sc-utils",
"sp-api",
"sp-blockchain",
"sp-consensus",
"sp-core",
"sp-runtime",
+ "sp-transaction-pool",
]
[[package]]
name = "cumulus-pallet-aura-ext"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"frame-support",
"frame-system",
@@ -1542,7 +1592,7 @@
[[package]]
name = "cumulus-pallet-dmp-queue"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1559,7 +1609,7 @@
[[package]]
name = "cumulus-pallet-parachain-system"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"bytes",
"cumulus-pallet-parachain-system-proc-macro",
@@ -1582,12 +1632,13 @@
"sp-std",
"sp-trie",
"sp-version",
+ "xcm",
]
[[package]]
name = "cumulus-pallet-parachain-system-proc-macro"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -1598,7 +1649,7 @@
[[package]]
name = "cumulus-pallet-xcm"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1614,15 +1665,17 @@
[[package]]
name = "cumulus-pallet-xcmp-queue"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"cumulus-primitives-core",
"frame-support",
"frame-system",
"log",
"parity-scale-codec",
+ "polkadot-runtime-common",
"rand_chacha 0.3.1",
"scale-info",
+ "sp-io",
"sp-runtime",
"sp-std",
"xcm",
@@ -1632,7 +1685,7 @@
[[package]]
name = "cumulus-primitives-core"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"parity-scale-codec",
"polkadot-core-primitives",
@@ -1642,12 +1695,13 @@
"sp-runtime",
"sp-std",
"sp-trie",
+ "xcm",
]
[[package]]
name = "cumulus-primitives-parachain-inherent"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1670,7 +1724,7 @@
[[package]]
name = "cumulus-primitives-timestamp"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"cumulus-primitives-core",
"futures",
@@ -1683,12 +1737,14 @@
[[package]]
name = "cumulus-primitives-utility"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"cumulus-primitives-core",
"frame-support",
"log",
"parity-scale-codec",
+ "polkadot-runtime-common",
+ "sp-io",
"sp-runtime",
"sp-std",
"xcm",
@@ -1699,7 +1755,7 @@
[[package]]
name = "cumulus-relay-chain-inprocess-interface"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1724,7 +1780,7 @@
[[package]]
name = "cumulus-relay-chain-interface"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1744,7 +1800,7 @@
[[package]]
name = "cumulus-relay-chain-minimal-node"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"array-bytes 6.0.0",
"async-trait",
@@ -1752,7 +1808,7 @@
"cumulus-relay-chain-interface",
"cumulus-relay-chain-rpc-interface",
"futures",
- "lru",
+ "lru 0.9.0",
"polkadot-core-primitives",
"polkadot-network-bridge",
"polkadot-node-network-protocol",
@@ -1784,7 +1840,7 @@
[[package]]
name = "cumulus-relay-chain-rpc-interface"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1792,7 +1848,7 @@
"futures",
"futures-timer",
"jsonrpsee",
- "lru",
+ "lru 0.9.0",
"parity-scale-codec",
"polkadot-service",
"sc-client-api",
@@ -1813,7 +1869,7 @@
[[package]]
name = "cumulus-test-relay-sproof-builder"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"cumulus-primitives-core",
"parity-scale-codec",
@@ -1865,9 +1921,9 @@
[[package]]
name = "cxx"
-version = "1.0.89"
+version = "1.0.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc831ee6a32dd495436e317595e639a587aa9907bef96fe6e6abc290ab6204e9"
+checksum = "9a140f260e6f3f79013b8bfc65e7ce630c9ab4388c6a89c71e07226f49487b72"
dependencies = [
"cc",
"cxxbridge-flags",
@@ -1877,9 +1933,9 @@
[[package]]
name = "cxx-build"
-version = "1.0.89"
+version = "1.0.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94331d54f1b1a8895cd81049f7eaaaef9d05a7dcb4d1fd08bf3ff0806246789d"
+checksum = "da6383f459341ea689374bf0a42979739dc421874f112ff26f829b8040b8e613"
dependencies = [
"cc",
"codespan-reporting",
@@ -1892,15 +1948,15 @@
[[package]]
name = "cxxbridge-flags"
-version = "1.0.89"
+version = "1.0.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48dcd35ba14ca9b40d6e4b4b39961f23d835dbb8eed74565ded361d93e1feb8a"
+checksum = "90201c1a650e95ccff1c8c0bb5a343213bdd317c6e600a93075bca2eff54ec97"
[[package]]
name = "cxxbridge-macro"
-version = "1.0.89"
+version = "1.0.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81bbeb29798b407ccd82a3324ade1a7286e0d29851475990b612670f6f5124d2"
+checksum = "0b75aed41bb2e6367cae39e6326ef817a851db13c13e4f3263714ca3cfb8de56"
dependencies = [
"proc-macro2",
"quote",
@@ -1909,9 +1965,9 @@
[[package]]
name = "darling"
-version = "0.14.2"
+version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa"
+checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
dependencies = [
"darling_core",
"darling_macro",
@@ -1919,9 +1975,9 @@
[[package]]
name = "darling_core"
-version = "0.14.2"
+version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f"
+checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
dependencies = [
"fnv",
"ident_case",
@@ -1933,9 +1989,9 @@
[[package]]
name = "darling_macro"
-version = "0.14.2"
+version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e"
+checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
dependencies = [
"darling_core",
"quote",
@@ -1995,11 +2051,11 @@
[[package]]
name = "der-parser"
-version = "8.1.0"
+version = "8.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1"
+checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e"
dependencies = [
- "asn1-rs 0.5.1",
+ "asn1-rs 0.5.2",
"displaydoc",
"nom",
"num-bigint",
@@ -2019,6 +2075,17 @@
]
[[package]]
+name = "derive-syn-parse"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
name = "derive_builder"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2058,7 +2125,7 @@
"convert_case",
"proc-macro2",
"quote",
- "rustc_version 0.4.0",
+ "rustc_version",
"syn",
]
@@ -2092,7 +2159,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
dependencies = [
- "block-buffer 0.10.3",
+ "block-buffer 0.10.4",
"crypto-common",
"subtle",
]
@@ -2163,9 +2230,9 @@
[[package]]
name = "dtoa"
-version = "1.0.5"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c00704156a7de8df8da0911424e30c2049957b0a714542a44e05fe693dd85313"
+checksum = "65d09067bfacaa79114679b279d7f5885b53295b1e2cfb4e79c8e4bd3d633169"
[[package]]
name = "dyn-clonable"
@@ -2190,9 +2257,9 @@
[[package]]
name = "dyn-clone"
-version = "1.0.10"
+version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60"
+checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30"
[[package]]
name = "ecdsa"
@@ -2236,7 +2303,7 @@
checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6"
dependencies = [
"curve25519-dalek 3.2.0",
- "hashbrown",
+ "hashbrown 0.12.3",
"hex",
"rand_core 0.6.4",
"sha2 0.9.9",
@@ -2305,9 +2372,9 @@
[[package]]
name = "enumn"
-version = "0.1.6"
+version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88bcb3a067a6555d577aba299e75eff9942da276e6506fc6274327daa026132"
+checksum = "1940ea32e14d489b401074558be4567f35ca9507c4628b4b3fd6fe6eb2ca7b88"
dependencies = [
"proc-macro2",
"quote",
@@ -2562,9 +2629,9 @@
[[package]]
name = "fastrand"
-version = "1.8.0"
+version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
dependencies = [
"instant",
]
@@ -2597,13 +2664,12 @@
[[package]]
name = "fc-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"async-trait",
"fc-db",
"fp-consensus",
"fp-rpc",
- "sc-client-api",
"sc-consensus",
"sp-api",
"sp-block-builder",
@@ -2616,7 +2682,7 @@
[[package]]
name = "fc-db"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"fp-storage",
"kvdb-rocksdb",
@@ -2635,9 +2701,10 @@
[[package]]
name = "fc-mapping-sync"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"fc-db",
+ "fc-storage",
"fp-consensus",
"fp-rpc",
"futures",
@@ -2652,13 +2719,14 @@
[[package]]
name = "fc-rpc"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"ethereum",
"ethereum-types",
"evm",
"fc-db",
"fc-rpc-core",
+ "fc-storage",
"fp-ethereum",
"fp-rpc",
"fp-storage",
@@ -2667,7 +2735,7 @@
"jsonrpsee",
"libsecp256k1",
"log",
- "lru",
+ "lru 0.8.1",
"parity-scale-codec",
"prometheus",
"rand 0.8.5",
@@ -2686,7 +2754,6 @@
"sp-core",
"sp-io",
"sp-runtime",
- "sp-storage",
"substrate-prometheus-endpoint",
"tokio",
]
@@ -2694,7 +2761,7 @@
[[package]]
name = "fc-rpc-core"
version = "1.1.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2705,6 +2772,24 @@
]
[[package]]
+name = "fc-storage"
+version = "1.0.0-dev"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
+dependencies = [
+ "ethereum",
+ "ethereum-types",
+ "fp-rpc",
+ "fp-storage",
+ "parity-scale-codec",
+ "sc-client-api",
+ "sp-api",
+ "sp-blockchain",
+ "sp-io",
+ "sp-runtime",
+ "sp-storage",
+]
+
+[[package]]
name = "fdlimit"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2725,9 +2810,9 @@
[[package]]
name = "fiat-crypto"
-version = "0.1.17"
+version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90"
+checksum = "93ace6ec7cc19c8ed33a32eaa9ea692d7faea05006b5356b9e2b668ec4bc3955"
[[package]]
name = "file-per-thread-logger"
@@ -2741,14 +2826,14 @@
[[package]]
name = "filetime"
-version = "0.2.19"
+version = "0.2.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9"
+checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412"
dependencies = [
"cfg-if",
"libc",
"redox_syscall",
- "windows-sys 0.42.0",
+ "windows-sys 0.45.0",
]
[[package]]
@@ -2814,7 +2899,7 @@
[[package]]
name = "fork-tree"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
]
@@ -2831,7 +2916,7 @@
[[package]]
name = "fp-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"ethereum",
"parity-scale-codec",
@@ -2843,7 +2928,7 @@
[[package]]
name = "fp-ethereum"
version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2857,7 +2942,7 @@
[[package]]
name = "fp-evm"
version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"evm",
"frame-support",
@@ -2865,13 +2950,14 @@
"parity-scale-codec",
"serde",
"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.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"frame-support",
"sp-core",
@@ -2880,7 +2966,7 @@
[[package]]
name = "fp-rpc"
version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2896,7 +2982,7 @@
[[package]]
name = "fp-self-contained"
version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -2908,7 +2994,7 @@
[[package]]
name = "fp-storage"
version = "2.0.0"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"parity-scale-codec",
"serde",
@@ -2923,9 +3009,10 @@
[[package]]
name = "frame-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
+ "frame-support-procedural",
"frame-system",
"linregress",
"log",
@@ -2941,12 +3028,13 @@
"sp-runtime-interface",
"sp-std",
"sp-storage",
+ "static_assertions",
]
[[package]]
name = "frame-benchmarking-cli"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"Inflector",
"array-bytes 4.2.0",
@@ -2993,7 +3081,7 @@
[[package]]
name = "frame-election-provider-solution-type"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -3004,7 +3092,7 @@
[[package]]
name = "frame-election-provider-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-election-provider-solution-type",
"frame-support",
@@ -3021,7 +3109,7 @@
[[package]]
name = "frame-executive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"frame-system",
@@ -3050,7 +3138,7 @@
[[package]]
name = "frame-remote-externalities"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"futures",
"log",
@@ -3066,7 +3154,7 @@
[[package]]
name = "frame-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"bitflags",
"frame-metadata",
@@ -3098,10 +3186,11 @@
[[package]]
name = "frame-support-procedural"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"Inflector",
"cfg-expr",
+ "derive-syn-parse",
"frame-support-procedural-tools",
"itertools",
"proc-macro2",
@@ -3112,7 +3201,7 @@
[[package]]
name = "frame-support-procedural-tools"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate",
@@ -3124,7 +3213,7 @@
[[package]]
name = "frame-support-procedural-tools-derive"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"proc-macro2",
"quote",
@@ -3134,7 +3223,7 @@
[[package]]
name = "frame-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"log",
@@ -3152,7 +3241,7 @@
[[package]]
name = "frame-system-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -3167,7 +3256,7 @@
[[package]]
name = "frame-system-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -3176,7 +3265,7 @@
[[package]]
name = "frame-try-runtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -3200,12 +3289,6 @@
"libc",
"winapi",
]
-
-[[package]]
-name = "fs_extra"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
[[package]]
name = "funty"
@@ -3397,22 +3480,22 @@
[[package]]
name = "ghash"
-version = "0.3.1"
+version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375"
+checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99"
dependencies = [
"opaque-debug 0.3.0",
- "polyval 0.4.5",
+ "polyval 0.5.3",
]
[[package]]
name = "ghash"
-version = "0.4.4"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99"
+checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40"
dependencies = [
"opaque-debug 0.3.0",
- "polyval 0.5.3",
+ "polyval 0.6.0",
]
[[package]]
@@ -3428,9 +3511,9 @@
[[package]]
name = "gimli"
-version = "0.27.1"
+version = "0.27.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "221996f774192f0f718773def8201c4ae31f02616a54ccfc2d358bb0e5cefdec"
+checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4"
[[package]]
name = "glob"
@@ -3464,9 +3547,9 @@
[[package]]
name = "h2"
-version = "0.3.15"
+version = "0.3.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4"
+checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d"
dependencies = [
"bytes",
"fnv",
@@ -3516,7 +3599,16 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
dependencies = [
- "ahash",
+ "ahash 0.7.6",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
+dependencies = [
+ "ahash 0.8.3",
]
[[package]]
@@ -3545,9 +3637,9 @@
[[package]]
name = "hermit-abi"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "856b5cb0902c2b6d65d5fd97dfa30f9b70c7538e770b98eab5ed52d8db923e01"
+checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
[[package]]
name = "hex"
@@ -3577,16 +3669,6 @@
checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840"
dependencies = [
"crypto-mac 0.8.0",
- "digest 0.9.0",
-]
-
-[[package]]
-name = "hmac"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15"
-dependencies = [
- "crypto-mac 0.10.1",
"digest 0.9.0",
]
@@ -3633,9 +3715,9 @@
[[package]]
name = "http"
-version = "0.2.8"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
+checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
dependencies = [
"bytes",
"fnv",
@@ -3841,11 +3923,20 @@
checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
dependencies = [
"autocfg",
- "hashbrown",
+ "hashbrown 0.12.3",
"serde",
]
[[package]]
+name = "inout"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+dependencies = [
+ "generic-array 0.14.6",
+]
+
+[[package]]
name = "instant"
version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3890,15 +3981,9 @@
[[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.5"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3"
+checksum = "cfa919a82ea574332e2de6e74b4c36e74d41982b335080fa59d4ef31be20fdf3"
dependencies = [
"libc",
"windows-sys 0.45.0",
@@ -3930,13 +4015,13 @@
[[package]]
name = "is-terminal"
-version = "0.4.3"
+version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef"
+checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857"
dependencies = [
- "hermit-abi 0.3.0",
- "io-lifetimes 1.0.5",
- "rustix 0.36.8",
+ "hermit-abi 0.3.1",
+ "io-lifetimes",
+ "rustix",
"windows-sys 0.45.0",
]
@@ -3951,15 +4036,15 @@
[[package]]
name = "itoa"
-version = "1.0.5"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
+checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
[[package]]
name = "jobserver"
-version = "0.1.25"
+version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b"
+checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
dependencies = [
"libc",
]
@@ -4120,8 +4205,8 @@
[[package]]
name = "kusama-runtime"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -4150,7 +4235,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.37)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
@@ -4171,6 +4256,7 @@
"pallet-session-benchmarking",
"pallet-society",
"pallet-staking",
+ "pallet-staking-runtime-api",
"pallet-timestamp",
"pallet-tips",
"pallet-transaction-payment",
@@ -4217,8 +4303,8 @@
[[package]]
name = "kusama-runtime-constants"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -4276,9 +4362,9 @@
[[package]]
name = "libc"
-version = "0.2.139"
+version = "0.2.140"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
[[package]]
name = "libloading"
@@ -4304,16 +4390,16 @@
[[package]]
name = "libp2p"
-version = "0.50.0"
+version = "0.50.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e0a0d2f693675f49ded13c5d510c48b78069e23cbd9108d7ccd59f6dc568819"
+checksum = "9c7b0104790be871edcf97db9bd2356604984e623a08d825c3f27852290266b8"
dependencies = [
"bytes",
"futures",
"futures-timer",
"getrandom 0.2.8",
"instant",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"libp2p-dns",
"libp2p-identify",
"libp2p-kad",
@@ -4330,7 +4416,7 @@
"libp2p-webrtc",
"libp2p-websocket",
"libp2p-yamux",
- "multiaddr",
+ "multiaddr 0.16.0",
"parking_lot 0.12.1",
"pin-project",
"smallvec",
@@ -4351,8 +4437,8 @@
"futures-timer",
"instant",
"log",
- "multiaddr",
- "multihash",
+ "multiaddr 0.16.0",
+ "multihash 0.16.3",
"multistream-select",
"once_cell",
"parking_lot 0.12.1",
@@ -4371,13 +4457,47 @@
]
[[package]]
+name = "libp2p-core"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "881d9a54e97d97cdaa4125d48269d97ca8c40e5fefec6b85b30440dc60cc551f"
+dependencies = [
+ "asn1_der",
+ "bs58",
+ "ed25519-dalek",
+ "either",
+ "fnv",
+ "futures",
+ "futures-timer",
+ "instant",
+ "log",
+ "multiaddr 0.17.0",
+ "multihash 0.17.0",
+ "multistream-select",
+ "once_cell",
+ "parking_lot 0.12.1",
+ "pin-project",
+ "prost",
+ "prost-build",
+ "rand 0.8.5",
+ "rw-stream-sink",
+ "sec1",
+ "sha2 0.10.6",
+ "smallvec",
+ "thiserror",
+ "unsigned-varint",
+ "void",
+ "zeroize",
+]
+
+[[package]]
name = "libp2p-dns"
version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5"
dependencies = [
"futures",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"log",
"parking_lot 0.12.1",
"smallvec",
@@ -4393,10 +4513,10 @@
"asynchronous-codec",
"futures",
"futures-timer",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"libp2p-swarm",
"log",
- "lru",
+ "lru 0.8.1",
"prost",
"prost-build",
"prost-codec",
@@ -4419,7 +4539,7 @@
"futures",
"futures-timer",
"instant",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"libp2p-swarm",
"log",
"prost",
@@ -4442,7 +4562,7 @@
"data-encoding",
"futures",
"if-watch",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"libp2p-swarm",
"log",
"rand 0.8.5",
@@ -4459,7 +4579,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55"
dependencies = [
- "libp2p-core",
+ "libp2p-core 0.38.0",
"libp2p-identify",
"libp2p-kad",
"libp2p-ping",
@@ -4476,7 +4596,7 @@
"asynchronous-codec",
"bytes",
"futures",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"log",
"nohash-hasher",
"parking_lot 0.12.1",
@@ -4494,7 +4614,7 @@
"bytes",
"curve25519-dalek 3.2.0",
"futures",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"log",
"once_cell",
"prost",
@@ -4517,7 +4637,7 @@
"futures",
"futures-timer",
"instant",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"libp2p-swarm",
"log",
"rand 0.8.5",
@@ -4534,7 +4654,7 @@
"futures",
"futures-timer",
"if-watch",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"libp2p-tls",
"log",
"parking_lot 0.12.1",
@@ -4555,7 +4675,7 @@
"bytes",
"futures",
"instant",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"libp2p-swarm",
"log",
"rand 0.8.5",
@@ -4574,7 +4694,7 @@
"futures",
"futures-timer",
"instant",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"libp2p-swarm-derive",
"log",
"pin-project",
@@ -4606,7 +4726,7 @@
"futures-timer",
"if-watch",
"libc",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"log",
"socket2",
"tokio",
@@ -4614,13 +4734,13 @@
[[package]]
name = "libp2p-tls"
-version = "0.1.0-alpha"
+version = "0.1.0-alpha.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8"
+checksum = "e9baf6f6292149e124ee737d9a79dbee783f29473fc368c7faad9d157841078a"
dependencies = [
"futures",
"futures-rustls",
- "libp2p-core",
+ "libp2p-core 0.39.0",
"rcgen 0.10.0",
"ring",
"rustls 0.20.8",
@@ -4638,7 +4758,7 @@
dependencies = [
"futures",
"js-sys",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"parity-send-wrapper",
"wasm-bindgen",
"wasm-bindgen-futures",
@@ -4657,10 +4777,10 @@
"futures-timer",
"hex",
"if-watch",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"libp2p-noise",
"log",
- "multihash",
+ "multihash 0.16.3",
"prost",
"prost-build",
"prost-codec",
@@ -4684,7 +4804,7 @@
"either",
"futures",
"futures-rustls",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"log",
"parking_lot 0.12.1",
"quicksink",
@@ -4701,7 +4821,7 @@
checksum = "4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29"
dependencies = [
"futures",
- "libp2p-core",
+ "libp2p-core 0.38.0",
"log",
"parking_lot 0.12.1",
"thiserror",
@@ -4710,9 +4830,9 @@
[[package]]
name = "librocksdb-sys"
-version = "0.8.0+7.4.4"
+version = "0.8.3+7.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d"
+checksum = "557b255ff04123fcc176162f56ed0c9cd42d8f357cf55b3fabeb60f7413741b3"
dependencies = [
"bindgen",
"bzip2-sys",
@@ -4808,22 +4928,15 @@
[[package]]
name = "linregress"
-version = "0.4.4"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6c601a85f5ecd1aba625247bca0031585fb1c446461b142878a16f8245ddeb8"
+checksum = "475015a7f8f017edb28d2e69813be23500ad4b32cfe3421c4148efc97324ee52"
dependencies = [
"nalgebra",
- "statrs",
]
[[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"
@@ -4864,10 +4977,19 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909"
dependencies = [
- "hashbrown",
+ "hashbrown 0.12.3",
]
[[package]]
+name = "lru"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17"
+dependencies = [
+ "hashbrown 0.13.2",
+]
+
+[[package]]
name = "lru-cache"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4956,14 +5078,14 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb"
dependencies = [
- "rustix 0.36.8",
+ "rustix",
]
[[package]]
name = "memmap2"
-version = "0.5.8"
+version = "0.5.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc"
+checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
dependencies = [
"libc",
]
@@ -4987,13 +5109,22 @@
]
[[package]]
+name = "memoffset"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
name = "memory-db"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66"
dependencies = [
"hash-db",
- "hashbrown",
+ "hashbrown 0.12.3",
]
[[package]]
@@ -5042,20 +5173,20 @@
[[package]]
name = "mio"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de"
+checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
dependencies = [
"libc",
"log",
"wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.42.0",
+ "windows-sys 0.45.0",
]
[[package]]
name = "mmr-gadget"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"futures",
"log",
@@ -5074,7 +5205,7 @@
[[package]]
name = "mmr-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"anyhow",
"jsonrpsee",
@@ -5124,7 +5255,25 @@
"byteorder",
"data-encoding",
"multibase",
- "multihash",
+ "multihash 0.16.3",
+ "percent-encoding",
+ "serde",
+ "static_assertions",
+ "unsigned-varint",
+ "url",
+]
+
+[[package]]
+name = "multiaddr"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b53e0cc5907a5c216ba6584bf74be8ab47d6d6289f72793b2dddbf15dc3bf8c"
+dependencies = [
+ "arrayref",
+ "byteorder",
+ "data-encoding",
+ "multibase",
+ "multihash 0.17.0",
"percent-encoding",
"serde",
"static_assertions",
@@ -5161,6 +5310,19 @@
]
[[package]]
+name = "multihash"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40"
+dependencies = [
+ "core2",
+ "digest 0.10.6",
+ "multihash-derive",
+ "sha2 0.10.6",
+ "unsigned-varint",
+]
+
+[[package]]
name = "multihash-derive"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5196,9 +5358,9 @@
[[package]]
name = "nalgebra"
-version = "0.27.1"
+version = "0.32.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120"
+checksum = "d68d47bba83f9e2006d117a9a33af1524e655516b8919caac694427a6fb1e511"
dependencies = [
"approx",
"matrixmultiply",
@@ -5206,17 +5368,15 @@
"num-complex",
"num-rational",
"num-traits",
- "rand 0.8.5",
- "rand_distr",
"simba",
"typenum",
]
[[package]]
name = "nalgebra-macros"
-version = "0.1.0"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218"
+checksum = "d232c68884c0c99810a5a4d333ef7e47689cfd0edc85efc9e54e1e6bf5212766"
dependencies = [
"proc-macro2",
"quote",
@@ -5293,9 +5453,9 @@
[[package]]
name = "netlink-sys"
-version = "0.8.4"
+version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b"
+checksum = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411"
dependencies = [
"bytes",
"futures",
@@ -5317,6 +5477,20 @@
]
[[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"
@@ -5333,15 +5507,6 @@
]
[[package]]
-name = "nom8"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8"
-dependencies = [
- "memchr",
-]
-
-[[package]]
name = "normalize-line-endings"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5406,7 +5571,6 @@
checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
dependencies = [
"autocfg",
- "libm 0.2.6",
]
[[package]]
@@ -5421,18 +5585,18 @@
[[package]]
name = "num_enum"
-version = "0.5.9"
+version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d829733185c1ca374f17e52b762f24f535ec625d2cc1f070e34c8a9068f341b"
+checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
dependencies = [
"num_enum_derive",
]
[[package]]
name = "num_enum_derive"
-version = "0.5.9"
+version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2be1598bf1c313dcdd12092e3f1920f463462525a21b7b4e11b4168353d0123e"
+checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -5447,7 +5611,7 @@
checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
dependencies = [
"crc32fast",
- "hashbrown",
+ "hashbrown 0.12.3",
"indexmap",
"memchr",
]
@@ -5476,18 +5640,18 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff"
dependencies = [
- "asn1-rs 0.5.1",
+ "asn1-rs 0.5.2",
]
[[package]]
name = "once_cell"
-version = "1.17.0"
+version = "1.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
[[package]]
name = "opal-runtime"
-version = "0.9.37"
+version = "0.9.39"
dependencies = [
"app-promotion-rpc",
"cumulus-pallet-aura-ext",
@@ -5542,7 +5706,6 @@
"pallet-maintenance",
"pallet-nonfungible",
"pallet-preimage",
- "pallet-randomness-collective-flip",
"pallet-refungible",
"pallet-session",
"pallet-structure",
@@ -5649,7 +5812,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.37#16b6c1149a15674d21c87244b7988a667e2c14d9"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.39#1548fb8f65ff4d59b5396299b4be73102803974f"
dependencies = [
"frame-support",
"frame-system",
@@ -5664,7 +5827,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.37#16b6c1149a15674d21c87244b7988a667e2c14d9"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.39#1548fb8f65ff4d59b5396299b4be73102803974f"
dependencies = [
"frame-support",
"impl-trait-for-tuples",
@@ -5673,6 +5836,7 @@
"parity-scale-codec",
"scale-info",
"serde",
+ "sp-core",
"sp-io",
"sp-runtime",
"sp-std",
@@ -5682,7 +5846,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.37#16b6c1149a15674d21c87244b7988a667e2c14d9"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.39#1548fb8f65ff4d59b5396299b4be73102803974f"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -5696,7 +5860,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.37#16b6c1149a15674d21c87244b7988a667e2c14d9"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.39#1548fb8f65ff4d59b5396299b4be73102803974f"
dependencies = [
"frame-support",
"frame-system",
@@ -5711,7 +5875,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.37#16b6c1149a15674d21c87244b7988a667e2c14d9"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.39#1548fb8f65ff4d59b5396299b4be73102803974f"
dependencies = [
"frame-support",
"orml-traits",
@@ -5725,7 +5889,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.37#16b6c1149a15674d21c87244b7988a667e2c14d9"
+source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.39#1548fb8f65ff4d59b5396299b4be73102803974f"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -5807,7 +5971,7 @@
[[package]]
name = "pallet-aura"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"frame-system",
@@ -5823,7 +5987,7 @@
[[package]]
name = "pallet-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"frame-system",
@@ -5839,14 +6003,13 @@
[[package]]
name = "pallet-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"frame-system",
"impl-trait-for-tuples",
"parity-scale-codec",
"scale-info",
- "sp-authorship",
"sp-runtime",
"sp-std",
]
@@ -5854,7 +6017,7 @@
[[package]]
name = "pallet-babe"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5878,7 +6041,7 @@
[[package]]
name = "pallet-bags-list"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5898,7 +6061,7 @@
[[package]]
name = "pallet-balances"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5913,7 +6076,7 @@
[[package]]
name = "pallet-base-fee"
version = "1.0.0"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"fp-evm",
"frame-support",
@@ -5927,26 +6090,29 @@
[[package]]
name = "pallet-beefy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"frame-system",
+ "pallet-authorship",
"pallet-session",
"parity-scale-codec",
"scale-info",
"serde",
"sp-beefy",
"sp-runtime",
+ "sp-session",
+ "sp-staking",
"sp-std",
]
[[package]]
name = "pallet-beefy-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"array-bytes 4.2.0",
- "beefy-merkle-tree",
+ "binary-merkle-tree",
"frame-support",
"frame-system",
"log",
@@ -5956,6 +6122,7 @@
"parity-scale-codec",
"scale-info",
"serde",
+ "sp-api",
"sp-beefy",
"sp-core",
"sp-io",
@@ -5966,7 +6133,7 @@
[[package]]
name = "pallet-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5984,7 +6151,7 @@
[[package]]
name = "pallet-child-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6030,7 +6197,7 @@
[[package]]
name = "pallet-collective"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6084,7 +6251,7 @@
[[package]]
name = "pallet-conviction-voting"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"assert_matches",
"frame-benchmarking",
@@ -6101,7 +6268,7 @@
[[package]]
name = "pallet-democracy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6119,7 +6286,7 @@
[[package]]
name = "pallet-election-provider-multi-phase"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6142,7 +6309,7 @@
[[package]]
name = "pallet-election-provider-support-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6155,7 +6322,7 @@
[[package]]
name = "pallet-elections-phragmen"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6173,7 +6340,7 @@
[[package]]
name = "pallet-ethereum"
version = "4.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"ethereum",
"ethereum-types",
@@ -6200,7 +6367,7 @@
[[package]]
name = "pallet-evm"
version = "6.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"environmental",
"evm",
@@ -6280,7 +6447,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.37#02eff174cf5235971da686e5ed09f34f59a93ed3"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.39#3b277e472854ebaeecb40accb3f87cfe1a43fb61"
dependencies = [
"fp-evm",
"ripemd",
@@ -6306,7 +6473,7 @@
[[package]]
name = "pallet-fast-unstake"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6366,7 +6533,7 @@
[[package]]
name = "pallet-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6406,7 +6573,7 @@
[[package]]
name = "pallet-identity"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"enumflags2",
"frame-benchmarking",
@@ -6422,7 +6589,7 @@
[[package]]
name = "pallet-im-online"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6442,7 +6609,7 @@
[[package]]
name = "pallet-indices"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6488,7 +6655,7 @@
[[package]]
name = "pallet-membership"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6505,7 +6672,7 @@
[[package]]
name = "pallet-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6522,7 +6689,7 @@
[[package]]
name = "pallet-multisig"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6538,7 +6705,7 @@
[[package]]
name = "pallet-nis"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6554,7 +6721,7 @@
[[package]]
name = "pallet-nomination-pools"
version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"frame-system",
@@ -6571,7 +6738,7 @@
[[package]]
name = "pallet-nomination-pools-benchmarking"
version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6591,8 +6758,9 @@
[[package]]
name = "pallet-nomination-pools-runtime-api"
version = "1.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
+ "pallet-nomination-pools",
"parity-scale-codec",
"sp-api",
"sp-std",
@@ -6622,7 +6790,7 @@
[[package]]
name = "pallet-offences"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"frame-system",
@@ -6639,12 +6807,13 @@
[[package]]
name = "pallet-offences-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
"frame-support",
"frame-system",
+ "log",
"pallet-babe",
"pallet-balances",
"pallet-grandpa",
@@ -6662,7 +6831,7 @@
[[package]]
name = "pallet-preimage"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6679,7 +6848,7 @@
[[package]]
name = "pallet-proxy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6692,23 +6861,9 @@
]
[[package]]
-name = "pallet-randomness-collective-flip"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
-dependencies = [
- "frame-support",
- "frame-system",
- "parity-scale-codec",
- "safe-mix",
- "scale-info",
- "sp-runtime",
- "sp-std",
-]
-
-[[package]]
name = "pallet-ranked-collective"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6726,7 +6881,7 @@
[[package]]
name = "pallet-recovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6741,7 +6896,7 @@
[[package]]
name = "pallet-referenda"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"assert_matches",
"frame-benchmarking",
@@ -6780,7 +6935,7 @@
[[package]]
name = "pallet-scheduler"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6797,7 +6952,7 @@
[[package]]
name = "pallet-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"frame-system",
@@ -6818,7 +6973,7 @@
[[package]]
name = "pallet-session-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6834,7 +6989,7 @@
[[package]]
name = "pallet-society"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"frame-system",
@@ -6848,7 +7003,7 @@
[[package]]
name = "pallet-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6871,7 +7026,7 @@
[[package]]
name = "pallet-staking-reward-curve"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -6882,16 +7037,25 @@
[[package]]
name = "pallet-staking-reward-fn"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"log",
"sp-arithmetic",
]
[[package]]
+name = "pallet-staking-runtime-api"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+dependencies = [
+ "parity-scale-codec",
+ "sp-api",
+]
+
+[[package]]
name = "pallet-state-trie-migration"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6924,7 +7088,7 @@
[[package]]
name = "pallet-sudo"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"frame-system",
@@ -6938,7 +7102,7 @@
[[package]]
name = "pallet-template-transaction-payment"
version = "3.0.0"
-source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.37#72931fde262ecc4418928dd4bbeea10c64593175"
+source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.39#7e74e3937a2c08bf29a00084a5c2f1ca6676d87a"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6970,7 +7134,7 @@
[[package]]
name = "pallet-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6988,7 +7152,7 @@
[[package]]
name = "pallet-tips"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7007,7 +7171,7 @@
[[package]]
name = "pallet-transaction-payment"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-support",
"frame-system",
@@ -7023,7 +7187,7 @@
[[package]]
name = "pallet-transaction-payment-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"jsonrpsee",
"pallet-transaction-payment-rpc-runtime-api",
@@ -7039,7 +7203,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.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
@@ -7051,7 +7215,7 @@
[[package]]
name = "pallet-treasury"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7109,7 +7273,7 @@
[[package]]
name = "pallet-utility"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7125,7 +7289,7 @@
[[package]]
name = "pallet-vesting"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7140,7 +7304,7 @@
[[package]]
name = "pallet-whitelist"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7154,9 +7318,11 @@
[[package]]
name = "pallet-xcm"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
+ "bounded-collections",
+ "frame-benchmarking",
"frame-support",
"frame-system",
"log",
@@ -7164,6 +7330,7 @@
"scale-info",
"serde",
"sp-core",
+ "sp-io",
"sp-runtime",
"sp-std",
"xcm",
@@ -7172,8 +7339,8 @@
[[package]]
name = "pallet-xcm-benchmarks"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7181,16 +7348,18 @@
"log",
"parity-scale-codec",
"scale-info",
+ "sp-io",
"sp-runtime",
"sp-std",
"xcm",
+ "xcm-builder",
"xcm-executor",
]
[[package]]
name = "parachain-info"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b"
+source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.39#7321c5ba72724711faa1c4ee4da6a81a657184cd"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -7201,9 +7370,9 @@
[[package]]
name = "parity-db"
-version = "0.4.3"
+version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd684a725651d9588ef21f140a328b6b4f64e646b2e931f3e6f14f75eedf9980"
+checksum = "df89dd8311063c54ae4e03d9aeb597b04212a57e82c339344130a9cad9b3e2d9"
dependencies = [
"blake2",
"crc32fast",
@@ -7215,14 +7384,15 @@
"memmap2",
"parking_lot 0.12.1",
"rand 0.8.5",
+ "siphasher",
"snap",
]
[[package]]
name = "parity-scale-codec"
-version = "3.3.0"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3840933452adf7b3b9145e27086a5a3376c619dca1a21b1e5a5af0d54979bed"
+checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac"
dependencies = [
"arrayvec 0.7.2",
"bitvec",
@@ -7313,9 +7483,9 @@
[[package]]
name = "paste"
-version = "1.0.11"
+version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba"
+checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
[[package]]
name = "pbkdf2"
@@ -7367,9 +7537,9 @@
[[package]]
name = "pest"
-version = "2.5.4"
+version = "2.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f"
+checksum = "8cbd939b234e95d72bc393d51788aec68aeeb5d51e748ca08ff3aad58cb722f7"
dependencies = [
"thiserror",
"ucd-trie",
@@ -7377,9 +7547,9 @@
[[package]]
name = "pest_derive"
-version = "2.5.4"
+version = "2.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bf026e2d0581559db66d837fe5242320f525d85c76283c61f4d51a1238d65ea"
+checksum = "a81186863f3d0a27340815be8f2078dd8050b14cd71913db9fbda795e5f707d7"
dependencies = [
"pest",
"pest_generator",
@@ -7387,9 +7557,9 @@
[[package]]
name = "pest_generator"
-version = "2.5.4"
+version = "2.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b27bd18aa01d91c8ed2b61ea23406a676b42d82609c6e2581fba42f0c15f17f"
+checksum = "75a1ef20bf3193c15ac345acb32e26b3dc3223aff4d77ae4fc5359567683796b"
dependencies = [
"pest",
"pest_meta",
@@ -7400,9 +7570,9 @@
[[package]]
name = "pest_meta"
-version = "2.5.4"
+version = "2.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f02b677c1859756359fc9983c2e56a0237f18624a3789528804406b7e915e5d"
+checksum = "5e3b284b1f13a20dc5ebc90aff59a51b8d7137c221131b52a7260c08cbc1cc80"
dependencies = [
"once_cell",
"pest",
@@ -7411,9 +7581,9 @@
[[package]]
name = "petgraph"
-version = "0.6.2"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143"
+checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4"
dependencies = [
"fixedbitset",
"indexmap",
@@ -7487,8 +7657,8 @@
[[package]]
name = "polkadot-approval-distribution"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"futures",
"polkadot-node-metrics",
@@ -7502,8 +7672,8 @@
[[package]]
name = "polkadot-availability-bitfield-distribution"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"futures",
"polkadot-node-network-protocol",
@@ -7516,13 +7686,13 @@
[[package]]
name = "polkadot-availability-distribution"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"derive_more",
"fatality",
"futures",
- "lru",
+ "lru 0.9.0",
"parity-scale-codec",
"polkadot-erasure-coding",
"polkadot-node-network-protocol",
@@ -7539,12 +7709,12 @@
[[package]]
name = "polkadot-availability-recovery"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"fatality",
"futures",
- "lru",
+ "lru 0.9.0",
"parity-scale-codec",
"polkadot-erasure-coding",
"polkadot-node-network-protocol",
@@ -7560,8 +7730,8 @@
[[package]]
name = "polkadot-cli"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"clap",
"frame-benchmarking-cli",
@@ -7575,6 +7745,7 @@
"sc-cli",
"sc-executor",
"sc-service",
+ "sc-storage-monitor",
"sc-sysinfo",
"sc-tracing",
"sp-core",
@@ -7587,8 +7758,8 @@
[[package]]
name = "polkadot-client"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"async-trait",
"frame-benchmarking",
@@ -7629,8 +7800,8 @@
[[package]]
name = "polkadot-collator-protocol"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"always-assert",
"bitvec",
@@ -7651,8 +7822,8 @@
[[package]]
name = "polkadot-core-primitives"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -7663,15 +7834,15 @@
[[package]]
name = "polkadot-dispute-distribution"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"derive_more",
"fatality",
"futures",
"futures-timer",
"indexmap",
- "lru",
+ "lru 0.9.0",
"parity-scale-codec",
"polkadot-erasure-coding",
"polkadot-node-network-protocol",
@@ -7688,8 +7859,8 @@
[[package]]
name = "polkadot-erasure-coding"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"parity-scale-codec",
"polkadot-node-primitives",
@@ -7702,8 +7873,8 @@
[[package]]
name = "polkadot-gossip-support"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"futures",
"futures-timer",
@@ -7722,8 +7893,8 @@
[[package]]
name = "polkadot-network-bridge"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"always-assert",
"async-trait",
@@ -7746,8 +7917,8 @@
[[package]]
name = "polkadot-node-collation-generation"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"futures",
"parity-scale-codec",
@@ -7764,15 +7935,15 @@
[[package]]
name = "polkadot-node-core-approval-voting"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bitvec",
"derive_more",
"futures",
"futures-timer",
"kvdb",
- "lru",
+ "lru 0.9.0",
"merlin",
"parity-scale-codec",
"polkadot-node-jaeger",
@@ -7793,8 +7964,8 @@
[[package]]
name = "polkadot-node-core-av-store"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bitvec",
"futures",
@@ -7807,14 +7978,15 @@
"polkadot-node-subsystem-util",
"polkadot-overseer",
"polkadot-primitives",
+ "sp-consensus",
"thiserror",
"tracing-gum",
]
[[package]]
name = "polkadot-node-core-backing"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bitvec",
"fatality",
@@ -7832,8 +8004,8 @@
[[package]]
name = "polkadot-node-core-bitfield-signing"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"futures",
"polkadot-node-subsystem",
@@ -7847,8 +8019,8 @@
[[package]]
name = "polkadot-node-core-candidate-validation"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"async-trait",
"futures",
@@ -7858,6 +8030,7 @@
"polkadot-node-metrics",
"polkadot-node-primitives",
"polkadot-node-subsystem",
+ "polkadot-node-subsystem-util",
"polkadot-parachain",
"polkadot-primitives",
"sp-maybe-compressed-blob",
@@ -7866,8 +8039,8 @@
[[package]]
name = "polkadot-node-core-chain-api"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"futures",
"polkadot-node-metrics",
@@ -7881,8 +8054,8 @@
[[package]]
name = "polkadot-node-core-chain-selection"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"futures",
"futures-timer",
@@ -7898,13 +8071,13 @@
[[package]]
name = "polkadot-node-core-dispute-coordinator"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"fatality",
"futures",
"kvdb",
- "lru",
+ "lru 0.9.0",
"parity-scale-codec",
"polkadot-node-primitives",
"polkadot-node-subsystem",
@@ -7917,8 +8090,8 @@
[[package]]
name = "polkadot-node-core-parachains-inherent"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"async-trait",
"futures",
@@ -7934,8 +8107,8 @@
[[package]]
name = "polkadot-node-core-provisioner"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bitvec",
"fatality",
@@ -7952,19 +8125,22 @@
[[package]]
name = "polkadot-node-core-pvf"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"always-assert",
"assert_matches",
"cpu-time",
"futures",
"futures-timer",
+ "libc",
"parity-scale-codec",
"pin-project",
"polkadot-core-primitives",
"polkadot-node-metrics",
+ "polkadot-node-primitives",
"polkadot-parachain",
+ "polkadot-primitives",
"rand 0.8.5",
"rayon",
"sc-executor",
@@ -7978,14 +8154,15 @@
"sp-tracing",
"sp-wasm-interface",
"tempfile",
+ "tikv-jemalloc-ctl",
"tokio",
"tracing-gum",
]
[[package]]
name = "polkadot-node-core-pvf-checker"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"futures",
"polkadot-node-primitives",
@@ -8000,11 +8177,11 @@
[[package]]
name = "polkadot-node-core-runtime-api"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"futures",
- "lru",
+ "lru 0.9.0",
"polkadot-node-metrics",
"polkadot-node-subsystem",
"polkadot-node-subsystem-types",
@@ -8015,8 +8192,8 @@
[[package]]
name = "polkadot-node-jaeger"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"lazy_static",
"log",
@@ -8033,8 +8210,8 @@
[[package]]
name = "polkadot-node-metrics"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bs58",
"futures",
@@ -8052,8 +8229,8 @@
[[package]]
name = "polkadot-node-network-protocol"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"async-trait",
"derive_more",
@@ -8075,8 +8252,8 @@
[[package]]
name = "polkadot-node-primitives"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bounded-vec",
"futures",
@@ -8091,14 +8268,15 @@
"sp-core",
"sp-keystore",
"sp-maybe-compressed-blob",
+ "sp-runtime",
"thiserror",
"zstd",
]
[[package]]
name = "polkadot-node-subsystem"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"polkadot-node-jaeger",
"polkadot-node-subsystem-types",
@@ -8107,8 +8285,8 @@
[[package]]
name = "polkadot-node-subsystem-types"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"async-trait",
"derive_more",
@@ -8130,8 +8308,8 @@
[[package]]
name = "polkadot-node-subsystem-util"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"async-trait",
"derive_more",
@@ -8140,7 +8318,7 @@
"futures-channel",
"itertools",
"kvdb",
- "lru",
+ "lru 0.9.0",
"parity-db",
"parity-scale-codec",
"parking_lot 0.11.2",
@@ -8163,13 +8341,13 @@
[[package]]
name = "polkadot-overseer"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"async-trait",
"futures",
"futures-timer",
- "lru",
+ "lru 0.9.0",
"orchestra",
"parking_lot 0.12.1",
"polkadot-node-metrics",
@@ -8186,9 +8364,10 @@
[[package]]
name = "polkadot-parachain"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
+ "bounded-collections",
"derive_more",
"frame-support",
"parity-scale-codec",
@@ -8202,8 +8381,8 @@
[[package]]
name = "polkadot-performance-test"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"env_logger 0.9.3",
"kusama-runtime",
@@ -8211,14 +8390,15 @@
"polkadot-erasure-coding",
"polkadot-node-core-pvf",
"polkadot-node-primitives",
+ "polkadot-primitives",
"quote",
"thiserror",
]
[[package]]
name = "polkadot-primitives"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bitvec",
"hex-literal",
@@ -8243,8 +8423,8 @@
[[package]]
name = "polkadot-rpc"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"beefy-gadget",
"beefy-gadget-rpc",
@@ -8275,8 +8455,8 @@
[[package]]
name = "polkadot-runtime"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -8303,7 +8483,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.37)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
@@ -8320,6 +8500,7 @@
"pallet-session-benchmarking",
"pallet-staking",
"pallet-staking-reward-curve",
+ "pallet-staking-runtime-api",
"pallet-timestamp",
"pallet-tips",
"pallet-transaction-payment",
@@ -8364,8 +8545,8 @@
[[package]]
name = "polkadot-runtime-common"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -8377,10 +8558,10 @@
"log",
"pallet-authorship",
"pallet-babe",
- "pallet-bags-list",
"pallet-balances",
"pallet-beefy-mmr",
"pallet-election-provider-multi-phase",
+ "pallet-fast-unstake",
"pallet-session",
"pallet-staking",
"pallet-staking-reward-fn",
@@ -8412,8 +8593,8 @@
[[package]]
name = "polkadot-runtime-constants"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -8426,8 +8607,8 @@
[[package]]
name = "polkadot-runtime-metrics"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bs58",
"parity-scale-codec",
@@ -8438,8 +8619,8 @@
[[package]]
name = "polkadot-runtime-parachains"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bitflags",
"bitvec",
@@ -8457,6 +8638,7 @@
"pallet-timestamp",
"pallet-vesting",
"parity-scale-codec",
+ "polkadot-parachain",
"polkadot-primitives",
"polkadot-runtime-metrics",
"rand 0.8.5",
@@ -8481,11 +8663,12 @@
[[package]]
name = "polkadot-service"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"async-trait",
"beefy-gadget",
+ "frame-benchmarking-cli",
"frame-support",
"frame-system-rpc-runtime-api",
"futures",
@@ -8493,7 +8676,8 @@
"kusama-runtime",
"kvdb",
"kvdb-rocksdb",
- "lru",
+ "log",
+ "lru 0.9.0",
"mmr-gadget",
"pallet-babe",
"pallet-im-online",
@@ -8587,8 +8771,8 @@
[[package]]
name = "polkadot-statement-distribution"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"arrayvec 0.5.2",
"fatality",
@@ -8608,8 +8792,8 @@
[[package]]
name = "polkadot-statement-table"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"parity-scale-codec",
"polkadot-primitives",
@@ -8618,16 +8802,18 @@
[[package]]
name = "polling"
-version = "2.5.2"
+version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6"
+checksum = "7e1f879b2998099c2d69ab9605d145d5b661195627eccc680002c4918a7fb6fa"
dependencies = [
"autocfg",
+ "bitflags",
"cfg-if",
+ "concurrent-queue",
"libc",
"log",
- "wepoll-ffi",
- "windows-sys 0.42.0",
+ "pin-project-lite 0.2.9",
+ "windows-sys 0.45.0",
]
[[package]]
@@ -8638,30 +8824,31 @@
dependencies = [
"cpufeatures",
"opaque-debug 0.3.0",
- "universal-hash",
+ "universal-hash 0.4.1",
]
[[package]]
name = "polyval"
-version = "0.4.5"
+version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd"
+checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1"
dependencies = [
- "cpuid-bool",
+ "cfg-if",
+ "cpufeatures",
"opaque-debug 0.3.0",
- "universal-hash",
+ "universal-hash 0.4.1",
]
[[package]]
name = "polyval"
-version = "0.5.3"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1"
+checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6"
dependencies = [
"cfg-if",
"cpufeatures",
"opaque-debug 0.3.0",
- "universal-hash",
+ "universal-hash 0.5.0",
]
[[package]]
@@ -8713,9 +8900,9 @@
[[package]]
name = "prettyplease"
-version = "0.1.23"
+version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78"
+checksum = "4ebcd279d20a4a0a2404a33056388e950504d891c855c7975b9a8fef75f3bf04"
dependencies = [
"proc-macro2",
"syn",
@@ -8753,9 +8940,9 @@
[[package]]
name = "proc-macro-crate"
-version = "1.3.0"
+version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
dependencies = [
"once_cell",
"toml_edit",
@@ -8839,9 +9026,9 @@
[[package]]
name = "prost"
-version = "0.11.6"
+version = "0.11.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698"
+checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537"
dependencies = [
"bytes",
"prost-derive",
@@ -8849,9 +9036,9 @@
[[package]]
name = "prost-build"
-version = "0.11.6"
+version = "0.11.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e"
+checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12"
dependencies = [
"bytes",
"heck",
@@ -8884,9 +9071,9 @@
[[package]]
name = "prost-derive"
-version = "0.11.6"
+version = "0.11.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d"
+checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b"
dependencies = [
"anyhow",
"itertools",
@@ -8897,11 +9084,10 @@
[[package]]
name = "prost-types"
-version = "0.11.6"
+version = "0.11.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788"
+checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88"
dependencies = [
- "bytes",
"prost",
]
@@ -8916,7 +9102,7 @@
[[package]]
name = "quartz-runtime"
-version = "0.9.37"
+version = "0.9.39"
dependencies = [
"app-promotion-rpc",
"cumulus-pallet-aura-ext",
@@ -8971,7 +9157,6 @@
"pallet-maintenance",
"pallet-nonfungible",
"pallet-preimage",
- "pallet-randomness-collective-flip",
"pallet-refungible",
"pallet-session",
"pallet-structure",
@@ -9128,16 +9313,6 @@
]
[[package]]
-name = "rand_distr"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31"
-dependencies = [
- "num-traits",
- "rand 0.8.5",
-]
-
-[[package]]
name = "rand_hc"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9163,9 +9338,9 @@
[[package]]
name = "rayon"
-version = "1.6.1"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7"
+checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
dependencies = [
"either",
"rayon-core",
@@ -9173,9 +9348,9 @@
[[package]]
name = "rayon-core"
-version = "1.10.2"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b"
+checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
dependencies = [
"crossbeam-channel",
"crossbeam-deque",
@@ -9191,7 +9366,7 @@
dependencies = [
"pem",
"ring",
- "time 0.3.17",
+ "time 0.3.20",
"x509-parser 0.13.2",
"yasna",
]
@@ -9204,7 +9379,7 @@
dependencies = [
"pem",
"ring",
- "time 0.3.17",
+ "time 0.3.20",
"yasna",
]
@@ -9243,18 +9418,18 @@
[[package]]
name = "ref-cast"
-version = "1.0.14"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed"
+checksum = "a9af2cf09ef80e610097515e80095b7f76660a92743c4185aff5406cd5ce3dd5"
dependencies = [
"ref-cast-impl",
]
[[package]]
name = "ref-cast-impl"
-version = "1.0.14"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f"
+checksum = "9c501201393982e275433bc55de7d6ae6f00e7699cd5572c5b57581cd69c881b"
dependencies = [
"proc-macro2",
"quote",
@@ -9263,9 +9438,9 @@
[[package]]
name = "regalloc2"
-version = "0.3.2"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d43a209257d978ef079f3d446331d0f1794f5e0fc19b306a199983857833a779"
+checksum = "300d4fbfb40c1c66a78ba3ddd41c1110247cf52f97b87d0f2fc9209bd49b030c"
dependencies = [
"fxhash",
"log",
@@ -9300,11 +9475,14 @@
checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
[[package]]
-name = "remove_dir_all"
-version = "0.5.3"
+name = "region"
+version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+checksum = "76e189c2369884dce920945e2ddf79b3dff49e071a167dd1817fa9c4c00d512e"
dependencies = [
+ "bitflags",
+ "libc",
+ "mach",
"winapi",
]
@@ -9387,10 +9565,10 @@
[[package]]
name = "rococo-runtime"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
- "beefy-merkle-tree",
+ "binary-merkle-tree",
"frame-benchmarking",
"frame-executive",
"frame-support",
@@ -9412,7 +9590,7 @@
"pallet-democracy",
"pallet-elections-phragmen",
"pallet-grandpa",
- "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
@@ -9473,8 +9651,8 @@
[[package]]
name = "rococo-runtime-constants"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -9517,7 +9695,7 @@
"log",
"netlink-packet-route",
"netlink-proto",
- "nix",
+ "nix 0.24.3",
"thiserror",
"tokio",
]
@@ -9566,15 +9744,6 @@
[[package]]
name = "rustc_version"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-dependencies = [
- "semver 0.9.0",
-]
-
-[[package]]
-name = "rustc_version"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
@@ -9593,29 +9762,15 @@
[[package]]
name = "rustix"
-version = "0.35.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9"
-dependencies = [
- "bitflags",
- "errno",
- "io-lifetimes 0.7.5",
- "libc",
- "linux-raw-sys 0.0.46",
- "windows-sys 0.42.0",
-]
-
-[[package]]
-name = "rustix"
-version = "0.36.8"
+version = "0.36.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644"
+checksum = "fd5c6ff11fecd55b40746d1995a02f2eb375bf8c00d192d521ee09f42bef37bc"
dependencies = [
"bitflags",
"errno",
- "io-lifetimes 1.0.5",
+ "io-lifetimes",
"libc",
- "linux-raw-sys 0.1.4",
+ "linux-raw-sys",
"windows-sys 0.45.0",
]
@@ -9667,9 +9822,9 @@
[[package]]
name = "rustversion"
-version = "1.0.11"
+version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70"
+checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
[[package]]
name = "rw-stream-sink"
@@ -9684,17 +9839,17 @@
[[package]]
name = "ryu"
-version = "1.0.12"
+version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
[[package]]
-name = "safe-mix"
-version = "1.0.1"
+name = "safe_arch"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c"
+checksum = "794821e4ccb0d9f979512f9c1973480123f9bd62a90d74ab0f9426fcf8f4a529"
dependencies = [
- "rustc_version 0.2.3",
+ "bytemuck",
]
[[package]]
@@ -9709,7 +9864,7 @@
[[package]]
name = "sc-allocator"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"log",
"sp-core",
@@ -9720,7 +9875,7 @@
[[package]]
name = "sc-authority-discovery"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"futures",
@@ -9747,7 +9902,7 @@
[[package]]
name = "sc-basic-authorship"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"futures",
"futures-timer",
@@ -9770,7 +9925,7 @@
[[package]]
name = "sc-block-builder"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"sc-client-api",
@@ -9786,7 +9941,7 @@
[[package]]
name = "sc-chain-spec"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"memmap2",
"sc-chain-spec-derive",
@@ -9801,7 +9956,7 @@
[[package]]
name = "sc-chain-spec-derive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -9812,7 +9967,7 @@
[[package]]
name = "sc-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"array-bytes 4.2.0",
"chrono",
@@ -9852,7 +10007,7 @@
[[package]]
name = "sc-client-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"fnv",
"futures",
@@ -9878,7 +10033,7 @@
[[package]]
name = "sc-client-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"hash-db",
"kvdb",
@@ -9891,6 +10046,7 @@
"parking_lot 0.12.1",
"sc-client-api",
"sc-state-db",
+ "schnellru",
"sp-arithmetic",
"sp-blockchain",
"sp-core",
@@ -9903,7 +10059,7 @@
[[package]]
name = "sc-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"futures",
@@ -9928,7 +10084,7 @@
[[package]]
name = "sc-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"futures",
@@ -9957,7 +10113,7 @@
[[package]]
name = "sc-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"fork-tree",
@@ -9975,6 +10131,7 @@
"sc-consensus-slots",
"sc-keystore",
"sc-telemetry",
+ "scale-info",
"schnorrkel",
"sp-api",
"sp-application-crypto",
@@ -9995,7 +10152,7 @@
[[package]]
name = "sc-consensus-babe-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"futures",
"jsonrpsee",
@@ -10017,7 +10174,7 @@
[[package]]
name = "sc-consensus-epochs"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"fork-tree",
"parity-scale-codec",
@@ -10030,7 +10187,7 @@
[[package]]
name = "sc-consensus-manual-seal"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"assert_matches",
"async-trait",
@@ -10064,7 +10221,7 @@
[[package]]
name = "sc-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"futures",
@@ -10087,9 +10244,9 @@
[[package]]
name = "sc-executor"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
- "lru",
+ "lru 0.8.1",
"parity-scale-codec",
"parking_lot 0.12.1",
"sc-executor-common",
@@ -10111,7 +10268,7 @@
[[package]]
name = "sc-executor-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"sc-allocator",
"sp-maybe-compressed-blob",
@@ -10124,7 +10281,7 @@
[[package]]
name = "sc-executor-wasmi"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"log",
"sc-allocator",
@@ -10137,13 +10294,14 @@
[[package]]
name = "sc-executor-wasmtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
+ "anyhow",
"cfg-if",
"libc",
"log",
"once_cell",
- "rustix 0.35.13",
+ "rustix",
"sc-allocator",
"sc-executor-common",
"sp-runtime-interface",
@@ -10154,9 +10312,9 @@
[[package]]
name = "sc-finality-grandpa"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
- "ahash",
+ "ahash 0.8.3",
"array-bytes 4.2.0",
"async-trait",
"dyn-clone",
@@ -10194,7 +10352,7 @@
[[package]]
name = "sc-finality-grandpa-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"finality-grandpa",
"futures",
@@ -10214,7 +10372,7 @@
[[package]]
name = "sc-informant"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"ansi_term",
"futures",
@@ -10229,7 +10387,7 @@
[[package]]
name = "sc-keystore"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"array-bytes 4.2.0",
"async-trait",
@@ -10244,7 +10402,7 @@
[[package]]
name = "sc-network"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"array-bytes 4.2.0",
"async-trait",
@@ -10258,7 +10416,8 @@
"ip_network",
"libp2p",
"log",
- "lru",
+ "lru 0.8.1",
+ "mockall",
"parity-scale-codec",
"parking_lot 0.12.1",
"pin-project",
@@ -10286,7 +10445,7 @@
[[package]]
name = "sc-network-bitswap"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"cid",
"futures",
@@ -10305,7 +10464,7 @@
[[package]]
name = "sc-network-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"bitflags",
@@ -10331,14 +10490,14 @@
[[package]]
name = "sc-network-gossip"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
- "ahash",
+ "ahash 0.8.3",
"futures",
"futures-timer",
"libp2p",
"log",
- "lru",
+ "lru 0.8.1",
"sc-network-common",
"sc-peerset",
"sp-runtime",
@@ -10349,7 +10508,7 @@
[[package]]
name = "sc-network-light"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"array-bytes 4.2.0",
"futures",
@@ -10370,7 +10529,7 @@
[[package]]
name = "sc-network-sync"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"array-bytes 4.2.0",
"async-trait",
@@ -10378,7 +10537,7 @@
"futures",
"libp2p",
"log",
- "lru",
+ "lru 0.8.1",
"mockall",
"parity-scale-codec",
"prost",
@@ -10402,7 +10561,7 @@
[[package]]
name = "sc-network-transactions"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"array-bytes 4.2.0",
"futures",
@@ -10421,7 +10580,7 @@
[[package]]
name = "sc-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"array-bytes 4.2.0",
"bytes",
@@ -10451,7 +10610,7 @@
[[package]]
name = "sc-peerset"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"futures",
"libp2p",
@@ -10464,7 +10623,7 @@
[[package]]
name = "sc-proposer-metrics"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"log",
"substrate-prometheus-endpoint",
@@ -10473,7 +10632,7 @@
[[package]]
name = "sc-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"futures",
"jsonrpsee",
@@ -10497,12 +10656,13 @@
"sp-runtime",
"sp-session",
"sp-version",
+ "tokio",
]
[[package]]
name = "sc-rpc-api"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"jsonrpsee",
"parity-scale-codec",
@@ -10521,7 +10681,7 @@
[[package]]
name = "sc-rpc-server"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"http",
"jsonrpsee",
@@ -10536,7 +10696,7 @@
[[package]]
name = "sc-rpc-spec-v2"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"array-bytes 4.2.0",
"futures",
@@ -10562,7 +10722,7 @@
[[package]]
name = "sc-service"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"directories",
@@ -10593,6 +10753,7 @@
"sc-rpc",
"sc-rpc-server",
"sc-rpc-spec-v2",
+ "sc-storage-monitor",
"sc-sysinfo",
"sc-telemetry",
"sc-tracing",
@@ -10627,7 +10788,7 @@
[[package]]
name = "sc-state-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"log",
"parity-scale-codec",
@@ -10636,9 +10797,25 @@
]
[[package]]
+name = "sc-storage-monitor"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
+dependencies = [
+ "clap",
+ "futures",
+ "log",
+ "nix 0.26.2",
+ "sc-client-db",
+ "sc-utils",
+ "sp-core",
+ "thiserror",
+ "tokio",
+]
+
+[[package]]
name = "sc-sync-state-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"jsonrpsee",
"parity-scale-codec",
@@ -10657,7 +10834,7 @@
[[package]]
name = "sc-sysinfo"
version = "6.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"futures",
"libc",
@@ -10676,7 +10853,7 @@
[[package]]
name = "sc-telemetry"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"chrono",
"futures",
@@ -10695,7 +10872,7 @@
[[package]]
name = "sc-tracing"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"ansi_term",
"atty",
@@ -10726,7 +10903,7 @@
[[package]]
name = "sc-tracing-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -10737,13 +10914,14 @@
[[package]]
name = "sc-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"futures",
"futures-timer",
"linked-hash-map",
"log",
+ "num-traits",
"parity-scale-codec",
"parking_lot 0.12.1",
"sc-client-api",
@@ -10763,7 +10941,7 @@
[[package]]
name = "sc-transaction-pool-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"futures",
@@ -10777,7 +10955,7 @@
[[package]]
name = "sc-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"backtrace",
"futures",
@@ -10824,6 +11002,17 @@
]
[[package]]
+name = "schnellru"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d"
+dependencies = [
+ "ahash 0.8.3",
+ "cfg-if",
+ "hashbrown 0.13.2",
+]
+
+[[package]]
name = "schnorrkel"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10849,9 +11038,9 @@
[[package]]
name = "scratch"
-version = "1.0.3"
+version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2"
+checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
[[package]]
name = "sct"
@@ -10954,15 +11143,6 @@
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537"
-dependencies = [
- "semver-parser",
-]
-
-[[package]]
-name = "semver"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
dependencies = [
"semver-parser",
]
@@ -10984,18 +11164,18 @@
[[package]]
name = "serde"
-version = "1.0.152"
+version = "1.0.154"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
+checksum = "8cdd151213925e7f1ab45a9bbfb129316bd00799784b174b7cc7bcd16961c49e"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.152"
+version = "1.0.154"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
+checksum = "4fc80d722935453bcafdc2c9a73cd6fac4dc1938f0346035d84bf99fa9e33217"
dependencies = [
"proc-macro2",
"quote",
@@ -11004,9 +11184,9 @@
[[package]]
name = "serde_json"
-version = "1.0.92"
+version = "1.0.94"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7434af0dc1cbd59268aa98b4c22c131c0584d2232f6fb166efb993e2832e896a"
+checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea"
dependencies = [
"itoa",
"ryu",
@@ -11027,6 +11207,17 @@
]
[[package]]
+name = "sha1"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest 0.10.6",
+]
+
+[[package]]
name = "sha2"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11108,9 +11299,9 @@
[[package]]
name = "signal-hook-registry"
-version = "1.4.0"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
dependencies = [
"libc",
]
@@ -11127,21 +11318,28 @@
[[package]]
name = "simba"
-version = "0.5.1"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c"
+checksum = "50582927ed6f77e4ac020c057f37a268fc6aebc29225050365aacbb9deeeddc4"
dependencies = [
"approx",
"num-complex",
"num-traits",
"paste",
+ "wide",
]
[[package]]
+name = "siphasher"
+version = "0.3.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+
+[[package]]
name = "slab"
-version = "0.4.7"
+version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
+checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
dependencies = [
"autocfg",
]
@@ -11154,8 +11352,8 @@
[[package]]
name = "slot-range-helper"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"enumn",
"parity-scale-codec",
@@ -11197,16 +11395,16 @@
"curve25519-dalek 4.0.0-rc.0",
"rand_core 0.6.4",
"ring",
- "rustc_version 0.4.0",
+ "rustc_version",
"sha2 0.10.6",
"subtle",
]
[[package]]
name = "socket2"
-version = "0.4.7"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
dependencies = [
"libc",
"winapi",
@@ -11232,7 +11430,7 @@
[[package]]
name = "sp-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"hash-db",
"log",
@@ -11250,7 +11448,7 @@
[[package]]
name = "sp-api-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"blake2",
"proc-macro-crate",
@@ -11262,7 +11460,7 @@
[[package]]
name = "sp-application-crypto"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11275,7 +11473,7 @@
[[package]]
name = "sp-arithmetic"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"integer-sqrt",
"num-traits",
@@ -11289,7 +11487,7 @@
[[package]]
name = "sp-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11300,22 +11498,11 @@
]
[[package]]
-name = "sp-authorship"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
-dependencies = [
- "async-trait",
- "parity-scale-codec",
- "sp-inherents",
- "sp-runtime",
- "sp-std",
-]
-
-[[package]]
name = "sp-beefy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
+ "lazy_static",
"parity-scale-codec",
"scale-info",
"serde",
@@ -11326,12 +11513,13 @@
"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.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -11343,11 +11531,11 @@
[[package]]
name = "sp-blockchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"futures",
"log",
- "lru",
+ "lru 0.8.1",
"parity-scale-codec",
"parking_lot 0.12.1",
"sp-api",
@@ -11361,7 +11549,7 @@
[[package]]
name = "sp-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"futures",
@@ -11379,7 +11567,7 @@
[[package]]
name = "sp-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -11397,7 +11585,7 @@
[[package]]
name = "sp-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"merlin",
@@ -11420,7 +11608,7 @@
[[package]]
name = "sp-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11432,7 +11620,7 @@
[[package]]
name = "sp-consensus-vrf"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11445,12 +11633,13 @@
[[package]]
name = "sp-core"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"array-bytes 4.2.0",
"base58",
"bitflags",
"blake2",
+ "bounded-collections",
"dyn-clonable",
"ed25519-zebra",
"futures",
@@ -11487,7 +11676,7 @@
[[package]]
name = "sp-core-hashing"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"blake2",
"byteorder",
@@ -11501,7 +11690,7 @@
[[package]]
name = "sp-core-hashing-proc-macro"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"proc-macro2",
"quote",
@@ -11512,7 +11701,7 @@
[[package]]
name = "sp-database"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"kvdb",
"parking_lot 0.12.1",
@@ -11521,7 +11710,7 @@
[[package]]
name = "sp-debug-derive"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"proc-macro2",
"quote",
@@ -11531,7 +11720,7 @@
[[package]]
name = "sp-externalities"
version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -11542,7 +11731,7 @@
[[package]]
name = "sp-finality-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"finality-grandpa",
"log",
@@ -11560,11 +11749,12 @@
[[package]]
name = "sp-inherents"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"impl-trait-for-tuples",
"parity-scale-codec",
+ "scale-info",
"sp-core",
"sp-runtime",
"sp-std",
@@ -11574,7 +11764,7 @@
[[package]]
name = "sp-io"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"bytes",
"ed25519",
@@ -11599,7 +11789,7 @@
[[package]]
name = "sp-keyring"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"lazy_static",
"sp-core",
@@ -11610,7 +11800,7 @@
[[package]]
name = "sp-keystore"
version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"futures",
@@ -11627,7 +11817,7 @@
[[package]]
name = "sp-maybe-compressed-blob"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"thiserror",
"zstd",
@@ -11636,7 +11826,7 @@
[[package]]
name = "sp-mmr-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"ckb-merkle-mountain-range",
"log",
@@ -11654,7 +11844,7 @@
[[package]]
name = "sp-npos-elections"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11668,7 +11858,7 @@
[[package]]
name = "sp-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"sp-api",
"sp-core",
@@ -11678,7 +11868,7 @@
[[package]]
name = "sp-panic-handler"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"backtrace",
"lazy_static",
@@ -11688,7 +11878,7 @@
[[package]]
name = "sp-rpc"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"rustc-hash",
"serde",
@@ -11698,7 +11888,7 @@
[[package]]
name = "sp-runtime"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"either",
"hash256-std-hasher",
@@ -11720,7 +11910,7 @@
[[package]]
name = "sp-runtime-interface"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"bytes",
"impl-trait-for-tuples",
@@ -11738,7 +11928,7 @@
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"Inflector",
"proc-macro-crate",
@@ -11750,7 +11940,7 @@
[[package]]
name = "sp-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11764,7 +11954,7 @@
[[package]]
name = "sp-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11776,7 +11966,7 @@
[[package]]
name = "sp-state-machine"
version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"hash-db",
"log",
@@ -11796,12 +11986,12 @@
[[package]]
name = "sp-std"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
[[package]]
name = "sp-storage"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -11814,7 +12004,7 @@
[[package]]
name = "sp-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"futures-timer",
@@ -11829,7 +12019,7 @@
[[package]]
name = "sp-tracing"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"sp-std",
@@ -11841,7 +12031,7 @@
[[package]]
name = "sp-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"sp-api",
"sp-runtime",
@@ -11850,7 +12040,7 @@
[[package]]
name = "sp-transaction-storage-proof"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"log",
@@ -11866,30 +12056,30 @@
[[package]]
name = "sp-trie"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
- "ahash",
+ "ahash 0.8.3",
"hash-db",
- "hashbrown",
+ "hashbrown 0.12.3",
"lazy_static",
- "lru",
"memory-db",
"nohash-hasher",
"parity-scale-codec",
"parking_lot 0.12.1",
"scale-info",
+ "schnellru",
"sp-core",
"sp-std",
"thiserror",
"tracing",
- "trie-db",
+ "trie-db 0.25.1",
"trie-root",
]
[[package]]
name = "sp-version"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -11906,7 +12096,7 @@
[[package]]
name = "sp-version-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"proc-macro2",
@@ -11917,8 +12107,9 @@
[[package]]
name = "sp-wasm-interface"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
+ "anyhow",
"impl-trait-for-tuples",
"log",
"parity-scale-codec",
@@ -11930,7 +12121,7 @@
[[package]]
name = "sp-weights"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11982,9 +12173,9 @@
[[package]]
name = "ss58-registry"
-version = "1.38.0"
+version = "1.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b"
+checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d"
dependencies = [
"Inflector",
"num-format",
@@ -12058,19 +12249,6 @@
"proc-macro2",
"quote",
"syn",
-]
-
-[[package]]
-name = "statrs"
-version = "0.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05"
-dependencies = [
- "approx",
- "lazy_static",
- "nalgebra",
- "num-traits",
- "rand 0.8.5",
]
[[package]]
@@ -12144,7 +12322,7 @@
[[package]]
name = "substrate-build-script-utils"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"platforms 2.0.0",
]
@@ -12152,7 +12330,7 @@
[[package]]
name = "substrate-frame-rpc-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"frame-system-rpc-runtime-api",
"futures",
@@ -12171,7 +12349,7 @@
[[package]]
name = "substrate-prometheus-endpoint"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"hyper",
"log",
@@ -12183,7 +12361,7 @@
[[package]]
name = "substrate-rpc-client"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"async-trait",
"jsonrpsee",
@@ -12196,7 +12374,7 @@
[[package]]
name = "substrate-state-trie-migration-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"jsonrpsee",
"log",
@@ -12209,13 +12387,13 @@
"sp-runtime",
"sp-state-machine",
"sp-trie",
- "trie-db",
+ "trie-db 0.25.1",
]
[[package]]
name = "substrate-test-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"futures",
"substrate-test-utils-derive",
@@ -12225,7 +12403,7 @@
[[package]]
name = "substrate-test-utils-derive"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -12236,7 +12414,7 @@
[[package]]
name = "substrate-wasm-builder"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
"ansi_term",
"build-helper",
@@ -12267,9 +12445,9 @@
[[package]]
name = "syn"
-version = "1.0.107"
+version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
@@ -12317,22 +12495,21 @@
[[package]]
name = "target-lexicon"
-version = "0.12.5"
+version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d"
+checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5"
[[package]]
name = "tempfile"
-version = "3.3.0"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
+checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"
dependencies = [
"cfg-if",
"fastrand",
- "libc",
"redox_syscall",
- "remove_dir_all",
- "winapi",
+ "rustix",
+ "windows-sys 0.42.0",
]
[[package]]
@@ -12360,6 +12537,7 @@
"frame-system",
"pallet-balances",
"pallet-common",
+ "pallet-configuration",
"pallet-ethereum",
"pallet-evm",
"pallet-evm-coder-substrate",
@@ -12378,22 +12556,23 @@
"sp-std",
"up-data-structs",
"up-sponsorship",
+ "xcm",
]
[[package]]
name = "thiserror"
-version = "1.0.38"
+version = "1.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
+checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.38"
+version = "1.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
+checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e"
dependencies = [
"proc-macro2",
"quote",
@@ -12408,10 +12587,11 @@
[[package]]
name = "thread_local"
-version = "1.1.4"
+version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
dependencies = [
+ "cfg-if",
"once_cell",
]
@@ -12450,12 +12630,11 @@
[[package]]
name = "tikv-jemalloc-sys"
-version = "0.5.2+5.3.0-patched"
+version = "0.5.3+5.3.0-patched"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec45c14da997d0925c7835883e4d5c181f196fa142f8c19d7643d1e9af2592c3"
+checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8"
dependencies = [
"cc",
- "fs_extra",
"libc",
]
@@ -12472,9 +12651,9 @@
[[package]]
name = "time"
-version = "0.3.17"
+version = "0.3.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
+checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
dependencies = [
"itoa",
"serde",
@@ -12490,9 +12669,9 @@
[[package]]
name = "time-macros"
-version = "0.2.6"
+version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
+checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
dependencies = [
"time-core",
]
@@ -12552,9 +12731,9 @@
[[package]]
name = "tokio"
-version = "1.25.0"
+version = "1.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af"
+checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
dependencies = [
"autocfg",
"bytes",
@@ -12567,7 +12746,7 @@
"signal-hook-registry",
"socket2",
"tokio-macros",
- "windows-sys 0.42.0",
+ "windows-sys 0.45.0",
]
[[package]]
@@ -12594,9 +12773,9 @@
[[package]]
name = "tokio-stream"
-version = "0.1.11"
+version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce"
+checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313"
dependencies = [
"futures-core",
"pin-project-lite 0.2.9",
@@ -12606,9 +12785,9 @@
[[package]]
name = "tokio-util"
-version = "0.7.4"
+version = "0.7.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740"
+checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
dependencies = [
"bytes",
"futures-core",
@@ -12630,19 +12809,19 @@
[[package]]
name = "toml_datetime"
-version = "0.5.1"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5"
+checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
[[package]]
name = "toml_edit"
-version = "0.18.1"
+version = "0.19.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b"
+checksum = "9a1eb0622d28f4b9c90adc4ea4b2b46b47663fde9ac5fafcb14a1369d5508825"
dependencies = [
"indexmap",
- "nom8",
"toml_datetime",
+ "winnow",
]
[[package]]
@@ -12732,8 +12911,8 @@
[[package]]
name = "tracing-gum"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"polkadot-node-jaeger",
"polkadot-primitives",
@@ -12743,8 +12922,8 @@
[[package]]
name = "tracing-gum-proc-macro"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"expander 0.0.6",
"proc-macro-crate",
@@ -12804,7 +12983,19 @@
checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908"
dependencies = [
"hash-db",
- "hashbrown",
+ "hashbrown 0.12.3",
+ "log",
+ "smallvec",
+]
+
+[[package]]
+name = "trie-db"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3390c0409daaa6027d6681393316f4ccd3ff82e1590a1e4725014e3ae2bf1920"
+dependencies = [
+ "hash-db",
+ "hashbrown 0.13.2",
"log",
"rustc-hex",
"smallvec",
@@ -12884,8 +13075,9 @@
[[package]]
name = "try-runtime-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39#1837f423b494254e1d27834b1c9da34b2c0c2375"
dependencies = [
+ "async-trait",
"clap",
"frame-remote-externalities",
"frame-try-runtime",
@@ -12898,14 +13090,19 @@
"serde",
"serde_json",
"sp-api",
+ "sp-consensus-aura",
+ "sp-consensus-babe",
"sp-core",
"sp-debug-derive",
"sp-externalities",
+ "sp-inherents",
"sp-io",
"sp-keystore",
"sp-rpc",
"sp-runtime",
"sp-state-machine",
+ "sp-timestamp",
+ "sp-transaction-storage-proof",
"sp-version",
"sp-weights",
"substrate-rpc-client",
@@ -12979,7 +13176,7 @@
"sp-runtime",
"sp-state-machine",
"sp-trie",
- "trie-db",
+ "trie-db 0.24.0",
"unique-runtime",
"up-common",
"up-data-structs",
@@ -13008,15 +13205,15 @@
[[package]]
name = "unicode-bidi"
-version = "0.3.10"
+version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58"
+checksum = "524b68aca1d05e03fdf03fcdce2c6c94b6daf6d16861ddaa7e4f2b6638a9052c"
[[package]]
name = "unicode-ident"
-version = "1.0.6"
+version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
[[package]]
name = "unicode-normalization"
@@ -13041,7 +13238,7 @@
[[package]]
name = "unique-node"
-version = "0.9.37"
+version = "0.9.39"
dependencies = [
"app-promotion-rpc",
"clap",
@@ -13147,7 +13344,7 @@
[[package]]
name = "unique-runtime"
-version = "0.9.37"
+version = "0.9.39"
dependencies = [
"app-promotion-rpc",
"cumulus-pallet-aura-ext",
@@ -13202,7 +13399,6 @@
"pallet-maintenance",
"pallet-nonfungible",
"pallet-preimage",
- "pallet-randomness-collective-flip",
"pallet-refungible",
"pallet-session",
"pallet-structure",
@@ -13257,6 +13453,16 @@
]
[[package]]
+name = "universal-hash"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5"
+dependencies = [
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
name = "unsigned-varint"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -13276,7 +13482,7 @@
[[package]]
name = "up-common"
-version = "0.9.37"
+version = "0.9.39"
dependencies = [
"cumulus-primitives-core",
"fp-rpc",
@@ -13335,7 +13541,7 @@
[[package]]
name = "up-sponsorship"
version = "0.1.0"
-source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.37#72931fde262ecc4418928dd4bbeea10c64593175"
+source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.39#7e74e3937a2c08bf29a00084a5c2f1ca6676d87a"
dependencies = [
"impl-trait-for-tuples",
]
@@ -13525,9 +13731,9 @@
[[package]]
name = "wasm-opt"
-version = "0.110.2"
+version = "0.111.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b68e8037b4daf711393f4be2056246d12d975651b14d581520ad5d1f19219cec"
+checksum = "84a303793cbc01fb96551badfc7367db6007396bba6bac97936b3c8b6f7fdb41"
dependencies = [
"anyhow",
"libc",
@@ -13541,9 +13747,9 @@
[[package]]
name = "wasm-opt-cxx-sys"
-version = "0.110.2"
+version = "0.111.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91adbad477e97bba3fbd21dd7bfb594e7ad5ceb9169ab1c93ab9cb0ada636b6f"
+checksum = "d9c9deb56f8a9f2ec177b3bd642a8205621835944ed5da55f2388ef216aca5a4"
dependencies = [
"anyhow",
"cxx",
@@ -13553,9 +13759,9 @@
[[package]]
name = "wasm-opt-sys"
-version = "0.110.2"
+version = "0.111.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec4fa5a322a4e6ac22fd141f498d56afbdbf9df5debeac32380d2dcaa3e06941"
+checksum = "4432e28b542738a9776cedf92e8a99d8991c7b4667ee2c7ccddfb479dd2856a7"
dependencies = [
"anyhow",
"cc",
@@ -13610,22 +13816,24 @@
"memory_units",
"num-rational",
"num-traits",
+ "region",
]
[[package]]
name = "wasmparser"
-version = "0.89.1"
+version = "0.100.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef"
+checksum = "64b20236ab624147dfbb62cf12a19aaf66af0e41b8398838b66e997d07d269d4"
dependencies = [
"indexmap",
+ "url",
]
[[package]]
name = "wasmtime"
-version = "1.0.2"
+version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731"
+checksum = "f6e89f9819523447330ffd70367ef4a18d8c832e24e8150fe054d1d912841632"
dependencies = [
"anyhow",
"bincode",
@@ -13646,23 +13854,23 @@
"wasmtime-environ",
"wasmtime-jit",
"wasmtime-runtime",
- "windows-sys 0.36.1",
+ "windows-sys 0.42.0",
]
[[package]]
name = "wasmtime-asm-macros"
-version = "1.0.2"
+version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597"
+checksum = "9bd3a5e46c198032da934469f3a6e48649d1f9142438e4fd4617b68a35644b8a"
dependencies = [
"cfg-if",
]
[[package]]
name = "wasmtime-cache"
-version = "1.0.2"
+version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcd849399d17d2270141cfe47fa0d91ee52d5f8ea9b98cf7ddde0d53e5f79882"
+checksum = "b389ae9b678b9c3851091a4804f4182d688d27aff7abc9aa37fa7be37d8ecffa"
dependencies = [
"anyhow",
"base64 0.13.1",
@@ -13670,19 +13878,19 @@
"directories-next",
"file-per-thread-logger",
"log",
- "rustix 0.35.13",
+ "rustix",
"serde",
- "sha2 0.9.9",
+ "sha2 0.10.6",
"toml",
- "windows-sys 0.36.1",
+ "windows-sys 0.42.0",
"zstd",
]
[[package]]
name = "wasmtime-cranelift"
-version = "1.0.2"
+version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bd91339b742ff20bfed4532a27b73c86b5bcbfedd6bea2dcdf2d64471e1b5c6"
+checksum = "59b2c92a08c0db6efffd88fdc97d7aa9c7c63b03edb0971dbca745469f820e8c"
dependencies = [
"anyhow",
"cranelift-codegen",
@@ -13701,9 +13909,9 @@
[[package]]
name = "wasmtime-environ"
-version = "1.0.2"
+version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644"
+checksum = "9a6db9fc52985ba06ca601f2ff0ff1f526c5d724c7ac267b47326304b0c97883"
dependencies = [
"anyhow",
"cranelift-entity",
@@ -13720,9 +13928,9 @@
[[package]]
name = "wasmtime-jit"
-version = "1.0.2"
+version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681"
+checksum = "b77e3a52cd84d0f7f18554afa8060cfe564ccac61e3b0802d3fd4084772fa5f6"
dependencies = [
"addr2line 0.17.0",
"anyhow",
@@ -13733,32 +13941,42 @@
"log",
"object 0.29.0",
"rustc-demangle",
- "rustix 0.35.13",
"serde",
"target-lexicon",
- "thiserror",
"wasmtime-environ",
"wasmtime-jit-debug",
+ "wasmtime-jit-icache-coherence",
"wasmtime-runtime",
- "windows-sys 0.36.1",
+ "windows-sys 0.42.0",
]
[[package]]
name = "wasmtime-jit-debug"
-version = "1.0.2"
+version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731"
+checksum = "d0245e8a9347017c7185a72e215218a802ff561545c242953c11ba00fccc930f"
dependencies = [
"object 0.29.0",
"once_cell",
- "rustix 0.35.13",
+ "rustix",
]
[[package]]
+name = "wasmtime-jit-icache-coherence"
+version = "6.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67d412e9340ab1c83867051d8d1d7c90aa8c9afc91da086088068e2734e25064"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
name = "wasmtime-runtime"
-version = "1.0.2"
+version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd"
+checksum = "d594e791b5fdd4dbaf8cf7ae62f2e4ff85018ce90f483ca6f42947688e48827d"
dependencies = [
"anyhow",
"cc",
@@ -13771,19 +13989,18 @@
"memoffset 0.6.5",
"paste",
"rand 0.8.5",
- "rustix 0.35.13",
- "thiserror",
+ "rustix",
"wasmtime-asm-macros",
"wasmtime-environ",
"wasmtime-jit-debug",
- "windows-sys 0.36.1",
+ "windows-sys 0.42.0",
]
[[package]]
name = "wasmtime-types"
-version = "1.0.2"
+version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb"
+checksum = "a6688d6f96d4dbc1f89fab626c56c1778936d122b5f4ae7a57c2eb42b8d982e2"
dependencies = [
"cranelift-entity",
"serde",
@@ -13856,7 +14073,7 @@
"sha2 0.10.6",
"stun",
"thiserror",
- "time 0.3.17",
+ "time 0.3.20",
"tokio",
"turn",
"url",
@@ -13888,22 +14105,22 @@
[[package]]
name = "webrtc-dtls"
-version = "0.7.0"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7021987ae0a2ed6c8cd33f68e98e49bb6e74ffe9543310267b48a1bbe3900e5f"
+checksum = "942be5bd85f072c3128396f6e5a9bfb93ca8c1939ded735d177b7bcba9a13d05"
dependencies = [
"aes 0.6.0",
- "aes-gcm 0.8.0",
+ "aes-gcm 0.10.1",
"async-trait",
"bincode",
"block-modes",
"byteorder",
"ccm",
"curve25519-dalek 3.2.0",
- "der-parser 8.1.0",
+ "der-parser 8.2.0",
"elliptic-curve",
"hkdf",
- "hmac 0.10.1",
+ "hmac 0.12.1",
"log",
"oid-registry 0.6.1",
"p256",
@@ -13915,8 +14132,8 @@
"rustls 0.19.1",
"sec1",
"serde",
- "sha-1",
- "sha2 0.9.9",
+ "sha1",
+ "sha2 0.10.6",
"signature",
"subtle",
"thiserror",
@@ -13929,9 +14146,9 @@
[[package]]
name = "webrtc-ice"
-version = "0.9.0"
+version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "494483fbb2f5492620871fdc78b084aed8807377f6e3fe88b2e49f0a9c9c41d7"
+checksum = "465a03cc11e9a7d7b4f9f99870558fe37a102b65b93f8045392fef7c67b39e80"
dependencies = [
"arc-swap",
"async-trait",
@@ -14035,26 +14252,17 @@
"lazy_static",
"libc",
"log",
- "nix",
+ "nix 0.24.3",
"rand 0.8.5",
"thiserror",
"tokio",
"winapi",
-]
-
-[[package]]
-name = "wepoll-ffi"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb"
-dependencies = [
- "cc",
]
[[package]]
name = "westend-runtime"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -14079,7 +14287,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.37)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.39)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
@@ -14098,6 +14306,8 @@
"pallet-society",
"pallet-staking",
"pallet-staking-reward-curve",
+ "pallet-staking-runtime-api",
+ "pallet-state-trie-migration",
"pallet-sudo",
"pallet-timestamp",
"pallet-transaction-payment",
@@ -14143,8 +14353,8 @@
[[package]]
name = "westend-runtime-constants"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -14167,6 +14377,16 @@
]
[[package]]
+name = "wide"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b689b6c49d6549434bf944e6b0f39238cf63693cb7a147e9d887507fffa3b223"
+dependencies = [
+ "bytemuck",
+ "safe_arch",
+]
+
+[[package]]
name = "widestring"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -14218,19 +14438,6 @@
[[package]]
name = "windows-sys"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
-dependencies = [
- "windows_aarch64_msvc 0.36.1",
- "windows_i686_gnu 0.36.1",
- "windows_i686_msvc 0.36.1",
- "windows_x86_64_gnu 0.36.1",
- "windows_x86_64_msvc 0.36.1",
-]
-
-[[package]]
-name = "windows-sys"
version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
@@ -14282,12 +14489,6 @@
[[package]]
name = "windows_aarch64_msvc"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
-
-[[package]]
-name = "windows_aarch64_msvc"
version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
@@ -14300,12 +14501,6 @@
[[package]]
name = "windows_i686_gnu"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
-
-[[package]]
-name = "windows_i686_gnu"
version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
@@ -14318,12 +14513,6 @@
[[package]]
name = "windows_i686_msvc"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
-
-[[package]]
-name = "windows_i686_msvc"
version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
@@ -14333,12 +14522,6 @@
version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
[[package]]
name = "windows_x86_64_gnu"
@@ -14360,15 +14543,18 @@
[[package]]
name = "windows_x86_64_msvc"
-version = "0.36.1"
+version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
[[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.1"
+name = "winnow"
+version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
+checksum = "ee7b2c67f962bf5042bfd8b6a916178df33a26eec343ae064cb8e069f638fa6f"
+dependencies = [
+ "memchr",
+]
[[package]]
name = "winreg"
@@ -14426,7 +14612,7 @@
"ring",
"rusticata-macros",
"thiserror",
- "time 0.3.17",
+ "time 0.3.20",
]
[[package]]
@@ -14435,39 +14621,42 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8"
dependencies = [
- "asn1-rs 0.5.1",
+ "asn1-rs 0.5.2",
"base64 0.13.1",
"data-encoding",
- "der-parser 8.1.0",
+ "der-parser 8.2.0",
"lazy_static",
"nom",
"oid-registry 0.6.1",
"rusticata-macros",
"thiserror",
- "time 0.3.17",
+ "time 0.3.20",
]
[[package]]
name = "xcm"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
+ "bounded-collections",
"derivative",
"impl-trait-for-tuples",
"log",
"parity-scale-codec",
"scale-info",
- "sp-runtime",
+ "serde",
+ "sp-weights",
"xcm-procedural",
]
[[package]]
name = "xcm-builder"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"frame-support",
"frame-system",
+ "impl-trait-for-tuples",
"log",
"pallet-transaction-payment",
"parity-scale-codec",
@@ -14483,9 +14672,10 @@
[[package]]
name = "xcm-executor"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
+ "environmental",
"frame-benchmarking",
"frame-support",
"impl-trait-for-tuples",
@@ -14496,13 +14686,14 @@
"sp-io",
"sp-runtime",
"sp-std",
+ "sp-weights",
"xcm",
]
[[package]]
name = "xcm-procedural"
-version = "0.9.37"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3"
+version = "0.9.39-1"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.39#298b4aefe1b07b864b6ef7ede041d73f6a0a7f93"
dependencies = [
"Inflector",
"proc-macro2",
@@ -14530,7 +14721,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4"
dependencies = [
- "time 0.3.17",
+ "time 0.3.20",
]
[[package]]
@@ -14575,9 +14766,9 @@
[[package]]
name = "zstd-sys"
-version = "2.0.6+zstd.1.5.2"
+version = "2.0.7+zstd.1.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68a3f9792c0c3dc6c165840a75f47ae1f4da402c2d006881129579f6597e801b"
+checksum = "94509c3ba2fe55294d752b79842c530ccfab760192521df74a081a78d2b3c7f5"
dependencies = [
"cc",
"libc",
Cargo.tomldiffbeforeafterboth--- a/Cargo.toml
+++ b/Cargo.toml
@@ -11,7 +11,7 @@
'runtime/tests',
'runtime/unique',
]
-package.version = "0.9.37"
+package.version = "0.9.39"
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.37" }
+pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.39" }
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.37" }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.39" }
# Unique: Runtimes
opal-runtime = { path = "runtime/opal" }
@@ -64,124 +64,123 @@
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.37" }
-fc-db = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
-pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
+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" }
# 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.37" }
-cumulus-client-consensus-aura = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
-cumulus-client-consensus-common = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
-cumulus-client-network = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
-cumulus-client-service = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
-cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
-cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
-cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
-cumulus-pallet-xcm = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
-cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
-cumulus-primitives-core = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
-cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
-cumulus-primitives-timestamp = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
-cumulus-primitives-utility = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37", default-features = false }
-cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
-cumulus-relay-chain-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
-cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
-frame-executive = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-authorship = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-balances = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-preimage = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-sudo = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-treasury = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }
-parachain-info = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37" }
-polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37" }
-polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }
-polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37" }
-polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37" }
-sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-sysinfo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
+cumulus-client-cli = { git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-client-consensus-aura = { git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-client-consensus-common = { git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-client-network = { git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-client-service = { git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-pallet-aura-ext = { default-features = false , git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-pallet-dmp-queue = { default-features = false , git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-pallet-parachain-system = { default-features = false , git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-pallet-xcm = { default-features = false , git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-pallet-xcmp-queue = { default-features = false , git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-primitives-core = { default-features = false , git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-primitives-parachain-inherent = { git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-primitives-timestamp = { default-features = false , git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-primitives-utility = { default-features = false , git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+cumulus-relay-chain-inprocess-interface = { git = "https://github.com/uniquenetwork/cumulus", branch = "polkadot-v0.9.39" }
+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" }
+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/uniquenetwork/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" }
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.37" }
-sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-block-builder = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-externalities = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-inherents = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-offchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-staking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-trie = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-version = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }
-xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }
-xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37", default-features = false }
+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 }
# Parity: Build utils
-substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
+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" }
# Parity: Benchmarking
-frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
+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" }
# Parity: Try Runtime
-frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-try-runtime-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
+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" }
# ORML
-orml-tokens = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37", default-features = false }
-orml-traits = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37", default-features = false }
-orml-vesting = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37", default-features = false }
-orml-xtokens = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.37", default-features = false }
+orml-tokens = { default-features = false , git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "unique-polkadot-v0.9.39" }
+orml-traits = { default-features = false , git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "unique-polkadot-v0.9.39" }
+orml-vesting = { default-features = false , git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "unique-polkadot-v0.9.39" }
+orml-xtokens = { default-features = false , git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "unique-polkadot-v0.9.39" }
# Other
derivative = { version = "2.2.0", features = ["use_core"] }
Makefilediffbeforeafterboth--- a/Makefile
+++ b/Makefile
@@ -82,8 +82,8 @@
cargo run --release --features runtime-benchmarks,$(RUNTIME) -- \
benchmark pallet --pallet pallet-$(if $(PALLET),$(PALLET),$(error Must set PALLET)) \
--wasm-execution compiled --extrinsic '*' \
- --template .maintain/frame-weight-template.hbs --steps=50 --repeat=80 --heap-pages=4096 \
- --output=./pallets/$(if $(PALLET_DIR),$(PALLET_DIR),$(PALLET))/src/weights.rs
+ $(if $(TEMPLATE),$(TEMPLATE),--template=.maintain/frame-weight-template.hbs) --steps=50 --repeat=80 --heap-pages=4096 \
+ --output=$(if $(OUTPUT),$(OUTPUT),./pallets/$(if $(PALLET_DIR),$(PALLET_DIR),$(PALLET))/src/weights.rs)
.PHONY: bench-evm-migration
bench-evm-migration:
@@ -135,15 +135,19 @@
.PHONY: bench-app-promotion
bench-app-promotion:
- make _bench PALLET=app-promotion PALLET_DIR=app-promotion
+ make _bench PALLET=app-promotion
.PHONY: bench-maintenance
bench-maintenance:
make _bench PALLET=maintenance
+.PHONY: bench-xcm
+bench-xcm:
+ make _bench PALLET=xcm OUTPUT=./runtime/common/weights/xcm.rs TEMPLATE="--template=.maintain/external-weight-template.hbs"
+
.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: 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:
README.mddiffbeforeafterboth--- a/README.md
+++ b/README.md
@@ -90,7 +90,7 @@
```
git clone https://github.com/paritytech/polkadot.git
cd polkadot
-git checkout release-v0.9.37
+git checkout release-v0.9.39
cargo build --release
```
client/rpc/src/lib.rsdiffbeforeafterboth--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -28,7 +28,7 @@
RpcCollection, CollectionId, CollectionStats, CollectionLimits, TokenId, Property,
PropertyKeyPermission, TokenData, TokenChild,
};
-use sp_api::{BlockId, BlockT, ProvideRuntimeApi, ApiExt};
+use sp_api::{BlockT, ProvideRuntimeApi, ApiExt};
use sp_blockchain::HeaderBackend;
use up_rpc::UniqueApi as UniqueRuntimeApi;
use app_promotion_rpc::AppPromotionApi as AppPromotionRuntimeApi;
@@ -342,9 +342,9 @@
at: Option<<Block as BlockT>::Hash>,
) -> Result<$result> {
let api = self.client.runtime_api();
- let at = BlockId::hash(at.unwrap_or_else(|| self.client.info().best_hash));
+ let at = at.unwrap_or_else(|| self.client.info().best_hash);
let _api_version = if let Ok(Some(api_version)) =
- api.api_version::<$runtime_api_macro!()>(&at)
+ api.api_version::<$runtime_api_macro!()>(at)
{
api_version
} else {
@@ -353,9 +353,9 @@
};
let result = $(if _api_version < $ver {
- api.$changed_method_name(&at, $($changed_name),*).map(|r| r.map($fixer))
+ api.$changed_method_name(at, $($changed_name),*).map(|r| r.map($fixer))
} else)*
- { api.$method_name(&at, $($((|$map_arg: $ty| $map))? ($name)),*) };
+ { api.$method_name(at, $($((|$map_arg: $ty| $map))? ($name)),*) };
Ok(result
.map_err(|e| anyhow!("unable to query: {e}"))?
node/cli/src/chain_spec.rsdiffbeforeafterboth--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -202,6 +202,9 @@
accounts: BTreeMap::new(),
},
ethereum: EthereumConfig {},
+ foreign_assets: Default::default(),
+ polkadot_xcm: Default::default(),
+ transaction_payment: Default::default(),
}
}};
}
@@ -252,6 +255,9 @@
accounts: BTreeMap::new(),
},
ethereum: EthereumConfig {},
+ foreign_assets: Default::default(),
+ polkadot_xcm: Default::default(),
+ transaction_payment: Default::default(),
}
}};
}
node/cli/src/service.rsdiffbeforeafterboth--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -469,7 +469,7 @@
block_announce_validator_builder: Some(Box::new(|_| {
Box::new(block_announce_validator)
})),
- warp_sync: None,
+ warp_sync_params: None,
})?;
let rpc_client = client.clone();
@@ -495,6 +495,7 @@
Duration::new(6, 0),
client.clone(),
backend.clone(),
+ overrides_handle::<_, _, Runtime>(client.clone()),
frontier_backend.clone(),
3,
0,
@@ -587,6 +588,10 @@
let relay_chain_slot_duration = Duration::from_secs(6);
+ let overseer_handle = relay_chain_interface
+ .overseer_handle()
+ .map_err(|e| sc_service::Error::Application(Box::new(e)))?;
+
if validator {
let parachain_consensus = build_consensus(
client.clone(),
@@ -615,6 +620,7 @@
collator_key: collator_key.expect("Command line arguments do not allow this. qed"),
relay_chain_interface,
relay_chain_slot_duration,
+ recovery_handle: Box::new(overseer_handle),
};
start_collator(params).await?;
@@ -627,6 +633,7 @@
import_queue: import_queue_service,
relay_chain_interface,
relay_chain_slot_duration,
+ recovery_handle: Box::new(overseer_handle),
};
start_full_node(params)?;
@@ -900,7 +907,7 @@
spawn_handle: task_manager.spawn_handle(),
import_queue,
block_announce_validator_builder: None,
- warp_sync: None,
+ warp_sync_params: None,
})?;
if config.offchain_worker.enabled {
@@ -1016,6 +1023,7 @@
Duration::new(6, 0),
client.clone(),
backend.clone(),
+ overrides_handle::<_, _, Runtime>(client.clone()),
frontier_backend.clone(),
3,
0,
node/rpc/src/lib.rsdiffbeforeafterboth--- a/node/rpc/src/lib.rs
+++ b/node/rpc/src/lib.rs
@@ -115,18 +115,15 @@
let mut overrides_map = BTreeMap::new();
overrides_map.insert(
EthereumStorageSchema::V1,
- Box::new(SchemaV1Override::new(client.clone()))
- as Box<dyn StorageOverride<_> + Send + Sync>,
+ Box::new(SchemaV1Override::new(client.clone())) as Box<dyn StorageOverride<_> + 'static>,
);
overrides_map.insert(
EthereumStorageSchema::V2,
- Box::new(SchemaV2Override::new(client.clone()))
- as Box<dyn StorageOverride<_> + Send + Sync>,
+ Box::new(SchemaV2Override::new(client.clone())) as Box<dyn StorageOverride<_> + 'static>,
);
overrides_map.insert(
EthereumStorageSchema::V3,
- Box::new(SchemaV3Override::new(client.clone()))
- as Box<dyn StorageOverride<_> + Send + Sync>,
+ Box::new(SchemaV3Override::new(client.clone())) as Box<dyn StorageOverride<_> + 'static>,
);
Arc::new(OverrideHandle {
pallets/app-promotion/Cargo.tomldiffbeforeafterboth--- a/pallets/app-promotion/Cargo.toml
+++ b/pallets/app-promotion/Cargo.toml
@@ -69,4 +69,4 @@
################################################################################
# Other
-log = { version = "0.4.16", default-features = false }
\ No newline at end of file
+log = { version = "0.4.16", default-features = false }
pallets/collator-selection/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/collator-selection/src/benchmarking.rs
+++ b/pallets/collator-selection/src/benchmarking.rs
@@ -119,8 +119,11 @@
.collect::<Vec<_>>();
for who in candidates {
- <CollatorSelection<T>>::add_invulnerable(T::UpdateOrigin::successful_origin(), who)
- .unwrap();
+ <CollatorSelection<T>>::add_invulnerable(
+ T::UpdateOrigin::try_successful_origin().unwrap(),
+ who,
+ )
+ .unwrap();
}
}
@@ -178,7 +181,7 @@
Vec::new()
).unwrap();
- let root_origin = T::UpdateOrigin::successful_origin();
+ let root_origin = T::UpdateOrigin::try_successful_origin().unwrap();
}: {
assert_ok!(
<CollatorSelection<T>>::add_invulnerable(root_origin, new_invulnerable.clone())
@@ -193,7 +196,7 @@
register_validators::<T>(b);
register_invulnerables::<T>(b);
- let root_origin = T::UpdateOrigin::successful_origin();
+ let root_origin = T::UpdateOrigin::try_successful_origin().unwrap();
let leaving = <Invulnerables<T>>::get().last().unwrap().clone();
whitelist!(leaving);
}: {
@@ -304,7 +307,7 @@
let leaving = <Candidates<T>>::get().last().unwrap().clone();
whitelist!(leaving);
- let origin = T::UpdateOrigin::successful_origin();
+ let origin = T::UpdateOrigin::try_successful_origin().unwrap();
}: {
assert_ok!(
<CollatorSelection<T>>::force_release_license(origin, leaving.clone())
pallets/collator-selection/src/lib.rsdiffbeforeafterboth--- a/pallets/collator-selection/src/lib.rs
+++ b/pallets/collator-selection/src/lib.rs
@@ -609,10 +609,6 @@
DispatchClass::Mandatory,
);
}
-
- fn note_uncle(_author: T::AccountId, _age: T::BlockNumber) {
- //TODO can we ignore this?
- }
}
/// Play the role of the session manager.
pallets/collator-selection/src/mock.rsdiffbeforeafterboth--- a/pallets/collator-selection/src/mock.rs
+++ b/pallets/collator-selection/src/mock.rs
@@ -62,7 +62,7 @@
Aura: pallet_aura::{Pallet, Storage, Config<T>},
Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>},
CollatorSelection: collator_selection::{Pallet, Call, Storage, Event<T>},
- Authorship: pallet_authorship::{Pallet, Call, Storage, Inherent},
+ Authorship: pallet_authorship::{Pallet, Storage},
Configuration: pallet_configuration::{Pallet, Call, Storage, Event<T>},
}
);
@@ -128,8 +128,6 @@
impl pallet_authorship::Config for Test {
type FindAuthor = Author4;
- type UncleGenerations = ();
- type FilterUncle = ();
type EventHandler = CollatorSelection;
}
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -76,9 +76,10 @@
CollectionMode, NFT_SPONSOR_TRANSFER_TIMEOUT, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MAX_SPONSOR_TIMEOUT, CUSTOM_DATA_LIMIT, CollectionLimits,
CreateCollectionData, SponsorshipState, CreateItemExData, SponsoringRateLimit, budget::Budget,
- PhantomType, Property, Properties, PropertiesPermissionMap, PropertyKey, PropertyValue,
- PropertyPermission, PropertiesError, TokenOwnerError, PropertyKeyPermission, TokenData,
- TrySetProperty, PropertyScope, CollectionPermissions,
+ PhantomType, Property, CollectionProperties as CollectionPropertiesT, TokenProperties,
+ PropertiesPermissionMap, PropertyKey, PropertyValue, PropertyPermission, PropertiesError,
+ TokenOwnerError, PropertyKeyPermission, TokenData, TrySetProperty, PropertyScope,
+ CollectionPermissions,
};
use up_pov_estimate_rpc::PovInfo;
@@ -800,9 +801,8 @@
pub type CollectionProperties<T> = StorageMap<
Hasher = Blake2_128Concat,
Key = CollectionId,
- Value = Properties,
+ Value = CollectionPropertiesT,
QueryKind = ValueQuery,
- OnEmpty = up_data_structs::CollectionProperties,
>;
/// Storage of token property permissions of a collection.
@@ -1082,7 +1082,7 @@
flags,
};
- let mut collection_properties = up_data_structs::CollectionProperties::get();
+ let mut collection_properties = CollectionPropertiesT::new();
collection_properties
.try_set_from_iter(data.properties.into_iter())
.map_err(<Error<T>>::from)?;
@@ -1246,9 +1246,9 @@
token_id: TokenId,
properties_updates: impl Iterator<Item = (PropertyKey, Option<PropertyValue>)>,
is_token_create: bool,
- mut stored_properties: Properties,
+ mut stored_properties: TokenProperties,
is_token_owner: impl Fn() -> Result<bool, DispatchError>,
- set_token_properties: impl FnOnce(Properties),
+ set_token_properties: impl FnOnce(TokenProperties),
log: evm_coder::ethereum::Log,
) -> DispatchResult {
let is_collection_admin = collection.is_owner_or_admin(sender);
pallets/configuration/src/lib.rsdiffbeforeafterboth--- a/pallets/configuration/src/lib.rs
+++ b/pallets/configuration/src/lib.rs
@@ -116,7 +116,7 @@
#[pallet::storage]
pub type XcmAllowedLocationsOverride<T: Config> = StorageValue<
- Value = BoundedVec<xcm::v2::MultiLocation, T::MaxXcmAllowedLocations>,
+ Value = BoundedVec<xcm::v3::MultiLocation, T::MaxXcmAllowedLocations>,
QueryKind = OptionQuery,
>;
pallets/foreign-assets/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/foreign-assets/src/benchmarking.rs
+++ b/pallets/foreign-assets/src/benchmarking.rs
@@ -22,15 +22,14 @@
use crate::AssetMetadata;
use xcm::opaque::latest::Junction::Parachain;
use xcm::VersionedMultiLocation;
-use frame_support::{
- traits::{Currency},
-};
+use xcm::v3::Junctions::X1;
+use frame_support::traits::Currency;
use sp_std::boxed::Box;
benchmarks! {
register_foreign_asset {
let owner: T::AccountId = account("user", 0, 1);
- let location: VersionedMultiLocation = VersionedMultiLocation::from(Parachain(1000).into());
+ let location: VersionedMultiLocation = VersionedMultiLocation::from(X1(Parachain(1000)));
let metadata: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{
name: "name".into(),
symbol: "symbol".into(),
@@ -46,7 +45,7 @@
update_foreign_asset {
let owner: T::AccountId = account("user", 0, 1);
- let location: VersionedMultiLocation = VersionedMultiLocation::from(Parachain(2000).into());
+ let location: VersionedMultiLocation = VersionedMultiLocation::from(X1(Parachain(2000)));
let metadata: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{
name: "name".into(),
symbol: "symbol".into(),
pallets/foreign-assets/src/lib.rsdiffbeforeafterboth--- a/pallets/foreign-assets/src/lib.rs
+++ b/pallets/foreign-assets/src/lib.rs
@@ -250,7 +250,7 @@
#[pallet::storage]
#[pallet::getter(fn foreign_asset_locations)]
pub type ForeignAssetLocations<T: Config> =
- StorageMap<_, Twox64Concat, ForeignAssetId, xcm::v2::MultiLocation, OptionQuery>;
+ StorageMap<_, Twox64Concat, ForeignAssetId, xcm::v3::MultiLocation, OptionQuery>;
/// The storages for CurrencyIds.
///
@@ -258,7 +258,7 @@
#[pallet::storage]
#[pallet::getter(fn location_to_currency_ids)]
pub type LocationToCurrencyIds<T: Config> =
- StorageMap<_, Twox64Concat, xcm::v2::MultiLocation, ForeignAssetId, OptionQuery>;
+ StorageMap<_, Twox64Concat, xcm::v3::MultiLocation, ForeignAssetId, OptionQuery>;
/// The storages for AssetMetadatas.
///
@@ -279,6 +279,60 @@
#[pallet::without_storage_info]
pub struct Pallet<T>(_);
+ pub const STORAGE_VERSION: StorageVersion = StorageVersion::new(1);
+ #[pallet::hooks]
+ impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
+ fn on_runtime_upgrade() -> Weight {
+ let mut weight = Weight::default();
+ // 0-1 -- xcmv2 => xcmv3
+ if StorageVersion::get::<Pallet<T>>() <= 0 {
+ pub trait V0ToV1 {
+ type Pallet: 'static + PalletInfoAccess;
+ }
+ #[frame_support::storage_alias]
+ type LocationToCurrencyIds<T: Config> =
+ StorageMap<Pallet<T>, Twox64Concat, xcm::v2::MultiLocation, ForeignAssetId>;
+ <ForeignAssetLocations<T>>::translate_values::<xcm::v2::MultiLocation, _>(|loc| {
+ weight += T::DbWeight::get().reads_writes(1, 1);
+ Some(
+ xcm::v3::MultiLocation::try_from(loc)
+ .expect("failed to migrate multilocation from XCMv2 to XCMv3"),
+ )
+ });
+
+ let old_values: Vec<(xcm::v2::MultiLocation, _)> =
+ <LocationToCurrencyIds<T>>::drain().collect();
+ weight += T::DbWeight::get()
+ .reads_writes(old_values.len() as u64, old_values.len() as u64);
+ for (loc, asset_id) in old_values {
+ let loc = xcm::v3::MultiLocation::try_from(loc)
+ .expect("failed to migrate multilocation from XCMv2 to XCMv3");
+ <crate::LocationToCurrencyIds<T>>::insert(loc, asset_id);
+ }
+ }
+ STORAGE_VERSION.put::<Pallet<T>>();
+ weight += T::DbWeight::get().writes(1);
+ weight
+ }
+ }
+
+ #[pallet::genesis_config]
+ pub struct GenesisConfig;
+
+ #[cfg(feature = "std")]
+ impl Default for GenesisConfig {
+ fn default() -> Self {
+ Self
+ }
+ }
+
+ #[pallet::genesis_build]
+ impl<T: Config> GenesisBuild<T> for GenesisConfig {
+ fn build(&self) {
+ STORAGE_VERSION.put::<Pallet<T>>();
+ }
+ }
+
#[pallet::call]
impl<T: Config> Pallet<T> {
#[pallet::call_index(0)]
@@ -474,7 +528,7 @@
> WeightTrader for FreeForAll<WeightToFee, AssetId, AccountId, Currency, OnUnbalanced>
{
fn new() -> Self {
- Self(0, Zero::zero(), PhantomData)
+ Self(Weight::default(), Zero::zero(), PhantomData)
}
fn buy_weight(&mut self, weight: Weight, payment: Assets) -> Result<Assets, XcmError> {
pallets/identity/Cargo.tomldiffbeforeafterboth--- a/pallets/identity/Cargo.toml
+++ b/pallets/identity/Cargo.toml
@@ -35,6 +35,7 @@
"frame-benchmarking/runtime-benchmarks",
"frame-support/runtime-benchmarks",
"frame-system/runtime-benchmarks",
+ "sp-runtime/runtime-benchmarks",
]
std = [
"codec/std",
pallets/identity/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/identity/src/benchmarking.rs
+++ b/pallets/identity/src/benchmarking.rs
@@ -59,7 +59,7 @@
let registrar: T::AccountId = account("registrar", i, SEED);
let registrar_lookup = T::Lookup::unlookup(registrar.clone());
let _ = T::Currency::make_free_balance_be(®istrar, BalanceOf::<T>::max_value());
- let registrar_origin = T::RegistrarOrigin::successful_origin();
+ let registrar_origin = T::RegistrarOrigin::try_successful_origin().unwrap();
Identity::<T>::add_registrar(registrar_origin, registrar_lookup)?;
Identity::<T>::set_fee(RawOrigin::Signed(registrar.clone()).into(), i, 10u32.into())?;
let fields = IdentityFields(
@@ -142,7 +142,7 @@
add_registrar {
let r in 1 .. T::MaxRegistrars::get() - 1 => add_registrars::<T>(r)?;
ensure!(Registrars::<T>::get().len() as u32 == r, "Registrars not set up correctly.");
- let origin = T::RegistrarOrigin::successful_origin();
+ let origin = T::RegistrarOrigin::try_successful_origin().unwrap();
let account = T::Lookup::unlookup(account("registrar", r + 1, SEED));
}: _<T::RuntimeOrigin>(origin, account)
verify {
@@ -301,7 +301,7 @@
let r in 1 .. T::MaxRegistrars::get() - 1 => add_registrars::<T>(r)?;
- let registrar_origin = T::RegistrarOrigin::successful_origin();
+ let registrar_origin = T::RegistrarOrigin::try_successful_origin().unwrap();
Identity::<T>::add_registrar(registrar_origin, caller_lookup)?;
let registrars = Registrars::<T>::get();
ensure!(registrars[r as usize].as_ref().unwrap().fee == 0u32.into(), "Fee already set.");
@@ -318,7 +318,7 @@
let r in 1 .. T::MaxRegistrars::get() - 1 => add_registrars::<T>(r)?;
- let registrar_origin = T::RegistrarOrigin::successful_origin();
+ let registrar_origin = T::RegistrarOrigin::try_successful_origin().unwrap();
Identity::<T>::add_registrar(registrar_origin, caller_lookup)?;
let registrars = Registrars::<T>::get();
ensure!(registrars[r as usize].as_ref().unwrap().account == caller, "id not set.");
@@ -336,7 +336,7 @@
let r in 1 .. T::MaxRegistrars::get() - 1 => add_registrars::<T>(r)?;
- let registrar_origin = T::RegistrarOrigin::successful_origin();
+ let registrar_origin = T::RegistrarOrigin::try_successful_origin().unwrap();
Identity::<T>::add_registrar(registrar_origin, caller_lookup)?;
let fields = IdentityFields(
IdentityField::Display | IdentityField::Legal | IdentityField::Web | IdentityField::Riot
@@ -368,7 +368,7 @@
let info_hash = T::Hashing::hash_of(&info);
Identity::<T>::set_identity(user_origin.clone(), Box::new(info))?;
- let registrar_origin = T::RegistrarOrigin::successful_origin();
+ let registrar_origin = T::RegistrarOrigin::try_successful_origin().unwrap();
Identity::<T>::add_registrar(registrar_origin, caller_lookup)?;
Identity::<T>::request_judgement(user_origin, r, 10u32.into())?;
}: _(RawOrigin::Signed(caller), r, user_lookup, Judgement::Reasonable, info_hash)
@@ -406,7 +406,7 @@
)?;
}
ensure!(IdentityOf::<T>::contains_key(&target), "Identity not set");
- let origin = T::ForceOrigin::successful_origin();
+ let origin = T::ForceOrigin::try_successful_origin().unwrap();
}: _<T::RuntimeOrigin>(origin, target_lookup)
verify {
ensure!(!IdentityOf::<T>::contains_key(&target), "Identity not removed");
@@ -424,14 +424,14 @@
info: create_identity_info::<T>(x),
},
)).collect::<Vec<_>>();
- let origin = T::ForceOrigin::successful_origin();
+ let origin = T::ForceOrigin::try_successful_origin().unwrap();
}: _<T::RuntimeOrigin>(origin, identities)
force_remove_identities {
let x in 0 .. T::MaxAdditionalFields::get();
let n in 0..600;
use frame_benchmarking::account;
- let origin = T::ForceOrigin::successful_origin();
+ let origin = T::ForceOrigin::try_successful_origin().unwrap();
let identities = (0..n).map(|i| (
account("caller", i, SEED),
Registration::<BalanceOf<T>, T::MaxRegistrars, T::MaxAdditionalFields> {
@@ -460,7 +460,7 @@
),
)
}).collect::<Vec<_>>();
- let origin = T::ForceOrigin::successful_origin();
+ let origin = T::ForceOrigin::try_successful_origin().unwrap();
}: _<T::RuntimeOrigin>(origin, identities)
add_sub {
pallets/nonfungible/src/lib.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -102,8 +102,8 @@
use up_data_structs::{
AccessMode, CollectionId, CollectionFlags, CustomDataLimit, TokenId, CreateCollectionData,
CreateNftExData, mapping::TokenAddressMapping, budget::Budget, Property, PropertyKey,
- PropertyValue, PropertyKeyPermission, Properties, PropertyScope, TrySetProperty, TokenChild,
- AuxPropertyValue, PropertiesPermissionMap,
+ PropertyValue, PropertyKeyPermission, PropertyScope, TrySetProperty, TokenChild,
+ AuxPropertyValue, PropertiesPermissionMap, TokenProperties as TokenPropertiesT,
};
use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};
use pallet_common::{
@@ -201,9 +201,8 @@
#[pallet::getter(fn token_properties)]
pub type TokenProperties<T: Config> = StorageNMap<
Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
- Value = Properties,
+ Value = TokenPropertiesT,
QueryKind = ValueQuery,
- OnEmpty = up_data_structs::TokenProperties,
>;
/// Custom data of a token that is serialized to bytes,
pallets/nonfungible/src/weights.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/weights.rs
+++ /dev/null
@@ -1,410 +0,0 @@
-// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs
-
-//! Autogenerated weights for pallet_nonfungible
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-02-15, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
-
-// Executed Command:
-// target/release/unique-collator
-// benchmark
-// pallet
-// --pallet
-// pallet-nonfungible
-// --wasm-execution
-// compiled
-// --extrinsic
-// *
-// --template
-// .maintain/frame-weight-template.hbs
-// --steps=50
-// --repeat=80
-// --heap-pages=4096
-// --output=./pallets/nonfungible/src/weights.rs
-
-#![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;
-
-/// Weight functions needed for pallet_nonfungible.
-pub trait WeightInfo {
- fn create_item() -> Weight;
- fn create_multiple_items(b: u32, ) -> Weight;
- fn create_multiple_items_ex(b: u32, ) -> Weight;
- fn burn_item() -> Weight;
- fn burn_recursively_self_raw() -> Weight;
- fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight;
- fn transfer() -> Weight;
- fn approve() -> Weight;
- fn approve_from() -> Weight;
- fn transfer_from() -> Weight;
- fn burn_from() -> Weight;
- fn set_token_property_permissions(b: u32, ) -> Weight;
- fn set_token_properties(b: u32, ) -> Weight;
- fn delete_token_properties(b: u32, ) -> Weight;
- fn token_owner() -> Weight;
- fn set_allowance_for_all() -> Weight;
- fn allowance_for_all() -> Weight;
- fn repair_item() -> Weight;
-}
-
-/// Weights for pallet_nonfungible using the Substrate node and recommended hardware.
-pub struct SubstrateWeight<T>(PhantomData<T>);
-impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
- // Storage: Nonfungible TokensMinted (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible TokenProperties (r:1 w:1)
- // Storage: Common CollectionPropertyPermissions (r:1 w:0)
- // Storage: Nonfungible TokenData (r:0 w:1)
- // Storage: Nonfungible Owned (r:0 w:1)
- fn create_item() -> Weight {
- Weight::from_ref_time(35_333_000 as u64)
- .saturating_add(T::DbWeight::get().reads(4 as u64))
- .saturating_add(T::DbWeight::get().writes(5 as u64))
- }
- // Storage: Nonfungible TokensMinted (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible TokenProperties (r:4 w:4)
- // Storage: Common CollectionPropertyPermissions (r:1 w:0)
- // Storage: Nonfungible TokenData (r:0 w:4)
- // Storage: Nonfungible Owned (r:0 w:4)
- fn create_multiple_items(b: u32, ) -> Weight {
- Weight::from_ref_time(19_091_371 as u64)
- // Standard Error: 3_221
- .saturating_add(Weight::from_ref_time(7_304_849 as u64).saturating_mul(b as u64))
- .saturating_add(T::DbWeight::get().reads(3 as u64))
- .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
- .saturating_add(T::DbWeight::get().writes(2 as u64))
- .saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(b as u64)))
- }
- // Storage: Nonfungible TokensMinted (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:4 w:4)
- // Storage: Nonfungible TokenProperties (r:4 w:4)
- // Storage: Common CollectionPropertyPermissions (r:1 w:0)
- // Storage: Nonfungible TokenData (r:0 w:4)
- // Storage: Nonfungible Owned (r:0 w:4)
- fn create_multiple_items_ex(b: u32, ) -> Weight {
- Weight::from_ref_time(12_655_339 as u64)
- // Standard Error: 3_655
- .saturating_add(Weight::from_ref_time(9_051_919 as u64).saturating_mul(b as u64))
- .saturating_add(T::DbWeight::get().reads(2 as u64))
- .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(b as u64)))
- .saturating_add(T::DbWeight::get().writes(1 as u64))
- .saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
- }
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible TokenChildren (r:1 w:0)
- // Storage: Nonfungible TokensBurnt (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible Allowance (r:1 w:0)
- // Storage: Nonfungible Owned (r:0 w:1)
- // Storage: Nonfungible TokenProperties (r:0 w:1)
- fn burn_item() -> Weight {
- Weight::from_ref_time(34_068_000 as u64)
- .saturating_add(T::DbWeight::get().reads(5 as u64))
- .saturating_add(T::DbWeight::get().writes(5 as u64))
- }
- // Storage: Nonfungible TokenChildren (r:1 w:0)
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible TokensBurnt (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible Allowance (r:1 w:0)
- // Storage: Nonfungible Owned (r:0 w:1)
- // Storage: Nonfungible TokenProperties (r:0 w:1)
- fn burn_recursively_self_raw() -> Weight {
- Weight::from_ref_time(44_840_000 as u64)
- .saturating_add(T::DbWeight::get().reads(5 as u64))
- .saturating_add(T::DbWeight::get().writes(5 as u64))
- }
- // Storage: Nonfungible TokenChildren (r:1 w:0)
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible TokensBurnt (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible Allowance (r:1 w:0)
- // Storage: Nonfungible Owned (r:0 w:1)
- // Storage: Nonfungible TokenProperties (r:0 w:1)
- // Storage: Common CollectionById (r:1 w:0)
- fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {
- Weight::from_ref_time(44_567_000 as u64)
- // Standard Error: 1_014_743
- .saturating_add(Weight::from_ref_time(209_619_240 as u64).saturating_mul(b as u64))
- .saturating_add(T::DbWeight::get().reads(7 as u64))
- .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(b as u64)))
- .saturating_add(T::DbWeight::get().writes(6 as u64))
- .saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
- }
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:2 w:2)
- // Storage: Nonfungible Allowance (r:1 w:0)
- // Storage: Nonfungible Owned (r:0 w:2)
- fn transfer() -> Weight {
- Weight::from_ref_time(29_508_000 as u64)
- .saturating_add(T::DbWeight::get().reads(4 as u64))
- .saturating_add(T::DbWeight::get().writes(5 as u64))
- }
- // Storage: Nonfungible TokenData (r:1 w:0)
- // Storage: Nonfungible Allowance (r:1 w:1)
- fn approve() -> Weight {
- Weight::from_ref_time(22_168_000 as u64)
- .saturating_add(T::DbWeight::get().reads(2 as u64))
- .saturating_add(T::DbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible TokenData (r:1 w:0)
- // Storage: Nonfungible Allowance (r:1 w:1)
- fn approve_from() -> Weight {
- Weight::from_ref_time(22_063_000 as u64)
- .saturating_add(T::DbWeight::get().reads(2 as u64))
- .saturating_add(T::DbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible Allowance (r:1 w:1)
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:2 w:2)
- // Storage: Nonfungible Owned (r:0 w:2)
- fn transfer_from() -> Weight {
- Weight::from_ref_time(36_386_000 as u64)
- .saturating_add(T::DbWeight::get().reads(4 as u64))
- .saturating_add(T::DbWeight::get().writes(6 as u64))
- }
- // Storage: Nonfungible Allowance (r:1 w:1)
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible TokenChildren (r:1 w:0)
- // Storage: Nonfungible TokensBurnt (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible Owned (r:0 w:1)
- // Storage: Nonfungible TokenProperties (r:0 w:1)
- fn burn_from() -> Weight {
- Weight::from_ref_time(42_499_000 as u64)
- .saturating_add(T::DbWeight::get().reads(5 as u64))
- .saturating_add(T::DbWeight::get().writes(6 as u64))
- }
- // Storage: Common CollectionPropertyPermissions (r:1 w:1)
- fn set_token_property_permissions(b: u32, ) -> Weight {
- Weight::from_ref_time(5_317_000 as u64)
- // Standard Error: 42_045
- .saturating_add(Weight::from_ref_time(12_179_871 as u64).saturating_mul(b as u64))
- .saturating_add(T::DbWeight::get().reads(1 as u64))
- .saturating_add(T::DbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible TokenProperties (r:1 w:1)
- // Storage: Common CollectionPropertyPermissions (r:1 w:0)
- fn set_token_properties(b: u32, ) -> Weight {
- Weight::from_ref_time(15_428_000 as u64)
- // Standard Error: 58_002
- .saturating_add(Weight::from_ref_time(7_195_842 as u64).saturating_mul(b as u64))
- .saturating_add(T::DbWeight::get().reads(2 as u64))
- .saturating_add(T::DbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible TokenProperties (r:1 w:1)
- // Storage: Common CollectionPropertyPermissions (r:1 w:0)
- fn delete_token_properties(b: u32, ) -> Weight {
- Weight::from_ref_time(15_498_000 as u64)
- // Standard Error: 68_276
- .saturating_add(Weight::from_ref_time(22_441_281 as u64).saturating_mul(b as u64))
- .saturating_add(T::DbWeight::get().reads(2 as u64))
- .saturating_add(T::DbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible TokenData (r:1 w:0)
- fn token_owner() -> Weight {
- Weight::from_ref_time(7_006_000 as u64)
- .saturating_add(T::DbWeight::get().reads(1 as u64))
- }
- // Storage: Nonfungible CollectionAllowance (r:0 w:1)
- fn set_allowance_for_all() -> Weight {
- Weight::from_ref_time(16_761_000 as u64)
- .saturating_add(T::DbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible CollectionAllowance (r:1 w:0)
- fn allowance_for_all() -> Weight {
- Weight::from_ref_time(5_577_000 as u64)
- .saturating_add(T::DbWeight::get().reads(1 as u64))
- }
- // Storage: Nonfungible TokenProperties (r:1 w:1)
- fn repair_item() -> Weight {
- Weight::from_ref_time(7_670_000 as u64)
- .saturating_add(T::DbWeight::get().reads(1 as u64))
- .saturating_add(T::DbWeight::get().writes(1 as u64))
- }
-}
-
-// For backwards compatibility and tests
-impl WeightInfo for () {
- // Storage: Nonfungible TokensMinted (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible TokenProperties (r:1 w:1)
- // Storage: Common CollectionPropertyPermissions (r:1 w:0)
- // Storage: Nonfungible TokenData (r:0 w:1)
- // Storage: Nonfungible Owned (r:0 w:1)
- fn create_item() -> Weight {
- Weight::from_ref_time(35_333_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(4 as u64))
- .saturating_add(RocksDbWeight::get().writes(5 as u64))
- }
- // Storage: Nonfungible TokensMinted (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible TokenProperties (r:4 w:4)
- // Storage: Common CollectionPropertyPermissions (r:1 w:0)
- // Storage: Nonfungible TokenData (r:0 w:4)
- // Storage: Nonfungible Owned (r:0 w:4)
- fn create_multiple_items(b: u32, ) -> Weight {
- Weight::from_ref_time(19_091_371 as u64)
- // Standard Error: 3_221
- .saturating_add(Weight::from_ref_time(7_304_849 as u64).saturating_mul(b as u64))
- .saturating_add(RocksDbWeight::get().reads(3 as u64))
- .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
- .saturating_add(RocksDbWeight::get().writes(2 as u64))
- .saturating_add(RocksDbWeight::get().writes((3 as u64).saturating_mul(b as u64)))
- }
- // Storage: Nonfungible TokensMinted (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:4 w:4)
- // Storage: Nonfungible TokenProperties (r:4 w:4)
- // Storage: Common CollectionPropertyPermissions (r:1 w:0)
- // Storage: Nonfungible TokenData (r:0 w:4)
- // Storage: Nonfungible Owned (r:0 w:4)
- fn create_multiple_items_ex(b: u32, ) -> Weight {
- Weight::from_ref_time(12_655_339 as u64)
- // Standard Error: 3_655
- .saturating_add(Weight::from_ref_time(9_051_919 as u64).saturating_mul(b as u64))
- .saturating_add(RocksDbWeight::get().reads(2 as u64))
- .saturating_add(RocksDbWeight::get().reads((2 as u64).saturating_mul(b as u64)))
- .saturating_add(RocksDbWeight::get().writes(1 as u64))
- .saturating_add(RocksDbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
- }
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible TokenChildren (r:1 w:0)
- // Storage: Nonfungible TokensBurnt (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible Allowance (r:1 w:0)
- // Storage: Nonfungible Owned (r:0 w:1)
- // Storage: Nonfungible TokenProperties (r:0 w:1)
- fn burn_item() -> Weight {
- Weight::from_ref_time(34_068_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(5 as u64))
- .saturating_add(RocksDbWeight::get().writes(5 as u64))
- }
- // Storage: Nonfungible TokenChildren (r:1 w:0)
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible TokensBurnt (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible Allowance (r:1 w:0)
- // Storage: Nonfungible Owned (r:0 w:1)
- // Storage: Nonfungible TokenProperties (r:0 w:1)
- fn burn_recursively_self_raw() -> Weight {
- Weight::from_ref_time(44_840_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(5 as u64))
- .saturating_add(RocksDbWeight::get().writes(5 as u64))
- }
- // Storage: Nonfungible TokenChildren (r:1 w:0)
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible TokensBurnt (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible Allowance (r:1 w:0)
- // Storage: Nonfungible Owned (r:0 w:1)
- // Storage: Nonfungible TokenProperties (r:0 w:1)
- // Storage: Common CollectionById (r:1 w:0)
- fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {
- Weight::from_ref_time(44_567_000 as u64)
- // Standard Error: 1_014_743
- .saturating_add(Weight::from_ref_time(209_619_240 as u64).saturating_mul(b as u64))
- .saturating_add(RocksDbWeight::get().reads(7 as u64))
- .saturating_add(RocksDbWeight::get().reads((4 as u64).saturating_mul(b as u64)))
- .saturating_add(RocksDbWeight::get().writes(6 as u64))
- .saturating_add(RocksDbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
- }
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:2 w:2)
- // Storage: Nonfungible Allowance (r:1 w:0)
- // Storage: Nonfungible Owned (r:0 w:2)
- fn transfer() -> Weight {
- Weight::from_ref_time(29_508_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(4 as u64))
- .saturating_add(RocksDbWeight::get().writes(5 as u64))
- }
- // Storage: Nonfungible TokenData (r:1 w:0)
- // Storage: Nonfungible Allowance (r:1 w:1)
- fn approve() -> Weight {
- Weight::from_ref_time(22_168_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(2 as u64))
- .saturating_add(RocksDbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible TokenData (r:1 w:0)
- // Storage: Nonfungible Allowance (r:1 w:1)
- fn approve_from() -> Weight {
- Weight::from_ref_time(22_063_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(2 as u64))
- .saturating_add(RocksDbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible Allowance (r:1 w:1)
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:2 w:2)
- // Storage: Nonfungible Owned (r:0 w:2)
- fn transfer_from() -> Weight {
- Weight::from_ref_time(36_386_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(4 as u64))
- .saturating_add(RocksDbWeight::get().writes(6 as u64))
- }
- // Storage: Nonfungible Allowance (r:1 w:1)
- // Storage: Nonfungible TokenData (r:1 w:1)
- // Storage: Nonfungible TokenChildren (r:1 w:0)
- // Storage: Nonfungible TokensBurnt (r:1 w:1)
- // Storage: Nonfungible AccountBalance (r:1 w:1)
- // Storage: Nonfungible Owned (r:0 w:1)
- // Storage: Nonfungible TokenProperties (r:0 w:1)
- fn burn_from() -> Weight {
- Weight::from_ref_time(42_499_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(5 as u64))
- .saturating_add(RocksDbWeight::get().writes(6 as u64))
- }
- // Storage: Common CollectionPropertyPermissions (r:1 w:1)
- fn set_token_property_permissions(b: u32, ) -> Weight {
- Weight::from_ref_time(5_317_000 as u64)
- // Standard Error: 42_045
- .saturating_add(Weight::from_ref_time(12_179_871 as u64).saturating_mul(b as u64))
- .saturating_add(RocksDbWeight::get().reads(1 as u64))
- .saturating_add(RocksDbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible TokenProperties (r:1 w:1)
- // Storage: Common CollectionPropertyPermissions (r:1 w:0)
- fn set_token_properties(b: u32, ) -> Weight {
- Weight::from_ref_time(15_428_000 as u64)
- // Standard Error: 58_002
- .saturating_add(Weight::from_ref_time(7_195_842 as u64).saturating_mul(b as u64))
- .saturating_add(RocksDbWeight::get().reads(2 as u64))
- .saturating_add(RocksDbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible TokenProperties (r:1 w:1)
- // Storage: Common CollectionPropertyPermissions (r:1 w:0)
- fn delete_token_properties(b: u32, ) -> Weight {
- Weight::from_ref_time(15_498_000 as u64)
- // Standard Error: 68_276
- .saturating_add(Weight::from_ref_time(22_441_281 as u64).saturating_mul(b as u64))
- .saturating_add(RocksDbWeight::get().reads(2 as u64))
- .saturating_add(RocksDbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible TokenData (r:1 w:0)
- fn token_owner() -> Weight {
- Weight::from_ref_time(7_006_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(1 as u64))
- }
- // Storage: Nonfungible CollectionAllowance (r:0 w:1)
- fn set_allowance_for_all() -> Weight {
- Weight::from_ref_time(16_761_000 as u64)
- .saturating_add(RocksDbWeight::get().writes(1 as u64))
- }
- // Storage: Nonfungible CollectionAllowance (r:1 w:0)
- fn allowance_for_all() -> Weight {
- Weight::from_ref_time(5_577_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(1 as u64))
- }
- // Storage: Nonfungible TokenProperties (r:1 w:1)
- fn repair_item() -> Weight {
- Weight::from_ref_time(7_670_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(1 as u64))
- .saturating_add(RocksDbWeight::get().writes(1 as u64))
- }
-}
pallets/refungible/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/refungible/src/benchmarking.rs
+++ b/pallets/refungible/src/benchmarking.rs
@@ -297,7 +297,7 @@
sender: cross_from_sub(owner); owner: cross_sub;
};
let item = create_max_item(&collection, &sender, [(owner.clone(), 100)])?;
- }: {<Pallet<T>>::token_owner(collection.id, item)}
+ }: {<Pallet<T>>::token_owner(collection.id, item).unwrap()}
set_allowance_for_all {
bench_init!{
pallets/refungible/src/lib.rsdiffbeforeafterboth--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -108,6 +108,7 @@
mapping::TokenAddressMapping, MAX_REFUNGIBLE_PIECES, Property, PropertyKey,
PropertyKeyPermission, PropertyScope, PropertyValue, TokenId, TrySetProperty,
PropertiesPermissionMap, CreateRefungibleExMultipleOwners, TokenOwnerError,
+ TokenProperties as TokenPropertiesT,
};
pub use pallet::*;
@@ -175,9 +176,8 @@
#[pallet::getter(fn token_properties)]
pub type TokenProperties<T: Config> = StorageNMap<
Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
- Value = up_data_structs::Properties,
+ Value = TokenPropertiesT,
QueryKind = ValueQuery,
- OnEmpty = up_data_structs::TokenProperties,
>;
/// Total amount of pieces for token
pallets/scheduler-v2/Cargo.tomldiffbeforeafterboth--- a/pallets/scheduler-v2/Cargo.toml
+++ b/pallets/scheduler-v2/Cargo.toml
@@ -25,7 +25,7 @@
[dev-dependencies]
pallet-preimage = { workspace = true }
-substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
+substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" }
[features]
default = ["std"]
primitives/common/src/constants.rsdiffbeforeafterboth--- a/primitives/common/src/constants.rs
+++ b/primitives/common/src/constants.rs
@@ -19,7 +19,7 @@
parameter_types,
weights::{Weight, constants::WEIGHT_REF_TIME_PER_SECOND},
};
-use cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE;
+use cumulus_primitives_core::relay_chain::MAX_POV_SIZE;
use crate::types::{BlockNumber, Balance};
pub const MILLISECS_PER_BLOCK: u64 = 12000;
primitives/data-structs/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//! # Primitives crate.18//!19//! This crate contains types, traits and constants.2021#![cfg_attr(not(feature = "std"), no_std)]2223use core::{24 convert::{TryFrom, TryInto},25 fmt,26};27use frame_support::{28 storage::{bounded_btree_map::BoundedBTreeMap, bounded_btree_set::BoundedBTreeSet},29 traits::Get,30};3132#[cfg(feature = "serde")]33use serde::{Serialize, Deserialize};3435use sp_core::U256;36use sp_runtime::{ArithmeticError, sp_std::prelude::Vec};37use codec::{Decode, Encode, EncodeLike, MaxEncodedLen};38use bondrewd::Bitfields;39use frame_support::{BoundedVec, traits::ConstU32};40use derivative::Derivative;41use scale_info::TypeInfo;4243mod bondrewd_codec;44mod bounded;45pub mod budget;46pub mod mapping;47mod migration;4849/// Maximum of decimal points.50pub const MAX_DECIMAL_POINTS: DecimalPoints = 30;5152/// Maximum pieces for refungible token.53pub const MAX_REFUNGIBLE_PIECES: u128 = 1_000_000_000_000_000_000_000;54pub const MAX_SPONSOR_TIMEOUT: u32 = 10_368_000;5556/// Maximum tokens for user.57pub const MAX_TOKEN_OWNERSHIP: u32 = if cfg!(not(feature = "limit-testing")) {58 100_00059} else {60 1061};6263/// Maximum for collections can be created.64pub const COLLECTION_NUMBER_LIMIT: u32 = if cfg!(not(feature = "limit-testing")) {65 100_00066} else {67 1068};6970/// Maximum for various custom data of token.71pub const CUSTOM_DATA_LIMIT: u32 = if cfg!(not(feature = "limit-testing")) {72 204873} else {74 1075};7677/// Maximum admins per collection.78pub const COLLECTION_ADMINS_LIMIT: u32 = 5;7980/// Maximum tokens per collection.81pub const COLLECTION_TOKEN_LIMIT: u32 = u32::MAX;8283/// Maximum tokens per account.84pub const ACCOUNT_TOKEN_OWNERSHIP_LIMIT: u32 = if cfg!(not(feature = "limit-testing")) {85 1_000_00086} else {87 1088};8990/// Default timeout for transfer sponsoring NFT item.91pub const NFT_SPONSOR_TRANSFER_TIMEOUT: u32 = 5;92/// Default timeout for transfer sponsoring fungible item.93pub const FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT: u32 = 5;94/// Default timeout for transfer sponsoring refungible item.95pub const REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT: u32 = 5;9697/// Default timeout for sponsored approving.98pub const SPONSOR_APPROVE_TIMEOUT: u32 = 5;99100// Schema limits101pub const OFFCHAIN_SCHEMA_LIMIT: u32 = 8192;102pub const VARIABLE_ON_CHAIN_SCHEMA_LIMIT: u32 = 8192;103pub const CONST_ON_CHAIN_SCHEMA_LIMIT: u32 = 32768;104105// TODO: not used. Delete?106pub const COLLECTION_FIELD_LIMIT: u32 = CONST_ON_CHAIN_SCHEMA_LIMIT;107108/// Maximal length of a collection name.109pub const MAX_COLLECTION_NAME_LENGTH: u32 = 64;110111/// Maximal length of a collection description.112pub const MAX_COLLECTION_DESCRIPTION_LENGTH: u32 = 256;113114/// Maximal length of a token prefix.115pub const MAX_TOKEN_PREFIX_LENGTH: u32 = 16;116117/// Maximal length of a property key.118pub const MAX_PROPERTY_KEY_LENGTH: u32 = 256;119120/// Maximal length of a property value.121pub const MAX_PROPERTY_VALUE_LENGTH: u32 = 32768;122123/// A maximum number of token properties.124pub const MAX_PROPERTIES_PER_ITEM: u32 = 64;125126/// Maximal lenght of extended property value.127pub const MAX_AUX_PROPERTY_VALUE_LENGTH: u32 = 2048;128129/// Maximum size for all collection properties.130pub const MAX_COLLECTION_PROPERTIES_SIZE: u32 = 40960;131132/// Maximum size of all token properties.133pub const MAX_TOKEN_PROPERTIES_SIZE: u32 = 32768;134135/// How much items can be created per single136/// create_many call.137pub const MAX_ITEMS_PER_BATCH: u32 = 200;138139/// Used for limit bounded types of token custom data.140pub type CustomDataLimit = ConstU32<CUSTOM_DATA_LIMIT>;141142/// Collection id.143#[derive(144 Encode,145 Decode,146 PartialEq,147 Eq,148 PartialOrd,149 Ord,150 Clone,151 Copy,152 Debug,153 Default,154 TypeInfo,155 MaxEncodedLen,156)]157#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]158pub struct CollectionId(pub u32);159impl EncodeLike<u32> for CollectionId {}160impl EncodeLike<CollectionId> for u32 {}161162impl From<u32> for CollectionId {163 fn from(value: u32) -> Self {164 Self(value)165 }166}167168/// Token id.169#[derive(170 Encode,171 Decode,172 PartialEq,173 Eq,174 PartialOrd,175 Ord,176 Clone,177 Copy,178 Debug,179 Default,180 TypeInfo,181 MaxEncodedLen,182)]183#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]184pub struct TokenId(pub u32);185impl EncodeLike<u32> for TokenId {}186impl EncodeLike<TokenId> for u32 {}187188impl TokenId {189 /// Try to get next token id.190 ///191 /// If next id cause overflow, then [`ArithmeticError::Overflow`] returned.192 pub fn try_next(self) -> Result<TokenId, ArithmeticError> {193 self.0194 .checked_add(1)195 .ok_or(ArithmeticError::Overflow)196 .map(Self)197 }198}199200impl From<TokenId> for U256 {201 fn from(t: TokenId) -> Self {202 t.0.into()203 }204}205206impl TryFrom<U256> for TokenId {207 type Error = &'static str;208209 fn try_from(value: U256) -> Result<Self, Self::Error> {210 Ok(TokenId(value.try_into().map_err(|_| "too large token id")?))211 }212}213214/// Token data.215#[struct_versioning::versioned(version = 2, upper)]216#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]217#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]218pub struct TokenData<CrossAccountId> {219 /// Properties of token.220 pub properties: Vec<Property>,221222 /// Token owner.223 pub owner: Option<CrossAccountId>,224225 /// Token pieces.226 #[version(2.., upper(0))]227 pub pieces: u128,228}229230// TODO: unused type231pub struct OverflowError;232impl From<OverflowError> for &'static str {233 fn from(_: OverflowError) -> Self {234 "overflow occured"235 }236}237238/// Alias for decimal points type.239pub type DecimalPoints = u8;240241/// Collection mode.242///243/// Collection can represent various types of tokens.244/// Each collection can contain only one type of tokens at a time.245/// This type helps to understand which tokens the collection contains.246#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]247#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]248pub enum CollectionMode {249 /// Non fungible tokens.250 NFT,251 /// Fungible tokens.252 Fungible(DecimalPoints),253 /// Refungible tokens.254 ReFungible,255}256257impl CollectionMode {258 /// Get collection mod as number.259 pub fn id(&self) -> u8 {260 match self {261 CollectionMode::NFT => 1,262 CollectionMode::Fungible(_) => 2,263 CollectionMode::ReFungible => 3,264 }265 }266}267268// TODO: unused trait269pub trait SponsoringResolve<AccountId, Call> {270 fn resolve(who: &AccountId, call: &Call) -> Option<AccountId>;271}272273/// Access mode for some token operations.274#[derive(Encode, Decode, Eq, Debug, Clone, Copy, PartialEq, TypeInfo, MaxEncodedLen)]275#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]276pub enum AccessMode {277 /// Access grant for owner and admins. Used as default.278 Normal,279 /// Like a [`Normal`](AccessMode::Normal) but also users in allow list.280 AllowList,281}282impl Default for AccessMode {283 fn default() -> Self {284 Self::Normal285 }286}287288// TODO: remove in future.289#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]290#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]291pub enum SchemaVersion {292 ImageURL,293 Unique,294}295impl Default for SchemaVersion {296 fn default() -> Self {297 Self::ImageURL298 }299}300301// TODO: unused type302#[derive(Encode, Decode, Default, Debug, Clone, PartialEq, TypeInfo)]303#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]304pub struct Ownership<AccountId> {305 pub owner: AccountId,306 pub fraction: u128,307}308309/// The state of collection sponsorship.310#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]311#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]312pub enum SponsorshipState<AccountId> {313 /// The fees are applied to the transaction sender.314 Disabled,315 /// The sponsor is under consideration. Until the sponsor gives his consent,316 /// the fee will still be charged to sender.317 Unconfirmed(AccountId),318 /// Transactions are sponsored by specified account.319 Confirmed(AccountId),320}321322impl<AccountId> SponsorshipState<AccountId> {323 /// Get a sponsor of the collection who has confirmed his status.324 pub fn sponsor(&self) -> Option<&AccountId> {325 match self {326 Self::Confirmed(sponsor) => Some(sponsor),327 _ => None,328 }329 }330331 /// Get a sponsor of the collection who has pending or confirmed status.332 pub fn pending_sponsor(&self) -> Option<&AccountId> {333 match self {334 Self::Unconfirmed(sponsor) | Self::Confirmed(sponsor) => Some(sponsor),335 _ => None,336 }337 }338339 /// Whether the sponsorship is confirmed.340 pub fn confirmed(&self) -> bool {341 matches!(self, Self::Confirmed(_))342 }343}344345impl<T> Default for SponsorshipState<T> {346 fn default() -> Self {347 Self::Disabled348 }349}350351pub type CollectionName = BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>;352pub type CollectionDescription = BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>;353pub type CollectionTokenPrefix = BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>;354355#[derive(Bitfields, Clone, Copy, PartialEq, Eq, Debug, Default)]356#[bondrewd(enforce_bytes = 1)]357pub struct CollectionFlags {358 /// Tokens in foreign collections can be transferred, but not burnt359 #[bondrewd(bits = "0..1")]360 pub foreign: bool,361 /// Supports ERC721Metadata362 #[bondrewd(bits = "1..2")]363 pub erc721metadata: bool,364 /// External collections can't be managed using `unique` api365 #[bondrewd(bits = "7..8")]366 pub external: bool,367368 #[bondrewd(reserve, bits = "2..7")]369 pub reserved: u8,370}371bondrewd_codec!(CollectionFlags);372373/// Base structure for represent collection.374///375/// Used to provide basic functionality for all types of collections.376///377/// #### Note378/// Collection parameters, used in storage (see [`RpcCollection`] for the RPC version).379#[struct_versioning::versioned(version = 2, upper)]380#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen)]381pub struct Collection<AccountId> {382 /// Collection owner account.383 pub owner: AccountId,384385 /// Collection mode.386 pub mode: CollectionMode,387388 /// Access mode.389 #[version(..2)]390 pub access: AccessMode,391392 /// Collection name.393 pub name: CollectionName,394395 /// Collection description.396 pub description: CollectionDescription,397398 /// Token prefix.399 pub token_prefix: CollectionTokenPrefix,400401 #[version(..2)]402 pub mint_mode: bool,403404 #[version(..2)]405 pub offchain_schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,406407 #[version(..2)]408 pub schema_version: SchemaVersion,409410 /// The state of sponsorship of the collection.411 pub sponsorship: SponsorshipState<AccountId>,412413 /// Collection limits.414 pub limits: CollectionLimits,415416 /// Collection permissions.417 #[version(2.., upper(Default::default()))]418 pub permissions: CollectionPermissions,419420 #[version(2.., upper(Default::default()))]421 pub flags: CollectionFlags,422423 #[version(..2)]424 pub variable_on_chain_schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>,425426 #[version(..2)]427 pub const_on_chain_schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>,428429 #[version(..2)]430 pub meta_update_permission: MetaUpdatePermission,431}432433#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]434#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]435pub struct RpcCollectionFlags {436 /// Is collection is foreign.437 pub foreign: bool,438 /// Collection supports ERC721Metadata.439 pub erc721metadata: bool,440}441442/// Collection parameters, used in RPC calls (see [`Collection`] for the storage version).443#[struct_versioning::versioned(version = 2, upper)]444#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]445#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]446pub struct RpcCollection<AccountId> {447 /// Collection owner account.448 pub owner: AccountId,449450 /// Collection mode.451 pub mode: CollectionMode,452453 /// Collection name.454 pub name: Vec<u16>,455456 /// Collection description.457 pub description: Vec<u16>,458459 /// Token prefix.460 pub token_prefix: Vec<u8>,461462 /// The state of sponsorship of the collection.463 pub sponsorship: SponsorshipState<AccountId>,464465 /// Collection limits.466 pub limits: CollectionLimits,467468 /// Collection permissions.469 pub permissions: CollectionPermissions,470471 /// Token property permissions.472 pub token_property_permissions: Vec<PropertyKeyPermission>,473474 /// Collection properties.475 pub properties: Vec<Property>,476477 /// Is collection read only.478 pub read_only: bool,479480 /// Extra collection flags481 #[version(2.., upper(RpcCollectionFlags {foreign: false, erc721metadata: false}))]482 pub flags: RpcCollectionFlags,483}484485/// Data used for create collection.486///487/// All fields are wrapped in [`Option`], where `None` means chain default.488#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, Derivative, MaxEncodedLen)]489#[derivative(Debug, Default(bound = ""))]490pub struct CreateCollectionData<AccountId> {491 /// Collection mode.492 #[derivative(Default(value = "CollectionMode::NFT"))]493 pub mode: CollectionMode,494495 /// Access mode.496 pub access: Option<AccessMode>,497498 /// Collection name.499 pub name: CollectionName,500501 /// Collection description.502 pub description: CollectionDescription,503504 /// Token prefix.505 pub token_prefix: CollectionTokenPrefix,506507 /// Pending collection sponsor.508 pub pending_sponsor: Option<AccountId>,509510 /// Collection limits.511 pub limits: Option<CollectionLimits>,512513 /// Collection permissions.514 pub permissions: Option<CollectionPermissions>,515516 /// Token property permissions.517 pub token_property_permissions: CollectionPropertiesPermissionsVec,518519 /// Collection properties.520 pub properties: CollectionPropertiesVec,521}522523/// Bounded vector of properties permissions. Max length is [`MAX_PROPERTIES_PER_ITEM`].524// TODO: maybe rename to PropertiesPermissionsVec525pub type CollectionPropertiesPermissionsVec =526 BoundedVec<PropertyKeyPermission, ConstU32<MAX_PROPERTIES_PER_ITEM>>;527528/// Bounded vector of properties. Max length is [`MAX_PROPERTIES_PER_ITEM`].529pub type CollectionPropertiesVec = BoundedVec<Property, ConstU32<MAX_PROPERTIES_PER_ITEM>>;530531/// Limits and restrictions of a collection.532///533/// All fields are wrapped in [`Option`], where `None` means chain default.534///535/// Update with `pallet_common::Pallet::clamp_limits`.536// IMPORTANT: When adding/removing fields from this struct - don't forget to also537#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo, MaxEncodedLen)]538#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]539// When adding/removing fields from this struct - don't forget to also update with `pallet_common::Pallet::clamp_limits`.540// TODO: move `pallet_common::Pallet::clamp_limits` into `impl CollectionLimits`.541// TODO: may be remove [`Option`] and **pub** from fields and create struct with default values.542pub struct CollectionLimits {543 /// How many tokens can a user have on one account.544 /// * Default - [`ACCOUNT_TOKEN_OWNERSHIP_LIMIT`].545 /// * Limit - [`MAX_TOKEN_OWNERSHIP`].546 pub account_token_ownership_limit: Option<u32>,547548 /// How many bytes of data are available for sponsorship.549 /// * Default - [`CUSTOM_DATA_LIMIT`].550 /// * Limit - [`CUSTOM_DATA_LIMIT`].551 pub sponsored_data_size: Option<u32>,552553 // FIXME should we delete this or repurpose it?554 /// Times in how many blocks we sponsor data.555 ///556 /// If is `Some(v)` then **setVariableMetadata** is sponsored if there is `v` block between transactions.557 ///558 /// * Default - [`SponsoringDisabled`](SponsoringRateLimit::SponsoringDisabled).559 /// * Limit - [`MAX_SPONSOR_TIMEOUT`].560 ///561 /// In any case, chain default: [`SponsoringRateLimit::SponsoringDisabled`]562 pub sponsored_data_rate_limit: Option<SponsoringRateLimit>,563 /// Maximum amount of tokens inside the collection. Chain default: [`COLLECTION_TOKEN_LIMIT`]564565 /// How many tokens can be mined into this collection.566 ///567 /// * Default - [`COLLECTION_TOKEN_LIMIT`].568 /// * Limit - [`COLLECTION_TOKEN_LIMIT`].569 pub token_limit: Option<u32>,570571 /// Timeouts for transfer sponsoring.572 ///573 /// * Default574 /// - **Fungible** - [`FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT`]575 /// - **NFT** - [`NFT_SPONSOR_TRANSFER_TIMEOUT`]576 /// - **Refungible** - [`REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT`]577 /// * Limit - [`MAX_SPONSOR_TIMEOUT`].578 pub sponsor_transfer_timeout: Option<u32>,579580 /// Timeout for sponsoring an approval in passed blocks.581 ///582 /// * Default - [`SPONSOR_APPROVE_TIMEOUT`].583 /// * Limit - [`MAX_SPONSOR_TIMEOUT`].584 pub sponsor_approve_timeout: Option<u32>,585586 /// Whether the collection owner of the collection can send tokens (which belong to other users).587 ///588 /// * Default - **false**.589 pub owner_can_transfer: Option<bool>,590591 /// Can the collection owner burn other people's tokens.592 ///593 /// * Default - **true**.594 pub owner_can_destroy: Option<bool>,595596 /// Is it possible to send tokens from this collection between users.597 ///598 /// * Default - **true**.599 pub transfers_enabled: Option<bool>,600}601602impl CollectionLimits {603 pub fn with_default_limits(collection_type: CollectionMode) -> Self {604 CollectionLimits {605 account_token_ownership_limit: Some(ACCOUNT_TOKEN_OWNERSHIP_LIMIT),606 sponsored_data_size: Some(CUSTOM_DATA_LIMIT),607 sponsored_data_rate_limit: Some(SponsoringRateLimit::SponsoringDisabled),608 token_limit: Some(COLLECTION_TOKEN_LIMIT),609 sponsor_transfer_timeout: match collection_type {610 CollectionMode::NFT => Some(NFT_SPONSOR_TRANSFER_TIMEOUT),611 CollectionMode::ReFungible => Some(REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT),612 CollectionMode::Fungible(_) => Some(FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT),613 },614 sponsor_approve_timeout: Some(SPONSOR_APPROVE_TIMEOUT),615 owner_can_transfer: Some(false),616 owner_can_destroy: Some(true),617 transfers_enabled: Some(true),618 }619 }620621 /// Get effective value for [`account_token_ownership_limit`](self.account_token_ownership_limit).622 pub fn account_token_ownership_limit(&self) -> u32 {623 self.account_token_ownership_limit624 .unwrap_or(ACCOUNT_TOKEN_OWNERSHIP_LIMIT)625 .min(MAX_TOKEN_OWNERSHIP)626 }627628 /// Get effective value for [`sponsored_data_size`](self.sponsored_data_size).629 pub fn sponsored_data_size(&self) -> u32 {630 self.sponsored_data_size631 .unwrap_or(CUSTOM_DATA_LIMIT)632 .min(CUSTOM_DATA_LIMIT)633 }634635 /// Get effective value for [`token_limit`](self.token_limit).636 pub fn token_limit(&self) -> u32 {637 self.token_limit638 .unwrap_or(COLLECTION_TOKEN_LIMIT)639 .min(COLLECTION_TOKEN_LIMIT)640 }641642 // TODO: may be replace u32 to mode?643 /// Get effective value for [`sponsor_transfer_timeout`](self.sponsor_transfer_timeout).644 pub fn sponsor_transfer_timeout(&self, default: u32) -> u32 {645 self.sponsor_transfer_timeout646 .unwrap_or(default)647 .min(MAX_SPONSOR_TIMEOUT)648 }649650 /// Get effective value for [`sponsor_approve_timeout`](self.sponsor_approve_timeout).651 pub fn sponsor_approve_timeout(&self) -> u32 {652 self.sponsor_approve_timeout653 .unwrap_or(SPONSOR_APPROVE_TIMEOUT)654 .min(MAX_SPONSOR_TIMEOUT)655 }656657 /// Get effective value for [`owner_can_transfer`](self.owner_can_transfer).658 pub fn owner_can_transfer(&self) -> bool {659 self.owner_can_transfer.unwrap_or(false)660 }661662 /// Get effective value for [`owner_can_transfer_instaled`](self.owner_can_transfer_instaled).663 pub fn owner_can_transfer_instaled(&self) -> bool {664 self.owner_can_transfer.is_some()665 }666667 /// Get effective value for [`owner_can_destroy`](self.owner_can_destroy).668 pub fn owner_can_destroy(&self) -> bool {669 self.owner_can_destroy.unwrap_or(true)670 }671672 /// Get effective value for [`transfers_enabled`](self.transfers_enabled).673 pub fn transfers_enabled(&self) -> bool {674 self.transfers_enabled.unwrap_or(true)675 }676677 /// Get effective value for [`sponsored_data_rate_limit`](self.sponsored_data_rate_limit).678 pub fn sponsored_data_rate_limit(&self) -> Option<u32> {679 match self680 .sponsored_data_rate_limit681 .unwrap_or(SponsoringRateLimit::SponsoringDisabled)682 {683 SponsoringRateLimit::SponsoringDisabled => None,684 SponsoringRateLimit::Blocks(v) => Some(v.min(MAX_SPONSOR_TIMEOUT)),685 }686 }687}688689/// Permissions on certain operations within a collection.690///691/// Some fields are wrapped in [`Option`], where `None` means chain default.692///693/// Update with `pallet_common::Pallet::clamp_permissions`.694#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo, MaxEncodedLen)]695#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]696// When adding/removing fields from this struct - don't forget to also update `pallet_common::Pallet::clamp_permissions`.697// TODO: move `pallet_common::Pallet::clamp_permissions` into `impl CollectionPermissions`.698pub struct CollectionPermissions {699 /// Access mode.700 ///701 /// * Default - [`AccessMode::Normal`].702 pub access: Option<AccessMode>,703704 /// Minting allowance.705 ///706 /// * Default - **false**.707 pub mint_mode: Option<bool>,708709 /// Permissions for nesting.710 ///711 /// * Default712 /// - `token_owner` - **false**713 /// - `collection_admin` - **false**714 /// - `restricted` - **None**715 pub nesting: Option<NestingPermissions>,716}717718impl CollectionPermissions {719 /// Get effective value for [`access`](self.access).720 pub fn access(&self) -> AccessMode {721 self.access.unwrap_or(AccessMode::Normal)722 }723724 /// Get effective value for [`mint_mode`](self.mint_mode).725 pub fn mint_mode(&self) -> bool {726 self.mint_mode.unwrap_or(false)727 }728729 /// Get effective value for [`nesting`](self.nesting).730 pub fn nesting(&self) -> &NestingPermissions {731 static DEFAULT: NestingPermissions = NestingPermissions {732 token_owner: false,733 collection_admin: false,734 restricted: None,735 #[cfg(feature = "runtime-benchmarks")]736 permissive: false,737 };738 self.nesting.as_ref().unwrap_or(&DEFAULT)739 }740}741742/// Inner set for collections allowed to nest.743type OwnerRestrictedSetInner = BoundedBTreeSet<CollectionId, ConstU32<16>>;744745/// Wraper for collections set allowing nest.746#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen, Derivative)]747#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]748#[derivative(Debug)]749pub struct OwnerRestrictedSet(750 #[cfg_attr(feature = "serde1", serde(with = "bounded::set_serde"))]751 #[derivative(Debug(format_with = "bounded::set_debug"))]752 pub OwnerRestrictedSetInner,753);754755impl OwnerRestrictedSet {756 /// Create new set.757 pub fn new() -> Self {758 Self(Default::default())759 }760}761impl core::ops::Deref for OwnerRestrictedSet {762 type Target = OwnerRestrictedSetInner;763 fn deref(&self) -> &Self::Target {764 &self.0765 }766}767impl core::ops::DerefMut for OwnerRestrictedSet {768 fn deref_mut(&mut self) -> &mut Self::Target {769 &mut self.0770 }771}772773/// Part of collection permissions, if set, defines who is able to nest tokens into other tokens.774#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen, Derivative)]775#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]776#[derivative(Debug)]777pub struct NestingPermissions {778 /// Owner of token can nest tokens under it.779 pub token_owner: bool,780 /// Admin of token collection can nest tokens under token.781 pub collection_admin: bool,782 /// If set - only tokens from specified collections can be nested.783 pub restricted: Option<OwnerRestrictedSet>,784785 #[cfg(feature = "runtime-benchmarks")]786 /// Anyone can nest tokens, mutually exclusive with `token_owner`, `admin`.787 pub permissive: bool,788}789790/// Enum denominating how often can sponsoring occur if it is enabled.791///792/// Used for [`collection limits`](CollectionLimits).793#[derive(Encode, Decode, Debug, Clone, Copy, PartialEq, TypeInfo, MaxEncodedLen)]794#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]795pub enum SponsoringRateLimit {796 /// Sponsoring is disabled, and the collection sponsor will not pay for transactions797 SponsoringDisabled,798 /// Once per how many blocks can sponsorship of a transaction type occur799 Blocks(u32),800}801802/// Data used to describe an NFT at creation.803#[derive(Encode, Decode, MaxEncodedLen, Default, PartialEq, Clone, Derivative, TypeInfo)]804#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]805#[derivative(Debug)]806pub struct CreateNftData {807 /// Key-value pairs used to describe the token as metadata808 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]809 #[derivative(Debug(format_with = "bounded::vec_debug"))]810 /// Properties that wil be assignet to created item.811 pub properties: CollectionPropertiesVec,812}813814/// Data used to describe a Fungible token at creation.815#[derive(Encode, Decode, MaxEncodedLen, Default, Debug, Clone, PartialEq, TypeInfo)]816#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]817pub struct CreateFungibleData {818 /// Number of fungible coins minted819 pub value: u128,820}821822/// Data used to describe a Refungible token at creation.823#[derive(Encode, Decode, MaxEncodedLen, Default, PartialEq, Clone, Derivative, TypeInfo)]824#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]825#[derivative(Debug)]826pub struct CreateReFungibleData {827 /// Number of pieces the RFT is split into828 pub pieces: u128,829830 /// Key-value pairs used to describe the token as metadata831 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]832 #[derivative(Debug(format_with = "bounded::vec_debug"))]833 pub properties: CollectionPropertiesVec,834}835836// TODO: remove this.837#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]838#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]839pub enum MetaUpdatePermission {840 ItemOwner,841 Admin,842 None,843}844845/// Enum holding data used for creation of all three item types.846/// Unified data for create item.847#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, Debug, TypeInfo)]848#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]849pub enum CreateItemData {850 /// Data for create NFT.851 NFT(CreateNftData),852 /// Data for create Fungible item.853 Fungible(CreateFungibleData),854 /// Data for create ReFungible item.855 ReFungible(CreateReFungibleData),856}857858/// Extended data for create NFT.859#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]860#[derivative(Debug)]861pub struct CreateNftExData<CrossAccountId> {862 /// Properties that wil be assignet to created item.863 #[derivative(Debug(format_with = "bounded::vec_debug"))]864 pub properties: CollectionPropertiesVec,865866 /// Owner of creating item.867 pub owner: CrossAccountId,868}869870/// Extended data for create ReFungible item.871#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]872#[derivative(Debug(bound = "CrossAccountId: fmt::Debug + Ord"))]873pub struct CreateRefungibleExMultipleOwners<CrossAccountId> {874 #[derivative(Debug(format_with = "bounded::map_debug"))]875 pub users: BoundedBTreeMap<CrossAccountId, u128, ConstU32<MAX_ITEMS_PER_BATCH>>,876 #[derivative(Debug(format_with = "bounded::vec_debug"))]877 pub properties: CollectionPropertiesVec,878}879880/// Extended data for create ReFungible item.881#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]882#[derivative(Debug(bound = "CrossAccountId: fmt::Debug"))]883pub struct CreateRefungibleExSingleOwner<CrossAccountId> {884 pub user: CrossAccountId,885 pub pieces: u128,886 #[derivative(Debug(format_with = "bounded::vec_debug"))]887 pub properties: CollectionPropertiesVec,888}889890/// Unified extended data for creating item.891#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]892#[derivative(Debug(bound = "CrossAccountId: fmt::Debug + Ord"))]893pub enum CreateItemExData<CrossAccountId> {894 /// Extended data for create NFT.895 NFT(896 #[derivative(Debug(format_with = "bounded::vec_debug"))]897 BoundedVec<CreateNftExData<CrossAccountId>, ConstU32<MAX_ITEMS_PER_BATCH>>,898 ),899900 /// Extended data for create Fungible item.901 Fungible(902 #[derivative(Debug(format_with = "bounded::map_debug"))]903 BoundedBTreeMap<CrossAccountId, u128, ConstU32<MAX_ITEMS_PER_BATCH>>,904 ),905906 /// Extended data for create ReFungible item in case of907 /// many tokens, each may have only one owner908 RefungibleMultipleItems(909 #[derivative(Debug(format_with = "bounded::vec_debug"))]910 BoundedVec<CreateRefungibleExSingleOwner<CrossAccountId>, ConstU32<MAX_ITEMS_PER_BATCH>>,911 ),912913 /// Extended data for create ReFungible item in case of914 /// single token, which may have many owners915 RefungibleMultipleOwners(CreateRefungibleExMultipleOwners<CrossAccountId>),916}917918impl From<CreateNftData> for CreateItemData {919 fn from(item: CreateNftData) -> Self {920 CreateItemData::NFT(item)921 }922}923924impl From<CreateReFungibleData> for CreateItemData {925 fn from(item: CreateReFungibleData) -> Self {926 CreateItemData::ReFungible(item)927 }928}929930impl From<CreateFungibleData> for CreateItemData {931 fn from(item: CreateFungibleData) -> Self {932 CreateItemData::Fungible(item)933 }934}935936/// Token's address, dictated by its collection and token IDs.937#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, Debug, TypeInfo)]938#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]939// todo possibly rename to be used generally as an address pair940pub struct TokenChild {941 /// Token id.942 pub token: TokenId,943944 /// Collection id.945 pub collection: CollectionId,946}947948/// Collection statistics.949#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, Debug, TypeInfo)]950#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]951pub struct CollectionStats {952 /// Number of created items.953 pub created: u32,954955 /// Number of burned items.956 pub destroyed: u32,957958 /// Number of current items.959 pub alive: u32,960}961962/// This type works like [`PhantomData`] but supports generating _scale-info_ descriptions to generate node metadata.963#[derive(Encode, Decode, Clone, Debug)]964#[cfg_attr(feature = "std", derive(PartialEq))]965pub struct PhantomType<T>(core::marker::PhantomData<T>);966967impl<T: TypeInfo + 'static> TypeInfo for PhantomType<T> {968 type Identity = PhantomType<T>;969970 fn type_info() -> scale_info::Type {971 use scale_info::{972 Type, Path,973 build::{FieldsBuilder, UnnamedFields},974 form::MetaForm,975 type_params,976 };977 Type::builder()978 .path(Path::new("up_data_structs", "PhantomType"))979 .type_params(type_params!(T))980 .composite(981 <FieldsBuilder<MetaForm, UnnamedFields>>::default().field(|b| b.ty::<[T; 0]>()),982 )983 }984}985impl<T> MaxEncodedLen for PhantomType<T> {986 fn max_encoded_len() -> usize {987 0988 }989}990991/// Bounded vector of bytes.992pub type BoundedBytes<S> = BoundedVec<u8, S>;993994/// Extra properties for external collections.995pub type AuxPropertyValue = BoundedBytes<ConstU32<MAX_AUX_PROPERTY_VALUE_LENGTH>>;996997/// Property key.998pub type PropertyKey = BoundedBytes<ConstU32<MAX_PROPERTY_KEY_LENGTH>>;9991000/// Property value.1001pub type PropertyValue = BoundedBytes<ConstU32<MAX_PROPERTY_VALUE_LENGTH>>;10021003/// Property permission.1004#[derive(Encode, Decode, TypeInfo, Debug, MaxEncodedLen, PartialEq, Clone, Default)]1005#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]1006pub struct PropertyPermission {1007 /// Permission to change the property and property permission.1008 ///1009 /// If it **false** then you can not change corresponding property even if [`collection_admin`] and [`token_owner`] are **true**.1010 pub mutable: bool,10111012 /// Change permission for the collection administrator.1013 pub collection_admin: bool,10141015 /// Permission to change the property for the owner of the token.1016 pub token_owner: bool,1017}10181019impl PropertyPermission {1020 /// Creates mutable property permission but changes restricted for collection admin and token owner.1021 pub fn none() -> Self {1022 Self {1023 mutable: true,1024 collection_admin: false,1025 token_owner: false,1026 }1027 }1028}10291030/// Property is simpl key-value record.1031#[derive(Encode, Decode, Debug, TypeInfo, Clone, PartialEq, MaxEncodedLen)]1032#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]1033pub struct Property {1034 /// Property key.1035 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]1036 pub key: PropertyKey,10371038 /// Property value.1039 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]1040 pub value: PropertyValue,1041}10421043impl Into<(PropertyKey, PropertyValue)> for Property {1044 fn into(self) -> (PropertyKey, PropertyValue) {1045 (self.key, self.value)1046 }1047}10481049/// Record for proprty key permission.1050#[derive(Encode, Decode, TypeInfo, Debug, MaxEncodedLen, PartialEq, Clone)]1051#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]1052pub struct PropertyKeyPermission {1053 /// Key.1054 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]1055 pub key: PropertyKey,10561057 /// Permission.1058 pub permission: PropertyPermission,1059}10601061impl Into<(PropertyKey, PropertyPermission)> for PropertyKeyPermission {1062 fn into(self) -> (PropertyKey, PropertyPermission) {1063 (self.key, self.permission)1064 }1065}10661067/// Errors for properties actions.1068#[derive(Debug)]1069pub enum PropertiesError {1070 /// The space allocated for properties has run out.1071 ///1072 /// * Limit for colection - [`MAX_COLLECTION_PROPERTIES_SIZE`].1073 /// * Limit for token - [`MAX_TOKEN_PROPERTIES_SIZE`].1074 NoSpaceForProperty,10751076 /// The property limit has been reached.1077 ///1078 /// * Limit - [`MAX_PROPERTIES_PER_ITEM`].1079 PropertyLimitReached,10801081 /// Property key contains not allowed character.1082 InvalidCharacterInPropertyKey,10831084 /// Property key length is too long.1085 ///1086 /// * Limit - [`MAX_PROPERTY_KEY_LENGTH`].1087 PropertyKeyIsTooLong,10881089 /// Property key is empty.1090 EmptyPropertyKey,1091}10921093/// Token owner error: it could be either `NotFound` ot `MultipleOwners`.1094#[derive(Debug)]1095pub enum TokenOwnerError {1096 NotFound,1097 MultipleOwners,1098}10991100/// Marker for scope of property.1101///1102/// Scoped property can't be changed by user. Used for external collections.1103#[derive(Encode, Decode, MaxEncodedLen, TypeInfo, PartialEq, Clone, Copy)]1104pub enum PropertyScope {1105 None,1106 Rmrk,1107}11081109impl PropertyScope {1110 /// Apply scope to property key.1111 pub fn apply(self, key: PropertyKey) -> Result<PropertyKey, PropertiesError> {1112 let scope_str: &[u8] = match self {1113 Self::None => return Ok(key),1114 Self::Rmrk => b"rmrk",1115 };11161117 [scope_str, b":", key.as_slice()]1118 .concat()1119 .try_into()1120 .map_err(|_| PropertiesError::PropertyKeyIsTooLong)1121 }1122}11231124/// Trait for operate with properties.1125pub trait TrySetProperty: Sized {1126 type Value;11271128 /// Try to set property with scope.1129 fn try_scoped_set(1130 &mut self,1131 scope: PropertyScope,1132 key: PropertyKey,1133 value: Self::Value,1134 ) -> Result<Option<Self::Value>, PropertiesError>;11351136 /// Try to set property with scope from iterator.1137 fn try_scoped_set_from_iter<I, KV>(1138 &mut self,1139 scope: PropertyScope,1140 iter: I,1141 ) -> Result<(), PropertiesError>1142 where1143 I: Iterator<Item = KV>,1144 KV: Into<(PropertyKey, Self::Value)>,1145 {1146 for kv in iter {1147 let (key, value) = kv.into();1148 self.try_scoped_set(scope, key, value)?;1149 }11501151 Ok(())1152 }11531154 /// Try to set property.1155 fn try_set(1156 &mut self,1157 key: PropertyKey,1158 value: Self::Value,1159 ) -> Result<Option<Self::Value>, PropertiesError> {1160 self.try_scoped_set(PropertyScope::None, key, value)1161 }11621163 /// Try to set property from iterator.1164 fn try_set_from_iter<I, KV>(&mut self, iter: I) -> Result<(), PropertiesError>1165 where1166 I: Iterator<Item = KV>,1167 KV: Into<(PropertyKey, Self::Value)>,1168 {1169 self.try_scoped_set_from_iter(PropertyScope::None, iter)1170 }1171}11721173/// Wrapped map for storing properties.1174#[derive(Encode, Decode, TypeInfo, Derivative, Clone, PartialEq, MaxEncodedLen)]1175#[derivative(Default(bound = ""))]1176pub struct PropertiesMap<Value>(1177 BoundedBTreeMap<PropertyKey, Value, ConstU32<MAX_PROPERTIES_PER_ITEM>>,1178);11791180impl<Value> PropertiesMap<Value> {1181 /// Create new property map.1182 pub fn new() -> Self {1183 Self(BoundedBTreeMap::new())1184 }11851186 /// Remove property from map.1187 pub fn remove(&mut self, key: &PropertyKey) -> Result<Option<Value>, PropertiesError> {1188 Self::check_property_key(key)?;11891190 Ok(self.0.remove(key))1191 }11921193 /// Get property with appropriate key from map.1194 pub fn get(&self, key: &PropertyKey) -> Option<&Value> {1195 self.0.get(key)1196 }11971198 /// Check if map contains key.1199 pub fn contains_key(&self, key: &PropertyKey) -> bool {1200 self.0.contains_key(key)1201 }12021203 /// Check if map contains key with key validation.1204 fn check_property_key(key: &PropertyKey) -> Result<(), PropertiesError> {1205 if key.is_empty() {1206 return Err(PropertiesError::EmptyPropertyKey);1207 }12081209 for byte in key.as_slice().iter() {1210 let byte = *byte;12111212 if !byte.is_ascii_alphanumeric() && byte != b'_' && byte != b'-' && byte != b'.' {1213 return Err(PropertiesError::InvalidCharacterInPropertyKey);1214 }1215 }12161217 Ok(())1218 }12191220 pub fn values(&self) -> impl Iterator<Item = &Value> {1221 self.0.values()1222 }1223}12241225impl<Value> IntoIterator for PropertiesMap<Value> {1226 type Item = (PropertyKey, Value);1227 type IntoIter = <1228 BoundedBTreeMap<1229 PropertyKey,1230 Value,1231 ConstU32<MAX_PROPERTIES_PER_ITEM>1232 > as IntoIterator1233 >::IntoIter;12341235 fn into_iter(self) -> Self::IntoIter {1236 self.0.into_iter()1237 }1238}12391240impl<Value> TrySetProperty for PropertiesMap<Value> {1241 type Value = Value;12421243 fn try_scoped_set(1244 &mut self,1245 scope: PropertyScope,1246 key: PropertyKey,1247 value: Self::Value,1248 ) -> Result<Option<Self::Value>, PropertiesError> {1249 Self::check_property_key(&key)?;12501251 let key = scope.apply(key)?;1252 self.01253 .try_insert(key, value)1254 .map_err(|_| PropertiesError::PropertyLimitReached)1255 }1256}12571258/// Alias for property permissions map.1259pub type PropertiesPermissionMap = PropertiesMap<PropertyPermission>;12601261/// Wrapper for properties map with consumed space control.1262#[derive(Encode, Decode, TypeInfo, Clone, PartialEq, MaxEncodedLen)]1263pub struct Properties {1264 map: PropertiesMap<PropertyValue>,1265 consumed_space: u32,1266 space_limit: u32,1267}12681269impl Properties {1270 /// Create new properies container.1271 pub fn new(space_limit: u32) -> Self {1272 Self {1273 map: PropertiesMap::new(),1274 consumed_space: 0,1275 space_limit,1276 }1277 }12781279 /// Remove propery with appropiate key.1280 pub fn remove(&mut self, key: &PropertyKey) -> Result<Option<PropertyValue>, PropertiesError> {1281 let value = self.map.remove(key)?;12821283 if let Some(ref value) = value {1284 let value_len = value.len() as u32;1285 self.consumed_space -= value_len;1286 }12871288 Ok(value)1289 }12901291 /// Get property with appropriate key.1292 pub fn get(&self, key: &PropertyKey) -> Option<&PropertyValue> {1293 self.map.get(key)1294 }12951296 /// Recomputes the consumed space for the current properties state.1297 /// Needed to repair a token due to a bug fixed in the [PR #733](https://github.com/UniqueNetwork/unique-chain/pull/773).1298 pub fn recompute_consumed_space(&mut self) {1299 self.consumed_space = self.map.values().map(|value| value.len() as u32).sum();1300 }1301}13021303impl IntoIterator for Properties {1304 type Item = (PropertyKey, PropertyValue);1305 type IntoIter = <PropertiesMap<PropertyValue> as IntoIterator>::IntoIter;13061307 fn into_iter(self) -> Self::IntoIter {1308 self.map.into_iter()1309 }1310}13111312impl TrySetProperty for Properties {1313 type Value = PropertyValue;13141315 fn try_scoped_set(1316 &mut self,1317 scope: PropertyScope,1318 key: PropertyKey,1319 value: Self::Value,1320 ) -> Result<Option<Self::Value>, PropertiesError> {1321 let value_len = value.len();13221323 if self.consumed_space as usize + value_len > self.space_limit as usize1324 && !cfg!(feature = "runtime-benchmarks")1325 {1326 return Err(PropertiesError::NoSpaceForProperty);1327 }13281329 let value_len = value_len as u32;1330 let old_value = self.map.try_scoped_set(scope, key, value)?;13311332 let old_value_len = old_value.as_ref().map(|v| v.len() as u32).unwrap_or(0);13331334 if value_len > old_value_len {1335 self.consumed_space += value_len - old_value_len;1336 } else {1337 self.consumed_space -= old_value_len - value_len;1338 }13391340 Ok(old_value)1341 }1342}13431344/// Utility struct for using in `StorageMap`.1345pub struct CollectionProperties;13461347impl Get<Properties> for CollectionProperties {1348 fn get() -> Properties {1349 Properties::new(MAX_COLLECTION_PROPERTIES_SIZE)1350 }1351}13521353/// Utility struct for using in `StorageMap`.1354pub struct TokenProperties;13551356impl Get<Properties> for TokenProperties {1357 fn get() -> Properties {1358 Properties::new(MAX_TOKEN_PROPERTIES_SIZE)1359 }1360}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//! # Primitives crate.18//!19//! This crate contains types, traits and constants.2021#![cfg_attr(not(feature = "std"), no_std)]2223use core::{24 convert::{TryFrom, TryInto},25 fmt,26};27use frame_support::storage::{bounded_btree_map::BoundedBTreeMap, bounded_btree_set::BoundedBTreeSet};2829#[cfg(feature = "serde")]30use serde::{Serialize, Deserialize};3132use sp_core::U256;33use sp_runtime::{ArithmeticError, sp_std::prelude::Vec};34use codec::{Decode, Encode, EncodeLike, MaxEncodedLen};35use bondrewd::Bitfields;36use frame_support::{BoundedVec, traits::ConstU32};37use derivative::Derivative;38use scale_info::TypeInfo;3940mod bondrewd_codec;41mod bounded;42pub mod budget;43pub mod mapping;44mod migration;4546/// Maximum of decimal points.47pub const MAX_DECIMAL_POINTS: DecimalPoints = 30;4849/// Maximum pieces for refungible token.50pub const MAX_REFUNGIBLE_PIECES: u128 = 1_000_000_000_000_000_000_000;51pub const MAX_SPONSOR_TIMEOUT: u32 = 10_368_000;5253/// Maximum tokens for user.54pub const MAX_TOKEN_OWNERSHIP: u32 = if cfg!(not(feature = "limit-testing")) {55 100_00056} else {57 1058};5960/// Maximum for collections can be created.61pub const COLLECTION_NUMBER_LIMIT: u32 = if cfg!(not(feature = "limit-testing")) {62 100_00063} else {64 1065};6667/// Maximum for various custom data of token.68pub const CUSTOM_DATA_LIMIT: u32 = if cfg!(not(feature = "limit-testing")) {69 204870} else {71 1072};7374/// Maximum admins per collection.75pub const COLLECTION_ADMINS_LIMIT: u32 = 5;7677/// Maximum tokens per collection.78pub const COLLECTION_TOKEN_LIMIT: u32 = u32::MAX;7980/// Maximum tokens per account.81pub const ACCOUNT_TOKEN_OWNERSHIP_LIMIT: u32 = if cfg!(not(feature = "limit-testing")) {82 1_000_00083} else {84 1085};8687/// Default timeout for transfer sponsoring NFT item.88pub const NFT_SPONSOR_TRANSFER_TIMEOUT: u32 = 5;89/// Default timeout for transfer sponsoring fungible item.90pub const FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT: u32 = 5;91/// Default timeout for transfer sponsoring refungible item.92pub const REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT: u32 = 5;9394/// Default timeout for sponsored approving.95pub const SPONSOR_APPROVE_TIMEOUT: u32 = 5;9697// Schema limits98pub const OFFCHAIN_SCHEMA_LIMIT: u32 = 8192;99pub const VARIABLE_ON_CHAIN_SCHEMA_LIMIT: u32 = 8192;100pub const CONST_ON_CHAIN_SCHEMA_LIMIT: u32 = 32768;101102// TODO: not used. Delete?103pub const COLLECTION_FIELD_LIMIT: u32 = CONST_ON_CHAIN_SCHEMA_LIMIT;104105/// Maximal length of a collection name.106pub const MAX_COLLECTION_NAME_LENGTH: u32 = 64;107108/// Maximal length of a collection description.109pub const MAX_COLLECTION_DESCRIPTION_LENGTH: u32 = 256;110111/// Maximal length of a token prefix.112pub const MAX_TOKEN_PREFIX_LENGTH: u32 = 16;113114/// Maximal length of a property key.115pub const MAX_PROPERTY_KEY_LENGTH: u32 = 256;116117/// Maximal length of a property value.118pub const MAX_PROPERTY_VALUE_LENGTH: u32 = 32768;119120/// A maximum number of token properties.121pub const MAX_PROPERTIES_PER_ITEM: u32 = 64;122123/// Maximal lenght of extended property value.124pub const MAX_AUX_PROPERTY_VALUE_LENGTH: u32 = 2048;125126/// Maximum size for all collection properties.127pub const MAX_COLLECTION_PROPERTIES_SIZE: u32 = 40960;128129/// Maximum size of all token properties.130pub const MAX_TOKEN_PROPERTIES_SIZE: u32 = 32768;131132/// How much items can be created per single133/// create_many call.134pub const MAX_ITEMS_PER_BATCH: u32 = 200;135136/// Used for limit bounded types of token custom data.137pub type CustomDataLimit = ConstU32<CUSTOM_DATA_LIMIT>;138139/// Collection id.140#[derive(141 Encode,142 Decode,143 PartialEq,144 Eq,145 PartialOrd,146 Ord,147 Clone,148 Copy,149 Debug,150 Default,151 TypeInfo,152 MaxEncodedLen,153)]154#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]155pub struct CollectionId(pub u32);156impl EncodeLike<u32> for CollectionId {}157impl EncodeLike<CollectionId> for u32 {}158159impl From<u32> for CollectionId {160 fn from(value: u32) -> Self {161 Self(value)162 }163}164165/// Token id.166#[derive(167 Encode,168 Decode,169 PartialEq,170 Eq,171 PartialOrd,172 Ord,173 Clone,174 Copy,175 Debug,176 Default,177 TypeInfo,178 MaxEncodedLen,179)]180#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]181pub struct TokenId(pub u32);182impl EncodeLike<u32> for TokenId {}183impl EncodeLike<TokenId> for u32 {}184185impl TokenId {186 /// Try to get next token id.187 ///188 /// If next id cause overflow, then [`ArithmeticError::Overflow`] returned.189 pub fn try_next(self) -> Result<TokenId, ArithmeticError> {190 self.0191 .checked_add(1)192 .ok_or(ArithmeticError::Overflow)193 .map(Self)194 }195}196197impl From<TokenId> for U256 {198 fn from(t: TokenId) -> Self {199 t.0.into()200 }201}202203impl TryFrom<U256> for TokenId {204 type Error = &'static str;205206 fn try_from(value: U256) -> Result<Self, Self::Error> {207 Ok(TokenId(value.try_into().map_err(|_| "too large token id")?))208 }209}210211/// Token data.212#[struct_versioning::versioned(version = 2, upper)]213#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]214#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]215pub struct TokenData<CrossAccountId> {216 /// Properties of token.217 pub properties: Vec<Property>,218219 /// Token owner.220 pub owner: Option<CrossAccountId>,221222 /// Token pieces.223 #[version(2.., upper(0))]224 pub pieces: u128,225}226227// TODO: unused type228pub struct OverflowError;229impl From<OverflowError> for &'static str {230 fn from(_: OverflowError) -> Self {231 "overflow occured"232 }233}234235/// Alias for decimal points type.236pub type DecimalPoints = u8;237238/// Collection mode.239///240/// Collection can represent various types of tokens.241/// Each collection can contain only one type of tokens at a time.242/// This type helps to understand which tokens the collection contains.243#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]244#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]245pub enum CollectionMode {246 /// Non fungible tokens.247 NFT,248 /// Fungible tokens.249 Fungible(DecimalPoints),250 /// Refungible tokens.251 ReFungible,252}253254impl CollectionMode {255 /// Get collection mod as number.256 pub fn id(&self) -> u8 {257 match self {258 CollectionMode::NFT => 1,259 CollectionMode::Fungible(_) => 2,260 CollectionMode::ReFungible => 3,261 }262 }263}264265// TODO: unused trait266pub trait SponsoringResolve<AccountId, Call> {267 fn resolve(who: &AccountId, call: &Call) -> Option<AccountId>;268}269270/// Access mode for some token operations.271#[derive(Encode, Decode, Eq, Debug, Clone, Copy, PartialEq, TypeInfo, MaxEncodedLen)]272#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]273pub enum AccessMode {274 /// Access grant for owner and admins. Used as default.275 Normal,276 /// Like a [`Normal`](AccessMode::Normal) but also users in allow list.277 AllowList,278}279impl Default for AccessMode {280 fn default() -> Self {281 Self::Normal282 }283}284285// TODO: remove in future.286#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]287#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]288pub enum SchemaVersion {289 ImageURL,290 Unique,291}292impl Default for SchemaVersion {293 fn default() -> Self {294 Self::ImageURL295 }296}297298// TODO: unused type299#[derive(Encode, Decode, Default, Debug, Clone, PartialEq, TypeInfo)]300#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]301pub struct Ownership<AccountId> {302 pub owner: AccountId,303 pub fraction: u128,304}305306/// The state of collection sponsorship.307#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]308#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]309pub enum SponsorshipState<AccountId> {310 /// The fees are applied to the transaction sender.311 Disabled,312 /// The sponsor is under consideration. Until the sponsor gives his consent,313 /// the fee will still be charged to sender.314 Unconfirmed(AccountId),315 /// Transactions are sponsored by specified account.316 Confirmed(AccountId),317}318319impl<AccountId> SponsorshipState<AccountId> {320 /// Get a sponsor of the collection who has confirmed his status.321 pub fn sponsor(&self) -> Option<&AccountId> {322 match self {323 Self::Confirmed(sponsor) => Some(sponsor),324 _ => None,325 }326 }327328 /// Get a sponsor of the collection who has pending or confirmed status.329 pub fn pending_sponsor(&self) -> Option<&AccountId> {330 match self {331 Self::Unconfirmed(sponsor) | Self::Confirmed(sponsor) => Some(sponsor),332 _ => None,333 }334 }335336 /// Whether the sponsorship is confirmed.337 pub fn confirmed(&self) -> bool {338 matches!(self, Self::Confirmed(_))339 }340}341342impl<T> Default for SponsorshipState<T> {343 fn default() -> Self {344 Self::Disabled345 }346}347348pub type CollectionName = BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>;349pub type CollectionDescription = BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>;350pub type CollectionTokenPrefix = BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>;351352#[derive(Bitfields, Clone, Copy, PartialEq, Eq, Debug, Default)]353#[bondrewd(enforce_bytes = 1)]354pub struct CollectionFlags {355 /// Tokens in foreign collections can be transferred, but not burnt356 #[bondrewd(bits = "0..1")]357 pub foreign: bool,358 /// Supports ERC721Metadata359 #[bondrewd(bits = "1..2")]360 pub erc721metadata: bool,361 /// External collections can't be managed using `unique` api362 #[bondrewd(bits = "7..8")]363 pub external: bool,364365 #[bondrewd(reserve, bits = "2..7")]366 pub reserved: u8,367}368bondrewd_codec!(CollectionFlags);369370/// Base structure for represent collection.371///372/// Used to provide basic functionality for all types of collections.373///374/// #### Note375/// Collection parameters, used in storage (see [`RpcCollection`] for the RPC version).376#[struct_versioning::versioned(version = 2, upper)]377#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen)]378pub struct Collection<AccountId> {379 /// Collection owner account.380 pub owner: AccountId,381382 /// Collection mode.383 pub mode: CollectionMode,384385 /// Access mode.386 #[version(..2)]387 pub access: AccessMode,388389 /// Collection name.390 pub name: CollectionName,391392 /// Collection description.393 pub description: CollectionDescription,394395 /// Token prefix.396 pub token_prefix: CollectionTokenPrefix,397398 #[version(..2)]399 pub mint_mode: bool,400401 #[version(..2)]402 pub offchain_schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,403404 #[version(..2)]405 pub schema_version: SchemaVersion,406407 /// The state of sponsorship of the collection.408 pub sponsorship: SponsorshipState<AccountId>,409410 /// Collection limits.411 pub limits: CollectionLimits,412413 /// Collection permissions.414 #[version(2.., upper(Default::default()))]415 pub permissions: CollectionPermissions,416417 #[version(2.., upper(Default::default()))]418 pub flags: CollectionFlags,419420 #[version(..2)]421 pub variable_on_chain_schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>,422423 #[version(..2)]424 pub const_on_chain_schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>,425426 #[version(..2)]427 pub meta_update_permission: MetaUpdatePermission,428}429430#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]431#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]432pub struct RpcCollectionFlags {433 /// Is collection is foreign.434 pub foreign: bool,435 /// Collection supports ERC721Metadata.436 pub erc721metadata: bool,437}438439/// Collection parameters, used in RPC calls (see [`Collection`] for the storage version).440#[struct_versioning::versioned(version = 2, upper)]441#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]442#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]443pub struct RpcCollection<AccountId> {444 /// Collection owner account.445 pub owner: AccountId,446447 /// Collection mode.448 pub mode: CollectionMode,449450 /// Collection name.451 pub name: Vec<u16>,452453 /// Collection description.454 pub description: Vec<u16>,455456 /// Token prefix.457 pub token_prefix: Vec<u8>,458459 /// The state of sponsorship of the collection.460 pub sponsorship: SponsorshipState<AccountId>,461462 /// Collection limits.463 pub limits: CollectionLimits,464465 /// Collection permissions.466 pub permissions: CollectionPermissions,467468 /// Token property permissions.469 pub token_property_permissions: Vec<PropertyKeyPermission>,470471 /// Collection properties.472 pub properties: Vec<Property>,473474 /// Is collection read only.475 pub read_only: bool,476477 /// Extra collection flags478 #[version(2.., upper(RpcCollectionFlags {foreign: false, erc721metadata: false}))]479 pub flags: RpcCollectionFlags,480}481482/// Data used for create collection.483///484/// All fields are wrapped in [`Option`], where `None` means chain default.485#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, Derivative, MaxEncodedLen)]486#[derivative(Debug, Default(bound = ""))]487pub struct CreateCollectionData<AccountId> {488 /// Collection mode.489 #[derivative(Default(value = "CollectionMode::NFT"))]490 pub mode: CollectionMode,491492 /// Access mode.493 pub access: Option<AccessMode>,494495 /// Collection name.496 pub name: CollectionName,497498 /// Collection description.499 pub description: CollectionDescription,500501 /// Token prefix.502 pub token_prefix: CollectionTokenPrefix,503504 /// Pending collection sponsor.505 pub pending_sponsor: Option<AccountId>,506507 /// Collection limits.508 pub limits: Option<CollectionLimits>,509510 /// Collection permissions.511 pub permissions: Option<CollectionPermissions>,512513 /// Token property permissions.514 pub token_property_permissions: CollectionPropertiesPermissionsVec,515516 /// Collection properties.517 pub properties: CollectionPropertiesVec,518}519520/// Bounded vector of properties permissions. Max length is [`MAX_PROPERTIES_PER_ITEM`].521// TODO: maybe rename to PropertiesPermissionsVec522pub type CollectionPropertiesPermissionsVec =523 BoundedVec<PropertyKeyPermission, ConstU32<MAX_PROPERTIES_PER_ITEM>>;524525/// Bounded vector of properties. Max length is [`MAX_PROPERTIES_PER_ITEM`].526pub type CollectionPropertiesVec = BoundedVec<Property, ConstU32<MAX_PROPERTIES_PER_ITEM>>;527528/// Limits and restrictions of a collection.529///530/// All fields are wrapped in [`Option`], where `None` means chain default.531///532/// Update with `pallet_common::Pallet::clamp_limits`.533// IMPORTANT: When adding/removing fields from this struct - don't forget to also534#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo, MaxEncodedLen)]535#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]536// When adding/removing fields from this struct - don't forget to also update with `pallet_common::Pallet::clamp_limits`.537// TODO: move `pallet_common::Pallet::clamp_limits` into `impl CollectionLimits`.538// TODO: may be remove [`Option`] and **pub** from fields and create struct with default values.539pub struct CollectionLimits {540 /// How many tokens can a user have on one account.541 /// * Default - [`ACCOUNT_TOKEN_OWNERSHIP_LIMIT`].542 /// * Limit - [`MAX_TOKEN_OWNERSHIP`].543 pub account_token_ownership_limit: Option<u32>,544545 /// How many bytes of data are available for sponsorship.546 /// * Default - [`CUSTOM_DATA_LIMIT`].547 /// * Limit - [`CUSTOM_DATA_LIMIT`].548 pub sponsored_data_size: Option<u32>,549550 // FIXME should we delete this or repurpose it?551 /// Times in how many blocks we sponsor data.552 ///553 /// If is `Some(v)` then **setVariableMetadata** is sponsored if there is `v` block between transactions.554 ///555 /// * Default - [`SponsoringDisabled`](SponsoringRateLimit::SponsoringDisabled).556 /// * Limit - [`MAX_SPONSOR_TIMEOUT`].557 ///558 /// In any case, chain default: [`SponsoringRateLimit::SponsoringDisabled`]559 pub sponsored_data_rate_limit: Option<SponsoringRateLimit>,560 /// Maximum amount of tokens inside the collection. Chain default: [`COLLECTION_TOKEN_LIMIT`]561562 /// How many tokens can be mined into this collection.563 ///564 /// * Default - [`COLLECTION_TOKEN_LIMIT`].565 /// * Limit - [`COLLECTION_TOKEN_LIMIT`].566 pub token_limit: Option<u32>,567568 /// Timeouts for transfer sponsoring.569 ///570 /// * Default571 /// - **Fungible** - [`FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT`]572 /// - **NFT** - [`NFT_SPONSOR_TRANSFER_TIMEOUT`]573 /// - **Refungible** - [`REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT`]574 /// * Limit - [`MAX_SPONSOR_TIMEOUT`].575 pub sponsor_transfer_timeout: Option<u32>,576577 /// Timeout for sponsoring an approval in passed blocks.578 ///579 /// * Default - [`SPONSOR_APPROVE_TIMEOUT`].580 /// * Limit - [`MAX_SPONSOR_TIMEOUT`].581 pub sponsor_approve_timeout: Option<u32>,582583 /// Whether the collection owner of the collection can send tokens (which belong to other users).584 ///585 /// * Default - **false**.586 pub owner_can_transfer: Option<bool>,587588 /// Can the collection owner burn other people's tokens.589 ///590 /// * Default - **true**.591 pub owner_can_destroy: Option<bool>,592593 /// Is it possible to send tokens from this collection between users.594 ///595 /// * Default - **true**.596 pub transfers_enabled: Option<bool>,597}598599impl CollectionLimits {600 pub fn with_default_limits(collection_type: CollectionMode) -> Self {601 CollectionLimits {602 account_token_ownership_limit: Some(ACCOUNT_TOKEN_OWNERSHIP_LIMIT),603 sponsored_data_size: Some(CUSTOM_DATA_LIMIT),604 sponsored_data_rate_limit: Some(SponsoringRateLimit::SponsoringDisabled),605 token_limit: Some(COLLECTION_TOKEN_LIMIT),606 sponsor_transfer_timeout: match collection_type {607 CollectionMode::NFT => Some(NFT_SPONSOR_TRANSFER_TIMEOUT),608 CollectionMode::ReFungible => Some(REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT),609 CollectionMode::Fungible(_) => Some(FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT),610 },611 sponsor_approve_timeout: Some(SPONSOR_APPROVE_TIMEOUT),612 owner_can_transfer: Some(false),613 owner_can_destroy: Some(true),614 transfers_enabled: Some(true),615 }616 }617618 /// Get effective value for [`account_token_ownership_limit`](self.account_token_ownership_limit).619 pub fn account_token_ownership_limit(&self) -> u32 {620 self.account_token_ownership_limit621 .unwrap_or(ACCOUNT_TOKEN_OWNERSHIP_LIMIT)622 .min(MAX_TOKEN_OWNERSHIP)623 }624625 /// Get effective value for [`sponsored_data_size`](self.sponsored_data_size).626 pub fn sponsored_data_size(&self) -> u32 {627 self.sponsored_data_size628 .unwrap_or(CUSTOM_DATA_LIMIT)629 .min(CUSTOM_DATA_LIMIT)630 }631632 /// Get effective value for [`token_limit`](self.token_limit).633 pub fn token_limit(&self) -> u32 {634 self.token_limit635 .unwrap_or(COLLECTION_TOKEN_LIMIT)636 .min(COLLECTION_TOKEN_LIMIT)637 }638639 // TODO: may be replace u32 to mode?640 /// Get effective value for [`sponsor_transfer_timeout`](self.sponsor_transfer_timeout).641 pub fn sponsor_transfer_timeout(&self, default: u32) -> u32 {642 self.sponsor_transfer_timeout643 .unwrap_or(default)644 .min(MAX_SPONSOR_TIMEOUT)645 }646647 /// Get effective value for [`sponsor_approve_timeout`](self.sponsor_approve_timeout).648 pub fn sponsor_approve_timeout(&self) -> u32 {649 self.sponsor_approve_timeout650 .unwrap_or(SPONSOR_APPROVE_TIMEOUT)651 .min(MAX_SPONSOR_TIMEOUT)652 }653654 /// Get effective value for [`owner_can_transfer`](self.owner_can_transfer).655 pub fn owner_can_transfer(&self) -> bool {656 self.owner_can_transfer.unwrap_or(false)657 }658659 /// Get effective value for [`owner_can_transfer_instaled`](self.owner_can_transfer_instaled).660 pub fn owner_can_transfer_instaled(&self) -> bool {661 self.owner_can_transfer.is_some()662 }663664 /// Get effective value for [`owner_can_destroy`](self.owner_can_destroy).665 pub fn owner_can_destroy(&self) -> bool {666 self.owner_can_destroy.unwrap_or(true)667 }668669 /// Get effective value for [`transfers_enabled`](self.transfers_enabled).670 pub fn transfers_enabled(&self) -> bool {671 self.transfers_enabled.unwrap_or(true)672 }673674 /// Get effective value for [`sponsored_data_rate_limit`](self.sponsored_data_rate_limit).675 pub fn sponsored_data_rate_limit(&self) -> Option<u32> {676 match self677 .sponsored_data_rate_limit678 .unwrap_or(SponsoringRateLimit::SponsoringDisabled)679 {680 SponsoringRateLimit::SponsoringDisabled => None,681 SponsoringRateLimit::Blocks(v) => Some(v.min(MAX_SPONSOR_TIMEOUT)),682 }683 }684}685686/// Permissions on certain operations within a collection.687///688/// Some fields are wrapped in [`Option`], where `None` means chain default.689///690/// Update with `pallet_common::Pallet::clamp_permissions`.691#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo, MaxEncodedLen)]692#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]693// When adding/removing fields from this struct - don't forget to also update `pallet_common::Pallet::clamp_permissions`.694// TODO: move `pallet_common::Pallet::clamp_permissions` into `impl CollectionPermissions`.695pub struct CollectionPermissions {696 /// Access mode.697 ///698 /// * Default - [`AccessMode::Normal`].699 pub access: Option<AccessMode>,700701 /// Minting allowance.702 ///703 /// * Default - **false**.704 pub mint_mode: Option<bool>,705706 /// Permissions for nesting.707 ///708 /// * Default709 /// - `token_owner` - **false**710 /// - `collection_admin` - **false**711 /// - `restricted` - **None**712 pub nesting: Option<NestingPermissions>,713}714715impl CollectionPermissions {716 /// Get effective value for [`access`](self.access).717 pub fn access(&self) -> AccessMode {718 self.access.unwrap_or(AccessMode::Normal)719 }720721 /// Get effective value for [`mint_mode`](self.mint_mode).722 pub fn mint_mode(&self) -> bool {723 self.mint_mode.unwrap_or(false)724 }725726 /// Get effective value for [`nesting`](self.nesting).727 pub fn nesting(&self) -> &NestingPermissions {728 static DEFAULT: NestingPermissions = NestingPermissions {729 token_owner: false,730 collection_admin: false,731 restricted: None,732 #[cfg(feature = "runtime-benchmarks")]733 permissive: false,734 };735 self.nesting.as_ref().unwrap_or(&DEFAULT)736 }737}738739/// Inner set for collections allowed to nest.740type OwnerRestrictedSetInner = BoundedBTreeSet<CollectionId, ConstU32<16>>;741742/// Wraper for collections set allowing nest.743#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen, Derivative)]744#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]745#[derivative(Debug)]746pub struct OwnerRestrictedSet(747 #[cfg_attr(feature = "serde1", serde(with = "bounded::set_serde"))]748 #[derivative(Debug(format_with = "bounded::set_debug"))]749 pub OwnerRestrictedSetInner,750);751752impl OwnerRestrictedSet {753 /// Create new set.754 pub fn new() -> Self {755 Self(Default::default())756 }757}758impl core::ops::Deref for OwnerRestrictedSet {759 type Target = OwnerRestrictedSetInner;760 fn deref(&self) -> &Self::Target {761 &self.0762 }763}764impl core::ops::DerefMut for OwnerRestrictedSet {765 fn deref_mut(&mut self) -> &mut Self::Target {766 &mut self.0767 }768}769770/// Part of collection permissions, if set, defines who is able to nest tokens into other tokens.771#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen, Derivative)]772#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]773#[derivative(Debug)]774pub struct NestingPermissions {775 /// Owner of token can nest tokens under it.776 pub token_owner: bool,777 /// Admin of token collection can nest tokens under token.778 pub collection_admin: bool,779 /// If set - only tokens from specified collections can be nested.780 pub restricted: Option<OwnerRestrictedSet>,781782 #[cfg(feature = "runtime-benchmarks")]783 /// Anyone can nest tokens, mutually exclusive with `token_owner`, `admin`.784 pub permissive: bool,785}786787/// Enum denominating how often can sponsoring occur if it is enabled.788///789/// Used for [`collection limits`](CollectionLimits).790#[derive(Encode, Decode, Debug, Clone, Copy, PartialEq, TypeInfo, MaxEncodedLen)]791#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]792pub enum SponsoringRateLimit {793 /// Sponsoring is disabled, and the collection sponsor will not pay for transactions794 SponsoringDisabled,795 /// Once per how many blocks can sponsorship of a transaction type occur796 Blocks(u32),797}798799/// Data used to describe an NFT at creation.800#[derive(Encode, Decode, MaxEncodedLen, Default, PartialEq, Clone, Derivative, TypeInfo)]801#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]802#[derivative(Debug)]803pub struct CreateNftData {804 /// Key-value pairs used to describe the token as metadata805 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]806 #[derivative(Debug(format_with = "bounded::vec_debug"))]807 /// Properties that wil be assignet to created item.808 pub properties: CollectionPropertiesVec,809}810811/// Data used to describe a Fungible token at creation.812#[derive(Encode, Decode, MaxEncodedLen, Default, Debug, Clone, PartialEq, TypeInfo)]813#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]814pub struct CreateFungibleData {815 /// Number of fungible coins minted816 pub value: u128,817}818819/// Data used to describe a Refungible token at creation.820#[derive(Encode, Decode, MaxEncodedLen, Default, PartialEq, Clone, Derivative, TypeInfo)]821#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]822#[derivative(Debug)]823pub struct CreateReFungibleData {824 /// Number of pieces the RFT is split into825 pub pieces: u128,826827 /// Key-value pairs used to describe the token as metadata828 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]829 #[derivative(Debug(format_with = "bounded::vec_debug"))]830 pub properties: CollectionPropertiesVec,831}832833// TODO: remove this.834#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]835#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]836pub enum MetaUpdatePermission {837 ItemOwner,838 Admin,839 None,840}841842/// Enum holding data used for creation of all three item types.843/// Unified data for create item.844#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, Debug, TypeInfo)]845#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]846pub enum CreateItemData {847 /// Data for create NFT.848 NFT(CreateNftData),849 /// Data for create Fungible item.850 Fungible(CreateFungibleData),851 /// Data for create ReFungible item.852 ReFungible(CreateReFungibleData),853}854855/// Extended data for create NFT.856#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]857#[derivative(Debug)]858pub struct CreateNftExData<CrossAccountId> {859 /// Properties that wil be assignet to created item.860 #[derivative(Debug(format_with = "bounded::vec_debug"))]861 pub properties: CollectionPropertiesVec,862863 /// Owner of creating item.864 pub owner: CrossAccountId,865}866867/// Extended data for create ReFungible item.868#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]869#[derivative(Debug(bound = "CrossAccountId: fmt::Debug + Ord"))]870pub struct CreateRefungibleExMultipleOwners<CrossAccountId> {871 #[derivative(Debug(format_with = "bounded::map_debug"))]872 pub users: BoundedBTreeMap<CrossAccountId, u128, ConstU32<MAX_ITEMS_PER_BATCH>>,873 #[derivative(Debug(format_with = "bounded::vec_debug"))]874 pub properties: CollectionPropertiesVec,875}876877/// Extended data for create ReFungible item.878#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]879#[derivative(Debug(bound = "CrossAccountId: fmt::Debug"))]880pub struct CreateRefungibleExSingleOwner<CrossAccountId> {881 pub user: CrossAccountId,882 pub pieces: u128,883 #[derivative(Debug(format_with = "bounded::vec_debug"))]884 pub properties: CollectionPropertiesVec,885}886887/// Unified extended data for creating item.888#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]889#[derivative(Debug(bound = "CrossAccountId: fmt::Debug + Ord"))]890pub enum CreateItemExData<CrossAccountId> {891 /// Extended data for create NFT.892 NFT(893 #[derivative(Debug(format_with = "bounded::vec_debug"))]894 BoundedVec<CreateNftExData<CrossAccountId>, ConstU32<MAX_ITEMS_PER_BATCH>>,895 ),896897 /// Extended data for create Fungible item.898 Fungible(899 #[derivative(Debug(format_with = "bounded::map_debug"))]900 BoundedBTreeMap<CrossAccountId, u128, ConstU32<MAX_ITEMS_PER_BATCH>>,901 ),902903 /// Extended data for create ReFungible item in case of904 /// many tokens, each may have only one owner905 RefungibleMultipleItems(906 #[derivative(Debug(format_with = "bounded::vec_debug"))]907 BoundedVec<CreateRefungibleExSingleOwner<CrossAccountId>, ConstU32<MAX_ITEMS_PER_BATCH>>,908 ),909910 /// Extended data for create ReFungible item in case of911 /// single token, which may have many owners912 RefungibleMultipleOwners(CreateRefungibleExMultipleOwners<CrossAccountId>),913}914915impl From<CreateNftData> for CreateItemData {916 fn from(item: CreateNftData) -> Self {917 CreateItemData::NFT(item)918 }919}920921impl From<CreateReFungibleData> for CreateItemData {922 fn from(item: CreateReFungibleData) -> Self {923 CreateItemData::ReFungible(item)924 }925}926927impl From<CreateFungibleData> for CreateItemData {928 fn from(item: CreateFungibleData) -> Self {929 CreateItemData::Fungible(item)930 }931}932933/// Token's address, dictated by its collection and token IDs.934#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, Debug, TypeInfo)]935#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]936// todo possibly rename to be used generally as an address pair937pub struct TokenChild {938 /// Token id.939 pub token: TokenId,940941 /// Collection id.942 pub collection: CollectionId,943}944945/// Collection statistics.946#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, Debug, TypeInfo)]947#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]948pub struct CollectionStats {949 /// Number of created items.950 pub created: u32,951952 /// Number of burned items.953 pub destroyed: u32,954955 /// Number of current items.956 pub alive: u32,957}958959/// This type works like [`PhantomData`] but supports generating _scale-info_ descriptions to generate node metadata.960#[derive(Encode, Decode, Clone, Debug)]961#[cfg_attr(feature = "std", derive(PartialEq))]962pub struct PhantomType<T>(core::marker::PhantomData<T>);963964impl<T: TypeInfo + 'static> TypeInfo for PhantomType<T> {965 type Identity = PhantomType<T>;966967 fn type_info() -> scale_info::Type {968 use scale_info::{969 Type, Path,970 build::{FieldsBuilder, UnnamedFields},971 form::MetaForm,972 type_params,973 };974 Type::builder()975 .path(Path::new("up_data_structs", "PhantomType"))976 .type_params(type_params!(T))977 .composite(978 <FieldsBuilder<MetaForm, UnnamedFields>>::default().field(|b| b.ty::<[T; 0]>()),979 )980 }981}982impl<T> MaxEncodedLen for PhantomType<T> {983 fn max_encoded_len() -> usize {984 0985 }986}987988/// Bounded vector of bytes.989pub type BoundedBytes<S> = BoundedVec<u8, S>;990991/// Extra properties for external collections.992pub type AuxPropertyValue = BoundedBytes<ConstU32<MAX_AUX_PROPERTY_VALUE_LENGTH>>;993994/// Property key.995pub type PropertyKey = BoundedBytes<ConstU32<MAX_PROPERTY_KEY_LENGTH>>;996997/// Property value.998pub type PropertyValue = BoundedBytes<ConstU32<MAX_PROPERTY_VALUE_LENGTH>>;9991000/// Property permission.1001#[derive(Encode, Decode, TypeInfo, Debug, MaxEncodedLen, PartialEq, Clone, Default)]1002#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]1003pub struct PropertyPermission {1004 /// Permission to change the property and property permission.1005 ///1006 /// If it **false** then you can not change corresponding property even if [`collection_admin`] and [`token_owner`] are **true**.1007 pub mutable: bool,10081009 /// Change permission for the collection administrator.1010 pub collection_admin: bool,10111012 /// Permission to change the property for the owner of the token.1013 pub token_owner: bool,1014}10151016impl PropertyPermission {1017 /// Creates mutable property permission but changes restricted for collection admin and token owner.1018 pub fn none() -> Self {1019 Self {1020 mutable: true,1021 collection_admin: false,1022 token_owner: false,1023 }1024 }1025}10261027/// Property is simpl key-value record.1028#[derive(Encode, Decode, Debug, TypeInfo, Clone, PartialEq, MaxEncodedLen)]1029#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]1030pub struct Property {1031 /// Property key.1032 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]1033 pub key: PropertyKey,10341035 /// Property value.1036 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]1037 pub value: PropertyValue,1038}10391040impl Into<(PropertyKey, PropertyValue)> for Property {1041 fn into(self) -> (PropertyKey, PropertyValue) {1042 (self.key, self.value)1043 }1044}10451046/// Record for proprty key permission.1047#[derive(Encode, Decode, TypeInfo, Debug, MaxEncodedLen, PartialEq, Clone)]1048#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]1049pub struct PropertyKeyPermission {1050 /// Key.1051 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]1052 pub key: PropertyKey,10531054 /// Permission.1055 pub permission: PropertyPermission,1056}10571058impl Into<(PropertyKey, PropertyPermission)> for PropertyKeyPermission {1059 fn into(self) -> (PropertyKey, PropertyPermission) {1060 (self.key, self.permission)1061 }1062}10631064/// Errors for properties actions.1065#[derive(Debug)]1066pub enum PropertiesError {1067 /// The space allocated for properties has run out.1068 ///1069 /// * Limit for colection - [`MAX_COLLECTION_PROPERTIES_SIZE`].1070 /// * Limit for token - [`MAX_TOKEN_PROPERTIES_SIZE`].1071 NoSpaceForProperty,10721073 /// The property limit has been reached.1074 ///1075 /// * Limit - [`MAX_PROPERTIES_PER_ITEM`].1076 PropertyLimitReached,10771078 /// Property key contains not allowed character.1079 InvalidCharacterInPropertyKey,10801081 /// Property key length is too long.1082 ///1083 /// * Limit - [`MAX_PROPERTY_KEY_LENGTH`].1084 PropertyKeyIsTooLong,10851086 /// Property key is empty.1087 EmptyPropertyKey,1088}10891090/// Token owner error: it could be either `NotFound` ot `MultipleOwners`.1091#[derive(Debug)]1092pub enum TokenOwnerError {1093 NotFound,1094 MultipleOwners,1095}10961097/// Marker for scope of property.1098///1099/// Scoped property can't be changed by user. Used for external collections.1100#[derive(Encode, Decode, MaxEncodedLen, TypeInfo, PartialEq, Clone, Copy)]1101pub enum PropertyScope {1102 None,1103 Rmrk,1104}11051106impl PropertyScope {1107 /// Apply scope to property key.1108 pub fn apply(self, key: PropertyKey) -> Result<PropertyKey, PropertiesError> {1109 let scope_str: &[u8] = match self {1110 Self::None => return Ok(key),1111 Self::Rmrk => b"rmrk",1112 };11131114 [scope_str, b":", key.as_slice()]1115 .concat()1116 .try_into()1117 .map_err(|_| PropertiesError::PropertyKeyIsTooLong)1118 }1119}11201121/// Trait for operate with properties.1122pub trait TrySetProperty: Sized {1123 type Value;11241125 /// Try to set property with scope.1126 fn try_scoped_set(1127 &mut self,1128 scope: PropertyScope,1129 key: PropertyKey,1130 value: Self::Value,1131 ) -> Result<Option<Self::Value>, PropertiesError>;11321133 /// Try to set property with scope from iterator.1134 fn try_scoped_set_from_iter<I, KV>(1135 &mut self,1136 scope: PropertyScope,1137 iter: I,1138 ) -> Result<(), PropertiesError>1139 where1140 I: Iterator<Item = KV>,1141 KV: Into<(PropertyKey, Self::Value)>,1142 {1143 for kv in iter {1144 let (key, value) = kv.into();1145 self.try_scoped_set(scope, key, value)?;1146 }11471148 Ok(())1149 }11501151 /// Try to set property.1152 fn try_set(1153 &mut self,1154 key: PropertyKey,1155 value: Self::Value,1156 ) -> Result<Option<Self::Value>, PropertiesError> {1157 self.try_scoped_set(PropertyScope::None, key, value)1158 }11591160 /// Try to set property from iterator.1161 fn try_set_from_iter<I, KV>(&mut self, iter: I) -> Result<(), PropertiesError>1162 where1163 I: Iterator<Item = KV>,1164 KV: Into<(PropertyKey, Self::Value)>,1165 {1166 self.try_scoped_set_from_iter(PropertyScope::None, iter)1167 }1168}11691170/// Wrapped map for storing properties.1171#[derive(Encode, Decode, TypeInfo, Derivative, Clone, PartialEq, MaxEncodedLen)]1172#[derivative(Default(bound = ""))]1173pub struct PropertiesMap<Value>(1174 BoundedBTreeMap<PropertyKey, Value, ConstU32<MAX_PROPERTIES_PER_ITEM>>,1175);11761177impl<Value> PropertiesMap<Value> {1178 /// Create new property map.1179 pub fn new() -> Self {1180 Self(BoundedBTreeMap::new())1181 }11821183 /// Remove property from map.1184 pub fn remove(&mut self, key: &PropertyKey) -> Result<Option<Value>, PropertiesError> {1185 Self::check_property_key(key)?;11861187 Ok(self.0.remove(key))1188 }11891190 /// Get property with appropriate key from map.1191 pub fn get(&self, key: &PropertyKey) -> Option<&Value> {1192 self.0.get(key)1193 }11941195 /// Check if map contains key.1196 pub fn contains_key(&self, key: &PropertyKey) -> bool {1197 self.0.contains_key(key)1198 }11991200 fn metadata_encoded_len() -> usize {1201 // Max length of key length + max length of value length for max properties1202 // + max length of table size length1203 (4 * 4) * (MAX_PROPERTIES_PER_ITEM as usize) + 41204 }12051206 /// Check if map contains key with key validation.1207 fn check_property_key(key: &PropertyKey) -> Result<(), PropertiesError> {1208 if key.is_empty() {1209 return Err(PropertiesError::EmptyPropertyKey);1210 }12111212 for byte in key.as_slice().iter() {1213 let byte = *byte;12141215 if !byte.is_ascii_alphanumeric() && byte != b'_' && byte != b'-' && byte != b'.' {1216 return Err(PropertiesError::InvalidCharacterInPropertyKey);1217 }1218 }12191220 Ok(())1221 }12221223 pub fn values(&self) -> impl Iterator<Item = &Value> {1224 self.0.values()1225 }1226}12271228impl<Value> IntoIterator for PropertiesMap<Value> {1229 type Item = (PropertyKey, Value);1230 type IntoIter = <1231 BoundedBTreeMap<1232 PropertyKey,1233 Value,1234 ConstU32<MAX_PROPERTIES_PER_ITEM>1235 > as IntoIterator1236 >::IntoIter;12371238 fn into_iter(self) -> Self::IntoIter {1239 self.0.into_iter()1240 }1241}12421243impl<Value> TrySetProperty for PropertiesMap<Value> {1244 type Value = Value;12451246 fn try_scoped_set(1247 &mut self,1248 scope: PropertyScope,1249 key: PropertyKey,1250 value: Self::Value,1251 ) -> Result<Option<Self::Value>, PropertiesError> {1252 Self::check_property_key(&key)?;12531254 let key = scope.apply(key)?;1255 self.01256 .try_insert(key, value)1257 .map_err(|_| PropertiesError::PropertyLimitReached)1258 }1259}12601261/// Alias for property permissions map.1262pub type PropertiesPermissionMap = PropertiesMap<PropertyPermission>;12631264/// Wrapper for properties map with consumed space control.1265#[derive(Encode, Decode, TypeInfo, Clone, PartialEq)]1266pub struct Properties<const S: u32> {1267 map: PropertiesMap<PropertyValue>,1268 consumed_space: u32,1269 space_limit: u32,1270}12711272impl<const S: u32> MaxEncodedLen for Properties<S> {1273 fn max_encoded_len() -> usize {1274 <PropertiesMap<PropertyValue>>::metadata_encoded_len()1275 + (u32::max_encoded_len() * 2)1276 + S as usize1277 }1278}12791280impl<const S: u32> Default for Properties<S> {1281 fn default() -> Self {1282 Self::new()1283 }1284}12851286impl<const S: u32> Properties<S> {1287 /// Create new properies container.1288 pub fn new() -> Self {1289 Self {1290 map: PropertiesMap::new(),1291 consumed_space: 0,1292 space_limit: u32::MAX,1293 }1294 }12951296 /// Remove propery with appropiate key.1297 pub fn remove(&mut self, key: &PropertyKey) -> Result<Option<PropertyValue>, PropertiesError> {1298 let value = self.map.remove(key)?;12991300 if let Some(ref value) = value {1301 let value_len = value.len() as u32;1302 self.consumed_space -= value_len;1303 }13041305 Ok(value)1306 }13071308 /// Get property with appropriate key.1309 pub fn get(&self, key: &PropertyKey) -> Option<&PropertyValue> {1310 self.map.get(key)1311 }13121313 /// Recomputes the consumed space for the current properties state.1314 /// Needed to repair a token due to a bug fixed in the [PR #733](https://github.com/UniqueNetwork/unique-chain/pull/773).1315 pub fn recompute_consumed_space(&mut self) {1316 self.consumed_space = self.map.values().map(|value| value.len() as u32).sum();1317 }1318}13191320impl<const S: u32> IntoIterator for Properties<S> {1321 type Item = (PropertyKey, PropertyValue);1322 type IntoIter = <PropertiesMap<PropertyValue> as IntoIterator>::IntoIter;13231324 fn into_iter(self) -> Self::IntoIter {1325 self.map.into_iter()1326 }1327}13281329impl<const S: u32> TrySetProperty for Properties<S> {1330 type Value = PropertyValue;13311332 fn try_scoped_set(1333 &mut self,1334 scope: PropertyScope,1335 key: PropertyKey,1336 value: Self::Value,1337 ) -> Result<Option<Self::Value>, PropertiesError> {1338 let value_len = value.len();13391340 if self.consumed_space as usize + value_len > self.space_limit.min(S) as usize1341 && !cfg!(feature = "runtime-benchmarks")1342 {1343 return Err(PropertiesError::NoSpaceForProperty);1344 }13451346 let value_len = value_len as u32;1347 let old_value = self.map.try_scoped_set(scope, key, value)?;13481349 let old_value_len = old_value.as_ref().map(|v| v.len() as u32).unwrap_or(0);13501351 if value_len > old_value_len {1352 self.consumed_space += value_len - old_value_len;1353 } else {1354 self.consumed_space -= old_value_len - value_len;1355 }13561357 Ok(old_value)1358 }1359}13601361pub type CollectionProperties = Properties<MAX_COLLECTION_PROPERTIES_SIZE>;1362pub type TokenProperties = Properties<MAX_TOKEN_PROPERTIES_SIZE>;runtime/common/config/ethereum.rsdiffbeforeafterboth--- a/runtime/common/config/ethereum.rs
+++ b/runtime/common/config/ethereum.rs
@@ -15,6 +15,7 @@
Runtime, Aura, Balances, RuntimeEvent, ChainId,
};
use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping};
+use pallet_ethereum::PostLogContent;
use up_common::constants::*;
pub type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Runtime>;
@@ -88,9 +89,14 @@
type WeightInfo = pallet_evm_migration::weights::SubstrateWeight<Self>;
}
+parameter_types! {
+ pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes;
+}
+
impl pallet_ethereum::Config for Runtime {
type RuntimeEvent = RuntimeEvent;
type StateRoot = pallet_ethereum::IntermediateStateRoot<Self>;
+ type PostLogContent = PostBlockAndTxnHashes;
}
parameter_types! {
runtime/common/config/orml.rsdiffbeforeafterboth--- a/runtime/common/config/orml.rs
+++ b/runtime/common/config/orml.rs
@@ -21,8 +21,7 @@
use frame_system::EnsureSigned;
use orml_traits::{location::AbsoluteReserveProvider, parameter_type_with_key};
use sp_runtime::traits::Convert;
-use xcm::latest::{Weight, Junction::*, Junctions::*, MultiLocation, NetworkId};
-use xcm_builder::LocationInverter;
+use xcm::latest::{Weight, Junction::*, Junctions::*, MultiLocation};
use xcm_executor::XcmExecutor;
use sp_std::{vec, vec::Vec};
use pallet_foreign_assets::{CurrencyId, NativeCurrency};
@@ -30,7 +29,7 @@
Runtime, RuntimeEvent, RelayChainBlockNumberProvider,
runtime_common::config::{
xcm::{
- SelfLocation, Weigher, XcmConfig, Ancestry,
+ SelfLocation, Weigher, XcmConfig, UniversalLocation,
xcm_assets::{CurrencyIdConvert},
},
pallets::TreasuryAccountId,
@@ -50,7 +49,7 @@
pub const MinVestedTransfer: Balance = 10 * UNIQUE;
pub const MaxVestingSchedules: u32 = 28;
- pub const BaseXcmWeight: Weight = 100_000_000; // TODO: recheck this
+ pub const BaseXcmWeight: Weight = Weight::from_parts(100_000_000, 1000); // ? TODO: recheck this
pub const MaxAssetsForTransfer: usize = 2;
}
@@ -87,7 +86,7 @@
impl Convert<AccountId, MultiLocation> for AccountIdToMultiLocation {
fn convert(account: AccountId) -> MultiLocation {
X1(AccountId32 {
- network: NetworkId::Any,
+ network: None,
id: account.into(),
})
.into()
@@ -142,9 +141,9 @@
type XcmExecutor = XcmExecutor<XcmConfig<Self>>;
type Weigher = Weigher;
type BaseXcmWeight = BaseXcmWeight;
- type LocationInverter = LocationInverter<Ancestry>;
type MaxAssetsForTransfer = MaxAssetsForTransfer;
type MinXcmFee = ParachainMinFee;
type MultiLocationsFilter = Everything;
type ReserveProvider = AbsoluteReserveProvider;
+ type UniversalLocation = UniversalLocation;
}
runtime/common/config/pallets/collator_selection.rsdiffbeforeafterboth--- a/runtime/common/config/pallets/collator_selection.rs
+++ b/runtime/common/config/pallets/collator_selection.rs
@@ -48,8 +48,6 @@
impl pallet_authorship::Config for Runtime {
type FindAuthor = pallet_session::FindAccountFromAuthorIndex<Self, Aura>;
- type UncleGenerations = UncleGenerations;
- type FilterUncle = ();
type EventHandler = CollatorSelection;
}
runtime/common/config/substrate.rsdiffbeforeafterboth--- a/runtime/common/config/substrate.rs
+++ b/runtime/common/config/substrate.rs
@@ -115,8 +115,6 @@
type MaxConsumers = ConstU32<16>;
}
-impl pallet_randomness_collective_flip::Config for Runtime {}
-
parameter_types! {
pub const MinimumPeriod: u64 = SLOT_DURATION / 2;
}
runtime/common/config/xcm/foreignassets.rsdiffbeforeafterboth--- a/runtime/common/config/xcm/foreignassets.rs
+++ b/runtime/common/config/xcm/foreignassets.rs
@@ -15,13 +15,13 @@
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
use frame_support::{
- traits::{Contains, Get, fungibles},
+ traits::{Contains, Get, fungibles, ContainsPair},
parameter_types,
};
use sp_runtime::traits::Convert;
use xcm::latest::{MultiAsset, Junction::*, MultiLocation, Junctions::*};
-use xcm_builder::{FungiblesAdapter, ConvertedConcreteAssetId};
-use xcm_executor::traits::{Convert as ConvertXcm, JustTry, FilterAssetLocation};
+use xcm_builder::{FungiblesAdapter, NonLocalMint, ConvertedConcreteId};
+use xcm_executor::traits::{Convert as ConvertXcm, JustTry};
use pallet_foreign_assets::{
AssetIds, AssetIdMapping, XcmForeignAssetIdMapping, NativeCurrency, FreeForAll, TryAsForeign,
ForeignAssetId, CurrencyId,
@@ -126,13 +126,13 @@
// Use this fungibles implementation:
ForeignAssets,
// Use this currency when it is a fungible asset matching the given location or name:
- ConvertedConcreteAssetId<AssetIds, Balance, AsInnerId<AssetIds, JustTry>, JustTry>,
+ ConvertedConcreteId<AssetIds, Balance, AsInnerId<AssetIds, JustTry>, JustTry>,
// Convert an XCM MultiLocation into a local account id:
LocationToAccountId,
// Our chain's account ID type (we can't get away without mentioning it explicitly):
AccountId,
// No teleports are allowed
- NoTeleports<AccountId, ForeignAssets>,
+ NonLocalMint<NoTeleports<AccountId, ForeignAssets>>,
// The account to use for tracking teleports.
CheckingAccount,
>;
@@ -141,8 +141,10 @@
pub type AssetTransactors = FungiblesTransactor;
pub struct AllAsset;
-impl FilterAssetLocation for AllAsset {
- fn filter_asset_location(_asset: &MultiAsset, _origin: &MultiLocation) -> bool {
+impl ContainsPair<MultiAsset, MultiLocation> for AllAsset {
+ fn contains(_asset: &MultiAsset, _origin: &MultiLocation) -> bool {
+ // ? Shouldn't we query foreign-asset pallet here, because of the new non-local mint
+ // location logic?
true
}
}
runtime/common/config/xcm/mod.rsdiffbeforeafterboth--- a/runtime/common/config/xcm/mod.rs
+++ b/runtime/common/config/xcm/mod.rs
@@ -15,23 +15,24 @@
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
use frame_support::{
- traits::{Everything, Get},
+ traits::{Everything, Nothing, Get, ConstU32},
parameter_types,
};
use frame_system::EnsureRoot;
use pallet_xcm::XcmPassthrough;
use polkadot_parachain::primitives::Sibling;
use xcm::latest::{prelude::*, Weight, MultiLocation};
+use xcm::v3::Instruction;
use xcm_builder::{
- AccountId32Aliases, EnsureXcmOrigin, FixedWeightBounds, LocationInverter, ParentAsSuperuser,
- RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia,
- SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, ParentIsPreset,
+ AccountId32Aliases, EnsureXcmOrigin, FixedWeightBounds, ParentAsSuperuser, RelayChainAsNative,
+ SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative,
+ SignedToAccountId32, SovereignSignedViaLocation, ParentIsPreset,
};
use xcm_executor::{Config, XcmExecutor, traits::ShouldExecute};
use sp_std::{marker::PhantomData, vec::Vec};
use crate::{
Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, ParachainInfo, ParachainSystem, PolkadotXcm,
- XcmpQueue, xcm_barrier::Barrier, RelayNetwork,
+ XcmpQueue, xcm_barrier::Barrier, RelayNetwork, AllPalletsWithSystem, Balances,
};
use up_common::types::AccountId;
@@ -54,10 +55,11 @@
pub const RelayLocation: MultiLocation = MultiLocation::parent();
pub RelayOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();
pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();
+ pub UniversalLocation: InteriorMultiLocation = Parachain(ParachainInfo::get().into()).into();
pub SelfLocation: MultiLocation = MultiLocation::new(1, X1(Parachain(ParachainInfo::get().into())));
// One XCM operation is 1_000_000 weight - almost certainly a conservative estimate.
- pub UnitWeightCost: Weight = 1_000_000;
+ pub UnitWeightCost: Weight = Weight::from_parts(1_000_000, 1000); // ?
pub const MaxInstructions: u32 = 100;
}
@@ -80,7 +82,7 @@
/// queues.
pub type XcmRouter = (
// Two routers - use UMP to communicate with the relay chain:
- cumulus_primitives_utility::ParentAsUmp<ParachainSystem, ()>,
+ cumulus_primitives_utility::ParentAsUmp<ParachainSystem, (), ()>,
// ..and XCMP to communicate with the sibling chains.
XcmpQueue,
);
@@ -110,12 +112,12 @@
);
pub trait TryPass {
- fn try_pass<Call>(origin: &MultiLocation, message: &mut Xcm<Call>) -> Result<(), ()>;
+ fn try_pass<Call>(origin: &MultiLocation, message: &mut [Instruction<Call>]) -> Result<(), ()>;
}
#[impl_trait_for_tuples::impl_for_tuples(30)]
impl TryPass for Tuple {
- fn try_pass<Call>(origin: &MultiLocation, message: &mut Xcm<Call>) -> Result<(), ()> {
+ fn try_pass<Call>(origin: &MultiLocation, message: &mut [Instruction<Call>]) -> Result<(), ()> {
for_tuples!( #(
Tuple::try_pass(origin, message)?;
)* );
@@ -126,9 +128,11 @@
pub struct DenyTransact;
impl TryPass for DenyTransact {
- fn try_pass<Call>(_origin: &MultiLocation, message: &mut Xcm<Call>) -> Result<(), ()> {
+ fn try_pass<Call>(
+ _origin: &MultiLocation,
+ message: &mut [Instruction<Call>],
+ ) -> Result<(), ()> {
let transact_inst = message
- .0
.iter()
.find(|inst| matches![inst, Instruction::Transact { .. }]);
@@ -159,7 +163,7 @@
{
fn should_execute<Call>(
origin: &MultiLocation,
- message: &mut Xcm<Call>,
+ message: &mut [Instruction<Call>],
max_weight: Weight,
weight_credit: &mut Weight,
) -> Result<(), ()> {
@@ -171,22 +175,19 @@
// Allow xcm exchange only with locations in list
pub struct DenyExchangeWithUnknownLocation<T>(PhantomData<T>);
impl<T: Get<Vec<MultiLocation>>> TryPass for DenyExchangeWithUnknownLocation<T> {
- fn try_pass<Call>(origin: &MultiLocation, message: &mut Xcm<Call>) -> Result<(), ()> {
+ fn try_pass<Call>(origin: &MultiLocation, message: &mut [Instruction<Call>]) -> Result<(), ()> {
let allowed_locations = T::get();
// Check if deposit or transfer belongs to allowed parachains
let mut allowed = allowed_locations.contains(origin);
- message.0.iter().for_each(|inst| match inst {
- DepositReserveAsset { dest: dst, .. } => {
- allowed |= allowed_locations.contains(dst);
- }
- TransferReserveAsset { dest: dst, .. } => {
- allowed |= allowed_locations.contains(dst);
+ message.iter().for_each(|inst| match inst {
+ DepositReserveAsset { dest: dst, .. }
+ | TransferReserveAsset { dest: dst, .. }
+ | InitiateReserveWithdraw { reserve: dst, .. } => {
+ allowed |= allowed_locations.contains(&dst);
}
- InitiateReserveWithdraw { reserve: dst, .. } => {
- allowed |= allowed_locations.contains(dst);
- }
+ // ? There are more instructions worth checking
_ => {}
});
@@ -217,17 +218,31 @@
type OriginConverter = XcmOriginToTransactDispatchOrigin;
type IsReserve = IsReserve;
type IsTeleporter = (); // Teleportation is disabled
- type LocationInverter = LocationInverter<Ancestry>;
+ type UniversalLocation = UniversalLocation;
type Barrier = Barrier;
type Weigher = Weigher;
type Trader = Trader<T>;
type ResponseHandler = PolkadotXcm;
type SubscriptionService = PolkadotXcm;
+ type PalletInstancesInfo = AllPalletsWithSystem;
+ type MaxAssetsIntoHolding = ConstU32<64>;
type AssetTrap = PolkadotXcm;
type AssetClaims = PolkadotXcm;
+ type AssetLocker = ();
+ type AssetExchanger = ();
+ type FeeManager = ();
+ type MessageExporter = ();
+ type UniversalAliases = Nothing; // ?
+ type CallDispatcher = RuntimeCall;
+ type SafeCallFilter = Nothing; // ? Only non-recursive calls may go here, but do we need this?
}
+#[cfg(feature = "runtime-benchmarks")]
+parameter_types! {
+ pub ReachableDest: Option<MultiLocation> = Some(Parent.into());
+}
+
impl pallet_xcm::Config for Runtime {
type RuntimeEvent = RuntimeEvent;
type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
@@ -238,11 +253,19 @@
type XcmTeleportFilter = Everything;
type XcmReserveTransferFilter = Everything;
type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;
- type LocationInverter = LocationInverter<Ancestry>;
type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall;
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;
+ type UniversalLocation = UniversalLocation;
+ type Currency = Balances;
+ type CurrencyMatcher = (); // ?
+ type TrustedLockers = ();
+ type SovereignAccountOf = ();
+ type MaxLockers = ConstU32<8>;
+ type WeightInfo = crate::weights::xcm::SubstrateWeight<Runtime>;
+ #[cfg(feature = "runtime-benchmarks")]
+ type ReachableDest = ReachableDest;
}
impl cumulus_pallet_xcm::Config for Runtime {
@@ -259,6 +282,7 @@
type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;
type ControllerOrigin = EnsureRoot<AccountId>;
type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin;
+ type PriceForSiblingDelivery = ();
}
impl cumulus_pallet_dmp_queue::Config for Runtime {
runtime/common/construct_runtime.rsdiffbeforeafterboth--- a/runtime/common/construct_runtime.rs
+++ b/runtime/common/construct_runtime.rs
@@ -16,99 +16,99 @@
#[macro_export]
macro_rules! construct_runtime {
- () => {
- frame_support::construct_runtime! {
+ () => {
+ frame_support::construct_runtime! {
- pub enum Runtime where
- Block = Block,
- NodeBlock = opaque::Block,
- UncheckedExtrinsic = UncheckedExtrinsic
- {
- System: frame_system = 0,
+ pub enum Runtime where
+ Block = Block,
+ NodeBlock = opaque::Block,
+ UncheckedExtrinsic = UncheckedExtrinsic
+ {
+ System: frame_system = 0,
- ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event<T>, ValidateUnsigned} = 20,
- ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21,
+ ParachainSystem: cumulus_pallet_parachain_system = 20,
+ ParachainInfo: parachain_info = 21,
- #[cfg(feature = "collator-selection")]
- Authorship: pallet_authorship::{Pallet, Call, Storage} = 22,
+ #[cfg(feature = "collator-selection")]
+ Authorship: pallet_authorship = 22,
- #[cfg(feature = "collator-selection")]
- CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event<T>, Config<T>} = 23,
+ #[cfg(feature = "collator-selection")]
+ CollatorSelection: pallet_collator_selection = 23,
- #[cfg(feature = "collator-selection")]
- Session: pallet_session::{Pallet, Call, Storage, Event, Config<T>} = 24,
+ #[cfg(feature = "collator-selection")]
+ Session: pallet_session = 24,
- Aura: pallet_aura::{Pallet, Storage, Config<T>} = 25,
- AuraExt: cumulus_pallet_aura_ext::{Pallet, Storage, Config} = 26,
+ Aura: pallet_aura = 25,
+ AuraExt: cumulus_pallet_aura_ext = 26,
- Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>} = 30,
- RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage} = 31,
- Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 32,
- TransactionPayment: pallet_transaction_payment::{Pallet, Storage, Event<T>} = 33,
- Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 34,
- Sudo: pallet_sudo::{Pallet, Call, Storage, Config<T>, Event<T>} = 35,
- Vesting: orml_vesting::{Pallet, Storage, Call, Event<T>, Config<T>} = 37,
+ Balances: pallet_balances = 30,
+ // RandomnessCollectiveFlip = 31
+ Timestamp: pallet_timestamp = 32,
+ TransactionPayment: pallet_transaction_payment = 33,
+ Treasury: pallet_treasury = 34,
+ Sudo: pallet_sudo = 35,
+ Vesting: orml_vesting = 37,
- XTokens: orml_xtokens = 38,
- Tokens: orml_tokens = 39,
- // Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,
+ XTokens: orml_xtokens = 38,
+ Tokens: orml_tokens = 39,
+ // Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,
- #[cfg(feature = "collator-selection")]
- Identity: pallet_identity::{Pallet, Call, Storage, Event<T>} = 40,
+ #[cfg(feature = "collator-selection")]
+ Identity: pallet_identity = 40,
- #[cfg(feature = "preimage")]
- Preimage: pallet_preimage::{Pallet, Call, Storage, Event<T>} = 41,
+ #[cfg(feature = "preimage")]
+ Preimage: pallet_preimage = 41,
- // XCM helpers.
- XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event<T>} = 50,
- PolkadotXcm: pallet_xcm::{Pallet, Call, Storage, Event<T>, Origin} = 51,
- CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event<T>, Origin} = 52,
- DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event<T>} = 53,
+ // XCM helpers.
+ XcmpQueue: cumulus_pallet_xcmp_queue = 50,
+ PolkadotXcm: pallet_xcm = 51,
+ CumulusXcm: cumulus_pallet_xcm = 52,
+ DmpQueue: cumulus_pallet_dmp_queue = 53,
- // Unique Pallets
- Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,
- Unique: pallet_unique::{Pallet, Call, Storage} = 61,
+ // Unique Pallets
+ Inflation: pallet_inflation = 60,
+ Unique: pallet_unique::{Pallet, Call, Storage} = 61,
- // #[cfg(feature = "scheduler")]
- // Scheduler: pallet_unique_scheduler_v2::{Pallet, Call, Storage, Event<T>} = 62,
+ // #[cfg(feature = "scheduler")]
+ // Scheduler: pallet_unique_scheduler_v2 = 62,
- Configuration: pallet_configuration::{Pallet, Call, Storage, Event<T>} = 63,
+ Configuration: pallet_configuration = 63,
- Charging: pallet_charge_transaction::{Pallet, Call, Storage } = 64,
- // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,
- Common: pallet_common::{Pallet, Storage, Event<T>} = 66,
- Fungible: pallet_fungible::{Pallet, Storage} = 67,
+ Charging: pallet_charge_transaction::{Pallet, Call, Storage} = 64,
+ // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,
+ Common: pallet_common = 66,
+ Fungible: pallet_fungible = 67,
- #[cfg(feature = "refungible")]
- Refungible: pallet_refungible::{Pallet, Storage} = 68,
+ #[cfg(feature = "refungible")]
+ Refungible: pallet_refungible = 68,
- Nonfungible: pallet_nonfungible::{Pallet, Storage} = 69,
- Structure: pallet_structure::{Pallet, Call, Storage, Event<T>} = 70,
+ Nonfungible: pallet_nonfungible = 69,
+ Structure: pallet_structure = 70,
- // RmrkCore: pallet_proxy_rmrk_core::{Pallet, Call, Storage, Event<T>} = 71,
+ // RmrkCore: pallet_proxy_rmrk_core = 71,
- // RmrkEquip: pallet_proxy_rmrk_equip::{Pallet, Call, Storage, Event<T>} = 72,
+ // RmrkEquip: pallet_proxy_rmrk_equip = 72,
- #[cfg(feature = "app-promotion")]
- AppPromotion: pallet_app_promotion::{Pallet, Call, Storage, Event<T>} = 73,
+ #[cfg(feature = "app-promotion")]
+ AppPromotion: pallet_app_promotion = 73,
- #[cfg(feature = "foreign-assets")]
- ForeignAssets: pallet_foreign_assets::{Pallet, Call, Storage, Event<T>} = 80,
+ #[cfg(feature = "foreign-assets")]
+ ForeignAssets: pallet_foreign_assets = 80,
- // Frontier
- EVM: pallet_evm::{Pallet, Config, Call, Storage, Event<T>} = 100,
- Ethereum: pallet_ethereum::{Pallet, Config, Call, Storage, Event, Origin} = 101,
+ // Frontier
+ EVM: pallet_evm = 100,
+ Ethereum: pallet_ethereum = 101,
- EvmCoderSubstrate: pallet_evm_coder_substrate::{Pallet, Storage} = 150,
- EvmContractHelpers: pallet_evm_contract_helpers::{Pallet, Storage, Event<T>} = 151,
- EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,
- EvmMigration: pallet_evm_migration::{Pallet, Call, Storage, Event<T>} = 153,
+ EvmCoderSubstrate: pallet_evm_coder_substrate = 150,
+ EvmContractHelpers: pallet_evm_contract_helpers = 151,
+ EvmTransactionPayment: pallet_evm_transaction_payment = 152,
+ EvmMigration: pallet_evm_migration = 153,
- Maintenance: pallet_maintenance::{Pallet, Call, Storage, Event<T>} = 154,
+ Maintenance: pallet_maintenance = 154,
- #[cfg(feature = "pallet-test-utils")]
- TestUtils: pallet_test_utils = 255,
- }
- }
- }
+ #[cfg(feature = "pallet-test-utils")]
+ TestUtils: pallet_test_utils = 255,
+ }
+ }
+ };
}
runtime/common/maintenance.rsdiffbeforeafterboth--- a/runtime/common/maintenance.rs
+++ b/runtime/common/maintenance.rs
@@ -82,7 +82,6 @@
#[cfg(feature = "collator-selection")]
RuntimeCall::CollatorSelection(_)
- | RuntimeCall::Authorship(_)
| RuntimeCall::Session(_)
| RuntimeCall::Identity(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
runtime/common/runtime_apis.rsdiffbeforeafterboth--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -42,6 +42,7 @@
transaction_validity::{TransactionSource, TransactionValidity},
ApplyExtrinsicResult, DispatchError,
};
+ use frame_support::pallet_prelude::Weight;
use fp_rpc::TransactionStatus;
use pallet_transaction_payment::{
FeeDetails, RuntimeDispatchInfo,
@@ -486,6 +487,12 @@
fn query_fee_details(uxt: <Block as BlockT>::Extrinsic, len: u32) -> FeeDetails<Balance> {
TransactionPayment::query_fee_details(uxt, len)
}
+ fn query_weight_to_fee(weight: Weight) -> Balance {
+ TransactionPayment::weight_to_fee(weight)
+ }
+ fn query_length_to_fee(length: u32) -> Balance {
+ TransactionPayment::length_to_fee(length)
+ }
}
/*
@@ -539,6 +546,7 @@
use frame_support::traits::StorageInfoTrait;
let mut list = Vec::<BenchmarkList>::new();
+ list_benchmark!(list, extra, pallet_xcm, PolkadotXcm);
list_benchmark!(list, extra, pallet_evm_migration, EvmMigration);
list_benchmark!(list, extra, pallet_common, Common);
@@ -604,6 +612,7 @@
let mut batches = Vec::<BenchmarkBatch>::new();
let params = (&config, &allowlist);
+ add_benchmark!(params, batches, pallet_xcm, PolkadotXcm);
add_benchmark!(params, batches, pallet_evm_migration, EvmMigration);
add_benchmark!(params, batches, pallet_common, Common);
@@ -667,7 +676,7 @@
#[cfg(feature = "try-runtime")]
impl frame_try_runtime::TryRuntime<Block> for Runtime {
- fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (frame_support::pallet_prelude::Weight, frame_support::pallet_prelude::Weight) {
+ fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) {
log::info!("try-runtime::on_runtime_upgrade unique-chain.");
let weight = Executive::try_runtime_upgrade(checks).unwrap();
(weight, crate::config::substrate::RuntimeBlockWeights::get().max_block)
@@ -678,7 +687,7 @@
state_root_check: bool,
signature_check: bool,
select: frame_try_runtime::TryStateSelect
- ) -> frame_support::pallet_prelude::Weight {
+ ) -> Weight {
log::info!(
target: "node-runtime",
"try-runtime: executing block {:?} / root checks: {:?} / try-state-select: {:?}",
runtime/common/tests/xcm.rsdiffbeforeafterboth--- a/runtime/common/tests/xcm.rs
+++ b/runtime/common/tests/xcm.rs
@@ -19,6 +19,7 @@
use logtest::Logger;
use crate::RuntimeCall;
use super::new_test_ext;
+use frame_support::pallet_prelude::Weight;
fn catch_xcm_barrier_log(logger: &mut Logger, expected_msg: &str) -> Result<(), String> {
for record in logger {
@@ -45,16 +46,16 @@
// so it is irrelevant what we are passing to the `transact` cmd.
let fake_encoded_call = vec![0u8];
- let transact_inst = Transact {
- origin_type: OriginKind::Superuser,
- require_weight_at_most: 0,
+ let transact_inst: Instruction<RuntimeCall> = Transact {
+ origin_kind: OriginKind::Superuser,
+ require_weight_at_most: Weight::default(),
call: fake_encoded_call.into(),
};
- let mut xcm_program = Xcm::<RuntimeCall>(vec![transact_inst]);
+ let mut xcm_program = vec![transact_inst];
- let max_weight = 100_000;
- let mut weight_credit = 100_000_000;
+ let max_weight = Weight::from_parts(100_000, 100_000);
+ let mut weight_credit = Weight::from_parts(100_000_000, 100_000_000);
let result = B::should_execute(&location, &mut xcm_program, max_weight, &mut weight_credit);
@@ -69,11 +70,11 @@
fn xcm_execute<B: ShouldExecute>(
self_para_id: u32,
location: &MultiLocation,
- xcm: &mut Xcm<RuntimeCall>,
+ xcm: &mut [Instruction<RuntimeCall>],
) -> Result<(), ()> {
new_test_ext(self_para_id).execute_with(|| {
- let max_weight = 100_000;
- let mut weight_credit = 100_000_000;
+ let max_weight = Weight::from_parts(100_000, 100_000);
+ let mut weight_credit = Weight::from_parts(100_000_000, 100_000_000);
B::should_execute(&location, xcm, max_weight, &mut weight_credit)
})
@@ -102,7 +103,6 @@
let assets = make_multiassets(location);
let inst = DepositReserveAsset {
assets: assets.into(),
- max_assets: 42,
dest: location.clone(),
xcm: Xcm(vec![]),
};
@@ -114,7 +114,7 @@
logger: &mut Logger,
self_para_id: u32,
location: &MultiLocation,
- xcm: &mut Xcm<RuntimeCall>,
+ xcm: &mut [Instruction<RuntimeCall>],
) -> Result<(), String> {
let result = xcm_execute::<B>(self_para_id, location, xcm);
@@ -148,14 +148,14 @@
logger,
self_para_id,
&unknown_location,
- &mut transfer_reserve_asset,
+ &mut transfer_reserve_asset.0,
)?;
expect_transfer_location_denied::<B>(
logger,
self_para_id,
&unknown_location,
- &mut deposit_reserve_asset,
+ &mut deposit_reserve_asset.0,
)?;
Ok(())
runtime/common/weights.rsdiffbeforeafterboth--- a/runtime/common/weights.rs
+++ b/runtime/common/weights.rs
@@ -27,6 +27,8 @@
};
use up_data_structs::{CreateItemExData, CreateItemData};
+pub mod xcm;
+
macro_rules! max_weight_of {
($method:ident ( $($args:tt)* )) => {{
let max_weight = <FungibleWeights<T>>::$method($($args)*)
runtime/common/weights/xcm.rsdiffbeforeafterboth--- /dev/null
+++ b/runtime/common/weights/xcm.rs
@@ -0,0 +1,218 @@
+// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs
+
+//! Autogenerated weights for pallet_xcm
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-03-10, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! WORST CASE MAP SIZE: `1000000`
+//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
+
+// Executed Command:
+// target/release/unique-collator
+// benchmark
+// pallet
+// --pallet
+// pallet-xcm
+// --wasm-execution
+// compiled
+// --extrinsic
+// *
+// --template=.maintain/external-weight-template.hbs
+// --steps=50
+// --repeat=80
+// --heap-pages=4096
+// --output=./runtime/common/weights/xcm.rs
+
+#![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;
+
+/// Weights for pallet_xcm using the Substrate node and recommended hardware.
+pub struct SubstrateWeight<T>(PhantomData<T>);
+impl<T: frame_system::Config> pallet_xcm::WeightInfo for SubstrateWeight<T> {
+ /// Storage: ParachainSystem HostConfiguration (r:1 w:0)
+ /// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
+ /// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
+ /// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
+ fn send() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `142`
+ // Estimated: `1274`
+ // Minimum execution time: 11_382_000 picoseconds.
+ Weight::from_parts(11_812_000, 1274)
+ .saturating_add(T::DbWeight::get().reads(2_u64))
+ .saturating_add(T::DbWeight::get().writes(1_u64))
+ }
+ /// Storage: ParachainInfo ParachainId (r:1 w:0)
+ /// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+ fn teleport_assets() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `136`
+ // Estimated: `499`
+ // Minimum execution time: 13_195_000 picoseconds.
+ Weight::from_parts(13_685_000, 499)
+ .saturating_add(T::DbWeight::get().reads(1_u64))
+ }
+ /// Storage: ParachainInfo ParachainId (r:1 w:0)
+ /// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+ fn reserve_transfer_assets() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `136`
+ // Estimated: `499`
+ // Minimum execution time: 12_784_000 picoseconds.
+ Weight::from_parts(13_155_000, 499)
+ .saturating_add(T::DbWeight::get().reads(1_u64))
+ }
+ fn execute() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 4_569_000 picoseconds.
+ Weight::from_parts(4_819_000, 0)
+ }
+ /// Storage: PolkadotXcm SupportedVersion (r:0 w:1)
+ /// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
+ fn force_xcm_version() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 4_919_000 picoseconds.
+ Weight::from_parts(5_250_000, 0)
+ .saturating_add(T::DbWeight::get().writes(1_u64))
+ }
+ /// Storage: PolkadotXcm SafeXcmVersion (r:0 w:1)
+ /// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
+ fn force_default_xcm_version() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 1_593_000 picoseconds.
+ Weight::from_parts(1_723_000, 0)
+ .saturating_add(T::DbWeight::get().writes(1_u64))
+ }
+ /// Storage: PolkadotXcm VersionNotifiers (r:1 w:1)
+ /// Proof Skipped: PolkadotXcm VersionNotifiers (max_values: None, max_size: None, mode: Measured)
+ /// Storage: PolkadotXcm QueryCounter (r:1 w:1)
+ /// Proof Skipped: PolkadotXcm QueryCounter (max_values: Some(1), max_size: None, mode: Measured)
+ /// Storage: ParachainSystem HostConfiguration (r:1 w:0)
+ /// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
+ /// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
+ /// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
+ /// Storage: PolkadotXcm Queries (r:0 w:1)
+ /// Proof Skipped: PolkadotXcm Queries (max_values: None, max_size: None, mode: Measured)
+ fn force_subscribe_version_notify() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `184`
+ // Estimated: `4880`
+ // Minimum execution time: 16_832_000 picoseconds.
+ Weight::from_parts(17_984_000, 4880)
+ .saturating_add(T::DbWeight::get().reads(4_u64))
+ .saturating_add(T::DbWeight::get().writes(4_u64))
+ }
+ /// Storage: PolkadotXcm VersionNotifiers (r:1 w:1)
+ /// Proof Skipped: PolkadotXcm VersionNotifiers (max_values: None, max_size: None, mode: Measured)
+ /// Storage: ParachainSystem HostConfiguration (r:1 w:0)
+ /// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
+ /// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
+ /// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
+ /// Storage: PolkadotXcm Queries (r:0 w:1)
+ /// Proof Skipped: PolkadotXcm Queries (max_values: None, max_size: None, mode: Measured)
+ fn force_unsubscribe_version_notify() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `341`
+ // Estimated: `4829`
+ // Minimum execution time: 19_256_000 picoseconds.
+ Weight::from_parts(20_228_000, 4829)
+ .saturating_add(T::DbWeight::get().reads(3_u64))
+ .saturating_add(T::DbWeight::get().writes(3_u64))
+ }
+ /// Storage: PolkadotXcm SupportedVersion (r:4 w:2)
+ /// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
+ fn migrate_supported_version() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `108`
+ // Estimated: `10008`
+ // Minimum execution time: 14_437_000 picoseconds.
+ Weight::from_parts(15_750_000, 10008)
+ .saturating_add(T::DbWeight::get().reads(4_u64))
+ .saturating_add(T::DbWeight::get().writes(2_u64))
+ }
+ /// Storage: PolkadotXcm VersionNotifiers (r:4 w:2)
+ /// Proof Skipped: PolkadotXcm VersionNotifiers (max_values: None, max_size: None, mode: Measured)
+ fn migrate_version_notifiers() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `112`
+ // Estimated: `10012`
+ // Minimum execution time: 14_617_000 picoseconds.
+ Weight::from_parts(16_000_000, 10012)
+ .saturating_add(T::DbWeight::get().reads(4_u64))
+ .saturating_add(T::DbWeight::get().writes(2_u64))
+ }
+ /// Storage: PolkadotXcm VersionNotifyTargets (r:5 w:0)
+ /// Proof Skipped: PolkadotXcm VersionNotifyTargets (max_values: None, max_size: None, mode: Measured)
+ fn already_notified_target() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `119`
+ // Estimated: `12494`
+ // Minimum execution time: 18_395_000 picoseconds.
+ Weight::from_parts(19_858_000, 12494)
+ .saturating_add(T::DbWeight::get().reads(5_u64))
+ }
+ /// Storage: PolkadotXcm VersionNotifyTargets (r:2 w:1)
+ /// Proof Skipped: PolkadotXcm VersionNotifyTargets (max_values: None, max_size: None, mode: Measured)
+ /// Storage: ParachainSystem HostConfiguration (r:1 w:0)
+ /// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
+ /// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
+ /// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
+ fn notify_current_targets() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `255`
+ // Estimated: `6705`
+ // Minimum execution time: 17_443_000 picoseconds.
+ Weight::from_parts(18_435_000, 6705)
+ .saturating_add(T::DbWeight::get().reads(4_u64))
+ .saturating_add(T::DbWeight::get().writes(2_u64))
+ }
+ /// Storage: PolkadotXcm VersionNotifyTargets (r:3 w:0)
+ /// Proof Skipped: PolkadotXcm VersionNotifyTargets (max_values: None, max_size: None, mode: Measured)
+ fn notify_target_migration_fail() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `149`
+ // Estimated: `7574`
+ // Minimum execution time: 7_714_000 picoseconds.
+ Weight::from_parts(8_526_000, 7574)
+ .saturating_add(T::DbWeight::get().reads(3_u64))
+ }
+ /// Storage: PolkadotXcm VersionNotifyTargets (r:4 w:2)
+ /// Proof Skipped: PolkadotXcm VersionNotifyTargets (max_values: None, max_size: None, mode: Measured)
+ fn migrate_version_notify_targets() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `119`
+ // Estimated: `10019`
+ // Minimum execution time: 15_008_000 picoseconds.
+ Weight::from_parts(16_271_000, 10019)
+ .saturating_add(T::DbWeight::get().reads(4_u64))
+ .saturating_add(T::DbWeight::get().writes(2_u64))
+ }
+ /// Storage: PolkadotXcm VersionNotifyTargets (r:4 w:2)
+ /// Proof Skipped: PolkadotXcm VersionNotifyTargets (max_values: None, max_size: None, mode: Measured)
+ /// Storage: ParachainSystem HostConfiguration (r:1 w:0)
+ /// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
+ /// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
+ /// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
+ fn migrate_and_notify_old_targets() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `261`
+ // Estimated: `11673`
+ // Minimum execution time: 23_554_000 picoseconds.
+ Weight::from_parts(25_158_000, 11673)
+ .saturating_add(T::DbWeight::get().reads(6_u64))
+ .saturating_add(T::DbWeight::get().writes(3_u64))
+ }
+}
+
runtime/opal/Cargo.tomldiffbeforeafterboth--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -95,7 +95,6 @@
'pallet-identity/std',
'pallet-inflation/std',
'pallet-nonfungible/std',
- 'pallet-randomness-collective-flip/std',
'pallet-refungible/std',
'pallet-structure/std',
'pallet-sudo/std',
@@ -174,7 +173,6 @@
'pallet-inflation/try-runtime',
'pallet-maintenance/try-runtime',
'pallet-nonfungible/try-runtime',
- 'pallet-randomness-collective-flip/try-runtime',
'pallet-refungible/try-runtime',
'pallet-structure/try-runtime',
'pallet-sudo/try-runtime',
@@ -223,7 +221,6 @@
pallet-authorship = { workspace = true }
pallet-balances = { workspace = true }
pallet-preimage = { workspace = true }
-pallet-randomness-collective-flip = { workspace = true }
pallet-session = { workspace = true }
pallet-sudo = { workspace = true }
pallet-timestamp = { workspace = true }
runtime/opal/src/lib.rsdiffbeforeafterboth--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/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: 937053,
+ spec_version: 939053,
impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 3,
runtime/opal/src/xcm_barrier.rsdiffbeforeafterboth--- a/runtime/opal/src/xcm_barrier.rs
+++ b/runtime/opal/src/xcm_barrier.rs
@@ -15,7 +15,8 @@
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
use frame_support::traits::Everything;
-use xcm::latest::{Xcm, Weight, MultiLocation};
+use xcm::latest::{Weight, MultiLocation};
+use xcm::v3::Instruction;
use xcm_builder::{AllowTopLevelPaidExecutionFrom, TakeWeightCredit};
use xcm_executor::traits::ShouldExecute;
@@ -30,7 +31,7 @@
impl ShouldExecute for AllowAllDebug {
fn should_execute<Call>(
_origin: &MultiLocation,
- _message: &mut Xcm<Call>,
+ _message: &mut [Instruction<Call>],
_max_weight: Weight,
_weight_credit: &mut Weight,
) -> Result<(), ()> {
runtime/quartz/Cargo.tomldiffbeforeafterboth--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -95,7 +95,6 @@
'pallet-fungible/std',
'pallet-inflation/std',
'pallet-nonfungible/std',
- 'pallet-randomness-collective-flip/std',
'pallet-refungible/std',
'pallet-structure/std',
'pallet-sudo/std',
@@ -169,7 +168,6 @@
'pallet-inflation/try-runtime',
'pallet-maintenance/try-runtime',
'pallet-nonfungible/try-runtime',
- 'pallet-randomness-collective-flip/try-runtime',
'pallet-refungible/try-runtime',
'pallet-structure/try-runtime',
'pallet-sudo/try-runtime',
@@ -215,7 +213,6 @@
pallet-authorship = { workspace = true }
pallet-balances = { workspace = true }
pallet-preimage = { workspace = true }
-pallet-randomness-collective-flip = { workspace = true }
pallet-session = { workspace = true }
pallet-sudo = { workspace = true }
pallet-timestamp = { workspace = true }
runtime/quartz/src/lib.rsdiffbeforeafterboth--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -57,7 +57,7 @@
spec_name: create_runtime_str!(RUNTIME_NAME),
impl_name: create_runtime_str!(RUNTIME_NAME),
authoring_version: 1,
- spec_version: 937053,
+ spec_version: 939053,
impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 3,
runtime/tests/Cargo.tomldiffbeforeafterboth--- a/runtime/tests/Cargo.toml
+++ b/runtime/tests/Cargo.toml
@@ -11,22 +11,22 @@
[dependencies]
up-data-structs = { default-features = false, path = "../../primitives/data-structs" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
+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" }
-fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
+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.37" }
-frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
+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.37" }
-pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
-pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
+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.37" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.37" }
+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"
@@ -41,4 +41,6 @@
scale-info = "*"
evm-coder = { workspace = true }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.37" }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.39" }
+xcm = { workspace = true }
+pallet-configuration = { workspace = true }
runtime/tests/src/lib.rsdiffbeforeafterboth--- a/runtime/tests/src/lib.rs
+++ b/runtime/tests/src/lib.rs
@@ -27,11 +27,12 @@
traits::{BlakeTwo256, IdentityLookup},
testing::Header,
};
-use pallet_transaction_payment::{CurrencyAdapter};
+use pallet_transaction_payment::CurrencyAdapter;
use frame_system as system;
use pallet_evm::{
AddressMapping, account::CrossAccountId, EnsureAddressNever, SubstrateBlockHashMapping,
};
+use pallet_ethereum::PostLogContent;
use fp_evm_mapping::EvmBackwardsAddressMapping;
use parity_scale_codec::{Encode, Decode, MaxEncodedLen};
use scale_info::TypeInfo;
@@ -204,11 +205,13 @@
parameter_types! {
pub BlockGasLimit: U256 = 0u32.into();
pub WeightPerGas: Weight = Weight::from_ref_time(20);
+ pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes;
}
impl pallet_ethereum::Config for Test {
type RuntimeEvent = RuntimeEvent;
type StateRoot = pallet_ethereum::IntermediateStateRoot<Self>;
+ type PostLogContent = PostBlockAndTxnHashes;
}
impl pallet_evm::Config for Test {
runtime/unique/Cargo.tomldiffbeforeafterboth--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -93,7 +93,6 @@
'pallet-fungible/std',
'pallet-inflation/std',
'pallet-nonfungible/std',
- 'pallet-randomness-collective-flip/std',
'pallet-refungible/std',
'pallet-structure/std',
'pallet-sudo/std',
@@ -167,7 +166,6 @@
'pallet-inflation/try-runtime',
'pallet-maintenance/try-runtime',
'pallet-nonfungible/try-runtime',
- 'pallet-randomness-collective-flip/try-runtime',
'pallet-refungible/try-runtime',
'pallet-structure/try-runtime',
'pallet-sudo/try-runtime',
@@ -214,7 +212,6 @@
pallet-authorship = { workspace = true }
pallet-balances = { workspace = true }
pallet-preimage = { workspace = true }
-pallet-randomness-collective-flip = { workspace = true }
pallet-session = { workspace = true }
pallet-sudo = { workspace = true }
pallet-timestamp = { workspace = true }
runtime/unique/src/lib.rsdiffbeforeafterboth--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/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: 937053,
+ spec_version: 939053,
impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 3,