From 4b21dca39817e23fbae9537509101292c65a2b16 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Fri, 7 Jun 2024 12:45:11 -0400 Subject: [PATCH 01/24] add macros crate --- Cargo.lock | 9 +++++++++ Cargo.toml | 1 + support/macros/Cargo.toml | 17 +++++++++++++++++ support/macros/src/lib.rs | 1 + 4 files changed, 28 insertions(+) create mode 100644 support/macros/Cargo.toml create mode 100644 support/macros/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index dca2eea4c..9c797ff87 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8297,6 +8297,15 @@ dependencies = [ "sp-api", ] +[[package]] +name = "subtensor-macros" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.58", +] + [[package]] name = "subtle" version = "2.4.1" diff --git a/Cargo.toml b/Cargo.toml index a05b3c9e5..163e94774 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,6 +5,7 @@ members = [ "pallets/commitments", "pallets/subtensor", "runtime", + "support/macros", ] resolver = "2" diff --git a/support/macros/Cargo.toml b/support/macros/Cargo.toml new file mode 100644 index 000000000..f64332bc7 --- /dev/null +++ b/support/macros/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "subtensor-macros" +version = "0.1.0" +edition = "2021" +license = "MIT" + +description = "support macros for Subtensor" +repository = "https://github.com/opentensor/subtensor" +homepage = "https://bittensor.com/" + +[dependencies] +syn = "2" +proc-macro2 = "1" +quote = "1" + +[lints] +workspace = true diff --git a/support/macros/src/lib.rs b/support/macros/src/lib.rs new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/support/macros/src/lib.rs @@ -0,0 +1 @@ + From dc1550e27810405703143eb1637eefd754c2441e Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Fri, 7 Jun 2024 14:22:29 -0400 Subject: [PATCH 02/24] scaffold --- support/macros/Cargo.toml | 3 +++ support/macros/src/lib.rs | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/support/macros/Cargo.toml b/support/macros/Cargo.toml index f64332bc7..790c45e39 100644 --- a/support/macros/Cargo.toml +++ b/support/macros/Cargo.toml @@ -8,6 +8,9 @@ description = "support macros for Subtensor" repository = "https://github.com/opentensor/subtensor" homepage = "https://bittensor.com/" +[lib] +proc-macro = true + [dependencies] syn = "2" proc-macro2 = "1" diff --git a/support/macros/src/lib.rs b/support/macros/src/lib.rs index 8b1378917..a922cf2e8 100644 --- a/support/macros/src/lib.rs +++ b/support/macros/src/lib.rs @@ -1 +1,24 @@ +use proc_macro::TokenStream; +use proc_macro2::TokenStream as TokenStream2; +use quote::quote; +use syn::{parse::Nothing, parse2, ItemStruct, Result}; +#[proc_macro_attribute] +pub fn freeze_struct(attr: TokenStream, tokens: TokenStream) -> TokenStream { + match freeze_struct_impl(attr, tokens) { + Ok(tokens) => tokens.into(), + Err(err) => err.to_compile_error().into(), + } +} + +fn freeze_struct_impl( + attr: impl Into, + tokens: impl Into, +) -> Result { + let attr = attr.into(); + let tokens = tokens.into(); + + let item = parse2::(tokens)?; + + todo!() +} From d116b3b2c869cd2370d4459703c8b7968fb1e57f Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Fri, 7 Jun 2024 15:40:08 -0400 Subject: [PATCH 03/24] almost working --- Cargo.lock | 1 + support/macros/Cargo.toml | 3 +- support/macros/src/lib.rs | 14 ++++- support/macros/src/visitor.rs | 105 ++++++++++++++++++++++++++++++++++ support/macros/tests/tests.rs | 7 +++ 5 files changed, 127 insertions(+), 3 deletions(-) create mode 100644 support/macros/src/visitor.rs create mode 100644 support/macros/tests/tests.rs diff --git a/Cargo.lock b/Cargo.lock index 9c797ff87..da8b433d4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8301,6 +8301,7 @@ dependencies = [ name = "subtensor-macros" version = "0.1.0" dependencies = [ + "hex", "proc-macro2", "quote", "syn 2.0.58", diff --git a/support/macros/Cargo.toml b/support/macros/Cargo.toml index 790c45e39..14970fda8 100644 --- a/support/macros/Cargo.toml +++ b/support/macros/Cargo.toml @@ -12,9 +12,10 @@ homepage = "https://bittensor.com/" proc-macro = true [dependencies] -syn = "2" +syn = { version = "2", features = ["full", "visit-mut", "extra-traits"] } proc-macro2 = "1" quote = "1" +hex = "0.4.3" [lints] workspace = true diff --git a/support/macros/src/lib.rs b/support/macros/src/lib.rs index a922cf2e8..a5a6db2b5 100644 --- a/support/macros/src/lib.rs +++ b/support/macros/src/lib.rs @@ -1,7 +1,10 @@ use proc_macro::TokenStream; use proc_macro2::TokenStream as TokenStream2; use quote::quote; -use syn::{parse::Nothing, parse2, ItemStruct, Result}; +use syn::{parse::Nothing, parse2, visit_mut::visit_item_struct_mut, ItemStruct, LitStr, Result}; + +mod visitor; +use visitor::*; #[proc_macro_attribute] pub fn freeze_struct(attr: TokenStream, tokens: TokenStream) -> TokenStream { @@ -18,7 +21,14 @@ fn freeze_struct_impl( let attr = attr.into(); let tokens = tokens.into(); - let item = parse2::(tokens)?; + let mut item = parse2::(tokens)?; + let hash_lit = parse2::(attr)?; + + let mut visitor = CleanDocComments::new(); + visit_item_struct_mut(&mut visitor, &mut item); + + let calculated_hash = generate_hash(&item); + let calculated_hash_hex = format!("{:x}", calculated_hash); todo!() } diff --git a/support/macros/src/visitor.rs b/support/macros/src/visitor.rs new file mode 100644 index 000000000..601b26e77 --- /dev/null +++ b/support/macros/src/visitor.rs @@ -0,0 +1,105 @@ +use std::collections::hash_map::DefaultHasher; +use std::hash::{Hash, Hasher}; +use syn::{self, parse_quote, visit_mut::VisitMut}; + +pub struct CleanDocComments; + +impl CleanDocComments { + pub fn new() -> Self { + Self + } +} + +impl VisitMut for CleanDocComments { + fn visit_attribute_mut(&mut self, attr: &mut syn::Attribute) { + // Check if the attribute is a doc comment and remove it if it is + if attr.path().is_ident("doc") { + *attr = parse_quote!(#[doc = ""]); + } + syn::visit_mut::visit_attribute_mut(self, attr); + } +} + +pub fn generate_hash + Clone>(item: &T) -> u64 { + let item = item.clone(); + let mut hasher = DefaultHasher::new(); + let item = Into::::into(item); + item.hash(&mut hasher); + hasher.finish() +} + +#[cfg(test)] +mod tests { + use super::*; + use syn::Item; + + #[test] + fn test_clean_doc_comments() { + // Example code with doc comments + let item: Item = parse_quote! { + /// This is a doc comment + #[cfg(feature = "example")] + fn example() { + println!("Hello, world!"); + } + }; + + let hash_before = generate_hash(&item); + + let mut item_clone = item.clone(); + let mut cleaner = CleanDocComments; + cleaner.visit_item_mut(&mut item_clone); + + // Calculate the hash of the cleaned item + let hash_after = generate_hash(&item_clone); + + assert_ne!(hash_before, hash_after); + + let item2: Item = parse_quote! { + #[doc = ""] + #[cfg(feature = "example")] + fn example() { + println!("Hello, world!"); + } + }; + + assert_eq!(hash_after, generate_hash(&item2)); + } + + #[test] + fn test_clean_doc_comments_struct() { + // Example code with doc comments in a struct + let item: Item = parse_quote! { + /// Another doc comment + struct MyStruct { + #[cfg(feature = "field")] + field1: i32, + /// Field doc comment + field2: String, + } + }; + + let hash_before = generate_hash(&item); + + let mut item_clone = item.clone(); + let mut cleaner = CleanDocComments; + cleaner.visit_item_mut(&mut item_clone); + + // Calculate the hash of the cleaned item + let hash_after = generate_hash(&item_clone); + + assert_ne!(hash_before, hash_after); + + let item2: Item = parse_quote! { + #[doc = ""] + struct MyStruct { + #[cfg(feature = "field")] + field1: i32, + #[doc = ""] + field2: String, + } + }; + + assert_eq!(hash_after, generate_hash(&item2)); + } +} diff --git a/support/macros/tests/tests.rs b/support/macros/tests/tests.rs new file mode 100644 index 000000000..391cd910d --- /dev/null +++ b/support/macros/tests/tests.rs @@ -0,0 +1,7 @@ +use subtensor_macros::freeze_struct; + +#[freeze_struct("1f29b57a32dbb617")] +struct MyStruct { + ip: u32, + port: u32, +} From 54f31ce0b8deef4765b763990b38da43093e7beb Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Fri, 7 Jun 2024 16:11:46 -0400 Subject: [PATCH 04/24] working --- Cargo.lock | 1 - support/macros/Cargo.toml | 1 - support/macros/src/lib.rs | 27 ++++++++++++++++++++------- support/macros/tests/tests.rs | 8 ++++---- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index da8b433d4..9c797ff87 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8301,7 +8301,6 @@ dependencies = [ name = "subtensor-macros" version = "0.1.0" dependencies = [ - "hex", "proc-macro2", "quote", "syn 2.0.58", diff --git a/support/macros/Cargo.toml b/support/macros/Cargo.toml index 14970fda8..945ffdb69 100644 --- a/support/macros/Cargo.toml +++ b/support/macros/Cargo.toml @@ -15,7 +15,6 @@ proc-macro = true syn = { version = "2", features = ["full", "visit-mut", "extra-traits"] } proc-macro2 = "1" quote = "1" -hex = "0.4.3" [lints] workspace = true diff --git a/support/macros/src/lib.rs b/support/macros/src/lib.rs index a5a6db2b5..f42501b5b 100644 --- a/support/macros/src/lib.rs +++ b/support/macros/src/lib.rs @@ -1,7 +1,7 @@ use proc_macro::TokenStream; use proc_macro2::TokenStream as TokenStream2; -use quote::quote; -use syn::{parse::Nothing, parse2, visit_mut::visit_item_struct_mut, ItemStruct, LitStr, Result}; +use quote::ToTokens; +use syn::{parse2, visit_mut::visit_item_struct_mut, Error, ItemStruct, LitStr, Result}; mod visitor; use visitor::*; @@ -9,7 +9,7 @@ use visitor::*; #[proc_macro_attribute] pub fn freeze_struct(attr: TokenStream, tokens: TokenStream) -> TokenStream { match freeze_struct_impl(attr, tokens) { - Ok(tokens) => tokens.into(), + Ok(item_struct) => item_struct.to_token_stream().into(), Err(err) => err.to_compile_error().into(), } } @@ -17,18 +17,31 @@ pub fn freeze_struct(attr: TokenStream, tokens: TokenStream) -> TokenStream { fn freeze_struct_impl( attr: impl Into, tokens: impl Into, -) -> Result { +) -> Result { let attr = attr.into(); let tokens = tokens.into(); - let mut item = parse2::(tokens)?; + let item = parse2::(tokens)?; + let mut item_clone = item.clone(); let hash_lit = parse2::(attr)?; + let provided_hash_hex = hash_lit.value().to_lowercase(); let mut visitor = CleanDocComments::new(); - visit_item_struct_mut(&mut visitor, &mut item); + visit_item_struct_mut(&mut visitor, &mut item_clone); let calculated_hash = generate_hash(&item); let calculated_hash_hex = format!("{:x}", calculated_hash); - todo!() + if provided_hash_hex != calculated_hash_hex { + return Err(Error::new_spanned(item, + format!( + "You have made a non-trivial change to this struct and the provided hashcode no longer matches:\n{} != {}\n\n\ + If this was intentional, please update the hashcode in the `freeze_struct` attribute to:\n\ + {}\n\nNote that if you are changing a storage struct in any way, including simply re-ordering fields, \ + you will need a migration to prevent data corruption.", + provided_hash_hex, calculated_hash_hex, calculated_hash_hex + ), + )); + } + Ok(item) } diff --git a/support/macros/tests/tests.rs b/support/macros/tests/tests.rs index 391cd910d..8e634e75b 100644 --- a/support/macros/tests/tests.rs +++ b/support/macros/tests/tests.rs @@ -1,7 +1,7 @@ use subtensor_macros::freeze_struct; -#[freeze_struct("1f29b57a32dbb617")] -struct MyStruct { - ip: u32, - port: u32, +#[freeze_struct("18ec48d6e1ccaa1b")] +pub struct MyStruct { + pub ip: u32, + pub port: u32, } From 2885c2305e4645c4204d0f5b9a760dd135bb0846 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Fri, 7 Jun 2024 16:34:47 -0400 Subject: [PATCH 05/24] =?UTF-8?q?rip=20out=20cargo-husky=20=F0=9F=90=B6?= =?UTF-8?q?=E2=9C=82=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cargo-husky/hooks/prepare-commit-msg | 18 ------------------ Cargo.lock | 9 --------- integration-tests/Cargo.toml | 12 ------------ scripts/husky.sh | 12 ------------ 4 files changed, 51 deletions(-) delete mode 100755 .cargo-husky/hooks/prepare-commit-msg delete mode 100755 scripts/husky.sh diff --git a/.cargo-husky/hooks/prepare-commit-msg b/.cargo-husky/hooks/prepare-commit-msg deleted file mode 100755 index 1661f5de6..000000000 --- a/.cargo-husky/hooks/prepare-commit-msg +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# -# git prepare-commit-msg hook for automatically prepending an issue key -# from the start of the current branch name to commit messages. - -# check if commit is merge commit or a commit ammend -if [ $2 = "merge" ] || [ $2 = "commit" ]; then - exit -fi -ISSUE_KEY=`git branch | grep -o "\* \(.*/\)*[A-Z]\{2,\}-[0-9]\+" | grep -o "[A-Z]\{2,\}-[0-9]\+"` -if [ $? -ne 0 ]; then - # no issue key in branch, use the default message - exit -fi -# issue key matched from branch prefix, prepend to commit message -TEMP=`mktemp /tmp/commitmsg-XXXXX` -(echo "$ISSUE_KEY: $(cat $1)") > $TEMP -cat $TEMP > $1 \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 9c797ff87..4c36e495a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -640,12 +640,6 @@ dependencies = [ "serde", ] -[[package]] -name = "cargo-husky" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b02b629252fe8ef6460461409564e2c21d0c8e77e0944f3d189ff06c4e932ad" - [[package]] name = "cargo-platform" version = "0.1.8" @@ -2857,9 +2851,6 @@ dependencies = [ [[package]] name = "integration-tests" version = "0.0.1" -dependencies = [ - "cargo-husky", -] [[package]] name = "io-lifetimes" diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml index a83410167..96959afc5 100644 --- a/integration-tests/Cargo.toml +++ b/integration-tests/Cargo.toml @@ -9,15 +9,3 @@ repository = "https://github.com/opentensor/subtensor" [lints] workspace = true - -[dependencies] - -## -# https://github.com/rhysd/cargo-husky -# https://doc.rust-lang.org/cargo/reference/workspaces.html#the-dependencies-table -# https://users.rust-lang.org/t/how-do-i-create-integration-tests-in-a-workspace/53215 -[dev-dependencies.cargo-husky] -version = "1" -default-features = false -features = ["user-hooks"] -# features = ["precommit-hook", "run-cargo-check", "run-cargo-test", "run-cargo-clippy", "run-cargo-fmt"] diff --git a/scripts/husky.sh b/scripts/husky.sh deleted file mode 100755 index 67af28fd2..000000000 --- a/scripts/husky.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash -# This script is meant to be run on Unix/Linux based systems -set -e - -echo "*** Cleaning repository..." - -cargo clean -p cargo-husky -cargo clean -p integration-tests - -echo "*** Running test to trigger husky hook insertion..." - -cargo test -p integration-tests \ No newline at end of file From d99f7dcd0bbc5edb46d4f85e99d50326776c0ecc Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Thu, 13 Jun 2024 12:20:25 -0400 Subject: [PATCH 06/24] handle zero args case --- support/macros/src/lib.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/support/macros/src/lib.rs b/support/macros/src/lib.rs index f42501b5b..cf6f6958f 100644 --- a/support/macros/src/lib.rs +++ b/support/macros/src/lib.rs @@ -23,15 +23,22 @@ fn freeze_struct_impl( let item = parse2::(tokens)?; let mut item_clone = item.clone(); + + let calculated_hash = generate_hash(&item); + let calculated_hash_hex = format!("{:x}", calculated_hash); + + if attr.is_empty() { + return Err(Error::new_spanned(item, + format!("You must provide a hashcode in the `freeze_struct` attribute to freeze this struct.\n\n\ + expected hashcode: `#[freeze_struct(\"{calculated_hash_hex}\")]`"), + )); + } let hash_lit = parse2::(attr)?; let provided_hash_hex = hash_lit.value().to_lowercase(); let mut visitor = CleanDocComments::new(); visit_item_struct_mut(&mut visitor, &mut item_clone); - let calculated_hash = generate_hash(&item); - let calculated_hash_hex = format!("{:x}", calculated_hash); - if provided_hash_hex != calculated_hash_hex { return Err(Error::new_spanned(item, format!( From 54fee905bd9ccdbebe62c19c4ad240956cea4c1d Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Thu, 13 Jun 2024 12:53:10 -0400 Subject: [PATCH 07/24] stable hashing algorithm --- Cargo.lock | 1 + support/macros/Cargo.toml | 1 + support/macros/src/visitor.rs | 15 ++++++++++++--- support/macros/tests/tests.rs | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4c36e495a..f066d33b4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8292,6 +8292,7 @@ dependencies = [ name = "subtensor-macros" version = "0.1.0" dependencies = [ + "ahash 0.8.11", "proc-macro2", "quote", "syn 2.0.58", diff --git a/support/macros/Cargo.toml b/support/macros/Cargo.toml index 945ffdb69..10a15ba0d 100644 --- a/support/macros/Cargo.toml +++ b/support/macros/Cargo.toml @@ -15,6 +15,7 @@ proc-macro = true syn = { version = "2", features = ["full", "visit-mut", "extra-traits"] } proc-macro2 = "1" quote = "1" +ahash = "0.8" [lints] workspace = true diff --git a/support/macros/src/visitor.rs b/support/macros/src/visitor.rs index 601b26e77..f3f14cea4 100644 --- a/support/macros/src/visitor.rs +++ b/support/macros/src/visitor.rs @@ -1,5 +1,5 @@ -use std::collections::hash_map::DefaultHasher; -use std::hash::{Hash, Hasher}; +use ahash::RandomState; +use std::hash::{BuildHasher, Hash, Hasher}; use syn::{self, parse_quote, visit_mut::VisitMut}; pub struct CleanDocComments; @@ -22,7 +22,16 @@ impl VisitMut for CleanDocComments { pub fn generate_hash + Clone>(item: &T) -> u64 { let item = item.clone(); - let mut hasher = DefaultHasher::new(); + + // Define a fixed seed + const SEED1: u64 = 0x12345678; + const SEED2: u64 = 0x87654321; + + // Create a RandomState with the fixed seed + let fixed_state = RandomState::with_seeds(SEED1, SEED2, SEED1, SEED2); + + // Create a hasher with the fixed seed + let mut hasher = fixed_state.build_hasher(); let item = Into::::into(item); item.hash(&mut hasher); hasher.finish() diff --git a/support/macros/tests/tests.rs b/support/macros/tests/tests.rs index 8e634e75b..9c8159e44 100644 --- a/support/macros/tests/tests.rs +++ b/support/macros/tests/tests.rs @@ -1,6 +1,6 @@ use subtensor_macros::freeze_struct; -#[freeze_struct("18ec48d6e1ccaa1b")] +#[freeze_struct("ecdcaac0f6da589a")] pub struct MyStruct { pub ip: u32, pub port: u32, From 5e95bd0936a1e1b972c001aeb4d8fbfdd21986d5 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Thu, 13 Jun 2024 13:12:08 -0400 Subject: [PATCH 08/24] delete random file --- CITATION.cft | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 CITATION.cft diff --git a/CITATION.cft b/CITATION.cft deleted file mode 100644 index e69de29bb..000000000 From 0618272775552326b574a358e92fe47b5b4869f1 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Thu, 13 Jun 2024 13:17:25 -0400 Subject: [PATCH 09/24] add macros to workspace deps --- Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 84f19c828..2ce9ba246 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,6 +34,8 @@ serde_with = { version = "=2.0.0", default-features = false } smallvec = "1.13.2" litep2p = { git = "https://github.com/paritytech/litep2p", branch = "master" } +macros = { path = "support/macros" } + frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } frame-executive = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } From ad39bdd7438a6cb4ca2a47a34980109da9f8af2f Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Thu, 13 Jun 2024 17:10:34 -0400 Subject: [PATCH 10/24] add to existing storage structs --- Cargo.lock | 6 ++++++ Cargo.toml | 2 +- pallets/admin-utils/Cargo.toml | 1 + pallets/collective/Cargo.toml | 1 + pallets/collective/src/lib.rs | 2 ++ pallets/commitments/Cargo.toml | 1 + pallets/commitments/src/lib.rs | 2 ++ pallets/commitments/src/types.rs | 2 ++ pallets/registry/Cargo.toml | 1 + pallets/registry/src/types.rs | 2 ++ pallets/subtensor/Cargo.toml | 1 + pallets/subtensor/src/delegate_info.rs | 1 + pallets/subtensor/src/lib.rs | 6 ++++++ pallets/subtensor/src/neuron_info.rs | 2 ++ pallets/subtensor/src/stake_info.rs | 1 + pallets/subtensor/src/subnet_info.rs | 2 ++ runtime/Cargo.toml | 1 + runtime/src/check_nonce.rs | 2 ++ support/macros/src/visitor.rs | 3 +++ 19 files changed, 38 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 8a5943efd..da4c0fdde 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4706,6 +4706,7 @@ dependencies = [ "sp-version", "substrate-wasm-builder", "subtensor-custom-rpc-runtime-api", + "subtensor-macros", ] [[package]] @@ -4906,6 +4907,7 @@ dependencies = [ "sp-runtime", "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", "sp-weights", + "subtensor-macros", ] [[package]] @@ -4969,6 +4971,7 @@ dependencies = [ "sp-io", "sp-runtime", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "subtensor-macros", ] [[package]] @@ -4986,6 +4989,7 @@ dependencies = [ "sp-io", "sp-runtime", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "subtensor-macros", ] [[package]] @@ -5104,6 +5108,7 @@ dependencies = [ "sp-io", "sp-runtime", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "subtensor-macros", ] [[package]] @@ -5177,6 +5182,7 @@ dependencies = [ "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", "sp-version", "substrate-fixed", + "subtensor-macros", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 2ce9ba246..b3446192e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,7 @@ serde_with = { version = "=2.0.0", default-features = false } smallvec = "1.13.2" litep2p = { git = "https://github.com/paritytech/litep2p", branch = "master" } -macros = { path = "support/macros" } +subtensor-macros = { path = "support/macros" } frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } diff --git a/pallets/admin-utils/Cargo.toml b/pallets/admin-utils/Cargo.toml index 31c62c7da..fd2d3952e 100644 --- a/pallets/admin-utils/Cargo.toml +++ b/pallets/admin-utils/Cargo.toml @@ -16,6 +16,7 @@ workspace = true targets = ["x86_64-unknown-linux-gnu"] [dependencies] +subtensor-macros.workspace = true codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = [ "derive", ] } diff --git a/pallets/collective/Cargo.toml b/pallets/collective/Cargo.toml index 95120c235..cf311f404 100644 --- a/pallets/collective/Cargo.toml +++ b/pallets/collective/Cargo.toml @@ -16,6 +16,7 @@ workspace = true targets = ["x86_64-unknown-linux-gnu"] [dependencies] +subtensor-macros.workspace = true codec = { package = "parity-scale-codec", version = "3.2.2", default-features = false, features = [ "derive", ] } diff --git a/pallets/collective/src/lib.rs b/pallets/collective/src/lib.rs index c1bcad3e7..60f1f8531 100644 --- a/pallets/collective/src/lib.rs +++ b/pallets/collective/src/lib.rs @@ -65,6 +65,7 @@ mod benchmarking; pub mod weights; pub use pallet::*; +use subtensor_macros::freeze_struct; pub use weights::WeightInfo; const LOG_TARGET: &str = "runtime::collective"; @@ -150,6 +151,7 @@ impl GetBacking for RawOrigin { } /// Info for keeping track of a motion being voted on. +#[freeze_struct("5959418cdb31993b")] #[derive(PartialEq, Eq, Clone, Encode, Decode, RuntimeDebug, TypeInfo)] pub struct Votes { /// The proposal's unique index. diff --git a/pallets/commitments/Cargo.toml b/pallets/commitments/Cargo.toml index 13a06c51e..1cff429d5 100644 --- a/pallets/commitments/Cargo.toml +++ b/pallets/commitments/Cargo.toml @@ -16,6 +16,7 @@ workspace = true targets = ["x86_64-unknown-linux-gnu"] [dependencies] +subtensor-macros.workspace = true codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = [ "derive", "max-encoded-len", diff --git a/pallets/commitments/src/lib.rs b/pallets/commitments/src/lib.rs index 6e252ecea..246cd3a66 100644 --- a/pallets/commitments/src/lib.rs +++ b/pallets/commitments/src/lib.rs @@ -10,6 +10,7 @@ pub mod types; pub mod weights; pub use pallet::*; +use subtensor_macros::freeze_struct; pub use types::*; pub use weights::WeightInfo; @@ -209,6 +210,7 @@ use { }, }; +#[freeze_struct("6a00398e14a8a984")] #[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] pub struct CommitmentsSignedExtension(pub PhantomData); diff --git a/pallets/commitments/src/types.rs b/pallets/commitments/src/types.rs index 6ca9ee603..f38b5a5f7 100644 --- a/pallets/commitments/src/types.rs +++ b/pallets/commitments/src/types.rs @@ -29,6 +29,7 @@ use sp_runtime::{ RuntimeDebug, }; use sp_std::{fmt::Debug, iter::once, prelude::*}; +use subtensor_macros::freeze_struct; /// Either underlying data blob if it is at most 32 bytes, or a hash of it. If the data is greater /// than 32-bytes then it will be truncated when encoding. @@ -283,6 +284,7 @@ impl Default for Data { } } +#[freeze_struct("1053e03f8a8f6a67")] #[derive( CloneNoBound, Encode, Decode, Eq, MaxEncodedLen, PartialEqNoBound, RuntimeDebugNoBound, TypeInfo, )] diff --git a/pallets/registry/Cargo.toml b/pallets/registry/Cargo.toml index 7c495a42f..e6aca55f6 100644 --- a/pallets/registry/Cargo.toml +++ b/pallets/registry/Cargo.toml @@ -16,6 +16,7 @@ workspace = true targets = ["x86_64-unknown-linux-gnu"] [dependencies] +subtensor-macros.workspace = true codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = [ "derive", "max-encoded-len", diff --git a/pallets/registry/src/types.rs b/pallets/registry/src/types.rs index 0573392cd..541cc21df 100644 --- a/pallets/registry/src/types.rs +++ b/pallets/registry/src/types.rs @@ -30,6 +30,7 @@ use sp_runtime::{ RuntimeDebug, }; use sp_std::{fmt::Debug, iter::once, ops::Add, prelude::*}; +use subtensor_macros::freeze_struct; /// Either underlying data blob if it is at most 32 bytes, or a hash of it. If the data is greater /// than 32-bytes then it will be truncated when encoding. @@ -278,6 +279,7 @@ impl TypeInfo for IdentityFields { /// /// NOTE: This should be stored at the end of the storage item to facilitate the addition of extra /// fields in a backwards compatible way through a specialized `Decode` impl. +#[freeze_struct("fa02e2abde778fc4")] #[derive( CloneNoBound, Encode, Decode, Eq, MaxEncodedLen, PartialEqNoBound, RuntimeDebugNoBound, TypeInfo, )] diff --git a/pallets/subtensor/Cargo.toml b/pallets/subtensor/Cargo.toml index cbcf76c82..f9ed9d479 100644 --- a/pallets/subtensor/Cargo.toml +++ b/pallets/subtensor/Cargo.toml @@ -16,6 +16,7 @@ workspace = true targets = ["x86_64-unknown-linux-gnu"] [dependencies] +subtensor-macros.workspace = true codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = [ "derive", ] } diff --git a/pallets/subtensor/src/delegate_info.rs b/pallets/subtensor/src/delegate_info.rs index b33415a3b..1fe47ad52 100644 --- a/pallets/subtensor/src/delegate_info.rs +++ b/pallets/subtensor/src/delegate_info.rs @@ -7,6 +7,7 @@ extern crate alloc; use codec::Compact; use sp_core::hexdisplay::AsBytesRef; +#[freeze_struct("5752e4c650a83e0d")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug)] pub struct DelegateInfo { delegate_ss58: T::AccountId, diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index 61eb17f4a..4b4aacf77 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -74,6 +74,8 @@ pub mod pallet { use sp_std::vec; use sp_std::vec::Vec; + use subtensor_macros::freeze_struct; + #[cfg(not(feature = "std"))] use alloc::boxed::Box; #[cfg(feature = "std")] @@ -665,6 +667,7 @@ pub mod pallet { pub type AxonInfoOf = AxonInfo; /// Data structure for Axon information. + #[freeze_struct("66109b7ef33baabd")] #[derive(Encode, Decode, Default, TypeInfo, Clone, PartialEq, Eq, Debug)] pub struct AxonInfo { /// Axon serving block. @@ -688,6 +691,7 @@ pub mod pallet { /// Struct for Prometheus. pub type PrometheusInfoOf = PrometheusInfo; /// Data structure for Prometheus information. + #[freeze_struct("66b04cc1fbd155ea")] #[derive(Encode, Decode, Default, TypeInfo, Clone, PartialEq, Eq, Debug)] pub struct PrometheusInfo { /// Prometheus serving block. @@ -2116,6 +2120,7 @@ pub enum CallType { Other, } +#[freeze_struct("61e2b893d5ce6701")] #[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] pub struct SubtensorSignedExtension(pub PhantomData); @@ -2348,6 +2353,7 @@ use sp_std::vec; // used not 25 lines below #[allow(unused)] use sp_std::vec::Vec; +use subtensor_macros::freeze_struct; /// Trait for managing a membership pallet instance in the runtime pub trait MemberManagement { diff --git a/pallets/subtensor/src/neuron_info.rs b/pallets/subtensor/src/neuron_info.rs index e3b84ab20..a4b58d666 100644 --- a/pallets/subtensor/src/neuron_info.rs +++ b/pallets/subtensor/src/neuron_info.rs @@ -4,6 +4,7 @@ use frame_support::storage::IterableStorageDoubleMap; extern crate alloc; use codec::Compact; +#[freeze_struct("45e69321f5c74b4b")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug)] pub struct NeuronInfo { hotkey: T::AccountId, @@ -28,6 +29,7 @@ pub struct NeuronInfo { pruning_score: Compact, } +#[freeze_struct("c21f0f4f22bcb2a1")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug)] pub struct NeuronInfoLite { hotkey: T::AccountId, diff --git a/pallets/subtensor/src/stake_info.rs b/pallets/subtensor/src/stake_info.rs index d66235657..1b39e9936 100644 --- a/pallets/subtensor/src/stake_info.rs +++ b/pallets/subtensor/src/stake_info.rs @@ -4,6 +4,7 @@ extern crate alloc; use codec::Compact; use sp_core::hexdisplay::AsBytesRef; +#[freeze_struct("86d64c14d71d44b9")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug)] pub struct StakeInfo { hotkey: T::AccountId, diff --git a/pallets/subtensor/src/subnet_info.rs b/pallets/subtensor/src/subnet_info.rs index cf6b66aea..c160b1e44 100644 --- a/pallets/subtensor/src/subnet_info.rs +++ b/pallets/subtensor/src/subnet_info.rs @@ -4,6 +4,7 @@ use frame_support::storage::IterableStorageMap; extern crate alloc; use codec::Compact; +#[freeze_struct("4d3e8df520bbc960")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug)] pub struct SubnetInfo { netuid: Compact, @@ -26,6 +27,7 @@ pub struct SubnetInfo { owner: T::AccountId, } +#[freeze_struct("76f4053b3cc4c7ec")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug)] pub struct SubnetHyperparams { rho: Compact, diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index c2d26973b..5abc9cef6 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -20,6 +20,7 @@ name = "spec_version" path = "src/spec_version.rs" [dependencies] +subtensor-macros.workspace = true subtensor-custom-rpc-runtime-api = { version = "0.0.2", path = "../pallets/subtensor/runtime-api", default-features = false } smallvec = { workspace = true } log = { workspace = true } diff --git a/runtime/src/check_nonce.rs b/runtime/src/check_nonce.rs index e6e992ccf..d4e3b4529 100644 --- a/runtime/src/check_nonce.rs +++ b/runtime/src/check_nonce.rs @@ -10,6 +10,7 @@ use sp_runtime::{ }, }; use sp_std::vec; +use subtensor_macros::freeze_struct; /// Nonce check and increment to give replay protection for transactions. /// @@ -18,6 +19,7 @@ use sp_std::vec; /// This extension affects `requires` and `provides` tags of validity, but DOES NOT /// set the `priority` field. Make sure that AT LEAST one of the signed extension sets /// some kind of priority upon validating transactions. +#[freeze_struct("91bb250ab490f1b7")] #[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] #[scale_info(skip_type_params(T))] pub struct CheckNonce(#[codec(compact)] pub T::Nonce); diff --git a/support/macros/src/visitor.rs b/support/macros/src/visitor.rs index f3f14cea4..b3c61723c 100644 --- a/support/macros/src/visitor.rs +++ b/support/macros/src/visitor.rs @@ -16,6 +16,9 @@ impl VisitMut for CleanDocComments { if attr.path().is_ident("doc") { *attr = parse_quote!(#[doc = ""]); } + if attr.path().is_ident("freeze_struct") { + *attr = parse_quote!(#[freeze_struct]); + } syn::visit_mut::visit_attribute_mut(self, attr); } } From 377086eb92faca79d7682bec1ae1045decf507ff Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Thu, 13 Jun 2024 17:30:55 -0400 Subject: [PATCH 11/24] add freeze_struct_ignore_ra --- support/macros/build.rs | 9 +++++++++ support/macros/src/lib.rs | 29 ++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 support/macros/build.rs diff --git a/support/macros/build.rs b/support/macros/build.rs new file mode 100644 index 000000000..267084337 --- /dev/null +++ b/support/macros/build.rs @@ -0,0 +1,9 @@ +use std::env; + +fn main() { + // Read the RUSTC_WRAPPER environment variable + if let Ok(rustc_wrapper) = env::var("RUSTC_WRAPPER") { + // Pass the RUSTC_WRAPPER to rust build + println!("cargo:rustc-env=RUSTC_WRAPPER={}", rustc_wrapper); + } +} diff --git a/support/macros/src/lib.rs b/support/macros/src/lib.rs index cf6f6958f..a526c4f9a 100644 --- a/support/macros/src/lib.rs +++ b/support/macros/src/lib.rs @@ -6,9 +6,24 @@ use syn::{parse2, visit_mut::visit_item_struct_mut, Error, ItemStruct, LitStr, R mod visitor; use visitor::*; +/// Freezes the layout of a struct to the current hash of its fields, ensuring that future +/// changes require updating the hash. +/// +/// If you ever get in a loop where rust analyzer insists that the hash is wrong each time you +/// update, but `cargo check` is passing, you should use [`freeze_struct_ignore_ra`] instead. #[proc_macro_attribute] pub fn freeze_struct(attr: TokenStream, tokens: TokenStream) -> TokenStream { - match freeze_struct_impl(attr, tokens) { + match freeze_struct_impl(attr, tokens, false) { + Ok(item_struct) => item_struct.to_token_stream().into(), + Err(err) => err.to_compile_error().into(), + } +} + +/// More permissive version of [`freeze_struct`] that ignores the hash check when running in +/// rust-analyzer since in some rare situations rust-analyzer will generate an incorrect hash code +#[proc_macro_attribute] +pub fn freeze_struct_ignore_ra(attr: TokenStream, tokens: TokenStream) -> TokenStream { + match freeze_struct_impl(attr, tokens, true) { Ok(item_struct) => item_struct.to_token_stream().into(), Err(err) => err.to_compile_error().into(), } @@ -17,6 +32,7 @@ pub fn freeze_struct(attr: TokenStream, tokens: TokenStream) -> TokenStream { fn freeze_struct_impl( attr: impl Into, tokens: impl Into, + ignore_ra: bool, ) -> Result { let attr = attr.into(); let tokens = tokens.into(); @@ -39,6 +55,10 @@ fn freeze_struct_impl( let mut visitor = CleanDocComments::new(); visit_item_struct_mut(&mut visitor, &mut item_clone); + if ignore_ra && is_rust_analyzer() { + return Ok(item); + } + if provided_hash_hex != calculated_hash_hex { return Err(Error::new_spanned(item, format!( @@ -52,3 +72,10 @@ fn freeze_struct_impl( } Ok(item) } + +/// Returns true if the current build is being run by rust-analyzer. +fn is_rust_analyzer() -> bool { + std::env::var("RUSTC_WRAPPER") + .map(|v| v.contains("rust-analyzer")) + .unwrap_or(false) +} From 4c05546b20502500f037f52bf43012cb0f786e08 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Thu, 13 Jun 2024 17:59:31 -0400 Subject: [PATCH 12/24] WIP --- pallets/commitments/src/types.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pallets/commitments/src/types.rs b/pallets/commitments/src/types.rs index f38b5a5f7..4ddf2e1a9 100644 --- a/pallets/commitments/src/types.rs +++ b/pallets/commitments/src/types.rs @@ -29,7 +29,7 @@ use sp_runtime::{ RuntimeDebug, }; use sp_std::{fmt::Debug, iter::once, prelude::*}; -use subtensor_macros::freeze_struct; +use subtensor_macros::freeze_struct_ignore_ra; /// Either underlying data blob if it is at most 32 bytes, or a hash of it. If the data is greater /// than 32-bytes then it will be truncated when encoding. @@ -284,7 +284,7 @@ impl Default for Data { } } -#[freeze_struct("1053e03f8a8f6a67")] +#[freeze_struct_ignore_ra("1053e03f8a8f6a67")] #[derive( CloneNoBound, Encode, Decode, Eq, MaxEncodedLen, PartialEqNoBound, RuntimeDebugNoBound, TypeInfo, )] From a0799548c32e57ad5f2f88a8f5fbe46791092b8b Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Thu, 13 Jun 2024 18:24:38 -0400 Subject: [PATCH 13/24] fix problematic cases --- pallets/commitments/src/lib.rs | 4 ++-- pallets/registry/src/types.rs | 4 ++-- support/macros/src/lib.rs | 4 +--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/pallets/commitments/src/lib.rs b/pallets/commitments/src/lib.rs index 246cd3a66..c0de32fec 100644 --- a/pallets/commitments/src/lib.rs +++ b/pallets/commitments/src/lib.rs @@ -10,7 +10,7 @@ pub mod types; pub mod weights; pub use pallet::*; -use subtensor_macros::freeze_struct; +use subtensor_macros::freeze_struct_ignore_ra; pub use types::*; pub use weights::WeightInfo; @@ -210,7 +210,7 @@ use { }, }; -#[freeze_struct("6a00398e14a8a984")] +#[freeze_struct_ignore_ra("6a00398e14a8a984")] #[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] pub struct CommitmentsSignedExtension(pub PhantomData); diff --git a/pallets/registry/src/types.rs b/pallets/registry/src/types.rs index 541cc21df..c6590726b 100644 --- a/pallets/registry/src/types.rs +++ b/pallets/registry/src/types.rs @@ -30,7 +30,7 @@ use sp_runtime::{ RuntimeDebug, }; use sp_std::{fmt::Debug, iter::once, ops::Add, prelude::*}; -use subtensor_macros::freeze_struct; +use subtensor_macros::freeze_struct_ignore_ra; /// Either underlying data blob if it is at most 32 bytes, or a hash of it. If the data is greater /// than 32-bytes then it will be truncated when encoding. @@ -279,7 +279,7 @@ impl TypeInfo for IdentityFields { /// /// NOTE: This should be stored at the end of the storage item to facilitate the addition of extra /// fields in a backwards compatible way through a specialized `Decode` impl. -#[freeze_struct("fa02e2abde778fc4")] +#[freeze_struct_ignore_ra("fa02e2abde778fc4")] #[derive( CloneNoBound, Encode, Decode, Eq, MaxEncodedLen, PartialEqNoBound, RuntimeDebugNoBound, TypeInfo, )] diff --git a/support/macros/src/lib.rs b/support/macros/src/lib.rs index a526c4f9a..bad12f951 100644 --- a/support/macros/src/lib.rs +++ b/support/macros/src/lib.rs @@ -75,7 +75,5 @@ fn freeze_struct_impl( /// Returns true if the current build is being run by rust-analyzer. fn is_rust_analyzer() -> bool { - std::env::var("RUSTC_WRAPPER") - .map(|v| v.contains("rust-analyzer")) - .unwrap_or(false) + std::env!("RUSTC_WRAPPER").contains("rust-analyzer") } From 64784b9d91d9a3823ed0b20bba5feebc65e54721 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Fri, 14 Jun 2024 17:56:06 -0400 Subject: [PATCH 14/24] working --- pallets/commitments/src/lib.rs | 4 ++-- pallets/commitments/src/types.rs | 6 ++--- pallets/registry/src/types.rs | 6 ++--- support/macros/build.rs | 9 -------- support/macros/src/lib.rs | 39 ++++++++++++-------------------- support/macros/src/visitor.rs | 3 +-- 6 files changed, 23 insertions(+), 44 deletions(-) delete mode 100644 support/macros/build.rs diff --git a/pallets/commitments/src/lib.rs b/pallets/commitments/src/lib.rs index c0de32fec..246cd3a66 100644 --- a/pallets/commitments/src/lib.rs +++ b/pallets/commitments/src/lib.rs @@ -10,7 +10,7 @@ pub mod types; pub mod weights; pub use pallet::*; -use subtensor_macros::freeze_struct_ignore_ra; +use subtensor_macros::freeze_struct; pub use types::*; pub use weights::WeightInfo; @@ -210,7 +210,7 @@ use { }, }; -#[freeze_struct_ignore_ra("6a00398e14a8a984")] +#[freeze_struct("6a00398e14a8a984")] #[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] pub struct CommitmentsSignedExtension(pub PhantomData); diff --git a/pallets/commitments/src/types.rs b/pallets/commitments/src/types.rs index 4ddf2e1a9..0b3d0464b 100644 --- a/pallets/commitments/src/types.rs +++ b/pallets/commitments/src/types.rs @@ -29,7 +29,7 @@ use sp_runtime::{ RuntimeDebug, }; use sp_std::{fmt::Debug, iter::once, prelude::*}; -use subtensor_macros::freeze_struct_ignore_ra; +use subtensor_macros::freeze_struct; /// Either underlying data blob if it is at most 32 bytes, or a hash of it. If the data is greater /// than 32-bytes then it will be truncated when encoding. @@ -284,12 +284,12 @@ impl Default for Data { } } -#[freeze_struct_ignore_ra("1053e03f8a8f6a67")] +#[freeze_struct("25c84048dcc90813")] #[derive( CloneNoBound, Encode, Decode, Eq, MaxEncodedLen, PartialEqNoBound, RuntimeDebugNoBound, TypeInfo, )] #[codec(mel_bound())] -#[cfg_attr(test, derive(frame_support::DefaultNoBound))] +#[derive(frame_support::DefaultNoBound)] #[scale_info(skip_type_params(FieldLimit))] pub struct CommitmentInfo> { pub fields: BoundedVec, diff --git a/pallets/registry/src/types.rs b/pallets/registry/src/types.rs index c6590726b..629d1cf83 100644 --- a/pallets/registry/src/types.rs +++ b/pallets/registry/src/types.rs @@ -30,7 +30,7 @@ use sp_runtime::{ RuntimeDebug, }; use sp_std::{fmt::Debug, iter::once, ops::Add, prelude::*}; -use subtensor_macros::freeze_struct_ignore_ra; +use subtensor_macros::freeze_struct; /// Either underlying data blob if it is at most 32 bytes, or a hash of it. If the data is greater /// than 32-bytes then it will be truncated when encoding. @@ -279,12 +279,12 @@ impl TypeInfo for IdentityFields { /// /// NOTE: This should be stored at the end of the storage item to facilitate the addition of extra /// fields in a backwards compatible way through a specialized `Decode` impl. -#[freeze_struct_ignore_ra("fa02e2abde778fc4")] +#[freeze_struct("70b183c8753429f1")] #[derive( CloneNoBound, Encode, Decode, Eq, MaxEncodedLen, PartialEqNoBound, RuntimeDebugNoBound, TypeInfo, )] #[codec(mel_bound())] -#[cfg_attr(test, derive(frame_support::DefaultNoBound))] +#[derive(frame_support::DefaultNoBound)] #[scale_info(skip_type_params(FieldLimit))] pub struct IdentityInfo> { /// Additional fields of the identity that are not catered for with the struct's explicit diff --git a/support/macros/build.rs b/support/macros/build.rs deleted file mode 100644 index 267084337..000000000 --- a/support/macros/build.rs +++ /dev/null @@ -1,9 +0,0 @@ -use std::env; - -fn main() { - // Read the RUSTC_WRAPPER environment variable - if let Ok(rustc_wrapper) = env::var("RUSTC_WRAPPER") { - // Pass the RUSTC_WRAPPER to rust build - println!("cargo:rustc-env=RUSTC_WRAPPER={}", rustc_wrapper); - } -} diff --git a/support/macros/src/lib.rs b/support/macros/src/lib.rs index bad12f951..fa2fb8397 100644 --- a/support/macros/src/lib.rs +++ b/support/macros/src/lib.rs @@ -9,21 +9,19 @@ use visitor::*; /// Freezes the layout of a struct to the current hash of its fields, ensuring that future /// changes require updating the hash. /// -/// If you ever get in a loop where rust analyzer insists that the hash is wrong each time you -/// update, but `cargo check` is passing, you should use [`freeze_struct_ignore_ra`] instead. +/// ``` +/// use subtensor_macros::freeze_struct; +/// +/// #[freeze_struct("13f75e4ea46b4e80")] +/// #[derive(Copy, Clone, PartialEq, Eq)] +/// pub struct MyStruct { +/// pub a: u32, +/// pub b: u64, +/// } +/// ``` #[proc_macro_attribute] pub fn freeze_struct(attr: TokenStream, tokens: TokenStream) -> TokenStream { - match freeze_struct_impl(attr, tokens, false) { - Ok(item_struct) => item_struct.to_token_stream().into(), - Err(err) => err.to_compile_error().into(), - } -} - -/// More permissive version of [`freeze_struct`] that ignores the hash check when running in -/// rust-analyzer since in some rare situations rust-analyzer will generate an incorrect hash code -#[proc_macro_attribute] -pub fn freeze_struct_ignore_ra(attr: TokenStream, tokens: TokenStream) -> TokenStream { - match freeze_struct_impl(attr, tokens, true) { + match freeze_struct_impl(attr, tokens) { Ok(item_struct) => item_struct.to_token_stream().into(), Err(err) => err.to_compile_error().into(), } @@ -32,7 +30,6 @@ pub fn freeze_struct_ignore_ra(attr: TokenStream, tokens: TokenStream) -> TokenS fn freeze_struct_impl( attr: impl Into, tokens: impl Into, - ignore_ra: bool, ) -> Result { let attr = attr.into(); let tokens = tokens.into(); @@ -49,16 +46,13 @@ fn freeze_struct_impl( expected hashcode: `#[freeze_struct(\"{calculated_hash_hex}\")]`"), )); } - let hash_lit = parse2::(attr)?; - let provided_hash_hex = hash_lit.value().to_lowercase(); + + let parsed_attr = parse2::(attr)?; + let provided_hash_hex = parsed_attr.value().to_lowercase(); let mut visitor = CleanDocComments::new(); visit_item_struct_mut(&mut visitor, &mut item_clone); - if ignore_ra && is_rust_analyzer() { - return Ok(item); - } - if provided_hash_hex != calculated_hash_hex { return Err(Error::new_spanned(item, format!( @@ -72,8 +66,3 @@ fn freeze_struct_impl( } Ok(item) } - -/// Returns true if the current build is being run by rust-analyzer. -fn is_rust_analyzer() -> bool { - std::env!("RUSTC_WRAPPER").contains("rust-analyzer") -} diff --git a/support/macros/src/visitor.rs b/support/macros/src/visitor.rs index b3c61723c..0bacecd1e 100644 --- a/support/macros/src/visitor.rs +++ b/support/macros/src/visitor.rs @@ -1,6 +1,6 @@ use ahash::RandomState; use std::hash::{BuildHasher, Hash, Hasher}; -use syn::{self, parse_quote, visit_mut::VisitMut}; +use syn::{parse_quote, visit_mut::VisitMut}; pub struct CleanDocComments; @@ -12,7 +12,6 @@ impl CleanDocComments { impl VisitMut for CleanDocComments { fn visit_attribute_mut(&mut self, attr: &mut syn::Attribute) { - // Check if the attribute is a doc comment and remove it if it is if attr.path().is_ident("doc") { *attr = parse_quote!(#[doc = ""]); } From 1fe85aaea9e51a3658e2263074b1d7bbc2f2454c Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Fri, 14 Jun 2024 18:05:04 -0400 Subject: [PATCH 15/24] clippy fixes --- support/macros/src/visitor.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/support/macros/src/visitor.rs b/support/macros/src/visitor.rs index 0bacecd1e..a5fc15dc7 100644 --- a/support/macros/src/visitor.rs +++ b/support/macros/src/visitor.rs @@ -1,5 +1,4 @@ use ahash::RandomState; -use std::hash::{BuildHasher, Hash, Hasher}; use syn::{parse_quote, visit_mut::VisitMut}; pub struct CleanDocComments; @@ -29,14 +28,12 @@ pub fn generate_hash + Clone>(item: &T) -> u64 { const SEED1: u64 = 0x12345678; const SEED2: u64 = 0x87654321; - // Create a RandomState with the fixed seed + // use a fixed seed for predictable hashes let fixed_state = RandomState::with_seeds(SEED1, SEED2, SEED1, SEED2); - // Create a hasher with the fixed seed - let mut hasher = fixed_state.build_hasher(); + // hash item let item = Into::::into(item); - item.hash(&mut hasher); - hasher.finish() + fixed_state.hash_one(&item) } #[cfg(test)] From a79a38ac2118ab06422fe8aba87c4a8e24955a69 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Fri, 14 Jun 2024 18:09:56 -0400 Subject: [PATCH 16/24] fix Dockerfile --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b20dc2d3b..a6ee355ba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,8 +45,9 @@ COPY ./raw_testspec.json /subtensor/raw_testspec.json COPY ./node /subtensor/node COPY ./pallets /subtensor/pallets COPY ./runtime /subtensor/runtime +COPY ./support /subtensor/support -# Update to nightly toolchain +# Copy our toolchain COPY rust-toolchain.toml /subtensor/ RUN /subtensor/scripts/init.sh From e444b644ff374ed216949b3eae9c38d70b8be091 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Fri, 21 Jun 2024 11:51:53 -0400 Subject: [PATCH 17/24] properly use item_clone to generate hash --- support/macros/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/support/macros/src/lib.rs b/support/macros/src/lib.rs index fa2fb8397..778893d7c 100644 --- a/support/macros/src/lib.rs +++ b/support/macros/src/lib.rs @@ -37,7 +37,7 @@ fn freeze_struct_impl( let item = parse2::(tokens)?; let mut item_clone = item.clone(); - let calculated_hash = generate_hash(&item); + let calculated_hash = generate_hash(&item_clone); let calculated_hash_hex = format!("{:x}", calculated_hash); if attr.is_empty() { From 36a1aefa249b08d737a26852a1606062b5be13c7 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Tue, 2 Jul 2024 10:53:31 -0400 Subject: [PATCH 18/24] whoops --- support/macros/src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/support/macros/src/lib.rs b/support/macros/src/lib.rs index 778893d7c..97dd76082 100644 --- a/support/macros/src/lib.rs +++ b/support/macros/src/lib.rs @@ -37,6 +37,9 @@ fn freeze_struct_impl( let item = parse2::(tokens)?; let mut item_clone = item.clone(); + let mut visitor = CleanDocComments::new(); + visit_item_struct_mut(&mut visitor, &mut item_clone); + let calculated_hash = generate_hash(&item_clone); let calculated_hash_hex = format!("{:x}", calculated_hash); @@ -50,9 +53,6 @@ fn freeze_struct_impl( let parsed_attr = parse2::(attr)?; let provided_hash_hex = parsed_attr.value().to_lowercase(); - let mut visitor = CleanDocComments::new(); - visit_item_struct_mut(&mut visitor, &mut item_clone); - if provided_hash_hex != calculated_hash_hex { return Err(Error::new_spanned(item, format!( From ac4c3c2eddc562725f1723ce50f505298eac44d8 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Tue, 2 Jul 2024 11:03:32 -0400 Subject: [PATCH 19/24] fix hash codes --- pallets/collective/src/lib.rs | 2 +- pallets/registry/src/types.rs | 2 +- pallets/subtensor/src/lib.rs | 4 ++-- runtime/src/check_nonce.rs | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pallets/collective/src/lib.rs b/pallets/collective/src/lib.rs index 9dbc1f0cb..96040f99c 100644 --- a/pallets/collective/src/lib.rs +++ b/pallets/collective/src/lib.rs @@ -151,7 +151,7 @@ impl GetBacking for RawOrigin { } /// Info for keeping track of a motion being voted on. -#[freeze_struct("5959418cdb31993b")] +#[freeze_struct("a8e7b0b34ad52b17")] #[derive(PartialEq, Eq, Clone, Encode, Decode, RuntimeDebug, TypeInfo)] pub struct Votes { /// The proposal's unique index. diff --git a/pallets/registry/src/types.rs b/pallets/registry/src/types.rs index 3057aeaf4..e5063222e 100644 --- a/pallets/registry/src/types.rs +++ b/pallets/registry/src/types.rs @@ -279,7 +279,7 @@ impl TypeInfo for IdentityFields { /// /// NOTE: This should be stored at the end of the storage item to facilitate the addition of extra /// fields in a backwards compatible way through a specialized `Decode` impl. -#[freeze_struct("70b183c8753429f1")] +#[freeze_struct("ac2fc4e3c16c9dc")] #[derive( CloneNoBound, Encode, Decode, Eq, MaxEncodedLen, PartialEqNoBound, RuntimeDebugNoBound, TypeInfo, )] diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index a90f1725b..8b6bd5cce 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -666,7 +666,7 @@ pub mod pallet { pub type AxonInfoOf = AxonInfo; /// Data structure for Axon information. - #[freeze_struct("66109b7ef33baabd")] + #[freeze_struct("3545cfb0cac4c1f5")] #[derive(Encode, Decode, Default, TypeInfo, Clone, PartialEq, Eq, Debug)] pub struct AxonInfo { /// Axon serving block. @@ -690,7 +690,7 @@ pub mod pallet { /// Struct for Prometheus. pub type PrometheusInfoOf = PrometheusInfo; /// Data structure for Prometheus information. - #[freeze_struct("66b04cc1fbd155ea")] + #[freeze_struct("5dde687e63baf0cd")] #[derive(Encode, Decode, Default, TypeInfo, Clone, PartialEq, Eq, Debug)] pub struct PrometheusInfo { /// Prometheus serving block. diff --git a/runtime/src/check_nonce.rs b/runtime/src/check_nonce.rs index 9a31aa038..fd2a3a0db 100644 --- a/runtime/src/check_nonce.rs +++ b/runtime/src/check_nonce.rs @@ -20,7 +20,7 @@ use subtensor_macros::freeze_struct; /// This extension affects `requires` and `provides` tags of validity, but DOES NOT /// set the `priority` field. Make sure that AT LEAST one of the signed extension sets /// some kind of priority upon validating transactions. -#[freeze_struct("91bb250ab490f1b7")] +#[freeze_struct("610b76f62cdb521e")] #[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] #[scale_info(skip_type_params(T))] pub struct CheckNonce(#[codec(compact)] pub T::Nonce); From 7ef1cb509f2fea45d095560c8a8b9bd3c2298b96 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Wed, 3 Jul 2024 13:51:22 -0400 Subject: [PATCH 20/24] update cargo.lock --- Cargo.lock | 1079 +++++++++++++++++++++++++++------------------------- 1 file changed, 559 insertions(+), 520 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index da4c0fdde..e96685f25 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,11 +23,11 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ - "gimli 0.28.1", + "gimli 0.29.0", ] [[package]] @@ -68,7 +68,7 @@ dependencies = [ "cipher 0.4.4", "ctr", "ghash", - "subtle 2.4.1", + "subtle 2.6.0", ] [[package]] @@ -77,7 +77,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "once_cell", "version_check", ] @@ -89,7 +89,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.14", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -136,47 +136,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -184,9 +185,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.81" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "approx" @@ -204,7 +205,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d1da02abba9f9063d786eab1509833ebb2fac0f966862ca59439c76b9c566760" dependencies = [ "include_dir", - "itertools", + "itertools 0.10.5", "proc-macro-error", "proc-macro2", "quote", @@ -218,11 +219,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" dependencies = [ "include_dir", - "itertools", + "itertools 0.10.5", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -311,7 +312,7 @@ dependencies = [ "ark-std", "derivative", "hashbrown 0.13.2", - "itertools", + "itertools 0.10.5", "num-traits", "rayon", "zeroize", @@ -379,7 +380,7 @@ dependencies = [ "ark-std", "derivative", "digest 0.10.7", - "itertools", + "itertools 0.10.5", "num-bigint", "num-traits", "paste", @@ -520,9 +521,9 @@ checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" [[package]] name = "array-bytes" -version = "6.2.2" +version = "6.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f840fb7195bcfc5e17ea40c26e5ce6d5b9ce5d584466e17703209657e459ae0" +checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" [[package]] name = "arrayref" @@ -588,9 +589,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ "async-lock", "cfg-if", @@ -599,7 +600,7 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 0.38.32", + "rustix 0.38.34", "slab", "tracing", "windows-sys 0.52.0", @@ -607,24 +608,24 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.3", + "event-listener 5.3.1", "event-listener-strategy", "pin-project-lite 0.2.14", ] [[package]] name = "async-trait" -version = "0.1.79" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -642,22 +643,22 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ - "addr2line 0.21.0", + "addr2line 0.22.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object 0.32.2", + "object 0.36.0", "rustc-demangle", ] @@ -744,13 +745,13 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", - "prettyplease 0.2.17", + "prettyplease 0.2.20", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -923,9 +924,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.15.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" [[package]] name = "byteorder" @@ -962,9 +963,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" dependencies = [ "serde", ] @@ -986,7 +987,7 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.22", + "semver 1.0.23", "serde", "serde_json", "thiserror", @@ -994,12 +995,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.91" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd97381a8cc6493395a5afc4c691c1084b3768db713b73aa215217aa245d153" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" dependencies = [ "jobserver", "libc", + "once_cell", ] [[package]] @@ -1013,9 +1015,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.7" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" dependencies = [ "smallvec", ] @@ -1068,9 +1070,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1078,7 +1080,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -1116,9 +1118,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", @@ -1127,9 +1129,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.4" +version = "4.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" dependencies = [ "clap_builder", "clap_derive", @@ -1137,34 +1139,34 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.2" +version = "4.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.1", + "strsim", "terminal_size", ] [[package]] name = "clap_derive" -version = "4.5.4" +version = "4.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] name = "clap_lex" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" [[package]] name = "codespan-reporting" @@ -1178,9 +1180,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "comfy-table" @@ -1189,7 +1191,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" dependencies = [ "strum 0.26.2", - "strum_macros 0.26.2", + "strum_macros 0.26.4", "unicode-width", ] @@ -1217,9 +1219,9 @@ checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -1258,7 +1260,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -1415,7 +1417,7 @@ dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "itertools", + "itertools 0.10.5", "log", "smallvec", "wasmparser", @@ -1424,9 +1426,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -1452,9 +1454,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1470,7 +1472,7 @@ checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.6.0", "zeroize", ] @@ -1502,7 +1504,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ "generic-array 0.14.7", - "subtle 2.4.1", + "subtle 2.6.0", ] [[package]] @@ -1523,24 +1525,23 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "subtle 2.4.1", + "subtle 2.6.0", "zeroize", ] [[package]] name = "curve25519-dalek" -version = "4.1.2" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", - "platforms", "rustc_version 0.4.0", - "subtle 2.4.1", + "subtle 2.6.0", "zeroize", ] @@ -1552,14 +1553,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] name = "cxx" -version = "1.0.120" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dc7287237dd438b926a81a1a5605dad33d286870e5eee2db17bf2bcd9e92a" +checksum = "273dcfd3acd4e1e276af13ed2a43eea7001318823e7a726a6b3ed39b4acc0b82" dependencies = [ "cc", "cxxbridge-flags", @@ -1569,9 +1570,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.120" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f47c6c8ad7c1a10d3ef0fe3ff6733f4db0d78f08ef0b13121543163ef327058b" +checksum = "d8b2766fbd92be34e9ed143898fce6c572dc009de39506ed6903e5a05b68914e" dependencies = [ "cc", "codespan-reporting", @@ -1579,31 +1580,31 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] name = "cxxbridge-flags" -version = "1.0.120" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "701a1ac7a697e249cdd8dc026d7a7dafbfd0dbcd8bd24ec55889f2bc13dd6287" +checksum = "839fcd5e43464614ffaa989eaf1c139ef1f0c51672a1ed08023307fa1b909ccd" [[package]] name = "cxxbridge-macro" -version = "1.0.120" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b404f596046b0bb2d903a9c786b875a126261b52b7c3a64bbb66382c41c771df" +checksum = "4b2c1c1776b986979be68bb2285da855f8d8a35851a769fca8740df7c3d07877" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] name = "darling" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ "darling_core", "darling_macro", @@ -1611,27 +1612,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", - "syn 2.0.58", + "strsim", + "syn 2.0.67", ] [[package]] name = "darling_macro" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -1641,23 +1642,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "data-encoding-macro" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c01c06f5f429efdf2bae21eb67c28b3df3cf85b7dd2d8ef09c0838dac5d33e" +checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -1665,9 +1666,9 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0047d07f2c89b17dd631c80450d69841a6b5d7fb17278cbc43d7e4cfcf2576f3" +checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" dependencies = [ "data-encoding", "syn 1.0.109", @@ -1737,20 +1738,20 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] name = "derive_more" -version = "0.99.17" +version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "convert_case", "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 1.0.109", + "syn 2.0.67", ] [[package]] @@ -1786,7 +1787,7 @@ dependencies = [ "block-buffer 0.10.4", "const-oid", "crypto-common", - "subtle 2.4.1", + "subtle 2.6.0", ] [[package]] @@ -1833,13 +1834,13 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -1879,9 +1880,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.58", + "syn 2.0.67", "termcolor", - "toml 0.8.13", + "toml 0.8.14", "walkdir", ] @@ -1955,12 +1956,12 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.6.0", "zeroize", ] @@ -1980,9 +1981,9 @@ dependencies = [ [[package]] name = "either" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "elliptic-curve" @@ -2000,7 +2001,7 @@ dependencies = [ "rand_core 0.6.4", "sec1", "serdect", - "subtle 2.4.1", + "subtle 2.6.0", "zeroize", ] @@ -2024,22 +2025,22 @@ dependencies = [ [[package]] name = "enumflags2" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" dependencies = [ "enumflags2_derive", ] [[package]] name = "enumflags2_derive" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -2069,9 +2070,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -2112,9 +2113,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "4.0.3" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", @@ -2123,11 +2124,11 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 4.0.3", + "event-listener 5.3.1", "pin-project-lite 0.2.14", ] @@ -2142,16 +2143,17 @@ dependencies = [ [[package]] name = "expander" -version = "2.1.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00e83c02035136f1592a47964ea60c05a50e4ed8b5892cfac197063850898d4d" +checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2" dependencies = [ "blake2 0.10.6", + "file-guard", "fs-err", - "prettier-please", + "prettyplease 0.2.20", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -2168,9 +2170,9 @@ checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fdlimit" @@ -2189,7 +2191,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.6.0", ] [[package]] @@ -2207,9 +2209,19 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.7" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "file-guard" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f" +checksum = "21ef72acf95ec3d7dbf61275be556299490a245f017cf084bd23b4f68cf9407c" +dependencies = [ + "libc", + "winapi", +] [[package]] name = "file-per-thread-logger" @@ -2245,7 +2257,7 @@ dependencies = [ "log", "num-traits", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "scale-info", ] @@ -2269,9 +2281,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", "libz-sys", @@ -2347,7 +2359,7 @@ version = "32.0.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ "Inflector", - "array-bytes 6.2.2", + "array-bytes 6.2.3", "chrono", "clap", "comfy-table", @@ -2356,7 +2368,7 @@ dependencies = [ "frame-system", "gethostname", "handlebars", - "itertools", + "itertools 0.10.5", "lazy_static", "linked-hash-map", "log", @@ -2426,7 +2438,7 @@ version = "28.0.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ "aquamarine 0.5.0", - "array-bytes 6.2.2", + "array-bytes 6.2.3", "bitflags 1.3.2", "docify", "environmental", @@ -2471,13 +2483,13 @@ dependencies = [ "derive-syn-parse 0.2.0", "expander", "frame-support-procedural-tools", - "itertools", + "itertools 0.10.5", "macro_magic", "proc-macro-warning", "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -2489,7 +2501,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -2499,7 +2511,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10. dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -2650,7 +2662,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -2752,9 +2764,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -2802,6 +2814,12 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "gimli" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" + [[package]] name = "glob" version = "0.3.1" @@ -2820,7 +2838,7 @@ dependencies = [ "futures-timer", "no-std-compat", "nonzero_ext", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "portable-atomic", "quanta", "rand", @@ -2836,7 +2854,7 @@ checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.6.0", ] [[package]] @@ -2907,9 +2925,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash 0.8.11", "allocator-api2", @@ -2921,7 +2939,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -2942,6 +2960,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -3049,9 +3073,9 @@ checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "httpdate" @@ -3067,9 +3091,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" dependencies = [ "bytes", "futures-channel", @@ -3082,7 +3106,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite 0.2.14", - "socket2 0.5.6", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -3099,7 +3123,7 @@ dependencies = [ "http", "hyper", "log", - "rustls 0.21.10", + "rustls 0.21.12", "rustls-native-certs", "tokio", "tokio-rustls", @@ -3224,18 +3248,18 @@ dependencies = [ [[package]] name = "include_dir" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" dependencies = [ "include_dir_macros", ] [[package]] name = "include_dir_macros" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" dependencies = [ "proc-macro2", "quote", @@ -3259,7 +3283,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -3273,9 +3297,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] @@ -3295,7 +3319,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -3312,7 +3336,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.6", + "socket2 0.5.7", "widestring", "windows-sys 0.48.0", "winreg", @@ -3330,11 +3354,17 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.52.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itertools" version = "0.10.5" @@ -3344,6 +3374,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.11" @@ -3352,9 +3391,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" dependencies = [ "libc", ] @@ -3394,7 +3433,7 @@ dependencies = [ "futures-util", "hyper", "jsonrpsee-types", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand", "rustc-hash", "serde", @@ -3414,7 +3453,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -3499,7 +3538,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" dependencies = [ "kvdb", - "parking_lot 0.12.1", + "parking_lot 0.12.3", ] [[package]] @@ -3510,7 +3549,7 @@ checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" dependencies = [ "kvdb", "num_cpus", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "regex", "rocksdb", "smallvec", @@ -3530,9 +3569,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libloading" @@ -3541,7 +3580,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if", - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -3559,7 +3598,7 @@ dependencies = [ "bytes", "futures", "futures-timer", - "getrandom 0.2.14", + "getrandom 0.2.15", "instant", "libp2p-allow-block-list", "libp2p-connection-limits", @@ -3624,7 +3663,7 @@ dependencies = [ "multihash", "multistream-select", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", "quick-protobuf", "rand", @@ -3644,7 +3683,7 @@ dependencies = [ "futures", "libp2p-core", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "smallvec", "trust-dns-resolver", ] @@ -3806,7 +3845,7 @@ dependencies = [ "libp2p-identity", "libp2p-tls", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "quinn-proto", "rand", "rustls 0.20.9", @@ -3922,7 +3961,7 @@ dependencies = [ "futures-rustls", "libp2p-core", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "quicksink", "rw-stream-sink", "soketto", @@ -3995,7 +4034,7 @@ checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" dependencies = [ "crunchy", "digest 0.9.0", - "subtle 2.4.1", + "subtle 2.6.0", ] [[package]] @@ -4018,9 +4057,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.16" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" +checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" dependencies = [ "cc", "pkg-config", @@ -4068,9 +4107,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lioness" @@ -4086,9 +4125,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -4129,9 +4168,9 @@ dependencies = [ [[package]] name = "lz4" -version = "1.24.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" +checksum = "d6eab492fe7f8651add23237ea56dbf11b3c4ff762ab83d40a47f11433421f91" dependencies = [ "libc", "lz4-sys", @@ -4139,9 +4178,9 @@ dependencies = [ [[package]] name = "lz4-sys" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" +checksum = "e9764018d143cc854c9f17f0b907de70f14393b1f502da6375dce70f00514eb3" dependencies = [ "cc", "libc", @@ -4165,7 +4204,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -4179,7 +4218,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -4190,7 +4229,7 @@ checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -4201,7 +4240,7 @@ checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -4246,9 +4285,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memfd" @@ -4256,7 +4295,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.32", + "rustix 0.38.34", ] [[package]] @@ -4315,9 +4354,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", ] @@ -4344,16 +4383,16 @@ dependencies = [ "bitflags 1.3.2", "blake2 0.10.6", "c2-chacha", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "either", "hashlink", "lioness", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand", "rand_chacha", "rand_distr", - "subtle 2.4.1", + "subtle 2.6.0", "thiserror", "zeroize", ] @@ -4468,9 +4507,9 @@ dependencies = [ [[package]] name = "nalgebra" -version = "0.32.5" +version = "0.32.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea4908d4f23254adda3daa60ffef0f1ac7b8c3e9a864cf3cc154b251908a2ef" +checksum = "7b5c17de023a86f59ed79891b2e5d5a94c705dbe904a5b5c9c952ea6221b03e4" dependencies = [ "approx", "matrixmultiply", @@ -4749,20 +4788,19 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] @@ -4794,20 +4832,19 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -4819,7 +4856,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] @@ -4844,6 +4881,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "object" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +dependencies = [ + "memchr", +] + [[package]] name = "oid-registry" version = "0.6.1" @@ -5308,7 +5354,7 @@ dependencies = [ "log", "lz4", "memmap2 0.5.10", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand", "siphasher", "snap", @@ -5360,7 +5406,7 @@ dependencies = [ "impl-trait-for-tuples", "lru 0.8.1", "parity-util-mem-derive", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "primitive-types", "smallvec", "winapi", @@ -5402,12 +5448,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] @@ -5426,15 +5472,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall 0.5.2", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -5451,14 +5497,14 @@ checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" dependencies = [ "base64ct", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.6.0", ] [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pbkdf2" @@ -5493,9 +5539,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "311fb059dee1a7b802f036316d790138c613a4e8b180c822e3925a662e9f0c95" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ "memchr", "thiserror", @@ -5504,9 +5550,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73541b156d32197eecda1a4014d7f868fd2bcb3c550d5386087cfba442bf69c" +checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" dependencies = [ "pest", "pest_generator", @@ -5514,22 +5560,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c35eeed0a3fab112f75165fdc026b3913f4183133f19b49be773ac9ea966e8bd" +checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] name = "pest_meta" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2adbf29bb9776f28caece835398781ab24435585fe0d4dc1374a61db5accedca" +checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" dependencies = [ "once_cell", "pest", @@ -5538,9 +5584,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", "indexmap 2.2.6", @@ -5563,7 +5609,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -5600,12 +5646,6 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" -[[package]] -name = "platforms" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" - [[package]] name = "polkavm" version = "0.9.3" @@ -5655,7 +5695,7 @@ dependencies = [ "polkavm-common", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -5665,7 +5705,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -5675,7 +5715,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c7be503e60cf56c0eb785f90aaba4b583b36bff00e93997d93fef97f9553c39" dependencies = [ "gimli 0.28.1", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "log", "object 0.32.2", "polkavm-common", @@ -5691,15 +5731,15 @@ checksum = "26e85d3456948e650dff0cfc85603915847faf893ed1e66b020bb82ef4557120" [[package]] name = "polling" -version = "3.6.0" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi", + "hermit-abi 0.4.0", "pin-project-lite 0.2.14", - "rustix 0.38.32", + "rustix 0.38.34", "tracing", "windows-sys 0.52.0", ] @@ -5753,7 +5793,7 @@ checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" dependencies = [ "difflib", "float-cmp", - "itertools", + "itertools 0.10.5", "normalize-line-endings", "predicates-core", "regex", @@ -5775,21 +5815,11 @@ dependencies = [ "termtree", ] -[[package]] -name = "prettier-please" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22020dfcf177fcc7bf5deaf7440af371400c67c0de14c399938d8ed4fb4645d3" -dependencies = [ - "proc-macro2", - "syn 2.0.58", -] - [[package]] name = "prettyplease" -version = "0.1.11" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28f53e8b192565862cf99343194579a022eb9c7dd3a8d03134734803c7b3125" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" dependencies = [ "proc-macro2", "syn 1.0.109", @@ -5797,12 +5827,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -5870,29 +5900,29 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] name = "proc-macro2" -version = "1.0.79" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" dependencies = [ "cfg-if", "fnv", "lazy_static", "memchr", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "thiserror", ] @@ -5904,7 +5934,7 @@ checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" dependencies = [ "dtoa", "itoa", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "prometheus-client-derive-encode", ] @@ -5916,7 +5946,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -5947,12 +5977,12 @@ checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", "heck 0.4.1", - "itertools", + "itertools 0.10.5", "lazy_static", "log", "multimap", "petgraph", - "prettyplease 0.1.11", + "prettyplease 0.1.25", "prost 0.11.9", "prost-types", "regex", @@ -5968,7 +5998,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", - "itertools", + "itertools 0.10.5", "proc-macro2", "quote", "syn 1.0.109", @@ -5981,10 +6011,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools", + "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -6079,9 +6109,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -6128,7 +6158,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", ] [[package]] @@ -6215,35 +6245,44 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +dependencies = [ + "bitflags 2.5.0", +] + [[package]] name = "redox_users" version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "libredox", "thiserror", ] [[package]] name = "ref-cast" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4846d4c50d1721b1a3bef8af76924eef20d5e723647333798c1b519b3a9473f" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -6273,14 +6312,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -6294,13 +6333,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.3", + "regex-syntax 0.8.4", ] [[package]] @@ -6311,9 +6350,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "resolv-conf" @@ -6332,7 +6371,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ "hmac 0.12.1", - "subtle 2.4.1", + "subtle 2.6.0", ] [[package]] @@ -6374,7 +6413,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.14", + "getrandom 0.2.15", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -6445,9 +6484,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -6476,7 +6515,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.22", + "semver 1.0.23", ] [[package]] @@ -6504,14 +6543,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.32" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", "errno", "libc", - "linux-raw-sys 0.4.13", + "linux-raw-sys 0.4.14", "windows-sys 0.52.0", ] @@ -6529,9 +6568,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.10" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring 0.17.8", @@ -6572,9 +6611,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "rw-stream-sink" @@ -6589,9 +6628,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "safe-mix" @@ -6604,9 +6643,9 @@ dependencies = [ [[package]] name = "safe_arch" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" +checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a" dependencies = [ "bytemuck", ] @@ -6673,7 +6712,7 @@ name = "sc-chain-spec" version = "27.0.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "docify", "log", "memmap2 0.9.4", @@ -6702,7 +6741,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -6710,12 +6749,12 @@ name = "sc-cli" version = "0.36.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "chrono", "clap", "fdlimit", "futures", - "itertools", + "itertools 0.10.5", "libp2p-identity", "log", "names", @@ -6755,7 +6794,7 @@ dependencies = [ "futures", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-executor", "sc-transaction-pool-api", "sc-utils", @@ -6786,7 +6825,7 @@ dependencies = [ "log", "parity-db", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-state-db", "schnellru", @@ -6810,7 +6849,7 @@ dependencies = [ "libp2p-identity", "log", "mockall", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-utils", "serde", @@ -6859,7 +6898,7 @@ version = "0.19.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ "ahash 0.8.11", - "array-bytes 6.2.2", + "array-bytes 6.2.3", "async-trait", "dyn-clone", "finality-grandpa", @@ -6868,7 +6907,7 @@ dependencies = [ "futures-timer", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand", "sc-block-builder", "sc-chain-spec", @@ -6945,7 +6984,7 @@ version = "0.32.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-executor-common", "sc-executor-polkavm", "sc-executor-wasmtime", @@ -6995,7 +7034,7 @@ dependencies = [ "cfg-if", "libc", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rustix 0.36.17", "sc-allocator", "sc-executor-common", @@ -7026,8 +7065,8 @@ name = "sc-keystore" version = "25.0.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ - "array-bytes 6.2.2", - "parking_lot 0.12.1", + "array-bytes 6.2.3", + "parking_lot 0.12.3", "serde_json", "sp-application-crypto", "sp-core", @@ -7051,7 +7090,7 @@ dependencies = [ "mixnet", "multiaddr", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-network", "sc-transaction-pool-api", @@ -7069,7 +7108,7 @@ name = "sc-network" version = "0.34.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "async-channel", "async-trait", "asynchronous-codec", @@ -7084,7 +7123,7 @@ dependencies = [ "log", "mockall", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "partial_sort", "pin-project", "rand", @@ -7168,7 +7207,7 @@ name = "sc-network-light" version = "0.33.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "async-channel", "futures", "libp2p-identity", @@ -7189,7 +7228,7 @@ name = "sc-network-sync" version = "0.33.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "async-channel", "async-trait", "fork-tree", @@ -7225,7 +7264,7 @@ name = "sc-network-transactions" version = "0.33.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "futures", "libp2p", "log", @@ -7244,7 +7283,7 @@ name = "sc-offchain" version = "29.0.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "bytes", "fnv", "futures", @@ -7256,7 +7295,7 @@ dependencies = [ "num_cpus", "once_cell", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand", "sc-client-api", "sc-network", @@ -7291,7 +7330,7 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -7357,14 +7396,14 @@ name = "sc-rpc-spec-v2" version = "0.34.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "futures", "futures-util", "hex", "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand", "sc-chain-spec", "sc-client-api", @@ -7396,7 +7435,7 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", "rand", "sc-chain-spec", @@ -7454,7 +7493,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10. dependencies = [ "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sp-core", ] @@ -7488,7 +7527,7 @@ dependencies = [ "futures", "libp2p", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", "rand", "sc-utils", @@ -7510,7 +7549,7 @@ dependencies = [ "libc", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "regex", "rustc-hash", "sc-client-api", @@ -7536,7 +7575,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -7550,7 +7589,7 @@ dependencies = [ "linked-hash-map", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-transaction-pool-api", "sc-utils", @@ -7592,16 +7631,16 @@ dependencies = [ "futures-timer", "lazy_static", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "prometheus", "sp-arithmetic", ] [[package]] name = "scale-info" -version = "2.11.2" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c453e59a955f81fb62ee5d596b450383d699f152d350e9d23a0db2adb78e4c0" +checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" dependencies = [ "bitvec", "cfg-if", @@ -7613,11 +7652,11 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.2" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18cf6c6447f813ef19eb450e985bcce6705f9ce7660db221b59093d15c79c4b7" +checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -7634,9 +7673,9 @@ dependencies = [ [[package]] name = "schnellru" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" dependencies = [ "ahash 0.8.11", "cfg-if", @@ -7652,13 +7691,13 @@ dependencies = [ "aead", "arrayref", "arrayvec", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "getrandom_or_panic", "merlin", "rand_core 0.6.4", "serde_bytes", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.6.0", "zeroize", ] @@ -7695,7 +7734,7 @@ dependencies = [ "generic-array 0.14.7", "pkcs8", "serdect", - "subtle 2.4.1", + "subtle 2.6.0", "zeroize", ] @@ -7728,11 +7767,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -7741,9 +7780,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -7769,9 +7808,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] @@ -7784,9 +7823,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.202" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] @@ -7811,13 +7850,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.202" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -7865,7 +7904,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -7942,9 +7981,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -8020,12 +8059,12 @@ dependencies = [ "aes-gcm", "blake2 0.10.6", "chacha20poly1305", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "rand_core 0.6.4", "ring 0.17.8", "rustc_version 0.4.0", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.6.0", ] [[package]] @@ -8040,9 +8079,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys 0.52.0", @@ -8098,7 +8137,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -8165,7 +8204,7 @@ dependencies = [ "futures", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "schnellru", "sp-api", "sp-consensus", @@ -8239,7 +8278,7 @@ name = "sp-core" version = "28.0.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ - "array-bytes 6.2.2", + "array-bytes 6.2.3", "bandersnatch_vrfs", "bitflags 1.3.2", "blake2 0.10.6", @@ -8251,14 +8290,14 @@ dependencies = [ "hash-db", "hash256-std-hasher", "impl-serde", - "itertools", + "itertools 0.10.5", "k256", "libsecp256k1", "log", "merlin", "parity-bip39", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "paste", "primitive-types", "rand", @@ -8284,7 +8323,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ec46106c33f2220d16a9dc7ad604d564d42ee009" +source = "git+https://github.com/paritytech/polkadot-sdk#c4b3c1c6c6e492c4196e06fbba824a58e8119a3b" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -8321,7 +8360,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10. dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -8330,7 +8369,7 @@ version = "10.0.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ "kvdb", - "parking_lot 0.12.1", + "parking_lot 0.12.3", ] [[package]] @@ -8340,17 +8379,17 @@ source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10. dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ec46106c33f2220d16a9dc7ad604d564d42ee009" +source = "git+https://github.com/paritytech/polkadot-sdk#c4b3c1c6c6e492c4196e06fbba824a58e8119a3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -8366,7 +8405,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ec46106c33f2220d16a9dc7ad604d564d42ee009" +source = "git+https://github.com/paritytech/polkadot-sdk#c4b3c1c6c6e492c4196e06fbba824a58e8119a3b" dependencies = [ "environmental", "parity-scale-codec", @@ -8438,7 +8477,7 @@ version = "0.34.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sp-core", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", ] @@ -8549,7 +8588,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ec46106c33f2220d16a9dc7ad604d564d42ee009" +source = "git+https://github.com/paritytech/polkadot-sdk#c4b3c1c6c6e492c4196e06fbba824a58e8119a3b" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -8575,20 +8614,20 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ec46106c33f2220d16a9dc7ad604d564d42ee009" +source = "git+https://github.com/paritytech/polkadot-sdk#c4b3c1c6c6e492c4196e06fbba824a58e8119a3b" dependencies = [ "Inflector", "expander", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -8626,7 +8665,7 @@ dependencies = [ "hash-db", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand", "smallvec", "sp-core", @@ -8644,7 +8683,7 @@ version = "10.0.0" source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" dependencies = [ "aes-gcm", - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "ed25519-dalek", "hkdf", "parity-scale-codec", @@ -8670,7 +8709,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10. [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ec46106c33f2220d16a9dc7ad604d564d42ee009" +source = "git+https://github.com/paritytech/polkadot-sdk#c4b3c1c6c6e492c4196e06fbba824a58e8119a3b" [[package]] name = "sp-storage" @@ -8687,7 +8726,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ec46106c33f2220d16a9dc7ad604d564d42ee009" +source = "git+https://github.com/paritytech/polkadot-sdk#c4b3c1c6c6e492c4196e06fbba824a58e8119a3b" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8722,7 +8761,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ec46106c33f2220d16a9dc7ad604d564d42ee009" +source = "git+https://github.com/paritytech/polkadot-sdk#c4b3c1c6c6e492c4196e06fbba824a58e8119a3b" dependencies = [ "parity-scale-codec", "tracing", @@ -8764,7 +8803,7 @@ dependencies = [ "memory-db", "nohash-hasher", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand", "scale-info", "schnellru", @@ -8801,7 +8840,7 @@ dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -8819,7 +8858,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ec46106c33f2220d16a9dc7ad604d564d42ee009" +source = "git+https://github.com/paritytech/polkadot-sdk#c4b3c1c6c6e492c4196e06fbba824a58e8119a3b" dependencies = [ "impl-trait-for-tuples", "log", @@ -8926,12 +8965,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "strsim" version = "0.11.1" @@ -8950,7 +8983,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" dependencies = [ - "strum_macros 0.26.2", + "strum_macros 0.26.4", ] [[package]] @@ -8968,15 +9001,15 @@ dependencies = [ [[package]] name = "strum_macros" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -9052,7 +9085,7 @@ dependencies = [ "sp-maybe-compressed-blob", "strum 0.26.2", "tempfile", - "toml 0.8.13", + "toml 0.8.14", "walkdir", "wasm-opt", ] @@ -9089,7 +9122,7 @@ dependencies = [ "ahash 0.8.11", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -9100,9 +9133,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.4.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" [[package]] name = "syn" @@ -9117,9 +9150,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.58" +version = "2.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" +checksum = "ff8655ed1d86f3af4ee3fd3263786bc14245ad17c4c7e85ba7187fb3ae028c90" dependencies = [ "proc-macro2", "quote", @@ -9179,7 +9212,7 @@ checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", "fastrand", - "rustix 0.38.32", + "rustix 0.38.34", "windows-sys 0.52.0", ] @@ -9198,7 +9231,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" dependencies = [ - "rustix 0.38.32", + "rustix 0.38.34", "windows-sys 0.48.0", ] @@ -9210,22 +9243,22 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -9265,9 +9298,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.34" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", @@ -9286,9 +9319,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ "num-conv", "time-core", @@ -9320,32 +9353,32 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", "libc", "mio", "num_cpus", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project-lite 0.2.14", "signal-hook-registry", - "socket2 0.5.6", + "socket2 0.5.7", "tokio-macros", "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -9354,7 +9387,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.10", + "rustls 0.21.12", "tokio", ] @@ -9372,9 +9405,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", @@ -9382,7 +9415,6 @@ dependencies = [ "futures-sink", "pin-project-lite 0.2.14", "tokio", - "tracing", ] [[package]] @@ -9396,14 +9428,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.13" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.13", + "toml_edit 0.22.14", ] [[package]] @@ -9428,15 +9460,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.13" +version = "0.22.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.8", + "winnow 0.6.13", ] [[package]] @@ -9504,7 +9536,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -9659,7 +9691,7 @@ dependencies = [ "ipconfig", "lazy_static", "lru-cache", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "resolv-conf", "smallvec", "thiserror", @@ -9748,9 +9780,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" @@ -9765,7 +9797,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", - "subtle 2.4.1", + "subtle 2.6.0", ] [[package]] @@ -9794,9 +9826,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna 0.5.0", @@ -9805,9 +9837,9 @@ dependencies = [ [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "valuable" @@ -9835,9 +9867,9 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "w3f-bls" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7335e4c132c28cc43caef6adb339789e599e39adbe78da0c4d547fad48cbc331" +checksum = "9c5da5fa2c6afa2c9158eaa7cd9aee249765eb32b5fb0c63ad8b9e79336a47ec" dependencies = [ "ark-bls12-377", "ark-bls12-381", @@ -9909,7 +9941,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", "wasm-bindgen-shared", ] @@ -9943,7 +9975,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -10261,14 +10293,14 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.32", + "rustix 0.38.34", ] [[package]] name = "wide" -version = "0.7.15" +version = "0.7.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89beec544f246e679fc25490e3f8e08003bc4bf612068f325120dad4cea02c1c" +checksum = "8a040b111774ab63a19ef46bbc149398ab372b4ccdcfd719e9814dbd7dfd76c8" dependencies = [ "bytemuck", "safe_arch", @@ -10298,11 +10330,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -10336,7 +10368,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -10363,7 +10395,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -10398,17 +10430,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] @@ -10425,9 +10458,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -10443,9 +10476,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -10461,9 +10494,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -10479,9 +10518,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -10497,9 +10536,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -10515,9 +10554,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" @@ -10533,9 +10572,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" @@ -10548,9 +10587,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.8" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" dependencies = [ "memchr", ] @@ -10591,7 +10630,7 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek 4.1.3", "rand_core 0.6.4", "serde", "zeroize", @@ -10624,7 +10663,7 @@ dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rand", "static_assertions", ] @@ -10640,29 +10679,29 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -10675,7 +10714,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.67", ] [[package]] @@ -10718,9 +10757,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" +version = "2.0.11+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" dependencies = [ "cc", "pkg-config", From dba168e86719e172c2a6a3a379324928d38ff18e Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Wed, 3 Jul 2024 13:56:59 -0400 Subject: [PATCH 21/24] fix hash code --- pallets/registry/src/types.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/registry/src/types.rs b/pallets/registry/src/types.rs index e5063222e..0badd5669 100644 --- a/pallets/registry/src/types.rs +++ b/pallets/registry/src/types.rs @@ -279,7 +279,7 @@ impl TypeInfo for IdentityFields { /// /// NOTE: This should be stored at the end of the storage item to facilitate the addition of extra /// fields in a backwards compatible way through a specialized `Decode` impl. -#[freeze_struct("ac2fc4e3c16c9dc")] +#[freeze_struct("98e2d7fc7536226b")] #[derive( CloneNoBound, Encode, Decode, Eq, MaxEncodedLen, PartialEqNoBound, RuntimeDebugNoBound, TypeInfo, )] From 190b254d321f1dea077908963b4d56271190330d Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Wed, 3 Jul 2024 13:57:24 -0400 Subject: [PATCH 22/24] fix another hash code --- pallets/subtensor/src/subnet_info.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/subtensor/src/subnet_info.rs b/pallets/subtensor/src/subnet_info.rs index 55c7bcbfa..5bd652ace 100644 --- a/pallets/subtensor/src/subnet_info.rs +++ b/pallets/subtensor/src/subnet_info.rs @@ -4,7 +4,7 @@ use frame_support::storage::IterableStorageMap; extern crate alloc; use codec::Compact; -#[freeze_struct("4d3e8df520bbc960")] +#[freeze_struct("fe79d58173da662a")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug)] pub struct SubnetInfo { netuid: Compact, From 0ab4a91b092ea5f91e371165273a72e7c62bd06d Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Wed, 3 Jul 2024 14:00:09 -0400 Subject: [PATCH 23/24] update another hash code --- pallets/subtensor/src/subnet_info.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/subtensor/src/subnet_info.rs b/pallets/subtensor/src/subnet_info.rs index 5bd652ace..4e9e756a0 100644 --- a/pallets/subtensor/src/subnet_info.rs +++ b/pallets/subtensor/src/subnet_info.rs @@ -27,7 +27,7 @@ pub struct SubnetInfo { owner: T::AccountId, } -#[freeze_struct("76f4053b3cc4c7ec")] +#[freeze_struct("55b472510f10e76a")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug)] pub struct SubnetHyperparams { rho: Compact, From ae4cdf31e1e27f895d791c5cef932d5c878d2947 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Thu, 4 Jul 2024 10:26:11 -0400 Subject: [PATCH 24/24] bump spec version --- runtime/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 9a43fdf93..c091fb462 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -139,7 +139,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // `spec_version`, and `authoring_version` are the same between Wasm and native. // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use // the compatible custom types. - spec_version: 154, + spec_version: 155, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1,